基于VxLAN的数据传输方法、控制方法及控制器、网关、中间网元和系统与流程

文档序号:16630299发布日期:2019-01-16 06:30阅读:212来源:国知局
基于VxLAN的数据传输方法、控制方法及控制器、网关、中间网元和系统与流程

本申请涉及网络虚拟化技术领域,特别是一种基于vxlan的数据传输方法、控制方法及控制器、网关、中间网元和系统。



背景技术:

vxlan(virtualextensiblelocalareanetwork,虚似扩展局域网)是一种广泛应用于云计算背景下数据中心的网络虚拟化的技术,其本质是一种基于ip(internetprotocol,网络之间互连的协议)/udp(userdatagramprotocol,用户数据报协议)协议栈之上的具备租户隔离能力的端到端无状态隧道;隧道依托底层ip基础网络建立叠加专网,隧道头包含24bitvni(vxlannetworkidentifier,虚拟网络标识符)标识租户,在此基础上组建vdc(virtualdatacenter,虚拟数据中心)。发起/终结vxlan隧道称为vtep(vxlantunnelingendpoint,虚拟隧道终点)或vxlan网关设备。

sdn(softwaredefinednetwork,软件定义网络)解耦网元控制面与数据面,达到灵活集中控制的目的,由于网络设备构架不同,广义sdn控制器的南向协议包括openflow、xmpp(extensiblemessagingandpresenceprotocol,可扩展通讯和表示协议)、netconfig、bgp等多种,并可指派各类合适的vni标识、隧道地址等参数给vtep设备进行vxlan隧道的封装。

由于vxlan技术是一种承载在ip网络上的叠加网络,因此底层途径的网元默认不感知上层vxlan报文信息,这会带来以下问题:

1、大量底层非sdn网元无法识别vxlan报文,而采用额外深度包检测的方式由于开销较大,应用起来不切实际,根据vni信息实现基于租户(群)的流量调度、过滤、qos(qualityofservice,服务质量)修改以及策略实施等操作局限在vtep终端,中间网元只能基于vtep隧道两端的地址、目的地址或预设的qos标记进行粗放管理,无法充分发挥现有设备的能力实现精细化操作。

2、底层网元一般只支持基于vxlan外层信息的负载均衡,目的端口固定不参与均衡算法,负载均衡难以基于租户的颗粒度实现,一些大流量租户可能会造成负载均衡误差增加。



技术实现要素:

本申请的一个目的在于提高中间网元对vxlan流量的识别能力,从而实现在租户颗粒度的识别和控制。

根据本申请的一个方面,提出一种基于vxlan的数据传输控制方法,包括:控制器获取来自vxlan网关的报文传输请求;控制器根据报文传输请求获取vxlan租户的vni标识和扩展vdc/vpc区域标识;控制器将vni标识和扩展vdc/vpc区域标识映射到源vtepipv6地址中;控制器将源vtepipv6地址发送给源vxlan网关,以便源vxlan网关生成vxlan报文头。

可选地,将vni标识和扩展vdc/vpc区域标识映射到源vtepipv6地址中包括:将vni标识映射到源vtepipv6地址的接口标识的高位;将扩展vdc/vpc区域标识映射到源vtepipv6地址的前缀的低位。

可选地,报文传输请求中包括vlan、地址前缀和mac信息中的一个或多个。

可选地,还包括:控制器根据报文传输请求确定目的vxlan网关;控制器将vxlan租户的vni标识和目的vxlan网关的地址发送给源vxlan网关,以便源vxlan网关生成vxlan报文头。

可选地,还包括:控制器建立并维护vni标识、源vtepipv6地址和扩展vdc/vpc区域标识的映射表,并在控制器间同步。

通过这样的方法,控制器能够基于vni标识和扩展vdc/vpc区域标识生成源vtepipv6地址,源vxlan网关会将该源vtepipv6地址插入vxlan报文头中,中间网元通过识别源vtepipv6地址能够获取vni标识和扩展vdc/vpc区域标识,达到区分流量归属的租户的目的,从而提高中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

根据本申请的另一个方面,提出一种基于vxlan的数据传输方法,包括:源vxlan网关接收来自用户的报文,并向控制器发送报文传输请求;获取来自控制器的源vtepipv6地址信息,其中,源vtepipv6地址信息中包括vxlan租户的vni标识和扩展vdc/vpc区域标识;根据源vtepipv6地址信息生成vxlan报文头以便进行vxlan报文传输。

可选地,源vtepipv6地址的接口标识的高位为vni标识;源vtepipv6地址的前缀的低位为扩展vdc/vpc区域标识。

可选地,还包括:目的vxlan网关接收来自源vxlan网关的vxlan报文;目的vxlan网关读取vxlan报文的报文头中源vtepipv6地址信息的扩展vdc/vpc区域标识;目的vxlan网关根据扩展vdc/vpc区域标识限制报文的分发范围。

可选地,还包括:中间网元读取vxlan报文中的源vtepipv6地址信息;中间网元根据源vtepipv6地址信息确定vni标识和扩展vdc/vpc区域标识;中间网元根据vni标识和/或扩展vdc/vpc区域标识的不同进行差异化操作。

可选地,差异化操作包括流量引导、路径切换、负载均衡、qos处理中的一种或多种。

通过这样的方法,源vxlan网关能够从控制器获取包含vni标识和扩展vdc/vpc区域标识的源vtepipv6地址,将该源vtepipv6地址插入vxlan报文头中,中间网元能够通过识别源vtepipv6地址能够获取vni标识和扩展vdc/vpc区域标识,从而提高中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

根据本申请的又一个方面,提出一种vxlan控制器,包括:请求获取模块,用于获取来自vxlan网关的报文传输请求;标识获取模块,用于根据报文传输请求获取vxlan租户的vni标识和扩展vdc/vpc区域标识;地址生成模块,用于将vni标识和扩展vdc/vpc区域标识映射到源vtepipv6地址中;信息发送模块,用于将源vtepipv6地址发送给源vxlan网关,以便源vxlan网关生成vxlan报文头。

可选地,地址生成模块用于:将vni标识映射到源vtepipv6地址的接口标识的高位;将扩展vdc/vpc区域标识映射到源vtepipv6地址的前缀的低位。

可选地,还包括:目的获取模块,用于根据报文传输请求确定目的vxlan网关;信息发送模块还用于将vxlan租户的vni标识和目的vxlan网关的地址发送给源vxlan网关,以便源vxlan网关生成vxlan报文头。

可选地,还包括:信息维护和同步模块,用于建立并维护vni标识、源vtepipv6地址和扩展vdc/vpc区域标识的映射表,并在控制器间同步。

这样的vxlan控制器能够基于vni标识和扩展vdc/vpc区域标识生成源vtepipv6地址,源vxlan网关会将该源vtepipv6地址插入vxlan报文头中,中间网元通过识别源vtepipv6地址能够获取vni标识和扩展vdc/vpc区域标识,达到区分流量归属的不同租户的目的,从而提高中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

根据本申请的再一个方面,提出一种vxlan网关,包括:请求发送模块,用于接收来自用户的报文,并向控制器发送报文传输请求;地址获取模块,用于获取来自控制器的源vtepipv6地址信息,其中,源vtepipv6地址信息中包括vxlan租户的vni标识和扩展vdc/vpc区域标识;报文生成模块,用于根据源vtepipv6地址信息生成vxlan报文头以便进行vxlan报文传输。

可选地,还包括:报文接收模块,用于接收来自源vxlan网关的vxlan报文;区域标识获取模块,用于读取vxlan报文的报文头中源vtepipv6地址信息的扩展vdc/vpc区域标识;分发模块,用于根据扩展vdc/vpc区域标识限制报文的分发范围。

这样vxlan网关能够从控制器获取包含vni标识和扩展vdc/vpc区域标识的源vtepipv6地址,将该源vtepipv6地址插入vxlan报文头中,中间网元能够通过识别源vtepipv6地址能够获取vni标识和扩展vdc/vpc区域标识,从而提高中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

根据本申请的另外一个方面,提出一种vxlan中间网元,包括:地址读取模块,用于读取vxlan报文中的源vtepipv6地址信息;标识确定模块,用于根据源vtepipv6地址信息确定vni标识和扩展vdc/vpc区域标识;差异化操作模块,用于根据vni标识和/或扩展vdc/vpc区域标识的不同进行差异化操作。

可选地,差异化操作包括流量引导、路径切换、负载均衡、qos处理中的一种或多种。

这样的vxlan中间网元能够通过识别源vtepipv6地址能够获取vni标识和扩展vdc/vpc区域标识,从而提高中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

根据本申请的其中一个方面,提出一种vxlan系统,包括:vxlan控制器,用于执行上文中提到的任意一种基于vxlan的数据传输控制方法;vxlan网关,用于执行上文中提到的任意一种基于vxlan的数据传输方法;和,上文中提到的任意一种vxlan中间网元。

这样的vxlan系统中,vxlan控制器能够基于vni标识和扩展vdc/vpc区域标识生成源vtepipv6地址,源vxlan网关会将该源vtepipv6地址插入vxlan报文头中,中间网元通过识别源vtepipv6地址能够获取vni标识和扩展vdc/vpc区域标识,从而提高中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

根据本申请的其中另一个方面,提出一种vxlan系统,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中提到的任意一种方法。

这样的vxlan系统提高了中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

另外,根据本申请的一个方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中提到的任意一种方法的步骤。

这样的计算机可读存储介质通过执行其上的程序,提高了中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请的vxlan系统的一个实施例的示意图。

图2为本申请的vxlan系统的一个实施例的示意图。

图3为本申请的基于vxlan的数据传输控制方法的一个实施例的流程图。

图4为本申请的基于vxlan的数据传输方法的一个实施例的流程图。

图5为本申请的基于vxlan的数据传输方法的另一个实施例的流程图。

图6为本申请的vxlan控制器的一个实施例的示意图。

图7为本申请的vxlan控制器的另一个实施例的示意图。

图8为本申请的vxlan网关的一个实施例的示意图。

图9为本申请的vxlan网关的另一个实施例的示意图。

图10为本申请的vxlan中间网元的一个实施例的示意图。

图11为本申请的vxlan系统的一个实施例的示意图。

图12为本申请的vxlan系统中vxlan控制器和vxlan网关的一个实施例的示意图。

图13为现有技术中vxlan数据传输的示意图。

图14为本申请中基于vxlan的数据传输的一个实施例的示意图。

具体实施方式

下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。

本申请vxlan系统的另一个实施例的结构示意图如图1所示。vxlan系统包括存储器110和处理器120。其中:存储器110可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储下文中基于vxlan的数据传输方法和控制方法的对应实施例中的指令。处理器120耦接至存储器110,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器120用于执行存储器中存储的指令,能够实现中间网元对vxlan流量的识别。

在一个实施例中,还可以如图2所示,vxlan系统200包括存储器210和处理器220。处理器220通过bus总线230耦合至存储器210。该vxlan系统200还可以通过存储接口240连接至外部存储装置250以便调用外部数据,还可以通过网络接口260连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。

在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够实现中间网元对vxlan流量的识别。

在另一个实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现基于vxlan的数据传输方法和控制方法对应实施例中的方法的步骤。本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请的基于vxlan的数据传输控制方法的一个实施例的流程图如图3所示。

在步骤301中,控制器获取来自vxlan网关的报文传输请求。在一个实施例中,源vxlan收到租户报文后,会将该报文转发给控制器以便获得控制指令信息,并根据该指令信息进行转发。在另一个实施例中,报文传输请求中包括vlan、地址前缀和mac信息中的一个或多个。

在步骤302中,控制器根据报文传输请求获取vxlan租户的vni标识和扩展vdc/vpc区域标识。在一个实施例中,控制器根据用户接入和业务流信息(如vlan、地址前缀、mac等信息)判定用户的归属租户,经过路径计算模块找到匹配的目的vxlan网关。

在步骤303中,控制器将vni标识和扩展vdc/vpc区域标识映射到源vtepipv6地址中。

在步骤304中,控制器将源vtepipv6地址发送给源vxlan网关,以便源vxlan网关生成vxlan报文头。在一个实施例中,控制器会将租户对应的vni标识、目的vxlan网关地址和源vtepipv6地址等建立vxlan隧道所需参数发送给源vxlan网关。

通过这样的方法,控制器能够基于vni标识和扩展vdc/vpc区域标识生成源vtepipv6地址,源vxlan网关会将该源vtepipv6地址插入vxlan报文头中,中间网元通过识别源vtepipv6地址能够获取vni标识和扩展vdc/vpc区域标识,从而提高中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

在一个实施例中,控制器可以将vni标识映射到源vtepipv6地址的接口标识的高位;将扩展vdc/vpc区域标识映射到源vtepipv6地址的前缀的低位,从而使得vxlan报文头的源vtepipv6地址字段携带vni标识和扩展vdc/vpc区域标识信息,且便于连续比特位匹配,有利于中间网元识别流量对应的租户,进而执行路由策略、qos策略、负载均衡、限速等操作。

在一个实施例中,控制器还能够建立并维护vni标识、源vtep网关ipv6地址和扩展vdc/vpc区域标识的映射表,并在控制器间同步。目前vxlan的vni为24bit,扁平化分配、无法扩展,对于大规模部署显得不足;且没有满足层次化管理和vdc/vpc专网区域管理的扩展需求。ipv6是下一代互联网标准地址格式,长度128bit,具备海量地址和更好扩展能力,大部分网元均支持,且vxlan网络为叠加网络,基于ipv6承载无需考虑ipv4/v6互通问题。采用本发明实施例中的方法,控制器可以根据需要弹性扩展vni标识,标记vdc/vpc专网的区域标识,由vtep/vxlan网关执行读写,解决vni数量有限的问题,允许在vdc基础上进一步建立逻辑专网,优化中间网元以专网颗粒度对vxlan隧道的识别控制,实现对于整个网络的有效控制。

本申请的基于vxlan的数据传输方法的一个实施例的流程图如图4所示。

在步骤401中,源vxlan网关接收来自用户的报文,并向控制器发送报文传输请求。在一个实施例中,报文传输请求中包括vlan、地址前缀和mac信息中的一个或多个。

在步骤402中,获取来自控制器的源vtepipv6地址信息,其中,源vtepipv6地址信息中包括vxlan租户的vni标识和扩展vdc/vpc区域标识。在一个实施例中,还可以获取vni标识和目的vxlan网关地址等建立vxlan隧道所需参数。

在步骤403中,根据源vtepipv6地址信息生成vxlan报文头以便进行vxlan报文传输。

通过这样的方法,源vxlan网关能够从控制器获取包含vni标识和扩展vdc/vpc区域标识的源vtepipv6地址,将该源vtepipv6地址插入vxlan报文头中,中间网元能够通过识别源vtepipv6地址能够获取vni标识和扩展vdc/vpc区域标识,从而提高中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

在一个实施例中,vni标识可以位于源vtepipv6地址的接口标识的高位;扩展vdc/vpc区域标识可以位于源vtepipv6地址的前缀的低位,从而使得vxlan报文头的源vtepipv6地址字段携带vni标识和扩展vdc/vpc区域标识信息,且便于连续比特位匹配,有利于中间网元识别流量对应的租户,进而执行路由策略、qos策略、负载均衡、限速等操作。

本申请的基于vxlan的数据传输方法的另一个实施例的流程图如图5所示。

在步骤501中,源vxlan网关接收来自用户的报文,并向控制器发送报文传输请求。

在步骤502中,获取来自控制器的源vtepipv6地址信息,其中,源vtepipv6地址信息中包括vxlan租户的vni标识和扩展vdc/vpc区域标识。

在步骤503中,根据源vtepipv6地址信息生成vxlan报文头以便进行vxlan报文传输。

在步骤504中,中间网元读取vxlan报文中的源vtepipv6地址信息。

在步骤505中,中间网元根据源vtepipv6地址信息确定vni标识和扩展vdc/vpc区域标识。在一个实施例中,中间网元采用传统acl(accesscontrollist,访问控制列表)/前缀列表等方式匹配源vtepipv6地址,从而识别该vxlan隧道所属的区域、租户。

在步骤506中,中间网元根据vni标识和/或扩展vdc/vpc区域标识的不同进行差异化操作。差异化操作包括流量引导、路径切换、负载均衡、qos处理中的一种或多种。

在步骤507中,目的vxlan网关接收来自源vxlan网关的vxlan报文。

在步骤508中,目的vxlan网关读取vxlan报文的报文头中源vtepipv6地址信息的扩展vdc/vpc区域标识。

在步骤509中,目的vxlan网关根据扩展vdc/vpc区域标识限制报文的分发范围。

通过这样的方法,能够在充分利用vxlan叠加网便利性的基础上,不改变vxlan封装格式,遵循现有ipv6协议和sdn机制,使底层网络具备对叠加网络的部分感知能力,进而更好地控制和管理叠加网络,并且无需底层网络增加处理开销和升级,有利于推广应用。

本申请的vxlan控制器的一个实施例的示意图如图6所示。请求获取模块601能够获取来自vxlan网关的报文传输请求。在一个实施例中,源vxlan收到租户报文后,会将该报文转发给控制器以便获得控制指令信息,并根据该指令信息进行转发。在另一个实施例中,报文传输请求中包括vlan、地址前缀和mac信息中的一个或多个。标识获取模块602能够根据报文传输请求获取vxlan租户的vni标识和扩展vdc/vpc区域标识。地址生成模块603将vni标识和扩展vdc/vpc区域标识映射到源vtepipv6地址中。信息发送模块604能够将源vtepipv6地址发送给源vxlan网关,以便源vxlan网关生成vxlan报文头。

这样的vxlan控制器能够基于vni标识和扩展vdc/vpc区域标识生成源vtepipv6地址,源vxlan网关会将该源vtepipv6地址插入vxlan报文头中,中间网元通过识别源vtepipv6地址能够获取vni标识和扩展vdc/vpc区域标识,从而提高中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

在一个实施例中,vxlan控制器可以将vni标识映射到源vtepipv6地址的接口标识的高位;将扩展vdc/vpc区域标识映射到源vtepipv6地址的前缀的低位,从而使得vxlan报文头的源vtepipv6地址字段携带vni标识和扩展vdc/vpc区域标识信息,且便于连续比特位匹配,有利于中间网元识别流量对应的租户,进而执行路由策略、qos策略、负载均衡、限速等操作。

本申请的vxlan控制器的另一个实施例的示意图如图7所示。请求获取模块701、标识获取模块702、地址生成模块703和信息发送模块704的结构和功能与图6的实施例中相似。目的获取模块705能够根据用户接入和业务流信息经过路径计算模块找到匹配目的vxlan网关。信息发送模块704还能够将vxlan租户的vni标识和目的vxlan网关的地址发送给源vxlan网关,以便源vxlan网关生成vxlan报文头,能够兼容现有的网络,有利于推广应用。

在另一个实施例中,vxlan控制器还包括信息维护和同步模块706,能够建立并维护vni标识、源vtep网关ipv6地址和扩展vdc/vpc区域标识的映射表,并在控制器间同步。这样的vxlan控制器允许在vdc基础上进一步建立逻辑专网,优化中间网元以专网颗粒度对vxlan隧道的识别控制,实现对于整个网络的有效控制。

本申请的vxlan网关的一个实施例的示意图如图8所示。请求发送模块801能够接收来自用户的报文,并向控制器发送报文传输请求。在一个实施例中,报文传输请求中包括vlan、地址前缀和mac信息中的一个或多个。地址获取模块802能够获取来自控制器的源vtepipv6地址信息,其中,源vtepipv6地址信息中包括vxlan租户的vni标识和扩展vdc/vpc区域标识。在一个实施例中,还可以获取vni标识和目的vxlan网关地址等建立vxlan隧道所需参数。报文生成模块803能够根据源vtepipv6地址信息生成vxlan报文头以便进行vxlan报文传输。

这样的vxlan网关能够从控制器获取包含vni标识和扩展vdc/vpc区域标识的源vtepipv6地址,将该源vtepipv6地址插入vxlan报文头中,中间网元能够通过识别源vtepipv6地址能够获取vni标识和扩展vdc/vpc区域标识,从而提高中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

本申请的vxlan网关的另一个实施例的示意图如图9所示。请求发送模块901、地址获取模块902和报文生成模块903的结构和功能与图8的实施例中相似。vxlan网关还包括报文接收模块904、区域标识获取模块905和分发模块906。报文接收模块904能够接收来自源vxlan网关的vxlan报文;区域标识获取模块905能够读取vxlan报文的报文头中源vtepipv6地址信息的扩展vdc/vpc区域标识;分发模块906能够根据扩展vdc/vpc区域标识限制报文的分发范围。

这样的vxlan网关能够实现相互匹配的收、发功能,实现网络数据的双向传输。

本申请的vxlan中间网元的一个实施例的示意图如图10所示。地址读取模块1001能够读取vxlan报文中的源vtepipv6地址信息。标识确定模块1002能够根据源vtepipv6地址信息确定vni标识和扩展vdc/vpc区域标识。在一个实施例中,中间网元采用传统acl/前缀列表等方式匹配源vtepipv6地址,从而识别该vxlan隧道所属的区域、租户。差异化操作模块1003能够根据vni标识和/或扩展vdc/vpc区域标识的不同进行差异化操作。差异化操作包括流量引导、路径切换、负载均衡、qos处理中的一种或多种。

这样的vxlan中间网元能够通过识别源vtepipv6地址能够获取vni标识和扩展vdc/vpc区域标识,从而提高中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

本申请的vxlan系统的一个实施例的示意图如图11所示。vxlan控制器1110可以执行上文中提到的基于vxlan的数据传输控制方法;vxlan网关1121和vxlan网关1122可以执行上文中提到的基于vxlan的数据传输方法中由网关执行的部分;vxlan中间网元1131~113n能够执行上文中提到的基于vxlan的数据传输方法中由中间网元执行的部分。

这样的vxlan系统中,vxlan控制器能够基于vni标识和扩展vdc/vpc区域标识生成源vtepipv6地址,源vxlan网关会将该源vtepipv6地址插入vxlan报文头中,中间网元通过识别源vtepipv6地址能够获取vni标识和扩展vdc/vpc区域标识,从而提高中间网元对vxlan流量的识别能力,实现在租户颗粒度的识别和控制。

在一个实施例中,可以基于现有的sdn控制器和vxlan网关进行扩展,减少对现有设备的改动,如图12所示。vxlan控制器1210中,路径计算模块1211、控制器同步模块1212、vni管理分配模块1213可以均以现有为依托,增加感知映射模块1214,主要功能包括:从vni管理分配模块获取原始的源vtepipv6地址前缀,将24比特vni映射到源vtepipv6地址的ipv6接口标识的高位;从vni管理分配模块获取扩展vdc/vpc区域标识,映射到ipv6前缀的低比特位,便于连续比特位匹配,进而形成更新后的源vtepipv6地址来发送给源vxlan网关;维护vni与对应源vtepipv6地址、区域标识的映射表,如下表1所示,并发给控制器同步模块:

表1vni与对应源vtepipv6地址、区域标识的映射

vxlan网关1220中的vxlan封装模块1221和查找转发模块1223可以以现有为依托,增加ipv6读写模块1222,能够根据ipv6前缀、将扩展vdc/vpc区域标识和vni写入vxlan隧道外层源vtepipv6地址;对端vxlan网关读取前缀中的区域标识进一步限制业务流的分发范围。

这样的vxlan系统可以以现有的控制器和网关为依托进行改进,使得中间网元采用传统acl/前缀列表等方式匹配源vtepipv6地址,识别该vxlan隧道所属的区域、租户,不改动现有vxlan、ipv6封装和定义,不绑定特定控制器南向接口实现,中间网元无须改造升级、兼容性好;区域标识有利于在叠加网上进一步组建vdc/vpc专网,便于运营规划。

在一个实施例中,假设有两个不同的租户1、2发送业务流,其源vxlan网关和目的vxlan网关分别相同。

现有技术中vxlan数据传输的示意图如图13所示。vxlan控制器1310收到来自vxlan网关1321的请求后,判定用户的归属租户,经过路径计算模块找到匹配目的网关b,并由vni管理分配模块下发该租户对应的vni标识、目的网关b地址和发起网关a地址等建立vxlan隧道所需参数。vxlan控制器1310根据以上信息,封装vxlan头,将租户业务流导入相应隧道。对于中间网元1331~1333而言,不同租户1、2的起末点网关地址一致,无法识别特定的租户标识vni,因此承载不同租户的vxlan隧道对于中间网元1331~1333而言是同一根逻辑管道,不同租户流量只能在两端网关上识别,底层网络无法进行vni颗粒度的操作。

采用本发明实施例中的方式,如图14所示,vxlan控制器1410将24比特vni映射到源vtepipv6地址,映射扩展vdc/vpc区域标识到ipv6前缀的低比特位,便于连续比特位匹配;并维护vni与对应源vtepipv6地址、区域标识的映射表便于控制器间同步;各种控制器南向接口下发参数到网关。vxlan网关1421封装报文头时,租户1和租户2的报文中源vtepipv6地址字段会产生差异。vxlan中间网元1431~1433能够根据源地址匹配特定的租户标识vni和区域标识,实现基于vni颗粒度的路由策略、qos策略、负载均衡、限速等操作。

通过上述实施例中的对比可以发现,通过采用本发明实施例中的方式,底层中间网元可从源vtepipv6地址识别vxlan租户、区域信息,通过传统前缀、地址过滤方式分离并进行qos、限速、流量工程等诸多业务策略,在全网范围内优化调整基于租户、区域标识的vdc业务,可操作性强;充分利用ipv6地址空间,中间网元的操作、vni、区域标识的映射、匹配基于vxlan外层vtep源地址,无须剥离内层vxlan头,例如将特定vdc区域特定租户的南北向vxlan流量导入mplsvpn则可以直接通过地址匹配实现,无须拆解vxlan,处理开销小。

本申请是参照根据本申请实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

至此,已经详细描述了本申请。为了避免遮蔽本申请的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

可能以许多方式来实现本申请的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。

最后应当说明的是:以上实施例仅用以说明本申请的技术方案而非对其限制;尽管参照较佳实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本申请的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本申请技术方案的精神,其均应涵盖在本申请请求保护的技术方案范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1