流标识封装方法及系统的制作方法

文档序号:8322181阅读:670来源:国知局
流标识封装方法及系统的制作方法
【技术领域】
[0001]本发明涉及通信领域,具体而言,涉及一种流标识封装方法及系统。
【背景技术】
[0002]在数据通信网络中,为了提高网络节点和网络链路的利用率,减小单个节点或单条链路的故障对业务流量的影响,等价多路径(Equal Cost Multiple Paths,简称为ECMP)技术的应用越来越广泛,ECMP技术可以对同源同宿的业务流量进行分流,不同的流沿着等价的不同的传输路径进行转发。
[0003]为了实现ECMP,通常是在网络节点上利用中间系统到中间系统(IntermediateSystem to Intermediate System,简称为 IS-1S)或开放式最短路径优先(Open ShortestPath First,简称为OSPF)这样的路由协议先计算出同时包含多个出接口的转发表条目,网络节点在接收到匹配上该转发表条目的待转发报文后,针对报文的某些预设字段(比如IP五元组,包括源IP地址、源端口、目的IP地址、目的端口和传输层协议号)进行哈希(hash)计算,再通过hash值对出接口个数的取模(mod)运算得出一个出接口索引(index),根据这个索引就可以选定该转发表条目所包含的多个出接口中的一个,然后把该报文从选定的出接口转发出去。由于匹配上述转发表条目的报文所包含的上述预设字段的赋值可能不同,而网络节点根据不同的字段赋值可能计算出不同的hash值,于是就实现了在单个网络节点上对匹配同一转发表条目的业务流量进行分流,进而为不同的流选择不同的出接口。网络中的所有节点都执行上述分流和为不同的流选择不同的出接口的操作,就能够实现ECMP的技术目的。
[0004]以多协议标签交换(Mult1-Protocol Label Switching,简称为MPLS)网络和提供商骨干桥接(Provider Backbone Bridging,简称为PBB)网络为代表的叠加网络是当前应用非常普遍的一种数据通信网络。所谓叠加网络,就是把网络划分为叠加网络边缘层和叠加网络核心层,叠加网络边缘层负责对进入叠加网络的原始报文进行一次封装,封装后报文的目的地址指向叠加网络的远端边缘节点,叠加网络边缘层还负责对离开叠加网络的封装后报文进行解封装,叠加网络核心层负责根据封装后报文的目的地址对封装后报文进行转发。叠加网络的边缘节点完成叠加网络边缘层的功能,叠加网络的边缘节点和中间节点共同完成叠加网络核心层的功能。如果要在叠加网络中实现ECMP,有一种方法就是在叠加网络的核心层(包含边缘节点和中间节点)对封装后报文中包含的原始报文的某些预设字段(比如IP五元组)进行哈希计算,根据哈希计算的结果来选择出接口,但是这种方法要求网络节点能够提取封装后报文中包含的原始报文的某些预设字段,由于这些原始报文的字段位于封装后报文中比较深的位置,所以提取这些字段对于网络节点来说是一个比较大的负担,现有硬件设备实现起来也比较复杂和昂贵。为了解决上述方法的缺陷,国际标准组织互联网工程任务组(Internet Engineering Task Force,简称为IETF)和电气和电子工程师协会(Institute of Electrical and Electronics Engineers,简称为 IEEE)分别针对MPLS网络和PBB网络提出了相类似的解决方案,其基本原理就是在叠加网络的边缘层给进入叠加网络的原始报文先封装一层流标识,再完成标准化的MPLS封装或PBB封装,流标识的赋值来自原始报文的某些预设字段(比如IP五元组)哈希计算的结果(即hash值),在叠加网络的核心层对封装后报文进行哈希计算选择出接口时,无需再提取位于封装后报文中比较深位置的原始报文的某些字段,而只需提取位于封装后报文中比较浅位置的代表了原始报文分流信息的流标识,这就大大减轻了网络节点的负担,屏蔽了硬件实现的复杂性和高成本。在IETF标准RFC6391中,为了实现MPLS网络中基于伪线(Pseudo Wire,简称为PW)的ECMP,规定了作为流标识使用的流标签(Flow Label,简称为FL),流标签在封装后报文中的位置如图1所示;在IETF标准RFC 6790中,为了实现MPLS网络中基于标签交换路径(Label Switched Path,简称为LSP)的ECMP,规定了作为流标识使用的熵标签(EntropyLabel,简称为EL),熵标签在封装后报文中的位置如图2所示;在IEEE标准802.1Qbp中,为了实现PBB网络中的ECMP,规定了作为流标识使用的流过滤标签(Flow Filtering Tag,简称为F-TAG),流过滤标签在封装后报文中的位置如图3所示。
[0005]随着软件定义网络(Software Defined Network,简称为SDN)概念的提出及其应用的发展,作为SDN核心技术的OpenFlow技术正处于快速发展阶段,目前利用OpenFlow技术建设的OpenFlow网络已经越来越多地应用于实际的生产生活中。OpenFlow网络采用控制平面与转发平面(也称为数据平面)相分离的架构,图4是根据相关技术的OpenFlow网络组件架构示意图,如图4所示,OpenFlow网络的管理平面由OpenFlow配置点来实现,OpenFlow配置点是一种运行着网管软件的设备,具体的设备形态可以是个人电脑或者服务器等。OpenFlow网络的控制平面由OpenFlow控制器来实现,OpenFlow控制器是一种具备强大计算能力的设备,具体的设备形态可以是个人电脑、服务器或服务器集群等,网络应用程序(App)可以通过应用程序编程接口(API)调用OpenFlow控制器以实现对OpenFlow网络的控制。OpenFlow网络的转发平面由OpenFlow交换机来实现,OpenFlow交换机是一种具备强大交换能力的设备,具体的设备形态是配备多个网络端口、基于流表(Flow Table)进行报文处理与转发的网络设备。OpenFlow配置点与OpenFlow交换机之间的接口运行OpenFlow管理和配置(OF-Config)协议,OpenFlow控制器与OpenFlow交换机之间的接口运行OpenFlow交换机(OF-Switch)协议,上述两个协议均由国际标准组织开放网络基金会(Open Networking Foundat1n,简称为 ONF)负责制定和修改。
[0006]ONF于2013年3月正式发布的OF-Conf ig协议1.1.1版本,规定了 OF-Conf ig协议流程。ONF于2013年10月正式发布的OpenFlow交换机规范1.4.0版本,规定了 OF-Switch协议流程以及OpenFlow交换机内部的报文处理流程,其中就包括了如何在OpenFlow交换机上实现外层标签封装的添加和给新封装的外层标签赋值的方法。图5是根据相关技术的OpenFlow交换机实现外层标签封装的添加和给新封装的外层标签赋值的报文处理流程示意图,如图5所示,从入端口进入OpenFlow交换机的报文首先会进行流表匹配,流表是由OpenFlow控制器通过OF-Switch协议预先下发到OpenFlow交换机的。图6是根据相关技术的OpenFlow流表的格式图,如图6所示,流表中可以包含多个流表条目(Flow TableEntry),每个流表条目中的匹配字段(Match Fields)都可以是报文头中的任意字段(例如MAC地址字段、IP地址字段、MPLS标签字段等)。在流表匹配完成之后,对于流表匹配成功的报文会执行相应流表条目中的指令(Instruct1ns),指令中可以包含一个或多个动作(Act1n),也就是说可以针对流表匹配成功的报文按顺序执行多个动作。有两个连续的动作“压入标签(Push-Tag)”和“给标签赋值(Set-Field)”可分别用于实现外层标签封装的添加和给新封装的外层标签赋值,其中,用于实现外层标签封装的添加的Push-Tag动作既可以支持外层MPLS标签封装的添加,也可以支持外层PBB标签封装的添加和VLAN标签封装的添加,由于前述IETF标准RFC 6391规定的流标签和RFC 6790规定的熵标签与MPLS标签有着相同的格式定义,而IEEE标准802.1Qbp规定的流过滤标签与VLAN标签有着类似的格式定义,所以可以认为现有技术中的Push-Tag动作可以支持各种流标识封装的添加;用于实现给新封装的外层标签赋值的Set-Field动作可以支持给新封装的外层标签(比如MPLS标签、PBB标签或VLAN标签)赋值,但只能赋予显式的数值(比如100),由于流标识也是一种外层标签,所以可以认为现有技术中的Set-Field动作可以支持流标识的显式赋值。
[0007]综上所述,根据目前OpenFlow交换机规范的规定,OpenFlow交换机(即OpenFlow网络节点)只能给新封装的外层标签赋予显式的数值,无法实现流标识封装所要求的使用封装前原始报文的某些字段哈希计算的结果(即hash值)作为给新封装的流标识的赋值。
[0008]针对相关技术中OpenFlow交换机无法实现流标识封装的问题,目前尚未提出有效的解决方案。

【发明内容】

[0009]本发明提供了一种流标识封装方法及系统,以至少解决
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1