一种报文转发方法和装置制造方法

文档序号:8001271阅读:259来源:国知局
一种报文转发方法和装置制造方法
【专利摘要】本发明公开了一种报文转发方法,应用于包括控制设备Openflow Controller和交换设备的Openflow网络中,该方法包括:控制设备根据转发等价类FEC分配统一的全局标签并将所述全局标签下发给所述交换设备,以使交换设备对于未带全局标签的报文通过匹配FEC后为报文封装上所述全局标签将报文转发出去;对于带有全局标签的报文通过全局标签转发表项将报文转发出去。本发明还公开了一种控制设备和交换设备。采用本发明能够提升交换设备的支持规格。
【专利说明】一种报文转发方法和装置

【技术领域】
[0001]本发明涉及网络通信【技术领域】,特别涉及一种报文转发方法和装置。

【背景技术】
[0002]Openflow交换机将传统交换机上的报文转发和转发策略分离开来,采用专门的一台控制器(controlIer)通过网线与交换机连接。这样原来同在一台交换机设备上的报文转发功能(硬件芯片实现)和报文转发策略(各种软件协议)就被分开到了不同的硬件设备上。而一台控制器还可以控制多台Openflow交换机,从而实现了统一的转发控制端,更有效地控制了网络。基本的Openflow网络包括:控制面的网络控制器和转发面的Openflow交换机。Openflow网络中的转发数据报文的方法为利用流表进行数据报文转发,具体为:控制器通过标准化的Openflow协议控制多个Openflow交换机并下发流表给Openflow交换机;Openflow交换机接收并保存流表;当Openflow交换机收到网络发来的数据报文后,查看流表中是否有匹配的流表项,若有,则按照流表项中的动作转发数据报文;若没有查找到匹配的流表项,则将数据报文的头信息封装为Packet-1n消息通过安全通道发给控制器,由控制器来决策相关行为。
[0003]现有技术中,通过访问控制列表(ACL)来实现流表,而控制器要为每个交换机下发流表,这就意味着要耗费大量的ACL,因此实现起来比较浪费资源,而且效率比较低。


【发明内容】

[0004]本发明的目的在于提供一种报文转发方法和装置,能够提升交换设备的支持规格。
[0005]为实现上述发明目的,本发明提供了一种报文转发方法,应用于包括控制设备Openflow Controller和交换设备的Openflow网络中,该方法包括:控制设备根据转发等价类FEC分配统一的全局标签并将所述全局标签下发给所述交换设备,以使交换设备对于未带全局标签的报文通过匹配FEC后为报文封装上所述全局标签将报文转发出去;对于带有全局标签的报文通过全局标签转发表项将报文转发出去。
[0006]为实现上述发明目的,本发明还提供了一种控制设备,应用于包括控制设备Openflow Controller和交换设备的Openflow网络中,该控制设备包括:控制单元,根据转发等价类FEC分配统一的全局标签并将所述全局标签下发给所述交换设备,以使交换设备对于未带全局标签的报文通过匹配FEC后为报文封装上所述全局标签将报文转发出去;对于带有全局标签的报文通过全局标签转发表项将报文转发出去。
[0007]为实现上述发明目的,本发明还提供了一种交换设备,该交换设备为Openflow网络中的交换设备,当所述交换设备作为入口交换设备时,该交换设备包括:接收单元,用于接收控制设备下发的包括FEC与全局标签的对应关系以及所述入口交换设备对应的出接口的Openflow流表;匹配转发单元,用于将接收到报文中的FEC与全局标签对应的FEC匹配上后,为报文封装上所述全局标签,在对应出接口将带有全局标签的报文转发出去。
[0008]综上所述,本发明实施例中,控制设备根据FEC为交换设备分配统一的全局标签并将所述全局标签下发给所述交换设备,以使交换设备对于未带全局标签的报文通过匹配FEC后为报文封装上所述全局标签将报文转发出去;对于带有全局标签的报文通过全局标签转发表项将报文转发出去。与现有技术中每个交换设备都要匹配流表相比,由于不再使用ACL规则匹配流,使得网络设备支持的规格大幅度上升,并且转发速度大幅提升。

【专利附图】

【附图说明】
[0009]图1为本发明实施例Openflow网络结构示意图。
[0010]图2为本发明实施例报文转发方法的流程示意图。
[0011]图3为本发明实施例中控制设备的结构示意图。
[0012]图4为本发明实施例中交换设备的结构示意图。

【具体实施方式】
[0013]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
[0014]本发明实施例中,将数据报文传输方向上不同位置的交换设备划分为三类不同的设备,分别为入口交换设备、中间交换设备和出口交换设备。其中,中间交换设备可以有多个,本发明在此三类不同的设备上处理方式不尽相同。本发明的中间思想是:控制设备根据转发等价类(FEC)为交换设备分配统一的全局标签,将该全局标签携带在Openflow流表中下发给入口交换设备,将全局标签携带在第一全局标签转发表项中下发给中间交换设备,将全局标签携带在第二全局标签转发表项中下发给出口交换设备;这样入口交换设备接收到报文后,将报文中的FEC与Openflow流表中全局标签对应的FEC进行匹配,匹配之后,为报文封装上所述全局标签,将封有全局标签的报文转发出去;中间交换设备接收到报文后,根据报文中的全局标签查找所述第一全局标签转发表项,将封有全局标签的报文转发出去;出口交换设备接收到报文后,根据报文中的全局标签查找所述第二全局标签转发表项,将去除全局标签的报文转发出去。本发明实施例中,将多协议标签交换(MPLS)网络中的标签引入到Openflow网络中,控制设备为中间交换设备和出口交换设备下发简单的标签转发表项,由于中间和出口交换设备不再需要匹配流表,不再使用ACL规则匹配流,使得网络设备支持的规格大幅度上升,并且转发速度大幅提升。
[0015]下面结合具体实施例对本发明进行详细说明。图1为本发明实施例Openflow网络结构示意图。如图1所示:控制设备通过网线分别与入口交换设备、中间交换设备、出口交换设备连接。首先,控制设备要为入口交换设备下发Openflow流表,为中间交换设备下发第一全局标签转发表项,为出口交换设备下发第二全局标签转发表项,所以下面详细说明控制设备的工作原理。
[0016]一、控制设备根据FEC为入口交换设备分配全局标签,同时计算所述入口交换设备对应的出接口 ;控制设备向入口交换设备下发包括FEC与全局标签的对应关系以及所述入口交换设备对应的出接口的Openflow流表。
[0017]FEC是一种数据分组,可以是一条路由,一个IP报文五元组,一个端口收到的所有报文,或者携带某个虚拟局域网标签(VLAN Tag)的报文等等。本发明中控制设备给不同的FEC分配不同的全局标签,一个FEC在Openflow网络中规划一条标签交换路径(LSP),指导报文的转发,也就是说,在控制设备的指导下,相同FEC的报文的转发路径是相同的。
[0018]控制设备给入口交换设备下发的流表头域中携带FEC,携带哪种FEC是根据业务的需要而认定的,例如,本发明实施例中将IP目的地址作为FEC,对应的全局标签值为100。并且控制设备给入口交换设备下发的流表执行指令中要求数据报文匹配到该FEC时,在入口交换设备的对应出接口封装全局标签转发数据报文。
[0019]其中,流表为控制器根据实际情况为入口交换设备设置并发送给入口交换设备的数据报文的转发策略;所述流表中的流表项包括:头域、计数器和执行指令。所述头域可以包括:进入接口、以太网源地址、以太网目的地址、以太网类型、虚拟局域网标识(VLAN ID)、VLAN优先级、互联网协议(IP)源地址、IP目的地址、传输控制协议/用户数据包协议(TCP/Μ)Ρ)目标端口和TCP/UDP源端口 ;本发明实施例中头域内容为IP目的地址。所述计数器为针对每张表、每个数据流、每个端口以及每个队列分别保存的计数器。所述执行指令为控制器向入口交换设备设置的匹配的数据报文的处理方式。本发明实施例执行指令为要求数据报文匹配到该IP目的地址时,在入口交换设备的对应出接口封装全局标签100转发数据报文。也就是说,流表头域和执行指令结合起来,体现了 FEC与全局标签的对应关系。其中,控制设备计算入口交换设备对应的出接口的方式有多种,控制设备可以根据Openflow网络中拓扑信息计算各个交换设备所对应的出接口。例如,每个交换设备将拓扑信息通告给控制设备,控制设备根据获取的拓扑信息计算出入口交换设备对应的出接口。现有技术下发的流表中也包括出接口,在此不再赘述。
[0020]需要说明的是,控制设备向入口交换设备下发流表,入口交换设备保存此流表。当入口交换设备接收到报文后,匹配不到流表,即找不到对应的FEC,入口交换设备会将报文上送控制设备,触发控制设备下发所需要的流表。
[0021]二、控制设备根据FEC为中间交换设备分配全局标签,同时计算所述中间交换设备对应的出接口 ;控制设备向中间交换设备下发包括全局标签和所述中间交换设备对应的出接口的第一全局标签转发表项。
[0022]本发明实施例中将IP目的地址作为FEC,对应的全局标签值为100。控制设备向中间交换设备下发的第一全局标签转发表项包括:全局标签值100和出接口。进一步地,第一全局标签转发表项也可以包含下一跳。其中,控制设备计算中间交换设备对应的出接口的方式有多种,控制设备可以根据Openflow网络中拓扑信息计算各个交换设备所对应的出接口。例如,每个交换设备将拓扑信息通告给控制设备,控制设备根据获取的拓扑信息计算出中间交换设备对应的出接口。
[0023]其中,控制设备向中间交换设备下发标签转发表项的方式有多种,可以采用SNMP、NetConf等方式,也可以采用交换设备私有的方式设置。
[0024]三、控制设备根据FEC为出口交换设备分配全局标签,同时计算所述出口交换设备对应的出接口 ;控制设备向出口交换设备下发包括全局标签和所述出口交换设备对应的出接口的第二全局标签转发表项。
[0025]本发明实施例中将IP目的地址作为FEC,对应的全局标签值为100。控制设备向出口交换设备下发的第二全局标签转发表项包括:全局标签值100和出接口。进一步地,第二全局标签转发表项也可以包含下一跳。其中,控制设备计算出口交换设备对应的出接口的方式有多种,控制设备可以根据Openflow网络中拓扑信息计算各个交换设备所对应的出接口。例如,每个交换设备将拓扑信息通告给控制设备,控制设备根据获取的拓扑信息计算出出口交换设备对应的出接口。
[0026]其中,控制设备向出口交换设备下发标签转发表项的方式有多种,可以采用SNMP、NetConf等方式,也可以采用交换设备私有的方式设置。
[0027]由于控制设备对于同一 FEC,给入口交换设备、中间交换设备以及出口交换设备下发相同的全局标签,从而给出一条指导路径,所以与此匹配的数据报文就会在这条指导路径上进行转发。图2为本发明实施例报文转发方法的流程示意图。
[0028]步骤21、入口交换设备将接收到报文中的FEC与全局标签对应的FEC匹配上后,为报文封装上所述全局标签,在对应出接口将带有全局标签的报文转发出去。
[0029]具体地,本发明实施例中将IP目的地址作为FEC,对应的全局标签值为100。所以入口交换设备接收到携带IP目的地址的报文后,在流表中查找是否有匹配的流表项,即是否有匹配的FEC,当查找到与之匹配的IP目的地址时,在入口交换设备的对应出接口携带全局标签值100转发数据报文。
[0030]步骤22、中间交换设备根据接收到报文中的全局标签查找所述第一全局标签转发表项,在对应出接口将带有全局标签的报文转发出去。
[0031]具体地,中间交换设备接收到携带全局标签值为100的报文后,在第一全局标签转发表项中查找是否有匹配的标签值,当查找到与之匹配的全局标签值100后,在中间交换设备的对应出接口携带全局标签值100转发数据报文。由于进入中间交换设备的报文,和从中间交换设备转发出的报文都带有标签,所以,实际上,中间交换设备上的标签分为入标签和出标签,但由于本发明中控制设备为每个FEC分配了 Openflow网络中唯一的标签,即全局标签,所以控制设备下发给中间交换设备的入标签和出标签是相同的,都称为全局标签。
[0032]步骤33、出口交换设备根据接收到报文中的全局标签查找所述第二全局标签转发表项中,在对应出接口将去除全局标签的报文转发出去。
[0033]具体地,出口交换设备接收到携带全局标签值为100的报文后,在第二全局标签转发表项中查找是否有匹配的标签值,当查找到与之匹配的全局标签值100后,在出口交换设备的对应出接口携带全局标签值100转发数据报文。
[0034]至此,完成了本发明的报文转发方法。需要说明的是,上述第一全局标签转发表项和第二全局标签转发表项中的“第一”和“第二”,是为了区分标签转发表项是下发给中间交换设备还是出口交换设备,因此,“第一”和“第二”只是一个相对定义,无论第一全局标签转发表项,还是第二全局标签转发表项都包括全局标签和下一跳。
[0035]另外,如果一个控制设备管理的业务比较多,可能会出现标签不够用的情况,因此本发明优选实施例使用两层标签解决一个控制设备大容量情况下标签不够用的问题。具体来说,就是将外层标签和内层标签联合起来表不一个全局标签,携带在流表中,唯一确定一个流表;或者携带在全局标签转发表项中,唯一确定一个转发表项。其中,外层标签由网络管理员分配,内层标签由控制设备自己分配,例如标签空间范围1-100,外层标签从1-100中取值,内层标签也从1-100中取值,这样,全局标签就有100*100=10000个取值,相比于单层标签只能有100个取值来说,有效解决了标签不够用的问题。
[0036]本发明控制设备实现Openflow网络全局标签空间的管理后,会带来如下好处:
[0037]I)简化了控制设备分配标签的复杂度,整网中FEC和标签是一一对应的;
[0038]2)方便了网络的管理,Openflow网络中使用唯一的标签标识一个业务流。
[0039]3)方便实现组播业务,方便实现环网保护。
[0040]基于同样的发明构思,本发明还提出一种控制设备,应用于包括控制设备和交换设备的Openflow网络中,参见图3,图3为本发明具体实施例中应用于上述方法的控制设备的结构示意图。该控制设备包括:
[0041]控制单元301,根据转发等价类FEC分配统一的全局标签并将所述全局标签下发给所述交换设备,以使交换设备对于未带全局标签的报文通过匹配FEC后为报文封装上所述全局标签将报文转发出去;对于带有全局标签的报文通过全局标签转发表项将报文转发出去。
[0042]进一步地,所述控制单元301进一步包括:
[0043]配置单元302,用于根据FEC为交换设备分配统一的全局标签;
[0044]计算单元303,用于计算交换设备所对应的出接口 ;
[0045]下发单元304,用于向入口交换设备下发包括FEC与全局标签的对应关系以及所述入口交换设备对应的出接口的Openflow流表,以使入口交换设备将接收到报文中的FEC与全局标签对应的FEC匹配上后,为报文封装上所述全局标签,在对应出接口将带有全局标签的报文转发出去;还用于向中间交换设备下发包括全局标签和所述中间交换设备对应的出接口的第一全局标签转发表项,以使中间交换设备根据接收到报文中的全局标签查找所述第一全局标签转发表项,在对应出接口将带有全局标签的报文转发出去;还用于向出口交换设备下发包括全局标签和所述出口交换设备对应的出接口的第二全局标签转发表项,以使出口交换设备根据接收到报文中的全局标签查找所述第二全局标签转发表项,在对应出接口将去除全局标签的报文转发出去。
[0046]本发明还提出一种交换设备,应用于包括控制设备和交换设备的Openflow网络中,参见图4,图4为本发明具体实施例中应用于上述方法的交换设备的结构示意图。
[0047]当所述交换设备作为入口交换设备时,该交换设备包括:
[0048]接收单元401,用于接收控制设备下发的包括FEC与全局标签的对应关系以及所述入口交换设备对应的出接口的Openflow流表;
[0049]匹配转发单元402,用于将接收到报文中的FEC与全局标签对应的FEC匹配上后,为报文封装上所述全局标签,在对应出接口将带有全局标签的报文转发出去。
[0050]当所述交换设备作为中间交换设备时,
[0051]所述接收单元401,还用于接收控制设备下发的包括全局标签和所述中间交换设备对应的出接口的第一全局标签转发表项;
[0052]所述匹配转发单元402,还用于根据接收到报文中的全局标签查找所述第一全局标签转发表项,在对应出接口将带有全局标签的报文转发出去。
[0053]当所述交换设备作为出口交换设备时,
[0054]所述接收单元401,还用于接收控制设备下发的包括全局标签和所述出口交换设备对应的出接口的第二全局标签转发表项;
[0055]所述匹配转发单元402,还用于根据接收到报文中的全局标签查找所述第二全局标签转发表项,在对应出接口将去除全局标签的报文转发出去。
[0056]综上所述,本发明具体实施例中控制设备向入口交换设备下发Openflow流表,向中间交换设备和出口交换设备下发简单的标签转发表项,由于不再像现有技术那样向所有交换设备下发流表,因此不需要所有交换设备转发报文时都要匹配流表,从而提高了转发报文的速度。而且,本发明控制设备向交换设备下发根据FEC区分的全局标签,在Openflow网络中根据FEC规划一条LSP,指导报文转发,从而简化了网络的管理。
[0057]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种报文转发方法,应用于包括控制设备Openflow Controller和交换设备的Openflow网络中,该方法包括:控制设备根据转发等价类FEC分配统一的全局标签并将所述全局标签下发给所述交换设备,以使交换设备对于未带全局标签的报文通过匹配FEC后为报文封装上所述全局标签将报文转发出去;对于带有全局标签的报文通过全局标签转发表项将报文转发出去。
2.如权利要求1所述的方法,其特征在于,所述交换设备在报文传输方向上划分为入口交换设备、中间交换设备和出口交换设备; 控制设备根据FEC为入口交换设备分配全局标签,以使入口交换设备对于未带全局标签的报文通过匹配FEC后为报文封装上所述全局标签将报文转发出去的方法包括: 控制设备根据FEC为入口交换设备分配全局标签,同时计算所述入口交换设备对应的出接口 ; 控制设备向入口交换设备下发包FEC与全局标签的对应关系以及所述入口交换设备对应的出接口的Openflow流表,以使入口交换设备将接收到报文中的FEC与全局标签对应的FEC匹配上后,为报文封装上所述全局标签,在对应出接口将带有全局标签的报文转发出去。
3.如权利要求1所述的方法,其特征在于,所述交换设备在报文传输方向上划分为入口交换设备、中间交换设备和出口交换设备; 控制设备根据FEC为中间交换设备分配全局标签,以使中间交换设备对于带有全局标签的报文通过全局标签转发表项将报文转发出去的方法包括: 控制设备根据FEC为中间交换设备分配全局标签,同时计算所述中间交换设备对应的出接口 ; 控制设备向中间交换设备下发包括全局标签和所述中间交换设备对应的出接口的第一全局标签转发表项,以使中间交换设备根据接收到报文中的全局标签查找所述第一全局标签转发表项,在对应出接口将带有全局标签的报文转发出去。
4.如权利要求1所述的方法,其特征在于,所述交换设备在报文传输方向上划分为入口交换设备、中间交换设备和出口交换设备; 控制设备根据FEC为出口交换设备分配全局标签,以使出口交换设备对于带有全局标签的报文通过全局标签转发表项将报文转发出去的方法包括: 控制设备根据FEC为出口交换设备分配全局标签,同时计算所述出口交换设备对应的出接口 ; 控制设备向出口交换设备下发包括全局标签和所述出口交换设备对应的出接口的第二全局标签转发表项,以使出口交换设备根据接收到报文中的全局标签查找所述第二全局标签转发表项,在对应出接口将去除全局标签的报文转发出去。
5.如权利要求1所述的方法,其特征在于,所述全局标签包括外层标签和内层标签。
6.一种控制设备,应用于包括控制设备Openflow Controller和交换设备的Openflow网络中,其特征在于,该控制设备包括: 控制单元,根据转发等价类FEC分配统一的全局标签并将所述全局标签下发给所述交换设备,以使交换设备对于未带全局标签的报文通过匹配FEC后为报文封装上所述全局标签将报文转发出去;对于带有全局标签的报文通过全局标签转发表项将报文转发出去。
7.如权利要求6所述的控制设备,其特征在于,所述控制单元进一步包括: 配置单元,用于根据FEC为交换设备分配统一的全局标签; 计算单元,用于计算交换设备所对应的出接口 ; 下发单元,用于向入口交换设备下发包括FEC与全局标签的对应关系以及所述入口交换设备对应的出接口的Openflow流表,以使入口交换设备将接收到报文中的FEC与全局标签对应的FEC匹配上后,为报文封装上所述全局标签,在对应出接口将带有全局标签的报文转发出去;还用于向中间交换设备下发包括全局标签和所述中间交换设备对应的出接口的第一全局标签转发表项,以使中间交换设备根据接收到报文中的全局标签查找所述第一全局标签转发表项,在对应出接口将带有全局标签的报文转发出去;还用于向出口交换设备下发包括全局标签和所述出口交换设备对应的出接口的第二全局标签转发表项,以使出口交换设备根据接收到报文中的全局标签查找所述第二全局标签转发表项,在对应出接口将去除全局标签的报文转发出去。
8.一种交换设备,该交换设备为Openflow网络中的交换设备,其特征在于, 当所述交换设备作为入口交换设备时,该交换设备包括: 接收单元,用于接收控制设备下发的包括FEC与全局标签的对应关系以及所述入口交换设备对应的出接口的Openflow流表; 匹配转发单元,用于将接收到报文中的FEC与全局标签对应的FEC匹配上后,为报文封装上所述全局标签,在对应出接口将带有全局标签的报文转发出去。
9.如权利要求8所述的交换设备,其特征在于, 当所述交换设备作为中间交换设备时, 所述接收单元,用于接收控制设备下发的包括全局标签和所述中间交换设备对应的出接口的第一全局标签转发表项; 所述匹配转发单元,用于根据接收到报文中的全局标签查找所述第一全局标签转发表项,在对应出接口将带有全局标签的报文转发出去。
10.如权利要求9所述的交换设备,其特征在于, 当所述交换设备作为出口交换设备时, 所述接收单元,用于接收控制设备下发的包括全局标签和所述出口交换设备对应的出接口的第二全局标签转发表项; 所述匹配转发单元,用于根据接收到报文中的全局标签查找所述第二全局标签转发表项,在对应出接口将去除全局标签的报文转发出去。
【文档编号】H04L12/947GK104243362SQ201310255098
【公开日】2014年12月24日 申请日期:2013年6月24日 优先权日:2013年6月24日
【发明者】郜忠华 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1