流表更新的方法、装置和系统的制作方法
【专利摘要】本发明实施例公开了一种转发设备执行的更新流表的方法,更新后的流表指示的路径为第二转发路径,所述第二转发路径包括所述转发设备,该方法包括:转发设备接收控制器发送的新的流表项,新的流表项包括:匹配字段、标签、新的优先级和新的操作,标签标识携带标签的流表项指示第二转发路径,新的优先级用于指示新的流表项的优先等级,新的流表项用于指示所述转发设备对与所述匹配字段相匹配的业务流的报文执行所述新的操作。
【专利说明】流表更新的方法、装置和系统
【技术领域】
[0001] 本申请涉及通信网络领域,具体涉及一种流表更新的方法、装置和系统。
【背景技术】
[0002] 基于控制转发分离思想的SDN/OpenFlow架构极大促进了网络创新,具有四大特 征:标准的控制转发分离协议OpenFlow、拥有全网视图的集中控制平面、开放可编程的北 向接口和抽象的转发平面。SDN给网络带来的价值有:通过标准化控制转发分离协议,可以 打破垂直整合,创新不再受制于标准化进度;通过控制面集中化,并拥有全网视图,可以按 需计算流路径、管理调度流量,以及简化运维;通过控制面北向接口开放可编程,可以支持 客户化定制软件,快速业务创新;通过标准化转发模型,可以简化设备,降低设备成本和功 耗。
[0003] 然而,控制转发分离后,虽然控制平面集中化,并能够将控制逻辑集中部署到整个 网络,但数据平面转发设备仍然是一个分布式系统,需要控制器集中分别为转发设备计算 流表,并通过控制通道分别将表项下发到转发设备,以指导转发。但是当业务策略发生变化 等情况下,流表需要更新时,受到控制通道可能存在的时延等因素的影响,将难以保证流表 更新的一致性,有可能造成网络出现断路、丢包、环路、黑洞等问题。
[0004] 流表一致性更新要求一个报文或者一条流,在网络的多个转发设备上传输过程 中,当流表发生更新时,要么在这些转发设备上都按旧规则的流表项处理,要么在这些转发 设备上都按新规则的流表处理,而不能在有的转发设备上按旧规则的流表项处理,在有的 转发设备上按新规则的流表项处理。如何保证流表更新的一致性,是SDN网络面临的一个 问题。
【发明内容】
[0005] 本发明实施例提供流表更新的方法、装置和系统,有助于解决流表更新不一致的 问题。
[0006] 为了解决上述问题,本发明实施例第一方面提供一种控制器执行的更新流表的方 法,更新前的流表指示的路径为第一转发路径,更新后的流表指示的路径为第二转发路径, 所述第一转发路径包括第一转发设备,所述第二转发路径包括所述第一转发设备和第二转 发设备,所述方法包括:所述控制器向所述第一转发设备发送第一流表项,所述第一流表项 包括:匹配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项 的优先等级,所述第一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务 流的报文执行所述第一操作;所述控制器向所述第二转发设备发送第二流表项,所述第二 流表项包括:所述匹配字段、标签、第二优先级和第二操作,所述标签标识携带所述标签的 流表项指示所述第二转发路径,所述第二优先级用于指示所述第二流表项的优先等级,所 述第二流表项的优先等级高于所述第一流表项的优先等级,所述第二流表项用于指示所述 第二转发设备对与所述匹配字段和所述标签相匹配的所述业务流的报文执行所述第二操 作;所述控制器向所述第一转发设备发送新的流表项,所述新的流表项包括:所述匹配字 段、所述标签、第三优先级和第三操作,所述第三优先级用于指示所述新的流表项的优先等 级,所述新的流表项的优先等级高于所述第一流表项的优先等级,所述新的流表项用于指 示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第三操作。
[0007] 在第一方面的第一种可能的实现方式中,还包括:所述第一流表项不包括所述标 签。
[0008] 结合第一方面或者第一方面的第一种的实现方式,在第一方面的第二种可能的实 现方式中,所述第一转发路径还包括第三转发设备,所述方法还包括:所述控制器表项向第 三转发设备发送第三流表项,所述第三流表项包括:所述匹配字段、第四优先级和第四操 作,所述第四优先级用于指示所述第三流表项的优先等级,所述第三流表项的优先等级低 于所述第二流表项的优先等级,所述第三流表项用于指示所述第三转发设备对与所述匹配 字段相匹配的业务流的报文执行所述第四操作,所述第三流表项不包括所述标签。
[0009] 结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式 中,还包括:所述第二转发设备与所述第三转发设备是同一个设备。
[0010] 结合第一方面或者第一方面的第一种至第三种任意一种可能的实现方式,在第一 方面的第四种可能的实现方式中,还包括:所述第一转发设备为所述第二转发路径上的入 口转发设备,所述第三操作为将所述标签压入与所述匹配字段相匹配的业务流的报文的头 部,并从指定的出接口发送出去。
[0011] 结合第一方面或者第一方面的第一种至第四种任意一种可能的实现方式,在第一 方面的第五种可能的实现方式中,还包括:所述第二转发设备为所述第二转发路径上的中 间转发设备,所述第二操作为保留与所述匹配字段和所述标签相匹配的业务流的报文头中 的所述标签,并从指定的出接口发送出去。
[0012] 结合第一方面或者第一方面的第一种至第四种任意一种可能的实现方式,在第一 方面的第六种可能的实现方式中,还包括:所述第二转发设备为所述第二转发路径上的出 口转发设备,所述第二操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文头中 的所述标签,并从指定的出接口发送出去。
[0013] 结合第一方面或者第一方面的第一种至第六种任意一种可能的实现方式,在第一 方面的第七种可能的实现方式中,所述第一转发设备为所述第二转发路径上的入口转发设 备,所述方法还包括:所述控制器接收所述第二转发设备发送的应答消息,所述应答消息用 于表明所述第二转发设备接收到所述第二流表项;所述控制器向所述第一转发设备发送新 的流表项在所述控制器接收到所述应答消息后执行。
[0014] 为了解决上述问题,本发明实施例第二方面提供一种转发设备执行的更新流表的 方法,更新后的流表指示的路径为第二转发路径,所述第二转发路径包括所述转发设备,所 述方法包括:所述转发设备接收控制器发送的新的流表项,所述新的流表项包括:匹配字 段、标签、新的优先级和新的操作,所述标签标识携带所述标签的流表项指示所述第二转发 路径,所述新的优先级用于指示所述新的流表项的优先等级,所述新的流表项用于指示所 述转发设备对与所述匹配字段相匹配的业务流的报文执行所述新的操作;所述转发设备保 存所述新的流表项。
[0015] 结合第二方面的实现方式,在第二方面的第一种可能的实现方式中,更新前的流 表指示的路径为第一转发路径,所述第一转发路径包括所述转发设备,所述方法还包括:所 述转发设备接收所述控制器发送的第一流表项,所述第一流表项包括:所述匹配字段、第一 优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第一 流表项的优先等级低于所述新的流表项的新的优先等级,所述第一流表项用于指示所述转 发设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作,所述第一流表项不包 括所述标签;所述转发设备保存所述第一流表项。
[0016] 结合第二方面或者第二方面的第一种的实现方式,在第二方面的第二种可能的实 现方式中,所述转发设备为所述第二转发路径的入口转发设备,所述新的操作为将所述标 签压入与所述匹配字段相匹配的业务流的报文的头部,并从指定的出接口发送出去;所述 方法还包括:所述转发设备接收业务流的报文;当确定所述接收到的业务流的报文匹配所 述匹配字段时,根据优先等级选择所述新的流表项,对所述接收到的业务流的报文执行所 述新的操作。
[0017] 结合第二方面或者第二方面的第一种的实现方式,在第二方面的第三种可能的实 现方式中,所述转发设备为所述第二转发路径的中间转发设备,所述新的操作为保留与所 述匹配字段和所述标签相匹配的业务流的报文头部的所述标签,并从指定的出接口发送出 去;所述方法还包括:所述转发设备接收业务流的报文;当确定所述接收到的业务流的报 文匹配所述匹配字段和所述标签时,对所述接收到的业务流的报文执行所述新的操作。
[0018] 结合第二方面或者第二方面的第一种的实现方式,在第二方面的第四种可能的实 现方式中,所述转发设备为所述第二转发路径的出口转发设备,所述新的操作为弹出与所 述匹配字段和所述标签相匹配的业务流的报文头部的所述标签,并从指定的出接口发送出 去;所述方法还包括:所述转发设备接收业务流的报文;当确定所述接收到的业务流的报 文匹配所述匹配字段和所述标签时,对所述接收到的业务流的报文执行所述新的操作。
[0019] 为了解决上述问题,本发明实施例第三方面提供一种控制器,所述控制器执行更 新流表的操作,更新前的流表指示的路径为第一转发路径,更新后的流表指示的路径为第 二转发路径,所述第一转发路径包括第一转发设备,所述第二转发路径包括所述第一转发 设备和第二转发设备,所述控制器包括:第一流表项计算生成单元,用于所述控制器为位于 第一转发路径上的第一转发设备计算生成第一流表项,所述第一流表项包括:匹配字段、第 一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第 一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述 第一操作;第二流表项计算生成单元,用于所述控制器为位于第二转发路径上的所述第二 转发设备计算生成第二流表项,所述第二流表项包括:所述匹配字段、标签、第二优先级和 第二操作,所述标签标识携带所述标签的流表项指示所述第二转发路径,所述第二优先级 用于指示所述第二流表项的优先等级,所述第二流表项的优先等级高于所述第一流表项, 所述第二流表项用于指示所述第二转发设备对与所述匹配字段和所述标签相匹配的所述 业务流的报文执行所述第二操作;新的流表项计算生成单元,用于所述控制器为位于第二 转发路径上的第一转发设备计算生成新的流表项,所述新的流表项包括:所述匹配字段、所 述标签、第三优先级和第三操作,所述第三优先级用于指示所述新的流表项的优先等级,所 述新的流表项的优先等级高于所述第一流表项的优先等级,所述新的流表项用于指示所述 第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第三操作;标签分配管理 单元,用于维护管理标签的创建和删除,具体包括为所述第二转发路径上的转发设备的流 表项分配所述标签;通信单元,用于向所述第一转发设备发送第一流表项和新的流表项,和 向所述第二转发设备发送第二流表项。
[0020] 结合第三方面的实现方式,在第三方面的第一种可能的实现方式中,还包括:所述 第一流表项不包括所述标签。
[0021] 结合第三方面或者第三方面的第一种的实现方式,在第三方面的第二种可能的实 现方式中,所述第一转发路径还包括第三转发设备,所述控制器还包括:第三流表项计算 生成单元,用于所述控制器为位于第一转发路径上的所述第三转发设备计算生成第三流表 项,所述第三流表项包括:所述匹配字段、第四优先级和第四操作,所述第四优先级用于指 示所述第三流表项的优先等级,所述第三流表项的优先等级低于所述第二流表项的优先等 级,所述第三流表项用于指示所述第三转发设备对与所述匹配字段相匹配的业务流的报文 执行所述第四操作,所述第三流表项不包括所述标签;通信单元,用于向所述第三转发设备 发送第三流表项。
[0022] 结合第三方面的第二种的实现方式,在第三方面的第三种可能的实现方式中,还 包括:所述第二转发设备与所述第三转发设备是同一个设备。
[0023] 结合第三方面或者第三方面的第一种至第三种任意一种实现方式,在第三方面的 第四种可能的实现方式中,还包括:所述第一转发设备为所述第二转发路径上的入口转发 设备,所述第三操作为将所述标签压入与所述匹配字段相匹配的业务流的报文的头部,并 从指定的出接口发送出去。
[0024] 结合第三方面或者第三方面的第一种至第三种任意一种实现方式,在第三方面的 第五种可能的实现方式中,还包括:所述第二转发设备为所述第二转发路径上的中间转发 设备,所述第二操作为保留与所述匹配字段和所述标签相匹配的业务流的报文头中的所述 标签,并从指定的出接口发送出去。
[0025] 结合第三方面或者第三方面的第一种至第三种任意一种实现方式,在第三方面的 第六种可能的实现方式中,还包括:所述第二转发设备为所述第二转发路径上的出口转发 设备,所述第二操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文头中的所述 标签,并从指定的出接口发送出去。
[0026] 结合第三方面或者第三方面的第一种至第六种任意一种实现方式,在第三方面的 第七种可能的实现方式中,所述第一转发设备为所述第二转发路径上的入口转发设备,所 述控制器还包括:所述通信单元接收所述第二转发设备发送的应答消息,所述应答消息用 于表明所述第二转发设备接收到所述第二流表项;所述通信单元向所述第一转发设备发送 新的流表项在所述通信单元接收到所述应答消息后执行。
[0027] 为了解决上述问题,本发明实施例第四方面提供一种转发设备,所述转发设备执 行更新流表的操作,更新后的流表指示的路径为第二转发路径,所述第二转发路径包括 所述转发设备,所述转发设备包括:通信单元,用于接收控制器发来的新的流表项;保存单 元,用于生成并存储所述新的流表项,所述新的流表项包括:匹配字段、标签、新的优先级、 新的操作,所述新的优先级用于指示所述新的流表项的优先等级,所述新的流表项用于指 示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述新的操作。
[0028] 结合第四方面的实现方式,在第四方面的第一种可能的实现方式中,更新前的流 表指示的路径为第一转发路径,所述第一转发路径包括所述转发设备,所述转发设备还包 括:通信单元,用于接收控制器发来的第一流表项;保存单元,用于生成并存储所述第一流 表项,所述第一流表项包括:所述匹配字段、第一优先级和第一操作,其中,所述第一优先级 用于指示所述第一流表项的优先等级,所述第一流表项的优先等级低于所述新的流表项的 新的优先等级,所述第一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业 务流的报文执行所述第一操作,所述第一流表项不包括所述标签。
[0029] 结合第四方面或者第四方面的第一种的实现方式,在第四方面的第二种可能的实 现方式中,所述转发设备为所述第二转发路径的入口转发设备,所述新的操作为将所述标 签压入与所述匹配字段相匹配的业务流的报文的头部,并从指定的出接口发送出去;所述 转发设备还包括:业务流接收单元,用于从其它网络设备接收业务流的报文;处理单元,用 于获取所述业务流报文的所述匹配字段,用所述匹配字段查找流表,选择优先等级高的新 的流表项,执行新的操作;标签压入子单元,是所述处理单元中的子单元,具体用于执行将 所述标签压入与所述匹配字段相匹配的业务流的报文的头部。
[0030] 结合第四方面或者第四方面的第一种的实现方式,在第四方面的第三种可能的实 现方式中,所述转发设备为所述第二转发路径的中间转发设备,所述新的操作为保留与所 述匹配字段和所述标签相匹配的业务流的报文头部的所述标签,并从指定的出接口发送出 去;所述转发设备还包括:业务流接收单元,用于从其它网络设备接收业务流的报文;处理 单元,用于获取所述业务流报文的所述匹配字段和所述标签,用所述匹配字段和所述标签 查找流表,执行新的操作;标签保留子单元,是所述处理单元中的子单元,具体用于执行保 留与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签。
[0031] 结合第四方面或者第四方面的第一种的实现方式,在第四方面的第四种可能的实 现方式中,所述转发设备为所述第二转发路径的出口转发设备,所述新的操作为弹出与所 述匹配字段和所述标签相匹配的业务流的报文头部的所述标签,并从指定的出接口发送出 去;所述转发设备还包括:业务流接收单元,用于从其它网络设备接收业务流的报文;处理 单元,用于获取所述业务流报文的所述匹配字段和所述标签,用所述匹配字段和所述标签 查找流表,执行新的操作;标签弹出子单元,是所述处理单元中的子单元,具体用于执行弹 出与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签。
[0032] 为了解决上述问题,本发明实施例第五方面提供一种实现流表更新的系统,更新 前的流表指示的路径为第一转发路径,更新后的流表指示的路径为第二转发路径,所述第 一转发路径包括第一转发设备,所述第二转发路径包括所述第一转发设备和第二转发设 备,所述系统包括:控制器和转发设备;所述控制器包括:上述第三方面的任一控制器;所 述转发设备包括:上述第四方面的任一转发设备。
[0033] 由上述技术方案可以看出,当在基于控制转发分离的SDN/OpenFlow网络中,执行 流表更新时,通过控制器为第二转发路径上的流表项分配标签,并向第二转发路径上的转 发设备下发包含标签的流表项,将转发设备上的第二转发路径上的新流表项通过标签与第 一转发路径上的旧流表项区别开来,并结合标签转发,达到了一个报文或一条流在网络中 的各转发设备上转发时,都使用旧流表项或者都使用新流表项转发,有助于一致性更新问 题的解决,避免因报文的错误处理所导致的环路、拥塞、丢包、黑洞等问题。。
【专利附图】
【附图说明】
[0034] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0035] 图1是本发明实施例提供的一种流表更新方法的组网示意图;
[0036] 图2是本发明实施例提供的一种流表更新方法的流程图;
[0037] 图3是本发明实施例提供的又一种流表更新方法的流程图;
[0038] 图4是本发明实施例提供的一种流表更新控制器的示意图;
[0039] 图5是本发明实施例提供的一种流表更新转发设备的示意图;
[0040] 图6是本发明实施例提供的一种流表更新系统的示意图;
[0041] 图7是本发明实施例提供的又一种流表更新控制器的示意图;
[0042] 图8是本发明实施例提供的又一种流表更新转发设备的示意图。
【具体实施方式】
[0043] 本发明实施例提供一种流表更新的方法、装置和系统。本发明实施例还提供相应 的装置和系统。以下分别进行详细说明。
[0044] 实施例一、
[0045] 在基于控制转发分离的网络中,如SDN (Software Defined Networking)网络,控制 器可以通过控制器与转发设备之间的控制通道协议(如OpenFlow协议)来控制多个转发 设备,向每个被控制的转发设备上发送添加、修改或删除消息,来添加、修改或删除流表,从 而指导一个报文或者一条业务流在网络中的转发。
[0046] 例如,请参考图1,图1是本发明实施例的组网示意图,仅用于示意性说明本发明 的应用场景,并不视为对本发明实施例的限制。控制器控制转发设备,分别为第一转发设备 和第二转发设备,还可以包括第三转发设备。其中,第一转发设备和第二转发设备是位于第 二转发路径上的任意两个节点,第一转发设备中的"第一",第二转发设备中的"第二",不仅 用于表明区分两个转发设备,还表明所述转发设备在一条流转发路径上的位置先后顺序, "第一"代表的转发设备位于"第二"代表的转发设备的前面,即第一转发设备为报文沿着第 二转发路径转发时首先经过的节点,第二转发设备为报文沿着第二转发路径转发时后序经 过的节点;第一转发设备和第三转发设备是位于第一转发路径上的任意两个节点,第一转 发设备中的"第一",第三转发设备中的"第三",仅仅用于表明区分两个转发设备。
[0047] 如图2所示,本发明实施例提供一种控制器执行的更新流表的方法,更新前的流 表指示的路径为第一转发路径,更新后的流表指示的路径为第二转发路径,所述第一转发 路径包括第一转发设备,所述第二转发路径包括所述第一转发设备和第二转发设备,所述 方法包括:
[0048] S201、所述控制器向所述第一转发设备发送第一流表项,所述第一流表项包括:匹 配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等 级,所述第一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文 执行所述第一操作。举例示意如表1。
[0049] 表1第一流表项内容
[0050]
【权利要求】
1. 一种控制器执行的更新流表的方法,更新前的流表指示的路径为第一转发路径,更 新后的流表指示的路径为第二转发路径,所述第一转发路径包括第一转发设备,所述第二 转发路径包括所述第一转发设备和第二转发设备,其特征在于,所述方法包括: 所述控制器向所述第一转发设备发送第一流表项,所述第一流表项包括:匹配字段、第 一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第 一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述 第一操作; 所述控制器向所述第二转发设备发送第二流表项,所述第二流表项包括:所述匹配字 段、标签、第二优先级和第二操作,所述标签标识携带所述标签的流表项指示所述第二转发 路径,所述第二优先级用于指示所述第二流表项的优先等级,所述第二流表项的优先等级 高于所述第一流表项的优先等级,所述第二流表项用于指示所述第二转发设备对与所述匹 配字段和所述标签相匹配的所述业务流的报文执行所述第二操作; 所述控制器向所述第一转发设备发送新的流表项,所述新的流表项包括:所述匹配字 段、所述标签、第三优先级和第三操作,所述第三优先级用于指示所述新的流表项的优先等 级,所述新的流表项的优先等级高于所述第一流表项的优先等级,所述新的流表项用于指 示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第三操作。
2. 根据权利要求1所述的方法,其特征在于,所述第一流表项不包括所述标签。
3. 根据权利要求1或2所述的方法,其特征在于,所述第一转发路径还包括第三转发设 备,所述方法还包括: 所述控制器表项向第三转发设备发送第三流表项,所述第三流表项包括:所述匹配字 段、第四优先级和第四操作,所述第四优先级用于指示所述第三流表项的优先等级,所述第 三流表项的优先等级低于所述第二流表项的优先等级,所述第三流表项用于指示所述第三 转发设备对与所述匹配字段相匹配的业务流的报文执行所述第四操作,所述第三流表项不 包括所述标签。
4. 根据权利要求3所述的方法,其特征在于,所述第二转发设备与所述第三转发设备 是同一个设备。
5. 根据权利要求1-4任一所述的方法,其特征在于,所述第一转发设备为所述第二转 发路径上的入口转发设备,所述第三操作为将所述标签压入与所述匹配字段相匹配的业务 流的报文的头部,并从指定的出接口发送出去。
6. 根据权利要求1-5任一所述的方法,其特征在于,所述第二转发设备为所述第二转 发路径上的中间转发设备,所述第二操作为保留与所述匹配字段和所述标签相匹配的业务 流的报文头中的所述标签,并从指定的出接口发送出去。
7. 根据权利要求1-5任一所述的方法,其特征在于,所述第二转发设备为所述第二转 发路径上的出口转发设备,所述第二操作为弹出与所述匹配字段和所述标签相匹配的业务 流的报文头中的所述标签,并从指定的出接口发送出去。
8. 根据权利要求1-7任一所述的方法,其特征在于,所述第一转发设备为所述第二转 发路径上的入口转发设备, 所述方法还包括:所述控制器接收所述第二转发设备发送的应答消息,所述应答消息 用于表明所述第二转发设备接收到所述第二流表项; 所述控制器向所述第一转发设备发送新的流表项在所述控制器接收到所述应答消息 后执行。
9. 一种转发设备执行的更新流表的方法,更新后的流表指示的路径为第二转发路径, 所述第二转发路径包括所述转发设备,其特征在于,包括: 所述转发设备接收控制器发送的新的流表项,所述新的流表项包括:匹配字段、标签、 新的优先级和新的操作,所述标签标识携带所述标签的流表项指示所述第二转发路径,所 述新的优先级用于指示所述新的流表项的优先等级,所述新的流表项用于指示所述转发设 备对与所述匹配字段相匹配的业务流的报文执行所述新的操作; 所述转发设备保存所述新的流表项。
10. 根据权利要求9所述的方法,其特征在于,更新前的流表指示的路径为第一转发路 径,所述第一转发路径包括所述转发设备,所述方法还包括: 所述转发设备接收所述控制器发送的第一流表项,所述第一流表项包括:所述匹配字 段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级, 所述第一流表项的优先等级低于所述新的流表项的优先等级,所述第一流表项用于指示所 述转发设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作,所述第一流表项 不包括所述标签;所述转发设备保存所述第一流表项。
11. 根据权利要求9或10所述的方法,其特征在于,所述转发设备为所述第二转发路径 的入口转发设备,所述新的操作为将所述标签压入与所述匹配字段相匹配的业务流的报文 的头部,并从指定的出接口发送出去; 所述方法还包括:所述转发设备接收业务流的报文; 当确定所述接收到的业务流的报文匹配所述匹配字段时,根据优先等级选择所述新的 流表项,对所述接收到的业务流的报文执行所述新的操作。
12. 根据权利要求9或10所述的方法,其特征在于,所述转发设备为所述第二转发路径 的中间转发设备,所述新的操作为保留与所述匹配字段和所述标签相匹配的业务流的报文 头部的所述标签,并从指定的出接口发送出去; 所述方法还包括: 所述转发设备接收业务流的报文; 当确定所述接收到的业务流的报文匹配所述匹配字段和所述标签时,对所述接收到的 业务流的报文执行所述新的操作。
13. 根据权利要求9或10所述的方法,其特征在于,所述转发设备为所述第二转发路径 的出口转发设备,所述新的操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文 头部的所述标签,并从指定的出接口发送出去; 所述方法还包括: 所述转发设备接收业务流的报文; 当确定所述接收到的业务流的报文匹配所述匹配字段和所述标签时,对所述接收到的 业务流的报文执行所述新的操作。
14. 一种控制器,所述控制器执行更新流表的操作,更新前的流表指示的路径为第一 转发路径,更新后的流表指示的路径为第二转发路径,所述第一转发路径包括第一转发设 备,所述第二转发路径包括所述第一转发设备和第二转发设备,其特征在于,所述控制器包 括: 第一流表项计算生成单元,用于为所述第一转发设备计算生成第一流表项,所述第一 流表项包括:匹配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一 流表项的优先等级,所述第一流表项用于指示所述第一转发设备对与所述匹配字段相匹配 的业务流的报文执行所述第一操作; 第二流表项计算生成单元,用于为所述第二转发设备计算生成第二流表项,所述第二 流表项包括:所述匹配字段、标签、第二优先级和第二操作,所述标签标识携带所述标签的 流表项指示所述第二转发路径,所述第二优先级用于指示所述第二流表项的优先等级,所 述第二流表项的优先等级高于所述第一流表项的优先等级,所述第二流表项用于指示所述 第二转发设备对与所述匹配字段和所述标签相匹配的业务流的报文执行所述第二操作; 新的流表项计算生成单元,用于为所述第一转发设备计算生成新的流表项,所述新的 流表项包括:所述匹配字段、所述标签、第三优先级和第三操作,所述第三优先级用于指示 所述新的流表项的优先等级,所述新的流表项的优先等级高于所述第一流表项的优先等 级,所述新的流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文 执行所述第三操作; 标签分配管理单元,用于为所述第二转发路径上的转发设备的流表项分配所述标签; 通信单元,用于向所述第一转发设备发送第一流表项和新的流表项,和向所述第二转 发设备发送第二流表项。
15. 根据权利要求14所述的控制器,其特征在于,所述第一流表项不包括所述标签。
16. 根据权利要求14或15所述的控制器,其特征在于,所述第一转发路径还包括第三 转发设备,所述控制器还包括:第三流表项计算生成单元,用于为所述第三转发设备计算生 成第三流表项,所述第三流表项包括:所述匹配字段、第四优先级和第四操作,所述第四优 先级用于指示所述第三流表项的优先等级,所述第三流表项的优先等级低于所述第二流表 项的优先等级,所述第三流表项用于指示所述第三转发设备对与所述匹配字段相匹配的业 务流的报文执行所述第四操作,所述第三流表项不包括所述标签; 所述通信单元还用于向所述第三转发设备发送第三流表项。
17. 根据所述权利要求16所述的控制器,其特征在于,所述第二转发设备与所述第三 转发设备是同一个设备。
18. 根据权利要求14-17任一所述的控制器,其特征在于,所述第一转发设备为所述第 二转发路径上的入口转发设备,所述第三操作为将所述标签压入与所述匹配字段相匹配的 业务流的报文的头部,并从指定的出接口发送出去。
19. 根据权利要求14-17任一所述的控制器,其特征在于,所述第二转发设备为所述第 二转发路径上的中间转发设备,所述第二操作为保留与所述匹配字段和所述标签相匹配的 业务流的报文头中的所述标签,并从指定的出接口发送出去。
20. 根据权利要求14-17任一所述的控制器,其特征在于,所述第二转发设备为所述第 二转发路径上的出口转发设备,所述第二操作为弹出与所述匹配字段和所述标签相匹配的 业务流的报文头中的所述标签,并从指定的出接口发送出去。
21. 根据权利要求14-20任一所述的控制器,其特征在于,所述第一转发设备为所述第 二转发路径上的入口转发设备, 所述通信单元还用于接收所述第二转发设备发送的应答消息,所述应答消息用于表明 所述第二转发设备接收到所述第二流表项; 所述通信单元向所述第一转发设备发送新的流表项在所述通信单元接收到所述应答 消息后执行。
22. -种转发设备,所述转发设备执行更新流表的操作,更新后的流表指示的路径为 第二转发路径,所述第二转发路径包括所述转发设备,其特征在于,所述转发设备包括: 通信单元,用于接收控制器发来的新的流表项; 保存单元,用于存储所述新的流表项,所述新的流表项包括:匹配字段、标签、新的优先 级和新的操作,所述新的优先级用于指示所述新的流表项的优先等级,所述新的流表项用 于指示所述转发设备对与所述匹配字段相匹配的业务流的报文执行所述新的操作。
23. 根据权利要求22所述的转发设备,其特征在于,更新前的流表指示的路径为第一 转发路径,所述第一转发路径包括所述转发设备; 所述通信单元还用于接收所述控制器发来的第一流表项; 所述保存单元,还用于存储所述第一流表项,所述第一流表项包括:所述匹配字段、第 一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第 一流表项的优先等级低于所述新的流表项的优先等级,所述第一流表项用于指示所述转发 设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作,所述第一流表项不包括 所述标签。
24. 根据权利要求22或23所述的转发设备,其特征在于,所述转发设备为所述第二转 发路径的入口转发设备,所述新的操作为将所述标签压入与所述匹配字段相匹配的业务流 的报文的头部,并从指定的出接口发送出去; 所述转发设备还包括: 业务流接收单元,用于从其它网络设备接收业务流的报文; 处理单元,用于当确定所述接收到的业务流的报文匹配所述匹配字段时,根据优先等 级选择所述新的流表项,对所述接收到的业务流的报文执行所述新的操作。
25. 根据权利要求22或23所述的转发设备,其特征在于,所述转发设备为所述第二转 发路径的中间转发设备,所述新的操作为保留与所述匹配字段和所述标签相匹配的业务流 的报文头部的所述标签,并从指定的出接口发送出去; 所述转发设备还包括: 业务流接收单元,用于从其它网络设备接收业务流的报文; 处理单元,用于当确定所述接收到的业务流的报文匹配所述匹配字段和所述标签时, 对所述接收到的业务流的报文执行所述新的操作。
26. 根据权利要求22或23所述的转发设备,其特征在于,所述转发设备为所述第二转 发路径的出口转发设备,所述新的操作为弹出与所述匹配字段和所述标签相匹配的业务流 的报文头部的所述标签,并从指定的出接口发送出去; 所述转发设备还包括: 业务流接收单元,用于从其它网络设备接收业务流的报文; 处理单元,用于当确定所述接收到的业务流的报文匹配所述匹配字段和所述标签时, 对所述接收到的业务流的报文执行所述新的操作。
27. -种实现流表更新的系统,其特征在于,更新前的流表指示的路径为第一转发路 径,更新后的流表指示的路径为第二转发路径,所述第一转发路径包括第一转发设备,所述 第二转发路径包括所述第一转发设备和第二转发设备,包括:权利要求14-21任一所述的 控制器和权利要求22-26任一所述的转发设备。
【文档编号】H04L12/757GK104113482SQ201410353335
【公开日】2014年10月22日 申请日期:2014年7月23日 优先权日:2014年7月23日
【发明者】丁万夫, 林程勇, 董雯霞, 李凤凯 申请人:华为技术有限公司