一种隧道处理方法及系统、控制面设备、转发面设备技术方案

技术编号:10806148 阅读:213 留言:0更新日期:2014-12-24 12:47
本发明专利技术公开了一种隧道处理方法及系统、控制面设备、转发面设备,其中,该方法包括:配置一组通用性的隧道封装指令和解封装指令,分别对应压入指定封装头动作和弹出指定封装头的动作;根据隧道封装指令和解封装指令,分别执行对应的压入指定封装头动作和弹出指定封装头的动作。转发面设备用于根据隧道封装指令和解封装指令,分别执行对应的压入指定封装头动作和弹出指定封装头的动作。采用本发明专利技术,针对隧道封转和解封装的隧道处理,能对转发面设备做统一的转发行为模型的业务配置控制,以精确控制转发面设备的行为。

【技术实现步骤摘要】
一种隧道处理方法及系统、控制面设备、转发面设备
本专利技术涉及软件定义网络(SDN,SoftwareDefinedNetwork)架构网络通信领域的隧道处理技术,尤其涉及一种开放流(OpenFlow)管道上的隧道处理方法及系统、控制面设备、转发面设备。
技术介绍
由于现在的网络暴露出了越来越多的弊病以及人们对网络性能的需求越来越高,研究人员不得不把很多复杂功能加入到路由器的体系结构当中,例如开放式最短路径优先(OSPF)、边界网关协议(BGP)、组播、区分服务、流量工程、网络地址转换(NAT)、防火墙、多协议标签交换(MPLS)功能等。这就使得路由器等交换设备越来越臃肿而且性能提升的空间越来越小。然而,与网络领域的困境截然不同的是,计算机领域实现了日新月异的发展。仔细回顾计算机领域的发展,不难发现其关键在于计算机领域找到了一个简单可用的硬件底层(x86指令集)。由于有了这样一个公用的硬件底层,所以在软件方面,不论是应用程序还是操作系统都取得了飞速的发展。现在很多主张重新设计计算机网络体系结构的人士认为:网络可以复制计算机领域的成功来解决现在网络所遇到的所有问题。在这种思想的指导下,将来的网络必将是这样的:底层的数据通路(交换机、路由器)是“哑的、简单的、最小的”,并定义一个对外开放的关于流表的公用的应用程序接口(API,ApplicationProgramInterface),同时采用控制器来控制整个网络。未来的研究人员就可以在控制器上自由的调用底层的API来编程,从而实现网络的创新。基于上述的理念出现了SDN架构,其最初是由美国斯坦福大学cleanslate研究组提出的一种新型网络创新架构。目前,其核心技术是开放流(OpenFlow)协议,基于OpenFlow实现SDN架构,在SDN架构中,交换设备的数据转发面和控制面是分离的,因此网络协议和交换策略的升级只需要改动控制面,通过将数据转发面和控制面的分离,实现了对网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。引入OpenFlow技术后的交换机,通常称为OpenFlow交换机,其区别于传统的交换机,OpenFlow交换机将原来完全由交换机/路由器控制的报文转发过程转化为由OpenFlow交换机和控制器来共同完成,实现了数据转发和路由控制的分离。控制器可以通过事先规定好的接口操作来控制OpenFlow交换机中的OpenFlow流表,从而达到控制数据转发的目的,也就是说,基于OpenFlow的SDN架构是在OpenFlow交换机上实现数据转发,而在控制器上实现数据的转发控制,从而实现了上述数据转发面和控制层的分离。上述OpenFlow协议,是用来描述控制面设备(如OF配置点和控制器)和转发面设备(如OpenFlow交换机)之间交互所用信息的标准,以及控制面设备和转发面设备的接口标准。OpenFlow协议的核心部分是用于OpenFlow协议信息结构的集合。上述OpenFlow流表(也称为隧道信息流表)由很多个流表项组成,每个流表项就是一个转发规则。进入OpenFlow交换机的数据包通过查询OpenFlow流表来获得转发的目的端口。OpenFlow流表或经过配置的多个OpenFlow流表级联而形成的OpenFlow管道,用来配置交换机转发路径。如图1所示为现有技术的报文流通过OpenFlow管道的示意图,图1中Table0、Table1~Tablen为多个OpenFlow流表,n为正整数,多个OpenFlow流表级联所构成的管道称为所述OpenFlow管道。如图2所示为现有技术基于每个OpenFlow流表的报文匹配处理过程,以Table0为例,该过程包括:1)在Table0找到最高优先级的匹配流表条目;2)应用指令集的指令:修改报文或更新匹配的域;更新动作集;更新元数据;3)匹配成功后将匹配数据和更新的动作集发送给下一个流表Table1。以下对现有的OpenFlow流表举例描述如下:OpenFlow流表由表1所示的匹配域、计数器和指令集等以下几个字段构成:MatchFieldsPriorityCountersInstructionsTimeoutsCookie表1表1中,匹配域(MatchFields)为报文匹配的输入关键字,用于匹配一条流表项;优先级(Priority)为流表项中先后匹配规则的优先级;计数器(Counters)为用于管理用的各种统计信息;指令集(Instructions)是指对报文的操作指令,包括丢弃、转发报文到指定端口、设置报文头部字段值、增加封装标签等。动作集(ActionSet)和每个报文相关联,它在OpenFlow管道的多个流表之间传递并被各流表指令集的操作指令所修改,直到报文经由OpenFlow管道处理结束,形成最终的动作集。当前最新的OpenFlow1.3.2规定了11种动作构成的动作集,分别是:copyTTLinwards:对报文应用向内层复制TTL的动作;pop:对报文应用弹出标签的操作;push-vlan:对报文应用压入vlan标签的操作;push-mpls:对报文应用压入mpls标签的操作;copyTTLoutwards:对报文应用向外层复制TTL的动作;decrementTTL:报文的TTL值减1;set:对报文应用set-field动作;qos:对报文应用QoS动作,如Set-queue;group:如果指定了一个组动作,那么按照此列表的顺序应用相关组容器中的动作;output:如果没有指定组动作,那么就按照output动作将报文转发到指定的端口;pushPBB:对报文应用PBB标签压入动作。为了使用IDC场景的业务需求(例如多租户、虚拟机迁移)并兼容现有网络协议,OpenFlow管理和配置协议发布了第一个版本(OF-CONFIG1.0&1.1),OF-Config1.1.1协议定义了VxLAN、NV-GRE、IP-in-GRE等隧道属性的接口(即在接口的属性中增加隧道类型和隧道封装相关的信息),用于处理OpenFlow转发面设备的VxLAN等隧道的处理。现有技术存在的问题是:最新的OpenFlow协议(OpenFlow1.3.2)并没有为此定义处理上述隧道的转发面管道上的隧道处理动作,也就是针对隧道封转和解封装的隧道处理仍然属于标准定义之外的行为,不利于对多厂商OpenFlow转发面设备做统一的转发行为模型的业务配置控制,以精确控制转发面设备的行为。针对这个问题,目前尚未存在有效的解决方案。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种隧道处理方法及系统、控制面设备、转发面设备,针对隧道封转和解封装的隧道处理,能对转发面设备做统一的转发行为模型的业务配置控制,以精确控制转发面设备的行为。为达到上述目的,本专利技术的技术方案是这样实现的:一种隧道处理方法,该方法包括:配置一组通用性的隧道封装指令和解封装指令,分别对应压入指定封装头动作和弹出指定封装头的动作;根据隧道封装指令和解封装指令,分别执行对应的压入指定封装头动作和弹出指定封装头的动作。其中,执行所述压入指定封装头动作具体包括:将指定封装头的长度和内容的封装头压入报文中。其中,执行所述弹出指定封装头的动作具体包括:将指定长度的最外层本文档来自技高网
...

【技术保护点】
一种隧道处理方法,其特征在于,该方法包括:配置一组通用性的隧道封装指令和解封装指令,分别对应压入指定封装头动作和弹出指定封装头的动作;根据隧道封装指令和解封装指令,分别执行对应的压入指定封装头动作和弹出指定封装头的动作。

【技术特征摘要】
1.一种隧道处理方法,其特征在于,该方法包括:配置一组通用性的隧道封装指令和解封装指令,分别对应压入指定封装头动作和弹出指定封装头的动作;根据隧道封装指令和解封装指令,分别执行对应的压入指定封装头动作和弹出指定封装头的动作;其中,该方法还包括:配置由多个开放流OpenFlow流表级联而成的OpenFlow管道;任意一个OpenFlow流表由多个流表条目构成,每一个流表条目至少包括匹配域、指令集;其中,所述匹配域以隧道ID为匹配键值,所述匹配键值由上一级OpenFlow流表条目填充到元数据Meta的约定字段上;所述指令集至少包括所述隧道封装指令和解封装指令。2.根据权利要求1所述的方法,其特征在于,执行所述压入指定封装头动作具体包括:将指定封装头的长度和内容的封装头压入报文中。3.根据权利要求1所述的方法,其特征在于,执行所述弹出指定封装头的动作具体包括:将指定长度的最外层封装头从报文中弹出。4.根据权利要求2或3所述的方法,其特征在于,所述封装头具体包括隧道头、和/或外层IP头、和/或以太头。5.根据权利要求1所述的方法,其特征在于,所述隧道ID具体包括:配置隧道属性的接口ID。6.一种隧道处理系统,其特征在于,该系统包括:控制面设备,用于配置一组通用性的隧道封装指令和解封装指令,分别对应压入指定封装头动作和弹出指定封装头的动作;转发面设备,用于根据隧道封装指令和解封装指令,分别执行对应的压入指定封装头动作和弹出指定封装头的动作;其中,所述控制面设备,进一步用于配置多个OpenFlow流表,任意一个OpenFlow流表由多个流表条目构成,每一个流表条目至少包括匹配域、指令集;其中,所述匹配域以隧道ID为匹配键值,所述匹配键值由上一级OpenFlow流表条目填充到Meta的约定字段上;所述指令集至少包括所述隧道封装指令和解封装指令;所述转发面设备,进一步包括由所述多个OpenFlow流表级联而成的OpenFlow管道,进入转发面设备的报文根据所述OpenFlow管道上级联的OpenFlow流表依序匹配执行。7.根据权利要求6所述的系统,其特征在于,所述转发面设备,进一步用于执行所述压入指定封装头动作时,将指定封装头的长度和内容的封装头压入报文中。8.根据权利要求6所述的系统,其特征在于,所述转发面设备,进一步用于执行所述弹出指定封装头的动作时,将指定长度的最外层封装头从报文中弹出。9.根据权利要求7或8所述的系统,其特征在于,所述控制面设备,进一步用于配置所述封装头具体包括隧道头、和/或外层IP头、和/或以太头。10.根据权利要求6所述的系统,其特征在于,...

【专利技术属性】
技术研发人员:梁乾灯尤建洁梁亮陈勇
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1