CN104113482B - 流表更新的方法、装置和系统 - Google Patents

流表更新的方法、装置和系统 Download PDF

Info

Publication number
CN104113482B
CN104113482B CN201410353335.1A CN201410353335A CN104113482B CN 104113482 B CN104113482 B CN 104113482B CN 201410353335 A CN201410353335 A CN 201410353335A CN 104113482 B CN104113482 B CN 104113482B
Authority
CN
China
Prior art keywords
flow table
table item
forwarding unit
path
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410353335.1A
Other languages
English (en)
Other versions
CN104113482A (zh
Inventor
丁万夫
林程勇
董雯霞
李凤凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410353335.1A priority Critical patent/CN104113482B/zh
Publication of CN104113482A publication Critical patent/CN104113482A/zh
Application granted granted Critical
Publication of CN104113482B publication Critical patent/CN104113482B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种转发设备执行的更新流表的方法,更新后的流表指示的路径为第二转发路径,所述第二转发路径包括所述转发设备,该方法包括:转发设备接收控制器发送的新的流表项,新的流表项包括:匹配字段、标签、新的优先级和新的操作,标签标识携带标签的流表项指示第二转发路径,新的优先级用于指示新的流表项的优先等级,新的流表项用于指示所述转发设备对与所述匹配字段相匹配的业务流的报文执行所述新的操作。

Description

流表更新的方法、装置和系统
技术领域
本申请涉及通信网络领域,具体涉及一种流表更新的方法、装置和系统。
背景技术
基于控制转发分离思想的SDN/OpenFlow架构极大促进了网络创新,具有四大特征:标准的控制转发分离协议OpenFlow、拥有全网视图的集中控制平面、开放可编程的北向接口和抽象的转发平面。SDN给网络带来的价值有:通过标准化控制转发分离协议,可以打破垂直整合,创新不再受制于标准化进度;通过控制面集中化,并拥有全网视图,可以按需计算流路径、管理调度流量,以及简化运维;通过控制面北向接口开放可编程,可以支持客户化定制软件,快速业务创新;通过标准化转发模型,可以简化设备,降低设备成本和功耗。
然而,控制转发分离后,虽然控制平面集中化,并能够将控制逻辑集中部署到整个网络,但数据平面转发设备仍然是一个分布式系统,需要控制器集中分别为转发设备计算流表,并通过控制通道分别将表项下发到转发设备,以指导转发。但是当业务策略发生变化等情况下,流表需要更新时,受到控制通道可能存在的时延等因素的影响,将难以保证流表更新的一致性,有可能造成网络出现断路、丢包、环路、黑洞等问题。
流表一致性更新要求一个报文或者一条流,在网络的多个转发设备上传输过程中,当流表发生更新时,要么在这些转发设备上都按旧规则的流表项处理,要么在这些转发设备上都按新规则的流表处理,而不能在有的转发设备上按旧规则的流表项处理,在有的转发设备上按新规则的流表项处理。如何保证流表更新的一致性,是SDN网络面临的一个问题。
发明内容
本发明实施例提供流表更新的方法、装置和系统,有助于解决流表更新不一致的问题。
为了解决上述问题,本发明实施例第一方面提供一种控制器执行的更新流表的方法,更新前的流表指示的路径为第一转发路径,更新后的流表指示的路径为第二转发路径,所述第一转发路径包括第一转发设备,所述第二转发路径包括所述第一转发设备和第二转发设备,所述方法包括:所述控制器向所述第一转发设备发送第一流表项,所述第一流表项包括:匹配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作;所述控制器向所述第二转发设备发送第二流表项,所述第二流表项包括:所述匹配字段、标签、第二优先级和第二操作,所述标签标识携带所述标签的流表项指示所述第二转发路径,所述第二优先级用于指示所述第二流表项的优先等级,所述第二流表项的优先等级高于所述第一流表项的优先等级,所述第二流表项用于指示所述第二转发设备对与所述匹配字段和所述标签相匹配的所述业务流的报文执行所述第二操作;所述控制器向所述第一转发设备发送新的流表项,所述新的流表项包括:所述匹配字段、所述标签、第三优先级和第三操作,所述第三优先级用于指示所述新的流表项的优先等级,所述新的流表项的优先等级高于所述第一流表项的优先等级,所述新的流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第三操作。
在第一方面的第一种可能的实现方式中,还包括:所述第一流表项不包括所述标签。
结合第一方面或者第一方面的第一种的实现方式,在第一方面的第二种可能的实现方式中,所述第一转发路径还包括第三转发设备,所述方法还包括:所述控制器表项向第三转发设备发送第三流表项,所述第三流表项包括:所述匹配字段、第四优先级和第四操作,所述第四优先级用于指示所述第三流表项的优先等级,所述第三流表项的优先等级低于所述第二流表项的优先等级,所述第三流表项用于指示所述第三转发设备对与所述匹配字段相匹配的业务流的报文执行所述第四操作,所述第三流表项不包括所述标签。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:所述第二转发设备与所述第三转发设备是同一个设备。
结合第一方面或者第一方面的第一种至第三种任意一种可能的实现方式,在第一方面的第四种可能的实现方式中,还包括:所述第一转发设备为所述第二转发路径上的入口转发设备,所述第三操作为将所述标签压入与所述匹配字段相匹配的业务流的报文的头部,并从指定的出接口发送出去。
结合第一方面或者第一方面的第一种至第四种任意一种可能的实现方式,在第一方面的第五种可能的实现方式中,还包括:所述第二转发设备为所述第二转发路径上的中间转发设备,所述第二操作为保留与所述匹配字段和所述标签相匹配的业务流的报文头中的所述标签,并从指定的出接口发送出去。
结合第一方面或者第一方面的第一种至第四种任意一种可能的实现方式,在第一方面的第六种可能的实现方式中,还包括:所述第二转发设备为所述第二转发路径上的出口转发设备,所述第二操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文头中的所述标签,并从指定的出接口发送出去。
结合第一方面或者第一方面的第一种至第六种任意一种可能的实现方式,在第一方面的第七种可能的实现方式中,所述第一转发设备为所述第二转发路径上的入口转发设备,所述方法还包括:所述控制器接收所述第二转发设备发送的应答消息,所述应答消息用于表明所述第二转发设备接收到所述第二流表项;所述控制器向所述第一转发设备发送新的流表项在所述控制器接收到所述应答消息后执行。
为了解决上述问题,本发明实施例第二方面提供一种转发设备执行的更新流表的方法,更新后的流表指示的路径为第二转发路径,所述第二转发路径包括所述转发设备,所述方法包括:所述转发设备接收控制器发送的新的流表项,所述新的流表项包括:匹配字段、标签、新的优先级和新的操作,所述标签标识携带所述标签的流表项指示所述第二转发路径,所述新的优先级用于指示所述新的流表项的优先等级,所述新的流表项用于指示所述转发设备对与所述匹配字段相匹配的业务流的报文执行所述新的操作;所述转发设备保存所述新的流表项。
结合第二方面的实现方式,在第二方面的第一种可能的实现方式中,更新前的流表指示的路径为第一转发路径,所述第一转发路径包括所述转发设备,所述方法还包括:所述转发设备接收所述控制器发送的第一流表项,所述第一流表项包括:所述匹配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第一流表项的优先等级低于所述新的流表项的新的优先等级,所述第一流表项用于指示所述转发设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作,所述第一流表项不包括所述标签;所述转发设备保存所述第一流表项。
结合第二方面或者第二方面的第一种的实现方式,在第二方面的第二种可能的实现方式中,所述转发设备为所述第二转发路径的入口转发设备,所述新的操作为将所述标签压入与所述匹配字段相匹配的业务流的报文的头部,并从指定的出接口发送出去;所述方法还包括:所述转发设备接收业务流的报文;当确定所述接收到的业务流的报文匹配所述匹配字段时,根据优先等级选择所述新的流表项,对所述接收到的业务流的报文执行所述新的操作。
结合第二方面或者第二方面的第一种的实现方式,在第二方面的第三种可能的实现方式中,所述转发设备为所述第二转发路径的中间转发设备,所述新的操作为保留与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签,并从指定的出接口发送出去;所述方法还包括:所述转发设备接收业务流的报文;当确定所述接收到的业务流的报文匹配所述匹配字段和所述标签时,对所述接收到的业务流的报文执行所述新的操作。
结合第二方面或者第二方面的第一种的实现方式,在第二方面的第四种可能的实现方式中,所述转发设备为所述第二转发路径的出口转发设备,所述新的操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签,并从指定的出接口发送出去;所述方法还包括:所述转发设备接收业务流的报文;当确定所述接收到的业务流的报文匹配所述匹配字段和所述标签时,对所述接收到的业务流的报文执行所述新的操作。
为了解决上述问题,本发明实施例第三方面提供一种控制器,所述控制器执行更新流表的操作,更新前的流表指示的路径为第一转发路径,更新后的流表指示的路径为第二转发路径,所述第一转发路径包括第一转发设备,所述第二转发路径包括所述第一转发设备和第二转发设备,所述控制器包括:第一流表项计算生成单元,用于所述控制器为位于第一转发路径上的第一转发设备计算生成第一流表项,所述第一流表项包括:匹配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作;第二流表项计算生成单元,用于所述控制器为位于第二转发路径上的所述第二转发设备计算生成第二流表项,所述第二流表项包括:所述匹配字段、标签、第二优先级和第二操作,所述标签标识携带所述标签的流表项指示所述第二转发路径,所述第二优先级用于指示所述第二流表项的优先等级,所述第二流表项的优先等级高于所述第一流表项,所述第二流表项用于指示所述第二转发设备对与所述匹配字段和所述标签相匹配的所述业务流的报文执行所述第二操作;新的流表项计算生成单元,用于所述控制器为位于第二转发路径上的第一转发设备计算生成新的流表项,所述新的流表项包括:所述匹配字段、所述标签、第三优先级和第三操作,所述第三优先级用于指示所述新的流表项的优先等级,所述新的流表项的优先等级高于所述第一流表项的优先等级,所述新的流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第三操作;标签分配管理单元,用于维护管理标签的创建和删除,具体包括为所述第二转发路径上的转发设备的流表项分配所述标签;通信单元,用于向所述第一转发设备发送第一流表项和新的流表项,和向所述第二转发设备发送第二流表项。
结合第三方面的实现方式,在第三方面的第一种可能的实现方式中,还包括:所述第一流表项不包括所述标签。
结合第三方面或者第三方面的第一种的实现方式,在第三方面的第二种可能的实现方式中,所述第一转发路径还包括第三转发设备,所述控制器还包括:第三流表项计算生成单元,用于所述控制器为位于第一转发路径上的所述第三转发设备计算生成第三流表项,所述第三流表项包括:所述匹配字段、第四优先级和第四操作,所述第四优先级用于指示所述第三流表项的优先等级,所述第三流表项的优先等级低于所述第二流表项的优先等级,所述第三流表项用于指示所述第三转发设备对与所述匹配字段相匹配的业务流的报文执行所述第四操作,所述第三流表项不包括所述标签;通信单元,用于向所述第三转发设备发送第三流表项。
结合第三方面的第二种的实现方式,在第三方面的第三种可能的实现方式中,还包括:所述第二转发设备与所述第三转发设备是同一个设备。
结合第三方面或者第三方面的第一种至第三种任意一种实现方式,在第三方面的第四种可能的实现方式中,还包括:所述第一转发设备为所述第二转发路径上的入口转发设备,所述第三操作为将所述标签压入与所述匹配字段相匹配的业务流的报文的头部,并从指定的出接口发送出去。
结合第三方面或者第三方面的第一种至第三种任意一种实现方式,在第三方面的第五种可能的实现方式中,还包括:所述第二转发设备为所述第二转发路径上的中间转发设备,所述第二操作为保留与所述匹配字段和所述标签相匹配的业务流的报文头中的所述标签,并从指定的出接口发送出去。
结合第三方面或者第三方面的第一种至第三种任意一种实现方式,在第三方面的第六种可能的实现方式中,还包括:所述第二转发设备为所述第二转发路径上的出口转发设备,所述第二操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文头中的所述标签,并从指定的出接口发送出去。
结合第三方面或者第三方面的第一种至第六种任意一种实现方式,在第三方面的第七种可能的实现方式中,所述第一转发设备为所述第二转发路径上的入口转发设备,所述控制器还包括:所述通信单元接收所述第二转发设备发送的应答消息,所述应答消息用于表明所述第二转发设备接收到所述第二流表项;所述通信单元向所述第一转发设备发送新的流表项在所述通信单元接收到所述应答消息后执行。
为了解决上述问题,本发明实施例第四方面提供一种转发设备,所述转发设备执行更新流表的操作,更新后的流表指示的路径为第二转发路径,所述第二转发路径包括所述转发设备,所述转发设备包括:通信单元,用于接收控制器发来的新的流表项;保存单元,用于生成并存储所述新的流表项,所述新的流表项包括:匹配字段、标签、新的优先级、新的操作,所述新的优先级用于指示所述新的流表项的优先等级,所述新的流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述新的操作。
结合第四方面的实现方式,在第四方面的第一种可能的实现方式中,更新前的流表指示的路径为第一转发路径,所述第一转发路径包括所述转发设备,所述转发设备还包括:通信单元,用于接收控制器发来的第一流表项;保存单元,用于生成并存储所述第一流表项,所述第一流表项包括:所述匹配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第一流表项的优先等级低于所述新的流表项的新的优先等级,所述第一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作,所述第一流表项不包括所述标签。
结合第四方面或者第四方面的第一种的实现方式,在第四方面的第二种可能的实现方式中,所述转发设备为所述第二转发路径的入口转发设备,所述新的操作为将所述标签压入与所述匹配字段相匹配的业务流的报文的头部,并从指定的出接口发送出去;所述转发设备还包括:业务流接收单元,用于从其它网络设备接收业务流的报文;处理单元,用于获取所述业务流报文的所述匹配字段,用所述匹配字段查找流表,选择优先等级高的新的流表项,执行新的操作;标签压入子单元,是所述处理单元中的子单元,具体用于执行将所述标签压入与所述匹配字段相匹配的业务流的报文的头部。
结合第四方面或者第四方面的第一种的实现方式,在第四方面的第三种可能的实现方式中,所述转发设备为所述第二转发路径的中间转发设备,所述新的操作为保留与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签,并从指定的出接口发送出去;所述转发设备还包括:业务流接收单元,用于从其它网络设备接收业务流的报文;处理单元,用于获取所述业务流报文的所述匹配字段和所述标签,用所述匹配字段和所述标签查找流表,执行新的操作;标签保留子单元,是所述处理单元中的子单元,具体用于执行保留与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签。
结合第四方面或者第四方面的第一种的实现方式,在第四方面的第四种可能的实现方式中,所述转发设备为所述第二转发路径的出口转发设备,所述新的操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签,并从指定的出接口发送出去;所述转发设备还包括:业务流接收单元,用于从其它网络设备接收业务流的报文;处理单元,用于获取所述业务流报文的所述匹配字段和所述标签,用所述匹配字段和所述标签查找流表,执行新的操作;标签弹出子单元,是所述处理单元中的子单元,具体用于执行弹出与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签。
为了解决上述问题,本发明实施例第五方面提供一种实现流表更新的系统,更新前的流表指示的路径为第一转发路径,更新后的流表指示的路径为第二转发路径,所述第一转发路径包括第一转发设备,所述第二转发路径包括所述第一转发设备和第二转发设备,所述系统包括:控制器和转发设备;所述控制器包括:上述第三方面的任一控制器;所述转发设备包括:上述第四方面的任一转发设备。
由上述技术方案可以看出,当在基于控制转发分离的SDN/OpenFlow网络中,执行流表更新时,通过控制器为第二转发路径上的流表项分配标签,并向第二转发路径上的转发设备下发包含标签的流表项,将转发设备上的第二转发路径上的新流表项通过标签与第一转发路径上的旧流表项区别开来,并结合标签转发,达到了一个报文或一条流在网络中的各转发设备上转发时,都使用旧流表项或者都使用新流表项转发,有助于一致性更新问题的解决,避免因报文的错误处理所导致的环路、拥塞、丢包、黑洞等问题。。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种流表更新方法的组网示意图;
图2是本发明实施例提供的一种流表更新方法的流程图;
图3是本发明实施例提供的又一种流表更新方法的流程图;
图4是本发明实施例提供的一种流表更新控制器的示意图;
图5是本发明实施例提供的一种流表更新转发设备的示意图;
图6是本发明实施例提供的一种流表更新系统的示意图;
图7是本发明实施例提供的又一种流表更新控制器的示意图;
图8是本发明实施例提供的又一种流表更新转发设备的示意图。
具体实施方式
本发明实施例提供一种流表更新的方法、装置和系统。本发明实施例还提供相应的装置和系统。以下分别进行详细说明。
实施例一、
在基于控制转发分离的网络中,如SDN(Software Defined Networking)网络,控制器可以通过控制器与转发设备之间的控制通道协议(如OpenFlow协议)来控制多个转发设备,向每个被控制的转发设备上发送添加、修改或删除消息,来添加、修改或删除流表,从而指导一个报文或者一条业务流在网络中的转发。
例如,请参考图1,图1是本发明实施例的组网示意图,仅用于示意性说明本发明的应用场景,并不视为对本发明实施例的限制。控制器控制转发设备,分别为第一转发设备和第二转发设备,还可以包括第三转发设备。其中,第一转发设备和第二转发设备是位于第二转发路径上的任意两个节点,第一转发设备中的“第一”,第二转发设备中的“第二”,不仅用于表明区分两个转发设备,还表明所述转发设备在一条流转发路径上的位置先后顺序,“第一”代表的转发设备位于“第二”代表的转发设备的前面,即第一转发设备为报文沿着第二转发路径转发时首先经过的节点,第二转发设备为报文沿着第二转发路径转发时后序经过的节点;第一转发设备和第三转发设备是位于第一转发路径上的任意两个节点,第一转发设备中的“第一”,第三转发设备中的“第三”,仅仅用于表明区分两个转发设备。
如图2所示,本发明实施例提供一种控制器执行的更新流表的方法,更新前的流表指示的路径为第一转发路径,更新后的流表指示的路径为第二转发路径,所述第一转发路径包括第一转发设备,所述第二转发路径包括所述第一转发设备和第二转发设备,所述方法包括:
S201、所述控制器向所述第一转发设备发送第一流表项,所述第一流表项包括:匹配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作。举例示意如表1。
表1 第一流表项内容
匹配字段 第一优先级 第一操作
源IP地址 出端口P1
所述匹配字段域用于流表查找,所述匹配字段域的内容可以标识一条流或者一个报文,所述匹配字段域的使用方法可以与开放网络基金会ONF(Open NetworkingFoundation)发布的OpenFlow交换机规范中定义的匹配字段域的使用方法一致,比如包括:源IP地址、目的IP地址、协议号、源端口号、目的端口号、VLAN ID、MPLS(Multiple ProtocolLabel Switch)标签等等。
S202、所述控制器向所述第二转发设备发送第二流表项,所述第二流表项包括:所述匹配字段、标签、第二优先级和第二操作,所述标签标识携带所述标签的流表项指示所述第二转发路径,所述第二优先级用于指示所述第二流表项的优先等级,所述第二流表项的优先等级高于所述第一流表项的优先等级,所述第二流表项用于指示所述第二转发设备对与所述匹配字段和所述标签相匹配的所述业务流的报文执行所述第二操作,举例示意如表2。
表2 第二流表项内容
所述匹配字段 标签 第二优先级 第二操作
源IP地址 100 出端口P2
S203、所述控制器向所述第一转发设备发送新的流表项,所述新的流表项包括:所述匹配字段、所述标签、第三优先级和第三操作,所述第三优先级用于指示所述新的流表项的优先等级,所述新的流表项的优先等级高于所述第一流表项的优先等级,所述新的流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第三操作,举例示意如表3。
表3 新的流表项内容
所述匹配字段 所述标签 第三优先级 第三操作
源IP地址 100 出端口P3
其中,所述标签,也相当于版本号,用于唯一地标识第一转发设备上的新的流表项和第二转发设备上的第二流表项都是控制器根据新策略为所述业务流计算出的新流表,相当于都是同一版本号的流表,以显示地区别与所述第一转发设备的所述第一流表项属于不同的版本。
进一步,所述第一流表项不包括所述标签。
在一种可能的实现方式当中,本发明实施例还进一步包括:所述第一转发路径还包括第三转发设备,所述方法还包括:所述控制器向所述第三转发设备发送第三流表项,所述第三流表项包括:所述匹配字段、第四优先级和第四操作,所述第四优先级用于指示所述第三流表项的优先等级,所述第三流表项的优先等级低于所述第二流表项的优先等级,所述第三流表项用于指示所述第三转发设备对与所述匹配字段相匹配的业务流的报文执行所述第四操作,所述第三流表项不包括所述标签,举例示意如表4。值得说明的是,所述控制器向所述第三转发设备发送第三流表项的执行动作可以发生在S201步骤之前或者在S201步骤之后、S202之前。
表4 第三流表项内容
所述匹配字段 第四优先级 第四操作
源IP地址 出端口P4
其中,可选的,所述第二转发设备与所述第三转发设备可以是同一个设备。
在又一种可能的实现方式当中,所述第一转发设备为所述第二转发路径上的入口转发设备,所述第三操作为将所述标签压入与所述匹配字段相匹配的业务流的报文的头部,并从指定的出接口发送出去。
在另一种可能的实现方式当中,所述第二转发设备为所述第二转发路径上的中间转发设备,所述第二操作为保留与所述匹配字段和所述标签相匹配的业务流的报文头中的所述标签,并从指定的出接口发送出去。
在再一种可能的实现方式当中,所述第二转发设备为所述第二转发路径上的出口转发设备,所述第二操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文头中的所述标签,并从指定的出接口发送出去。
为了取得更好的更新效果,在再二种可能的实现方式当中,所述第一转发设备为所述第二转发路径上的入口转发设备,所述方法还包括:所述控制器接收所述第二转发设备发送的应答消息,所述应答消息用于表明所述第二转发设备接收到所述第二流表项;所述控制器向所述第一转发设备发送新的流表项在所述控制器接收到所述应答消息后执行。
可选的,上述方法,在步骤S201至S203之后,还包括:
204、所述控制器收到所述第一转发设备发送的应答消息后,所述应答消息用于表明所述第一转发设备接收到所述新的流表项,所述控制器向所述第一转发设备下发修改消息,更改所述第一流表项,将所述第一流表项的第一操作中的出端口更新为所述新的流表项的新的操作中的出端口,举例示意如表5。
表5 第一流表项内容
匹配字段 第一优先级 第一操作
源IP地址 出端口P4
进一步,所述控制器向所述第二转发设备下发添加消息,新添加第四流表项,所述第四流表项为不带标签的流表项,具体包括:所述匹配字段、第四优先级和第四操作,其中,所述第四优先级用于指示所述第四流表项的优先等级低于所述第二流表项的第二优先等级,此时设置为低,所述第四流表项用于指示所述第二转发设备对与所述匹配字段相匹配的业务流的报文执行所述第四操作,此时,所述第四操作中的出口端与所述第二流表项的所述第二操作中的出端口一致,举例示意如表6。
表6 第四流表项内容
所述匹配字段 第二优先级 第二操作
源IP地址 出端口P2
205、所述控制器向第一转发设备下发删除消息,删除新的流表项;所述控制器向第二转发设备下发删除消息,删除第二流表项。
进一步,所述控制器向第三转发设备下发流表删除消息,删除第三流表项。
以上所举为所述控制器控制三个转发设备的情况,本领域技术人员可知,上述方案也适用于所述控制器控制两个或者三个以上转发设备。
本发明实施例一提供的方法,通过控制器为流表更新后的第二转发路径上的新流表分配唯一的标签,并将包含标签的新流表下发到多个转发设备,从而通过标签把多个转发设备上的新流表关联起来,并且区别于流表更新前的旧流表,达到了一个报文或一条流在网络中各转发设备上转发时,自网络的入口节点至网络的出口节点都使用旧流表或者都使用新流表转发,从而满足了流表一致性更新的要求。可选地,还提供了新流表首先发给一条流路径的中间和出口节点,最后发给头结点的方法,以及可选的流表更新和删除的方法。本发明实施例一提供的方法,可以解决现有控制转发分离网络技术中,流表需要更新时,转发设备上新旧规则的所有流表项无法同时生效或者失效,引起数据报文的错误处理,从而导致的环路、拥塞、丢包、黑洞等问题。
实施例二、
请参考图3,本发明实施例提供了一种转发设备执行的更新流表的方法,更新后的流表指示的路径为第二转发路径,所述第二转发路径包括所述转发设备,所述方法包括:
S301、所述转发设备接收控制器发送的新的流表项,所述新的流表项包括:匹配字段、标签、新的优先级和新的操作,所述标签标识携带所述标签的流表项指示所述第二转发路径,所述新的优先级用于指示所述新的流表项的优先等级,所述新的流表项用于指示所述转发设备对与所述匹配字段相匹配的业务流的报文执行所述新的操作。
S302、所述转发设备保存所述新的流表项。
在一种可能的实现方式当中,本发明实施例还进一步包括:更新前的流表指示的路径为第一转发路径,所述第一转发路径包括所述转发设备,所述方法还包括:
S303、所述转发设备接收所述控制器发送的第一流表项,所述第一流表项包括:所述匹配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第一流表项的优先等级低于所述新的流表项的新的优先等级,所述第一流表项用于指示所述转发设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作,所述第一流表项不包括所述标签;所述转发设备保存所述第一流表项。
值得说明的是,步骤S303的执行顺序可以在步骤S301之前。
上述方法,在步骤302之后,还包括:
S304、如果所述转发设备为所述第二转发路径的入口转发设备,所述新的操作为将所述标签压入与所述匹配字段相匹配的业务流的报文的头部,并从指定的出接口发送出去;
所述方法还包括:
所述转发设备接收业务流的报文;
当确定所述接收到的业务流的报文匹配所述匹配字段时,根据优先等级选择所述新的流表项,对所述接收到的业务流的报文执行所述新的操作。
可选的,如果所述转发设备为所述第二转发路径的中间转发设备,所述新的操作为保留与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签,并从指定的出接口发送出去;
所述方法还包括:
所述转发设备接收业务流的报文;
当确定所述接收到的业务流的报文匹配所述匹配字段和所述标签时,对所述接收到的业务流的报文执行所述新的操作。
可选的,如果所述转发设备为所述第二转发路径的出口转发设备,所述新的操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签,并从指定的出接口发送出去;
所述方法还包括:
所述转发设备接收业务流的报文;
当确定所述接收到的业务流的报文匹配所述匹配字段和所述标签时,对所述接收到的业务流的报文执行所述新的操作。
可选的,上述方法,在步骤301至304之后,还可以包括:
305、所述转发设备接收控制器下发的修改消息,修改所述第一流表项,更改所述第一流表项的所述第一操作中的出接口等于所述新的流表项的所述新的操作中的出接口。
306、所述转发设备还要接收控制器下发的删除消息,删除所述转发设备上的所述新的流表项。
本发明实施例二提供的方法,通过标签把第二转发路径上的转发设备上的新流表关联起来,并且区别于旧流表,达到了一个报文或一条流在网络中各转发设备上转发时,都使用旧流表或者都使用新流表转发,从而满足了流表一致性更新的要求。本发明实施例二提供的方法,可以解决现有控制转发分离网络技术中,流表需要更新时,转发设备上新旧规则的所有流表项无法同时生效或者失效,引起数据报文的错误处理,从而导致的环路、拥塞、丢包、黑洞等问题。
实施例三、
请参考图4,本发明的一个实施例提供一种控制器400,所述控制器400执行更新流表的操作,更新前的流表指示的路径为第一转发路径,更新后的流表指示的路径为第二转发路径,所述第一转发路径包括第一转发设备,所述第二转发路径包括所述第一转发设备和第二转发设备,所述控制器400包括:
第一流表项计算生成单元402,用于所述控制器400为位于第一转发路径上的所述第一转发设备计算生成第一流表项,所述第一流表项包括:匹配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作;
第二流表项计算生成单元404,用于所述控制器400为位于第二转发路径上的所述第二转发设备计算生成第二流表项,所述第二流表项包括:所述匹配字段、标签、第二优先级和第二操作,所述标签标识携带所述标签的流表项指示所述第二转发路径,所述第二优先级用于指示所述第二流表项的优先等级,所述第二流表项的优先等级高于所述第一流表项,所述第二流表项用于指示所述第二转发设备对与所述匹配字段和所述标签相匹配的所述业务流的报文执行所述第二操作;
新的流表项计算生成单元403,用于所述控制器400为位于第二转发路径上的第一转发设备计算生成新的流表项,所述新的流表项包括:所述匹配字段、所述标签、第三优先级和第三操作,所述第三优先级用于指示所述新的流表项的优先等级,所述新的流表项的优先等级高于所述第一流表项的优先等级,所述新的流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第三操作;
标签分配管理单元401,用于维护管理标签的创建和删除,具体包括为所述第二转发路径上的转发设备的流表项分配所述标签;
通信单元406,用于向所述第一转发设备发送第一流表项和新的流表项,和向所述第二转发设备发送第二流表项。
其中,所述第一流表项不包括所述标签。
可选的,本发明实施例的另一种实现方式,所述第一转发路径还包括第三转发设备,所述控制器400还包括:
第三流表项计算生成单元405,用于所述控制器400为位于第一转发路径上的所述第三转发设备计算生成第三流表项,所述第三流表项包括:所述匹配字段、第四优先级和第四操作,所述第四优先级用于指示所述第三流表项的优先等级,所述第三流表项的优先等级低于所述第二流表项的优先等级,所述第三流表项用于指示所述第三转发设备对与所述匹配字段相匹配的业务流的报文执行所述第四操作,所述第三流表项不包括所述标签;
通信单元406,用于向所述第三转发设备发送第三流表项。
其中,可选的,所述第二转发设备与所述第三转发设备是同一个设备。
可选的,在本发明实施例的又一种实现方式中,还包括:
如果所述第一转发设备为所述第二转发路径上的入口转发设备,所述第三操作为将所述标签压入与所述匹配字段相匹配的业务流的报文的头部,并从指定的出接口发送出去。
如果所述第二转发设备为所述第二转发路径上的中间转发设备,所述第二操作为保留与所述匹配字段和所述标签相匹配的业务流的报文头中的所述标签,并从指定的出接口发送出去。
如果所述第二转发设备为所述第二转发路径上的出口转发设备,所述第二操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文头中的所述标签,并从指定的出接口发送出去。
进一步,可选的,在本发明实施例的再一种实现方式中,还包括:所述第一转发设备为所述第二转发路径上的入口转发设备,
所述通信单元406还用于接收所述第二转发设备发送的应答消息,所述应答消息用于表明所述第二转发设备接收到所述第二流表项;
所述通信单元406向所述第一转发设备发送新的流表项在所述通信单元406接收到所述应答消息后执行。
本发明实施例三中控制器400的通信单元406,具体特征还包括:
接收第二转发设备发送的应答消息,所述应答消息用于表明所述第二转发设备接收到所述第二流表项;
接收第一转发设备发送的应答消息,所述应答消息用于表明所述第一转发设备接收到所述新的流表项;
向所述第一转发设备下发修改消息,更改所述第一流表项;
向所述第二转发设备下发添加消息,新添加第四流表项;
向第一转发设备下发删除消息,删除新的流表项;
向第二转发设备下发删除消息,删除第二流表项;
向第三转发设备下发流表删除消息,删除第三流表项。
值得说明的是,本发明实施例三提供的控制器400的各功能单元,是基于实施例一提供的方法的具体实现,术语的定义和解决的问题与实施例一保持一致,此处不再赘述。
实施例四、
请参考图5,本发明的一个实施例提供一种转发设备500,所述转发设备执行更新流表的操作,更新后的流表指示的路径为第二转发路径,所述第二转发路径包括所述转发设备,所述转发设备包括:
通信单元510,用于接收控制器发来的新的流表项;
保存单元520,用于生成并存储所述新的流表项,所述新的流表项包括:匹配字段、标签、新的优先级和新的操作,所述新的优先级用于指示所述新的流表项的优先等级,所述新的流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述新的操作。
进一步,可选的,在本发明实施例的一种实现方式中,还包括:更新前的流表指示的路径为第一转发路径,所述第一转发路径包括所述转发设备,所述转发设备还包括:
通信单元510,还用于接收控制器发来的第一流表项;
保存单元520,还用于生成并存储所述第一流表项,所述第一流表项包括:所述匹配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第一流表项的优先等级低于所述新的流表项的新的优先等级,所述第一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作,所述第一流表项不包括所述标签。
进一步,可选的,在本发明实施例的另一种实现方式中,还包括:
如果所述转发设备为所述第二转发路径的入口转发设备,所述新的操作为将所述标签压入与所述匹配字段相匹配的业务流的报文的头部,并从指定的出接口发送出去;
所述转发设备还包括:
业务流接收单元550,用于从其它网络设备接收业务流的报文;
处理单元540,用于当确定所述接收到的业务流的报文匹配所述匹配字段时,根据优先等级选择所述新的流表项,对所述接收到的业务流的报文执行所述新的操作;
标签压入子单元541,是所述处理单元中的子单元,具体用于执行将所述标签压入与所述匹配字段相匹配的业务流的报文的头部。
如果所述转发设备为所述第二转发路径的中间转发设备,所述新的操作为保留与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签,并从指定的出接口发送出去;
所述转发设备还包括:
业务流接收单元550,用于从其它网络设备接收业务流的报文;
处理单元540,用于当确定所述接收到的业务流的报文匹配所述匹配字段和所述标签时,对所述接收到的业务流的报文执行所述新的操作;
标签保留子单元542,是所述处理单元中的子单元,具体用于执行保留与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签。
如果所述转发设备为所述第二转发路径的出口转发设备,所述新的操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签,并从指定的出接口发送出去;
所述转发设备还包括:
业务流接收单元550,用于从其它网络设备接收业务流的报文;
处理单元540,用于当确定所述接收到的业务流的报文匹配所述匹配字段和所述标签时,对所述接收到的业务流的报文执行所述新的操作;
标签弹出子单元543,是所述处理单元中的子单元,具体用于执行弹出与所述匹配字段和所述标签相匹配的业务流的报文头部的所述标签。
值得说明的是,本发明实施例四提供的转发设备的各功能单元,是基于实施例二提供的方法的具体实现,术语的定义和解决的问题与实施例一保持一致,此处不再赘述。
实施例五、
请参考图6,本发明的一个实施例提供一种用于流表更新的系统600,更新前的流表指示的路径为第一转发路径,更新后的流表指示的路径为第二转发路径,所述第一转发路径包括第一转发设备,所述第二转发路径包括所述第一转发设备和第二转发设备,所述系统包括:控制器601和转发设备602;
所述控制器601,包括:
实施例三中所述的控制器;
所述转发设备602,包括:
实施例四种所述的转发设备。
值得说明的是,本发明实施例五提供的控制器和转发设备的各功能单元,是基于实施例一至四提供的方法的具体实现,术语的定义和解决的问题与实施例一和二保持一致,此处不再赘述。
实施例六、
请参考图7,本发明的一个实施例提供一种控制设备700,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,包括:至少一个处理器704、存储器706、通信接口702和总线708。处理器704、存储器706和通信接口702通过总线708连接并完成相互间的通信。
所述总线708可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线,
存储器706用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器704可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
通信接口702,用于执行图4中通信单元406执行的操作。
存储器706,用于存储指令。
处理器704,用于读取存储器706中存储的指令,从而执行图4中标签分配单元401、第一流表项计算生成单元402、新的流表项计算生成单元403、第二流表项计算生成单元404和第三流表项计算生成单元405执行的操作。
实施例七、
请参考图8,本发明的一个实施例提供一种控制设备800,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,包括:至少一个处理器804、存储器806、通信接口802和总线808。处理器804、存储器806和通信接口802通过总线808连接并完成相互间的通信。
所述总线808可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线,
存储器806用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器806可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器804可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
处理器804可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
通信接口802,用于执行图5中通信单元510和业务流接收单元550执行的操作。
存储器806,用于存储图5中保存单元520中保存的转发表项;
可选的,所述存储器806还用于存储指令。
处理器804,用于读取存储器806中存储的转发表项和/或指令,从而执行图5中处理单元540执行的操作。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(Read-Only Memory,ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以示例性说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明及本发明带来的有益效果进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求的范围。

Claims (15)

1.一种控制器执行的更新流表的方法,更新前的流表指示的路径为第一转发路径,更新后的流表指示的路径为第二转发路径,所述第一转发路径包括第一转发设备,所述第二转发路径包括所述第一转发设备和第二转发设备,其特征在于,所述方法包括:
所述控制器向所述第一转发设备发送第一流表项,所述第一流表项包括:匹配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作;
所述控制器向所述第二转发设备发送第二流表项,所述第二流表项包括:所述匹配字段、标签、第二优先级和第二操作,所述标签标识携带所述标签的流表项指示所述第二转发路径,所述第二优先级用于指示所述第二流表项的优先等级,所述第二流表项的优先等级高于所述第一流表项的优先等级,所述第二流表项用于指示所述第二转发设备对与所述匹配字段和所述标签相匹配的所述业务流的报文执行所述第二操作;
所述控制器向所述第一转发设备发送新的流表项,所述新的流表项包括:所述匹配字段、所述标签、第三优先级和第三操作,所述第三优先级用于指示所述新的流表项的优先等级,所述新的流表项的优先等级高于所述第一流表项的优先等级,所述新的流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第三操作,所述第一转发设备为所述第二转发路径上的入口转发设备,所述第三操作包括将所述标签压入与所述匹配字段相匹配的业务流的报文的头部,并从指定的出接口发送出去。
2.根据权利要求1所述的方法,其特征在于,所述第一流表项不包括任何标签。
3.根据权利要求1或2所述的方法,其特征在于,所述第一转发路径还包括第三转发设备,所述方法还包括:
所述控制器在向所述第一转发设备发送第一流表项之前,或者,在向所述第一转发设备发送第一流表项之后和向所述第二转发设备发送第二流表项之前,向第三转发设备发送第三流表项,所述第三流表项包括:所述匹配字段、第四优先级和第四操作,所述第四优先级用于指示所述第三流表项的优先等级,所述第三流表项的优先等级低于所述第二流表项的优先等级,所述第三流表项用于指示所述第三转发设备对与所述匹配字段相匹配的业务流的报文执行所述第四操作,所述第三流表项不包括所述标签。
4.根据权利要求3所述的方法,其特征在于,所述第二转发设备与所述第三转发设备是同一个设备。
5.根据权利要求1、2或4所述的方法,其特征在于,所述第二转发设备为所述第二转发路径上的中间转发设备,所述第二操作为保留与所述匹配字段和所述标签相匹配的业务流的报文头中的所述标签,并从指定的出接口发送出去。
6.根据权利要求1、2或4所述的方法,其特征在于,所述第二转发设备为所述第二转发路径上的出口转发设备,所述第二操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文头中的所述标签,并从指定的出接口发送出去。
7.根据权利要求1、2或4所述的方法,其特征在于,所述第一转发设备为所述第二转发路径上的入口转发设备,
所述方法还包括:所述控制器接收所述第二转发设备发送的应答消息,所述应答消息用于表明所述第二转发设备接收到所述第二流表项;
所述控制器向所述第一转发设备发送新的流表项在所述控制器接收到所述应答消息后执行。
8.一种控制器,所述控制器执行更新流表的操作,更新前的流表指示的路径为第一转发路径,更新后的流表指示的路径为第二转发路径,所述第一转发路径包括第一转发设备,所述第二转发路径包括所述第一转发设备和第二转发设备,其特征在于,所述控制器包括:
第一流表项计算生成单元,用于为所述第一转发设备计算生成第一流表项,所述第一流表项包括:匹配字段、第一优先级和第一操作,其中,所述第一优先级用于指示所述第一流表项的优先等级,所述第一流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第一操作;
第二流表项计算生成单元,用于为所述第二转发设备计算生成第二流表项,所述第二流表项包括:所述匹配字段、标签、第二优先级和第二操作,所述标签标识携带所述标签的流表项指示所述第二转发路径,所述第二优先级用于指示所述第二流表项的优先等级,所述第二流表项的优先等级高于所述第一流表项的优先等级,所述第二流表项用于指示所述第二转发设备对与所述匹配字段和所述标签相匹配的业务流的报文执行所述第二操作;
新的流表项计算生成单元,用于为所述第一转发设备计算生成新的流表项,所述新的流表项包括:所述匹配字段、所述标签、第三优先级和第三操作,所述第三优先级用于指示所述新的流表项的优先等级,所述新的流表项的优先等级高于所述第一流表项的优先等级,所述新的流表项用于指示所述第一转发设备对与所述匹配字段相匹配的业务流的报文执行所述第三操作;
标签分配管理单元,用于为所述第二转发路径上的转发设备的流表项分配所述标签;
通信单元,用于向所述第一转发设备发送第一流表项,向所述第二转发设备发送第二流表项和向所述第一转发设备发送新的流表项;
所述第一转发设备为所述第二转发路径上的入口转发设备,所述第三操作包括将所述标签压入与所述匹配字段相匹配的业务流的报文的头部,并从指定的出接口发送出去。
9.根据权利要求8所述的控制器,其特征在于,所述第一流表项不包括任何标签。
10.根据权利要求8或9所述的控制器,其特征在于,所述第一转发路径还包括第三转发设备,所述控制器还包括:第三流表项计算生成单元,用于为所述第三转发设备计算生成第三流表项,所述第三流表项包括:所述匹配字段、第四优先级和第四操作,所述第四优先级用于指示所述第三流表项的优先等级,所述第三流表项的优先等级低于所述第二流表项的优先等级,所述第三流表项用于指示所述第三转发设备对与所述匹配字段相匹配的业务流的报文执行所述第四操作,所述第三流表项不包括所述标签;
所述通信单元还用于在向所述第一转发设备发送第一流表项之前,或者,在向所述第一转发设备发送第一流表项之后和向所述第二转发设备发送第二流表项之前,向所述第三转发设备发送第三流表项。
11.根据所述权利要求10所述的控制器,其特征在于,所述第二转发设备与所述第三转发设备是同一个设备。
12.根据权利要求8、9或11所述的控制器,其特征在于,所述第二转发设备为所述第二转发路径上的中间转发设备,所述第二操作为保留与所述匹配字段和所述标签相匹配的业务流的报文头中的所述标签,并从指定的出接口发送出去。
13.根据权利要求8、9或11所述的控制器,其特征在于,所述第二转发设备为所述第二转发路径上的出口转发设备,所述第二操作为弹出与所述匹配字段和所述标签相匹配的业务流的报文头中的所述标签,并从指定的出接口发送出去。
14.根据权利要求8、9或11所述的控制器,其特征在于,所述第一转发设备为所述第二转发路径上的入口转发设备,
所述通信单元还用于接收所述第二转发设备发送的应答消息,所述应答消息用于表明所述第二转发设备接收到所述第二流表项;
所述通信单元向所述第一转发设备发送新的流表项在所述通信单元接收到所述应答消息后执行。
15.一种实现流表更新的系统,其特征在于,更新前的流表指示的路径为第一转发路径,更新后的流表指示的路径为第二转发路径,所述第一转发路径包括第一转发设备,所述第二转发路径包括所述第一转发设备和第二转发设备,所述系统包括:权利要求8-14任一所述的控制器、第一转发设备和第二转发设备。
CN201410353335.1A 2014-07-23 2014-07-23 流表更新的方法、装置和系统 Active CN104113482B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410353335.1A CN104113482B (zh) 2014-07-23 2014-07-23 流表更新的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410353335.1A CN104113482B (zh) 2014-07-23 2014-07-23 流表更新的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN104113482A CN104113482A (zh) 2014-10-22
CN104113482B true CN104113482B (zh) 2017-11-24

Family

ID=51710117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410353335.1A Active CN104113482B (zh) 2014-07-23 2014-07-23 流表更新的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN104113482B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394080A (zh) * 2014-11-28 2015-03-04 杭州华三通信技术有限公司 实现安全组功能的方法及装置
CN104486119A (zh) * 2014-12-16 2015-04-01 盛科网络(苏州)有限公司 通过改进openflow协议实现批量管理交换机的方法及系统
CN105791141B (zh) * 2014-12-23 2019-02-12 华为技术有限公司 一种流表置换方法及装置
CN106209647B (zh) * 2015-04-29 2019-05-24 华为技术有限公司 流表项下发方法和装置
CN104980431B (zh) * 2015-05-14 2018-09-21 南京大学 一种sdn中实现流有序的一致性更新方法
CN107005433B (zh) * 2015-07-20 2020-05-19 华为技术有限公司 一种流表项的定时处理方法及装置
CN105897624A (zh) * 2016-04-01 2016-08-24 浪潮电子信息产业股份有限公司 一种客户端、流表配置管理的方法和系统
CN105933236A (zh) * 2016-07-07 2016-09-07 北京邮电大学 一种sdn流表更新方法及装置
CN106230640B (zh) * 2016-08-30 2019-12-13 浙江宇视科技有限公司 一种安全规则端口配置方法和设备
CN106713132B (zh) * 2016-11-23 2020-02-14 华为技术有限公司 用于更新转发表项的方法和装置
MX2023000301A (es) * 2020-07-06 2023-02-09 Huawei Tech Co Ltd Metodo de procesamiento de paquetes y dispositivo de red.
CN111935022B (zh) * 2020-07-28 2021-05-18 华中科技大学 一种软件定义网络中流表一致性更新方法
CN112491743A (zh) * 2020-11-02 2021-03-12 锐捷网络股份有限公司 一种交换芯片的配置方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101325597B (zh) * 2008-07-30 2011-04-06 北京星网锐捷网络技术有限公司 一种数据处理的方法、装置及系统
CN101800707B (zh) * 2010-04-22 2011-12-28 华为技术有限公司 建立流转发表项的方法及数据通信设备
US10333827B2 (en) * 2012-04-11 2019-06-25 Varmour Networks, Inc. Adaptive session forwarding following virtual machine migration detection
CN103220225B (zh) * 2012-05-21 2015-07-08 华为技术有限公司 报文处理方法及设备、系统
CN103825823B (zh) * 2014-02-21 2017-02-01 中国科学技术大学苏州研究院 基于不同优先级的软件定义网络中数据转发方法

Also Published As

Publication number Publication date
CN104113482A (zh) 2014-10-22

Similar Documents

Publication Publication Date Title
CN104113482B (zh) 流表更新的方法、装置和系统
CN106656801B (zh) 业务流的转发路径的重定向方法、装置和业务流转发系统
US9253035B2 (en) Reducing switch state size in flow-based networks
CN106130894B (zh) 一种业务功能链的创建方法及系统
CN104980349B (zh) 中继系统以及交换机装置
CN104704772B (zh) 通信系统、虚拟网络管理装置、虚拟网络管理方法
CN108696434A (zh) 一种转发数据报文的方法、设备和系统
US20140376373A1 (en) Congestion notification in leaf and spine networks
CN104601470B (zh) 一种流表处理方法及装置
CN104219145B (zh) 网络系统及路由方法
CN103733576B (zh) 通过信号指示标签交换路径(lsp)隧穿模型
CN102291455B (zh) 分布式集群处理系统及其报文处理方法
CN110535772A (zh) 分段路由流量工程策略的发送及接收方法、装置和网元
CN104704779A (zh) 用于加速软件定义网络中的转发的方法和设备
CN105191215A (zh) 双向服务链的数据平面学习
CN107624240A (zh) 用于自动的基于策略的路由的网络元件的配置
CN104937892A (zh) 多节点虚拟交换系统
CN105791175A (zh) 软件定义网络中控制传输资源的方法及设备
CN105991435A (zh) 用于获取端口路径的方法及装置
CN108206785A (zh) 针对多播流量优化与路由和/或下一跳相关的信息
CN110351286A (zh) 一种软件定义网络中链路洪泛攻击检测响应机制
CN104065553B (zh) 虚拟网络迁移方法和相关设备
CN107483338A (zh) 一种确定跨域标签交换路径隧道的方法、设备和系统
CN108429652A (zh) 基于sdn的远端流镜像控制方法、实现方法及相关设备
CN105681226A (zh) 具有模块化的中心级机架的多机架交换机

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant