掌桥专利:专业的专利平台
掌桥专利
首页

一种基于VXLAN实现ETREE业务模型的方法

文献发布时间:2023-06-19 11:52:33


一种基于VXLAN实现ETREE业务模型的方法

技术领域

本发明涉及虚拟扩展局域网技术领域,尤其涉及一种基于VXLAN实现ETREE业务模型的方法。

背景技术

VXLAN(VirtualeXtensibleLocalAreaNetwork,虚拟扩展局域网),是由IETF定义的NVO3(NetworkVirtualizationoverLayer3)标准技术之一,是对传统VLAN协议的一种扩展,VXLAN的特点是将L2的以太帧封装到UDP报文(即L2overL4)中,并在L3网络中传输,随着数据中心虚拟化的发展,VXLAN已经成为构建数据中心的主流技术,城域以太网论坛(MetroEthernetForum,MEF)定义了两种多点传输业务:(E-LAN)业务和(E-TREE,rootedmultipoint),E-LAN业务内的所有节点都可以互通。E-TREE业务由根(Root)和叶子(Leaf)两种节点,Leaf和Leaf之间是不同通信的,Root可与Root或者Leaf相互通信,E-TREE业务模型在视频,指控等业务中大量应用,MetroEthernetForum(MEF)通过draft-sajassi-l2vpn-evpn-etree-03定义了基于VPLS实现E-TREE业务的基本方法,专利201210027485.4进一步优化了该方法,解决了手工配置Root和Leaf属性耗时费力的问题。

VPLS技术是运营商大量使用的二层VPN技术,但云计算网络方面,VXLAN是主流技术,数据中心内的虚拟机和虚拟机之间,同样存在着E-TREE模型的业务需求,实现基于VXLAN的E-TREE模型业务并没有标准做法,可行的办法是只在Root节点和Leaf节点,Root节点与Root节点之间建立隧道,而不在Leaf节点和Leaf节点之间创建隧道,但是,如果某VXLAN节点即存在Root角色接口,又存在Leaf角色接口,该节点则无法处理来自其它Leaf节点的流量,此时可使用ACL规则在Leaf接口上将来自其它Leaf的流量丢弃掉,一旦网络的Leaf节点规模扩大,该方法则变得不再可行

因此,有必要提供一种基于VXLAN实现ETREE业务模型的方法以解决上述技术问题。

发明内容

为解决上述技术问题,本发明提供一种具有节省人力物力,且在Leaf节点数量规模增大可以实施的基于VXLAN实现ETREE业务模型的方法。

本发明提供的一种基于VXLAN实现ETREE业务模型的方法包括以下步骤:

S1、将VXLAN报文头中“Reserved”位中第一个比特定义为“leaf”位;

S2、在流量上行侧,如果报文来自Root接口,则其发出的VXLAN报文头的“leaf”位置为1,否则该位置为0;

S3、在流量下行侧,如果接收的VXLAN报文其头部“leaf”位没有置位,且下行接口为leaf接口,则该报文在该接口上丢弃,否则则正常转发。

优选的,所述VXLAN包括VXLAN处理模块的网关节点,所述VXLAN还包括接收模块、处理模块和发送模块。

优选的,所述接收模块,用于从数据链路层获取第一虚拟机VM发送的第一报文,将所述第一报文发送至所述VXLAN处理模块。

优选的,所述VXLAN处理模块,还用于通过一个函数将所述第一报文的第一报文头中的外层以太头、外层网络之间互连的协议IP头和外层用户数据报协议UDP头进行一次解封装处理,得到UDP有效载荷。

优选的,所述处理模块还用于剥离所述UDP有效载荷的VXLAN头,得到内层报文,对所述内层报文进行重新封装得到第二报文。

优选的,所述处理模块还用于将第二报文发送至发送模块,用于将接收到的所述第二报文发送至第二VM所在的第二计算节点。

优选的,所述VXLAN包括第一节点和第二节点,所述第一节点和第二节点分别设置有root接口和leaf接口。

优选的,所述节点发送包含ETREE信息的消息以及接收所述对端节点发送的包含所述ETREE信息的消息,所述消息包括标签分发LDP消息和边界网关协议BGP更新消息,所述ETREE信息携带在所述LDP消息新扩展的接口参数中或者所述BGP更新消息的团体属性中,所述ETREE信息还包括用于判断所述数据报文是否带有虚拟局域网VLAN标签的标签协议标识TPID字段。

优选的,所述VXLAN还包括OuterMACHeader、OuterIPHeader、UDPHeader、VXLANHeader和OriginalL2Frame,所述OuterMACHeader为8节,如果有VLANTAG则为18字节。

优选的,所述OuterIPHeader为20字节,所述UDPHeader、VXLANHeader为8字节。

与相关技术相比较,本发明提供的一种基于VXLAN实现ETREE业务模型的方法具有如下有益效果:

1、本发明通过设计相比通过ACL在Leaf接口丢弃来自Leaf流量的方法,VXLAN报文头部“Reserved”中的第一个比特位,通过该位标明该流量来自leaf还是root,然后通过比对出接口的root属性或者leaf属性将流量丢弃或者放行,同样的,可以将VXLAN报文头部“Reserved”中任意一个比特位定义为“leaf”位,甚至将报文头部的“FLAGS”部中的某一个R位设置为“leaf”位,然后通过比对出接口的root属性或者leaf属性将流量丢弃或者放行的办法实现E-TREE业务模型,本发明解决了需要在Leaf接口手工配置ACL规则耗时费力,在Leaf节点数量规模增大甚至无法实施的问题;

2、本发明通过将将VXLAN报文头中“Reserved”位中第一个比特定义为“leaf”位,通过该位标明该流量来自leaf还是root,然后通过比对出接口的root属性或者leaf属性将流量丢弃或者放行,且在流量上行侧,如果报文来自Root接口,则其发出的VXLAN报文头的“leaf”位置为1,否则该位置为0,在流量下行侧,如果接收的VXLAN报文其头部“leaf”位没有置位,且下行接口为leaf接口,则该报文在该接口上丢弃,否则则正常转发,可实现E-TREE业务模型,且通过在VXLAN设置接收模块、处理模块和发送模块,可方便对信息进行接收、处理和发送,可便于从数据链路层获取第一虚拟机VM发送的第一报文,将第一报文发送至VXLAN处理模块,VXLAN处理模块,还用于通过一个函数将第一报文的第一报文头中的外层以太头、外层网络之间互连的协议IP头和外层用户数据报协议UDP头进行一次解封装处理,得到UDP有效载荷,发送模块可用于将接收到的第二报文发送至第二VM所在的第二计算节点,通过将VXLAN设置第一节点和第二节点,且在第一节点和第二节点分别设置root接口和leaf接口,可方便进行实现ETREE业务模型,实现了在流量上行侧,如果报文来自Root接口,则其发出的VXLAN报文头的“leaf”位置为1,否则该位置为0,在流量下行侧,如果接收的VXLAN报文其头部“leaf”位没有置位,且下行接口为leaf接口,则该报文在该接口上丢弃,否则则正常转发,且节点发送包含ETREE信息的消息以及接收对端节点发送的包含ETREE信息的消息,消息包括标签分发LDP消息和边界网关协议BGP更新消息,ETREE信息携带在LDP消息新扩展的接口参数中或者BGP更新消息的团体属性中,可通过比对出接口的root属性或者leaf属性将流量丢弃或者放行,同样的,可以将VXLAN报文头部“Reserved”中任意一个比特位定义为“leaf”位,甚至将报文头部的“FLAGS”部中的某一个R位设置为“leaf”位,然后通过比对出接口的root属性或者leaf属性将流量丢弃或者放行的办法实现E-TREE业务模型。

附图说明

图1为本发明提供的一种基于VXLAN实现ETREE业务模型的方法的一种较佳实施例的结构示意图;

图2为图1所示VXLAN的结构框图;

图3为本发明提供的VXLAN报文封装框图;

具体实施方式

下面结合附图和实施方式对本发明作进一步说明。

请结合参阅图1、图2和图3,其中,图1为本发明提供的一种基于VXLAN实现ETREE业务模型的方法的一种较佳实施例的结构示意图,图2为图1所示VXLAN的结构框图;图3为本发明提供的VXLAN报文封装框图。一种基于VXLAN实现ETREE业务模型的方法包括以下步骤:

S1、将VXLAN报文头中“Reserved”位中第一个比特定义为“leaf”位;

S2、在流量上行侧,如果报文来自Root接口,则其发出的VXLAN报文头的“leaf”位置为1,否则该位置为0;

S3、在流量下行侧,如果接收的VXLAN报文其头部“leaf”位没有置位,且下行接口为leaf接口,则该报文在该接口上丢弃,否则则正常转发。

在具体实施过程中,如图2所示,VXLAN包括VXLAN处理模块的网关节点,VXLAN还包括接收模块、处理模块和发送模块,接收模块,用于从数据链路层获取第一虚拟机VM发送的第一报文,将第一报文发送至VXLAN处理模块,VXLAN处理模块,还用于通过一个函数将第一报文的第一报文头中的外层以太头、外层网络之间互连的协议IP头和外层用户数据报协议UDP头进行一次解封装处理,得到UDP有效载荷,处理模块还用于剥离UDP有效载荷的VXLAN头,得到内层报文,对内层报文进行重新封装得到第二报文,处理模块还用于将第二报文发送至发送模块,用于将接收到的第二报文发送至第二VM所在的第二计算节点。

需要说明的是:通过将将VXLAN报文头中“Reserved”位中第一个比特定义为“leaf”位,通过该位标明该流量来自leaf还是root,然后通过比对出接口的root属性或者leaf属性将流量丢弃或者放行,且在流量上行侧,如果报文来自Root接口,则其发出的VXLAN报文头的“leaf”位置为1,否则该位置为0,在流量下行侧,如果接收的VXLAN报文其头部“leaf”位没有置位,且下行接口为leaf接口,则该报文在该接口上丢弃,否则则正常转发,可实现E-TREE业务模型,且通过在VXLAN设置接收模块、处理模块和发送模块,可方便对信息进行接收、处理和发送,可便于从数据链路层获取第一虚拟机VM发送的第一报文,将第一报文发送至VXLAN处理模块,VXLAN处理模块,还用于通过一个函数将第一报文的第一报文头中的外层以太头、外层网络之间互连的协议IP头和外层用户数据报协议UDP头进行一次解封装处理,得到UDP有效载荷,发送模块可用于将接收到的第二报文发送至第二VM所在的第二计算节点。

参考图1所示,VXLAN包括第一节点和第二节点,第一节点和第二节点分别设置有root接口和leaf接口,节点发送包含ETREE信息的消息以及接收对端节点发送的包含ETREE信息的消息,消息包括标签分发LDP消息和边界网关协议BGP更新消息,ETREE信息携带在LDP消息新扩展的接口参数中或者BGP更新消息的团体属性中,ETREE信息还包括用于判断数据报文是否带有虚拟局域网VLAN标签的标签协议标识TPID字段。

需要说明的是:通过将VXLAN设置第一节点和第二节点,且在第一节点和第二节点分别设置root接口和leaf接口,可方便进行实现ETREE业务模型,实现了在流量上行侧,如果报文来自Root接口,则其发出的VXLAN报文头的“leaf”位置为1,否则该位置为0,在流量下行侧,如果接收的VXLAN报文其头部“leaf”位没有置位,且下行接口为leaf接口,则该报文在该接口上丢弃,否则则正常转发,且节点发送包含ETREE信息的消息以及接收对端节点发送的包含ETREE信息的消息,消息包括标签分发LDP消息和边界网关协议BGP更新消息,ETREE信息携带在LDP消息新扩展的接口参数中或者BGP更新消息的团体属性中,可通过比对出接口的root属性或者leaf属性将流量丢弃或者放行,同样的,可以将VXLAN报文头部“Reserved”中任意一个比特位定义为“leaf”位,甚至将报文头部的“FLAGS”部中的某一个R位设置为“leaf”位,然后通过比对出接口的root属性或者leaf属性将流量丢弃或者放行的办法实现E-TREE业务模型。

参考图3所示,VXLAN还包括OuterMACHeader、OuterIPHeader、UDPHeader、VXLANHeader和OriginalL2Frame,所述OuterMACHeader为8节,如果有VLANTAG则为18字节。

参考图3所示,OuterIPHeader为20字节,所述UDPHeader、VXLANHeader为8字节。

需要说明的是:OuterMACHeader:封装外层以太头,14字节,如果有VLANTAG则为18字节,其中,源MAC地址(OuterSourceMACAddress)为源VM所属VTE的MAC地址,目的MAC地址(OuterDestinationMACAddress)为到达目的VTEP的路径上下一跳设备的MAC地址,类型字段为0x0800,指示内层封装的是IP报文;OuterIPHeader:封装外层IP头,20字节,其中,源IP地址(OuterSourceIPAddress)为源VM所属VTEP的IP地址,目的IP地址(OuterDestinationIPAddress)为目的VM所属VTEP的IP地址,协议字段为0x11,指示内层封装的是UDP报文;UDPHeader:UDP报文头,8字节。其中,UDP目的端口号(UDPDestinationPort)固定为4789,指示内层封装报文为VXLAN报文,UDP源端口号(UDPSourcePort)为随机任意值,可以用于VTEP之间多路径负载分担的计算;VXLANHeader:VXLAN协议新定义的VXLAN头,8字节;OriginalL2Frame:原始以太网报文;从报文的封装可以看出,VXLAN头和原始二层报文是作为UDP报文的载荷存在的,在VTEP之间的网络设备,只需要根据OuterMACHeader和OuterIPHeader进行转发,利用UDPSourcePort进行负载分担,这一过程,与转发普通的IP报文完全相同,进而可实现E-TREE业务模型。

本发明提供的一种基于VXLAN实现ETREE业务模型的方法的工作原理如下:

本发明将VXLAN设置第一节点和第二节点,且在第一节点和第二节点分别设置root接口和leaf接口,可方便进行实现ETREE业务模型,实现了在流量上行侧,如果报文来自Root接口,则其发出的VXLAN报文头的“leaf”位置为1,否则该位置为0,在流量下行侧,如果接收的VXLAN报文其头部“leaf”位没有置位,且下行接口为leaf接口,则该报文在该接口上丢弃,否则则正常转发,本质上是复用了VXLAN报文头部“Reserved”中的第一个比特位,通过该位标明该流量来自leaf还是root,然后通过比对出接口的root属性或者leaf属性将流量丢弃或者放行,同样的,可以将VXLAN报文头部“Reserved”中任意一个比特位定义为“leaf”位,甚至将报文头部的“FLAGS”部中的某一个R位设置为“leaf”位,然后通过比对出接口的root属性或者leaf属性将流量丢弃或者放行的办法实现E-TREE业务模型。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

以上仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 一种基于VXLAN实现ETREE业务模型的方法
  • 一种基于业务模型的可定制的数据权限模型及实现方法
技术分类

06120113079246