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

文档序号:12730307
一种报文转发方法及装置与流程
本申请涉及网络通信
技术领域
,尤其涉及一种报文转发方法及装置。
背景技术
:VXLAN(VirtualExtensibleLocalAreaNetwork,可扩展虚拟局域网络)是基于IP(InternetProtocol,互联网协议)网络、采用“MAC(MediaAccessControl,媒体访问控制)inUDP(UserDatagramProtocol,用户数据报协议)”封装形式的二层VPN(VirtualPrivateNetwork,虚拟专用网)技术。VXLAN可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。技术实现要素:本申请提供一种报文转发方法及装置,以解决现有技术中形成聚合的VTEP设备的单挂端口VLANtag不一致时,该两个单挂端口下连接的虚拟机之间无法进行通信的问题。根据本申请实施例的第一方面,提供一种报文转发方法,应用于虚拟可扩展局域网VXLAN分布式聚合组网中形成聚合的目标VXLAN隧道端点VTEP设备,所述方法包括:当从单挂端口接收到报文,且需要向远端VTEP设备转发该报文,根据该单挂端口对应的目标VXLANID查询预先保存的远端VTEP设备的虚拟局域网VLAN标签tag与VXLANID的映射关系;当预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系中包括所述目标VXLANID与目标VLANtag的映射关系,且该报文中携带的VLANtag与所述目标VLANtag不一致时,将该报文中携带的VLANtag替换为所述目标VLANtag,并将VLANtag替换后的报文转发给该远端VTEP设备。根据本申请实施例的第二方面,提供一种报文转发装置,应用于虚拟可扩展局域网VXLAN分布式聚合组网中形成聚合的目标VXLAN隧道端点VTEP设备,所述装置包括:接收单元,用于接收报文;查询单元,用于当所述接收单元从单挂端口接收到报文,且需要向远端VTEP设备转发该报文,根据该单挂端口对应的目标VXLANID查询预先保存的远端VTEP设备的虚拟局域网VLAN标签tag与VXLAN标识ID的映射关系;替换单元,用于当预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系中包括所述目标VXLANID与目标VLANtag的映射关系,且该报文中携带的VLANtag与所述目标VLANtag不一致时,将该报文中携带的VLANtag替换为所述目标VLANtag;发送单元,用于将VLANtag替换后的报文转发给该远端VTEP设备。应用本申请实施例,当从单挂端口接收到报文,且需要向远端VTEP设备转发该报文,根据该单挂端口对应的目标VXLANID查询预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系,当预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系中包括所述目标VXLANID与目标VLANtag的映射关系,且该报文中携带的VLANtag与所述目标VLANtag不一致时,将该报文中携带的VLANtag替换为目标VLANtag,并将VLANtag替换后的报文转发给该远端VTEP设备,实现了在形成聚合的VTEP设备上单挂端口VLANtag不一致的情况下,单挂端口下连接的虚拟机之间的通信。附图说明图1是一种VXLAN分布式聚合组网的架构示意图;图2是一种VXLAN分布式聚合组网中单挂场景的架构示意图;图3是本申请实施例提供的一种报文转发方法的流程示意图;图4是本申请实施例提供的一种具体应用场景的架构示意图;图5是本申请实施例提供的一种报文转发装置的结构示意图;图6是本申请实施例提供的另一种报文转发装置的结构示意图;图7是本申请实施例提供的另一种报文转发装置的结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本申请实施例中的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。为了提高VXLAN网络的可靠性,目前在VXLAN网络中出现了分布式聚合的概念,如图1所示,设备A(即图中所示CE(CustomerEdge,用户侧边缘)A)有2个物理端口加入1个聚合口,另外一端是2台物理设备B和C(即图中所示VTEP(VXLANTunnelEndPoint,VXLAN隧道端点)B和VTEPC),每台物理设备都有一个物理链路加入聚合口,对于CEA而言,VTEPB和VTEPC为1台设备,但是其实他们是两台设备,从而,起到提高VTEPB和VTEPC业务可靠性的作用。在VXLAN分布式聚合组网中,当形成聚合的VTEP设备的普通端口(即非聚合口)上下挂有虚拟机(该虚拟机可以称为单挂的虚拟机)时,例如,以图2所示组网为例,VTEPB和VTEPC的非聚合口上分别下挂有CEF和CEG(其中,VTEPB上连接CEF的非聚合口以及VTEPC上连接CEG的非聚合口均可以称为单挂端口),则CEF和CEG之间需要通过在两个VTEP(即VTEPB和VTEPC)之间进行MAC地址同步,才能完成通信。然而实践发现,在现有VXLAN分布式聚合组网中,当形成聚合的VTEP设备的单挂端口VLAN(VirtualLocalAreaNetwork,虚拟局域网)tag(标签)不一致时,该两个单挂端口下连接的虚拟机之间无法进行通信。请参见图3,为本申请实施例提供的一种报文转发方法的流程示意图,其中,该方法可以应用于VXLAN分布式聚合组网中形成聚合的目标VTEP设备,如图3所示,该报文转发方法可以包括以下步骤:步骤301、当从单挂端口接收到报文,且需要向远端VTEP设备转发报文,根据该单挂端口对应的目标VXLANID查询预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系。本申请实施例中,目标VTEP设备并不特指某一固定的VTEP设备,而是可以指代VXLAN分布式聚合组网中形成聚合的任一VTEP设备,本申请实施例后续不再复述。此外,若未特殊说明,本文中提及的远端VTEP设备均指与目标VTEP设备形成聚合的其它VTEP设备。本申请实施例中,为了使VXLAN分布式聚合组网中形成聚合的VTEP设备的单挂端口下连接的虚拟机能在单挂端口的VLANtag不一致的情况下进行通信,形成聚合的各VTEP设备需要能够获知远端VTEP设备的单挂端口的VLANtag和VXLANID的映射关系,并当远端VTEP设备上存在与本地单挂端口的VXLANID相同,但VLANtag不同的单挂端口时,向该远端VTEP设备转发该VXLANID的报文时,需要进行VLANtag的替换。相应地,在本申请实施例中,当目标VTEP设备从单挂端口接收到报文时,目标VTEP设备可以根据该报文的目的MAC地址确定报文下一跳,若发现报文的下一跳为远端VTEP设备,即需要向远端VTEP设备转发报文时,目标VTEP设备需要先根据该单挂端口对应的VXLANID(本文中称为目标VXLANID)查询预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系,以确定预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系中是否包括目标VXLANID与目标VLANtag(本文中将目标VXLANID对应的VLANtag称为目标VLANtag)的映射关系。作为其中一种实施方式,在本申请实施例中,还可以包括以下步骤:11)、接收远端VTEP设备发送的第一类型报文,该第一类型报文中携带有该远端VTEP设备上单挂端口对应的VLANtag与VXLANID;12)、在本地保存该远端VTEP设备的VLANtag与VXLANID的映射关系。在该实施方式中,形成聚合的VTEP设备之间可以相互通知本地单挂端口对应的VLANtag与VXLANID,以使远端VTEP设备保存接收到的VLANtag与VXLANID的映射关系。相应地,当目标VTEP设备接收到远端VTEP设备发送的携带有该远端VTEP设备上单挂端口对应的VLANtag与VXLANID的报文(本文中称为第一类型报文)时,目标VTEP设备可以获取该第一类型报文中携带的远端VTEP设备上单挂端口对应的VLANtag与VXLANID,并在本地保存该远端VTEP设备上单挂端口对应的VLANtag与VXLANID的映射关系。作为其中一种实施方式,在本申请实施例中,还可以包括:当检测到本地单挂端口有虚拟机接入或接收到业务报文时,将该单挂端口对应的VLANtag和VXLANID发送给远端VTEP设备。在该实施方式中,当目标VTEP设备检测到本地单挂端口有虚拟机接入或接收到业务报文时,目标VTEP设备可以将该单挂端口对应的VLANtag和VXLANID发送给远端VTEP设备。例如,目标VTEP设备可以根据该单挂端口对应的VLANtag和VXLANID生成该VLANtag与VXLANID的映射关系,并将该VLANtag与VXLANID的映射关系发送给远端VTEP设备,例如,通过上述第一类型报文发送。值得说明的是,在本申请实施例中,上述第一类型报文可以通过对现有分布式聚合协议报文进行扩展的方式实现,也可以通过定义新的分布式聚合协议报文的方式实现,本申请实施例对此不做限定。应该认识到,上述通过形成聚合的VTEP设备相互通知本地单挂端口对应的VLANtag与VXLANID,以使各形成聚合的VTEP设备保存远端VTEP设备上单挂端口对应的VLANtag与VXLANID的映射关系的实现,仅仅是本申请实施例中实现目标VTEP设备保存远端VTEP设备上单挂端口对应的VLANtag与VXLANID的映射关系的一种具体示例,而并不是对本申请保护范围的限定,在本申请实施例中,也可以通过其它方式实现目标VTEP设备保存远端VTEP设备上单挂端口对应的VLANtag与VXLANID的映射关系,例如,可以由用户(如管理员)手动在形成聚合的VTEP设备上配置远端VTEP设备上单挂端口的VLANtag与VXLANID的映射关系,其具体实现在此不做赘述。步骤302、当预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系中包括目标VXLANID与目标VLANtag的映射关系,且该报文中携带的VLANtag与目标VLANtag不一致时,将该报文中携带的VLANtag替换为目标VLANtag,并将VLANtag替换后的报文转发给该远端VTEP设备。本申请实施例中,当目标VTEP设备确定预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系中包括目标VXLANID与目标VLANtag的映射关系时,目标VTEP设备可以进一步判断该目标VLANtag与接收到的报文中携带的VLANtag是否一致。若目标VLANtag与该报文中携带的VLANtag不一致,则为了保证该报文能够顺利转发至目的端,目标VTEP设备将该报文转发给远端VTEP设备之前,需要先将该报文中携带的VLANtag替换为目标VLANtag,并将VLANtag替换后的报文转发给该远端VTEP设备。值得说明的是,在本申请实施例中,若目标VLANtag与该报文中携带的VLANtag一致,则目标VTEP设备可以直接转发该报文,而不需要进行VLANtag替换。此外,若目标VTEP设备预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系中不包括目标VXLANID与目标VLANtag的映射关系(即目标VTEP设备未保存目标VXLANID与目标VLANtag的映射关系)时,目标VTEP设备可以不对该报文进行转发,例如,目标VTEP设备可以直接丢弃该报文,或者,目标VTEP设备可以直接将该报文(未进行VLANtag替换的报文)转发给远端VTEP设备,远端VTEP设备接收到该报文之后的处理流程,可以参见现有相关流程中的相关实现,在此不做赘述。可见,在图3所示的方法流程中,通过保存远端VTEP设备的VLANtag与VXLANID的映射关系,当目标VTEP设备上的单挂端口对应的VLANtag与远端VTEP设备上单挂端口对应的VLANtag不一致,且该两个单挂端口下的连接的虚拟机之间存在通信需求时,目标VTEP设备可以通过查询本地保存的远端VTEP设备的VLANtag与VXLANID的映射关系,将报文中的VLANtag替换为远端设备上单挂端口的VLANtag,并将VLANtag替换后的报文转发给远端VTEP设备,从而实现了在形成聚合的VTEP设备上单挂端口VLANtag不一致的情况下,单挂端口下连接的虚拟机之间的通信。为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体应用场景对本申请实施例提供的技术方案进行描述。请参见图4,为本申请实施例提供的一种具体应用场景的架构示意图,如图4所示,在该应用场景中,VTEPB和VTEPC形成分布式聚合,虚拟机CEF通过单挂端口port1接入VTEPB,port1对应的VLANtag为3,映射的VXALNID为100;虚拟机CEG通过单挂端口port2接入VTEPC,port2对应的VLANtag为4,映射的VXLANID为100。基于图4所示的应用场景,本申请实施例提供的报文转发方案实现流程如下:1、虚拟机CEF接入VTEPB,配置VXLAN接入点,接入VLAN的VLANtag为3,映射的VXLANID为100,则在VTEPB本地生成VLAN3到VXLAN100的映射关系,其格式可以如表1所示:表12、VTEPB生成上述映射关系后,将该映射关系同步给聚合系统中其它远端VTEP设备(即图4中的VTEPC),同步消息格式可以如表2所示:表2MSGtype(消息类型)VLANmappingtoVXLANVLANtag3VXLANID1003、VTEPC接收到上述同步消息之后,解析该同步消息,获取VTEPB上面的单挂设备的VLANtag与VXLANID的映射关系,并在本地保存远端VTEP设备的VLANtag与VXLANID的映射关系,其格式可以如表3所示:表34、当VTEPC从port2接收到虚拟机CEG发送的报文(报文中携带的VLANtag为4)时,VTEPC根据port2对应的VXLANID查询本地保存的远端VTEP设备的VLANtag与VXLANID的映射关系,发现存在匹配的映射关系,但该映射关系中的VLANtag(3)与报文中携带的VLANtag(4)不同,此时,VTEPC可以将该报文中的VLANtag由4替换为3,并将VLANtag替换后的报文转发给VTEPB,有VTEPB将报文转发给CEF。通过以上描述可以看出,在本申请实施例提供的技术方案中,当从单挂端口接收到报文,且需要向远端VTEP设备转发该报文,根据该单挂端口对应的目标VXLANID查询预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系,当预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系中包括目标VXLANID与目标VLANtag的映射关系,且该报文中携带的VLANtag与目标VLANtag不一致时,将该报文中携带的VLANtag替换为目标VLANtag,并将VLANtag替换后的报文转发给该远端VTEP设备,实现了在形成聚合的VTEP设备上单挂端口VLANtag不一致的情况下,单挂端口下连接的虚拟机之间的通信。请参见图5,为本申请实施例提供的一种报文转发装置的结构示意图,其中,所述报文转发装置可以应用于上述方法实施例中的目标VTEP设备,如图5所示,该报文转发装置可以包括接收单元510,用于接收报文;查询单元520,用于当所述接收单元510从单挂端口接收到报文,且需要向远端VTEP设备转发该报文,根据该单挂端口对应的目标VXLANID查询预先保存的远端VTEP设备的虚拟局域网VLAN标签tag与VXLAN标识ID的映射关系;替换单元530,用于当预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系中包括所述目标VXLANID与目标VLANtag的映射关系,且该报文中携带的VLANtag与所述目标VLANtag不一致时,将该报文中携带的VLANtag替换为所述目标VLANtag;发送单元540,用于将VLANtag替换后的报文转发给该远端VTEP设备。在其中一个实施例中,所述接收单元510,还用于接收远端VTEP设备发送的第一类型报文,所述第一类型报文中携带有该远端VTEP设备上单挂端口对应的VLANtag与VXLANID的映射关系;相应地,请一并参见图6,为本申请实施例提供的另一种报文转发装置的结构示意图,如图6所示,在图5所示报文转发装置的基础上,图6所示的报文转发装置还可以包括:存储单元550,用于在本地保存该远端VTEP设备的VLANtag与VXLANID的映射关系。请一并参见图7,为本申请实施例提供的另一种报文转发装置的结构示意图,如图7所示,在图5所示报文转发装置的基础上,图7所示的报文转发装置还可以包括:检测单元560;其中:所述检测单元560,用于检测本地单挂端口是否有虚拟机接入或是否接收到业务报文;所述发送单元540,还用于当所述检测单元560检测到本地单挂端口有虚拟机接入或接收到业务报文时,将该单挂端口对应的VLANtag和VXLANID发送给远端VTEP设备。在其中一个实施例中,所述发送单元540,还用于当预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系中包括所述目标VXLANID与目标VLANtag的映射关系,且该报文中携带的VLANtag与所述目标VLANtag一致时。在其中一个实施例中,所述发送单元540,还用于当预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系中不包括所述目标VXLANID与目标VLANtag的映射关系时,将该报文转发给该远端VTEP设备,或,丢弃该报文。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。由上述实施例可见,当从单挂端口接收到报文,且需要向远端VTEP设备转发该报文,根据该单挂端口对应的目标VXLANID查询预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系,当预先保存的远端VTEP设备的VLANtag与VXLANID的映射关系中包括所述目标VXLANID与目标VLANtag的映射关系,且该报文中携带的VLANtag与所述目标VLANtag不一致时,将该报文中携带的VLANtag替换为目标VLANtag,并将VLANtag替换后的报文转发给该远端VTEP设备,实现了在形成聚合的VTEP设备上单挂端口VLANtag不一致的情况下,单挂端口下连接的虚拟机之间的通信。本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。当前第1页1 2 3 
再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1