CN109474527B - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN109474527B CN109474527B CN201811524842.1A CN201811524842A CN109474527B CN 109474527 B CN109474527 B CN 109474527B CN 201811524842 A CN201811524842 A CN 201811524842A CN 109474527 B CN109474527 B CN 109474527B
- Authority
- CN
- China
- Prior art keywords
- message
- vlan
- forwarded
- layers
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明实施例提供一种报文转发方法及装置。该方法应用于VTEP设备,包括:获取来自于接入模式为VLAN接入模式的第一AC口传入的添加有VSI标识的第一待转发报文;若第一待转发报文中的VLAN标签层数小于预设层数,在第一待转发报文中添加VLAN标签得到第二待转发报文;在确定第二待转发报文的出接口为接入模式为VLAN接入模式的第二AC口时确定出接口的属性信息;若属性信息包括的VLAN标签层数为预设层数,根据属性信息包括的各层VLAN标签对应的标签值在第二AC口处为第二待转发报文中的VLAN标签进行赋值,得到第三待转发报文,并将第三待转发报文通过第二AC口进行转发。本发明实施例能够提高网络传输适用性。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种报文转发方法及装置。
背景技术
VXLAN(Virtual Extensible Local Area Network,可扩展虚拟局域网络)是基于IP(Internet Protocol,互联网协议)网络、采用“MAC(Media Access Control,媒体访问控制)in UDP(User Datagram Protocol,用户数据报协议)”封装形式的二层VPN(VirtualPrivate Network,虚拟专用网)技术。VXLAN可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。
VTEP(VXLAN Tunnel End Point,可扩展虚拟局域网络隧道端点)设备是VXLAN的边缘设备,可以识别以太网数据帧所属的VLAN、基于VXLAN对数据帧进行二层转发、封装/解封装报文等。在VTEP设备的一端设置有接入电路(AC)口,AC口的接入模式有两种:VLAN接入模式和Ethernet接入模式。
图1为现有技术中一种VXLAN网络架构的示意图,如图1所示,第一VTEP设备通过自身的接入模式为VLAN接入模式的AC1口接收到来自一网络设备(例如:第一虚拟机)的报文后,删除该报文中携带的该第一虚拟机的VLAN标签,并对删除后的报文进行VXLAN隧道封装,之后,通过第一VTEP设备与第二VTEP设备之间的VXLAN隧道发送给第二VTEP设备;第二VTEP设备先对VXLAN隧道封装报文进行解封装,然后为解封装后的报文分配VSI(VirtualSwitch Instance,虚拟交换实例)标识,即,在解封装后的报文中添加此报文携带的VXLANID对应的VSI标识,并在VSI内转发,以确定出接口,假设确定出的出接口是接入模式为VLAN接入模式的AC2口,并且AC2口要求从该口转发的报文需要携带多层(例如两层)VLAN标签,在这种情况下,如果在VSI内转发的报文中的VLAN标签层数小于AC2口要求的VLAN标签层数,则可能因第二VTEP设备无法在AC2口处为待转发出去的报文增加VLAN标签,导致转发不成功,即无法到达另一网络设备(例如:第二虚拟机),进而影响网络业务传输。
发明内容
有鉴于此,本发明实施例的目的在于提供一种报文转发方法及装置,以解决现有报文转发方式影响网络业务传输的问题。
第一方面,本发明实施例提供了一种报文转发方法,应用于VTEP设备,所述方法包括:
获取来自于接入模式为VLAN接入模式的第一AC口传入的、且添加有VSI标识的第一待转发报文;
若所述第一待转发报文中的VLAN标签层数小于预设层数,则在所述第一待转发报文中添加VLAN标签,得到第二待转发报文,所述第二待转发报文中的VLAN标签层数为所述预设层数,所述VSI标识作为一层VLAN标签;
在确定所述第二待转发报文的出接口为接入模式为VLAN接入模式的第二AC口时,进一步确定所述出接口的属性信息;所述属性信息包括VLAN标签层数和各层VLAN标签对应的标签值,所述属性信息包括的VLAN标签层数不大于所述预设层数;
若所述属性信息包括的VLAN标签层数为所述预设层数,则根据所述属性信息包括的各层VLAN标签对应的标签值在所述第二AC口处为所述第二待转发报文中的VLAN标签进行赋值,得到第三待转发报文,并将所述第三待转发报文通过所述第二AC口进行转发。
进一步地,所述方法,还包括:
若所述属性信息包括的VLAN标签层数小于所述预设层数,则在所述第二AC口处删除所述第二待转发报文中指定层数的VLAN标签,并根据所述属性信息包括的各层VLAN标签对应的标签值为删除后的报文中的VLAN标签进行赋值,得到第四待转发报文,并将所述第四待转发报文通过所述第二AC口进行转发,所述指定层数为所述预设层数与所述属性信息包括的VLAN标签层数的差值。
本发明实施例中当第二AC口的属性信息包括的VLAN标签层数小于预设层数时,则在第二AC口处删除指定层数的VLAN标签,获得第四待转发报文,从而满足第二AC口的转发要求,能够使得第四待转发报文从第二AC口成功转出。
进一步地,通过以下方式获取第一待转发报文:
接收另一VTEP设备通过自身与所述另一VTEP设备之间的VXLAN隧道发送的VXLAN隧道报文,所述VXLAN隧道报文为所述另一VTEP设备将通过所述另一VTEP设备的接入模式为VLAN接入模式的第一AC口接收到的报文中携带的VLAN标签删除后进行VXLAN隧道封装得到的;
对所述VXLAN隧道报文进行VXLAN隧道解封装,并在解封装后的报文中添加VSI标识,得到所述第一待转发报文;
或者
将通过所述VTEP设备的接入模式为VLAN模式的第一AC口接收到的报文中携带的第一层VLAN标签修改为所述第一AC口所属的VSI的VSI标识,得到所述第一待转发报文。
第二方面,本发明实施例提供了一种转发报文装置,包括:
获取模块,用于获取来自于接入模式为VLAN接入模式的第一AC口传入的、且添加有VSI标识的第一待转发报文;
标签添加模块,用于若所述第一待转发报文中的VLAN标签层数小于预设层数,则在所述第一待转发报文中添加VLAN标签,得到第二待转发报文,所述第二待转发报文中的VLAN标签层数为所述预设层数,所述VSI标识作为一层VLAN标签;
属性确定模块,用于在确定所述第二待转发报文的出接口为接入模式为VLAN接入模式的第二AC口时,进一步确定所述出接口的属性信息;所述属性信息包括VLAN标签层数和各层VLAN标签对应的标签值,所述属性信息包括的VLAN标签层数不大于所述预设层数;
报文转发模块,用于若所述属性信息包括的VLAN标签层数为所述预设层数,则根据所述属性信息包括的各层VLAN标签对应的标签值在所述第二AC口处为所述第二待转发报文中的VLAN标签进行赋值,得到第三待转发报文,并将所述第三待转发报文通过所述第二AC口进行转发。
进一步地,所述装置,还包括:
标签删除模块,若所述属性信息包括的VLAN标签层数小于所述预设层数,则在所述第二AC口处删除所述第二待转发报文中指定层数的VLAN标签,并根据所述属性信息包括的各层VLAN标签对应的标签值为删除后的报文中的VLAN标签进行赋值,得到第四待转发报文,并将所述第四待转发报文通过所述第二AC口进行转发,所述指定层数为所述预设层数与所述属性信息包括的VLAN标签层数的差值。
进一步地,所述获取模块,具体用于:
接收另一VTEP设备通过自身与所述另一VTEP设备之间的VXLAN隧道发送的VXLAN隧道报文,所述VXLAN隧道报文为所述另一VTEP设备将通过所述另一VTEP设备的接入模式为VLAN接入模式的第一AC口接收到的报文中携带的VLAN标签删除后进行VXLAN隧道封装得到的;
对所述VXLAN隧道报文进行VXLAN隧道解封装,并在解封装后的报文中添加VSI标识,得到所述第一待转发报文;
或者
将通过VTEP设备的接入模式为VLAN模式的第一AC口接收到的报文中携带的第一层VLAN标签修改为所述第一AC口所属的VSI的标识,得到所述第一待转发报文。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法步骤。
在本发明实施例中,对于在接入模式为VLAN接入模式的AC口处转发报文时需要增加VLAN标签但无法增加VLAN标签的VTEP设备,本发明实施例通过在相关报文到达该AC口处之前先增加VLAN标签,然后在该AC口处需要增加VLAN标签时,只需根据实际需求修改即将发出的报文中的VLAN标签值,最后成功发送出去,以保证相关报文顺利到达目的设备,进而提高网络传输适用性。
本发明实施例的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明实施例的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为现有技术提供的一种VXLAN架构的示意图之一;
图2为本发明实施例提供的一种报文转发方法的流程示意图;
图3为本发明实施例提供的报文格式示意图之一;
图4为本发明实施例提供的VXLAN架构的示意图之二;
图5为本发明实施例提供的报文格式示意图之二;
图6为本发明实施例提供的一种报文转发装置结构示意图;
图7为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图2所示,为本发明实施例提供的一种报文转发方法的流程示意图,该方法应用于VTEP设备,该方法包括以下步骤:
步骤201:获取来自于接入模式为VLAN接入模式的第一AC口传入的、且添加有VSI标识的第一待转发报文。
在具体的实施过程中,可以通过以下方式获取第一待转发报文:
第一种方式,VTEP设备接收另一VTEP设备通过自身与所述另一VTEP设备之间的VXLAN隧道发送的VXLAN隧道报文,并对所述VXLAN隧道报文进行VXLAN隧道解封装,在解封装后的报文中添加VSI标识(即,VXLAN隧道报文的隧道头部信息中的VXLAN ID对应的VSI标识),得到第一待转发报文。
在这种方式下,所述VXLAN隧道报文为所述另一VTEP设备将通过所述另一VTEP设备的接入模式为VLAN接入模式的第一AC口接收到的报文(该报文是与VTEP设备连接的网络设备发过来的,该网络设备可以是虚拟机,也可以是服务器等,并且该报文的入接口的接入模式与该报文的出接口的接入模式相同)中携带的VLAN标签删除后进行VXLAN隧道封装得到的。第二种方式,VTEP设备将通过所述VTEP设备的接入模式为VLAN模式的第一AC口接收到的报文(该报文是与VTEP设备连接的网络设备发过来的,该网络设备可以是虚拟机,也可以是服务器等,并且该报文的入接口的接入模式与该报文的出接口的接入模式相同)中携带的第一层VLAN标签修改为所述第一AC口所属的VSI的VSI标识,得到所述第一待转发报文。
步骤202:若所述第一待转发报文中的VLAN标签层数小于预设层数,则在所述第一待转发报文中添加VLAN标签,得到第二待转发报文,所述第二待转发报文中的VLAN标签层数为所述预设层数,所述VSI标识作为一层VLAN标签。
在具体的实施过程中,当VTEP设备获取到第一待转发报文后,如果第一待转发报文中携带的VLAN标签层数小于预设层数,则在第一待转发报文中添加VLAN标签,得到第二待转发报文,使得第二待转发报文中的VLAN标签层数等于预设层数。其中,预设层数可以为两层,也可以为三层或更多层,且可以为新增加的VLAN标签对应的值赋上默认值,默认值可以为0。此时,第二待转发报文中,VSI标识会占用一层VLAN标签的位置,通常会占用第一层VLAN标签的位置,此位置的VLAN标签对应的值为VSI标识对应的值。
步骤203:在确定所述第二待转发报文的出接口为接入模式为VLAN接入模式的第二AC口时,进一步确定所述出接口的属性信息;所述属性信息包括VLAN标签层数和各层VLAN标签对应的标签值,所述属性信息包括的VLAN标签层数不大于所述预设层数。
在具体的实施过程中,VTEP设备将第二待转发报文在相应的VSI内转发,以确定此报文的出接口。在出接口是接入模式为VLAN接入模式的AC口的情况下,可以预先配置此AC口的属性信息,即,通过此AC口转出的报文中应该携带的VLAN标签层数以及各层VLAN标签对应的标签值。
步骤204:若所述属性信息包括的VLAN标签层数为所述预设层数,则根据所述属性信息包括的各层VLAN标签对应的标签值在所述第二AC口处为所述第二待转发报文中的VLAN标签进行赋值,得到第三待转发报文,并将所述第三待转发报文通过所述第二AC口进行转发。
进一步地,VTEP设备在确定出第二AC口的属性信息包括的VLAN标签层数小于预设层数时,则需要在第二AC口处删除第二待转发报文中指定层数(即,预设层数与所述属性信息包括的VLAN标签层数的差值)的VLAN标签,使得删除后的报文中的VLAN标签层数与第二AC口的属性信息所包括的VLAN标签层数相等,然后根据所述属性信息包括的各层VLAN标签对应的标签值为删除后的报文中的VLAN标签进行赋值,获得第四待转发报文,并将第四待转发报文从第二AC口转发出去。
例如:预设层数为两层,第二AC口的属性信息包括的VLAN标签层数为一层,此时,需要将第二待转发报文中的两层VLAN标签删除一层,使得删除后的报文中只剩下一层VLAN标签,然后根据第二AC口的属性信息包括的VLAN标签值为删除后的报文中的VLAN标签赋值,之后通过第二AC口转发出去。
在本发明实施例中,对于在接入模式为VLAN接入模式的AC口处转发报文时需要增加VLAN标签但无法增加VLAN标签的VTEP设备,本发明实施例通过在相关报文到达该AC口处之前先增加VLAN标签,然后在该AC口处需要增加VLAN标签时,只需根据实际需求修改即将发出的报文中的VLAN标签值,最后成功发送出去,以保证相关报文顺利到达目的设备,进而提高网络传输适用性。
下面以两个具体的实施例来分别阐述报文转发方法流程,且以预设层数为两层为例。
实施例1
仍以图1为例,第一虚拟机向第一VTEP设备发送仅携带有第一虚拟机的VLAN标签(例如,VLAN Tag为10)的第一报文。
第一VTEP设备通过接入模式为VLAN接入模式的AC1口接收到该第一报文后,将第一报文中携带的VLAN标签修改为AC1口所属的VSI的VSI标识,由于当前修改后的报文中只有一层VLAN标签(即,VSI标识占用一层VLAN标签),小于预设层数(两层),所以第一VTEP设备继续在修改后的报文中添加一层VLAN标签;之后,第一VTEP设备根据添加完VLAN标签的报文的MAC地址及VSI标识,在VSI内转发,以确定出接口。
在出接口是VXLAN隧道时,第一VTEP设备删除添加完VLAN标签的报文中携带的所有VLAN标签,得到第二报文,此第二报文也可以理解为第一VTEP设备删除该第一报文中携带的所有VLAN标签后得到的报文;然后对第二报文进行VXLAN隧道封装,得到第三报文,之后,通过第一VTEP设备与第二VTEP设备之间的VXLAN隧道将第三报文发送给第二VTEP设备。
第二VTEP设备接收到第三报文后,先对第三报文进行VXLAN隧道解封装得到第二报文(具体报文格式参见图3),然后依据第三报文的隧道头部信息中的VXLAN ID为第二报文分配VSI标识,即,在第二报文中添加该VXLAN ID对应的VSI标识(添加完VSI标识的第二报文即为上述第一待转发报文);由于当前只有一层VLAN标签(即,VSI标识占用一层VLAN标签),小于预设层数(两层),所以第二VTEP设备继续在第二报文中添加一层VLAN标签(例如,设定新增加的VLAN Tag的值为0),得到第四报文(即,上述第二待转发报文),之后,第二VTEP设备根据第四报文的MAC地址以及VSI标识,在VSI内转发,以确定第四报文的出接口。
如果确定出的出接口是接入模式为VLAN接入模式的AC2口,且AC2口的属性信息包括两层VLAN标签以及两层VLAN标签的值分别为20和30,在这种情况下,第二VTEP设备在AC2口处将第四报文中的两层VLAN标签的值更改为20和30,得到第五报文(即,上述第三待转发报文),例如,将第四报文中的第一层VLAN标签(即,VSI标识所处位置)的值更改为20,将第四报文中的第二层VLAN标签(即,新增加的VLAN Tag)的值更改为30;最后,第二VTEP设备将第五报文通过AC2口转发出去,最终转发到第二虚拟机上。
如果确定出的出接口是接入模式为VLAN接入模式的AC2口,且AC2口的属性信息包括一层VLAN标签以及一层VLAN标签的值为20,在这种情况下,第二VTEP设备在AC2口处删除第四报文中的一层VLAN标签,并将删除后的第四报文中的VLAN标签的值更改为20,得到第六报文,例如,将第四报文中的第二层VLAN标签(即,新增加的VLAN Tag)删除,并将删除后的第四报文中的第一层VLAN标签(即,VSI标识所处位置)的值更改为20;最后,第二VTEP设备将第六报文通过AC2口转发出去,最终转发到第二虚拟机上。
在实施例1中,第二报文、第四报文以及第五报文的报文格式如图3所示。
实施例2
如图4所示,为本发明实施例提供的VXLAN架构图之二,第一虚拟机向第一VTEP设备发送仅携带有第一虚拟机的VLAN标签(例如,VLAN Tag为10)的第一报文。
第一VTEP设备通过接入模式为VLAN接入模式的AC1口接收到该第一报文后,将该第一报文中携带的第一虚拟机的VLAN标签修改为AC1口所属的VSI的VSI标识,得到第二报文(即,上述第一待转发报文);由于当前只有一层VLAN标签(即,VSI标识占用一层VLAN标签),小于预设层数(两层),所以第一VTEP设备继续在第二报文中添加一层VLAN标签(例如,设定新增加的VLAN Tag的值为0),得到第三报文(即,上述第二待转发报文),之后,第一VTEP设备根据第三报文的MAC地址以及VSI标识,在VSI内转发,以确定第三报文的出接口。
如果确定出的出接口是第一VTEP设备上的接入模式为VLAN接入模式的AC3口,且AC3口的属性信息包括两层VLAN标签以及两层VLAN标签的值分别为20和30,在这种情况下,第一VTEP设备在AC3口处将第三报文中的两层VLAN标签的值更改为20和30,得到第四报文(即,上述第三待转发报文),例如,将第三报文中的第一层VLAN标签(即,VSI标识所处位置)的值更改为20,将第三报文中的第二层VLAN标签(即,新增加的VLAN Tag)的值更改为30;最后,第一VTEP设备将第四报文通过AC3口转发出去,最终转发到第三虚拟机上。
如果确定出的出接口是接入模式为VLAN接入模式的AC3口,且AC3口的属性信息包括一层VLAN标签以及一层VLAN标签的值为20,在这种情况下,第一VTEP设备在AC3口处删除第三报文中的一层VLAN标签,并将删除后的第三报文中的VLAN标签的值更改为20,得到第五报文,例如,将第三报文中的第二层VLAN标签(即,新增加的VLAN Tag)删除,并将删除后的第三报文中的第一层VLAN标签(即,VSI标识所处位置)的值更改为20;最后,第一VTEP设备将第五报文通过AC3口转发出去,最终转发到第三虚拟机上。
在实施例2中,第一报文、第三报文以及第四报文的报文格式如图5所示。
基于上述报文转发方法相同的发明构思,本发明实施例提供一种报文转发装置,如图6所示的报文转发装置的结构示意图,,该装置应用于VTEP设备,包括获取模块601、标签添加模块602、属性确定模块603和报文转发模块604,其中:
获取模块601,用于获取来自于接入模式为VLAN接入模式的第一AC口传入的、且添加有VSI标识的第一待转发报文;
标签添加模块602,用于若所述第一待转发报文中的VLAN标签层数小于预设层数,则在所述第一待转发报文中添加VLAN标签,得到第二待转发报文,所述第二待转发报文中的VLAN标签层数为所述预设层数,所述VSI标识作为一层VLAN标签;
属性确定模块603,用于在确定所述第二待转发报文的出接口为接入模式为VLAN接入模式的第二AC口时,进一步确定所述出接口的属性信息;所述属性信息包括VLAN标签层数和各层VLAN标签对应的标签值,所述属性信息包括的VLAN标签层数不大于所述预设层数;
报文转发模块604,用于若所述属性信息包括的VLAN标签层数为所述预设层数,则根据所述属性信息包括的各层VLAN标签对应的标签值在所述第二AC口处为所述第二待转发报文中的VLAN标签进行赋值,得到第三待转发报文,并将所述第三待转发报文通过所述第二AC口进行转发。
在上述实施例的基础上,所述装置,还包括:
标签删除模块(图6未示出),若所述属性信息包括的VLAN标签层数小于所述预设层数,则删除所述第二待转发报文中指定层数的VLAN标签,并根据所述属性信息包括的各层VLAN标签对应的标签值为删除后的报文中的VLAN标签进行赋值,得到第四待转发报文,并将所述第四待转发报文通过所述第二AC口进行转发,所述指定层数为所述预设层数与所述属性信息包括的VLAN标签层数的差值。
在上述实施例的基础上,所述获取模块601,具体用于:
接收另一VTEP设备通过自身与所述另一VTEP设备之间的VXLAN隧道发送的VXLAN隧道报文,所述VXLAN隧道报文为所述另一VTEP设备将通过所述另一VTEP设备的接入模式为VLAN接入模式的第一AC口接收到的报文中携带的VLAN标签删除后进行VXLAN隧道封装后得到的;
对所述VXLAN隧道报文进行VXLAN隧道解封装,并在解封装后的报文中添加VSI标识,得到所述第一待转发报文;
或者
将通过所述VTEP设备的接入模式为VLAN模式的第一AC口接收到的报文中携带的第一层VLAN标签修改为所述第一AC口所属的VSI的VSI标识,得到所述第一待转发报文。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,对于在接入模式为VLAN接入模式的AC口处转发报文时需要增加VLAN标签但无法增加VLAN标签的VTEP设备,本发明通过在相关报文到达该AC口处之前先增加VLAN标签,然后在该AC口处需要增加VLAN标签时,只需根据实际需求修改即将发出的报文中的VLAN标签值,最后成功发送出去,以保证相关报文顺利到达目的设备,进而提高网络传输适用性。
图7为本发明实施例提供的电子设备实体结构示意图,如图7所示,所述电子设备,包括:处理器(processor)701、存储器(memory)702和总线703;其中,
所述处理器701和存储器702通过所述总线703完成相互间的通信;
所述处理器701用于调用所述存储器702中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取来自于接入模式为VLAN接入模式的第一AC口传入的、且添加有VSI标识的第一待转发报文;若所述第一待转发报文中的VLAN标签层数小于预设层数,则在所述第一待转发报文中添加VLAN标签,得到第二待转发报文,所述第二待转发报文中的VLAN标签层数为所述预设层数,所述VSI标识作为一层VLAN标签;在确定所述第二待转发报文的出接口为接入模式为VLAN接入模式的第二AC口时,进一步确定所述出接口的属性信息;所述属性信息包括VLAN标签层数和各层VLAN标签对应的标签值,所述属性信息包括的VLAN标签层数不大于所述预设层数;若所述属性信息包括的VLAN标签层数为所述预设层数,则根据所述属性信息包括的各层VLAN标签对应的标签值在所述第二AC口处为所述第二待转发报文中的VLAN标签进行赋值,得到第三待转发报文,并将所述第三待转发报文通过所述第二AC口进行转发。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取来自于接入模式为VLAN接入模式的第一接入电路AC口传入的、且添加有VSI标识的第一待转发报文;若所述第一待转发报文中的VLAN标签层数小于预设层数,则在所述第一待转发报文中添加VLAN标签,得到第二待转发报文,所述第二待转发报文中的VLAN标签层数为所述预设层数,所述VSI标识作为一层VLAN标签;在确定所述第二待转发报文的出接口为接入模式为VLAN接入模式的第二AC口时,进一步确定所述出接口的属性信息;所述属性信息包括VLAN标签层数和各层VLAN标签对应的标签值,所述属性信息包括的VLAN标签层数不大于所述预设层数;若所述属性信息包括的VLAN标签层数为所述预设层数,则根据所述属性信息包括的各层VLAN标签对应的标签值在所述第二AC口处为所述第二待转发报文中的VLAN标签进行赋值,得到第三待转发报文,并将所述第三待转发报文通过所述第二AC口进行转发。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取来自于接入模式为VLAN接入模式的第一接入电路AC口传入的、且添加有VSI标识的第一待转发报文;若所述第一待转发报文中的VLAN标签层数小于预设层数,则在所述第一待转发报文中添加VLAN标签,得到第二待转发报文,所述第二待转发报文中的VLAN标签层数为所述预设层数,所述VSI标识作为一层VLAN标签;在确定所述第二待转发报文的出接口为接入模式为VLAN接入模式的第二AC口时,进一步确定所述出接口的属性信息;所述属性信息包括VLAN标签层数和各层VLAN标签对应的标签值,所述属性信息包括的VLAN标签层数不大于所述预设层数;若所述属性信息包括的VLAN标签层数为所述预设层数,则根据所述属性信息包括的各层VLAN标签对应的标签值在所述第二AC口处为所述第二待转发报文中的VLAN标签进行赋值,得到第三待转发报文,并将所述第三待转发报文通过所述第二AC口进行转发。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (6)
1.一种报文转发方法,其特征在于,应用于可扩展虚拟局域网络隧道端点VTEP设备,所述方法包括:
获取来自于接入模式为VLAN接入模式的第一接入电路AC口传入的、且添加有虚拟交换实例VSI标识的第一待转发报文;
若所述第一待转发报文中的VLAN标签层数小于预设层数,则在所述第一待转发报文中添加VLAN标签,得到第二待转发报文,所述第二待转发报文中的VLAN标签层数为所述预设层数,所述VSI标识作为一层VLAN标签;
在确定所述第二待转发报文的出接口为接入模式为VLAN接入模式的第二AC口时,进一步确定所述出接口的属性信息;所述属性信息包括VLAN标签层数和各层VLAN标签对应的标签值,所述属性信息包括的VLAN标签层数不大于所述预设层数;
若所述属性信息包括的VLAN标签层数为所述预设层数,则根据所述属性信息包括的各层VLAN标签对应的标签值在所述第二AC口处为所述第二待转发报文中的VLAN标签进行赋值,得到第三待转发报文,并将所述第三待转发报文通过所述第二AC口进行转发;
其中,获取所述第一待转发报文的方式包括:
接收另一VTEP设备通过自身与所述另一VTEP设备之间的VXLAN隧道发送的VXLAN隧道报文,所述VXLAN隧道报文为所述另一VTEP设备将通过所述另一VTEP设备的接入模式为VLAN接入模式的第一AC口接收到的报文中携带的VLAN标签删除后进行VXLAN隧道封装得到的;对所述VXLAN隧道报文进行VXLAN隧道解封装,并在解封装后的报文中添加VSI标识,得到所述第一待转发报文;
或者
将通过所述VTEP设备的接入模式为VLAN模式的第一AC口接收到的报文中携带的第一层VLAN标签修改为所述第一AC口所属的VSI的VSI标识,得到所述第一待转发报文。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
若所述属性信息包括的VLAN标签层数小于所述预设层数,则在所述第二AC口处删除所述第二待转发报文中指定层数的VLAN标签,并根据所述属性信息包括的各层VLAN标签对应的标签值为删除后的报文中的VLAN标签进行赋值,得到第四待转发报文,并将所述第四待转发报文通过所述第二AC口进行转发,所述指定层数为所述预设层数与所述属性信息包括的VLAN标签层数的差值。
3.一种报文转发装置,其特征在于,包括:
获取模块,用于获取来自于接入模式为VLAN接入模式的第一接入电路AC口传入的、且添加有虚拟交换实例VSI标识的第一待转发报文;
标签添加模块,用于若所述第一待转发报文中的VLAN标签层数小于预设层数,则在所述第一待转发报文中添加VLAN标签,得到第二待转发报文,所述第二待转发报文中的VLAN标签层数为所述预设层数,所述VSI标识作为一层VLAN标签;
属性确定模块,用于在确定所述第二待转发报文的出接口为接入模式为VLAN接入模式的第二AC口时,进一步确定所述出接口的属性信息;所述属性信息包括VLAN标签层数和各层VLAN标签对应的标签值,所述属性信息包括的VLAN标签层数不大于所述预设层数;
报文转发模块,用于若所述属性信息包括的VLAN标签层数为所述预设层数,则根据所述属性信息包括的各层VLAN标签对应的标签值在所述第二AC口处为所述第二待转发报文中的VLAN标签进行赋值,得到第三待转发报文,并将所述第三待转发报文通过所述第二AC口进行转发;
其中,所述获取模块,用于:接收另一VTEP设备通过自身与所述另一VTEP设备之间的VXLAN隧道发送的VXLAN隧道报文,所述VXLAN隧道报文为所述另一VTEP设备将通过所述另一VTEP设备的接入模式为VLAN接入模式的第一AC口接收到的报文中携带的VLAN标签删除后进行VXLAN隧道封装得到的;对所述VXLAN隧道报文进行VXLAN隧道解封装,并在解封装后的报文中添加VSI标识,得到所述第一待转发报文;或者,用于:将通过VTEP设备的接入模式为VLAN模式的第一AC口接收到的报文中携带的第一层VLAN标签修改为所述第一AC口所属的VSI的VSI标识,得到所述第一待转发报文。
4.根据权利要求3所述的装置,其特征在于,所述装置,还包括:
标签删除模块,若所述属性信息包括的VLAN标签层数小于所述预设层数,则在所述第二AC口处删除所述第二待转发报文中指定层数的VLAN标签,并根据所述属性信息包括的各层VLAN标签对应的标签值为删除后的报文中的VLAN标签进行赋值,得到第四待转发报文,并将所述第四待转发报文通过所述第二AC口进行转发,所述指定层数为所述预设层数与所述属性信息包括的VLAN标签层数的差值。
5.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-2任一项所述的方法。
6.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1-2任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811524842.1A CN109474527B (zh) | 2018-12-13 | 2018-12-13 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811524842.1A CN109474527B (zh) | 2018-12-13 | 2018-12-13 | 一种报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109474527A CN109474527A (zh) | 2019-03-15 |
CN109474527B true CN109474527B (zh) | 2021-04-06 |
Family
ID=65675299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811524842.1A Active CN109474527B (zh) | 2018-12-13 | 2018-12-13 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109474527B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611619B (zh) * | 2012-02-24 | 2018-03-20 | 中兴通讯股份有限公司 | 一种转发数据报文的方法和路由设备 |
CN103532848B (zh) * | 2013-10-25 | 2017-02-08 | 迈普通信技术股份有限公司 | 虚拟专用局域网业务报文处理方法及系统 |
CN103634213B (zh) * | 2013-11-04 | 2017-04-19 | 天津汉柏信息技术有限公司 | 一种报文转发方法 |
CN104954255B (zh) * | 2014-03-24 | 2019-12-24 | 中兴通讯股份有限公司 | 一种vpn报文处理方法及装置 |
US10536297B2 (en) * | 2016-03-29 | 2020-01-14 | Arista Networks, Inc. | Indirect VXLAN bridging |
-
2018
- 2018-12-13 CN CN201811524842.1A patent/CN109474527B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109474527A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10778532B2 (en) | Overlay network movement operations | |
US9923732B2 (en) | Virtual gateways and implicit routing in distributed overlay virtual environments | |
CN110266592B (zh) | Srv6网络与ip mpls网络的通信方法及装置 | |
US10476796B2 (en) | Packet processing method, and device and system | |
US10237230B2 (en) | Method and system for inspecting network traffic between end points of a zone | |
CN110999265B (zh) | 管理云计算服务端点和虚拟机之间的网络连接性 | |
CN107872542B (zh) | 一种数据传输的方法及网络设备 | |
CN107046506B (zh) | 一种报文处理方法、流分类器和业务功能实例 | |
EP3782336B1 (en) | Multi-vrf universal device internet protocol address for fabric edge devices | |
CN106878288B (zh) | 一种报文转发方法及装置 | |
CN108063718B (zh) | 报文处理方法、装置及电子设备 | |
US10454882B2 (en) | DHCP in layer-3 overlay with anycast address support and network address transparency | |
CN108600109A (zh) | 一种报文转发方法和装置 | |
CN109474713B (zh) | 报文转发方法和装置 | |
CN107896188B (zh) | 数据转发方法及装置 | |
US9553764B2 (en) | Migration of guest bridge | |
US20130124721A1 (en) | Detected IP Link and Connectivity Inference | |
CN109756411B (zh) | 报文转发方法、装置、第一vtep设备及存储介质 | |
CN112769738B (zh) | DetNet数据包处理方法及装置 | |
CN105763411B (zh) | 一种建立组播隧道的方法及装置 | |
CN111404797A (zh) | 控制方法、sdn控制器、sdn接入点、sdn网关及ce | |
CN109474527B (zh) | 一种报文转发方法及装置 | |
CN109391534B (zh) | 一种接入模式更新方法及装置 | |
CN109450767B (zh) | 一种报文处理方法和装置 | |
CN109756409B (zh) | 桥接转发方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |