CN111371666B - 一种处理报文的方法、设备及*** - Google Patents

一种处理报文的方法、设备及*** Download PDF

Info

Publication number
CN111371666B
CN111371666B CN201811602656.5A CN201811602656A CN111371666B CN 111371666 B CN111371666 B CN 111371666B CN 201811602656 A CN201811602656 A CN 201811602656A CN 111371666 B CN111371666 B CN 111371666B
Authority
CN
China
Prior art keywords
vxlan
network device
port number
message
address
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
CN201811602656.5A
Other languages
English (en)
Other versions
CN111371666A (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 CN201811602656.5A priority Critical patent/CN111371666B/zh
Priority to PCT/CN2019/127718 priority patent/WO2020135381A1/zh
Publication of CN111371666A publication Critical patent/CN111371666A/zh
Application granted granted Critical
Publication of CN111371666B publication Critical patent/CN111371666B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal

Landscapes

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

Abstract

一种处理报文的方法、设备及***。所述方法包括,第一网络设备经由NAT设备向第二网络设备发送第一VXLAN报文,所述第一VXLAN报文包括第一目的端口号和第一源端口号。所述第一网络设备经由VXLAN隧道接收所述NAT设备发送的第四VXLAN报文,所述第四VXLAN报文包括的第四目的端口号的值等于所述第一源端口号的值。所述第一网络设备确定所述第四目的端口号与所述第一源端口号相同后,根据VXLAN协议处理所述第四VXLAN报文。

Description

一种处理报文的方法、设备及***
技术领域
本申请涉及通信技术领域,尤其涉及一种处理报文的方法、设备及***。
背景技术
虚拟扩展局域网(virtual extensible local area network,VXLAN)技术是一种将二层报文用三层协议进行封装的技术。VXLAN技术涉及MAC-in-UDP格式的报文。具体地,将基于媒体接入控制(Media Access Control,MAC)协议的以太网帧封装在用户数据报协议(user datagram protocol,UDP)报文中。进一步地,将UDP报文封装在互联网协议(Internet Protocol,IP)报文中。可以在三层网络中传输IP报文。因此,实现了以太网帧在三层网络中传送。VXLAN技术使用VXLAN网络标识符(VXLAN network identifier,VNI)标识VXLAN网段。不同的VXLAN网段分别对应不同的VNI。不同的VXLAN网段之间是隔离的。同一个VNI内的两个虚拟机(virtual machine,VM)可以直接通信。也就是说,同一个VNI内的两个VM进行通信时不需要经由VXLAN三层网关(VXLAN L3 gateway)。分别位于不同VNI中的两个VM通信需要经由VXLAN三层网关。VNI字段包含24比特。一个管理域最多可以包含216个VXLAN网段。
VXLAN隧道端点(VXLAN tunnel end point,VTEP)设备是VXLAN中的边缘设备。VTEP设备通过VXLAN隧道传输VXLAN的流量。VXLAN隧道是指两个VTEP设备之间的点到点逻辑隧道。
在实际应用中,位于私有网络的第一VTEP设备和位于公共网络的第二VTEP设备之间的VXLAN隧道上可以包括网络地址转换(network address translation,NAT)设备。所述第二VTEP设备经由所述NAT设备向所述第一VTEP设备发送VXLAN报文过程中,所述NAT设备会发生网络地址转换错误,从而导致所述第一VTEP设备接收不到所述VXLAN报文。
发明内容
有鉴于此,本申请实施例提供了一种处理报文的方法、设备及***,在VXLAN中,位于公共网络的第二网络设备在向位于私有网络的第一网络设备发送VXLAN流量过程中,所述第二网络设备更改所述VXLAN流量的目的端口号,确保所述VXLAN流量传输路径上的NAT设备不会发生网络地址转换错误,从而,确保所述第一网络设备能够接收到所述VXLAN流量。
本申请实施例提供的技术方案如下。
第一方面,提供了一种处理报文的方法,所述方法包括,第一网络设备经由NAT设备向第二网络设备发送第一VXLAN报文,所述第一VXLAN报文包括第一目的端口号和第一源端口号,所述第一目的端口号指示所述第一VXLAN报文是VXLAN报文,所述第一源端口号指示所述第一网络设备用于发送VXLAN报文的端口。所述第一网络设备经由VXLAN隧道接收所述NAT设备发送的第四VXLAN报文,所述第四VXLAN报文包括第四目的端口号,所述第四目的端口号的值等于所述第一源端口号的值,所述第四目的端口号是所述第四VXLAN报文的目的端口号。然后,所述第一网络设备确定所述第四VXLAN报文中的所述第四目的端口号与所述第一源端口号相同。并且,所述第一网络设备根据VXLAN协议处理所述第四VXLAN报文。
基于实施例提供的方案,在VXLAN中,第二网络设备和第一网络设备之间的NAT设备能够完成VXLAN流量从公共网络到私有网络的转换,从而确保所述第一网络设备能够接收到所述第二网络设备发送的VXLAN流量。
可选的,所述第一VXLAN报文还包括NAT标记,所述NAT标记指示所述第一网络设备发送的VXLAN报文经过所述NAT设备。
可选的,所述第一VXLAN报文还包括VXLAN头,所述VXLAN头包括所述NAT标记。
可选的,所述第一VXLAN报文还包括第一源IP地址和第一目的IP地址,所述第一源IP地址指示所述第一网络设备的IP地址,所述第一目的IP地址指示所述第二网络设备的IP地址。
可选的,所述第四VXLAN报文还包括第四源IP地址和第四目的IP地址,所述第四源IP地址指示所述第二网络设备的IP地址,所述第四目的IP地址指示所述第一网络设备的IP地址。
第二方面,提供了一种处理报文的方法,所述方法包括,第二网络设备接收NAT设备发送的第二VXLAN报文,所述第二VXLAN报文包括第二目的端口号和第二源端口号,所述第二目的端口号指示所述第二VXLAN报文是VXLAN报文,所述第二源端口号指示所述NAT设备的端口。然后,所述第二网络设备根据所述第二VXLAN报文中的所述第二目的端口号建立所述NAT设备和所述第二网络设备之间的VXLAN隧道。并且,所述第二网络设备经由所述VXLAN隧道向所述NAT设备发送第三VXLAN报文,所述第三VXLAN报文包括第三目的端口号,所述第三目的端口号的值等于所述第二源端口号的值,所述第三目的端口号是所述第三VXLAN报文的目的端口号。
基于实施例提供的方案,在VXLAN中,第二网络设备和第一网络设备之间的NAT设备能够完成VXLAN流量从公共网络到私有网络的转换,从而确保所述第一网络设备能够接收到所述第二网络设备发送的VXLAN流量。
在第二方面的一种可能的实现方式中,,所述第二VXLAN报文还包括NAT标记,所述NAT标记指示VXLAN报文经过所述NAT设备,在所述第二网络设备经由所述VXLAN隧道向所述NAT设备发送第三VXLAN报文之前,所述方法还包括,所述第二网络设备确定所述第二VXLAN报文中包括所述NAT标记;所述第二网络设备将所述第二源端口号确定为所述第三目的端口号。
可选的,所述第二VXLAN报文还包括VXLAN头,所述VXLAN头包括所述NAT标记。
可选的,所述第二VXLAN报文还包括第二源IP地址和第二目的IP地址,所述第二源IP地址指示所述NAT设备的IP地址,所述第二目的IP地址指示所述第二网络设备的IP地址。
可选的,所述第三VXLAN报文还包括第三源IP地址和第三目的IP地址,所述第三源IP地址指示所述第二网络设备的IP地址,所述第三目的IP地址指示所述NAT设备的IP地址。
第三方面,提供了一种第一网络设备,所述第一网络设备具有实现上述方法中第一网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第一网络设备的结构中包括处理器和接口,所述处理器被配置为支持第一网络设备执行上述方法中相应的功能。所述接口用于支持第一网络设备与第二网络设备之间的通信,经由NAT设备向第二网络设备发送上述方法中所涉及的信息或者指令,或者经由所述NAT设备从第二网络设备接收上述方法中所涉及的信息或者指令。所述第一网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第一网络设备必要的程序指令和数据。
在另一个可能的设计中,所述第一网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第一网络设备时,通过固化在只读存储器中的基本输入/输出***或者嵌入式***中的bootloader引导***进行启动,引导第一网络设备进入正常运行状态。在第一网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作***,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供一种第一网络设备,所述第一网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第一网络设备用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,所述第一网络设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第五方面,提供一种第一网络设备,所述第一网络设备包括控制器和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第四方面中的接口板的功能,进一步,还可以执行第四方面中交换网板的功能。所述控制器包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制器时,通过固化在只读存储器中的基本输入/输出***或者嵌入式***中的bootloader引导***进行启动,引导控制器进入正常运行状态。在控制器进入正常运行状态后,在随机存取存储器中运行应用程序和操作***,使得该处理器执行第四方面中主控板的功能。
第六方面,提供了一种计算机存储介质,用于储存为上述第一网络设备所用的程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成上述方面中第一网络设备的功能或步骤。
第七方面,提供了一种第二网络设备,所述第二网络设备具有实现上述方法中第二网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第二网络设备的结构中包括处理器和接口,所述处理器被配置为支持第二网络设备执行上述方法中相应的功能。所述接口用于支持第二网络设备与NAT设备之间的通信,向所述NAT设备发送上述方法中所涉及的信息或者指令,或者从所述NAT设备接收上述方法中所涉及的信息或者指令。所述第二网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第二网络设备必要的程序指令和数据。
在另一个可能的设计中,所述第二网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第二网络设备时,通过固化在只读存储器中的基本输入/输出***或者嵌入式***中的bootloader引导***进行启动,引导第二网络设备进入正常运行状态。在第二网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作***,使得该处理器执行第二方面或第二方面的任意可能的实现方式中的方法。
第八方面,提供一种第二网络设备,所述第二网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第二网络设备用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,所述第二网络设备包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的模块。
第九方面,提供一种第二网络设备,所述第二网络设备包括控制器和第二转发子设备。所述第二转发子设备包括:接口板,进一步,还可以包括交换网板。所述第二转发子设备用于执行第八方面中的接口板的功能,进一步,还可以执行第八方面中交换网板的功能。所述控制器包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制器时,通过固化在只读存储器中的基本输入/输出***或者嵌入式***中的bootloader引导***进行启动,引导控制器进入正常运行状态。在控制器进入正常运行状态后,在随机存取存储器中运行应用程序和操作***,使得该处理器执行第八方面中主控板的功能。
第十方面,提供了一种计算机存储介质,用于储存为上述第二网络设备所用的程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成上述方面中第二网络设备的功能或步骤。
第十一方面,提供一种处理报文的***,所述***包括第一网络设备和第二网络设备,所述第一网络设备为前述第三方面或第四方面或第五方面中的第一网络设备,所述第二网络设备为前述第七方面或第八方面或第九方面中的第二网络设备。
通过上述方案,本申请实施例提供的数据流量处理方法、设备及***。应用在VXLAN场景中,位于公共网络的第二网络设备在向位于私有网络的第一网络设备发送VXLAN流量过程中,所述第二网络设备更改所述VXLAN流量的目的端口号,确保所述VXLAN流量传输路径上的NAT设备不会发生网络地址转换错误,从而,确保所述第一网络设备能够接收到所述VXLAN流量。
附图说明
图1为本申请实施例的一种VXLAN结构示意图;
图2为本申请实施例的另一种VXLAN结构示意图;
图3为本申请实施例的一种处理报文的方法流程图;
图4为本申请实施例的第一网络设备的结构示意图;
图5为本申请实施例的第一网络设备的硬件结构示意图;
图6为本申请实施例的另第一网络设备的硬件结构示意图;
图7为本申请实施例的第二网络设备的结构示意图;
图8为本申请实施例的第二网络设备的硬件结构示意图;
图9为本申请实施例的另第二网络设备的硬件结构示意图。
具体实施方式
下面通过具体实施例,分别进行详细的说明。
本申请所涉及的虚拟扩展局域网(virtual extensible local area network,VXLAN)技术可以参见因特网工程任务组(英文:Internet Engineering Task Force,缩写:IETF)请求注解(英文:Request For Comments,缩写:RFC)7348的说明,所述RFC7348的内容好像整体复制一般以引用的方式并入(incorporated by reference)本申请中。
本申请所涉及的网络地址转换(network address translation,NAT)技术可以参见IETF RFC1631的说明,所述RFC1631的内容好像整体复制一般以引用的方式并入(incorporated by reference)本申请中。
图1为本申请实施例的一种VXLAN结构示意图。所述VXLAN包括第一网络设备、第二网络设备和NAT设备。所述第一网络设备经由通信链路与所述第二网络设备连接,所述NAT设备在所述通信链路上。也就是说,所述通信链路位于所述第一网络设备和所述第二网络设备之间,并且,所述通信链路经过所述NAT设备。所述第一网络设备位于所述VXLAN的私有网络(private network)中。私有网络也可以被称为内网,例如企业用户或家庭用户使用的局域网(local area network,LAN)。所述第二网络设备位于所述VXLAN的公共网络(publicnetwork)中。公共网络也可以被称为外网,例如广域网(wide area network,WAN)。所述NAT设备位于所述私有网络和所述公共网络之间。所述NAT设备可以对来自所述私有网络的数据流量进行网络地址转换,并且将转换后的数据流量发送到所述公共网络。所述NAT设备也可以对来自所述公共网络的数据流量进行网络地址转换,并且将转换后的数据流量发送到所述私有网络。
在实际应用场景中,所述第一网路设备和所述第二网络设备可以被称为运营商边缘(provider edge,PE)设备,具体的,所述第一网路设备和所述第二网络设备分别可以包括路由器或三层交换机。在本申请实施例中,所述第一网络设备和所述第二网络设备之间可以包括VXLAN隧道。所述第一网路设备和所述第二网络设备分别位于所述VXLAN隧道的两端,因此,所述第一网路设备和所述第二网络设备可以被称为VXLAN隧道端点(VXLANtunnel end point,VTEP)设备。在VXLAN的应用场景中,VTEP设备也可以称为网络虚拟边缘(network virtualization edge,NVE)设备。在一些应用场景中,VTEP设备被理解为集成在NVE设备中的模块。本申请中,在不进行特殊说明的情况下,VTEP设备等同于NVE设备。并且本申请对所述第一网络设备和所述第二网络设备的数量不进行限定。所述第一网络设备可以为多台,所述第二网络设备可以为多台。
所述第一网络设备和第二网络设备可以连接虚拟机(virtual machine,VM),如图1所示,所述第一网络设备连接有第一VM,所述第二网络设备连接有第二VM。从而,所述第一网络设备可以从所述第一VM接收数据流量(例如第一业务报文),并向所述第二网络设备转发,或者,所述第一网络设备接收来自所述第二网络设备的数据流量(例如第二业务报文),并将该数据流量下发给所述第一VM。类似的,所述第二网络设备可以执行相同操作,此处不进行赘述。具体的,VM可以是路由器或交换机。并且本申请对VM的数量不进行限定,所述第一网络设备或所述第二网络设备可以连接多台VM。VM可以运行在服务器中。一台服务器可以包含至少一台VM。在一种可能的实现方式中,一台服务器可以包括多个VM。不同的VM可以属于不同的VXLAN网段。
在图1所示的网络中,所述第一网络设备接收所述第一VM发送的第一业务报文。所述第一网络设备将所述第一业务报文封装为第一VXLAN报文,并且,所述第一网络设备向所述第二网络设备发送所述第一VXLAN报文。所述第一VXLAN报文可以被通信链路上的所述NAT设备接收。所述NAT设备对所述第一VXLAN报文进行从私有网络到公共网络的网络地址转换。所述NAT设备向所述第二网络设备发送转换后的第一VXLAN报文,从而,所述第二网络设备可以接收所述转换后的第一VXLAN报文。同样道理,所述第二网络设备也可以向所述所述第一网络设备发送第三VXLAN报文。所述NAT设备对所述第三VXLAN报文进行从公共网络到私有网络的网络地址转换。其中,根据RFC7348的规定,VXLAN报文的目的端口号的值是4789。具体的,VXLAN报文包括用户数据报协议(user datagram protocol,UDP)头,所述UDP头中的目的端口号的值是4789。网络设备根据所述UDP头中的目的端口号的值是4789,可以判断出接收的报文是VXLAN报文。因此,根据RFC7348的规定,固定和唯一的UDP的目的端口号用于标识VXLAN报文。
假设所述第一VXLAN报文是在所述第一网络设备和所述第二网络设备之间的VXLAN隧道建立之前,所述第一网络设备发送的VXLAN报文。所述NAT设备可以根据所述第一VXLAN报文建立出方向(outbound direction)的地址映射表项和入方向(inbounddirection)的地址映射表项。其中,出方向是指从私有网络向公共网络方向,入方向是指从公共网络到私有网络方向。所述第二网络设备可以根据接收到的,被所述NAT设备转换的第一VXLAN报文,建立所述NAT设备和所述第二网络设备之间的VXLAN隧道。所述VXLAN隧道被建立在所述第一网络设备和所述第二网络设备之间的所述通信链路上,也就是说,所述通信链路用于承载所述VXLAN隧道。
在所述VXLAN隧道建立之后,所述第二网络设备可以经由所述VXLAN隧道向所述NAT设备发送第三VXLAN报文。根据前述,VXLAN报文中需要包括固定和唯一的UDP的目的端口号,以便接收VXLAN报文的网络设备能够识别该VXLAN报文。例如,所述第三VXLAN报文中的UDP的目的端口号的值为4789,以便接收所述第三VXLAN报文的网络设备能够识别所述第三VXLAN报文。所述NAT设备接收到所述第三VXLAN报文后,会使用之前建立的入方向的地址映射表项对所述第三VXLAN报文进行转换。然而,所述NAT设备在使用入方向的地址映射表项对所述第三VXLAN报文进行转换时,将会发生转换错误。所述NAT设备无法根据入方向的地址映射表项查找到所述第三VXLAN报文对应私有网络的目的端口号和目的互联网协议(Internet Protocol,IP)地址,从而导致所述第一网络设备无法接收到转换后的第三VXLAN报文。
本申请实施例提供了一种处理报文的方法、设备及***。在VXLAN场景中,第二网络设备和第一网络设备之间的NAT设备能够完成VXLAN流量从公共网络到私有网络的转换,从而确保所述第一网络设备能够接收到所述第二网络设备发送的VXLAN流量。图2是在图1公开了网络场景的基础上,增加了传输VXLAN报文的实现方式。如图2所示,第一网络设备接收来自第一VM的第一业务报文,并且将所述第一业务报文封装为第一VXLAN报文。NAT设备对所述第一VXLAN报文进行网络地址转换,得到第二VXLAN报文,然后,所述NAT设备向第二网络设备发送所述第二VXLAN报文。另外,如果所述第一网络设备在发送所述第一VXLAN报文时,所述第一网络设备和所述第二网络设备之间的VXLAN隧道还没有被建立。所述NAT设备可以根据所述第一VXLAN报文建立出方向的地址映射表项和入方向的地址映射表项。所述第二网络设备接收到所述第二VXLAN报文后,根据VXLAN协议对所述第二VXLAN报文进行解封装,获得所述第一业务报文,并将所述第一业务报文转发到第二VM。另外,所述第二网络设备可以根据所述第二VXLAN报文建立所述NAT设备和所述第二网络设备之间的VXLAN隧道。所述第二网络设备在建立所述VXLAN隧道后,可以经由所述VXLAN隧道向所述NAT设备发送VXLAN流量。例如,所述第二网络设备接收来自所述第二VM的第二业务报文,并且将所述第二业务报文封装为第三VXLAN报文。所述第二网络设备在封装所述第三VXLAN报文时,不使用VXLAN报文固定和唯一的目的端口号(例如4789),而是使用所述第二VXLAN报文的源端口号(即:NAT设备面向所述第二网络设备的端口号)作为所述第三VXLAN报文的目的端口号。如此这样,所述第三VXLAN报文在到达所述NAT设备时,所述NAT设备可以使用入方向的地址映射表项实现对所述第三VXLAN报文的转换,得到第四VXLAN报文。所述NAT设备向所述第一网络设备发送所述第四VXLAN报文。所述第一网络设备接收到所述第四VXLAN报文后,获取所述第四VXLAN报文中的目的端口号。所述第一网络设备确定所述第四VXLAN报文中的目的端口号与所述第一网络设备发送VXLAN报文时使用的源端口号是否相等。如果所述第一网络设备确定所述第四VXLAN报文中的目的端口号与所述第一网络设备发送VXLAN报文时使用的源端口号相等,所述第一网络设备可以确定所述第四VXLAN报文是VXLAN报文。从而,所述第一网络设备可以根据VXLAN协议对所述第四VXLAN报文执行解封装操作,得到所述第二业务报文。然后,所述第一网络设备向所述第二VM转发所述第二业务报文。本申请中,在一种可能的实现方式中,所述第一业务报文和所述第二业务报文是数据报文,在另一种可能的实现方式中,所述第一业务报文和所述第二业务报文是控制报文,例如地址解析协议(address resolution protocol,ARP)报文。
相应的,在VXLAN中,第一网络设备和第二网络设备经由NAT设备交互VXLAN流量的实现方式参见后续实施方式的说明。
图3为本申请实施例的一种处理报文的方法流程图。图3所示的方法可以应用在图1或图2所示的网络结构中。具体的,所述方法应用在VXLAN中,所述VXLAN包括第一网络设备、第二网络设备和NAT设备,所述第一网络设备经由通信链路与所述第二网络设备连接,所述NAT设备在所述通信链路上。也就是说,所述通信链路位于所述第一网络设备和所述第二网络设备之间,并且,所述通信链路经过所述NAT设备。在本实施例中,以第一业务报文是ARP请求报文和第二业务报文是ARP回复报文为例进行说明。该方法包括:
S101、所述第一网络设备经由NAT设备向所述第二网络设备发送第一VXLAN报文,所述第一VXLAN报文包括第一目的端口号和第一源端口号,所述第一目的端口号指示所述第一VXLAN报文是VXLAN报文,所述第一源端口号指示所述第一网络设备用于发送VXLAN报文的端口。
如图2所示,所述第一网络设备连接第一VM。所述第一VM可以向所述第一网络设备发送第一业务报文。所述第一业务报文包括第一目的媒体接入控制(Media AccessControl,MAC)地址、第一源MAC地址和第一净荷(payload)。参见图2中第一业务报文的封装格式,所述第一目的MAC地址对应dmac:ffff-ffff-ffff,所述第一源MAC地址对应smac:1-1-1和所述第一净荷对应净荷。其中,所述第一业务报文是ARP请求报文,dmac:ffff-ffff-ffff表示所述第一VM请求获取第二VM的MAC地址,smac:1-1-1表示所述第一VM的MAC地址,净荷表示ARP请求信息。所述第一业务报文可以按照以太网帧的格式实现。
所述第一网络设备接收到所述第一业务报文封装为第一VXLAN报文。所述第一VXLAN报文包括第一目的端口号和第一源端口号。所述第一目的端口号指示所述第一VXLAN报文是VXLAN报文,所述第一源端口号指示所述第一网络设备用于发送VXLAN报文的端口。参见图2中第一VXLAN报文的封装格式,所述第一目的端口号对应dport:4789,所述第一源端口号对应sport:60001。根据前述实施方式的说明,dport:4789用于标识所述第一VXLAN报文。所述第一网络设备将4789填入所述第一VXLAN报文中的UDP头的目的端口号字段中,以便接收所述第一VXLAN报文的网络设备能够根据4789识别该报文是VXLAN报文。sport:60001表示所述第一网络设备在向所述第二网络设备发送所述第一VXLAN报文时,将所述第一VXLAN报文中的所述第一源端口号的值设置为60001。而且,60001被所述第一网络设备分配给VXLAN协议专用。也就是说,所述第一网络设备在向所述第二网络设备发送VXLAN报文时,均使用60001作为源端口号,且60001不会被分配给其他协议报文使用。另外,60001是示例性的说明所述第一网络设备发送VXLAN报文使用的源端口号的值。在实际应用中,所述第一网络设备可以被静态的分配发送VXLAN报文使用的源端口号的值,所述第一网络设备也可以通过算法自动获得发送VXLAN报文使用的源端口号的值。例如所述第一网络设备利用哈希(hash)算法对VXLAN报文中的信息进行计算。
所述第一VXLAN报文还可以包括第一源IP地址和第一目的IP地址。所述第一源IP地址是所述第一网络设备的IP地址,如图2中的SIP:192.168.10.1,表示所述第一VXLAN报文的发送端是所述第一网络设备。所述第一目的IP地址是所述第二网络设备的IP地址,如图2中的DIP:10.10.10.2,表示所述第一VXLAN报文的接收端是所述第二网络设备。所述第一VXLAN报文还包括VXLAN网络标识符(VXLAN network identifier,VNI),如图2中的VNI:1000,用于标识VXLAN网段。
所述第一网络设备将所述第一业务报文封装为所述第一VXLAN报文后,经由所述通信链路向所述第二网络设备发送第一VXLAN报文。应当理解,根据VXLAN的实现,VXLAN隧道建立之后,所述第一网络设备和所述第二网络设备可以经由所述VXLAN隧道相互传输VXLAN报文。在所述VXLAN隧道建立之前,所述第一网络设备首先通过通信链路向所述第二网络设备发送VXLAN报文。由于VXLAN报文中包括IP头,VXLAN报文可以在所述通信链路上传输,并到达所述第二网络设备。然后,所述第二网络设备接收到VXLAN报文后,可以根据VXLAN报文中的信息动态的建立所述VXLAN隧道。在所述VXLAN隧道建立后,所述第一网络设备和所述第二网络设备可以在所述VXLAN隧道上相互传输VXLAN报文。本申请实施例中,为了便于说明,将所述第一VXLAN报文作为所述第一网络设备在所述VXLAN隧道建立之前发送的VXLAN报文。其中,所述VXLAN隧道被建立在所述通信链路上,也就是说,所述通信链路承载所述所述VXLAN隧道。
S102、所述NAT设备接收所述第一网络设备向所述第二VXLAN设备发送的所述第一VXLAN报文。
S103、所述NAT设备将所述第一源端口号转换为第二源端口号和将所述第一源IP地址转换为第二源IP地址,得到第二VXLAN报文,所述第二源端口号指示所述NAT设备的端口,所述第二源IP地址指示所述NAT设备的IP地址。
S104、所述NAT设备向所述第二网络设备发送所述第二VXLAN报文。
根据前述实施方式的描述,所述第一网络设备位于私有网络中,所述第二网络设备位于公共网络中,所述NAT设备负责从私有网络到公共网络的网络地址转换和从公共网络到私有网络的网络地址转换。所述NAT设备接收到所述第一VXLAN报文,对所述第一VXLAN报文进行网络地址转换,得到第二VXLAN报文。
参见图2,例如所述NAT设备的IP地址是10.10.10.1,所述NAT设备的端口号的值为60002。其中,10.10.10.1是所述NAT设备的IP地址是面向所述第二网络设备的IP地址,即10.10.10.1是向公共网络发送报文或从公共网络接收报文时使用的IP地址,可以称为公网IP地址。也就是说,所述NAT设备的IP地址是所述NAT设备与所述第二网络设备通信时使用的IP地址。60002是所述NAT设备的端口是面向所述第二网络设备的端口,即60002是向公共网络发送报文或从公共网络接收报文时使用的端口号,可以称为公网端口号。也就是说,所述NAT设备的端口是所述NAT设备与所述第二网络设备通信时使用的端口。相对应的,所述第一VXLAN报文中的所述第一源IP地址192.168.10.1可以称为私网IP地址,所述第一源端口号60001可以称为私网端口号。所述NAT设备根据接收到的所述第一VXLAN报文建立出方向的地址映射表项和入方向的地址映射表项。例如,根据图2所示的报文传输方式,出方向的地址映射表项可以表示为192.168.10.1/60001→10.10.10.1/60002,即,私网源IP地址/私网源端口号→公网源IP地址/公网源端口号;相应的,入方向的地址映射表项可以表示为10.10.10.1/60002→192.168.10.1/60001,即,公网目的IP地址/公网目的端口号→私网目的IP地址/私网目的端口号。其中,所述NAT设备使用的公网IP地址和公网端口号可以被静态的分配,也可以由所述NAT设备根据算法进行计算得到。可选的,NAT设备可以按照(network address port translation,NAPT)方式实现,具体的,可以按照源地址转换(source network address translation,SNAT)方式实现。
所述NAT设备根据上述出方向的地址映射表项,将所述第一VXLAN报文转换为所述第二VXLAN报文,图2所示了转换过程。所述第二VXLAN报文包括第二源端口号(例如sport:60002)和第二源IP地址(例如SIP:10.10.10.1)。所述第一VXLAN报文中的所述第一目的IP地址和所述第一目的端口号保持不变,对应所述第二VXLAN报文中的第二目的IP地址(DIP:10.10.10.2)和所述第二目的端口号(dport:4789)。相应的,所述第一VXLAN报文中的VNI和所述第一业务报文保持不变。因此,所述第二VXLAN报文应当理解为对所述第一VXLAN报文进行从私有网络到公共网络转换后的VXLAN报文。
所述NAT设备将所述第一VXLAN报文转换为所述第二VXLAN报文后,经由所述通信链路向所述第二网络设备发送所述第二VXLAN报文。
S105、所述第二网络设备接收所述NAT设备发送的所述第二VXLAN报文。
所述第二网络设备接收到所述第二VXLAN报文后,根据所述第二VXLAN报文中的所述第二目的端口号的值为4789,确定所述第二VXLAN报文是VXLAN报文。然后,所述第二网络设备根据VXLAN协议对所述第二VXLAN报文进行解封装操作,获取所述第一业务报文。所述第二网络设备将所述第一业务报文转发到第二VM。
S106、所述第二网络设备根据所述第二VXLAN报文中的所述第二目的端口号建立所述NAT设备和所述第二网络设备之间的VXLAN隧道。
根据前述实施方式,所述第一VXLAN报文可以是在建立VXLAN隧道之前,所述第一网络设备发送的VXLAN报文。因此,所述第一VXLAN报文可以被看做是请求建立所述第一网络设备和所述第二网络设备之间的VXLAN隧道的请求报文。同样的,经由NAT设备转换后得到的所述第二VXLAN报文并没有改变所述第一VXLAN报文的功能,因此,所述第二VXLAN报文也可以被看做是请求建立所述NAT设备和所述第二网络设备之间的VXLAN隧道的请求报文。所述第二网络设备可以根据所述第二VXLAN报文中的所述第二目的端口号建立所述NAT设备和所述第二网络设备之间VXLAN隧道。具体的,所述第二网络设备根据所述第二目的端口号的值为4789,确定所述第二VXLAN报文是VXLAN报文。然后,所述第二网络设备将所述第二VXLAN报文中的所述第二目的IP地址作为所述VXLAN隧道的本端VTEP IP地址,即所述第二网络设备的VTEP IP地址;所述第二网络设备将所述第二VXLAN报文中的所述第二源IP地址作为所述VXLAN隧道的对端VTEP IP地址。应当注意,所述第二源IP地址是所述NAT设备的IP地址。由于所述NAT设备的存在,所述第二网络设备不知道所述第一网络设备的真实IP地址。在所述第二网路设备看来,所述第一网络设备和所述NAT设备是一个整体设备,这个整体设备位于所述VXLAN隧道的对端。因此,在所述第二网络设备看来,VXLAN隧道被建立在所述NAT设备和所述第二网络设备之间。所述NAT设备接收到所述第二网络设备发送的VXLAN报文后,并不识别该VXLAN报文是否是VXLAN报文。所述NAT设备按照转发规则对VXLAN报文进行转发。相对应的,所述第一网络设备在收到所述第二网络设备发送的VXLAN报文后,所述第一网络设备确定所述VXLAN隧道已经建立,并且,所述第一网络设备认为所述VXLAN隧道的本端VTEP IP地址是所述第一网络设备的IP地址,对端VTEP IP地址是所述第二网络设备的IP地址。因此,在所述第一网络设备看来,所述第二网络设备建立的VXLAN隧道是所述第一网络设备和所述第二网络设备之间的VXLAN隧道。根据上述,虽然所述第二网络设备建立了所述NAT设备和所述第二网络设备之间的VXLAN隧道,但是,实际应用的效果中,VXLAN隧道延伸到所述第一网络设备。
S107、所述第二网络设备经由所述VXLAN隧道向所述NAT设备发送第三VXLAN报文,所述第三VXLAN报文包括第三目的端口号,所述第三目的端口号的值等于所述第二源端口号的值,所述第三目的端口号是所述第三VXLAN报文的目的端口号。
所述第二网络设备在建立所述VXLAN隧道后,可以经由VXLAN隧道发送VXLAN报文,实现所述第一网络设备与所述第二网络设备之间的VXLAN流量互通。具体的,所述第二网络设备可以接收所述第二VM发送的第二业务报文,将所述第二业务报文封装为所述第三VXLAN报文,向所述NAT设备发送所述第三VXLAN报文。所述第二业务报文可以是数据报文。所述第二业务报文也可以是控制报文,例如ARP报文。结合前述实施方式,以所述第二业务报文是ARP回复报文为例进行说明。
所述第二VM在接收所述第一业务报文之后,确定所述第一业务报文是ARP请求报文。从而,所述第二VM生成所述第二业务报文,即ARP回复报文。所述第二VM将自身的MAC地址封装在所述第二业务报文中,作为源MAC地址(例如图2的smac:2-2-2),以便所述第一VM可以获取所述第二VM的MAC地址。
所述第二网络设备在将所述第二业务报文封装为所述第三VXLAN报文中,不使用RFC7348的规定的固定和唯一的UDP的目的端口号(例如4789)作为所述第三VXLAN报文的第三目的端口号的值。所述第二网络设备将所述第二VXLAN报文中的所述第二源端口号的值(例如图2中sport:60002)作为所述第三目的端口号的值(例如图2中dport:60002)。如此这样,所述第三VXLAN报文能够顺利通过所述NAT设备。
所述第三VXLAN报文还包括第三源IP地址和第三目的IP地址,所述第三源IP地址指示所述第二网络设备的IP地址(例如图2中SIP:10.10.10.2),所述第三目的IP地址指示所述NAT设备的IP地址(例如图2中DIP:10.10.10.1)。所述第三VXLAN报文还包括第三源端口号(例如图2中sport:60008)。在实际应用中,所述第二网络设备可以被静态的分配发送VXLAN报文使用的源端口号的值。所述第二网络设备也可以通过算法自动获得发送VXLAN报文使用的源端口号的值。例如所述第二网络设备利用哈希算法对VXLAN报文中的信息进行计算。所述第二网络设备也可以随机生成发送VXLAN报文使用的源端口号的值。所述第一VXLAN报文还包括VNI,如图2中的VNI:1000,用于标识VXLAN网段。
所述第二网络设备在生成所述第三VXLAN报文后,所述第二网络设备经由所述VXLAN隧道向所述NAT设备发送第三VXLAN报文。
S108、所述NAT设备经由所述VXLAN隧道接收所述第二网络设备发送的所述第三VXLAN报文。
S109、所述NAT设备将所述第三目的端口号转换为第四目的端口号和将所述第三目的IP地址转换为第四目的IP地址,得到第四VXLAN报文,所述第四目的端口号的值等于所述第一源端口号的值,所述第四目的IP地址的值等于所述第一源IP地址的值。
S110、所述NAT设备经由所述VXLAN隧道向所述第一网络设备发送所述第四VXLAN报文。
根据前述实施方式的描述,所述第一网络设备位于私有网络中,所述第二网络设备位于公共网络中,所述NAT设备负责从私有网络到公共网络的网络地址转换和从公共网络到私有网络的网络地址转换。所述NAT设备接收到所述第三VXLAN报文,对所述第三VXLAN报文进行网络地址转换,得到第四VXLAN报文。
参见图2,结合前述实施方式,入方向的地址映射表项可以表示为10.10.10.1/60002→192.168.10.1/60001,即,公网目的IP地址/公网目的端口号→私网目的IP地址/私网目的端口号。所述NAT设备根据上述入方向的地址映射表项,将所述第三VXLAN报文转换为所述第四VXLAN报文,图2所示了转换过程。所述第四VXLAN报文包括第四目的端口号(例如dport:60001)和第四目的IP地址(例如DIP:192.168.10.1)。所述第三VXLAN报文中的所述第三源IP地址和所述第三源端口号保持不变,对应所述第四VXLAN报文中的第四源IP地址(SIP:10.10.10.2)和所述第四源端口号(sport:60008)。相应的,所述第四VXLAN报文中的VNI和所述第二业务报文保持不变。因此,所述第四VXLAN报文应当理解为对所述第三VXLAN报文进行从公共网络到私有网络转换后的VXLAN报文。
所述NAT设备将所述第三VXLAN报文转换为所述第四VXLAN报文后,经由所述VXLAN隧道向所述第一网络设备发送所述第四VXLAN报文。
S111、所述第一网络设备经由所述VXLAN隧道接收所述NAT设备发送的所述第四VXLAN报文。
S112、所述第一网络设备确定所述第四VXLAN报文中的所述第四目的端口号与所述第一源端口号相同,所述第四目的端口号是所述第四VXLAN报文的目的端口号。
S113、所述第一网络设备根据VXLAN协议处理所述第四VXLAN报文。
根据前述实施方式,所述第一源端口号对应图2中的sport:60001。sport:60001表示所述第一网络设备在向所述第二网络设备发送所述第一VXLAN报文时,将所述第一VXLAN报文中的所述第一源端口号的值设置为60001。而且,60001被所述第一网络设备分配给VXLAN协议专用。也就是说,所述第一网络设备在向所述第二网络设备发送VXLAN报文时,均使用60001作为源端口号,且60001不会被分配给其他协议报文使用。因此,所述第一网络设备将所述第一源端口号的值存储在所述第一网络设备的存储器中,作为发送VXLAN报文的源端口号。
所述第一网络设备接收到所述第四VXLAN报文后,获取所述第四VXLAN报文中的所述第四目的端口号(例如图2中的dport:60001)。所述第一网络设备确定所述第四VXLAN报文中的所述第四目的端口号的值与所述第一源端口号的值是否相等。如果所述第一网络设备确定所述第四VXLAN报文中的所述第四目的端口号的值与所述第一源端口号的值相等,所述第一网络设备可以确定出接收到的所述第四VXLAN报文是VXLAN报文。如此这样,所述第四VXLAN报文中没有包括固定和唯一的UDP的目的端口号(例如4789)的情况下,所述第一网络设备依然能够判断所述第四VXLAN报文是否为VXLAN报文。从而,确保所述第一网络设备能够接收和识别所述第二网络设备发送的VXLAN报文,保证所述第一网络设备和所述第二网络设备双向VXLAN流量的互通。
所述第一网络设备在确定所述第四VXLAN报文是VXLAN报文的情况下,根据VXLAN协议处理所述第四VXLAN报文。具体的,所述第一网络设备根据VXLAN协议对所述第四VXLAN报文进行解封装,获取所述第二业务报文。然后,所述第一网络设备向所述第一VM转发所述第二业务报文。根据前述,所述第二业务报文可以是ARP回复报文,这样,所述第一VM可以从所述第二业务报文中获取到所述第二VM的MAC地址。
本实施例提供的处理报文的方法。在VXLAN场景中,第二网络设备和第一网络设备之间包括有NAT设备。位于公共网络的所述第二网络设备在向位于私有网络的所述第一网络设备发送VXLAN流量过程中,所述第二网络设备更改所述VXLAN流量的目的端口号,也就是说,所述第二网络设备不使用固定和唯一的UDP的目的端口号(例如4789),而是使用接收到的VXLAN流量中的源端口号作为UDP的目的端口号。从而,确保所述VXLAN流量传输路径上的所述NAT设备不会发生网络地址转换错误,所述NAT设备能够完成VXLAN流量从公共网络到私有网络的转换,从而确保所述第一网络设备能够接收到所述第二网络设备发送的VXLAN流量。
在上述实施方式中,可以通过静态配置的方式,使得所述第一网络设备和所述第二网络设备获知所述第一网络设备和所述第二网络设备的通信链路上存在NAT设备。从而,所述第一网络设备和所述第二网络设备可以按照上述实现方式处理VXLAN流量。在一种可能的实现方式中,所述第二网络设备可以不获知所述NAT设备的存在,可以通过在VXLAN报文中增加标识信息的方式,使得所述第二网络设备获知所述第一网络设备和所述第二网络设备的通信链路上存在NAT设备。
可选的,所述第二VXLAN报文还包括NAT标记,所述NAT标记指示所述第一网络设备向所述第二网络设备发送的VXLAN报文经过所述NAT设备,在所述第二网络设备经由所述VXLAN隧道向所述NAT设备发送第三VXLAN报文之前,所述方法还包括:所述第二网络设备确定所述第二VXLAN报文中包括所述NAT标记。所述第二网络设备将所述第二源端口号确定为所述第三目的端口号。
具体的,可以在所述第二网络设备接收的VXLAN报文中设置NAT标记,所述NAT标记指示所述第一网络设备向所述第二网络设备发送的VXLAN报文经过所述NAT设备。在一种可能的实现方式中,所述第一网络设备在VXLAN报文中封装所述NAT标记。例如,所述第一网络设备在所述第一VXLAN报文中封装所述NAT标记。所述第一VXLAN报文在被所述NAT设备转换为所述第二VXLAN报文时,所述NAT标记保持不变。因此,所述第二VXLAN报文也包括所述NAT标记。在另一种可能的实现方式中,所述第一网络设备不在发送的VXLAN报文中封装所述NAT标记,而是,所述NAT设备负责封装所述NAT标记。具体的,所述NAT设备接收到所述第一VXLAN报文后,根据所述第一VXLAN报文中的第一目的端口号(例如4789),识别出所述第一VXLAN报文是VXLAN报文。然后,所述NAT设备在将所述第一VXLAN报文转换成所述第二VXLAN报文过程中,在所述第二VXLAN报文中封装所述NAT标记。所述第二网络设备在接收到所述第二VXLAN报文后,可以根据所述NAT标记确定所述第一网络设备和所述第二网络设备的通信链路上存在NAT设备,从而,所述第二网络设备按照本申请前述实施方式实现对VXLAN流量的处理。
所述NAT标记在VXLAN报文中的封装位置不受限定,例如可以封装在VXLAN的报文头中,或者封装在VXLAN报文的报文头和净荷之间,或者封装在净荷尾部。
可选的,所述第二VXLAN报文还包括VXLAN头,所述VXLAN头包括所述NAT标记。
根据RFC7348的规定,VXLAN报文中的VXLAN头用于封装VNI。而且,VXLAN头还包括预留字段。在一种可能的实现方式中,可以将VXLAN头中的1位预留字段配置为所述NAT标记。当所述NAT标记被置位为1时有效,表示所述第一网络设备向所述第二网络设备发送的VXLAN报文经过所述NAT设备。
图4为本申请实施例的第一网络设备1000的结构示意图。图4所示的第一网络设备1000可以执行上述实施例的方法中第一网络设备执行的相应步骤。所述第一网络设备被部署在VXLAN中,所述VXLAN还包括第二网络设备和NAT设备。所述第一网络设备经由通信链路与所述第二网络设备连接,所述NAT设备在所述通信链路上。也就是说,所述通信链路位于所述第一网络设备和所述第二网络设备之间,并且,所述通信链路经过所述NAT设备。如图4所示,所述第一网络设备1000包括接收单元1002,处理单元1004和发送单元1006。
所述发送单元1006,用于经由NAT设备向第二网络设备发送第一VXLAN报文,所述第一VXLAN报文包括第一目的端口号和第一源端口号,所述第一目的端口号指示所述第一VXLAN报文是VXLAN报文,所述第一源端口号指示所述第一网络设备用于发送VXLAN报文的端口;
所述接收单元1002,用于经由VXLAN隧道接收所述NAT设备发送的第四VXLAN报文,所述第四VXLAN报文包括第四目的端口号,所述第四目的端口号的值等于所述第一源端口号的值,所述第四目的端口号是所述第四VXLAN报文的目的端口号;
处理单元1004,用于确定所述第四VXLAN报文中的所述第四目的端口号与所述第一源端口号相同;
所述处理单元1004还用于根据VXLAN协议处理所述第四VXLAN报文。
可选的,所述第一VXLAN报文还包括NAT标记,所述NAT标记指示所述发送单元1006发送的VXLAN报文经过所述NAT设备。
可选的,所述第一VXLAN报文还包括VXLAN头,所述VXLAN头包括所述NAT标记。
可选的,所述第一VXLAN报文还包括第一源IP地址和第一目的IP地址,所述第一源IP地址指示所述第一网络设备的IP地址,所述第一目的IP地址指示所述第二网络设备的IP地址。
可选的,所述第四VXLAN报文还包括第四源IP地址和第四目的IP地址,所述第四源IP地址指示所述第二网络设备的IP地址,所述第四目的IP地址指示所述第一网络设备的IP地址。
图4所示的第一网络设备可以执行上述实施例的方法中第一网络设备执行的相应步骤。应用在VXLAN场景中,第二网络设备和第一网络设备之间的NAT设备能够完成VXLAN流量从公共网络到私有网络的转换,从而确保所述第一网络设备能够接收到所述第二网络设备发送的VXLAN流量。
图5为本申请实施例的第一网络设备1100的硬件结构示意图。图5所示的第一网络设备1100可以执行上述实施例的方法中第一网络设备执行的相应步骤。
如图5所示,所述第一网络设备1100包括处理器1101、存储器1102、接口1103和总线1104。其中接口1103可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器1101、存储器1102和接口1103通过总线1104连接。
所述接口1103具体可以包括发送器和接收器,用于第一网络设备与上述实施例中的NAT设备及第二网络设备之间收发信息。例如,所述接口1103用于支持经由所述NAT设备向所述第二网络设备发送VXLAN报文;用于支持接收所述NAT设备发送的VXLAN报文。作为举例,所述接口1103用于支持图3中的过程S101和S111。所述处理器1101用于执行上述实施例中由第一网络设备进行的处理。例如,所述处理器1101用于比较接收的VXLAN报文包括的目的端口号与所述第一网络设备本地保存的源端口号;用于处理接收到的VXLAN报文;和/或用于本文所描述的技术的其他过程。作为举例,所述处理器1101用于支持图3中的过程S112和S113。存储器1102包括操作***11021和应用程序11022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第一网络设备的处理过程。可选的,所述存储器1102可以包括只读存储器(英文:Read-only Memory,缩写:ROM)和随机存取存储器(英文:Random Access Memory,缩写:RAM)。其中,所述ROM包括基本输入/输出***(英文:Basic Input/Output System,缩写:BIOS)或嵌入式***;所述RAM包括应用程序和操作***。当需要运行第一网络设备1100时,通过固化在ROM中的BIOS或者嵌入式***中的bootloader引导***进行启动,引导第一网络设备1100进入正常运行状态。在第一网络设备1100进入正常运行状态后,运行在RAM中的应用程序和操作***,从而,完成方法实施例中涉及第一网络设备的处理过程。
可以理解的是,图5仅仅示出了第一网络设备1100的简化设计。在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。
图6为本申请实施例的另一种第一网络设备1200的硬件结构示意图。图6所示的第一网络设备1200可以执行上述实施例的方法中第一网络设备执行的相应步骤。
如图6所述,第一网络设备1200包括:主控板1210、接口板1230、交换网板1220和接口板1240。主控板1210、接口板1230和1240,以及交换网板1220之间通过***总线与***背板相连实现互通。其中,主控板1210用于完成***管理、设备维护、协议处理等功能。交换网板1220用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板1230和1240用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发
接口板1230可以包括中央处理器1231、转发表项存储器1234、物理接口卡1233和网络处理器1232。其中,中央处理器1231用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器1234用于保存转发表项。物理接口卡1233用于完成流量的接收和发送。网络存储器1232用于根据所述转发表项控制物理接口卡1233收发流量。
具体的,物理接口卡1233用于经由所述NAT设备向所述第二网络设备发送VXLAN报文,以及接收所述NAT设备发送的VXLAN报文。
中央处理器1211用于比较接收的VXLAN报文包括的目的端口号与所述第一网络设备本地保存的源端口号。
中央处理器1211还用于处理接收的VXLAN报文。
物理接口卡1233接收到VXLAN报文后,将VXLAN报文经由中央处理器1231发送到中央处理器1211,中央处理器1211处理该VXLAN报文。
中央处理器1231还用于控制网络存储器1232获取转发表项存储器1234中的转发表项,并且,中央处理器1231还用于控制网络存储器1232经由物理接口卡1233完成流量的接收和发送。
应理解,本发明实施例中接口板1240上的操作与所述接口板1230的操作一致,为了简洁,不再赘述。应理解,本实施例的第一网络设备1200可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第一网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第一网络设备可以不需要交换网板,接口板承担整个***的业务数据的处理功能。在分布式转发架构下,第一网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第一网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
图7为本申请实施例的第二网络设备2000的结构示意图。图7所示的第二网络设备2000可以执行上述实施例的方法中第二网络设备执行的相应步骤。所述第二网络设备被部署在VXLAN中,所述VXLAN还包括第一网络设备和NAT设备。所述第一网络设备经由通信链路与所述第二网络设备连接,所述NAT设备在所述通信链路上。也就是说,所述通信链路位于所述第一网络设备和所述第二网络设备之间,并且,所述通信链路经过所述NAT设备。如图7所示,所述第二网络设备2000包括接收单元2002,处理单元2004和发送单元2006。
所述接收单元2002,用于接收NAT设备发送的第二VXLAN报文,所述第二VXLAN报文包括第二目的端口号和第二源端口号,所述第二目的端口号指示所述第二VXLAN报文是VXLAN报文,所述第二源端口号指示所述NAT设备的端口;
所述处理单元2004,用于根据所述第二VXLAN报文中的所述第二目的端口号建立所述NAT设备和所述第二网络设备之间的VXLAN隧道;
所述发送单元2006,用于经由所述VXLAN隧道向所述NAT设备发送第三VXLAN报文,所述第三VXLAN报文包括第三目的端口号,所述第三目的端口号的值等于所述第二源端口号的值,所述第三目的端口号是所述第三VXLAN报文的目的端口号。
可选的,所述第二VXLAN报文还包括NAT标记,所述NAT标记指示VXLAN报文经过所述NAT设备,所述处理单元2004,还用于确定所述第二VXLAN报文中包括所述NAT标记;所述处理单元2004,还用于将所述第二源端口号确定为所述第三目的端口号。
可选的,所述第二VXLAN报文还包括VXLAN头,所述VXLAN头包括所述NAT标记。
可选的,所述第二VXLAN报文还包括第二源IP地址和第二目的IP地址,所述第二源IP地址指示所述NAT设备的IP地址,所述第二目的IP地址指示所述第二网络设备的IP地址。
可选的,所述第三VXLAN报文还包括第三源IP地址和第三目的IP地址,所述第三源IP地址指示所述第二网络设备的IP地址,所述第三目的IP地址指示所述NAT设备的IP地址。
图7所示的第二网络设备可以执行上述实施例的方法中第二网络设备执行的相应步骤。应用在VXLAN场景中,第二网络设备和第一网络设备之间的NAT设备能够完成VXLAN流量从公共网络到私有网络的转换,从而确保所述第一网络设备能够接收到所述第二网络设备发送的VXLAN流量。
图8为本申请实施例的第二网络设备2100的硬件结构示意图。图8所示的第二网络设备2100可以执行上述实施例的方法中第二网络设备执行的相应步骤。
如图8所示,所述第二网络设备2100包括处理器2101、存储器2102、接口2103和总线2104。其中接口2103可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2101、存储器2102和接口2103通过总线2104连接。
所述接口2103具体可以包括发送器和接收器,用于第二网络设备与上述实施例中的第一网络设备以及NAT设备之间收发信息。例如,所述接口2103用于支持向所述NAT设备发送VXLAN报文,还用于支持接收来自所述NAT设备的VXLAN报文。作为举例,所述接口2103用于支持图3中的过程S105和S107。所述处理器2101用于执行上述实施例中由第二网络设备进行的处理。例如,所述处理器2101用于建立VXLAN隧道;和/或用于本文所描述的技术的其他过程。作为举例,所述处理器2101用于支持图3中的过程S106。存储器2102包括操作***21021和应用程序21022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第二网络设备的处理过程。可选的,所述存储器2102可以包括只读存储器(英文:Read-only Memory,缩写:ROM)和随机存取存储器(英文:Random Access Memory,缩写:RAM)。其中,所述ROM包括基本输入/输出***(英文:Basic Input/Output System,缩写:BIOS)或嵌入式***;所述RAM包括应用程序和操作***。当需要运行第二网络设备2100时,通过固化在ROM中的BIOS或者嵌入式***中的bootloader引导***进行启动,引导第二网络设备2100进入正常运行状态。在第二网络设备2100进入正常运行状态后,运行在RAM中的应用程序和操作***,从而,完成方法实施例中涉及第二网络设备的处理过程。
可以理解的是,图8仅仅示出了第二网络设备2100的简化设计。在实际应用中,第二网络设备可以包含任意数量的接口,处理器或者存储器。
图9为本申请实施例的另一种第二网络设备2200的硬件结构示意图。图9所示的第二网络设备2200可以执行上述实施例的方法中第二网络设备执行的相应步骤。
如图9所述,第二网络设备2200包括:主控板2210、接口板2230、交换网板2220和接口板2240。主控板2210、接口板2230和2240,以及交换网板2220之间通过***总线与***背板相连实现互通。其中,主控板2210用于完成***管理、设备维护、协议处理等功能。交换网板2220用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2230和2240用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发
接口板2230可以包括中央处理器2231、转发表项存储器2234、物理接口卡2233和网络处理器2232。其中,中央处理器2231用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2234用于保存转发表项。物理接口卡2233用于完成流量的接收和发送。网络存储器2232用于根据所述转发表项控制物理接口卡2233收发流量。
具体的,物理接口卡2233用于接收来自所述NAT设备的VXLAN报文,或者用于向所述NAT设备发送VXLAN报文。
中央处理器2211用于建立VXLAN隧道。
中央处理器2211将VXLAN报文经由中央处理器2231向物理接口卡2233发送。物理接口卡2233向所述NAT设备发送所述VXLAN报文。
中央处理器2231还用于控制网络存储器2232获取转发表项存储器2234中的转发表项,并且,中央处理器2231还用于控制网络存储器2232经由物理接口卡2233完成流量的接收和发送。
应理解,本发明实施例中接口板2240上的操作与所述接口板2230的操作一致,为了简洁,不再赘述。应理解,本实施例的第二网络设备2200可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第二网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第二网络设备可以不需要交换网板,接口板承担整个***的业务数据的处理功能。在分布式转发架构下,第二网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第二网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
另外,本申请实施例提供了一种计算机存储介质,用于储存为上述第一网络设备所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。
另外,本申请实施例提供了一种计算机存储介质,用于储存为上述第二网络设备所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。
本申请实施例还包括一种处理报文的***,所述***包括第一网络设备和第二网络设备,所述第一网络设备为前述图4或图5或图6中的第一网络设备,所述第二网络设备为前述图7或图8或图9中的第二网络设备。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于用户设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件或者用硬件和软件的组合来实现。当使用硬件和软件的组合实现时,可以将这些软件存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明。所应理解的是,以上所述仅为本申请的具体实施方式而已。

Claims (20)

1.一种处理报文的方法,其特征在于,所述方法包括:
第一网络设备经由网络地址转换NAT设备向第二网络设备发送第一虚拟扩展局域网VXLAN报文,所述第一VXLAN报文是所述第一网络设备对第一虚拟机VM发送的第一业务报文进行封装得到的,且所述第一VXLAN报文包括第一目的端口号和第一源端口号,所述第一目的端口号指示所述第一VXLAN报文是VXLAN报文,所述第一源端口号指示所述第一网络设备用于发送VXLAN报文的端口,所述第一目的端口号与所述第一源端口号不同,且所述第一源端口号被所述第一网络设备分配给VXLAN协议专用;
所述第一网络设备经由VXLAN隧道接收所述NAT设备发送的第四VXLAN报文,所述第四VXLAN报文包括第四目的端口号,所述第四目的端口号的值等于所述第一源端口号的值,所述第四目的端口号是所述第四VXLAN报文的目的端口号;
所述第一网络设备确定所述第四VXLAN报文中的所述第四目的端口号与所述第一源端口号相同;
所述第一网络设备根据VXLAN协议处理所述第四VXLAN报文,以获取第二业务报文,并向所述第一VM转发所述第二业务报文;
其中,所述VXLAN隧道为所述第二网络设备在接收到请求建立所述第一网络设备和所述第二网络设备之间的VXLAN隧道的第二VXLAN报文后,基于所述第二VXLAN报文中的第二源端口号和第二目的端口号自动建立的,且所述第二VXLAN报文为所述NAT设备对所述第一VXLAN报文进行网络地址转换后得到的报文;所述第二目的端口号指示所述第二VXLAN报文是VXLAN报文,所述第二源端口号指示所述NAT设备的端口;所述第二VXLAN报文还包括NAT标记,所述NAT标记指示VXLAN报文经过所述NAT设备;所述第二VXLAN报文还用于供所述第二网络设备解封装得到第一业务报文,并将所述第一业务报文转发至第二VM;所述第二业务报文是所述第二VM在接收到所述第一业务报文后生成的。
2.如权利要求1所述的方法,其特征在于,所述第一VXLAN报文还包括所述NAT标记。
3.如权利要求2所述的方法,其特征在于,所述第一VXLAN报文还包括VXLAN头,所述VXLAN头包括所述NAT标记。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述第一VXLAN报文还包括第一源互联网协议IP地址和第一目的IP地址,所述第一源IP地址指示所述第一网络设备的IP地址,所述第一目的IP地址指示所述第二网络设备的IP地址。
5.如权利要求1-3中任一项所述的方法,其特征在于,所述第四VXLAN报文还包括第四源IP地址和第四目的IP地址,所述第四源IP地址指示所述第二网络设备的IP地址,所述第四目的IP地址指示所述第一网络设备的IP地址。
6.一种处理报文的方法,其特征在于,所述方法包括:
第二网络设备接收网络地址转换NAT设备发送的第二虚拟扩展局域网VXLAN报文,所述第二VXLAN报文包括第二目的端口号和第二源端口号,所述第二目的端口号指示所述第二VXLAN报文是VXLAN报文,所述第二源端口号指示所述NAT设备的端口,所述第二VXLAN报文用于请求建立第一网络设备和所述第二网络设备之间的VXLAN隧道,且所述第二VXLAN报文为所述NAT设备对所述第一网络设备发送的第一VXLAN报文进行网络地址转换后得到的,所述第一VXLAN报文为所述第一网络设备对第一虚拟机VM发送的第一业务报文进行封装得到的;所述第一VXLAN报文包括指示所述第一VXLAN报文是VXLAN报文的第一目的端口号,和指示所述第一网络设备用于发送VXLAN报文的第一源端口号,所述第一目的端口号与所述第一源端口号不同,且所述第一源端口号被所述第一网络设备分配给VXLAN协议专用;
所述第二网络设备对所述第二VXLAN报文解封装得到所述第一业务报文,并将所述第一业务报文转发至第二VM,以供所述第二VM基于所述第一业务报文生成第二业务报文,并将所述第二业务报文发送至所述第二网络设备;
所述第二网络设备根据所述第二VXLAN报文中的所述第二源端口号和所述第二目的端口号,自动建立所述NAT设备和所述第二网络设备之间的VXLAN隧道;
所述第二网络设备经由所述VXLAN隧道向所述NAT设备发送第三VXLAN报文,所述第三VXLAN报文为所述第二网络设备基于所述第二业务报文生成的VXLAN报文,且所述第三VXLAN报文包括第三目的端口号,所述第三目的端口号的值等于所述第二源端口号的值,所述第三目的端口号是所述第三VXLAN报文的目的端口号;
其中,所述第二VXLAN报文还包括NAT标记,所述NAT标记指示VXLAN报文经过所述NAT设备,在所述第二网络设备经由所述VXLAN隧道向所述NAT设备发送第三VXLAN报文之前,所述方法还包括:
所述第二网络设备确定所述第二VXLAN报文中包括所述NAT标记;
所述第二网络设备将所述第二源端口号确定为所述第三目的端口号。
7.如权利要求6所述的方法,其特征在于,所述第二VXLAN报文还包括VXLAN头,所述VXLAN头包括所述NAT标记,所述NAT标记由所述NAT设备负责封装。
8.如权利要求6或7所述的方法,其特征在于,所述第二VXLAN报文还包括第二源互联网协议IP地址和第二目的IP地址,所述第二源IP地址指示所述NAT设备的IP地址,所述第二目的IP地址指示所述第二网络设备的IP地址;
所述第二网络设备根据所述第二VXLAN报文中的所述第二目的端口号建立所述NAT设备和所述第二网络设备之间的VXLAN隧道,包括:
根据所述第二目的端口号的值确定所述第二VXLAN报文是VXLAN报文;
将所述第二目的IP地址作为所述VXLAN隧道的本端的VXLAN隧道端点VTEP IP地址,并将所述第二源IP地址作为所述VXLAN隧道的对端的VTEP IP地址。
9.如权利要求6或7所述的方法,其特征在于,所述第三VXLAN报文还包括第三源IP地址和第三目的IP地址,所述第三源IP地址指示所述第二网络设备的IP地址,所述第三目的IP地址指示所述NAT设备的IP地址。
10.一种第一网络设备,其特征在于,所述第一网络设备包括:
发送器,用于经由网络地址转换NAT设备向第二网络设备发送第一虚拟扩展局域网VXLAN报文,所述第一VXLAN报文是所述第一网络设备对第一虚拟机VM发送的第一业务报文进行封装得到的,且所述第一VXLAN报文包括第一目的端口号和第一源端口号,所述第一目的端口号指示所述第一VXLAN报文是VXLAN报文,所述第一源端口号指示所述第一网络设备用于发送VXLAN报文的端口,所述第一目的端口号与所述第一源端口号不同,且所述第一源端口号被所述第一网络设备分配给VXLAN协议专用;
接收器,用于经由VXLAN隧道接收所述NAT设备发送的第四VXLAN报文,所述第四VXLAN报文包括第四目的端口号,所述第四目的端口号的值等于所述第一源端口号的值,所述第四目的端口号是所述第四VXLAN报文的目的端口号;
处理器,用于确定所述第四VXLAN报文中的所述第四目的端口号与所述第一源端口号相同;
所述处理器还用于根据VXLAN协议处理所述第四VXLAN报文,以获取第二业务报文,并向所述第一VM转发所述第二业务报文;
其中,所述VXLAN隧道为所述第二网络设备在接收到请求建立所述第一网络设备和所述第二网络设备之间的VXLAN隧道的第二VXLAN报文后,基于所述第二VXLAN报文中的第二源端口号和第二目的端口号自动建立的,且所述第二VXLAN报文为所述NAT设备对所述第一VXLAN报文进行网络地址转换后得到的报文;所述第二目的端口号指示所述第二VXLAN报文是VXLAN报文,所述第二源端口号指示所述NAT设备的端口;所述第二VXLAN报文还包括NAT标记,所述NAT标记指示VXLAN报文经过所述NAT设备;所述第二VXLAN报文还用于供所述第二网络设备解封装得到第一业务报文,并将所述第一业务报文转发至第二VM;所述第二业务报文是所述第二VM在接收到所述第一业务报文后生成的。
11.如权利要求10所述的第一网络设备,其特征在于,所述第一VXLAN报文还包括所述NAT标记。
12.如权利要求11所述的第一网络设备,其特征在于,所述第一VXLAN报文还包括VXLAN头,所述VXLAN头包括所述NAT标记。
13.如权利要求10-12中任一项所述的第一网络设备,其特征在于,所述第一VXLAN报文还包括第一源互联网协议IP地址和第一目的IP地址,所述第一源IP地址指示所述第一网络设备的IP地址,所述第一目的IP地址指示所述第二网络设备的IP地址。
14.如权利要求10-12中任一项所述的第一网络设备,其特征在于,所述第四VXLAN报文还包括第四源IP地址和第四目的IP地址,所述第四源IP地址指示所述第二网络设备的IP地址,所述第四目的IP地址指示所述第一网络设备的IP地址。
15.一种第二网络设备,其特征在于,所述第二网络设备包括:
接收器,用于接收网络地址转换NAT设备发送的第二虚拟扩展局域网VXLAN报文,所述第二VXLAN报文包括第二目的端口号和第二源端口号,所述第二目的端口号指示所述第二VXLAN报文是VXLAN报文,所述第二源端口号指示所述NAT设备的端口,所述第二VXLAN报文用于请求建立第一网络设备和所述第二网络设备之间的VXLAN隧道,且所述第二VXLAN报文为所述NAT设备对所述第一网络设备发送的第一VXLAN报文进行网络地址转换后得到的,所述第一VXLAN报文为所述第一网络设备对第一虚拟机VM发送的第一业务报文进行封装得到的;所述第一VXLAN报文包括指示所述第一VXLAN报文是VXLAN报文的第一目的端口号,和指示所述第一网络设备用于发送VXLAN报文的第一源端口号,所述第一目的端口号与所述第一源端口号不同,且所述第一源端口号被所述第一网络设备分配给VXLAN协议专用;
处理器,用于对所述第二VXLAN报文解封装得到所述第一业务报文,并将所述第一业务报文转发至第二VM,以供所述第二VM基于所述第一业务报文生成第二业务报文,并将所述第二业务报文发送至所述第二网络设备;
所述处理器,还用于根据所述第二VXLAN报文中的所述第二源端口号和所述第二目的端口号,自动建立所述NAT设备和所述第二网络设备之间的VXLAN隧道;
发送器,用于经由所述VXLAN隧道向所述NAT设备发送第三VXLAN报文,所述第三VXLAN报文为所述第二网络设备基于所述第二业务报文生成的VXLAN报文,且所述第三VXLAN报文包括第三目的端口号,所述第三目的端口号的值等于所述第二源端口号的值,所述第三目的端口号是所述第三VXLAN报文的目的端口号;
其中,所述第二VXLAN报文还包括NAT标记,所述NAT标记指示VXLAN报文经过所述NAT设备,
所述处理器,还用于确定所述第二VXLAN报文中包括所述NAT标记;
所述处理器,还用于将所述第二源端口号确定为所述第三目的端口号。
16.如权利要求15所述的第二网络设备,其特征在于,所述第二VXLAN报文还包括VXLAN头,所述VXLAN头包括所述NAT标记。
17.如权利要求15或16所述的第二网络设备,其特征在于,所述第二VXLAN报文还包括第二源互联网协议IP地址和第二目的IP地址,所述第二源IP地址指示所述NAT设备的IP地址,所述第二目的IP地址指示所述第二网络设备的IP地址。
18.如权利要求15或16所述的第二网络设备,其特征在于,所述第三VXLAN报文还包括第三源IP地址和第三目的IP地址,所述第三源IP地址指示所述第二网络设备的IP地址,所述第三目的IP地址指示所述NAT设备的IP地址。
19.一种处理报文的***,其特征在于,所述***包括第一网络设备和第二网络设备,所述第一网络设备为权利要求10至14中任一所述的第一网络设备,所述第二网络设备为权利要求15至18中任一所述的第二网络设备。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至5任一所述的处理报文的方法,以及实现如权利要求6-9任一所述的处理报文的方法。
CN201811602656.5A 2018-12-26 2018-12-26 一种处理报文的方法、设备及*** Active CN111371666B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811602656.5A CN111371666B (zh) 2018-12-26 2018-12-26 一种处理报文的方法、设备及***
PCT/CN2019/127718 WO2020135381A1 (zh) 2018-12-26 2019-12-24 一种处理报文的方法、设备及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811602656.5A CN111371666B (zh) 2018-12-26 2018-12-26 一种处理报文的方法、设备及***

Publications (2)

Publication Number Publication Date
CN111371666A CN111371666A (zh) 2020-07-03
CN111371666B true CN111371666B (zh) 2021-12-31

Family

ID=71126884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811602656.5A Active CN111371666B (zh) 2018-12-26 2018-12-26 一种处理报文的方法、设备及***

Country Status (2)

Country Link
CN (1) CN111371666B (zh)
WO (1) WO2020135381A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113794639B (zh) * 2021-08-25 2023-04-25 新华三信息安全技术有限公司 一种通信方法及装置
CN114374666A (zh) * 2021-12-30 2022-04-19 中国电信股份有限公司 一种报文转发方法、装置、电子设备及存储介质
CN114567616B (zh) * 2022-02-28 2023-10-31 天翼安全科技有限公司 一种VxLAN NAT穿越的方法、***和设备
CN114793221B (zh) * 2022-03-21 2024-02-09 新华三信息安全技术有限公司 Nat关联表的处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105978708A (zh) * 2016-04-27 2016-09-28 赛特斯信息科技股份有限公司 基于NFV实现vCPE虚拟化企业网络的***及方法
CN106656718A (zh) * 2015-11-04 2017-05-10 中国电信股份有限公司 VxLAN网关以及基于VxLAN网关实现的主机接入互联网的方法
CN107846342A (zh) * 2016-09-20 2018-03-27 华为技术有限公司 一种vxlan报文的转发方法、设备及***
CN108337299A (zh) * 2018-01-18 2018-07-27 新华三技术有限公司 Nat信息同步方法和装置
CN108566445A (zh) * 2018-03-15 2018-09-21 华为技术有限公司 一种报文传输方法及装置
CN108667945A (zh) * 2017-03-30 2018-10-16 华为技术有限公司 一种报文传输方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4910881B2 (ja) * 2007-05-23 2012-04-04 ブラザー工業株式会社 通信システム、ノード装置、ノード処理プログラム、及びメッセージ送受信方法
CN105591863B (zh) * 2014-10-20 2019-11-26 中兴通讯股份有限公司 一种实现虚拟私有云网络与外部网络互通的方法和装置
CN104767666B (zh) * 2015-04-15 2019-01-11 新华三技术有限公司 虚拟可扩展局域网隧道终端建立隧道方法和设备
CN106330649B (zh) * 2015-06-18 2019-08-02 新华三技术有限公司 一种跨软件定义网络的数据报文转发方法和装置
CN106559504B (zh) * 2015-09-25 2020-09-08 华为技术有限公司 一种地址转换方法及装置
CN107222409B (zh) * 2016-03-22 2021-01-29 华为技术有限公司 一种转发流量的方法及节点
CN105703999B (zh) * 2016-03-29 2019-06-11 华为技术有限公司 建立gre隧道的方法和设备
CN106101008B (zh) * 2016-05-31 2019-08-06 新华三技术有限公司 一种报文的传输方法和装置
CN108964959B (zh) * 2017-05-27 2022-02-25 阿里巴巴集团控股有限公司 一种用于虚拟化平台的网卡直通***及数据包监管方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656718A (zh) * 2015-11-04 2017-05-10 中国电信股份有限公司 VxLAN网关以及基于VxLAN网关实现的主机接入互联网的方法
CN105978708A (zh) * 2016-04-27 2016-09-28 赛特斯信息科技股份有限公司 基于NFV实现vCPE虚拟化企业网络的***及方法
CN107846342A (zh) * 2016-09-20 2018-03-27 华为技术有限公司 一种vxlan报文的转发方法、设备及***
CN108667945A (zh) * 2017-03-30 2018-10-16 华为技术有限公司 一种报文传输方法及装置
CN108337299A (zh) * 2018-01-18 2018-07-27 新华三技术有限公司 Nat信息同步方法和装置
CN108566445A (zh) * 2018-03-15 2018-09-21 华为技术有限公司 一种报文传输方法及装置

Also Published As

Publication number Publication date
CN111371666A (zh) 2020-07-03
WO2020135381A1 (zh) 2020-07-02

Similar Documents

Publication Publication Date Title
CN111371666B (zh) 一种处理报文的方法、设备及***
US11546288B2 (en) Techniques for managing software defined networking controller in-band communications in a data center network
CN108574616B (zh) 一种处理路由的方法、设备及***
CN110999265B (zh) 管理云计算服务端点和虚拟机之间的网络连接性
CN106936939B (zh) 一种报文处理方法、相关装置及nvo3网络***
CN105591982B (zh) 一种报文传输的方法和装置
EP2853066B1 (en) Layer-3 overlay gateways
EP2885898B1 (en) Method and system for virtual and physical network integration
US20170346736A1 (en) Techniques for managing software defined networking controller in-band communications in a data center network
CN112671628B (zh) 业务服务提供方法及***
CN108718269B (zh) 报文处理方法及装置
CN112671938B (zh) 业务服务提供方法及***、远端加速网关
CN107645433B (zh) 报文转发方法及装置
EP4189925A1 (en) Normalized lookup and forwarding for diverse virtual private networks
CN110474829B (zh) 传输报文的方法和装置
CN113364660B (zh) Lvs负载均衡中的数据包处理方法及装置
CN108390812B (zh) 报文转发方法及装置
CN109246016B (zh) 跨vxlan的报文处理方法和装置
CN112822097A (zh) 报文转发的方法、第一网络设备以及第一设备组
CN110391961B (zh) 一种隧道绑定方法、设备及***
CN116488958A (zh) 网关处理方法、虚拟接入网关、虚拟业务网关及相关设备
CN117376233A (zh) 数据处理方法、装置及***
CN113824608A (zh) Bier oam检测的方法、设备以及***
CN113765799A (zh) 容器报文发送和接收的方法及存储介质、容器通信***
US20060133413A1 (en) Retaining capability of handling original type messages in an upgraded computer system

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