一种报文转发方法及装置与流程

文档序号:11138462阅读:351来源:国知局
一种报文转发方法及装置与制造工艺

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



背景技术:

VXLAN(Virtual eXtensible Local Area Network,虚拟可扩展局域网)技术可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。

E-Tree(以太网树型)是一种点到多点以太网服务技术,这种服务具有以下特点:1)传输以太网报文;2)报文转发以MAC为基础;3)节点分为根(Root)节点和叶子(Leaf)节点;4)任何节点都可以产生报文;5)单播或者广播报文可以从根节点到根节点、根节点到叶子节点、叶子节点到根节点的转发;6)叶子节点之间无法通信。

VXLAN技术支持E-Tree,即可以将VXLAN技术引入到E-Tree业务中,每个AC/VM(Attachment Circuit接入电路/Virtual Machine虚拟机)节点都被作为一个根节点或者叶子节点而存在,VXLAN技术能够限制叶子节点之间的通信:

如图1所示:VSI(Virtual Switch Instance,虚拟交换实例)配置在VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)中,同一VXLAN下的VSI之间通过VXLAN Tunnel进行通信。

对于与同一台VTEP中配置的VSI相连接的两个节点来说,其中每个节点即为一个AC,该VSI中存储有与自身相连接的各节点的角色信息,即表示该节点是叶子节点还是根节点的信息,可以根据存储的角色信息,直接限制叶子节点之间的通信;

对于与不同的VTEP中配置的VSI相连接的的AC/VM来说,VTEP2中的VSI2收到VTEP1中的VSI1发来的报文,VTEP2不知道上行AC(与VTEP1中的VSI1连接的AC)是叶子节点还是根节点。

目前,一般通过配置ACL规则(Access Control List,访问控制列表)来解决上述问题。比如在VTEP1中通过配置ACL规则,使得在VSI中CVLAN(Customer Vlan,用户虚拟局域网)为vlan4(AC4对应的CVLAN)的报文不能发送到AC2,从而实现叶子节点之间的隔离。但是,配制ACL规则的过程操作复杂。



技术实现要素:

本发明实施例的目的在于提供一种报文转发方法及装置,在实现限制叶子节点之间的通信的基础上,降低操作的复杂性。

为达到上述目的,本发明实施例公开了一种报文转发方法,应用于支持E-Tree的交换设备,所述方法包括:

接收虚拟可扩展局域网VXLAN报文,其中所述VXLAN报文中携带有源接入电路AC的角色信息;

确定所述VXLAN报文的目的AC的角色信息为根节点,或者确定所述源AC的角色信息为根节点,将所述VXLAN报文发送至所述目的AC。

可选的,在所述接收虚拟可扩展局域网VXLAN报文之后,还可以包括:

确定所述VXLAN报文为广播报文,将所述VXLAN报文广播至角色信息为根节点的所有AC;

确定所述VXLAN报文为单播报文,根据所述VXLAN报文的目的MAC地址,确定所述VXLAN报文的目的AC。

可选的,所述方法还可以包括:

未确定出所述VXLAN报文的目的AC的情况下,将所述VXLAN报文广播至角色信息为根节点的所有AC。

可选的,所述方法还可以包括:

确定所述VXLAN报文为广播报文、或者未确定出所述VXLAN报文的目的AC的情况下,确定所述源AC的角色信息为根节点,将所述VXLAN报文广播至所有AC。

可选的,在所述接收虚拟可扩展局域网VXLAN报文之后,还可以包括:

解析所述VXLAN报文中的VXLAN头中的保留字段,获取所述源AC的角色信息。

为达到上述目的,本发明实施例还公开了一种报文转发装置,应用于支持E-Tree的交换设备,所述装置包括:

接收单元,用于接收虚拟可扩展局域网VXLAN报文,其中所述VXLAN报文中携带有源接入电路AC的角色信息;

发送单元,用于确定所述VXLAN报文的目的AC的角色信息为根节点,或者确定所述源AC的角色信息为根节点,将所述VXLAN报文发送至所述目的AC。

可选的,所述发送单元,还可以用于:

确定所述VXLAN报文为广播报文,将所述VXLAN报文广播至角色信息为根节点的所有AC;

确定所述VXLAN报文为单播报文,根据所述VXLAN报文的目的MAC地址,确定所述VXLAN报文的目的AC。

可选的,所述发送单元,还可以用于:

未确定出所述VXLAN报文的目的AC的情况下,将所述VXLAN报文广播至角色信息为根节点的所有AC。

可选的,所述发送单元,还可以用于:

确定所述VXLAN报文为广播报文、或者未确定出所述VXLAN报文的目的AC的情况下,确定所述源AC的角色信息为根节点,将所述VXLAN报文广播至所有AC。

可选的,所述装置还可以包括:

获取单元,用于解析所述VXLAN报文中的VXLAN头中的保留字段,获取所述源AC的角色信息。

应用本发明所示实施例,交换设备接收到的VXLAN报文中携带有源AC的角色信息,另外,交换设备中存储有与自身相连接的AC的角色信息(其中包括目的AC的角色信息);交换设备仅在确定源AC的角色信息为根节点、或者确定目的AC的角色信息为根节点的情况下,将该VXLAN报文发送至目的AC;限制了叶子节点之间的通信;并且,不需要配置ACL,操作简单。

当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为支持E-Tree的VTEP转发报文示意图;

图2为本发明实施例提供的一种报文转发方法的流程示意图;

图3为本发明实施例提供的VXLAN报文格式示意图;

图4为本发明实施例提供的一种报文转发装置的第结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决现有技术问题,本发明实施例提供了一种报文转发方法及装置,应用于支持E-Tree的交换设备,该交换设备可以为交换机、路由器、网关设备或者VTEP等等,在此不做限定。下面首先对本发明实施例提供的一种报文转发方法进行详细说明。

以交换设备为VTEP为例进行说明,如图1所示,配置于VTEP1中的VSI1与AC1和AC2相连接,配置于VTEP2中的VSI2与AC3和AC4相连接。配置于VTEP1中的VSI1和配置于VTEP2中的VSI2属于相同的VXLAN网络,可以通过VXLAN Tunnel进行通信。

在实际应用中,VTEP1和VTEP2按照正常VXLAN配置组网,根据端口及连接的VSI识别各个AC,并为各AC配置E-Tree中的角色,图1中,AC1和AC3的角色信息为根节点,AC2和AC4的角色信息为叶子节点。

为了限制叶子节点之间的通信,VTEP中可以预先存储与该VTEP中配置的VSI相连接的每个AC的角色信息,而配置于不同的VTEP中的VSI之间无需相互通告每个AC的角色信息。AC默认的角色信息可以为根节点,由于根节点间可以自由通信,因此AC采用默认配置的情况下,等同于普通VXLAN组网。

图2为本发明实施例提供的报文转发方法的第一种流程示意图,包括:

S101:接收虚拟可扩展局域网VXLAN报文,其中所述VXLAN报文中携带有源接入电路AC的角色信息。

与配置于不同的VTEP中的VSI相连接的AC之间通信时,VTEP将AC发送的数据报文进行封装,封装后的VXLAN报文的格式可以如图3所示,包括外层IP头、外层UDP头、VXLAN头和原始二层数据帧。其中,外层IP头用于穿透IP网络,外层UDP头用于识别VXLAN报文,VXLAN头中的vxlanid用于标识该VXLAN报文属于哪个VSI,原始二层数据帧为数据报文。

具体的,VTEP在对数据报文进行封装时,根据自身存储的发送该数据报文的源AC的角色信息,将源AC的角色信息保存在VXLAN头中的保留字段中,比如可以保存在保留字段中的最后两位。因此,VTEP在接收到VTEP后,可以通过解析该VXLAN报文中的VXLAN头中的保留字段,获取源AC的角色信息。

其中,VTEP接收到AC发送的数据报文后,确定是否需要将该数据报文封装为VXLAN报文的过程属于现有技术,在本发明实施例中对该过程不进行赘述。

S102:确定所述VXLAN报文的目的AC的角色信息为根节点,或者确定所述源AC的角色信息为根节点,将所述VXLAN报文发送至所述目的AC。

当接收到VXLAN报文后,可以先判断该VXLAN报文是广播报文还是单播报文:如果是广播报文,则可以将该VXLAN报文广播至角色信息为根节点的所有AC;如果是单播报文,根据该VXLAN报文的目的MAC地址,确定该VXLAN报文的目的AC,然后再执行S102。

当然,还存在一种情况:如果该VXLAN报文是是单播报文,但未确定出该VXLAN报文的目的AC,这种情况下,可以将该VXLAN报文广播至角色信息为根节点的所有AC;也可以确定该VXLAN报文的源AC的角色信息,如果源AC的角色信息为根节点,将该VXLAN报文广播至所有AC。这两种方式都能限制叶子节点之间的通信。

下面以图1为例进行详细说明:

假设AC4需要向AC1传输数据,则VTEP2将AC4发送的数据报文进行封装,VTEP2中预先存储有AC4的角色信息为叶子节点,VTEP2将AC4的角色信息为叶子节点的信息保存在VXLAN头中的保留字段中,并把封装后的VXLAN报文发送给VTEP1。

VTEP1接收到VTEP2发送的VXLAN报文,先判断该VXLAN报文是广播报文还是单播报文,判断结果为单播报文;VTEP1确定该VXLAN报文中携带的源AC(AC4)的角色信息为叶子节点,并且确定该VXLAN报文中携带的目的AC为AC1,VTEP1根据自身存储的每个AC的角色信息,确定AC1的角色信息为根节点;也就是说,AC4与AC1进行通信为叶子节点与根节点进行通信,是允许的,因此,VTEP1将该VXLAN报文发送至目的AC(AC1)。

假设AC4需要向AC2传输数据,则VTEP2将AC4发送的数据报文进行封装,VTEP2中预先存储有AC4的角色信息为叶子节点,VTEP2将AC4的角色信息为叶子节点的信息保存在VXLAN头中的保留字段中,并把封装后的VXLAN报文发送给VTEP1。

VTEP1接收到VTEP2发送的VXLAN报文,先判断该VXLAN报文是广播报文还是单播报文,判断结果为单播报文;VTEP1确定该VXLAN报文中携带的源AC(AC4)的角色信息为叶子节点,并且确定该VXLAN报文中携带的目的AC为AC2,VTEP1根据自身存储的每个AC的角色信息,确定AC2的角色信息为叶子节点;也就是说,AC4与AC2进行通信为叶子节点与叶子节点进行通信,是不允许的,因此,VTEP1不将该VXLAN报文发送至目的AC(AC2),限制了叶子节点间的通信。

假设AC3需要向AC2传输数据,则VTEP2将AC3发送的数据报文进行封装,VTEP2中预先存储有AC3的角色信息为根节点,VTEP2将AC3的角色信息为根节点的信息保存在VXLAN头中的保留字段中,并把封装后的VXLAN报文发送给VTEP1。

VTEP1接收到VTEP2发送的VXLAN报文,先判断该VXLAN报文是广播报文还是单播报文,判断结果为单播报文;VTEP1确定该VXLAN报文中携带的源AC(AC3)的角色信息为根节点,这种情况下,VTEP1可以不再确定目的AC的角色信息,直接将该VXLAN报文发送给目的AC。可以理解的是,源AC为根节点,无论目的AC为根节点还是叶子节点,源AC都可以与其进行通信。

应用本发明图2所示实施例,交换设备接收到的VXLAN报文中携带有源AC的角色信息,另外,交换设备中存储有与自身相连接的AC的角色信息(其中包括目的AC的角色信息);交换设备仅在确定源AC的角色信息为根节点、或者确定目的AC的角色信息为根节点的情况下,将该VXLAN报文发送至目的AC;限制了叶子节点之间的通信;并且,不需要配置ACL,操作简单。

与上述的方法实施例相对应,本发明实施例还提供一种报文转发装置。

图4为本发明实施例提供的一种报文转发装置的结构示意图,包括:

接收单元201,用于接收虚拟可扩展局域网VXLAN报文,其中所述VXLAN报文中携带有源接入电路AC的角色信息;

发送单元202,用于确定所述VXLAN报文的目的AC的角色信息为根节点,或者确定所述源AC的角色信息为根节点,将所述VXLAN报文发送至所述目的AC。

在本实施例中,发送单元202,还可以用于:

确定所述VXLAN报文为广播报文,将所述VXLAN报文广播至角色信息为根节点的所有AC;

确定所述VXLAN报文为单播报文,根据所述VXLAN报文的目的MAC地址,确定所述VXLAN报文的目的AC。

在本实施例中,发送单元202,还可以用于:

未确定出所述VXLAN报文的目的AC的情况下,将所述VXLAN报文广播至角色信息为根节点的所有AC。

在本实施例中,发送单元202,还可以用于:

确定所述VXLAN报文为广播报文、或者未确定出所述VXLAN报文的目的AC的情况下,确定所述源AC的角色信息为根节点,将所述VXLAN报文广播至所有AC。

在本实施例中,所述装置还可以包括:

获取单元(图中未示出),用于解析所述VXLAN报文中的VXLAN头中的保留字段,获取所述源AC的角色信息。

应用本发明图4所示实施例,交换设备接收到的VXLAN报文中携带有源AC的角色信息,另外,交换设备中存储有与自身相连接的AC的角色信息(其中包括目的AC的角色信息);交换设备仅在确定源AC的角色信息为根节点、或者确定目的AC的角色信息为根节点的情况下,将该VXLAN报文发送至目的AC;限制了叶子节点之间的通信;并且,不需要配置ACL,操作简单。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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