WO2017028398A1 - 通信处理方法和装置 - Google Patents

通信处理方法和装置 Download PDF

Info

Publication number
WO2017028398A1
WO2017028398A1 PCT/CN2015/096232 CN2015096232W WO2017028398A1 WO 2017028398 A1 WO2017028398 A1 WO 2017028398A1 CN 2015096232 W CN2015096232 W CN 2015096232W WO 2017028398 A1 WO2017028398 A1 WO 2017028398A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
address
message
flow table
destination
Prior art date
Application number
PCT/CN2015/096232
Other languages
English (en)
French (fr)
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 US15/534,568 priority Critical patent/US10574570B2/en
Publication of WO2017028398A1 publication Critical patent/WO2017028398A1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Definitions

  • the present application relates to the field of computer technologies, and in particular, to the field of data exchange network technologies, and in particular, to a communication processing method and apparatus between different subnets in a virtual network.
  • a router is created on the network nodes outside the two subnets to configure static routing rules.
  • the packets need to be sent to the network node for transit to complete network communication across subnets.
  • the purpose of the present application is to propose a communication processing method and apparatus to solve the technical problems mentioned in the background section above.
  • the present application provides a communication processing method, where the method includes: receiving, by a tunnel bridge of a first physical machine, a message sent by a virtual machine, where the first physical machine is a host of the virtual machine Determining whether the message is an address resolution protocol ARP request message; if the message is an ARP request message and the destination address of the message is not the address of the virtual machine in the first physical machine, The predetermined pseudo physical address writes an ARP reply and returns the ARP reply; if the message is not an ARP request message, the message is sent to a terminal associated with the destination address of the message.
  • the method further includes: if the message is an ARP request message and the destination address in the message is an address of a virtual machine in the first physical machine, The integrated bridge of the physical machine returns an ARP reply.
  • the sending the message to the terminal associated with the destination address of the message comprises: using the virtual local area network identifier VLAN ID of the message and the destination network protocol address destination IP address
  • the packet is matched with the first flow table, where the first flow table is used to indicate that the packet is sent to the second physical machine by using a tunneling technology, and the second physical machine is associated with the destination IP address of the packet.
  • a host of the virtual machine if the packet does not match the first flow table, sending the message to a software-defined network SDN controller, and querying the destination VLAN ID and the destination IP address by using the controller,
  • the first new flow table is generated and inserted into the first flow table, and the message is sent to the second physical machine through the tunneling technology by using the first new flow table.
  • the sending the message to the software defined network SDN controller comprises: matching the message with the second flow table by a classless domain routing CIDR of the message, the second The flow table is used to indicate that the matched message is sent to the controller.
  • the sending the message to the terminal associated with the destination address of the message further comprises: if the message does not match the second flow table, according to the report The source VLAN ID of the packet matches the packet with the third flow table, where the third flow table is used to indicate that the packet is sent to the network node of the gateway associated with the destination IP address of the packet. If the message does not match the third flow table, upload the message to the controller, generate a second new flow table by using the controller, and pass the second new flow table. Sending the message to a network node of a gateway associated with the destination IP address of the message, and inserting the second new flow table into the third flow table.
  • the uploading the packet to the controller comprises: matching the packet with a fourth flow table according to a source VLAN ID of the packet, where the fourth flow table is used.
  • the message indicating that the match is uploaded to the controller is indicated.
  • the present application provides a communication processing method, the method comprising: receiving a message by using a tunnel bridge; matching a flow according to a tunnel identification code, a destination physical address, and a network protocol address destination IP address of the packet
  • the destination physical address in the header field of the flow table is a predetermined pseudo physical address, where the flow table is used to indicate that the matching packet is to be
  • the source physical address is changed to the pseudo physical address, and the destination physical address is changed to the real physical address corresponding to the destination IP address of the packet; the packet is sent to the virtual machine associated with the destination address of the packet;
  • the reply packet corresponding to the packet is sent to the physical machine at the sending end by using a tunneling technology.
  • the sending the message to the virtual machine associated with the destination address of the message comprises: if there is a virtual machine associated with the destination IP address of the message in the local machine, Sending the packet to the virtual machine; if there is no virtual machine associated with the destination IP address of the packet, the packet is sent to the controller, and the controller generates the A flow table of the physical machine where the destination IP address of the packet is located, and the flow table is sent to the physical machine that sends the packet.
  • the flow table of the physical machine where the destination IP address of the packet is generated by the controller includes: a tunnel identifier, a source IP address, and a The destination IP address is used to search for the physical machine where the destination IP address of the packet is located, and the flow table is generated.
  • the present application provides a communication processing apparatus, where the apparatus includes: a message receiving unit, configured to receive, by using a tunnel bridge of a first physical machine, a message sent by a virtual machine, where the first physical machine is a host of the virtual machine; a message parsing unit, configured to determine whether the packet is an address resolution protocol ARP request packet; and an ARP response sending unit, configured to determine, in the packet parsing unit, that the packet is When the ARP requests a message, and the destination address of the packet is not the address of the virtual machine in the first physical machine, the predetermined pseudo physical address is written into the ARP response and the ARP response is returned; the message sending unit, And when the packet parsing unit determines that the packet is not an ARP request packet, and sends the packet to a terminal associated with the destination address of the packet.
  • a message receiving unit configured to receive, by using a tunnel bridge of a first physical machine, a message sent by a virtual machine, where the first physical machine is a host of the virtual machine
  • the ARP response sending unit is further configured to: when the message is an ARP request message and the destination address in the message is an address of a virtual machine in the first physical machine, The integrated bridge of the first physical machine returns an ARP reply.
  • the message sending unit includes: a first flow table matching unit, configured to use the virtual local area network identifier VLAN ID and the destination network protocol address destination IP address of the message to send the message to the first stream a table matching, the first flow table is used to indicate that the packet is sent to a second physical machine by using a tunneling technology, where the second physical machine is a host of the virtual machine associated with the destination IP address of the packet; the first flow table generating unit, configured to send the packet to the software-defined network SDN control when the packet does not match the first flow table The controller queries the destination VLAN ID and the destination IP address, generates a flow table, inserts the first flow table, and sends the packet to the second physical machine through the tunneling technology.
  • a first flow table matching unit configured to use the virtual local area network identifier VLAN ID and the destination network protocol address destination IP address of the message to send the message to the first stream a table matching, the first flow table is used to indicate that the packet is sent to a second physical machine by using a tunneling technology,
  • the sending, by the first flow table generating unit, the message to the software-defined network SDN controller comprises: matching the message with the second flow table by using a classless domain routing CIDR of the message
  • the second flow table is configured to indicate that the matched message is sent to the controller.
  • the message sending unit further includes: a second flow table matching unit, configured to: according to the source VLAN ID of the packet, when the packet does not match the second flow table Matching the packet with a third flow table, where the third flow table is used to indicate that the packet is sent to a network node of a gateway associated with the destination IP address of the packet; a generating unit, configured to: when the packet does not match the third flow table, upload the packet to the controller, generate a new flow table by using the controller, and send the packet Going to the network node of the gateway associated with the destination IP address of the message and inserting the new flow table into the third flow table.
  • a second flow table matching unit configured to: according to the source VLAN ID of the packet, when the packet does not match the second flow table Matching the packet with a third flow table, where the third flow table is used to indicate that the packet is sent to a network node of a gateway associated with the destination IP address of the packet
  • a generating unit configured to: when the packet does not match the third flow table
  • the uploading, by the second flow table generating unit, the packet to the controller includes: matching the packet with a fourth flow table according to a source VLAN ID of the packet, where The fourth flow table is used to indicate that the matched message is uploaded to the controller.
  • the present application provides a communication processing apparatus, where the apparatus includes: a message receiving unit, configured to receive a message through a tunnel bridge; and a flow table matching unit, configured to use a tunnel identification code according to the packet
  • the destination physical address and the destination IP address of the network protocol address match the flow table, and the destination physical address in the header field of the flow table is a predetermined pseudo physical address, and the flow table is used to indicate the source in the matched packet.
  • the physical address is changed to the pseudo physical address, the destination physical address is changed to the real physical address corresponding to the destination IP address of the packet, and the packet sending unit is configured to send the packet to the destination of the packet.
  • the virtual machine associated with the address; the reply packet sending unit is configured to send the reply packet corresponding to the packet to the physical machine at the sending end by using a tunneling technology.
  • the message sending unit includes: a message sending subunit, When the virtual machine associated with the destination IP address of the packet exists in the local device, the packet is sent to the virtual machine; the flow table generating unit is configured to not exist in the local machine and the report Sending the packet to the controller, and generating, by the controller, a flow table of the physical machine where the destination IP address of the packet is located, and sending the flow table To the physical machine that sent the message.
  • the flow table of the physical machine where the destination IP address of the packet is generated by the controller includes: a tunnel identifier, a source IP address, and a The destination IP address is used to search for the physical machine where the destination IP address of the packet is located, and the flow table is generated.
  • the communication processing method and apparatus provided by the present application writes a predetermined pseudo physical address into an ARP response and returns the ARP response by using an ARP request message whose destination address is not a virtual machine in the first physical machine, so that the ARP is The request message only needs to be processed inside the first physical machine, and does not need to go through the network node, thereby reducing the load of the network node.
  • FIG. 1 is a schematic diagram of an exemplary network structure in accordance with an embodiment of the present application.
  • FIG. 2 is a flow chart of one embodiment of a communication processing method in accordance with the present application.
  • FIG. 3 is a flow chart of another embodiment of a communication processing method in accordance with the present application.
  • FIG. 4 is a flow chart of still another embodiment of a communication processing method according to the present application.
  • FIG. 5 is a schematic structural diagram of an embodiment of a communication processing apparatus according to the present application.
  • FIG. 6 is a schematic structural diagram of another embodiment of a communication processing apparatus according to the present application.
  • FIG. 1 shows a schematic diagram of an exemplary network structure that can be applied to an embodiment of the present application.
  • the network structure includes a physical machine 101 and a physical machine 102.
  • the physical machine 101 includes a virtual machine 1011 and a virtual machine 1012.
  • the physical machine 102 includes a virtual machine 1021 and a virtual machine 1022.
  • Each virtual machine in each physical machine can be connected with an integrated bridge (br-int) in the physical machine.
  • the integrated bridge 1013 and the integrated bridge 1023 are virtualized bridges, which function as virtual switches. Connect the virtual machine on the compute node it is on to it.
  • the integrated bridge 1013 and the integrated bridge 1023 are respectively connected to a tunnel bridge (br-tun) 1014 and a tunnel bridge (br-tun) 1024.
  • the tunnel bridge 1014 and the tunnel bridge 1024 are also virtualized bridges.
  • the VXLAN (Virtual Extensible Local Area Network) tunnel device G communicates with the tunnel bridges on other physical machines to form a unified communication layer. In this way, the functions of the virtual machines on different computing nodes connected to the same logical virtual switch are realized.
  • a and Q are virtual network cards of their corresponding virtual machines
  • B, D, T, and R are virtual network kernel driver devices
  • C and S are virtual network card peer devices
  • E and F are used to associate integrated bridges.
  • the port of the tunnel bridge is the port of the tunnel bridge.
  • FIG. 1 the number of physical machines, virtual machines, bridges, and other devices in FIG. 1 is merely illustrative. Depending on the implementation needs, you can configure any number of physical machines, virtual machines, bridges, and other devices.
  • the present application provides a communication processing method and apparatus.
  • the communication processing method and apparatus provided by the present application will be described in detail below with reference to the accompanying drawings.
  • FIG. 2 shows a flow 200 of one embodiment of a communication processing method of the present application.
  • the process 200 is a step performed by the communication sender.
  • the communication processing method includes the following steps:
  • Step 201 Receive a packet sent by the virtual machine by using a tunnel bridge of the first physical machine, where the first physical machine is a host of the virtual machine.
  • the packet sent by the virtual machine is first sent to the integrated bridge, and then integrated.
  • the bridge sends the message to the tunnel bridge.
  • the virtual machine 1011 in FIG. 1 sends a message, which is sent to the integrated bridge 1013, and then sent by the integrated bridge 1013 to the integrated bridge 1014.
  • Step 202 Determine whether the packet is an ARP (Address Resolution Protocol) request packet.
  • ARP Address Resolution Protocol
  • step 203 if it is determined that the packet is an ARP request packet, step 203 is performed, otherwise step 204 is performed.
  • Step 203 If the destination address of the packet is not the address of the virtual machine in the first physical machine, write the predetermined pseudo physical address into the ARP response and return the ARP response.
  • step 203 can be implemented by using a flow table that matches an ARP request message that is not intended to be local and indicates a pseudo physical address (for example: "12:34:56:78: 9b: ai") writes an ARP reply and returns the ARP reply as an ARP reply to the matched ARP request message.
  • a pseudo physical address for example: "12:34:56:78: 9b: ai”
  • Step 204 Send the foregoing packet to a terminal associated with the destination address of the packet.
  • the packet in this step is a non-ARP packet (for example, an IP data packet).
  • the packet may be sent to a terminal associated with the destination address of the packet by using the following steps:
  • VLAN ID Virtual Local Area Network Identification
  • IP Internet Protocol
  • the integrated bridge assigns a VLAN ID to each physical machine. Since the physical address in the previous ARP reply is a pseudo physical address, the first flow table is matched by the destination IP address and the VLAN ID.
  • the packet is sent to an SDN (Software Defined Network) controller, and the destination VLAN ID and the destination IP address are queried by the controller to generate a first new packet.
  • SDN Software Defined Network
  • the flow table is inserted into the first flow table, and the foregoing message is sent to the second physical machine through the tunnel technology through the first new flow table.
  • the foregoing message is sent to a software defined network SDN controller.
  • the step may include, for example, matching the packet with the second flow table by using CIDR (Classless Inter-Domain Routing) of the foregoing packet, where the second flow table is used to send the matched packet to the The above controller.
  • CIDR Classless Inter-Domain Routing
  • the first new flow table is generated by the controller and inserted into the first flow table, so that when the message is sent later, the first flow table can be directly matched. To send.
  • the communication processing method of this embodiment may further include: if the packet is an ARP request packet, and the destination address in the packet is a virtual machine in the first physical machine The address is returned to the ARP reply through the integrated bridge of the first physical machine. Therefore, the destination address can obtain the correct ARP response in the local ARP request.
  • the communication processing method by writing an ARP request message whose destination address is not a virtual machine in the first physical machine, the predetermined pseudo physical address is written into the ARP response and the ARP response is returned, so that the ARP request is made.
  • the message only needs to be processed inside the first physical machine, without passing through the network node, reducing the load on the network node.
  • the foregoing packet is sent to the second physical machine through the tunneling technology by using the first flow table, and the network node is not used, thereby further reducing the load of the network node.
  • FIG. 3 illustrates a flow 300 of another embodiment of a communication processing method of the present application.
  • Flow 300 depicts the steps performed by the communication sender.
  • the communication processing method includes the following steps:
  • Step 301 Receive, by the tunnel bridge of the first physical machine, a packet sent by the virtual machine, where the first physical machine is a host of the virtual machine.
  • step 301 in this embodiment For the processing of step 301 in this embodiment, reference may be made to the processing of step 201 in the embodiment corresponding to FIG. 1, and details are not described herein again.
  • Step 302 Determine whether the packet is an ARP request packet.
  • step 303 if it is determined that the packet is an ARP request packet, step 303 is performed, otherwise step 304 is performed.
  • Step 303 If the destination address of the packet is not the address of the virtual machine in the first physical machine, write the predetermined pseudo physical address into the ARP response and return the ARP response.
  • step 303 For the processing of step 303 in this embodiment, reference may be made to the processing of step 203 in the embodiment corresponding to FIG. 1, and details are not described herein again.
  • Step 304 Send the foregoing packet to a terminal associated with the destination address of the packet.
  • the foregoing packet may be sent to a terminal associated with the destination address of the packet by using the following steps:
  • Step 3041 The packet is matched with the first flow table by using the VLAN ID and the destination IP address of the packet, where the first flow table is used to indicate that the packet is sent to the second physical machine by using a tunnel technology, and the second physical machine is used.
  • the host of the virtual machine associated with the destination IP address of the above message.
  • Step 3042 If the packet does not match the first flow table, send the packet to the SDN controller, query the destination VLAN ID and the destination IP address, generate a first new flow table, and insert the first flow.
  • the table sends the foregoing message to the second physical machine through the tunneling technology by using the first new flow table.
  • communication between different subnets in the internal network can be completed by the first flow table and the second flow table.
  • the virtual machine needs to access the external network (for example, the public network)
  • the physical address in the previously returned ARP reply is a pseudo physical address
  • the first flow table and the second flow table are certainly not matched. You can perform the following steps:
  • Step 3043 If the packet does not match the second flow table, the packet is matched with the third flow table according to the source VLAN ID of the packet, where the third flow table is used to indicate that the packet is to be sent. Sent to the network node of the gateway associated with the destination IP address of the above message.
  • the third flow table solves the problem that the virtual machine needs to access the external network, but the third flow table may be incomplete, so that the third flow table cannot be matched. In this case, the step is performed. 3044.
  • Step 3044 If the packet does not match the third flow table, upload the message to the controller, generate a second new flow table by using the controller, and send the message by using the second new flow table. a network of gateways associated with the destination IP address of the above message On the network node, the second new flow table is inserted into the third flow table.
  • the uploading the message to the controller may include: matching the packet with the fourth flow table according to the source VLAN ID of the packet, where the fourth flow table is used to indicate that the matching will be performed.
  • the received message is uploaded to the above controller.
  • step 3044 when the third flow table is incomplete or incomplete, the second new flow table is generated by the controller and inserted into the third flow table, so that the message of the same address can be passed later. Match the third flow table to send.
  • the embodiment 300 is different from the embodiment corresponding to FIG. 2 in that the flow 300 of the communication processing method provided in this embodiment has more steps 3043 to 3044 than the embodiment corresponding to FIG. 2 .
  • the processing in steps 3043 to 3044 the problem that the virtual machine accesses the external network is solved.
  • FIG. 4 shows a flow 400 of still another embodiment of the communication processing method of the present application.
  • Flow 400 depicts the steps performed by the communication receiving end.
  • the communication processing method includes the following steps:
  • Step 401 Receive a message through a tunnel bridge.
  • Step 402 Match the flow table according to the tunnel identification code, the destination physical address, and the destination IP address of the packet, where the destination physical address in the header field of the flow table is a predetermined pseudo physical address, and is used to indicate the matched packet.
  • the source physical address is changed to the above-mentioned pseudo physical address, and the destination physical address is changed to the real physical address corresponding to the destination IP address of the above packet.
  • Step 403 Send the foregoing packet to a virtual machine associated with the destination address of the packet.
  • step 403 may include the following steps, for example:
  • the packet is sent to the virtual machine associated with the destination IP address of the packet.
  • the virtual machine is the destination virtual machine.
  • the destination physical address in the matched packet is changed to the real physical address corresponding to the destination IP address of the packet.
  • the message can be directly based on the latest physical address of the message. Send to the destination virtual machine.
  • the destination virtual machine of the packet has been migrated. In this case, the following steps are performed: sending the packet to the controller.
  • the controller generates a flow table of the physical machine where the destination IP address of the packet is located, and sends the packet to the destination virtual machine through the flow table.
  • the step of generating, by the controller, the flow table of the physical machine where the destination IP address of the packet is located may include, by using the controller, the tunnel identifier, the source IP address, and the destination according to the packet.
  • the IP address searches for the physical machine where the destination IP address of the packet is located, and generates the flow table.
  • the message can be sent to the latest physical machine where the virtual machine is located, and the communication processing method of the embodiment is further improved.
  • Step 404 Send a reply packet corresponding to the packet to a physical machine at the sending end by using a tunneling technology.
  • the source physical address of the received packet (in this case, a pseudo physical address) is used as its own.
  • the destination physical address is then sent to the physical machine on the sending end through tunneling.
  • step 403 If there is no virtual machine associated with the destination IP address of the packet in the local device in step 403, the flow table generated in step 403 is sent to the physical machine at the transmitting end. Therefore, the packets sent to this virtual machine can be sent to the correct physical machine.
  • the communication processing method provided in this embodiment is configured to change the destination physical address in the matched packet to the real physical address corresponding to the destination IP address of the packet, so that the packet can reach the correct destination virtual machine, thereby completing The entire communication process.
  • the reply packet is sent to the gateway to find the sender, so that the network node is not relieved by the network node.
  • the present application provides an embodiment of a communication processing apparatus, which may be specifically applied to the network structure shown in FIG. At the sending end of the communication.
  • the communication processing apparatus 500 of the present embodiment includes a message receiving unit 501, a message parsing unit 502, an ARP response transmitting unit 503, and a message transmitting unit 504.
  • the message receiving unit 501 is configured to receive, by the tunnel bridge of the first physical machine, a message sent by the virtual machine, where the first physical machine is a host of the virtual machine, and the message parsing unit 502 is configured to determine the message. Whether it is an address resolution protocol ARP request message; the ARP response sending unit 503 is configured to determine, in the message parsing unit 502, that the message is an ARP request message, and the destination address of the message is not virtual in the first physical machine.
  • the message sending unit 504 is configured to send the message when the message parsing unit 502 determines that the message is not an ARP request message. To the terminal associated with the destination address of the above message.
  • the ARP response sending unit 503 writes a predetermined pseudo physical address to the ARP response and returns the ARP response to the ARP request message whose destination address is not the virtual machine in the first physical machine.
  • the ARP request packet needs to be processed only in the first physical machine, and does not need to go through the network node, thereby reducing the load of the network node.
  • the message sending unit 504 may include:
  • the first flow table matching unit (not shown) is configured to match the foregoing packet with the first flow table by using a virtual local area network identifier VLAN ID and a destination network protocol address destination IP address of the foregoing message, where the first flow table is used for Instructing to transmit the foregoing packet to the second physical machine by using a tunneling technology, where the second physical machine is a host of the virtual machine associated with the destination IP address of the packet;
  • a first flow table generating unit (not shown), configured to send the message to a software-defined network SDN controller when the packet does not match the first flow table, and query the destination VLAN ID by using the controller And the destination IP address, the first flow table is generated and inserted into the first flow table, and the foregoing message is sent to the second physical machine by using the first flow table.
  • step 3041 in FIG. 3 The specific processing of the first flow table matching unit and the technical effects thereof may be referred to the related description of step 3041 in FIG. 3 , and details are not described herein again; the specific processing of the first flow table generating unit and the technical effects thereof may be referred to The related description of step 3042 in 3 will not be repeated here.
  • the message sending unit 504 may further include:
  • the second flow table matching unit (not shown) is configured to match the message with the third flow table according to the source VLAN ID of the packet when the packet does not match the second flow table.
  • the third flow table is configured to send the foregoing packet to a network node of a gateway associated with the destination IP address of the packet;
  • a second flow table generating unit (not shown), configured to upload the message to the controller when the packet does not match the third flow table, and generate a second new stream by using the controller
  • the table sends the packet to the network node of the gateway associated with the destination IP address of the packet by using the second new flow table, and inserts the second new flow table new flow table into the third flow table.
  • step 3043 in FIG. 3 The specific processing of the second flow table matching unit and the technical effects thereof may be referred to the related description of step 3043 in FIG. 3 , and details are not described herein again; the specific processing of the second flow table generating unit and the technical effects thereof may be Refer to the related description of step 3044 in FIG. 3, and details are not described herein again.
  • the ARP response sending unit 503 is further configured to: when the packet is an ARP request packet, and the destination address in the packet is an address of the virtual machine in the first physical machine, The integrated bridge of the first physical machine returns an ARP reply.
  • the present application provides another embodiment of a communication processing apparatus, which may be specifically applied to the network structure shown in FIG. 1 and applied to communication.
  • the receiving end may be specifically applied to the network structure shown in FIG. 1 and applied to communication.
  • the communication processing apparatus 600 of the present embodiment includes a message receiving unit 601, a flow table matching unit 602, a message transmitting unit 603, and a reply packet transmitting unit 604.
  • the message receiving unit 601 is configured to receive a packet by using a tunnel bridge.
  • the flow table matching unit 602 is configured to match the flow table according to the tunnel identification code, the destination physical address, and the destination IP address of the network protocol address.
  • the destination physical address in the header field of the flow table is a predetermined pseudo physical address, and the flow table is used to indicate that the source physical address in the matched packet is changed to the pseudo physical address, and the destination physical address is changed to the foregoing packet.
  • the reply packet sending unit 604 is configured to send the reply packet corresponding to the packet to the physical machine at the sending end by using the tunnel technology.
  • the message sending unit 603 may include:
  • a message sending subunit (not shown), configured to send the foregoing message to the virtual machine when a virtual machine associated with the destination IP address of the packet exists in the local device;
  • a flow table generating unit (not shown), configured to send the foregoing message to the controller when the virtual machine associated with the destination IP address of the packet does not exist in the local machine, and generate the report by using the controller The flow table of the physical machine where the destination IP address is located, and sends the flow table to the physical machine that sends the message.
  • the flow table of the physical machine in which the flow table generating unit generates the destination IP address of the packet by using the controller may include, for example, a tunnel identifier, a source IP address, and a source IP address of the packet according to the controller.
  • the destination IP address is used to find the physical machine where the destination IP address of the packet is located, and the flow table is generated.
  • the communication processing apparatus uses the flow table matching unit 602 to change the destination physical address in the matched packet to the real physical address corresponding to the destination IP address of the packet, so that the packet can reach the correct destination.
  • the virtual machine completes the entire communication process.
  • the flow table matching unit 602 changes the source physical address in the matched packet to the pseudo-physical address, and avoids sending the reply packet to the gateway to find the sender, so that the network node is not used, thereby alleviating The pressure of the network node.
  • the present application further provides a computer readable storage medium, which may be a computer readable storage medium included in the apparatus in the above embodiment; or may exist separately, not assembled Computer readable storage medium into the terminal.
  • the computer readable storage medium described above stores one or more programs that are used by one or more processors to perform the communication processing methods described herein.

Abstract

本申请公开了一种通信处理方法及装置,所述方法的一具体实施方式包括:通过第一物理机的隧道网桥接收虚拟机发出的报文,所述第一物理机为所述虚拟机的宿主机;确定所述报文是否为地址解析协议ARP请求报文,并获取所述报文的目的地址;如果所述报文是ARP请求报文并且所述报文的目的地址不是所述第一物理机中的虚拟机的地址,则将预定的伪物理地址写入ARP应答并返回所述ARP应答;如果所述报文不是ARP请求报文,则将所述报文发送至与所述报文的目的地址关联的终端。该实施方式实现了减少网络节点的负载。

Description

通信处理方法和装置
相关申请的交叉引用
本申请要求于2015年08月20日提交的中国专利申请号为“201510516380.9”的优先权,其全部内容作为整体并入本申请中。
技术领域
本申请涉及计算机技术领域,具体涉及数据交换网络技术领域,尤其涉及虚拟网络中不同子网之间的通信处理方法和装置。
背景技术
目前,实现不同子网之间通信需要在两个子网外的网络节点上面创建一个路由器来配置静态的路由规则,报文需要发往该网络节点上进行中转来完成跨子网的网络通信。
然而,由于网络节点本身承担着对外网的流量通信需求,实施上述现有技术,使得逻辑上属于内网的流量落到了负责外网通信的网络节点上面,从而导致网络节点的负载过大。
发明内容
本申请的目的在于提出一种通信处理方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种通信处理方法,所述方法包括:通过第一物理机的隧道网桥接收虚拟机发出的报文,所述第一物理机为所述虚拟机的宿主机;确定所述报文是否为地址解析协议ARP请求报文;如果所述报文是ARP请求报文并且所述报文的目的地址不是所述第一物理机中的虚拟机的地址,则将预定的伪物理地址写入ARP应答并返回所述ARP应答;如果所述报文不是ARP请求报文,则将所述报文发送至与所述报文的目的地址关联的终端。
在一些实施例中,所述方法还包括:如果所述报文是ARP请求报文并且所述报文中目的地址是所述第一物理机中的虚拟机的地址,则通过所述第一物理机的集成网桥返回ARP应答。
在一些实施例中,所述将所述报文发送至与所述报文的目的地址关联的终端包括:通过所述报文的虚拟局域网标识符VLAN ID和目的网络协议地址目的IP地址将所述报文与第一流表匹配,所述第一流表用于指示将所述报文通过隧道技术发送至第二物理机,所述第二物理机为与所述报文的目的IP地址关联的虚拟机的宿主机;如果所述报文与所述第一流表没有匹配到,则将所述报文发送到软件定义网络SDN控制器,通过所述控制器查询目的VLAN ID和目的IP地址,生成第一新流表并插入第一流表,通过第一新流表将所述报文通过隧道技术发送至第二物理机。
在一些实施例中,所述将所述报文发送到软件定义网络SDN控制器包括:通过所述报文的无类别域路由CIDR将所述报文与第二流表匹配,所述第二流表用于指示将匹配到的报文发送到所述控制器。
在一些实施例中,所述将所述报文发送至与所述报文的目的地址关联的终端还包括:如果所述报文与所述第二流表没有匹配到,则根据所述报文的源VLAN ID将所述报文与第三流表进行匹配,所述第三流表用于指示将所述报文发送到与所述报文的目的IP地址关联的网关的网络节点上;如果所述报文与所述第三流表没有匹配到,则将所述报文上传到所述控制器,通过所述控制器生成第二新流表,通过所述第二新流表将所述报文发送到与所述报文的目的IP地址关联的网关的网络节点上,并将所述第二新流表插入所述第三流表。
在一些实施例中,所述将所述报文上传到所述控制器包括:根据所述报文的源VLAN ID将所述报文与第四流表进行匹配,所述第四流表用于指示将匹配到的报文上传到所述控制器。
第二方面,本申请提供了一种通信处理方法,所述方法包括:通过隧道网桥接收报文;根据所述报文的隧道标识码、目的物理地址、以及网络协议地址目的IP地址匹配流表,所述流表的头域中目的物理地址为预定的伪物理地址,所述流表用于指示将匹配到的报文中的 源物理地址改为所述伪物理地址,目的物理地址改为所述报文的目的IP地址对应的真实物理地址;将所述报文发送到与所述报文的目的地址关联的虚拟机;通过隧道技术发送所述报文对应的回复包到发送端的物理机上。
在一些实施例中,所述将所述报文发送到与所述报文的目的地址关联的虚拟机包括:如果本机中存在与所述报文的目的IP地址关联的虚拟机,则将所述报文发送到所述虚拟机;如果本机中不存在与所述报文的目的IP地址关联的虚拟机,则将所述报文发送至控制器,通过所述控制器生成所述报文的目的IP地址所在的物理机的流表,并将所述流表发送到发送所述报文的物理机。
在一些实施例中,所述通过所述控制器生成所述报文的目的IP地址所在的物理机的流表包括:通过所述控制器根据所述报文的隧道标识符、源IP地址以及目的IP地址查找所述报文的目的IP地址所在的物理机,并生成所述流表。
第三方面,本申请提供了一种通信处理装置,所述装置包括:报文接收单元,用于通过第一物理机的隧道网桥接收虚拟机发出的报文,所述第一物理机为所述虚拟机的宿主机;报文解析单元,用于确定所述报文是否为地址解析协议ARP请求报文;ARP应答发送单元,用于在所述报文解析单元确定所述报文是ARP请求报文,并且所述报文的目的地址不是所述第一物理机中的虚拟机的地址时,将预定的伪物理地址写入ARP应答并返回所述ARP应答;报文发送单元,用于在报文解析单元确定所述报文不是ARP请求报文时,将所述报文发送至与所述报文的目的地址关联的终端。
在一些实施例中,所述ARP应答发送单元还用于在所述报文是ARP请求报文并且所述报文中目的地址是所述第一物理机中的虚拟机的地址时,通过所述第一物理机的集成网桥返回ARP应答。
在一些实施例中,所述报文发送单元包括:第一流表匹配单元,用于通过所述报文的虚拟局域网标识符VLAN ID和目的网络协议地址目的IP地址将所述报文与第一流表匹配,所述第一流表用于指示将所述报文通过隧道技术发送至第二物理机,所述第二物理机为与所述 报文的目的IP地址关联的虚拟机的宿主机;第一流表生成单元,用于在所述报文与所述第一流表没有匹配到时,将所述报文发送到软件定义网络SDN控制器,通过所述控制器查询目的VLAN ID和目的IP地址,生成流表并插入第一流表,并将所述报文通过隧道技术发送至第二物理机。
在一些实施例中,所述第一流表生成单元将所述报文发送到软件定义网络SDN控制器包括:通过所述报文的无类别域路由CIDR将所述报文与第二流表匹配,所述第二流表用于指示将匹配到的报文发送到所述控制器。
在一些实施例中,所述报文发送单元还包括:第二流表匹配单元,用于在所述报文与所述第二流表没有匹配到时,根据所述报文的源VLAN ID将所述报文与第三流表进行匹配,所述第三流表用于指示将所述报文发送到与所述报文的目的IP地址关联的网关的网络节点上;第二流表生成单元,用于在所述报文与所述第三流表没有匹配到时,将所述报文上传到所述控制器,通过所述控制器生成新流表,将所述报文发送到与所述报文的目的IP地址关联的网关的网络节点上,并将所述新流表插入所述第三流表。
在一些实施例中,所述第二流表生成单元将所述报文上传到所述控制器包括:根据所述报文的源VLAN ID将所述报文与第四流表进行匹配,所述第四流表用于指示将匹配到的报文上传到所述控制器。
第四方面,本申请提供了一种通信处理装置,所述装置包括:报文接收单元,用于通过隧道网桥接收报文;流表匹配单元,用于根据所述报文的隧道标识码、目的物理地址、以及网络协议地址目的IP地址匹配流表,所述流表的头域中目的物理地址为预定的伪物理地址,所述流表用于指示将匹配到的报文中的源物理地址改为所述伪物理地址,目的物理地址改为所述报文的目的IP地址对应的真实物理地址;报文发送单元,用于将所述报文发送到与所述报文的目的地址关联的虚拟机;回复包发送单元,用于通过隧道技术发送所述报文对应的回复包到发送端的物理机上。
在一些实施例中,所述报文发送单元包括:报文发送子单元,用 于当本机中存在与所述报文的目的IP地址关联的虚拟机时,将所述报文发送到所述虚拟机;流表生成单元,用于当本机中不存在与所述报文的目的IP地址关联的虚拟机时,将所述报文发送至控制器,通过所述控制器生成所述报文的目的IP地址所在的物理机的流表,并将所述流表发送到发送所述报文的物理机。
在一些实施例中,所述通过所述控制器生成所述报文的目的IP地址所在的物理机的流表包括:通过所述控制器根据所述报文的隧道标识符、源IP地址以及目的IP地址查找所述报文的目的IP地址所在的物理机,并生成所述流表。
本申请提供的通信处理方法和装置,通过针对目的地址不是第一物理机中的虚拟机的ARP请求报文,将预定的伪物理地址写入ARP应答并返回所述ARP应答,使得所述ARP请求报文只需在第一物理机内部处理,无需经过网络节点,减少了网络节点的负载。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是根据本申请的实施例的示例性网络结构示意图;
图2是根据本申请的通信处理方法的一个实施例的流程图;
图3是根据本申请的通信处理方法的另一个实施例的流程图;
图4是根据本申请的通信处理方法的再一个实施例的流程图;
图5是根据本申请的通信处理装置的一个实施例的结构示意图;
图6是根据本申请的通信处理装置的另一个实施例的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用于本申请实施例的示例性网络结构示意图。
如图1所示,该网络结构中包括物理机101和物理机102,物理机101中有虚拟机1011和虚拟机1012,物理机102中有虚拟机1021和虚拟机1022。每个物理机中的各个虚拟机都可以与本物理机中的集成网桥(br-int)连接,集成网桥1013和集成网桥1023是虚拟化出来的网桥,起着虚拟交换机的作用,把它所在的计算节点上的虚拟机都连接到它上面。集成网桥1013、集成网桥1023下面分别与隧道网桥(br-tun)1014、隧道网桥(br-tun)1024连接,隧道网桥1014和隧道网桥1024也是虚拟化出来的网桥,通过它上面的VXLAN(Virtual eXtensible Local Area Network,虚拟可扩展局域网)隧道设备G与其他物理机上的隧道网桥通信,构成一个统一的通信层。这样就实现了不同计算节点上的虚拟机连接在同一个逻辑上的虚拟交换机上面的功能。图1中,A和Q是其对应虚拟机的虚拟网卡,B、D、T和R是虚拟网络内核驱动设备,C和S是虚拟网卡对等设备,E和F是用来关联集成网桥和隧道网桥的端口。
应该理解,图1中的物理机、虚拟机、网桥及其他设备的数目仅仅是示意性的。根据实现需要,可以配置有任意数目的物理机、虚拟机、网桥及其他设备。
基于图1所示的网络结构,本申请提供了一种通信处理方法和装置,下面将参考附图并结合实施例来详细说明本申请提供的通信处理方法和装置。
图2示出了本申请的通信处理方法的一个实施例的流程200。
流程200为通信发送端执行的步骤。参照图2,该通信处理方法包括以下步骤:
步骤201,通过第一物理机的隧道网桥接收虚拟机发出的报文,上述第一物理机为上述虚拟机的宿主机。
在本实施例中,虚拟机发出的报文先发到集成网桥上,再由集成 网桥将报文发往隧道网桥。(例如,图1中的虚拟机1011发出报文,先发往集成网桥1013,再由集成网桥1013发往集成网桥1014。)
步骤202,确定上述报文是否为ARP(Address Resolution Protocol,地址解析协议)请求报文。
在本实施例中,如果确定上述报文是ARP请求报文,则执行步骤203,否则执行步骤204。
步骤203,如果上述报文的目的地址不是上述第一物理机中的虚拟机的地址,则将预定的伪物理地址写入ARP应答并返回上述ARP应答。
在本实施例中,可以通过一个流表来实现步骤203,该流表匹配到目的不是在本地的ARP请求报文,并指示将一个伪物理地址(例如:“12:34:56:78:9b:ai”)写入ARP应答并返回该ARP应答作为匹配到的ARP请求报文的ARP应答。
步骤204,将上述报文发送至与上述报文的目的地址关联的终端。
在本实施例中,本步骤的报文为非ARP报文(例如IP数据包),具体地,可以通过以下步骤将上述报文发送至与上述报文的目的地址关联的终端:
通过上述报文的VLAN ID(Virtual Local Area Network Identification,虚拟局域网标识符)和目的IP(Internet Protocol,网络协议)地址将上述报文与第一流表匹配,上述第一流表用于指示将上述报文通过隧道技术发送至第二物理机,上述第二物理机为与上述报文的目的IP地址关联的虚拟机的宿主机。
在本实施例中,集成网桥会给每个物理机都分配一个VLAN ID,由于前面ARP应答中的物理地址是伪物理地址,所以此处通过目的IP地址和VLAN ID来匹配第一流表。
如果上述报文与上述第一流表没有匹配到,则将上述报文发送到SDN(Software Defined Network,软件定义网络)控制器,通过该控制器查询目的VLAN ID和目的IP地址,生成第一新流表并插入第一流表,通过第一新流表将上述报文通过隧道技术发送至第二物理机。
在本实施例中,将上述报文发送到软件定义网络SDN控制器的 步骤例如可以包括:通过上述报文的CIDR(Classless Inter-Domain Routing,无类别域路由)将上述报文与第二流表匹配,上述第二流表用于指示将匹配到的报文发送到上述控制器。
通过步骤上述处理,使得在第一流表出现不全或者不完整的时候,通过控制器来生成第一新流表并插入第一流表中,这样,以后发送报文时就可以直接通过匹配第一流表来发送。
通过上述步骤201~步骤204的处理,即可完成非ARP请求报文在内部网络中的不同子网之间的通信。
在本实施例的一些可选的实现方式中,本实施例的通信处理方法还可以包括:如果上述报文是ARP请求报文并且上述报文中目的地址是上述第一物理机中的虚拟机的地址,则通过上述第一物理机的集成网桥返回ARP应答。从而使目的地址在本机的ARP请求能够得到正确的ARP应答。
根据本实施例提供的通信处理的方法,通过针对目的地址不是第一物理机中的虚拟机的ARP请求报文,将预定的伪物理地址写入ARP应答并返回上述ARP应答,使得上述ARP请求报文只需在第一物理机内部处理,无需经过网络节点,减少了网络节点的负载。
进一步地,针对非ARP请求报文,通过第一流表将上述报文通过隧道技术发送至第二物理机,也不用经过网络节点,进一步地减少了网络节点的负载。
图3示出了本申请的通信处理方法的另一个实施例的流程300。
流程300描述的也是通信发送端执行的步骤。参照图3,该通信处理方法包括以下步骤:
步骤301,通过第一物理机的隧道网桥接收虚拟机发出的报文,上述第一物理机为上述虚拟机的宿主机。
本实施例中步骤301的处理可参考图1对应的实施例中步骤201的处理,在此不再赘述。
步骤302,确定上述报文是否为ARP请求报文。
本实施例中,如果确定上述报文是ARP请求报文,则执行步骤303,否则执行步骤304。
步骤303,如果上述报文的目的地址不是上述第一物理机中的虚拟机的地址,则将预定的伪物理地址写入ARP应答并返回上述ARP应答。
本实施例中步骤303的处理可参考图1对应的实施例中步骤203的处理,在此不再赘述。
步骤304,将上述报文发送至与上述报文的目的地址关联的终端。
在本实施例中,可以通过以下步骤将上述报文发送至与上述报文的目的地址关联的终端:
步骤3041,通过上述报文的VLAN ID和目的IP地址将上述报文与第一流表匹配,上述第一流表用于指示将上述报文通过隧道技术发送至第二物理机,上述第二物理机为与上述报文的目的IP地址关联的虚拟机的宿主机。
步骤3042,如果上述报文与上述第一流表没有匹配到,则将上述报文发送到SDN控制器,通过该控制器查询目的VLAN ID和目的IP地址,生成第一新流表并插入第一流表,通过第一新流表将上述报文通过隧道技术发送至第二物理机。
在本实施例中,通过第一流表和第二流表就能完成内部网络中不同子网之间的通信。但在虚拟机需要访问外网(例如公网)的情况下,由于前面返回的ARP应答中的物理地址是伪物理地址,所以肯定不会匹配到第一流表和第二流表,此时就可以执行下面的步骤:
步骤3043,如果上述报文与上述第二流表没有匹配到,则根据上述报文的源VLAN ID将上述报文与第三流表进行匹配,上述第三流表用于指示将上述报文发送到与上述报文的目的IP地址关联的网关的网络节点上。
通过上述第三流表就解决了虚拟机需要访问外网的问题,但是第三流表可能有不完整的情况,因此就会出现匹配不到第三流表的情况,此时,将执行步骤3044。
步骤3044,如果上述报文与上述第三流表没有匹配到,则将上述报文上传到上述控制器,通过上述控制器生成第二新流表,通过第二新流表将上述报文发送到与上述报文的目的IP地址关联的网关的网 络节点上,并将上述第二新流表插入上述第三流表。
在本实施例中,上述将上述报文上传到上述控制器例如可以包括:根据上述报文的源VLAN ID将上述报文与第四流表进行匹配,上述第四流表用于指示将匹配到的报文上传到上述控制器。
通过步骤3044的处理,使得在第三流表出现不全或者不完整的时候,通过控制器来生成第二新流表并插入第三流表中,这样,以后相同地址的报文时就可以通过匹配第三流表来发送。
本实施例中步骤3041~步骤3042的处理及其技术效果可参考图1对应的实施例中步骤204的处理,在此不再赘述。
可以看出,本实施例与图2对应的实施例不同的是,本实施例提供的通信处理方法的流程300比图2对应的实施例多了步骤3043~步骤3044。通过在步骤3043~步骤3044的处理,解决了虚拟机访问外网的问题。
图4示出了本申请的通信处理方法的再一个实施例的流程400。
流程400描述的是通信接收端执行的步骤。参照图4,该通信处理方法包括以下步骤:
步骤401,通过隧道网桥接收报文。
步骤402,根据上述报文的隧道标识码、目的物理地址、以及目的IP地址匹配流表,该流表的头域中目的物理地址为预定的伪物理地址,用于指示将匹配到的报文中的源物理地址改为上述伪物理地址,目的物理地址改为上述报文的目的IP地址对应的真实物理地址。
步骤403,将上述报文发送到与上述报文的目的地址关联的虚拟机。
在本实施例中,步骤403例如可以包括以下步骤:
确定本机中是否存在与上述报文的目的IP地址关联的虚拟机;
如果本机中存在与上述报文的目的IP地址关联的虚拟机,则将上述报文发送到与上述报文的目的IP地址关联的虚拟机。
在本实施例中,上述虚拟机即为目的虚拟机,由于在步骤401中将匹配到的报文中的目的物理地址改成了上述报文的目的IP地址对应的真实物理地址,本步骤就可直接根据报文最新的物理地址将报文 发送到目的虚拟机。
如果本机中不存在与上述报文的目的IP地址关联的虚拟机,说明上述报文的目的虚拟机已经被迁移,此种情况将执行以下步骤:将上述报文发送至控制器,通过上述控制器生成上述报文的目的IP地址所在的物理机的流表,通过该流表将报文发送到目的虚拟机。
在本实施例中,上述通过上述控制器生成上述报文的目的IP地址所在的物理机的流表的步骤例如可以包括:通过上述控制器根据上述报文的隧道标识符、源IP地址以及目的IP地址查找上述报文的目的IP地址所在的物理机,并生成上述流表。
通过上述处理,使得在虚拟机被迁移,并且发送端的流表没有更新的情况下,报文还能够被发送到虚拟机所在最新的物理机上,进一步完善了本实施例的通信处理方法。
步骤404,通过隧道技术发送上述报文对应的回复包到发送端的物理机上。
在本实施例中,如果在步骤403中,本机中存在与上述报文的目的IP地址关联的虚拟机,则将收到的报文的源物理地址(此时为伪物理地址)作为自己的目的物理地址,然后通过隧道技术将回复包发到发送端的物理机上。
如果在步骤403中,本机中不存在与上述报文的目的IP地址关联的虚拟机,则将步骤403中生成的流表发送到发送端的物理机。从而使以后发往此虚拟机的报文就能够发送到正确的物理机上。
本实施例提供的通信处理方法,通过将匹配到的报文中的目的物理地址改为上述报文的目的IP地址对应的真实物理地址,使得上述报文能够到达正确的目的虚拟机,从而完成了整个通信过程。与此同时,通过将匹配到的报文中的源物理地址改为上述伪物理地址,避免了发送回复包时发往网关去找发送端,从而不用经过网络节点,缓解了网络节点的压力。
进一步参考图5,作为对上述图2或图3所示方法的实现,本申请提供了一种通信处理装置的一个实施例,该装置具体可以应用于图1所示的网络结构中,并且应用于通信的发送端。
如图5所示,本实施例的通信处理装置500包括:报文接收单元501、报文解析单元502、ARP应答发送单元503以及报文发送单元504。其中,报文接收单元501用于通过第一物理机的隧道网桥接收虚拟机发出的报文,上述第一物理机为上述虚拟机的宿主机;报文解析单元502用于确定上述报文是否为地址解析协议ARP请求报文;ARP应答发送单元503用于在上述报文解析单元502确定上述报文是ARP请求报文,并且上述报文的目的地址不是上述第一物理机中的虚拟机的地址时,将预定的伪物理地址写入ARP应答并返回上述ARP应答;报文发送单元504用于在报文解析单元502确定上述报文不是ARP请求报文时,将上述报文发送至与上述报文的目的地址关联的终端。
根据本实施例提供的通信处理装置,通过ARP应答发送单元503针对目的地址不是第一物理机中的虚拟机的ARP请求报文,将预定的伪物理地址写入ARP应答并返回上述ARP应答,使得上述ARP请求报文只需在第一物理机内部处理,无需经过网络节点,减少了网络节点的负载。
在本实施例的一些实施方式中,报文发送单元504可以包括:
第一流表匹配单元(图中未示出),用于通过上述报文的虚拟局域网标识符VLAN ID和目的网络协议地址目的IP地址将上述报文与第一流表匹配,上述第一流表用于指示将上述报文通过隧道技术发送至第二物理机,上述第二物理机为与上述报文的目的IP地址关联的虚拟机的宿主机;
第一流表生成单元(图中未示出),用于在上述报文与上述第一流表没有匹配到时,将上述报文发送到软件定义网络SDN控制器,通过上述控制器查询目的VLAN ID和目的IP地址,生成第一流表并插入第一流表,并通过上述第一流表将上述报文通过隧道技术发送至第二物理机。
其中,第一流表匹配单元的具体处理及其产生的技术效果可参考图3中步骤3041的相关描述,在此不再赘述;第一流表生成单元的具体处理及其产生的技术效果可参考图3中步骤3042的相关描述,在此不再赘述。
在本实施例的一个可选实施方式中,报文发送单元504还可以进一步包括:
第二流表匹配单元(图中未示出),用于在上述报文与上述第二流表没有匹配到时,根据上述报文的源VLAN ID将上述报文与第三流表进行匹配,上述第三流表用于指示将上述报文发送到与上述报文的目的IP地址关联的网关的网络节点上;
第二流表生成单元(图中未示出),用于在上述报文与上述第三流表没有匹配到时,将上述报文上传到上述控制器,通过上述控制器生成第二新流表,通过上述第二新流表将上述报文发送到与上述报文的目的IP地址关联的网关的网络节点上,并将上述第二新流表新流表插入上述第三流表。
其中,第二流表匹配单元的具体处理及其产生的技术效果可参考图3中步骤3043的相关描述,在此不再赘述;第二流表生成单元的具体处理及其产生的技术效果可参考图3中步骤3044的相关描述,在此不再赘述。
在本实施例的一些实现方式中,ARP应答发送单元503还用于在上述报文是ARP请求报文并且上述报文中目的地址是上述第一物理机中的虚拟机的地址时,通过上述第一物理机的集成网桥返回ARP应答。
进一步参考图6,作为对上述图4所示方法的实现,本申请提供了一种通信处理装置的另一个实施例,该装置具体可以应用于图1所示的网络结构中,并且应用于通信的接收端。
如图6所示,本实施例的通信处理装置600包括:报文接收单元601、流表匹配单元602、报文发送单元603以及回复包发送单元604。其中,报文接收单元601,用于通过隧道网桥接收报文;流表匹配单元602,用于根据上述报文的隧道标识码、目的物理地址、以及网络协议地址目的IP地址匹配流表,上述流表的头域中目的物理地址为预定的伪物理地址,上述流表用于指示将匹配到的报文中的源物理地址改为上述伪物理地址,目的物理地址改为上述报文的目的IP地址对应的真实物理地址;报文发送单元603,用于将上述报文发送到与上 述报文的目的地址关联的虚拟机;回复包发送单元604,用于通过隧道技术发送上述报文对应的回复包到发送端的物理机上。
在本实施例中,报文发送单元603可以包括:
报文发送子单元(图中未示出),用于当本机中存在与上述报文的目的IP地址关联的虚拟机时,将上述报文发送到上述虚拟机;
流表生成单元(图中未示出),用于当本机中不存在与上述报文的目的IP地址关联的虚拟机时,将上述报文发送至控制器,通过上述控制器生成上述报文的目的IP地址所在的物理机的流表,并将上述流表发送到发送上述报文的物理机。
在本实施例中,流表生成单元通过上述控制器生成上述报文的目的IP地址所在的物理机的流表例如可以包括:通过上述控制器根据上述报文的隧道标识符、源IP地址以及目的IP地址查找上述报文的目的IP地址所在的物理机,并生成上述流表。
回复包发送单元604的具体处理及其技术效果可参考图4对应的实施例中步骤404的相关描述,在此不再赘述。
本实施例提供的通信处理装置,通过流表匹配单元602将匹配到的报文中的目的物理地址改为上述报文的目的IP地址对应的真实物理地址,使得上述报文能够到达正确的目的虚拟机,从而完成了整个通信过程。与此同时,通过流表匹配单元602将匹配到的报文中的源物理地址改为上述伪物理地址,避免了发送回复包时发往网关去找发送端,从而不用经过网络节点,缓解了网络节点的压力。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。上述计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的通信处理方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离 上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (20)

  1. 一种通信处理方法,其特征在于,所述方法包括:
    通过第一物理机的隧道网桥接收虚拟机发出的报文,所述第一物理机为所述虚拟机的宿主机;
    确定所述报文是否为地址解析协议ARP请求报文;
    如果所述报文是ARP请求报文并且所述报文的目的地址不是所述第一物理机中的虚拟机的地址,则将预定的伪物理地址写入ARP应答并返回所述ARP应答;
    如果所述报文不是ARP请求报文,则将所述报文发送至与所述报文的目的地址关联的终端。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    如果所述报文是ARP请求报文并且所述报文中目的地址是所述第一物理机中的虚拟机的地址,则通过所述第一物理机的集成网桥返回ARP应答。
  3. 根据权利要求1所述的方法,其特征在于,所述将所述报文发送至与所述报文的目的地址关联的终端包括:
    通过所述报文的虚拟局域网标识符VLAN ID和目的网络协议地址目的IP地址将所述报文与第一流表匹配,所述第一流表用于指示将所述报文通过隧道技术发送至第二物理机,所述第二物理机为与所述报文的目的IP地址关联的虚拟机的宿主机;
    如果所述报文与所述第一流表没有匹配到,则将所述报文发送到软件定义网络SDN控制器,通过所述控制器查询目的VLAN ID和目的IP地址,生成第一新流表并插入第一流表,通过所述第一新流表将所述报文通过隧道技术发送至第二物理机。
  4. 根据权利要求3所述的方法,其特征在于,所述将所述报文发送到软件定义网络SDN控制器包括:
    通过所述报文的无类别域路由CIDR将所述报文与第二流表匹配,所述第二流表用于指示将匹配到的报文发送到所述控制器。
  5. 根据权利要求4所述的方法,其特征在于,所述将所述报文发送至与所述报文的目的地址关联的终端还包括:
    如果所述报文与所述第二流表没有匹配到,则根据所述报文的源VLAN ID将所述报文与第三流表进行匹配,所述第三流表用于指示将所述报文发送到与所述报文的目的IP地址关联的网关的网络节点上;
    如果所述报文与所述第三流表没有匹配到,则将所述报文上传到所述控制器,通过所述控制器生成第二新流表,通过所述第二新流表将所述报文发送到与所述报文的目的IP地址关联的网关的网络节点上,并将所述第二新流表插入所述第三流表。
  6. 根据权利要求5所述的方法,其特征在于,所述将所述报文上传到所述控制器包括:根据所述报文的源VLAN ID将所述报文与第四流表进行匹配,所述第四流表用于指示将匹配到的报文上传到所述控制器。
  7. 一种通信处理方法,其特征在于,所述方法包括:
    通过隧道网桥接收报文;
    根据所述报文的隧道标识码、目的物理地址、以及网络协议地址目的IP地址匹配流表,所述流表的头域中目的物理地址为预定的伪物理地址,所述流表用于指示将匹配到的报文中的源物理地址改为所述伪物理地址,目的物理地址改为所述报文的目的IP地址对应的真实物理地址;
    将所述报文发送到与所述报文的目的地址关联的虚拟机;
    通过隧道技术发送所述报文对应的回复包到发送端的物理机上。
  8. 根据权利要求7所述的方法,其特征在于,所述将所述报文发送到与所述报文的目的地址关联的虚拟机包括:
    如果本机中存在与所述报文的目的IP地址关联的虚拟机,则将所述报文发送到所述虚拟机;
    如果本机中不存在与所述报文的目的IP地址关联的虚拟机,则将所述报文发送至控制器,通过所述控制器生成所述报文的目的IP地址所在的物理机的流表,并通过将所述流表将所述报文发送到与所述报文的目的地址关联的虚拟机。
  9. 根据权利要求8所述的方法,其特征在于,所述通过所述控制器生成所述报文的目的IP地址所在的物理机的流表包括:
    通过所述控制器根据所述报文的隧道标识符、源IP地址以及目的IP地址查找所述报文的目的IP地址所在的物理机,并生成所述流表。
  10. 一种通信处理装置,其特征在于,所述装置包括:
    报文接收单元,用于通过第一物理机的隧道网桥接收虚拟机发出的报文,所述第一物理机为所述虚拟机的宿主机;
    报文解析单元,用于确定所述报文是否为地址解析协议ARP请求报文;
    ARP应答发送单元,用于在所述报文解析单元确定所述报文是ARP请求报文,并且所述报文的目的地址不是所述第一物理机中的虚拟机的地址时,将预定的伪物理地址写入ARP应答并返回所述ARP应答;
    报文发送单元,用于在报文解析单元确定所述报文不是ARP请求报文时,将所述报文发送至与所述报文的目的地址关联的终端。
  11. 根据权利要求10所述的装置,其特征在于,所述ARP应答发送单元还用于在所述报文是ARP请求报文并且所述报文中目的地址是所述第一物理机中的虚拟机的地址时,通过所述第一物理机的集成网桥返回ARP应答。
  12. 根据权利要求10所述的装置,其特征在于,所述报文发送单 元包括:
    第一流表匹配单元,用于通过所述报文的虚拟局域网标识符VLAN ID和目的网络协议地址目的IP地址将所述报文与第一流表匹配,所述第一流表用于指示将所述报文通过隧道技术发送至第二物理机,所述第二物理机为与所述报文的目的IP地址关联的虚拟机的宿主机;
    第一流表生成单元,用于在所述报文与所述第一流表没有匹配到时,将所述报文发送到软件定义网络SDN控制器,通过所述控制器查询目的VLAN ID和目的IP地址,生成第一流表并插入第一流表,并通过所述第一流表将所述报文通过隧道技术发送至第二物理机。
  13. 根据权利要求12所述的装置,其特征在于,所述第一流表生成单元将所述报文发送到软件定义网络SDN控制器包括:
    通过所述报文的无类别域路由CIDR将所述报文与第二流表匹配,所述第二流表用于指示将匹配到的报文发送到所述控制器。
  14. 根据权利要求13所述的装置,其特征在于,所述报文发送单元还包括:
    第二流表匹配单元,用于在所述报文与所述第二流表没有匹配到时,根据所述报文的源VLAN ID将所述报文与第三流表进行匹配,所述第三流表用于指示将所述报文发送到与所述报文的目的IP地址关联的网关的网络节点上;
    第二流表生成单元,用于在所述报文与所述第三流表没有匹配到时,将所述报文上传到所述控制器,通过所述控制器生成第二新流表,通过所述第二新流表将所述报文发送到与所述报文的目的IP地址关联的网关的网络节点上,并将所述第二新流表新流表插入所述第三流表。
  15. 根据权利要求14所述的装置,其特征在于,所述第二流表生成单元将所述报文上传到所述控制器包括:根据所述报文的源VLAN ID将所述报文与第四流表进行匹配,所述第四流表用于指示将匹配到的报文上传到所述控制器。
  16. 一种通信处理装置,其特征在于,所述装置包括:
    报文接收单元,用于通过隧道网桥接收报文;
    流表匹配单元,用于根据所述报文的隧道标识码、目的物理地址、以及网络协议地址目的IP地址匹配流表,所述流表的头域中目的物理地址为预定的伪物理地址,所述流表用于指示将匹配到的报文中的源物理地址改为所述伪物理地址,目的物理地址改为所述报文的目的IP地址对应的真实物理地址;
    报文发送单元,用于将所述报文发送到与所述报文的目的地址关联的虚拟机;
    回复包发送单元,用于通过隧道技术发送所述报文对应的回复包到发送端的物理机上。
  17. 根据权利要求16所述的装置,其特征在于,所述报文发送单元包括:
    报文发送子单元,用于当本机中存在与所述报文的目的IP地址关联的虚拟机时,将所述报文发送到所述虚拟机;
    流表生成单元,用于当本机中不存在与所述报文的目的IP地址关联的虚拟机时,将所述报文发送至控制器,通过所述控制器生成所述报文的目的IP地址所在的物理机的流表,并将所述流表发送到发送所述报文的物理机。
  18. 根据权利要求17所述的装置,其特征在于,所述通过所述控制器生成所述报文的目的IP地址所在的物理机的流表包括:通过所述控制器根据所述报文的隧道标识符、源IP地址以及目的IP地址查找所述报文的目的IP地址所在的物理机,并生成所述流表。
  19. 一种设备,包括:
    处理器;和
    存储器,
    所述存储器中存储有能够被所述处理器执行的计算机可读指令,在所述计算机可读指令被执行时,所述处理器执行权利要求1至9中任一项所述的方法。
  20. 一种非易失性计算机存储介质,所述计算机存储介质存储有能够被处理器执行的计算机可读指令,当所述计算机可读指令被处理器执行时,所述处理器执行权利要求1至9中任一项所述的方法。
PCT/CN2015/096232 2015-08-20 2015-12-03 通信处理方法和装置 WO2017028398A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/534,568 US10574570B2 (en) 2015-08-20 2015-12-03 Communication processing method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510516380.9 2015-08-20
CN201510516380.9A CN105227466B (zh) 2015-08-20 2015-08-20 通信处理方法和装置

Publications (1)

Publication Number Publication Date
WO2017028398A1 true WO2017028398A1 (zh) 2017-02-23

Family

ID=54996167

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/096232 WO2017028398A1 (zh) 2015-08-20 2015-12-03 通信处理方法和装置

Country Status (3)

Country Link
US (1) US10574570B2 (zh)
CN (1) CN105227466B (zh)
WO (1) WO2017028398A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721313B (zh) * 2016-02-05 2019-09-24 联想(北京)有限公司 数据传输方法及相关设备
CN106685787B (zh) * 2017-01-03 2020-03-20 华胜信泰信息产业发展有限公司 基于OpenStack的PowerVM虚拟化网络管理方法及装置
US10218712B2 (en) * 2017-01-25 2019-02-26 International Business Machines Corporation Access control using information on devices and access locations
CN108471383B (zh) * 2018-02-08 2021-02-12 华为技术有限公司 报文转发方法、装置和系统
CN110224942B (zh) * 2018-03-01 2023-08-04 中兴通讯股份有限公司 一种报文处理方法、装置及存储介质
CN109151094A (zh) * 2018-11-01 2019-01-04 郑州云海信息技术有限公司 一种不同子网间报文的转发方法、装置和计算机设备
US10938772B2 (en) * 2019-02-25 2021-03-02 Ambit Microsystems (Shanghai) Ltd. Access device for analysis of physical links and method thereof
CN110209470A (zh) * 2019-06-11 2019-09-06 优刻得科技股份有限公司 虚拟机的心跳检测方法、系统、设备和介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1754161A (zh) * 2002-10-18 2006-03-29 科拉图斯公司 用于建立虚拟网络的设备、方法和计算机程序产品
US7352726B2 (en) * 2001-08-21 2008-04-01 Sony Corporation Communication device, communication method and program for packet communications between two networks that conform to different standards
CN103095584A (zh) * 2013-02-04 2013-05-08 杭州华三通信技术有限公司 一种报文处理方法及交换设备
CN103139077A (zh) * 2011-11-28 2013-06-05 百度在线网络技术(北京)有限公司 扩展IPv6虚拟路由器的方法、系统及装置
US20130145002A1 (en) * 2011-12-01 2013-06-06 International Business Machines Corporation Enabling Co-Existence of Hosts or Virtual Machines with Identical Addresses
CN104780105A (zh) * 2015-04-24 2015-07-15 杭州华三通信技术有限公司 一种报文转发方法、路由桥和转发芯片
CN104853001A (zh) * 2015-04-21 2015-08-19 杭州华三通信技术有限公司 一种arp报文的处理方法和设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804247B1 (en) * 1996-10-10 2004-10-12 Hewlett-Packard Development Company, L.P. System providing for multiple virtual circuits between two network entities
US20040078471A1 (en) 2002-10-18 2004-04-22 Collatus Corporation, A Delaware Corportion Apparatus, method, and computer program product for building virtual networks
US7685297B2 (en) * 2005-12-06 2010-03-23 Nokia Corporation Resource control
KR100745693B1 (ko) * 2006-09-29 2007-08-03 한국전자통신연구원 Tcam 테이블 관리 방법
CN103354522B (zh) * 2013-06-28 2016-08-10 华为技术有限公司 一种多级流表查找方法和装置
US20160197831A1 (en) * 2013-08-16 2016-07-07 Interdigital Patent Holdings, Inc. Method and apparatus for name resolution in software defined networking
US9413644B2 (en) * 2014-03-27 2016-08-09 Nicira, Inc. Ingress ECMP in virtual distributed routing environment
US10148459B2 (en) * 2014-04-29 2018-12-04 Hewlett Packard Enterprise Development Lp Network service insertion
CN104301451B (zh) * 2014-10-17 2019-03-01 福建星网锐捷网络有限公司 一种跨网段主机通信方法、装置及系统
CN104486192B (zh) * 2014-12-05 2019-02-01 国云科技股份有限公司 一种虚拟网络隔离方法
CN104486217B (zh) * 2014-12-08 2017-12-15 新华三技术有限公司 跨网络的报文转发方法和设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7352726B2 (en) * 2001-08-21 2008-04-01 Sony Corporation Communication device, communication method and program for packet communications between two networks that conform to different standards
CN1754161A (zh) * 2002-10-18 2006-03-29 科拉图斯公司 用于建立虚拟网络的设备、方法和计算机程序产品
CN103139077A (zh) * 2011-11-28 2013-06-05 百度在线网络技术(北京)有限公司 扩展IPv6虚拟路由器的方法、系统及装置
US20130145002A1 (en) * 2011-12-01 2013-06-06 International Business Machines Corporation Enabling Co-Existence of Hosts or Virtual Machines with Identical Addresses
CN103095584A (zh) * 2013-02-04 2013-05-08 杭州华三通信技术有限公司 一种报文处理方法及交换设备
CN104853001A (zh) * 2015-04-21 2015-08-19 杭州华三通信技术有限公司 一种arp报文的处理方法和设备
CN104780105A (zh) * 2015-04-24 2015-07-15 杭州华三通信技术有限公司 一种报文转发方法、路由桥和转发芯片

Also Published As

Publication number Publication date
CN105227466A (zh) 2016-01-06
US20180205644A1 (en) 2018-07-19
CN105227466B (zh) 2019-01-11
US10574570B2 (en) 2020-02-25

Similar Documents

Publication Publication Date Title
WO2017028398A1 (zh) 通信处理方法和装置
US10853127B2 (en) Method and apparatus for determining virtual machine migration
JP7004405B2 (ja) 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法
CA2968964C (en) Source ip address transparency systems and methods
WO2018040529A1 (zh) 一种报文处理方法、设备及系统
US20170237655A1 (en) Forwarding Data Packets In Software Defined Networks
WO2018059284A1 (zh) 一种数据传输的方法及网络设备
US9825861B2 (en) Packet forwarding method, apparatus, and system
WO2018177409A1 (zh) 一种报文传输方法及装置
US20150163072A1 (en) Virtual Port Extender
WO2014079005A1 (zh) Mac地址强制转发装置及方法
US20200195551A1 (en) Packet forwarding
CN103825826B (zh) 一种动态路由的实现方法和装置
CN104852840A (zh) 一种控制虚拟机之间互访的方法及装置
CN116547953A (zh) 由网络结构控制平面实施段间流量策略
CN109818869B (zh) 组播流量转发端口的生成方法及相关设备
CN108512737B (zh) 一种数据中心ip层互联的方法和sdn控制器
CN109218182B (zh) 一种路由信息的同步方法及装置
US9853891B2 (en) System and method for facilitating communication
US10476700B2 (en) Techniques for interconnection of controller- and protocol-based virtual networks
JP6470640B2 (ja) 通信装置及びその制御方法、コンピュータプログラム
CN111800340B (zh) 数据包转发方法和装置
CN116547955A (zh) 用于使用定向跟踪传播网络状态更新的方法和装置
WO2015184979A1 (zh) 处理报文、发送信息、接收信息的方法及装置
WO2016183732A1 (zh) 一种数据包转发方法和网络设备

Legal Events

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

Ref document number: 15901601

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15534568

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15901601

Country of ref document: EP

Kind code of ref document: A1