CN113542111B - 一种报文转发方法及网络设备 - Google Patents

一种报文转发方法及网络设备 Download PDF

Info

Publication number
CN113542111B
CN113542111B CN202010314463.0A CN202010314463A CN113542111B CN 113542111 B CN113542111 B CN 113542111B CN 202010314463 A CN202010314463 A CN 202010314463A CN 113542111 B CN113542111 B CN 113542111B
Authority
CN
China
Prior art keywords
message
route
vrf table
local
network device
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
Application number
CN202010314463.0A
Other languages
English (en)
Other versions
CN113542111A (zh
Inventor
杨杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010314463.0A priority Critical patent/CN113542111B/zh
Priority to US17/232,431 priority patent/US11706140B2/en
Priority to EP21169051.6A priority patent/EP3902207A1/en
Publication of CN113542111A publication Critical patent/CN113542111A/zh
Application granted granted Critical
Publication of CN113542111B publication Critical patent/CN113542111B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L2012/4629LAN interconnection over a backbone network, e.g. Internet, Frame Relay using multilayer switching, e.g. layer 3 switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种报文转发方法及网络设备,该方法应用于网络设备,该网络设备包括第一虚拟路由转发VRF表和第二VRF表,该方法具体包括:网络设备接收第一报文;若第一报文携带有隧道属性信息,网络设备根据第一VRF表转发第一报文;其中,第一VRF表中包括一个或多个本地路由,该一个或多个本地路由的下一跳出接口均为本地出接口,网络设备根据第一VRF表转发第一报文可以使得来自于隧道的报文被转发至本地的虚拟机进行处理,而不会被转发至其他的隧道端点设备,避免了转发报文时出现路由环路。

Description

一种报文转发方法及网络设备
技术领域
本申请涉及通信技术领域,尤其涉及一种报文转发方法及网络设备。
背景技术
随着云计算的快速发展,数据中心的虚拟化程度越来越高。为了满足日益增加的用户需求,数据中心通常采用可扩展虚拟局域网络(Virtual extensible Local AreaNetwork,VXLAN)技术来扩展网络虚拟化,以得到足够数量的虚拟网络,从而满足用户的使用需求。
数据中心的VXLAN中通常包括核心设备、对等的多个VXLAN隧道端点(VXLANTunnel End Point,VTEP)设备以及分别与VTEP设备连接的虚拟机(virtual machine,VM)。一般地,VM可以部署于与VTEP设备连接的服务器上。虚拟网络功能(virtual networkfunction,VNF)网元可以分布于多个VM上,该多个VM能够实现相同的网络功能,且共享同一个业务互联网(Internet Protocol,IP)地址。
目前,在VXLAN网络中,在同一VNF网元下的多个VM接入了不同的VXLAN隧道端点设备的情况下,VXLAN隧道端点设备在进行报文转发的时候容易出现路由环路的现象,导致报文无法被正确发送至VM处。
发明内容
本申请实施例提供了一种报文转发方法及网络设备,网络设备在接收到来自于传输隧道的报文(即由其他的隧道端点设备所转发的报文)时,网络设备基于只包括有下一跳为本地出接口的路由的虚拟路由转发(Virtual Routing Forwarding,VRF)表转发该报文,从而避免该报文再次被转发至其他的隧道端点设备,且避免了路由环路现象的出现,保证了报文的正常转发。
本申请第一方面提供了一种报文转发方法,所述方法可以应用于网络设备,所述网络设备包括第一VRF表和第二VRF表。所述方法包括:在网络设备的工作过程中,在网络设备接收到第一报文之后,网络设备可以确定第一报文中是否携带有隧道属性信息;如果所述第一报文携带有隧道属性信息,则表示第一报文是网络侧设备经过隧道传输给所述网络设备的,所述网络设备可以根据所述第一VRF表转发所述第一报文,其中,所述第一VRF表中包括一个或多个本地路由,所述一个或多个本地路由的下一跳出接口均为本地出接口。也就是说,网络设备根据第一VRF表转发第一报文时,可以保证网络设备所选择到的路由为本地路由,而不会出现选择到远端路由的情况。
本方案中,在网络设备接收到携带有隧道属性信息的报文时,例如该报文是从网络侧的隧道端点设备发送给该网络设备时,网络设备基于只包括有本地路由的VRF表转发该报文,从而避免了该报文再次被转发至其他的隧道端点设备,即避免了路由环路现象的出现,保证了报文的正常转发。
可选地,在一种可能的实现方式中,在所述网络设备接收第一报文之前,所述方法还包括:所述网络设备根据获取的路由为本地路由,生成所述第一VRF表;或者,所述网络设备确定所述第二VRF表中下一跳为本地出接口的路由,并根据所述第二VRF表中下一跳为本地出接口的路由生成所述第一VRF表。也就是说,网络设备可以基于第二VRF表中的本地路由来生成第一VRF表,从而使得生成的第一VRF表中只包括有本地路由;网络设备也可以是在确定获取到的路由为本地路由时,基于获取到的本地路由直接生成第一VRF表。所述本地路由可以为用于到达该网络设备连接的用户设备,如该网络设备挂载的VM的路由。
本方案中,通过获得的第一VRF表可以实现报文的快速、无环路转发,并且可以通过多种方式来生成第一VRF表,提高了方案实现的灵活性。
可选地,在一种可能的实现方式中,所述方法还包括:若所述第一报文未携带所述隧道属性信息,例如第一报文是本地的VM发送给网络设备的报文时,所述网络设备根据所述第二VRF表转发所述第一报文,其中,所述第二VRF表中包括多个路由,所述多个路由包括一个或多个下一跳出接口为远端出接口的路由以及所述一个或多个本地路由,即所述第二VRF表中可以包括有远端路由和本地路由。具体地,第二VRF表可以是网络设备从本地和其他的网络设备学习得到的VRF表。在该情形下,由于第一报文是从该网络设备的用户侧发送的,不会出现环路的情况,因而可以利用同时包括远端路由和本地路由的第二VRF表中选择路由,以实现流量转发的负载分担。
可选地,在一种可能的实现方式中,所述网络设备根据所述第一VRF表转发所述第一报文,包括:所述网络设备根据所述第一报文的目的地址,在所述第一VRF表中确定用于转发所述第一报文的第一路由,所述第一路由属于所述一个或多个本地路由;所述网络设备根据所述第一路由转发所述第一报文。也就是说,网络设备基于第一报文的目的地址,在第一VRF表中确定可以用于转发第一报文的一个或多个路由,所述一个或多个路由的前缀与第一报文的目的地址匹配;然后,网络设备可以基于负载均衡策略,在所述一个或多个路由中确定第一路由为用于转发第一报文的路由,最后基于该第一路由转发第一报文。
可选地,在一种可能的实现方式中,所述方法还包括:所述网络设备接收第二报文,所述第二报文包括所述目的地址;所述网络设备根据所述第二报文携带有所述隧道属性信息,并根据所述第二报文中的目的地址,在所述第一VRF表中确定用于转发所述第二报文的第二路由,所述第二路由属于所述一个或多个本地路由;所述网络设备根据所述第二路由转发所述第二报文。换句话说,对于携带有隧道属性信息的报文,网络设备均可以基于第一VRF表进行报文的转发,从而在保证流量无环路转发的基础上,实现流量转发的负载均衡,保证虚拟机资源的合理利用。
可选地,在一种可能的实现方式中,所述隧道属性信息可以是VXLAN隧道属性信息,或者多协议标签交换(Multi-Protocol Label Switching,MPLS)隧道属性信息,或者分段路由(Segment Routing,SR)隧道属性信息。
可选地,在一种可能的实现方式中,所述网络设备为数据中心网络中连接多个虚拟机的设备。例如,所述网络设备可以为与部署有一个或多个VM的服务器所连接的接入交换机(比如数据中心中的叶交换机)或接入路由器。
本申请第三方面提供一种网络设备,该网络设备包括:第一VRF表和第二VRF表;所述网络设备还包括:接收单元,用于接收第一报文;处理单元,用于若所述第一报文携带有隧道属性信息,根据所述第一VRF表转发所述第一报文,其中,所述第一VRF表中包括一个或多个本地路由,所述一个或多个本地路由的下一跳出接口均为本地出接口。
可选地,在一种可能的实现方式中,所述处理单元,还用于根据获取的路由为本地路由,生成所述第一VRF表;或者,确定所述第二VRF表中下一跳为本地出接口的路由,并根据所述第二VRF表中下一跳为本地出接口的路由生成所述第一VRF表。
可选地,在一种可能的实现方式中,所述处理单元,还用于若所述第一报文未携带所述隧道属性信息,根据所述第二VRF表转发所述第一报文,其中,所述第二VRF表中包括多个路由,所述多个路由包括一个或多个下一跳出接口为远端出接口的路由以及所述一个或多个本地路由。
可选地,在一种可能的实现方式中,所述处理单元还用于:根据所述第一报文的目的地址,在所述第一VRF表中确定用于转发所述第一报文的第一路由,所述第一路由属于所述一个或多个本地路由;根据所述第一路由转发所述第一报文。
可选地,在一种可能的实现方式中,所述接收单元,还用于接收第二报文,所述第二报文包括所述目的地址;根据所述第二报文携带有所述隧道属性信息,并根据所述第二报文中的目的地址,在所述第一VRF表中确定用于转发所述第二报文的第二路由,所述第二路由属于所述一个或多个本地路由;根据所述第二路由转发所述第二报文。
可选地,在一种可能的实现方式中,所述隧道属性信息为VXLAN隧道属性信息,或者MPLS隧道属性信息,或者SR隧道属性信息。
可选地,在一种可能的实现方式中,所述网络设备为数据中心网络中连接一个或多个虚拟机的设备。
本申请第三方面提供一种网络设备,该网络设备包括:处理器、存储器;存储器用于存储指令;处理器用于执行存储器中的指令,使得网络设备执行如前述第一方面中任一项的方法。
本申请第四方面提供一种网络设备,该网络设备包括:处理器;所述处理器与存储器耦合,所述处理器用于执行存储器中的指令,使得网络设备执行如前述第一方面中任一项的方法。
本申请第五方面提供一种计算机存储介质,该计算机存储介质可以是非易失性的;该计算机存储介质中存储有计算机可读指令,当该计算机可读指令被处理器执行时实现第一方面中任一设计中的方法。
本申请第六方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面中任一设计中的方法。
本申请第七方面提供一种芯片***,该芯片***包括处理器,用于支持网络设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,芯片***还包括存储器,存储器,用于保存网络设备必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包括芯片和其他分立器件。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种报文转发方法及网络设备,一方面,网络设备可以根据报文是否来自于网络侧,如网络侧的对端隧道端点设备,区分性地根据只包括本地路由的第一VRF表,或者根据同时包括远端路由和本地路由的第二VRF表进行选择性转发。具体地,网络设备在接收到来自于传输隧道的报文(即由其他的隧道端点设备所转发的报文)时,网络设备基于只包括有下一跳为本地出接口的路由的第一VRF表转发该报文,从而避免了该报文再次被转发至其他的隧道端点设备,即避免了路由环路现象的出现,保证了报文的正常转发。另一方面,网络设备可以根据第一VRF表和第二VRF表分别实现负载均衡,从而在一定程度上保证了流量转发的资源使用均衡性。
附图说明
图1为本申请实施例提供的数据中心组网示意图;
图2a为本申请实施例提供的南北流量的示意图;
图2b为本申请实施例提供的东西流量的示意图;
图3为本申请实施例提供的一种业务场景示意图;
图4为本申请实施例提供的另一种场景示意图;
图5为本申请实施例提供的一种报文转发方法500的流程示意图;
图6为本申请实施例提供的一种VRF表的示意图;
图7为本申请实施例提供的一种VXLAN隧道报文的封装示意图;
图8为本申请实施例提供的另一种业务场景示意图;
图9为本申请实施例提供的一种网络设备的结构示意图;
图10为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的单元的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个***中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分布到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本申请方案的目的。
在传统的移动通信网络中,例如第二代(2generation,2G)通信网络、第三代(3generation,3G)通信网络以及***(4generation,4G)通信网络,大多数的电信设备都是采用专有平台结构,即不同电信设备之间的软件和硬件彼此独立。比如,在4G网络***中,移动管理单元(mobility management entity,MME)、业务网关(serving gateway,S-GW)以及分组报文网关(packet data network gateway,P-GW)等分别由独立的框式或盒式设备承载,这些设备在软件层面以及硬件层面都没有交集。也就是说,如果在一个机房内,MME负荷低,MME的单板也不能***插到即将过载的S-GW网元上。
随着数据中心集成和规模化,以及第五代(5generation,5G)通信技术、网络功能虚拟化(network functions virtualization,NFV)技术、云技术的不断成熟,电信网元逐渐从专用的硬件平台,迁移到数据中心中通用的硬件平台,并且以VNF网元的形态部署在数据中心服务器的VM上,形成了电信云数据中心网络。
目前,在数据中心内部,具有交换数据集中、东西流量增多等特征,对数据中心网络的要求进一步提高。因此,为了适应以上变化,数据中心网络从传统的虚拟局域网络(virtual local area network,VLAN)网络,向VXLAN网络与软件定义网络(networkdefined software,SDN)转型,实现网络与业务的适配与联动,提高资源使用效率与业务发放效率。其中,VXLAN是一种网络虚拟化技术,通过将原主机发出的数据包封装在用户数据报协议(User Datagram Protocol,UDP)中,并使用物理网络的IP、MAC作为外层头进行封装,然后在网络上传输,到达目的地后由隧道终结点解封装并将数据发送给目标主机。通过VXLAN技术可以实现在已有三层网络上构建虚拟二层网络,实现VM之间的二层互通。
具体地,可以参阅图1,图1为本申请实施例提供的数据中心组网示意图。在数据中心中,典型的VXLAN组网可以包括:数据中心网络网关(data center gateway,DCGW)、脊(spine)交换机、叶(leaf)交换机以及VM;DCGW可以与一个或多个spine交换机连接,spine交换机可以与一个或多个leaf交换机连接,leaf交换机可以连接有一个或多个VM。其中,DCGW与leaf交换机之间可以建立VXLAN隧道,leaf交换机与leaf交换机之间也可以建立VXLAN隧道。
为了便于理解,以下将对VXLAN网络中所涉及的专业术语进行解释。
VTEP设备,VTEP设备是能够对VXLAN报文进行封装和解封装的网络设备。VXLAN报文中源IP地址为源端VTEP设备的IP地址,目的IP地址为目的端VTEP设备的IP地址。一对VTEP地址就对应着一条VXLAN隧道。源端VTEP设备对报文进行封装后,通过隧道向目的端VTEP设备发送封装后的报文,再由目的端VTEP设备对接收到的封装报文进行解封装。图1中的leaf交换机设备可以具有对VXLAN报文进行封装和解封装的能力,即为VTEP设备。
网络虚拟边缘(Network Virtualization Edge,NVE)设备,NVE设备是实现网络虚拟化功能的网络实体。报文在经过NVE设备封装转换后,NVE设备之间就可基于三层基础网络建立二层虚拟化网络,图1中的leaf交换机设备即为NVE设备。VTEP设备即属于NVE设备的一种类型。
二层网关(Level-2 GateWay,L2GW),L2GW类似于传统网络的二层接入设备,在VXLAN网络中通过L2GW可以解决租户接入VXLAN虚拟网络,也可用于同一VXLAN网络的子网通信。
三层网关(Level-3 GateWay,L3GW)。为了使VXLAN网络之间,以及VXLAN网络和非VXLAN网络之间能够进行通信,引入了L3GW的概念。L3GW可以用于VXLAN网络的跨子网通信以及外部网络的访问。其中,图1中的leaf交换机可以作为L2GW或者L3GW,又或者同时作为L2GW以及L3GW,即leaf交换机可以为L2GW/L3GW。
通常,数据中心网络的流量可划分为南北流量和东西流量。南北流量,指的是从外部网络进入数据中心网络的流量以及从数据中心网络流出外部网络的流量。在数据中心内部传输南北流量时,VXLAN隧道的一个端点在DCGW,另一个端点在leaf交换机,即流量是从DCGW到leaf交换机,或者是leaf交换机到DCGW。东西流量,指的是数据中心内部VM之间的流量。在数据中心内部传输东西流量时,VXLAN隧道的两个端点都在leaf交换机上,即流量通常是由一个leaf交换机到另一个leaf交换机。当流量从DCGW流入本leaf交换机,或者由另一leaf交换机流入本leaf交换机时,该流量属于从网络侧流入的流量。当该流量从用户侧设备或用户网络流入本leaf交换机,如从本leaf交换机挂载的VM流入本leaf交换机时,该流量属于从用户侧流入的流量。
具体地,可以参阅图2a,图2a为本申请实施例提供的南北流量的示意图。如图2a所示,从外部网络进入数据中心的报文由DCGW通过spine交换机1转发给leaf交换机1,最后由leaf交换机1转发给leaf交换机1所连接的VM1;同样,VM1将其所产生的报文发送给leaf 1,由leaf交换机1通过spine交换机1转发给DCGW,最后由DCGW发送给外部网络。其中,从DCGW到VM1的流量以及从VM1到DCGW的流量均可以称为南北流量。
可以参阅图2b,图2b为本申请实施例提供的东西流量的示意图。如图2a所示,VM1将其所产生的报文发送给leaf交换机1,由leaf交换机1通过spine交换机1转发给leaf交换机2,最后由leaf交换机2发送给VM3。其中,从VM1到VM3的流量可以称为东西流量。
一般地,在VXLAN网络中部署有SDN时,对于跨子网的两个VM之间的东西流量,leaf交换机可以实现就近转发,通过spine交换机将流量就近转发到另一个VM上,从而避免了跨子网的流量绕行到DCGW而形成流量瓶颈。
在数据中心网络中,VM是可以任意部署的;在一定的条件下,VM甚至是可以动态迁移的。这样,在VNF网元分布在多个VM上的情况下,多个VM共享同一个IP地址,且该多个VM可能是部署在不同的机架上的,即多个VM接入了不同的leaf交换机。如图3所示,图3为本申请实施例提供的一种业务场景示意图,VNF网元分布在VM1至VM4上,VM1至VM4可以共享同一个IP地址(IP地址例如可以为1.1.1.1)。其中,VM1和VM2接入leaf交换机1,VM3和VM4接入leaf交换机2。这样一来,在leaf交换机1或者leaf交换机2转发IP地址为1.1.1.1的报文时,对应的下一跳有可能是本地VM,下一跳也可能是远端VM。这里将下一跳为leaf交换机1的本地VM的路由称为本地路由,将下一跳为远端VM的路由称为远端路由。远端VM是不同于leaf交换机1的其他leaf交换机下挂载的VM。
具体地,对于图3中所示的leaf交换机1,leaf交换机1的VRF表具体可以为:
prefix:1.1.1.1nexthop:VM1(local)
(--前缀:1.1.1.1下一跳:VM1(本地))
prefix:1.1.1.1nexthop:VM2(local)
(--前缀:1.1.1.1下一跳:VM2(本地))
prefix:1.1.1.1nexthop:VM3(remote)
(--前缀:1.1.1.1下一跳:VM3(远端))
prefix:1.1.1.1nexthop:VM4(remote)
(--前缀:1.1.1.1下一跳:VM4(远端))
也就是说,在前缀(即目的地址)为1.1.1.1的情况下,leaf交换机1对应的下一跳路由包括有两个本地路由(下一跳为VM1和VM2)以及两个远端路由(下一跳为VM3和VM4)。
对于图3中所示的leaf交换机2,leaf交换机2的VRF表具体可以为:
prefix:1.1.1.1nexthop:VM1(remote)
(--前缀:1.1.1.1下一跳:VM1(远端))
prefix:1.1.1.1nexthop:VM2(remote)
(--前缀:1.1.1.1下一跳:VM2(远端))
prefix:1.1.1.1nexthop:VM3(local)
(--前缀:1.1.1.1下一跳:VM3(本地))
prefix:1.1.1.1nexthop:VM4(local)
(--前缀:1.1.1.1下一跳:VM4(本地))
同理,在前缀(即目的地址)为1.1.1.1的情况下,leaf交换机2对应的下一跳路由包括有两个远端路由(下一跳为VM1和VM2)以及两个本地路由(下一跳为VM3和VM4)。
一般地,为了实现VNF网元基于VM的负载均衡,即由多个VM均衡地分担VNF网元的业务,在leaf交换机上会实现本地路由和远端路由等价。也就是说,在leaf交换机转发某一个IP地址下的报文时,leaf交换机可以在该IP地址对应的多个本地路由和/或远端路由中等价选择其中一个路由,并基于所选择的路由转发该报文。
这样一来,在共享同一个IP地址的多个VM接入了不同的leaf交换机时,容易存在路由环路的问题。具体地,在leaf交换机1接收到目的地址为1.1.1.1的报文时,leaf交换机1在VM1至VM4中选择了VM3或VM4作为路由下一跳,由于VM3和VM4接入leaf交换机2,因此leaf交换机1将报文通过spine交换机1转发至leaf交换机2;leaf交换机2在接收到spine交换机1所转发的报文时,leaf交换机2可能选择VM1或VM2作为路由下一跳,因此leaf交换机2通过spine交换机2将该报文转发至leaf交换机1上。也就是说,该报文会一直在leaf交换机1和leaf交换机之间转发,并不能够到达目的地址,产生了路由环路的问题。
此外,如果leaf交换机在转发报文时,优先选择本地路由,虽然可以解决环路问题,但报文转发压力会全部集中在本地VM上,难以实现整网的负载均衡。如图4所示,图4为本申请实施例提供的另一种场景示意图。其中,VNF网元1分布在VM1和VM2上,VM1和VM2共享IP地址1.1.1.1;VNF网元2分布在VM3和VM4上,VM3和VM4共享IP地址2.2.2.2,且VM1至VM3接入leaf交换机1,VM4接入leaf交换机2。
此时,对于图4中所示的leaf交换机1,leaf交换机1的VRF表具体可以为:
prefix:1.1.1.1nexthop:VM1(local)
(--前缀:1.1.1.1下一跳:VM1(本地))
prefix:1.1.1.1nexthop:VM2(local)
(--前缀:1.1.1.1下一跳:VM2(本地))
prefix:2.2.2.2nexthop:VM3(local)
(--前缀:2.2.2.2下一跳:VM3(本地))
prefix:2.2.2.2nexthop:VM4(remote)
(--前缀:2.2.2.2下一跳:VM4(远端))
对于图4中所示的leaf交换机2,leaf交换机2的VRF表具体可以为:
prefix:1.1.1.1nexthop:VM1(remote)
(--前缀:1.1.1.1下一跳:VM1(远端))
prefix:1.1.1.1nexthop:VM2(remote)
(--前缀:1.1.1.1下一跳:VM2(远端))
prefix:2.2.2.2nexthop:VM3(remote)
(--前缀:2.2.2.2下一跳:VM3(远端))
prefix:2.2.2.2nexthop:VM4(local)
(--前缀:2.2.2.2下一跳:VM4(本地))
本实施例中上述VRF中的信息旨在更清晰地阐述本实施例的应用场景,可以理解地,实际应用中VRF表中呈现的信息内容和样式可以根据需要具体设计。在图4所示的场景下,如果leaf交换机在转发报文时优先选择本地路由,那么在leaf交换机1接收到由VM1或VM2发送的报文,且该报文的目的地址为2.2.2.2时,leaf交换机1依据优先选择本地路由的规则,会一直选择将报文转发给本地的VM3,从而导致VM3一直处于高负载状态,而VM4则一直处于空闲状态,无法实现负载均衡。
以上以图1示出的网络结构为例,可以理解地,数据中心网络的可能结构并不仅限于此。例如,数据中心网络也可以不包括spine交换机,或者在leaf交换机下还连接二层leaf交换机,然后由二层leaf交换机挂载VM用户设备等,该二层leaf交换机也可以理解为用户侧设备。但在不同的各种网络结构中,仍然可能存在上述描述的问题。
有鉴于此,本申请实施例提供一种报文转发方法,网络设备在接收到来自于传输隧道的报文(即由其他的隧道端点设备所转发的报文)时,网络设备基于只包括有下一跳为本地出接口的路由的虚拟路由转发(Virtual Routing Forwarding,VRF)表转发该报文,从而避免了该报文再次被转发至其他的隧道端点设备,即避免了路由环路现象的出现,保证了报文的准确转发。
其中,本申请实施例提供的报文转发方法可以应用于图3或图4所示的部署有VXLAN隧道的网络架构中,也可以应用于部署有其他传输隧道的网络架构中(例如部署有MPLS隧道或者SR隧道),在此不做限定。
可以参阅图5,图5为本申请实施例提供的一种报文转发方法500的流程示意图。如图5所示,本申请实施例提供的报文转发方法500,包括:
501、网络设备接收第一报文。
本实施例中,所述网络设备为数据中心网络中连接有一个或多个VM的设备。例如,所述网络设备可以为与部署有一个或多个VM的服务器所连接的接入交换机(比如leaf交换机)或接入路由器。所述网络设备可以接收其他设备所发送的报文,并将该报文转发给与其连接的VM。所述网络设备也可以接收与其连接的VM所发送的报文,并将报文转发给其他设备。以图3或图4为例,所述网络设备可以是leaf交换机1,上述其他设备可以是leaf交换机2,也可以是spine交换机1或spine交换机2等。这里,所述第一报文可以为与所述网络设备连接的VM所发送的报文,也可以为其他网络设备所发送的报文,例如是spine交换机向所述网络设备发送的报文。
502、若所述第一报文携带有隧道属性信息,所述网络设备根据所述第一VRF表转发所述第一报文,其中,所述第一VRF表中包括一个或多个本地路由,所述一个或多个本地路由的下一跳出接口均为本地出接口。
本实施例中,所述网络设备在接收到第一报文之后,所述网络设备确定第一报文中是否携带有隧道属性信息。如果第一报文中携带有隧道属性信息,则表示第一报文是经过网络侧的隧道传输给所述网络设备的,例如第一报文是由网络侧的VTEP设备发送的。仍以图3示出的VXLAN场景为例,若第一报文中携带有VXLAN隧道属性信息,该第一报文可以是由DCGW经过DCGW与网络设备之间的VXLAN隧道传输给所述网络设备的,并需要由所述网络设备继续转发。若第一报文中未携带VXLAN隧道属性信息,则该第一报文可以是所述网络设备挂载的VM需发送的报文,可以经由所述网络设备发送给其他设备(如其他leaf交换机)挂载的VM等。
因此,在第一报文携带有隧道属性信息的情况下,为了避免网络设备在转发第一报文时选择到远端路由而造成路由环路,网络设备根据第一VRF表转发该第一报文。其中,所述网络设备中包括有第一VRF表和第二VRF表,即网络设备包括有两个用于实现报文转发的VRF表。具体地,第一VRF表中包括有一个或多个本地路由,所述本地路由即用于到达所述网络设备连接的用户侧设备,如leaf交换机1挂载的VM的路由,所述一个或多个本地路由的下一跳出接口均为本地出接口,即第一VRF表中只包括有本地路由。也就是说,网络设备根据第一VRF表转发第一报文时,可以保证网络设备所选择到的路由为本地路由,而不会出现选择到远端路由的情况。所述远端路由可以是所述网络设备存储的VRF表中用于到达其他网络设备挂载的用户侧设备,如leaf交换机2挂载的VM的路由。
具体地,所述网络设备根据所述第一VRF表转发所述第一报文可以是:所述网络设备根据所述第一报文的目的地址,在所述第一VRF表中确定用于转发所述第一报文的第一路由,所述第一路由属于所述一个或多个本地路由;所述网络设备根据所述第一路由转发所述第一报文。也就是说,网络设备基于第一报文的目的地址,在第一VRF表中确定可以用于转发第一报文的一个或多个路由,所述一个或多个路由的前缀与第一报文的目的地址匹配;然后,网络设备可以基于一定的转发策略,如负载均衡策略,在所述一个或多个路由中确定第一路由为用于转发第一报文的路由,最后基于该第一路由转发第一报文。例如,网络设备基于第一报文的目的地址在第一VRF表中确定可以用于转发第一报文的路由包括有第一路由、第二路由和第三路由,则网络设备可以基于负载均衡策略选择适合的第一路由作为转发第一报文的路由。
在网络设备接收到第二报文,所述第二报文包括有与第一报文相同的目的地址时,网络设备可以根据所述第二报文携带有所述隧道属性信息,并根据所述第二报文中的目的地址,在所述第一VRF表中确定用于转发所述第二报文的第二路由,所述第二路由属于所述一个或多个本地路由。也就是说,网络设备在接收到第二报文时,基于负载均衡策略随机选择了第二路由作为用于转发第二报文的路由。也就是说,对于携带有隧道属性信息的报文,网络设备可以基于第一VRF表实现报文转发的负载均衡,保证虚拟机资源的合理利用。所述负载均衡策略例如可以是基于等价多路径(Equal-Cost Multi-Path,ECMP)路由实现的。
这样一来,在网络设备接收到携带有隧道属性信息的报文时,网络设备基于只包括有本地路由的VRF表转发该报文,从而避免了该报文再次被转发至其他的隧道端点设备,即避免了路由环路现象的出现,保证了报文的正常转发。
值得注意的是,本申请实施例中,网络设备还包括有第二VRF表。若第一报文中没有携带隧道属性信息,则网络设备根据所述第二VRF表转发所述第一报文。其中,所述第二VRF表中包括多个路由,所述多个路由可以包括一个或多个下一跳出接口为远端出接口的路由以及所述一个或多个本地路由,即所述第二VRF表中可以包括有远端路由和本地路由。具体地,第二VRF表可以是网络设备学习得到的VRF表,网络设备通过学习网络中其他设备所发布的路由,以及本地学习到的路由而得到所述第二VRF表。例如,网络设备与网络中的路由反射器(route reflector,RR)建立边界网关协议邻居(border gateway protocolpeer,BGP Peer)关系。RR在获取到新的路由时,可以向与其连接的BGP Peer发布路由,从而使得网络设备可以学习到路由,形成或更新第二VRF表。
在一种可能的实现方式中,若第一报文中没有携带隧道属性信息,则网络设备根据第二VRF表转发所述第一报文具体可以通过对网络设备的逻辑接口进行配置来实现。具体地,对于网络设备的逻辑接口--vbdif接口,即本地业务端口,可以配置vbdif接口与第二VRF表绑定。也就是说,网络设备从vbdif接口接收到的报文均基于绑定的第二VRF表来实现转发。其中,vbdif接口为网络设备中的本地业务端口,主要用于接收所述网络设备的用户侧设备,如所述网络设备挂载的VM发送的报文,并不会接收到由其他的隧道端点设备所发送的报文。因此,通过配置vbdif接口与第二VRF表绑定,可以实现从本地接收到的报文能够基于第二VRF表正常转发。在本申请实施例中,网络设备可以通过多种方式来得到第一VRF表。
在一种可能的实施方式中,网络设备可以基于第二VRF表来生成第一VRF表。具体地,网络设备确定第二VRF表中下一跳为本地出接口的路由,即网络设备确定第二VRF表中的本地路由,并根据所述第二VRF表中的下一跳为本地出接口的路由生成第一VRF表。简单来说,网络设备可以通过拷贝第二VRF表中的本地路由来生成第一VRF表,从而使得生成的第一VRF表中只包括有本地路由。具体地,可以参阅图6,图6为本申请实施例提供的一种VRF表的示意图。图6中的(a)表示第二VRF表,图6中的(b)表示基于第二VRF表所生成的第一VRF表。由图6可以看出,第二VRF表中包括有本地路由以及远端路由,而第一VRF表中只包括有本地路由,且第一VRF表中所包括的本地路由与第二VRF表中所包括的本地路由相同。
在另一种可能的实施方式中,网络设备可以根据获取到的路由为本地路由,生成第一VRF表。具体地,网络设备在获取到路由时,例如接收到BGP Peer所发布的新路由时,网络设备确定获取到的路由是否为本地路由,若网络设备获取到的路由为本地路由,则网络设备基于获取到的本地路由生成或更新第一VRF表。
可以理解的是,在隧道端点设备通过隧道传输报文时,作为源端点的隧道端点设备会对报文进行隧道封装,封装后的报文中会携带有隧道属性信息。因此,网络设备对来自于隧道的报文进行解封装后,即可确定报文中携带有隧道属性信息。具体地,以VXLAN隧道为例,可以参阅图7,图7为本申请实施例提供的一种VXLAN隧道报文的封装示意图。如图7所示,在原始报文中包括有效载荷(payload)、内部互联网协议头部(inner IP header)以及内部以太网头部(inner ethernet header),在对报文进行VXALN隧道封装之后,报文中增加了VXLAN头部,而VXLAN头部前面则是标准的UDP头部,即包括了外部以太网头部(outerethernet header)、外部互联网协议头部(outer IP header)以及外部用户数据报协议头部(outer UDP header)。其中,报文中的VXLAN头部或者VXLAN头部中的部分数据位则可以作为隧道属性信息,以标识报文是来自于VXLAN隧道的。可选地,在网络设备在对报文解封装且确定该报文来自于隧道之后,可以保留报文中的部分数据位,以标记该报文的隧道属性,以便于后续对报文所执行的转发操作。作为一种更为具体的实现方式,VXLAN报文格式可参见标准RFC7348,该标准的全部内容在此引入到本申请实施例中。
可以理解的是,以上是以隧道为VXLAN隧道为例,对隧道属性信息进行了说明;在本申请实施例中,第一报文所携带的隧道属性信息具体还可以是MPLS隧道属性信息或者SR隧道属性信息等隧道属性信息,本申请实施例不做具体限定。
以上方法实施例虽然以图1示出的数据中心的网络结构作为示例进行了阐述,还可以理解的是,该数据中心的网络结构并不作为本方法实施例的唯一限定,在实际应用中,本方法实施例可以用于解决其他应用场景或网络结构中的类似问题。
为了便于理解,以下将结合具体的例子对本申请实施例提供的报文转发方法进行详细的叙述。
以图3所示的业务场景为例,leaf交换机1上包括有第一VRF表和第二VRF表,其中,第一VRF表具体为:
prefix:1.1.1.1nexthop:VM1(local)
(--前缀:1.1.1.1下一跳:VM1(本地))
prefix:1.1.1.1nexthop:VM2(local)
(--前缀:1.1.1.1下一跳:VM2(本地))
第二VRF表中则还包括下一跳为VM3和VM4的远端路由,具体可以参考前文的叙述。
在leaf交换机1上包括有第一VRF表和第二VRF表的情况下,如果leaf交换机1接收到DCGW经过spine交换机1所转发的报文之后,leaf交换机1可以确定报文中携带有VXLAN隧道属性信息,因此,leaf交换机1可以基于第一VRF表转发该报文。比如,在报文的目的地址为1.1.1.1时,leaf交换机1可以在第一VRF表中确定下一跳为VM1以及下一跳为VM2的路由为可用于转发报文的路由,然后leaf交换机1在前述两个路由确定一个为用于转发报文的路由,从而实现将报文转发至本地的VM1或VM2中。
对于由DCGW或者leaf交换机2等隧道端点设备转发给leaf交换机1的报文,leaf交换机1均基于第一VRF表实现报文的转发,能够避免leaf交换机1选择到远端路由而再次将报文转发到leaf交换机2上,即避免了路由环路现象的出现。
此外,对于图4所示的业务场景,由于leaf交换机1在接收到没有携带有隧道属性信息的报文时,leaf交换机1基于包括有本地路由以及远端路由的第二VRF表转发报文,即无需优先选择本地路由,因此可以保证leaf交换机1基于负载均衡策略在本地路由和远端路由中选择其中的一个路由为转发报文的路由,即保证了leaf交换机1在转发来自于本地的VM所发送的报文时(即本地报文),能够实现负载均衡,避免了资源的浪费。
可以参阅图8,图8为本申请实施例提供的另一种业务场景示意图。
在图8对应的业务场景中,VNF网元1分布在VM1和VM3上,VM1和VM3共享IP地址1.1.1.1;VNF网元2分布在VM2和VM4上,VM2和VM4共享同一个IP地址2.2.2.2。并且,VM1和VM2接入leaf交换机1,VM3和VM4接入leaf交换机2。
对于leaf交换机1来说,leaf交换机1所包括的第一VRF表具体为:
prefix:1.1.1.1nexthop:VM1(local)
(--前缀:1.1.1.1下一跳:VM1(本地))
prefix:2.2.2.2nexthop:VM2(local)
(--前缀:2.2.2.2下一跳:VM2(本地))
leaf交换机1所包括的第二VRF表具体为:
prefix:1.1.1.1nexthop:VM1(local)
(--前缀:1.1.1.1下一跳:VM1(本地))
prefix:2.2.2.2nexthop:VM2(local)
(--前缀:2.2.2.2下一跳:VM2(本地))
prefix:1.1.1.1nexthop:VM3(remote)
(--前缀:1.1.1.1下一跳:VM3(远端))
prefix:2.2.2.2nexthop:VM4(remote)
(--前缀:2.2.2.2下一跳:VM4(远端))
在leaf交换机1接收到由DCGW或者leaf交换机2所转发的报文时,leaf交换机基于上述的第一VRF表进行报文的转发,即保证了目的地址为1.1.1.1的报文被转发至VM1以及目的地址为2.2.2.2的报文被转发至VM2,并不会出现leaf交换机1将报文再次转发至leaf交换机2的现象。
此外,在leaf交换机接收到来自于VM1且目的地址为2.2.2.2的报文时,由于该报文没有携带有隧道属性信息,leaf交换机1基于前述的第二VRF表转发该报文;也就是说,leaf交换机1可以基于负载均衡策略在下一跳为VM2以及下一跳为VM4的两个路由中选择一个路由作为转发报文的路由,实现负载均衡,从而避免资源的浪费。
也就是说,在网络设备采用了本申请实施例提供的报文转发方法之后,既可以避免路由环路现象的出现,又可以保证基于负载均衡策略来实现报文的转发,避免资源的浪费。
图9为本申请实施例提供的一种网络设备的结构示意图,本申请实施例提供的网络设备90,例如可以为上述各方法实施例中的leaf交换机1或leaf交换机2等。网络设备90例如可以包括:第一VRF表和第二VRF表;所述网络设备还包括:接收单元901,用于接收第一报文;处理单元902,用于若所述第一报文携带有隧道属性信息,根据所述第一VRF表转发所述第一报文,其中,所述第一VRF表中包括一个或多个本地路由,所述一个或多个本地路由的下一跳出接口均为本地出接口。
可选地,在一种可能的实现方式中,所述处理单元902,还用于根据获取的路由为本地路由,生成所述第一VRF表;或者,确定所述第二VRF表中下一跳为本地出接口的路由,并根据所述第二VRF表中下一跳为本地出接口的路由生成所述第一VRF表。
可选地,在一种可能的实现方式中,所述处理单元902,还用于若所述第一报文未携带所述隧道属性信息,根据所述第二VRF表转发所述第一报文,其中,所述第二VRF表中包括多个路由,所述多个路由包括一个或多个下一跳出接口为远端出接口的路由以及所述一个或多个本地路由。
可选地,在一种可能的实现方式中,所述处理单元902还用于:根据所述第一报文的目的地址,在所述第一VRF表中确定用于转发所述第一报文的第一路由,所述第一路由属于所述一个或多个本地路由;根据所述第一路由转发所述第一报文。
可选地,在一种可能的实现方式中,所述接收单元901,还用于接收第二报文,所述第二报文包括所述目的地址;根据所述第二报文携带有所述隧道属性信息,并根据所述第二报文中的目的地址,在所述第一VRF表中确定用于转发所述第二报文的第二路由,所述第二路由属于所述一个或多个本地路由;根据所述第二路由转发所述第二报文。
可选地,在一种可能的实现方式中,所述隧道属性信息为可扩展虚拟局域网络VXLAN隧道属性信息,或者多协议标签交换MPLS隧道属性信息,或者分段路由SR隧道属性信息。
可选地,在一种可能的实现方式中,所述网络设备为数据中心网络中连接一个或多个虚拟机的设备。
图10为本申请实施例提供的一种网络设备的结构示意图,如图10所示,提供了一种网络设备100。网络设备100例如可以是前述方法实施例中的第二网络设备。网络设备100包括:处理器1001。所述处理器1001与存储器1002耦合。存储器1002可以独立于处理器1001之外或独立于网络设备100之外,如存储器(Memory)#3,也可以在处理器1001或网络设备100之内(Memory#1和Memory#2)。存储器1002可以是物理上独立的单元,也可以是云服务器上的存储空间或网络硬盘等。可选地,存储器1002可以为一个或多个。当存储器1002的个数为多个时,可以位于相同的或不同的位置,并且可以独立或配合使用。
存储器1002用于存储计算机可读指令(或者称之为计算机程序)。
处理器1001用于读取计算机可读指令以实现前述有关网络设备的方面及其任意实现方式提供的方法。
可选的,该网络设备100还包括收发器1003,用于接收和发送数据。
另外,该处理器1001可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。另外,该存储器1002可以包括:易失性存储器(volatilememory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD)、云存储(cloud storage)、网络附接存储(network attached storage)、网盘(network drive)等;存储器还可以包括上述种类的存储器的组合或者其他具有存储功能的任意形态的介质或产品。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (14)

1.一种报文转发方法,其特征在于,应用于网络设备,所述网络设备包括第一虚拟路由转发VRF表和第二VRF表,所述方法包括:
网络设备接收来自对端隧道端点设备通过传输隧道发送的第一报文;
若所述第一报文携带有隧道属性信息,所述网络设备根据所述第一VRF表转发所述第一报文,其中,所述第一VRF表中包括一个或多个本地路由,所述一个或多个本地路由的下一跳出接口均为本地出接口;
若所述第一报文未携带所述隧道属性信息,所述网络设备根据所述第二VRF表转发所述第一报文,其中,所述第二VRF表中包括多个路由,所述多个路由包括一个或多个下一跳出接口为远端出接口的路由以及所述一个或多个本地路由。
2.根据权利要求1所述的方法,其特征在于,在所述网络设备接收第一报文之前,所述方法包括:
所述网络设备根据获取的路由为本地路由,生成所述第一VRF表;或者,
所述网络设备确定所述第二VRF表中下一跳为本地出接口的路由,并根据所述第二VRF表中下一跳为本地出接口的路由生成所述第一VRF表。
3.根据权利要求1至2任意一项所述的方法,其特征在于,所述网络设备根据所述第一VRF表转发所述第一报文,包括:
所述网络设备根据所述第一报文的目的地址,在所述第一VRF表中确定用于转发所述第一报文的第一路由,所述第一路由属于所述一个或多个本地路由;
所述网络设备根据所述第一路由转发所述第一报文。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述网络设备接收第二报文,所述第二报文包括所述目的地址;
所述网络设备根据所述第二报文携带有所述隧道属性信息,并根据所述第二报文中的目的地址,在所述第一VRF表中确定用于转发所述第二报文的第二路由,所述第二路由属于所述一个或多个本地路由;
所述网络设备根据所述第二路由转发所述第二报文。
5.根据权利要求1至2任意一项所述的方法,其特征在于,所述隧道属性信息为可扩展虚拟局域网络VXLAN隧道属性信息,或者多协议标签交换MPLS隧道属性信息,或者分段路由SR隧道属性信息。
6.根据权利要求1至2任意一项所述的方法,其特征在于,所述网络设备为数据中心网络中连接多个虚拟机的设备。
7.一种网络设备,其特征在于,包括:第一VRF表和第二VRF表;
所述网络设备还包括:
接收单元,用于接收来自对端隧道端点设备通过传输隧道发送的第一报文;
处理单元,用于若所述第一报文携带有隧道属性信息,根据所述第一VRF表转发所述第一报文,其中,所述第一VRF表中包括一个或多个本地路由,所述一个或多个本地路由的下一跳出接口均为本地出接口;
所述处理单元,还用于若所述第一报文未携带所述隧道属性信息,根据所述第二VRF表转发所述第一报文,其中,所述第二VRF表中包括多个路由,所述多个路由包括一个或多个下一跳出接口为远端出接口的路由以及所述一个或多个本地路由。
8.根据权利要求7所述的网络设备,其特征在于,所述处理单元,还用于根据获取的路由为本地路由,生成所述第一VRF表;或者,确定所述第二VRF表中下一跳为本地出接口的路由,并根据所述第二VRF表中下一跳为本地出接口的路由生成所述第一VRF表。
9.根据权利要求7至8任意一项所述的网络设备,其特征在于,所述处理单元还用于:
根据所述第一报文的目的地址,在所述第一VRF表中确定用于转发所述第一报文的第一路由,所述第一路由属于所述一个或多个本地路由;
根据所述第一路由转发所述第一报文。
10.根据权利要求9所述的网络设备,其特征在于,所述接收单元,还用于接收第二报文,所述第二报文包括所述目的地址;
根据所述第二报文携带有所述隧道属性信息,并根据所述第二报文中的目的地址,在所述第一VRF表中确定用于转发所述第二报文的第二路由,所述第二路由属于所述一个或多个本地路由;
根据所述第二路由转发所述第二报文。
11.根据权利要求7至8任意一项所述的网络设备,其特征在于,所述隧道属性信息为可扩展虚拟局域网络VXLAN隧道属性信息,或者多协议标签交换MPLS隧道属性信息,或者分段路由SR隧道属性信息。
12.根据权利要求7至8任意一项所述的网络设备,其特征在于,所述网络设备为数据中心网络中连接一个或多个虚拟机的设备。
13.一种网络设备,其特征在于,包括:处理器、存储器;存储器用于存储指令;处理器用于执行存储器中的指令,使得所述网络设备执行如权利要求1至6任意一项所述的方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机可读指令,当该计算机可读指令被处理器执行时实现如权利要求1至6任意一项所述的方法。
CN202010314463.0A 2020-04-20 2020-04-20 一种报文转发方法及网络设备 Active CN113542111B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010314463.0A CN113542111B (zh) 2020-04-20 2020-04-20 一种报文转发方法及网络设备
US17/232,431 US11706140B2 (en) 2020-04-20 2021-04-16 Packet forwarding method and network device
EP21169051.6A EP3902207A1 (en) 2020-04-20 2021-04-19 Packet forwarding method and network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010314463.0A CN113542111B (zh) 2020-04-20 2020-04-20 一种报文转发方法及网络设备

Publications (2)

Publication Number Publication Date
CN113542111A CN113542111A (zh) 2021-10-22
CN113542111B true CN113542111B (zh) 2024-05-14

Family

ID=75581419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010314463.0A Active CN113542111B (zh) 2020-04-20 2020-04-20 一种报文转发方法及网络设备

Country Status (3)

Country Link
US (1) US11706140B2 (zh)
EP (1) EP3902207A1 (zh)
CN (1) CN113542111B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11601395B1 (en) * 2021-12-22 2023-03-07 Uab 360 It Updating parameters in a mesh network
US11799830B2 (en) 2021-12-29 2023-10-24 Uab 360 It Access control in a mesh network
CN115277550B (zh) * 2022-06-21 2023-11-28 阿里巴巴(中国)有限公司 虚拟网络的路由***、路由方法及路由装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139068A (zh) * 2011-11-28 2013-06-05 华为技术有限公司 转发报文的方法、路由器和***
WO2015070667A1 (zh) * 2013-11-13 2015-05-21 华为技术有限公司 路由信息发布的方法、传输报文的方法及装置
CN105306333A (zh) * 2014-06-30 2016-02-03 瞻博网络公司 跨越多个网络的服务链接
WO2016077060A1 (en) * 2014-11-12 2016-05-19 Cisco Technology, Inc. Optimized inter-vrf (virtual routing and forwarding ) route leaking in network overlay based environments
CN106209553A (zh) * 2015-04-30 2016-12-07 华为技术有限公司 报文处理方法、设备及***
CN108809847A (zh) * 2017-05-05 2018-11-13 华为技术有限公司 实现负载均衡的方法、装置和网络***
CN109995654A (zh) * 2017-12-29 2019-07-09 中兴通讯股份有限公司 一种基于隧道传输数据的方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6907039B2 (en) * 2002-07-20 2005-06-14 Redback Networks Inc. Method and apparatus for routing and forwarding between virtual routers within a single network element
US7792021B1 (en) * 2005-08-22 2010-09-07 Sprint Communications Company L.P. Solutions for preventing routing loops and load balancing when connected to a multihomed autonomous system
US20100027549A1 (en) 2008-07-31 2010-02-04 Michael Satterlee Method and apparatus for providing virtual private network identifier
US8570865B2 (en) * 2011-02-14 2013-10-29 Mellanox Technologies Ltd. Reducing power consumption in a fat-tree network
US9692687B2 (en) * 2011-03-18 2017-06-27 Alcatel Lucent Method and apparatus for rapid rerouting of LDP packets
US9331941B2 (en) * 2013-08-12 2016-05-03 Cisco Technology, Inc. Traffic flow redirection between border routers using routing encapsulation
US9397946B1 (en) 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
US9678840B2 (en) * 2014-04-29 2017-06-13 Cisco Technology, Inc. Fast failover for application performance based WAN path optimization with multiple border routers

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139068A (zh) * 2011-11-28 2013-06-05 华为技术有限公司 转发报文的方法、路由器和***
WO2015070667A1 (zh) * 2013-11-13 2015-05-21 华为技术有限公司 路由信息发布的方法、传输报文的方法及装置
CN105306333A (zh) * 2014-06-30 2016-02-03 瞻博网络公司 跨越多个网络的服务链接
WO2016077060A1 (en) * 2014-11-12 2016-05-19 Cisco Technology, Inc. Optimized inter-vrf (virtual routing and forwarding ) route leaking in network overlay based environments
CN106209553A (zh) * 2015-04-30 2016-12-07 华为技术有限公司 报文处理方法、设备及***
CN108809847A (zh) * 2017-05-05 2018-11-13 华为技术有限公司 实现负载均衡的方法、装置和网络***
CN109995654A (zh) * 2017-12-29 2019-07-09 中兴通讯股份有限公司 一种基于隧道传输数据的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J. Uttaro ; AT amp ; amp ; amp ; T ; P. Mohapatra ; Sproute Networks ; D. Smith ; Cisco Systems ; R. Raszuk ; Mirantis Inc. ; J. Scudder ; .BGP ACCEPT_OWN Community Attribute.IETF .2015,第1-8页. *

Also Published As

Publication number Publication date
EP3902207A1 (en) 2021-10-27
US11706140B2 (en) 2023-07-18
US20210328922A1 (en) 2021-10-21
CN113542111A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
US11283707B2 (en) Segment routing with fast reroute for container networking
CN112470436B (zh) 用于提供多云连通性的***、方法、以及计算机可读介质
US10116559B2 (en) Operations, administration and management (OAM) in overlay data center environments
US10333836B2 (en) Convergence for EVPN multi-homed networks
US10320664B2 (en) Cloud overlay for operations administration and management
CN106936777B (zh) 基于OpenFlow的云计算分布式网络实现方法、***
CN106101023B (zh) 一种vpls报文处理方法及设备
RU2704714C1 (ru) Технологии для предоставления максимальной глубины идентификатора сегмента узла и/или линии связи, использующие ospf
US20150124823A1 (en) Tenant dhcp in an overlay network
CN113542111B (zh) 一种报文转发方法及网络设备
US20210385163A1 (en) Packet processing method, packet forwarding apparatus, and packet processing apparatus
US20210359879A1 (en) Packet forwarding method and network device
US10715352B2 (en) Reducing data transmissions in a virtual private network
CN113726915A (zh) 网络***及其中的报文传输方法和相关装置
WO2022007702A1 (zh) 一种报文处理方法及网络设备
CN110022263B (zh) 一种数据传输的方法及相关装置
CN113542112B (zh) 一种报文转发方法及网络设备
CN116888940A (zh) 利用虚拟联网的容器化路由器
CN117097818A (zh) 一种报文处理的方法及相关设备
CN116137632A (zh) 一种报文处理方法、装置及设备
CN117880097A (zh) 云租户eip迁移方法、装置、计算机设备及存储介质

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