[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2016202269A2 - 数据报文转发 - Google Patents

数据报文转发 Download PDF

Info

Publication number
WO2016202269A2
WO2016202269A2 PCT/CN2016/085967 CN2016085967W WO2016202269A2 WO 2016202269 A2 WO2016202269 A2 WO 2016202269A2 CN 2016085967 W CN2016085967 W CN 2016085967W WO 2016202269 A2 WO2016202269 A2 WO 2016202269A2
Authority
WO
WIPO (PCT)
Prior art keywords
address
data packet
flow table
mapping relationship
source
Prior art date
Application number
PCT/CN2016/085967
Other languages
English (en)
French (fr)
Other versions
WO2016202269A3 (zh
Inventor
黄李伟
王伟
Original Assignee
杭州华三通信技术有限公司
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 杭州华三通信技术有限公司 filed Critical 杭州华三通信技术有限公司
Priority to EP16811010.4A priority Critical patent/EP3313025B1/en
Priority to JP2017565823A priority patent/JP6514372B2/ja
Priority to US15/578,140 priority patent/US10476795B2/en
Publication of WO2016202269A2 publication Critical patent/WO2016202269A2/zh
Publication of WO2016202269A3 publication Critical patent/WO2016202269A3/zh

Links

Images

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/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
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • 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/2514Translation of Internet protocol [IP] addresses between local and global 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
    • 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
    • H04L61/2582NAT traversal through control of the NAT server, e.g. using universal plug and play [UPnP]
    • 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/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

Definitions

  • the network control is separated from the physical network topology, that is, the network traffic is controlled by the controller, and the private network data packets are forwarded across the SDN through the VXLAN IP gateway.
  • FIG. 1 is a schematic diagram of a VXLAN networking in the embodiment of the present application.
  • FIG. 2 is a schematic flowchart of forwarding a data packet sent by a VTEP device to a VM side according to an embodiment of the present disclosure
  • FIG. 3 is a schematic flowchart of a VTEP device sending a data packet to a VM side according to an embodiment of the present disclosure
  • FIG. 4 is a schematic flowchart of forwarding, by an SDN control device, a data packet sent by a VM side according to an embodiment of the present disclosure
  • FIG. 5 is a schematic flowchart of an SDN control device sending a data packet to a VM side according to an embodiment of the present disclosure
  • FIG. 6 is a schematic structural diagram of a data packet forwarding apparatus applied to an SDN controller according to an embodiment of the present application
  • FIG. 7 is a schematic structural diagram of a data packet forwarding apparatus applied to a VTEP device according to an embodiment of the present application
  • FIG. 8 is a schematic structural diagram of an SDN controller according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a VTEP device according to an embodiment of the present application.
  • VXLAN Tunnel End Point when the VXLAN Tunnel End Point (VTEP) device receives the data packet sent by the VM, it performs VXLAN encapsulation and forwards it to the VXLAN IP GW through the VXLAN tunnel.
  • VXLAN IP GW receives the VXLAN encapsulated data packet sent by the VTEP device, it performs Network Address Translation (NAT) and then forwards the IP packet to the VXLAN IP GW device of the second SDN.
  • NAT Network Address Translation
  • the VXLAN IP GW device performs NAT translation, and translates the source IP address of the packet entering the VXLAN IP GW into the IP address of the VM, and then encapsulates the VXLAN packet and forwards the packet to the VTEP device. After the VTEP device connected to the server in the second SDN is reached, the VXLAN message is depacked.
  • a data packet forwarding method is provided in the embodiment of the present application, which is used to implement data packet transmission in an SDN.
  • a connection needs to be established between the SDN controllers in each SDN for communication.
  • a BGP connection can be established.
  • the host in the embodiment of the present application may be a physical device or a VM.
  • the following uses the VM as an example to describe the embodiment.
  • the VTEP device is configured to enable the VXLAN local gateway function, and the VTEP device reports the configured NAT mapping relationship to the SDN controller.
  • any SDN controller receives the NAT mapping relationship reported by the VTEP device in the SDN managed by itself, the storage is performed, and the NAT mapping relationship is synchronized to the SDN controller in the other SDN; the NAT mapping relationship is the VTEP device.
  • the SDN controller performs storage when receiving a NAT mapping relationship synchronized by the SDN controllers in other SDNs.
  • each SDN controller acquires and stores a NAT mapping relationship between a private network address and a public network address of a VM in each SDN.
  • FIG. 1 is a schematic diagram of a VXLAN networking in the embodiment of the present application.
  • the VTEP device 1 configures the NAT mapping relationship between the private network address 100.1.1.1/24 of the VM1 and the public network address 11.1.1.1, and reports it to the SDN controller 1.
  • the SDN controller 1 receives the NAT mapping relationship reported by the VTEP device 1 for storage and synchronizes to the SDN controller 2 in the SDN 2.
  • the SDN controller 2 After receiving the above NAT mapping relationship synchronized by the SDN controller 1, the SDN controller 2 stores it locally.
  • the VTEP device 2 configures the NAT mapping relationship between the private network address 110.1.1.1/24 of the VM2 and the public network address 12.1.1.1, and reports it to the SDN controller 2.
  • the SDN controller 2 receives the NAT mapping relationship reported by the VTEP device 2 for storage, and synchronizes it to the SDN controller 1 in the SDN1.
  • the SDN controller 1 After receiving the above NAT mapping relationship synchronized by the SDN controller 2, the SDN controller 1 stores it locally.
  • the NAT mapping relationship between VM1 and VM2 is stored on both the SDN controller 1 and the SDN controller 2.
  • Table 1 shows the NAT mapping relationship stored on the SDN controller 1 and the SDN controller 2.
  • the content of the second line is the NAT mapping relationship between the private network address of the VM2 and the public network address
  • the content of the third line is the NAT mapping relationship between the private network address of the VM1 and the public network address.
  • a VXLAN tunnel is established between the VTEP device 1 and the VTEP device 2.
  • FIG. 2 is a schematic flowchart of a VTEP device forwarding data packets from a VM according to an embodiment of the present disclosure. The specific steps are:
  • Step 201 When the VTEP device receives the data packet through the private network interface, the flow table matches according to the first destination IP address of the data packet.
  • the VTEP device matches the flow table that forwards the data packet, the data packet is processed and forwarded according to the flow table of the data packet.
  • Step 202 When the VTEP does not match the flow table that forwards the data packet, send a flow table request to the SDN controller, so that if the SDN controller determines to perform cross-SDN forwarding on the data packet, according to the stored The NAT mapping relationship between the private network address and the public network address of the VM in each SDN, and the flow table in the network topology information.
  • the SDN controller When the SDN controller receives the flow table request reported by the VTEP device, if it is determined that the data packet is forwarded across the SDN, the corresponding destination NAT address is locally searched according to the first destination IP address of the data packet, that is, Find the public network address corresponding to the first destination IP address of the data packet.
  • the SDN controller generates a flow table for forwarding the data packet according to the found NAT mapping relationship and the network topology information.
  • the flow table includes: matching information (the first destination IP address of the data packet), a NAT processing instruction for the first source IP address, and encapsulation information (the NAT mapping relationship corresponding to the first destination IP address of the data packet)
  • the destination MAC address is the MAC address of the next hop device and the VXLAN identifier corresponding to the public network address, and the outbound interface.
  • Step 203 when the VTEP device receives the flow table sent by the SDN controller, according to the The flow table performs NAT processing on the first source IP address of the data packet, and performs VXLAN encapsulation on the NAT-processed data packet according to the encapsulation information in the flow table, and then passes the outflow in the flow table.
  • the interface sends the encapsulated packet.
  • the second destination IP address in the encapsulation information in step 203 is a public network address corresponding to the first destination IP address of the received data packet.
  • the flow table may include a NAT processing instruction for the first source IP address, but does not include an IP address after the first source IP address is NAT processed; the flow table may also include the instruction and the The IP address of the first source IP address after NAT processing.
  • the flow table includes a NAT processing instruction for the first source IP address but does not include the IP address after the first source IP address is NAT processed, the first source IP address is NAT according to the NAT mapping relationship of the locally configured VM. deal with.
  • the VTEP device performs VXLAN encapsulation on the data packet after the NAT processing according to the encapsulation information in the flow table.
  • the second destination IP address of the encapsulation is the public network address of the first destination IP address in the encapsulation information
  • the destination MAC address is the MAC address in the encapsulation information
  • the second source IP address of the encapsulation is the VTEP device.
  • the source MAC address is the MAC address of the VTEP device
  • the VXLAN ID is the VXLAN identifier in the encapsulation information.
  • the VXLAN packet is forwarded through the established VXLAN tunnel between the VTEP device and the VTEP device corresponding to the second destination IP address.
  • the VTEP device corresponding to the IP address of the second destination.
  • FIG. 3 is a schematic flowchart of a VTEP device sending a data packet to a VM according to an embodiment of the present disclosure. The specific steps are:
  • Step 301 The VTEP device obtains a VXLAN packet with the destination IP address as the IP address of the VTEP device through the public network interface, obtains a data packet after decapsulating, and performs a flow table according to the destination IP address of the data packet. match.
  • the VTEP device When the VTEP device matches the flow table that forwards the data packet, the VTEP device processes and forwards the data packet according to the flow table of the data packet.
  • Step 302 When the VTEP device does not match the flow table that forwards the data packet, send a flow table request to the SDN controller, so that the SDN controller according to the stored private network address and publicity of the VM in each SDN The NAT mapping relationship of the network address and the flow table of the network topology information.
  • the SDN controller When the SDN controller receives the flow table request, the SDN controller generates a flow table according to the locally stored NAT mapping relationship and the network topology information, and sends the flow table to the VTEP device.
  • the generated flow table includes: matching information (the destination IP address of the data packet) and the NAT mapping relationship of the source IP address (for replacing the source IP address of the data packet with the private network address in the NAT mapping relationship) and interface.
  • Step 303 When receiving the flow table sent by the SDN controller, the VTEP device performs NAT processing on the source IP address of the data packet according to the NAT mapping relationship corresponding to the source IP address in the flow table, and passes the flow.
  • the outbound interface in the table forwards the data packet after NAT processing.
  • the NAT processing performed by the VTEP device replaces the source IP address of the data packet with the private network address in the NAT mapping relationship.
  • FIG. 4 is a schematic flowchart of forwarding, by an SDN control device, a data packet from a VM according to an embodiment of the present disclosure. The specific steps are:
  • Step 401 When the SDN controller receives the flow table request sent by the VTEP device for the data packet received through the private network interface, and determines that the data packet is forwarded across the SDN, according to the first purpose of the data packet The IP address looks up the NAT mapping relationship.
  • Step 402 The SDN controller generates a flow table for forwarding the data packet according to the found NAT mapping relationship and the network topology information, and sends the flow table to the VTEP device, so that the VTEP device performs the data packet.
  • the data packet processed by the NAT is encapsulated in the VXLAN according to the encapsulation information in the flow table, and is sent through the outbound interface in the flow table.
  • the second destination IP address in the encapsulation information in this step is the public network address corresponding to the first destination IP address in the found NAT mapping relationship.
  • the flow table includes detailed content: matching information (the first purpose of the data packet) IP address), the NAT processing command and the encapsulation information for the first source IP address (the NAT mapping relationship corresponding to the first destination IP address of the data packet, the destination MAC address being the MAC address of the next hop device, and the public network address) Corresponding VXLAN logo) and outgoing interface.
  • the VTEP device After receiving the flow table sent by the SDN controller, the VTEP device performs NAT processing on the first source IP address of the data packet, and performs NAT processing on the NAT-processed data packet, and performs VXLAN encapsulation.
  • the encapsulated second destination IP address is the public network address in the encapsulation information, and the destination MAC address is the MAC address in the encapsulation information.
  • the encapsulated second source IP address is the public network corresponding to the first source IP address of the VTEP device. IP address, the source MAC address is the MAC address of the VTEP device, and the VXLAN ID is the VXLAN identifier in the package information.
  • the VTEP device sends the packets encapsulated in VXLAN through the outbound interface in the flow table.
  • FIG. 5 is a schematic flowchart of a data packet sent by an SDN control device to a VM side according to an embodiment of the present disclosure. The specific steps are:
  • Step 501 When receiving the flow table request from the VTEP device for the data packet received and decapsulated by the public network interface, the SDN controller searches for the NAT mapping relationship according to the source IP address of the data packet.
  • Step 502 The SDN controller generates a flow table according to the discovered NAT mapping relationship and the network topology information, and sends the flow table to the VTEP device.
  • the VTEP device performs NAT processing on the source IP address of the data packet by using a NAT mapping relationship corresponding to the source IP address in the flow table, and sends the source IP address in the flow table through the outbound interface in the flow table.
  • the generated flow table includes: matching information (the source IP address of the data packet) and the NAT mapping relationship of the source IP address (for replacing the source IP address of the data packet with the private network address in the NAT mapping relationship) And the out interface.
  • the VTEP device When receiving the flow table sent by the SDN controller, the VTEP device performs NAT processing on the source IP address of the data packet according to the NAT mapping relationship in the flow table, and forwards the NAT through the outbound interface in the flow table. Processed data message.
  • the NAT process performed by the VTEP device is to replace the source IP address of the data packet with the private network address in the NAT mapping relationship.
  • VM1 when communication between VM1 and VM2 is required, VM1 constructs a data packet whose source IP address is 100.1.1.1 and whose destination IP address is 110.1.1.1, and sends it to VTEP device 1.
  • the VTEP device 1 When receiving the above data packet, the VTEP device 1 matches the flow table according to the destination IP address 110.1.1.1 of the data packet.
  • the flow table request is sent to the SDN controller 1, and the sent flow table request carries the interface 1 for receiving the data message, so that the SDN controller is configured according to the interface for receiving the data message. 1 Know that the data message is a data message from the VM.
  • the SDN controller receives the flow table request.
  • the NAT mapping relationship corresponding to the destination IP address 110.1.1.1 is found. See the second line in Table 1 (110.1.1.1: 12.1.1.1).
  • the topology information is determined to determine the MAC address corresponding to the next hop (the MAC address of the VXLAN IP gateway) and the outbound interface (interface 2), and a flow table for forwarding the data packet is generated.
  • the specific content of the flow table is: matching information (110.1.1.1), NAT processing for the source IP address (which may include a NAT mapping relationship, or may not include a NAT mapping relationship); the encapsulation information (12.1.1.1, the destination MAC address is The MAC address of the next hop device (the MAC address of the VXLAN IP gateway 1) and the VXLAN identifier corresponding to the public network address) and the outgoing interface (interface 1).
  • the VTEP device 1 When receiving the flow table, the VTEP device 1 first performs NAT processing on the source IP address of the data packet, that is, the source IP address 100.1.1.1 of the data packet is subjected to NAT processing, and then converted into an IP address 11.1.1.1; secondly, The data packet processed by the NAT is encapsulated in VXLAN.
  • the destination IP address of the encapsulation is 12.1.1.1
  • the source IP address is 11.1.1.1 of the VTEP1
  • the destination MAC address is the MAC address of the VXLAN IP gateway 1
  • the source NAC address is VTEP.
  • the VTEP device 1 forwards the packets encapsulated in the VXLAN through the outbound interface in the flow table.
  • VXLAN-encapsulated packets are forwarded through the VXLAN tunnel between the VTEP device 1 and the VTEP device 2.
  • the devices pass through the device, they are forwarded according to the destination IP address of the VXLAN packet until the packet is transmitted to the VTEP device 2.
  • the VTEP device 2 When receiving the VXLAN packet, the VTEP device 2 determines that the destination IP address is the IP address of the VTEP device, and decapsulates the VXLAN packet to obtain a data packet.
  • the VTEP device 2 searches for the corresponding flow table according to the destination IP address of the data packet. If the corresponding flow table is not found, the flow table request is sent to the SDN controller 2, and the information of the interface 3 is carried, so that the SDN controller 2 The VXLAN packet received through the public network side and the decapsulated data packet are obtained.
  • the VTEP device 2 searches for the corresponding NAT mapping relationship according to the source IP address 11.1.1.1 of the data packet, and generates a flow table according to the NAT mapping relationship and the network topology information, and sends the flow table to the VTEP device 2.
  • the flow table includes: the matching information (110.10.1.1), the NAT mapping relationship corresponding to the source IP address (the source IP address of the data packet corresponds to the private network address in the NAT mapping relationship), and the outbound interface (outbound interface 4).
  • the VTEP device 2 After receiving the flow table, the VTEP device 2 performs NAT processing on the source IP address of the data packet, that is, the source IP address 11.1.1.1 is NAT processed to 100.1.1.1, and is sent to the VM2 through the outbound interface in the flow table. .
  • FIG. 6 is a schematic structural diagram of an apparatus applied to an SDN controller according to an embodiment of the present application.
  • the device 600 includes: an obtaining unit 601, a receiving unit 602, a processing unit 603, and a sending unit 604;
  • the obtaining unit 601 is configured to acquire and store a network address translation NAT mapping relationship between a private network address of the host and a public network address in each SDN;
  • the receiving unit 602 is configured to receive a flow table request for the data packet from the VTEP device;
  • the processing unit 603 is configured to: when the receiving unit 602 receives the flow table request and determines that the data packet is forwarded across the SDN, searching, according to the destination Internet Protocol IP address of the data packet, in the acquiring unit.
  • the NAT mapping relationship is generated, and the flow table for forwarding the data packet is generated according to the NAT mapping relationship and the network topology information corresponding to the destination IP address, where the flow table includes a NAT processing instruction and encapsulation information for the source IP address.
  • the destination IP address in the package information is found. Public network address in the NAT mapping relationship;
  • the sending unit 604 is configured to send the flow table generated by the processing unit 603 to the VTEP device.
  • the VTEP device performs NAT processing on the source IP address of the data packet, and uses the encapsulation information in the flow table to perform a virtual scalable LAN VXLAN encapsulation on the NAT-processed data packet, and The outbound interface in the flow table is sent, where the destination IP address in the encapsulated information is a public network address in the found NAT mapping relationship.
  • the processing unit 603 is configured to search, according to the source IP address of the data packet, a NAT mapping relationship corresponding to the source IP address, and according to the NAT mapping relationship and destination corresponding to the source IP address.
  • the processing unit 603 is further configured to: when the receiving unit 602 receives the flow table request sent by the VTEP device for the data packet received and decapsulated by the public network interface, according to the source IP address of the data packet. The address is searched for the NAT mapping relationship; and the flow table is generated according to the found NAT mapping relationship and the network topology information;
  • the sending unit 604 is further configured to send the flow table generated by the processing unit 603 to the VTEP device, so that the VTEP device uses the NAT mapping relationship corresponding to the source IP address in the flow table to source the data packet.
  • the IP address is processed by NAT and sent through the outbound interface in the flow table.
  • the obtaining unit 601 is configured to: when receiving the NAT mapping relationship reported by the VTEP device in the SDN managed by the SDN, perform storage, and synchronize the received NAT mapping relationship to the SDN controller in another SDN; the NAT mapping relationship The NAT mapping relationship between the private network address and the public network address of the host in the server connected to the VTEP device; and the NAT mapping relationship synchronized by the SDN controller in another SDN is received and stored.
  • the obtaining unit 601 is configured to acquire the NAT mapping relationship by using a BGP connection established with an SDN controller in another SDN.
  • the SDN controller 800 provided by the embodiment of the present application may be a combination of hardware and software.
  • the hardware architecture of the SDN controller 800 can be seen in FIG. 8 .
  • FIG. 8 is a schematic structural diagram of hardware of an SDN controller according to an embodiment of the present disclosure.
  • the SDN controller 800 includes a machine readable storage medium 802, a CPU 801, and other hardware, wherein:
  • the machine readable storage medium 802 stores instruction codes; the operations performed when the instruction codes are executed by the CPU 801 are mainly functions performed by the data message forwarding device.
  • the CPU 801 communicates with the machine readable storage medium, reads and executes the instruction code stored in the machine readable storage medium, and performs the functions performed by the data message forwarding device 600.
  • the data message forwarding device 600 acts as a logical device, it is formed by the CPU 801 running corresponding computer program instructions in the machine readable storage medium 802. When the corresponding computer program instructions are executed, the formed data message forwarding device 600 is configured to perform a corresponding operation according to the data message forwarding method in the above embodiment.
  • FIG. 7 is a schematic structural diagram of an apparatus applied to a VTEP device according to an embodiment of the present application.
  • the device 700 includes: a receiving unit 701, a processing unit 702, and a sending unit 703;
  • the receiving unit 701 is configured to receive a data packet and receive a flow table.
  • the processing unit 702 is configured to: when the receiving unit 701 receives the data packet through the private network interface, perform flow table matching according to the first destination IP address of the data packet; when the receiving unit receives the data packet When the flow table of the SDN controller is used, if the flow table includes a NAT processing instruction for the first source IP address, performing NAT processing on the first source IP address of the data packet to obtain the first source IP address.
  • the public network address corresponding to the address is VXLAN encapsulated according to the obtained public network address corresponding to the first source IP address and the encapsulation information in the flow table; wherein, the encapsulated data packet is The second source IP address is the public network address of the first source IP address, and the second destination IP address of the encapsulated data packet is the public network address corresponding to the first destination IP address of the data packet in the encapsulation information.
  • the sending unit 703 is configured to: when the processing unit 702 does not match the flow table that forwards the data packet
  • the flow table request is sent to the SDN controller, and the packet that is VXLAN encapsulated by the processing unit is sent through the outbound interface in the flow table.
  • the SDN controller converts the NAT mapping relationship according to the stored private network address of the host in each SDN and the network address of the public network address, and sends the flow table under the network topology information.
  • the processing unit 702 is configured to: if the flow table further includes a NAT mapping relationship corresponding to the first source IP address, and use the NAT mapping relationship corresponding to the first source IP address in the flow table to the first source IP address of the data packet.
  • the address is subjected to NAT processing, and the public network address corresponding to the first source IP address is obtained.
  • the processing unit 702 is configured to: when the receiving unit 701 receives the VXLAN packet whose IP address is the IP address of the VTEP device by using the public network interface, obtain the data packet after decapsulating; and according to the data, The first destination IP address of the packet is matched by the flow table.
  • the receiving unit 701 receives the flow table sent by the SDN controller, the data packet is based on the NAT mapping relationship corresponding to the first source IP address in the flow table.
  • a source IP address for NAT processing is configured to: when the receiving unit 701 receives the VXLAN packet whose IP address is the IP address of the VTEP device by using the public network interface, obtain the data packet after decapsulating; and according to the data, The first destination IP address of the packet is matched by the flow table.
  • the receiving unit 701 receives the flow table sent by the SDN controller, the data packet is based on the NAT mapping relationship corresponding to the first source IP address in the flow table.
  • the sending unit 703 is configured to: when the processing unit 702 does not match the flow table that forwards the data packet, send a flow table request to the SDN controller, so that the SDN controller is configured according to the private network address of the host in each stored SDN.
  • the NAT mapping relationship with the public network address and the network topology information is sent to the flow table.
  • the data packet processed by the processing unit 702 is forwarded by the outbound interface in the flow table to perform the NAT processed data packet.
  • the apparatus further includes: a configuration unit 704;
  • the configuration unit 704 is configured to configure a NAT mapping relationship between the private network address and the public network address of the host on the server connected to the server;
  • the sending unit 703 is further configured to report the NAT mapping relationship configured by the configuration unit to the SDN controller.
  • the SDN controller is stored and synchronized to the SDN controllers in other SDNs.
  • the VTEP device 900 provided by the embodiment of the present application may be a combination of software and hardware.
  • the hardware architecture of the VTEP device 900 can be seen in FIG. 9 .
  • Figure 9 is the main A schematic diagram of the hardware structure of the VTEP device provided by the embodiment.
  • the VTEP device 900 includes: a machine readable storage medium 902, a CPU 901, and other hardware, wherein:
  • the machine-readable storage medium 902 stores instruction codes; the operations performed when the instruction codes are executed by the CPU 901 are mainly functions performed by the data message forwarding device 700 described above.
  • the CPU 901 communicates with the machine readable storage medium, reads and executes the instruction code stored in the machine readable storage medium, and performs the functions performed by the data message forwarding device 700.
  • the data message forwarding device 700 acts as a logical device, it is formed by the CPU 901 running corresponding computer program instructions in the machine readable storage medium 902. When the corresponding computer program instruction is executed, the formed data message forwarding device 700 is configured to perform a corresponding operation according to the data message forwarding method in the above embodiment.
  • the units of the above embodiments may be integrated into one, or may be deployed separately; may be combined into one unit, or may be further split into multiple sub-units.
  • the VTEP device has a Layer 2 and Layer 3 forwarding function and a NAT function on the VXLAN IP gateway.
  • the SDN controllers of the two SDN networks establish a BGP connection, which is used to synchronize the NAT mapping between the private network address of the VM and the public network address in the peer SDN network, thereby directly delivering the NAT processing and the VXLAN to the VTEP device.
  • the flow table of the encapsulation information is used to enable the VTEP device to perform NAT operations on the data packet according to the flow table, and then the VXLAN packet encapsulation operation is performed, and is sent through the VXLAN tunnel established with the peer VTEP device.
  • the cross-SDN forwarding provided in the above solution performs a VXLAN encapsulation and decapsulation operation, thereby simplifying the cross-SDN communication process.

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

SDN控制器获取并存储各SDN中的主机的私网地址和公网地址的网络地址转换NAT映射关系;接收来自虚拟可扩展局域网隧道端点VTEP设备针对数据报文的流表请求,当确定对所述数据报文进行跨SDN转发时,根据所述数据报文的目的因特网协议IP地址查找NAT映射关系;根据查找到的目的IP地址对应的NAT映射关系和网络拓扑信息生成转发所述数据报文的流表并下发给所述VTEP设备,其中,所述流表包括针对源IP地址进行NAT处理指令和封装信息,所述封装信息中的目的IP地址为查找到的NAT映射关系中的公网地址。

Description

数据报文转发 背景技术
在软件定义网络(Software Defined Network,SDN)中,网络控制与物理网络拓扑分离,即,通过控制器对网络流量进行控制,并通过VXLAN IP网关实现私网数据报文的跨SDN转发。
附图简要说明
图1为本申请实施例中的VXLAN组网示意图;
图2为本申请实施例中VTEP设备转发VM侧发来的数据报文的流程示意图;
图3为本申请实施例中VTEP设备向VM侧发送数据报文的流程示意图;
图4为本申请实施例中SDN控制设备转发VM侧来的数据报文的流程示意图;
图5为本申请实施例中SDN控制设备向VM侧发送数据报文的流程示意图;
图6为本申请实施例中应用于SDN控制器上的数据报文转发装置的结构示意图;
图7为本申请实施例中应用于VTEP设备上的数据报文转发装置的结构示意图;
图8为本申请实施例中SDN控制器的结构示意图;
图9为本申请实施例中VTEP设备结构示意图。
实施本发明的方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
在跨SDN进行虚拟机(Virtual Machine,VM)通信时,需要进行如下的过 程:
在第一SDN中,虚拟可扩展局域网隧道端点(VXLAN Tunnel End Point,VTEP)设备接收到VM发送的数据报文时,进行VXLAN封装,并通过VXLAN隧道转发给VXLAN IP GW。当VXLAN IP GW接收到VTEP设备发送的VXLAN封装后的数据报文时,进行网络地址转换(Network Address Translation,NAT),然后再通过IP转发到第二SDN的VXLAN IP GW设备。
在第二SDN中,VXLAN IP GW设备进行NAT转换,将进入VXLAN IP GW的报文的源IP地址NAT转换成VM的IP地址,然后再进行VXLAN报文的封装,向VTEP设备进行转发。到了与第二SDN中的服务器相连的VTEP设备之后,再进行VXLAN报文的解分装。
在上述完成跨SDN的VM之间的通信过程中,需要进行多次的封装/解封装的操作。
本申请实施例中提供一种数据报文转发方法,用于实现数据报文在跨SDN中的传输。
在进行跨SDN传输数据报文之前,各SDN中的SDN控制器之间需要建立连接用于通信。在一个实施例中,可以建立BGP连接。
在VTEP设备上,配置针对VXLAN的NAT功能,用于进行NAT处理,并配置该VTEP下挂的服务器的主机的私网地址和公网地址的NAT映射关系。本申请实施例中的主机可以是一台物理设备,也可以是一个VM,下文均以VM为例进行实施例说明。
该VTEP设备配置使能VXLAN本地网关功能,该VTEP设备将配置的NAT映射关系上报给SDN控制器。
任一SDN控制器接收自身管理的SDN中的VTEP设备上报的NAT映射关系时,进行存储,并将该NAT映射关系同步给其它SDN中的SDN控制器;所述NAT映射关系为所述VTEP设备配置的其下挂的服务器中的VM的私网地址和公网地址的NAT映射关系。
该SDN控制器接收到其它SDN中的SDN控制器同步的NAT映射关系时,进行存储。
通过上述处理过程,每个SDN控制器均获取并存储各个SDN中的VM的私网地址和公网地址的NAT映射关系。
参见图1,图1为本申请实施例中的VXLAN组网示意图。
针对SDN1,为VTEP设备1配置NAT功能,并配置使能本地网关功能。
VTEP设备1配置VM1的私网地址100.1.1.1/24和公网地址11.1.1.1的NAT映射关系,并上报给SDN控制器1。
SDN控制器1接收到VTEP设备1上报的NAT映射关系进行存储,并同步给SDN2中的SDN控制器2。
SDN控制器2接收到SDN控制器1同步的上述NAT映射关系后,在本地进行存储。
针对SDN2,为VTEP设备2配置NAT功能,并配置使能本地网关功能。
VTEP设备2配置VM2的私网地址110.1.1.1/24和公网地址12.1.1.1的NAT映射关系,并上报给SDN控制器2。
SDN控制器2接收到VTEP设备2上报的NAT映射关系进行存储,并同步给SDN1中的SDN控制器1。
SDN控制器1接收到SDN控制器2同步的上述NAT映射关系后,在本地进行存储。
这样,SDN控制器1和SDN控制器2上都存储了VM1和VM2的NAT映射关系。参见表1,表1为SDN控制器1和SDN控制器2上存储的NAT映射关系。
私网地址 公网地址
110.1.1.1 12.1.1.1
100.1.1.1 11.1.1.1
表1
在表1中,第二行内容为VM2的私网地址和公网地址的NAT映射关系,第三行内容为VM1的私网地址和公网地址的NAT映射关系。
通过上述操作,VTEP设备1和VTEP设备2之间建立了VXLAN隧道。
下面结合附图,详细说明本申请实施例中实现虚拟可扩展局域网中数据报文转发过程。
参见图2,图2为本申请实施例中VTEP设备转发来自VM的数据报文的流程示意图。具体步骤为:
步骤201,当VTEP设备通过私网接口接收到数据报文时,根据所述数据报文的第一目的IP地址进行流表匹配。
当该VTEP设备匹配到转发所述数据报文的流表时,根据所述数据报文的流表处理并转发所述数据报文。
步骤202,当该VTEP未匹配到转发所述数据报文的流表时,向SDN控制器发送流表请求,这样,SDN控制器若确定对该数据报文进行跨SDN转发,则根据存储的各个SDN中的VM的私网地址和公网地址的NAT映射关系,以及网络拓扑信息下发流表。
当该SDN控制器接收到VTEP设备上报的流表请求时,如果确定对该数据报文进行跨SDN转发,根据所述数据报文的第一目的IP地址在本地查找对应的NAT映射关系,即查找所述数据报文的第一目的IP地址对应的公网地址。
该SDN控制器根据查找到的NAT映射关系,以及网络拓扑信息生成转发所述数据报文的流表。
所述流表包括:匹配信息(所述数据报文的第一目的IP地址)、针对第一源IP地址进行NAT处理指令、封装信息(数据报文的第一目的IP地址对应的NAT映射关系、目的MAC地址为下一跳设备的MAC地址和所述公网地址对应的VXLAN标识)和出接口。
步骤203,该VTEP设备接收到所述SDN控制器下发的流表时,根据所述 流表将所述数据报文的第一源IP地址进行NAT处理,并根据所述流表中的封装信息对进行NAT处理后的数据报文进行VXLAN封装;再通过所述流表中的出接口发送该封装后的报文。
其中,步骤203中的封装信息中的第二目的IP地址为接收到的数据报文的第一目的IP地址对应的公网地址。
在具体实现时,在流表中可以包括对第一源IP地址进行NAT处理指令,但不包括将第一源IP地址进行NAT处理后的IP地址;该流表中也可以包括该指令和将第一源IP地址进行NAT处理后的IP地址。当流表中包括对第一源IP地址进行NAT处理指令但不包括将第一源IP地址进行NAT处理后的IP地址时,根据本地配置的VM的NAT映射关系对第一源IP地址进行NAT处理。
根据所述流表中的封装信息,该VTEP设备将进行NAT处理后的数据报文进行VXLAN封装。在进行VXLAN封装时,封装的第二目的IP地址为封装信息中的第一目的IP地址的公网地址、目的MAC地址为封装信息中的MAC地址,封装的第二源IP地址为对本VTEP设备第一源IP地址进行NAT处理后的IP地址,源MAC地址为本VTEP设备的MAC地址,VXLAN ID为封装信息中的VXLAN标识。
该VTEP设备将进行VXLAN封装的报文通过流表中的出接口转发后,该VXLAN报文在本VTEP设备与第二目的IP地址对应的VTEP设备之间通过建立的VXLAN隧道进行转发,直到第二目的IP地址对应的VTEP设备。
参见图3,图3为本申请实施例中VTEP设备向VM发送数据报文的流程示意图。具体步骤为:
步骤301,VTEP设备通过公网接口接收到目的IP地址为本VTEP设备的IP地址的VXLAN报文时,进行解封装后获得数据报文;并根据所述数据报文的目的IP地址进行流表匹配。
该VTEP设备匹配到转发所述数据报文的流表时,根据所述数据报文的流表处理并转发所述数据报文。
步骤302,该VTEP设备当未匹配到转发所述数据报文的流表时,向SDN控制器发送流表请求,使所述SDN控制器根据存储的各个SDN中的VM的私网地址和公网地址的NAT映射关系以及网络拓扑信息下发流表。
SDN控制器接收到该流表请求时,SDN控制器根据本地存储的NAT映射关系和网络拓扑信息生成流表并下发给所述VTEP设备。
生成的流表包括:匹配信息(数据报文的目的IP地址)、源IP地址对应的NAT映射关系(用于将数据报文的源IP地址替换为NAT映射关系中的私网地址)和出接口。
步骤303,该VTEP设备接收到所述SDN控制器下发的流表时,根据流表中的源IP地址对应的NAT映射关系对数据报文的源IP地址进行NAT处理,并通过所述流表中的出接口转发进行NAT处理后的数据报文。
VTEP设备进行的NAT处理为,将数据报文的源IP地址替换为NAT映射关系中的私网地址。
参见图4,图4为本申请实施例中SDN控制设备转发来自VM的数据报文的流程示意图。具体步骤为:
步骤401,当SDN控制器接收到VTEP设备针对通过私网接口接收到的数据报文而发送的流表请求且确定该数据报文为跨SDN转发时,根据所述数据报文的第一目的IP地址查找NAT映射关系。
步骤402,该SDN控制器根据查找到的NAT映射关系以及网络拓扑信息生成转发所述数据报文的流表并下发给所述VTEP设备,这样,所述VTEP设备对所述数据报文进行第一源IP地址的NAT处理后,根据所述流表中封装信息对进行NAT处理后的数据报文进行VXLAN封装,并通过所述流表中的出接口发送。
其中,本步骤中的封装信息中的第二目的IP地址为查找到的NAT映射关系中的第一目的IP地址对应的公网地址。
具体实现时,流表包括详细内容为:匹配信息(所述数据报文的第一目的 IP地址)、针对第一源IP地址进行NAT处理指令、封装信息(数据报文的第一目的IP地址对应的NAT映射关系、目的MAC地址为下一跳设备的MAC地址和所述公网地址对应的VXLAN标识)和出接口。
VTEP设备接收到该SDN控制器下发的上述流表后,将所述数据报文的第一源IP地址进行NAT处理,并将进行NAT处理后的数据报文进行VXLAN封装,在进行VXLAN封装时,封装的第二目的IP地址为封装信息中的公网地址、目的MAC地址为封装信息中的MAC地址,封装的第二源IP地址为本VTEP设备的第一源IP地址对应的公网IP地址,源MAC地址为本VTEP设备的MAC地址,VXLAN ID为封装信息中的VXLAN标识。
VTEP设备将进行VXLAN封装后的报文通过流表中的出接口发送。
参见图5,图5为本申请实施例中SDN控制设备向VM侧发送数据报文的流程示意图。具体步骤为:
步骤501,SDN控制器接收到来自VTEP设备的针对通过公网接口接收到并解封装后的数据报文的流表请求时,根据所述数据报文的源IP地址查找NAT映射关系。
步骤502,该SDN控制器根据查找到的NAT映射关系,以及网络拓扑信息生成流表并下发给所述VTEP设备。这样,所述VTEP设备使用所述流表中的源IP地址对应的NAT映射关系对所述数据报文的源IP地址进行NAT处理,并通过所述流表中的出接口发送。
其中,生成的流表包括:匹配信息(数据报文的源IP地址)、源IP地址对应的NAT映射关系(用于将数据报文的源IP地址替换为NAT映射关系中的私网地址)和出接口。
该VTEP设备接收到所述SDN控制器下发的流表时,根据流表中的NAT映射关系对数据报文的源IP地址进行NAT处理,并通过所述流表中的出接口转发进行NAT处理后的数据报文。其中,VTEP设备进行的NAT处理为,将数据报文的源IP地址替换为NAT映射关系中的私网地址。
下面结合网络附图,详细说明跨SDN的数据报文转发的过程。
仍然以图1为例,当VM1和VM2之间需要通信,VM1构造源IP地址为100.1.1.1,目的IP地址为110.1.1.1的数据报文,并发送给VTEP设备1。
VTEP设备1接收到上述数据报文时,根据数据报文的目的IP地址110.1.1.1匹配流表。
假设未匹配到对应的流表,则向SDN控制器1发送流表请求,并在发送的流表请求中携带接收数据报文的接口1,这样,SDN控制器根据该接收数据报文的接口1获知该数据报文为来自VM的数据报文。
SDN控制器接收到流表请求。当根据所述数据报文的目的IP地址确定对该数据报文进行跨SDN转发时,查找到目的IP地址110.1.1.1对应的NAT映射关系,见表1中的第二行(110.1.1.1:12.1.1.1)。
然后查找拓扑信息确定下一跳对应的MAC地址(VXLAN IP网关的MAC地址)和出接口(接口2),生成转发所述数据报文的流表。
该流表的具体内容为:匹配信息(110.1.1.1)、针对源IP地址进行NAT处理(可以包括NAT映射关系,也可以不包括NAT映射关系);封装信息(12.1.1.1、目的MAC地址为下一跳设备的MAC地址(VXLAN IP网关1的MAC地址)和所述公网地址对应的VXLAN标识)和出接口(接口1)。
VTEP设备1接收到上述流表时,首先针对数据报文的源IP地址进行NAT处理,即将数据报文的源IP地址100.1.1.1进行NAT处理后,转换为IP地址11.1.1.1;其次,对进行NAT处理的数据报文进行VXLAN封装,封装的目的IP地址为12.1.1.1,源IP地址为VTEP1的IP地址11.1.1.1;目的MAC地址为VXLAN IP网关1的MAC地址,源NAC地址为VTEP设备1的MAC地址。
VTEP设备1将进行VXLAN封装的报文通过流表中的出接口转发。
进行VXLAN封装的报文在VTEP设备1和VTEP设备2之间通过VXLAN隧道转发,途中经过各设备时,根据VXLAN报文的目的IP地址进行转发,直到报文备传输到VTEP设备2。
VTEP设备2接收到VXLAN报文时,确定目的IP地址为本VTEP设备的IP地址时,解封装所述VXLAN报文,获得数据报文。
VTEP设备2根据该数据报文的目的IP地址查找对应的流表,若未查找到对应的流表,则向SDN控制器2发送流表请求,并携带接口3的信息,使SDN控制器2获知通过公网侧接收到的VXLAN报文并解封装后的数据报文。
VTEP设备2根据所述数据报文的源IP地址11.1.1.1查找对应的NAT映射关系,根据查找到NAT映射关系,以及网络拓扑信息生成流表并下发给VTEP设备2。
流表包括:匹配信息(110.10.1.1)、源IP地址对应的NAT映射关系(数据报文的源IP地址对应为NAT映射关系中的私网地址)和出接口(出接口4)。
VTEP设备2接收到上述流表后,针对所述数据报文的源IP地址进行NAT处理,即将源IP地址11.1.1.1进行NAT处理为100.1.1.1,并通过流表中的出接口发送给VM2。
至此,数据报文由VM1跨SDN传输到VM2的过程结束。
基于同样的发明构思,本申请还提出一种数据报文转发装置,应用于SDN控制器上。参见图6,图6为本申请实施例中应用于SDN控制器上的装置的结构示意图。该装置600包括:获取单元601,接收单元602、处理单元603和发送单元604;
获取单元601,用于获取并存储各SDN中的主机的私网地址和公网地址的网络地址转换NAT映射关系;
接收单元602,用于接收来自VTEP设备针对数据报文的流表请求;
处理单元603,用于当接收单元602接收到该流表请求且确定为对所述数据报文进行跨SDN转发时,根据所述数据报文的目的因特网协议IP地址在所述获取单元中查找NAT映射关系;并根据查找到的目的IP地址对应的NAT映射关系和网络拓扑信息生成转发所述数据报文的流表,其中,所述流表包括针对源IP地址的NAT处理指令和封装信息,所述封装信息中的目的IP地址为查找到 的NAT映射关系中的公网地址;
发送单元604,用于将处理单元603生成的流表下发给所述VTEP设备。
对应地,所述VTEP设备对所述数据报文进行源IP地址的NAT处理后,使用所述流表中封装信息对进行NAT处理后的数据报文进行虚拟可扩展局域网VXLAN封装,并通过所述流表中的出接口发送;其中,所述封装信息中的目的IP地址为查找到的NAT映射关系中的公网地址。
在本发明一个实施例中,所述处理单元603用于根据所述数据报文的源IP地址查找源IP地址对应的NAT映射关系;并根据查找到的源IP地址对应的NAT映射关系、目的IP地址对应的NAT映射关系以及网络拓扑信息生成流表,其中,所述流表进一步包括源IP地址对应的NAT映射关系。
具体地,处理单元603,进一步用于当接收单元602接收到VTEP设备针对通过公网接口接收到并解封装后的数据报文而发送的流表请求时,根据所述数据报文的源IP地址查找NAT映射关系;并根据查找到的NAT映射关系,以及网络拓扑信息生成流表;
发送单元604,进一步用于将处理单元603生成的流表下发给所述VTEP设备,使所述VTEP设备使用所述流表中源IP地址对应的NAT映射关系对所述数据报文的源IP地址进行NAT处理,并通过所述流表中的出接口发送。
在本发明一个实施例中,
获取单元601,用于接收自身管理的SDN中的VTEP设备上报的NAT映射关系时,进行存储,并将该接收到的NAT映射关系同步给另一SDN中的SDN控制器;所述NAT映射关系为所述VTEP设备下挂的服务器中的主机的私网地址和公网地址的NAT映射关系;接收另一SDN中的SDN控制器同步的NAT映射关系,并进行存储。
在本发明一个实施例中,
获取单元601用于通过与另一SDN中的SDN控制器建立的BGP连接,将获取所述NAT映射关系。
本申请实施例提供的SDN控制器800可以是软硬件结合的可编程设备,从硬件层面而言,SDN控制器800的硬件架构示意图具体可以参见图8。图8为本申请实施例提供的SDN控制器的硬件结构示意图。该SDN控制器800包括:机器可读存储介质802、CPU801和其它硬件,其中:
机器可读存储介质802:存储指令代码;所述指令代码被CPU801执行时完成的操作主要为上述数据报文转发装置完成的功能。
CPU801:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,完成数据报文转发装置600完成的功能。
当数据报文转发装置600作为一个逻辑意义上的装置时,其是通过CPU801运行机器可读存储介质802中对应的计算机程序指令形成的。当对应的计算机程序指令被执行时,形成的数据报文转发装置600用于按照上述实施例中的数据报文转发的方法执行相应操作。
基于同样的发明构思,本申请还提出一种跨软件定义网络的数据报文转发装置,应用于VTEP设备上。参见图7,图7为本申请实施例中应用于VTEP设备上的装置的结构示意图。该装置700包括:接收单元701、处理单元702和发送单元703;
接收单元701,用于接收数据报文,接收流表。
处理单元702,用于当所述接收单元701通过私网接口接收到该数据报文时,根据所述数据报文的第一目的IP地址进行流表匹配;当所述接收单元接收到来自所述SDN控制器的流表时,如果所述流表中包括针对第一源IP地址的NAT处理指令,对所述数据报文的第一源IP地址进行NAT处理,获得所述第一源IP地址对应的公网地址,根据获得的所述第一源IP地址对应的公网地址和所述流表中的封装信息对所述数据报文进行VXLAN封装;其中,封装的数据报文的第二源IP地址为第一源IP地址的公网地址,封装的数据报文的第二目的IP地址为所述封装信息中该数据报文的第一目的IP地址对应的公网地址。
发送单元703,用于当所述处理单元702未匹配到转发所述数据报文的流表 时,向SDN控制器发送流表请求,通过所述流表中的出接口发送将所述处理单元进行VXLAN封装后的报文。
对应地,所述SDN控制器根据存储的各SDN中的主机的私网地址和公网地址的网络地址转换NAT映射关系,以及网络拓扑信息下发流表
在本发明一个实施例中,
处理单元702用于如果所述流表中进一步包括第一源IP地址对应的NAT映射关系,根据所述流表中的第一源IP地址对应的NAT映射关系对数据报文的第一源IP地址进行NAT处理,获得所述第一源IP地址对应的公网地址。
具体地,处理单元702用于当接收单元701通过公网接口接收到第一目的IP地址为本VTEP设备的IP地址的VXLAN报文时,进行解封装后获得数据报文;并根据所述数据报文的第一目的IP地址进行流表匹配;当接收单元701接收到SDN控制器下发的流表时,根据流表中的第一源IP地址对应的NAT映射关系对数据报文的第一源IP地址进行NAT处理;
发送单元703用于当处理单元702未匹配到转发所述数据报文的流表时,向SDN控制器发送流表请求,使所述SDN控制器根据存储的各SDN中的主机的私网地址和公网地址的NAT映射关系,以及网络拓扑信息下发流表;将处理单元702进行NAT处理后的数据报文通过所述流表中的出接口转发进行NAT处理后的数据报文。
在本发明一个实施例中,该装置进一步包括:配置单元704;
配置单元704,用于配置其下挂服务器上的主机的私网地址和公网地址的NAT映射关系;
发送单元703,进一步用于将所述配置单元配置的NAT映射关系上报给SDN控制器。
对应地,使所述SDN控制器存储并同步给其它SDN中的SDN控制器。
本申请实施例提供的VTEP设备900可以是软硬件结合的可编程设备,从硬件层面而言,VTEP设备900的硬件架构示意图具体可以参见图9。图9为本 申请实施例提供的VTEP设备的硬件结构示意图。该以VTEP设备900中包括:机器可读存储介质902、CPU901和其它硬件,其中:
机器可读存储介质902:存储指令代码;所述指令代码被CPU901执行时完成的操作主要为上述数据报文转发装置700完成的功能。
CPU901:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,完成数据报文转发装置700完成的功能。
当数据报文转发装置700作为一个逻辑意义上的装置时,其是通过CPU901运行机器可读存储介质902中对应的计算机程序指令形成的。当对应的计算机程序指令被执行时,形成的数据报文转发装置700用于按照上述实施例中的数据报文转发方法执行相应操作。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,根据本申请的实施例,VTEP设备具有了VXLAN IP网关上的二三层转发功能和NAT功能。具体地,让两个SDN网络的SDN控制器建立BGP连接,用于同步对端SDN网络中VM的私网地址与公网地址的NAT映射关系,从而为VTEP设备直接下发包括NAT处理和VXLAN封装信息的流表,以使VTEP设备根据流表对数据报文进行NAT操作,然后进行VXLAN报文的封装操作,通过与对端VTEP设备建立的VXLAN隧道发送。上述方案中提供的跨SDN转发进行一次VXLAN封装和解封装的操作,从而简化了跨SDN通信过程。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (14)

  1. 一种数据报文转发方法,应用于SDN控制器上,该方法包括:
    获取并存储各SDN中的主机的私网地址和公网地址的网络地址转换NAT映射关系;
    接收来自虚拟可扩展局域网隧道端点VTEP设备针对数据报文的流表请求,当确定对所述数据报文进行跨SDN转发时,根据所述数据报文的目的因特网协议IP地址查找NAT映射关系;
    根据查找到的目的IP地址对应的NAT映射关系和网络拓扑信息生成转发所述数据报文的流表并下发给所述VTEP设备,其中,所述流表包括针对源IP地址的NAT处理指令和封装信息,所述封装信息中的目的IP地址为查找到的NAT映射关系中的公网地址。
  2. 根据权利要求1所述的方法,所述生成转发所述数据报文的流表,包括:
    根据所述数据报文的源IP地址,查找源IP地址对应的NAT映射关系;
    根据查找到的源IP地址对应的NAT映射关系、目的IP地址对应的NAT映射关系以及网络拓扑信息生成所述流表,其中,所述流表进一步包括所述源IP地址对应的NAT映射关系。
  3. 根据权利要求1所述的方法,所述获取并存储各SDN中的主机的私网地址和公网地址的NAT映射关系,包括:
    所述SDN控制器接收自身管理的SDN中的VTEP设备上报的NAT映射关系,进行存储,并将该接收到的NAT映射关系同步给另一SDN中的SDN控制器;所述VTEP设备上报的NAT映射关系为所述VTEP设备下挂的服务器的主机的私网地址和公网地址的NAT映射关系;
    接收另一SDN中的SDN控制器同步的NAT映射关系,并进行存储。
  4. 根据权利要求1所述的方法,所述获取各SDN中的主机的私网地址和公网地址的NAT映射关系,包括:
    通过与另一SDN中的SDN控制器建立的BGP连接,获取所述NAT映射 关系。
  5. 一种数据报文转发方法,应用于虚拟可扩展局域网隧道端点VTEP设备上,该方法包括:
    当通过私网接口接收到数据报文时,根据所述数据报文的第一目的IP地址进行流表匹配;
    当未匹配到转发所述数据报文的流表时,向SDN控制器发送流表请求;
    接收所述SDN控制器下发的流表;
    如果所述流表中包括针对第一源IP地址的NAT处理指令,对所述数据报文的第一源IP地址进行NAT处理,获得所述第一源IP地址对应的公网地址,根据获得的所述第一源IP地址对应的公网地址和所述流表中的封装信息对所述数据报文进行VXLAN封装,其中,封装的数据报文的第二源IP地址为第一源IP地址的公网地址,封装的数据报文的第二目的IP地址为所述封装信息中该数据报文的第一目的IP地址对应的公网地址;
    通过所述流表中的出接口发送所述封装的数据报文。
  6. 根据权利要求5所述的方法,其特征在于,所述对所述数据报文的第一源IP地址进行NAT处理,包括:
    如果所述流表中进一步包括第一源IP地址对应的NAT映射关系,根据所述流表中的第一源IP地址对应的NAT映射关系对数据报文的第一源IP地址进行NAT处理,获得所述第一源IP地址对应的公网地址。
  7. 根据权利要求5所述的方法,其特征在于,所述方法进一步包括:
    所述VTEP设备配置其下挂的服务器上的主机的私网地址和公网地址的NAT映射关系,并上报给SDN控制器。
  8. 一种数据报文转发装置,应用于SDN控制器上,其特征在于,该装置包括:
    获取单元,用于获取并存储各SDN中的主机的私网地址和公网地址的网络地址转换NAT映射关系;
    接收单元,用于接收来自虚拟可扩展局域网隧道端点VTEP设备针对数据报文的流表请求;
    处理单元,用于当所述接收单元接收到所述流表请求且确定为对所述数据报文进行跨SDN转发时,根据所述数据报文的目的因特网协议IP地址在所述获取单元中查找NAT映射关系;并根据查找到的目的IP地址对应的NAT映射关系和网络拓扑信息生成转发所述数据报文的流表,其中,所述流表包括针对源IP地址的NAT处理指令和封装信息,所述封装信息中的目的IP地址为查找到的NAT映射关系中的公网地址;
    所述发送单元,用于将所述处理单元生成的流表下发给所述VTEP设备。
  9. 根据权利要求8所述的装置,其特征在于,所述处理单元用于根据所述数据报文的源IP地址查找源IP地址对应的NAT映射关系;并根据查找到的源IP地址对应的NAT映射关系、目的IP地址对应的NAT映射关系以及网络拓扑信息生成流表,其中,所述流表进一步包括源IP地址对应的NAT映射关系。
  10. 根据权利要求8所述的装置,其特征在于,
    所述获取单元用于接收自身管理的SDN中的VTEP设备上报的NAT映射关系,进行存储,并将该接收到的NAT映射关系同步给另一SDN中的SDN控制器;所述NAT映射关系为所述VTEP设备下挂的服务器中的主机的私网地址和公网地址的NAT映射关系;接收另一SDN中的SDN控制器同步的NAT映射关系,并进行存储。
  11. 根据权利要求8所述的装置,其特征在于,
    所述获取单元用于通过与另一SDN中的SDN控制器建立的BGP连接,获取所述NAT映射关系。
  12. 一种数据报文转发装置,应用于VTEP设备上,该装置包括:
    接收单元,用于接收数据报文,接收流表;
    处理单元,用于当所述接收单元通过私网接口接收到该数据报文时,根据所述数据报文的第一目的IP地址进行流表匹配;当所述接收单元接收到来自所 述SDN控制器的流表时,如果所述流表中包括针对第一源IP地址的NAT处理指令,对所述数据报文的第一源IP地址进行NAT处理,获得所述第一源IP地址对应的公网地址,根据获得的所述第一源IP地址对应的公网地址和所述流表中的封装信息对所述数据报文进行VXLAN封装;其中,封装的数据报文的第二源IP地址为第一源IP地址的公网地址,封装的数据报文的第二目的IP地址为所述封装信息中该数据报文的第一目的IP地址对应的公网地址;
    所述发送单元,用于当所述处理单元未匹配到转发所述数据报文的流表时,向SDN控制器发送流表请求,通过所述流表中的出接口发送将所述处理单元进行VXLAN封装后的报文。
  13. 根据权利要求12所述的装置,其特征在于,
    所述处理单元用于如果所述流表中进一步包括第一源IP地址对应的NAT映射关系,根据所述流表中的第一源IP地址对应的NAT映射关系对数据报文的第一源IP地址进行NAT处理,获得所述第一源IP地址对应的公网地址。
  14. 根据权利要求12所述的装置,其特征在于,该装置进一步包括:
    配置单元,用于配置其下挂服务器上的主机的私网地址和公网地址的NAT映射关系;
    所述发送单元进一步用于将所述配置单元配置的NAT映射关系上报至所述SDN控制器。
PCT/CN2016/085967 2015-06-18 2016-06-16 数据报文转发 WO2016202269A2 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP16811010.4A EP3313025B1 (en) 2015-06-18 2016-06-16 Data packet forwarding
JP2017565823A JP6514372B2 (ja) 2015-06-18 2016-06-16 データパケット転送
US15/578,140 US10476795B2 (en) 2015-06-18 2016-06-16 Data packet forwarding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510340312.1A CN106330649B (zh) 2015-06-18 2015-06-18 一种跨软件定义网络的数据报文转发方法和装置
CN201510340312.1 2015-06-18

Publications (2)

Publication Number Publication Date
WO2016202269A2 true WO2016202269A2 (zh) 2016-12-22
WO2016202269A3 WO2016202269A3 (zh) 2017-02-09

Family

ID=57545074

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/085967 WO2016202269A2 (zh) 2015-06-18 2016-06-16 数据报文转发

Country Status (5)

Country Link
US (1) US10476795B2 (zh)
EP (1) EP3313025B1 (zh)
JP (1) JP6514372B2 (zh)
CN (1) CN106330649B (zh)
WO (1) WO2016202269A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3595271A4 (en) * 2017-03-30 2020-01-15 Huawei Technologies Co., Ltd. PACKET TRANSMISSION METHOD AND APPARATUS
JP2020521398A (ja) * 2017-05-24 2020-07-16 新華三技術有限公司New H3C Technologies Co., Ltd. Cgnの転送・制御分離
JP2020530957A (ja) * 2017-07-31 2020-10-29 シスコ テクノロジー,インコーポレイテッド 動的なディスアソシエート・チャネル暗号化キー配布

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018036746A1 (en) * 2016-08-24 2018-03-01 British Telecommunications Public Limited Company Data network address sharing
US10904134B2 (en) * 2017-03-15 2021-01-26 Nicira, Inc. Multicast packet handling in logical networks
CN106998285A (zh) * 2017-04-28 2017-08-01 烽火通信科技股份有限公司 一种基于sdn实现静态路由隧道的系统及方法
CN108234203B (zh) * 2017-12-27 2021-03-26 新华三技术有限公司 配置下发方法及装置、配置方法及装置、网络系统
CN108183919B (zh) * 2018-01-18 2020-09-08 华为技术有限公司 报文转发方法及vxlan网关
US11316797B2 (en) 2018-07-24 2022-04-26 Vmware, Inc. Queue filter configuration for multicast packet handling
US10979246B2 (en) 2018-07-24 2021-04-13 Nicira, Inc. Multicast packet handling in software-defined networking (SDN) environments
CN111371666B (zh) * 2018-12-26 2021-12-31 华为技术有限公司 一种处理报文的方法、设备及系统
CN109547316A (zh) * 2018-12-29 2019-03-29 瑞斯康达科技发展股份有限公司 Vxlan报文穿越nat设备的方法、系统、存储介质
CN110266763B (zh) * 2019-05-20 2022-04-12 深圳壹账通智能科技有限公司 跨网段互连的区块链网络实现方法、系统及存储介质
CN110493211B (zh) * 2019-08-12 2021-11-09 福建天晴在线互动科技有限公司 一种往专用网络的网络机器传输文件的方法及其装置
WO2021047321A1 (zh) * 2019-09-11 2021-03-18 华为技术有限公司 一种数据传输的控制方法及装置
US11178041B1 (en) * 2020-07-07 2021-11-16 Juniper Networks, Inc. Service chaining with physical network functions and virtualized network functions
CN114374666A (zh) * 2021-12-30 2022-04-19 中国电信股份有限公司 一种报文转发方法、装置、电子设备及存储介质
CN116760795B (zh) * 2023-08-15 2023-12-08 中移(苏州)软件技术有限公司 网络地址转换nat网关设备、报文处理方法和装置
CN118316636A (zh) * 2023-09-22 2024-07-09 北京安瑞晟科技有限公司 信息传输方法、外网访问方法、设备以及计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104115453A (zh) * 2013-12-31 2014-10-22 华为技术有限公司 一种实现虚拟机通信的方法和装置
CN104468306A (zh) * 2013-09-25 2015-03-25 杭州华三通信技术有限公司 一种vxlan网络中的报文传输方法和设备
WO2015053850A1 (en) * 2013-10-10 2015-04-16 AdaptiveApps, Inc. Adaptive overlay networking
CN104601432A (zh) * 2014-12-31 2015-05-06 杭州华三通信技术有限公司 一种报文传输方法和设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8208364B2 (en) * 2002-10-25 2012-06-26 Qualcomm Incorporated MIMO system with multiple spatial multiplexing modes
US20040148439A1 (en) * 2003-01-14 2004-07-29 Motorola, Inc. Apparatus and method for peer to peer network connectivty
EP1441483B1 (en) * 2003-01-21 2014-04-16 Samsung Electronics Co., Ltd. Gateway for supporting communications between network devices of different private networks
WO2011083668A1 (ja) * 2010-01-05 2011-07-14 日本電気株式会社 ネットワークシステム、コントローラ、ネットワーク制御方法
CN102882789B (zh) * 2012-09-17 2016-03-30 华为技术有限公司 一种数据报文处理方法、系统及设备
CN102904975B (zh) * 2012-09-28 2015-06-17 华为技术有限公司 报文处理的方法和相关装置
US8931046B2 (en) * 2012-10-30 2015-01-06 Stateless Networks, Inc. System and method for securing virtualized networks
CN103067534B (zh) * 2012-12-26 2016-09-28 中兴通讯股份有限公司 一种NAT实现系统、方法及Openflow交换机
US20150003458A1 (en) * 2013-06-27 2015-01-01 Futurewei Technologies, Inc. Boarder Gateway Protocol Signaling to Support a Very Large Number of Virtual Private Networks
CN104254107B (zh) * 2013-06-27 2018-06-05 华为技术有限公司 数据分流方法、用户设备和网络系统
CN104378298A (zh) * 2013-08-16 2015-02-25 中兴通讯股份有限公司 一种流表条目生成方法及相应设备
JP6268943B2 (ja) * 2013-11-06 2018-01-31 富士通株式会社 情報処理システム,スイッチ装置及び情報処理システムの制御方法
US9692698B2 (en) * 2014-06-30 2017-06-27 Nicira, Inc. Methods and systems to offload overlay network packet encapsulation to hardware
CN104158755B (zh) * 2014-07-30 2017-12-05 华为技术有限公司 传输报文的方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468306A (zh) * 2013-09-25 2015-03-25 杭州华三通信技术有限公司 一种vxlan网络中的报文传输方法和设备
WO2015053850A1 (en) * 2013-10-10 2015-04-16 AdaptiveApps, Inc. Adaptive overlay networking
CN104115453A (zh) * 2013-12-31 2014-10-22 华为技术有限公司 一种实现虚拟机通信的方法和装置
CN104601432A (zh) * 2014-12-31 2015-05-06 杭州华三通信技术有限公司 一种报文传输方法和设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3595271A4 (en) * 2017-03-30 2020-01-15 Huawei Technologies Co., Ltd. PACKET TRANSMISSION METHOD AND APPARATUS
US11252129B2 (en) 2017-03-30 2022-02-15 Huawei Technologies Co., Ltd. Packet transmission method and apparatus
JP2020521398A (ja) * 2017-05-24 2020-07-16 新華三技術有限公司New H3C Technologies Co., Ltd. Cgnの転送・制御分離
US11146531B2 (en) 2017-05-24 2021-10-12 New H3C Technologies Co., Ltd. Separating CGN forwarding and control
JP2020530957A (ja) * 2017-07-31 2020-10-29 シスコ テクノロジー,インコーポレイテッド 動的なディスアソシエート・チャネル暗号化キー配布
US11546312B2 (en) 2017-07-31 2023-01-03 Cisco Technology, Inc. Dynamic disassociated channel encryption key distribution

Also Published As

Publication number Publication date
EP3313025B1 (en) 2022-03-23
US10476795B2 (en) 2019-11-12
JP6514372B2 (ja) 2019-05-15
EP3313025A2 (en) 2018-04-25
WO2016202269A3 (zh) 2017-02-09
EP3313025A4 (en) 2018-04-25
CN106330649B (zh) 2019-08-02
CN106330649A (zh) 2017-01-11
JP2018518124A (ja) 2018-07-05
US20180167320A1 (en) 2018-06-14

Similar Documents

Publication Publication Date Title
WO2016202269A2 (zh) 数据报文转发
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
US10110490B2 (en) Method and apparatus for forwarding packet
CN105577548B (zh) 一种软件定义网络中报文处理方法和装置
US10205657B2 (en) Packet forwarding in data center network
CN104601432B (zh) 一种报文传输方法和设备
TWI744359B (zh) 一種資料傳輸的方法及網路設備
US10931575B2 (en) Multi-tenant virtual private network based on an overlay network
WO2016173271A1 (zh) 报文处理方法、设备及系统
US20170237655A1 (en) Forwarding Data Packets In Software Defined Networks
WO2015172574A1 (zh) 一种发送报文的方法及设备
WO2015149563A1 (zh) 通信方法、系统、资源池管理系统、交换机和控制装置
JP2019534648A (ja) データ処理
WO2016192686A1 (zh) 数据报文转发
US11296985B2 (en) Normalized lookup and forwarding for diverse virtual private networks
US20160330167A1 (en) Arp Implementation Method, Switch Device, and Control Device
US9900238B2 (en) Overlay network-based original packet flow mapping apparatus and method therefor
WO2015113410A1 (zh) 数据包的处理方法与装置
WO2014201974A1 (zh) 业务路由报文处理方法、装置及网络系统
WO2014166073A1 (zh) 报文转发方法和网络设备
WO2017193848A1 (zh) 路由建立、报文发送
JP6629681B2 (ja) スイッチ装置および中継システム
JP2009147695A (ja) 通信制御方法およびシステム
WO2014142278A1 (ja) 制御装置、通信システム、通信方法及びプログラム
CN110752989A (zh) 一种东西向流量转发方法与装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 15578140

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2017565823

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16811010

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2016811010

Country of ref document: EP