WO2016115698A1 - 数据报文的转发方法、装置及设备 - Google Patents
数据报文的转发方法、装置及设备 Download PDFInfo
- Publication number
- WO2016115698A1 WO2016115698A1 PCT/CN2015/071231 CN2015071231W WO2016115698A1 WO 2016115698 A1 WO2016115698 A1 WO 2016115698A1 CN 2015071231 W CN2015071231 W CN 2015071231W WO 2016115698 A1 WO2016115698 A1 WO 2016115698A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- switch
- information
- virtual machine
- target
- data packet
- Prior art date
Links
Images
Definitions
- the present invention relates to the field of mobile communications, and in particular, to a method, device, and device for forwarding data packets.
- SDN Software Defined Networking
- VxLAN virtual Extensible LAN
- VTEP Virtual Tunnel End Point
- the control server needs to process a large number of data request packets, and a large number of data request packets occupy management channel resources, thereby causing The control server has a relatively large burden of processing data packets and occupies a large amount of management channel resources.
- the embodiment of the invention provides a method, a device and a device for forwarding a data packet, which can solve the problem that the control server handles the heavy load of the data packet in the prior art.
- the first aspect provides a method for forwarding a data packet, where the method includes:
- the source switch receives the first data packet sent by the source virtual machine, where the first data packet includes: target virtual machine information and feature identifier information of the source virtual machine;
- the slave control server Obtaining, in the received wildcard flow table, an action instruction set corresponding to the feature identifier information of the source virtual machine;
- the source switch extracts multicast group address information from an action instruction set corresponding to the feature identifier information of the source virtual machine
- the source switch sends the first data packet to multiple switches according to the multicast group address information.
- the source switch generates switch flow entry information, where the switch flow entry information includes a correspondence between the target switch information and the target virtual machine information.
- the method further includes:
- the source switch receives a second data packet, where the second data packet includes the target virtual machine information
- the source switch sends the second data packet to the target switch according to the target switch information.
- the feature identifier information of the source virtual machine includes a virtual local area network identifier VLAN ID of the source virtual machine or other virtual machines in the source virtual machine and the subnet.
- the machine starts with a common MAC address.
- the target switch information includes a virtual scalable local area network identifier (VNI) of the target switch, an IP address of the target switch, and a MAC address of a next hop switch.
- VNI virtual scalable local area network identifier
- the sending, by the source switch, the first data packet to the multiple switches according to the multicast group address information includes:
- Adding a first packet header to the first data packet to obtain a third data packet where the first packet header includes: source switch information of the source switch and the multicast group address information;
- the receiving, by the source switch, the response packet returned by the target switch includes:
- the target switch After receiving the third data packet, the target switch removes the first packet header of the third data packet, and obtains a fourth data packet, and sends the fourth data packet to the virtual machine of the target switch. a fourth data packet, and receiving an original response message returned by the virtual machine when the target virtual machine information is aligned with the virtual machine information of the virtual machine;
- the target switch adds a second packet header to the original response packet to obtain the response packet, and the source switch receives the response packet returned by the target switch, where the second packet header includes : the target switch information and the source switch information.
- the priority of the switch flow entry information is higher than the priority of the wildcard flow table.
- the method further includes:
- the source switch when the target virtual machine migrates from the target switch to another switch Receiving a broadcast data packet sent by the target virtual machine, where the broadcast data packet includes other switch information;
- the source switch updates the target switch information in the switch flow entry information to the other switch information.
- a second aspect provides a data message forwarding device, where the device includes: a receiving unit, an obtaining unit, an extracting unit, a sending unit, and a generating unit;
- the receiving unit is configured to receive a first data packet that is sent by the source virtual machine, where the first data packet includes: target virtual machine information and feature identifier information of the source virtual machine;
- the acquiring unit configured to: when the target switch information of the target switch to which the target virtual machine corresponding to the target virtual machine information corresponding to the target virtual machine information is received is not found in the locally saved forwarding table, according to the source virtual machine Feature identification information, obtaining an action instruction set corresponding to the feature identification information of the source virtual machine in a wildcard flow table received from the control server;
- the extracting unit is configured to extract multicast group address information from an action instruction set corresponding to the feature identifier information of the source virtual machine acquired by the acquiring unit;
- the sending unit is configured to send the first data packet to multiple switches according to the multicast group address information extracted by the extracting unit;
- the receiving unit is further configured to receive a response packet returned by the target switch, where the target switch is any one of the multiple switches, and the response packet includes target switch information of the target switch.
- the generating unit is configured to generate switch flow entry information, where the switch flow entry information includes a correspondence between the target switch information and the target virtual machine information.
- the receiving unit is further configured to receive a second data packet, where the second data packet includes the target virtual machine information
- the obtaining unit is further configured to acquire the target switch information from the switch flow entry information according to the target virtual machine information;
- the sending unit is further configured to: according to the target switch information acquired by the acquiring unit The target switch sends the second data packet.
- the feature identifier information of the source virtual machine includes a virtual local area network identifier VLAN ID of the source virtual machine or other virtual machines in the source virtual machine and the subnet.
- the machine starts with a common MAC address.
- the target switch information includes a virtual scalable local area network identifier (VNI) of the target switch, an IP address of the target switch, and a MAC address of a next hop switch.
- VNI virtual scalable local area network identifier
- the sending unit is specifically configured to:
- Adding a first packet header to the first data packet to obtain a third data packet where the first packet header includes: source switch information of the source switch and the multicast group address information;
- the receiving unit is specifically configured to:
- the target switch After receiving the third data packet, the target switch removes the first packet header of the third data packet, and obtains a fourth data packet, and sends the fourth data packet to the virtual machine of the target switch. a fourth data packet, and receiving an original response message returned by the virtual machine when the target virtual machine information is aligned with the virtual machine information of the virtual machine;
- the target switch adds a second packet header to the original response packet, and obtains the response packet, and receives the response packet returned by the target switch, where the second packet header includes: the target Switch information and the source switch information.
- the priority of the switch flow entry information is higher than the priority of the wildcard flow table.
- the device further includes: an update unit;
- the receiving unit is further configured to: when the target virtual machine migrates from the target switch to another switch, receive a broadcast data packet sent by the target virtual machine, where the broadcast data packet includes other switch information;
- the updating unit is configured to update the target switch information in the switch flow entry information to the other switch information.
- a third aspect provides a data packet forwarding device, where the device includes:
- processor a processor, a memory, a communication interface, and a bus, wherein the processor, the memory, and the communication interface communicate via the bus;
- the communication interface is configured to communicate with a switch or a control server
- the memory is used to store a program
- the processor is configured to execute the program stored by the memory to perform the forwarding method of the data packet according to the first aspect.
- the switch automatically generates switch flow entry information according to the first data packet sent by the source virtual machine to the target virtual machine, and the switch flow entry information And indicating, when receiving the second data packet sent to the target virtual machine, the switch determines a unicast channel between the source virtual machine and the target virtual machine according to the target virtual machine information, and uses the unicast channel to target The virtual machine sends the second data packet to reduce the burden on the control server to process the data packet.
- Figure 1 is a schematic diagram of a SDN network structure
- FIG. 2 is a flowchart of a method for forwarding a data packet according to an embodiment of a method of the present invention
- Figure 3 is a schematic diagram of the structure of the SDN network
- FIG. 4 is a schematic diagram of a device for forwarding data packets according to an embodiment of the present invention.
- FIG. 5 is a schematic diagram of a forwarding device for data packets provided by an embodiment of a device according to the present invention.
- any OpenFlow switching device in the SDN network such as the first switch, the second switch, or the third switch in FIG. 1, may be indicated.
- source virtual machine any virtual machine in the SDN network, such as VM 1 , VM 2 , VM 3 or VM 4 in Figure 1, can be indicated.
- the data packet forwarding method provided in the embodiment of the present invention is applied to the SDN network shown in FIG. 1.
- the first switch, the second switch, and the third switch are respectively OpenFlow switches, and their virtual machines VM 1 and VM 2 are VM 3 and VM 4 are jointly divided into one subnet by the control server (that is, belong to the same tenant); when the subnet is divided by VxLAN, the first switch, the second switch, and the third switch may be VTEP 1 respectively.
- VTEP 2 and VTEP 3 and VMs of the same tenant on VTEP 1 , VTEP 2, and VTEP 3 have a common VxLAN Network Identifier (VNI), that is, belong to a VxLAN segment, as shown in Table 1. Show:
- VNI VxLAN Network Identifier
- the VLAN ID indicates the virtual local area network identifier of the VM on the local switch.
- virtual machines belonging to the same subnet may also have the same MAC address start information, for example, the MAC addresses of the four virtual machines (VM 1 , VM 2 , VM 3 , and VM 4 ) in FIG. 1 are respectively associated with ff: Ff:ff:00:00:00 is the same, you can get the same MAC address start information: 11:22:33.
- FIG. 2 is a flowchart of a method for forwarding a data packet according to an embodiment of the method of the present invention. As shown in FIG. 2, the method specifically includes:
- the source switch receives the first data packet sent by the source virtual machine, where the first data packet includes: target virtual machine information and feature identifier information of the source virtual machine.
- the target virtual machine information may be, but is not limited to, a Media Access Control (MAC) address of the target virtual machine.
- the feature identifier information of the source virtual machine is a virtual local area network identifier VLAN ID of the source virtual machine or a MAC address start information common to the source virtual machine and other virtual machines in the subnet.
- the source VM information of the source VM can be the MAC address of VM 1 : 11:22:33:00:00:01
- the target virtual machine information may be the MAC address of the VM 3 : 11:22:33:00:00:03; the characteristic identification information of the source virtual machine may be the VLAN ID of the VM 1 : 100, or may be the VM 1 and the subnet.
- the source switch does not find the target switch information of the target switch to which the target virtual machine belongs according to the target virtual machine information in the locally saved forwarding table, and according to the feature identifier information of the source virtual machine, Obtaining, in the wildcard flow table received by the control server, an action instruction set corresponding to the feature identifier information of the source virtual machine.
- the target switch information includes a virtual scalable local area network identifier (VNI) of the target switch, The Internet Protocol (IP) address of the target switch and the MAC address of the next hop switch.
- VNI virtual scalable local area network identifier
- IP Internet Protocol
- the control server side maintains the wildcard flow table.
- the switch When the switch starts, the switch automatically downloads the above-mentioned wildcard flow table from the control server.
- the wildcard flow table mainly includes two contents: a matching domain and an action instruction set, where the matching domain may be a VLAN ID of a virtual machine, or may be a MAC address beginning information common to virtual machines in the same subnet.
- the matching domain can be the VLAN ID of the virtual machine
- the wildcard flow table can be as shown in Table 2:
- VTEP 2 and VTEP 3 are the second switch and the third switch, respectively;
- Type indicates the execution type of the action instruction, and when the Type is select, the switch executes one of the three action instructions in the Action List.
- the command "Push vxlan vtep2 header, output port2 (vtep2)" indicates that the switch information of the second switch is added to the current data packet, and the data packet after adding the switch information is sent to the port 2, and the command is "Push”.
- Vxlan vtep3header, output port3(vtep3)" adds the switch information of the third switch to the current data packet, and sends the data packet after adding the switch information to port 3.
- the switch executes all the action lists.
- the two sets of action instructions wherein the command "Push vxlan mcast header, output port2 (vtep2)" means adding a multicast group address to the current data message, and sending a data message after adding the multicast group address to the port 2, the instruction “Push vxlan mcast header, output port3 (vtep3)” means adding a multicast group address to the current data packet and sending it to port 3. Data packets after Cadogan multicast group address.
- the two sets of action commands are one type of action command newly extended by the switch in the existing action command set, that is, a push command.
- the unknown unicast or multicast will match the contents of Table 3.
- the switch executes the above push command
- the switch will package the VxLAN related information into the header of the original data packet, and Generating VxLAN multicast to multiple VTEPs, when the switch sends the original data packet packed with the packet header to the plurality of VTEPs, the ingress port that receives the data through the switch serves as a local output port, where each The IP address of the VTEP and the User Datagram Protocol (UDP) port are included in the action parameters of the push command.
- the VxLAN related information can be as shown in Table 4:
- the switch also expands another type of action instruction, a pop command.
- a pop command When the switch executes the above pop command, the switch removes the VxLAN related information of the data packet.
- the matching domain in the wildcard flow table may also be the MAC address beginning information common to the virtual machines in the same subnet.
- the wildcard flow table can be as shown in Table 5:
- the SMAC address is the MAC address of the source virtual machine, and the SMAC&ff:ff:ff:00:00:00 indicates the beginning of the MAC address common to the virtual machines in the same subnet.
- Group1 is the same as Group1 in Table 2 and will not be described here.
- a first switch checks whether it received the source virtual machine VM 1 data, if not, switch the first recording VNI, basic information of the IP address of the first switch and the source virtual machine VM MAC address, etc. 1.
- the first switch may record the foregoing basic information through a forwarding table. After completing the above checking process, the first switch searches for the target virtual machine information (for example, the MAC address of the target virtual machine VM 3 : 11:22:33:00:00:03) corresponding to the VM 3 in the locally saved forwarding table.
- the target switch information of the second switch to which it belongs (for example, the IP address of the second switch: 10.0.0.2 and port: port2), because the first switch has not received the data of the target virtual machine VM 3 before, so the forwarding table
- the correspondence between the target virtual machine VM 3 and the second switch is not recorded, that is, the target switch information cannot be found.
- Requiring 100 or the beginning of a common MAC address within the same subnet virtual machine information according to the first data packet in S210 received source virtual machine VM VLAN ID 1 is: 11: 22: 33, obtained from wild flow table
- For the corresponding action instruction set for example, Group1 in Table 2 or Group in Table 5 can be obtained.
- the source switch extracts multicast group address information from an action instruction set corresponding to the feature identifier information of the source virtual machine.
- a plurality of unicast addresses may also be extracted from the action instruction set corresponding to the feature identification information of the source virtual machine.
- the obtained action instruction set is Group1, and the multicast group address information as shown in Table 6 can be obtained according to the Group1.
- the two VTEPs pointed to in the push command are: VTEP2 and VTEP3 (ie, the second switch and the third switch), wherein the IP address of the second switch is 10.0.0.2, and the UDP port is: 1234; The IP address of the third switch is 10.0.0.3 and the UDP port is 1234.
- the source switch sends the first data packet to multiple switches according to the multicast group address information.
- S240 may further include:
- Adding a first packet header to the first data packet to obtain a third data packet where the first packet header includes: source switch information of the source switch and the multicast group address information;
- the next hop switch is the third switch.
- the source switch receives a response packet returned by the target switch, where the target switch is any one of the multiple switches, and the response packet includes target switch information of the target switch.
- S250 may further include:
- the target switch After receiving the third data packet, the target switch removes the first packet header of the third data packet, and obtains a fourth data packet, and sends the fourth data packet to the virtual machine of the target switch. a fourth data packet, and receiving an original response message returned by the virtual machine when the target virtual machine information is aligned with the virtual machine information of the virtual machine;
- the target switch adds a second packet header to the original response packet to obtain the response packet, and the source switch receives the response packet returned by the target switch, where the second packet header includes : the target switch information and the source switch information.
- the second switch executes a pop command on the third data packet, that is, removes the first packet header to obtain a fourth data packet;
- the MAC address of the source virtual machine VM 1 included in the three data packets is checked whether it has received the data of the source virtual machine VM 1. If not, the VNI of the first switch, the IP address of the first switch, and the source virtual are recorded.
- Basic information such as the MAC address of the machine VM 1 .
- the source virtual machine VM 1 can record the above basic information through a forwarding table.
- the second switch sends the fourth data packet to the virtual machine VM 3 of the second switch, and after receiving the fourth data packet, the virtual machine VM 3 sends the fourth data packet.
- the target virtual machine information (such as: MAC address of the target virtual machine VM 3 : 11:22:33:00:00:03) and the MAC address of the virtual machine VM 3 (ie 11:22:33:00:00:03).
- the comparison is performed, that is, the virtual machine VM 3 is the target virtual machine, and therefore, the target virtual machine VM 3 returns the original response message to the second switch, where the original response message includes the target virtual machine VM. 3, the target virtual machine information (e.g., VM MAC address 3), and source virtual machine (VM) information of a source virtual machine (e.g., VM MAC address 1).
- the table already recorded VNI first switch After receiving the second switch in response to said original message, because the table already recorded VNI first switch, the basic information of the IP address of the first switch and the source virtual machine VM MAC address 1, so that the source VM
- the MAC address of the VM 1 can directly obtain the information of the VNI of the first switch and the IP address of the first switch, that is, the second switch can directly obtain the unicast address, and the unicast address includes only the switch of the first switch. information.
- the MAC address, the IP address of the first switch is 10.0.0.1 and the MAC address of the first switch; the second switch returns the response message to the first switch. Because the second switch returns a response packet to the first switch, the first switch determines the second switch as the target switch, that is, the response packet includes the target switch information of the target switch.
- the third switch after receiving the third data packet, the third switch also performs a pop command on the third data packet, that is, the first packet header is removed, to obtain a fourth data packet; VM VM MAC source address of a third data packet included in the inspection data source 1 to the VM virtual machine whether they received, if not, the switch is a first recording VNI, IP address, and the source of the first switch Basic information such as the MAC address of the virtual machine VM 1 .
- the source virtual machine VM 1 can record the above basic information through a forwarding table.
- the third switch sends the fourth data packet to the virtual machine VM 4 of the third switch, and after receiving the fourth data packet, the virtual machine VM 4 sends the fourth data packet.
- Target VM information eg MAC address of target VM 3 : 11:22:33:00:00:03
- MAC address of VM 4 ie 11:22:33:00:00:04
- switch flow entry information where the switch flow entry information includes a correspondence between the target switch information and the target virtual machine information.
- the newly generated switch flow entry information has a higher priority than the wildcard flow table. That is, when the source switch receives the new data packet, the source switch preferentially forwards the new data packet according to the content of the switch flow entry information.
- the first switch generates the switch flow entry information when receiving the response packet returned by the second switch, where the generated switch flow entry information can be found in Table 7:
- the method may further include:
- the source switch receives a second data packet, where the second data packet includes the target virtual machine information
- the source switch sends the second data packet to the target switch according to the target switch information.
- the DMAC is the MAC address of the target virtual machine VM3, and according to the action parameters in the action instruction set, the target switch can be obtained as the second switch, and the second switch uses port2 as the source.
- the source switch receives a first virtual machine VM. 1 to the target virtual machine (VM) transmitted in the second data packet 3, the priority flow entry based on the switch information, determines whether the second data packet to determine the unicast channel, The switch information of the second switch is already recorded in the flow entry information of the switch.
- the second data message that is, the second switch, can directly redirect the data flow between VM 1 and VM 3 to the unicast channel.
- the second data packet may be a data packet other than the first source of data packets to the target virtual machine VM 1 VM VM 3 transmitted.
- the first switch may directly determine a unicast tunnel between the source virtual machine and the target virtual machine according to the content of the switch flow entry information.
- the switch flow entry information generated by the first switch according to the wildcard flow table given in Table 5 (that is, the matching domain is the MAC address initial information common to the virtual machines in the same subnet) may be as shown in Table 8:
- Table 7 differs from Table 8 in the matching domain.
- the matching domain in Table 7 is the VLAN ID of the virtual machine.
- the matching domain in Table 8 is the MAC address starting information common to the virtual machines in the same subnet.
- the process of generating the switch flow entry information by the first switch according to the wildcard flow table given in Table 5 is similar to the process of generating the table 7. I will not repeat them here.
- the method may further include: when the target virtual machine migrates from the target switch to another switch, the source switch receives a broadcast data packet sent by the target virtual machine, where the broadcast datagram is The text includes the other switch information;
- the source switch updates the target switch information in the switch flow entry information to other switch information.
- the target virtual machine VM 3 is migrated from the second switch to the third switch.
- the target virtual machine VM 3 sends a broadcast to the third switch.
- the third switch sends the broadcast data packet to all the virtual machines through the switch in the subnet, where the broadcast data packet includes the third switch information (for example, the third switch) IP address: 10.0.0.3 and port: port3), after receiving the above broadcast data message, the switch according to the MAC address of the target virtual machine VM 3 : 11:22:33:00:00:03, from the first switch
- the IP address of the switch to which the target VM 3 is queried in the switch flow entry information is: 10.0.0.2, and the port is port2, which conflicts with the IP address of the received third switch: 10.0.0.3 and port:port3. Therefore, the first switch updates the local switch flow entry information, and the updated switch flow entry information is as shown in Table 9:
- the switch automatically generates the switch flow entry information according to the first data packet sent by the source virtual machine to the target virtual machine, and the switch flow entry information is used by the switch. Instructing the switch to send the source virtual machine to the target virtual machine.
- the second data packet is used to determine a unicast channel between the source virtual machine and the target virtual machine according to the target virtual machine information, and send the second data packet to the target virtual machine through the unicast channel, thereby reducing the control server.
- the burden of processing data messages is used to determine a unicast channel between the source virtual machine and the target virtual machine according to the target virtual machine information, and send the second data packet to the target virtual machine through the unicast channel, thereby reducing the control server.
- FIG. 4 is a schematic diagram of a device for forwarding data packets according to an embodiment of the present invention.
- the apparatus can be used to perform the method described in FIG.
- the apparatus includes: a receiving unit 401, an obtaining unit 402, an extracting unit 403, a transmitting unit 404, and a generating unit 405.
- the receiving unit 401 is configured to receive the first data packet sent by the source virtual machine, where the first data packet includes: target virtual machine information and feature identifier information of the source virtual machine.
- the target virtual machine information may be, but is not limited to, a Media Access Control (MAC) address of the target virtual machine.
- the feature identifier information of the source virtual machine includes, but is limited to, a virtual local area network identifier VLAN ID of the source virtual machine or a MAC address start information common to the source virtual machine and other virtual machines in the subnet.
- the obtaining unit 402 is configured to: when the target switch information of the target switch to which the target virtual machine corresponding to the target virtual machine information corresponding to the target virtual machine information is received is not found in the locally saved forwarding table, according to the characteristics of the source virtual machine
- the identification information acquires an action instruction set corresponding to the feature identification information of the source virtual machine in a wildcard flow table received from the control server.
- the target switch information includes a virtual scalable local area network identifier (VNI) of the target switch, an Internet Protocol (IP) address of the target switch, and a MAC address of a next hop switch.
- VNI virtual scalable local area network identifier
- IP Internet Protocol
- the control server side maintains the wildcard flow table.
- the switch When the switch starts, the switch automatically downloads the above-mentioned wildcard flow table from the control server.
- the wildcard flow table mainly includes two contents: a matching domain and an action instruction set, where the matching domain may be a VLAN ID of a virtual machine, or may be a MAC address beginning information common to virtual machines in the same subnet.
- the action instruction set newly expands two types of action instructions: a push command and a pop command.
- the switch for example, VTEP
- the switch will associate VxLAN.
- the information is packed into the header of the original data packet, and VxLAN multicasting to multiple VTEPs is generated, and the ingress port is a local output port, wherein each VTEP IP address and user data packet protocol (User Datagram Protocol) , UDP) ports are included in the action parameters of the above push command.
- UDP User Datagram Protocol
- the extracting unit 403 is configured to extract the multicast group address information from the action instruction set corresponding to the feature identifier information of the source virtual machine acquired by the obtaining unit 402.
- the sending unit 404 is configured to separately send the first data packet to the multiple switches according to the multicast group address information extracted by the extracting unit 403.
- the receiving unit 401 is further configured to receive a response packet returned by the target switch, where the target switch is any one of the multiple switches, and the response packet includes target switch information of the target switch.
- the generating unit 405 is configured to generate switch flow entry information, where the switch flow entry information includes a correspondence between the target switch information and the target virtual machine information.
- the priority of the switch flow entry information is higher than the priority of the wildcard flow table.
- the receiving unit 401 is further configured to receive a second data packet, where the second data packet includes the target virtual machine information.
- the obtaining unit 402 is further configured to obtain the target switch information from the switch flow entry information according to the target virtual machine information.
- the sending unit 403 is further configured to send the second data packet to the target switch according to the target switch information acquired by the obtaining unit 402.
- the sending unit 404 is specifically configured to:
- Adding a first packet header to the first data packet to obtain a third data packet where the first packet header includes: source switch information of the source switch and the multicast group address information;
- the receiving unit 401 is configured to: after receiving the third data packet, remove the first packet header of the third data packet, and obtain a fourth data packet, to the target switch.
- the subordinate virtual machine sends the fourth data packet, and receives an original response message returned by the virtual machine when the target virtual machine information is aligned with the virtual machine information of the virtual machine;
- the second packet header includes: the target switch information and the Describe the source switch information.
- the device further includes: an update unit 406.
- the receiving unit 401 is further configured to: when the target virtual machine migrates from the target switch to another switch, receive a broadcast data packet sent by the target virtual machine, where the broadcast data packet includes other switch information;
- the updating unit 406 is configured to update the target switch information in the switch flow entry information to the other switch information.
- the data packet forwarding device provided by the embodiment of the present invention automatically generates switch flow entry information according to the received first virtual data packet sent by the source virtual machine to the target virtual machine, where the switch flow entry information is used.
- the switch instructs the switch to receive the second data packet sent by the source virtual machine to the target virtual machine, determining, according to the target virtual machine information, a unicast channel between the source virtual machine and the target virtual machine, and passing the unicast channel
- the foregoing second data packet is sent to the target virtual machine, thereby reducing the burden on the control server to process the data packet.
- FIG. 5 is a schematic diagram of a forwarding device for data packets provided by an embodiment of a device according to the present invention.
- the forwarding device 500 includes a processor 502, a memory 504, a communication interface 506, and a bus 508.
- the processor 502, the memory 504, and the communication interface 506 implement a communication connection with each other through the bus 508.
- the processor 502 can be a general-purpose central processing unit (CPU), a microprocessor, and an application specific integrated circuit (Application Specific Integrated Circuit, An ASIC), or one or more integrated circuits, for performing related procedures to implement the technical solutions provided by the foregoing method embodiments of the present invention.
- CPU central processing unit
- microprocessor a microprocessor
- ASIC application Specific Integrated Circuit
- the memory 504 may be a read only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM).
- Memory 504 can store operating systems and other applications.
- the program code for implementing any optional technical solution provided by the foregoing method embodiment of the present invention is saved in the memory 504 and executed by the processor 502. .
- Communication interface 506 is used to communicate with other switches or control servers in the SDN network.
- Bus 508 can include a path for communicating information between various components of forwarding device 500, such as processor 502, memory 504, and communication interface 506.
- the switch automatically generates switch flow entry information according to the first data packet sent by the source virtual machine to the target virtual machine, and the switch flow The entry information is used to indicate that the switch determines the unicast channel between the source virtual machine and the target virtual machine according to the target virtual machine information when receiving the second data packet sent to the target virtual machine, and passes the unicast through the unicast The channel sends the foregoing second data packet to the target virtual machine, which can reduce the burden on the control server to process the data packet.
- the steps of a method or algorithm described in connection with the embodiments disclosed herein can be implemented in hardware, a software module executed by a processor, or a combination of both.
- the software module can be placed in random access memory (RAM), memory, read only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, A register, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及一种数据报文的转发方法、装置及设备,包括:源交换机接收源虚拟机发送的第一数据报文;在本地保存的转发表中未查找到目标虚拟机信息对应的目标虚拟机所属的目标交换机的目标交换机信息时,根据源虚拟机的特征标识信息,在从控制服务器接收的通配流表中获取与源虚拟机的特征标识信息对应的动作指令集;从与源虚拟机的特征标识信息对应的动作指令集中提取多播组地址信息;根据多播组地址信息,分别向多个交换机发送第一数据报文;接收目标交换机返回的响应报文;生成交换机流表项信息,交换机流表项信息包括目标交换机信息与目标虚拟机信息的对应关系。由此,可以减轻控制服务器处理数据报文的负担。
Description
本发明涉及移动通信领域,尤其涉及一种数据报文的转发方法、装置及设备。
软件定义网络(Software Defined Networking,SDN)的核心思想是将原本完全由交换机/路由器控制的数据报文转发过程,转化为由开放流交换机(OpenFlow Switch)和控制服务器(Controller)分别完成的独立过程。转化之后,控制服务器决定了所有数据报文在网路中的传输路径,OpenFlow交换机会在本地维护一个与转发表不同的流表(Flow Table),如果要转发的数据报文在流表中有对应项,则直接进行快速转发;若流表中没有此项,数据报文会被发送到控制服务器进行传输路径的确认,再根据下发结果进行转发。
然而,在虚拟可扩展局域网(Virtual Extensible LAN,VxLAN)中,会存在众多的虚拟机,且虚拟机会在不同的数据中心(如,虚拟通道终端(Virtual Tunnel End Point,VTEP))之间迁移,由此,虚拟机的数据请求在对应的物理位置的OpenFlow交换机上往往没有对应项,此时,控制服务器就需要处理大量的数据请求包,且大量的数据请求包会占用管理通道资源,从而导致控制服务器处理数据报文的负担比较大,且大量占用管理通道资源的问题。
发明内容
本发明实施例提供了一种数据报文的转发方法、装置及设备,可以解决现有技术中控制服务器处理数据报文负担重的问题。
第一方面,提供了一种数据报文的转发方法,该方法包括:
源交换机接收源虚拟机发送的第一数据报文,所述第一数据报文包括:目标虚拟机信息和所述源虚拟机的特征标识信息;
所述源交换机在本地保存的转发表中未查找到所述目标虚拟机信息对应的目标虚拟机所属的目标交换机的目标交换机信息时,根据所述源虚拟机的特征标识信息,在从控制服务器接收的通配流表中获取与所述源虚拟机的特征标识信息对应的动作指令集;
所述源交换机从与所述源虚拟机的特征标识信息对应的动作指令集中提取多播组地址信息;
所述源交换机根据所述多播组地址信息,分别向多个交换机发送所述第一数据报文;
所述源交换机接收目标交换机返回的响应报文,所述目标交换机为所述多个交换机中的任一交换机,所述响应报文包括所述目标交换机的目标交换机信息;
所述源交换机生成交换机流表项信息,所述交换机流表项信息包括所述目标交换机信息与所述目标虚拟机信息的对应关系。
结合第一方面,在第一方面的第一种实现方式中,所述源交换机生成所述交换机流表项信息之后,所述方法还包括:
所述源交换机接收第二数据报文,所述第二数据报文包括所述目标虚拟机信息;
所述源交换机根据所述目标虚拟机信息,从所述交换机流表项信息中获取所述目标交换机信息;
所述源交换机根据所述目标交换机信息向所述目标交换机发送所述第二数据报文。
结合第一方面,在第一方面的第二种实现方式中,所述源虚拟机的特征标识信息包括所述源虚拟机的虚拟局域网标识VLAN ID或者所述源虚拟机与子网内其它虚拟机共同的MAC地址开头信息。
结合第一方面,在第一方面的第三种实现方式中,所述目标交换机信息包括所述目标交换机的虚拟可扩展局域网标识VNI、所述目标交换机的IP地址和下一跳交换机的MAC地址。
结合第一方面,在第一方面的第四种实现方式中,所述源交换机根据所述多播组地址信息,分别向多个交换机发送所述第一数据报文包括:
为所述第一数据报文添加第一报文头,得到第三数据报文,所述第一报文头包括:所述源交换机的源交换机信息和所述多播组地址信息;
根据所述多播组地址信息,分别向加入所述多播组地址信息对应的多播组的多个交换机发送所述第三数据报文。
结合第一方面的第四种实现方式,在第一方面的第五种实现方式中,所述源交换机接收目标交换机返回的响应报文包括:
所述目标交换机在接收到所述第三数据报文后,去掉所述第三数据报文的第一报文头,得到第四数据报文,向所述目标交换机下属的虚拟机发送所述第四数据报文,并接收所述虚拟机在将所述目标虚拟机信息与所述虚拟机的虚拟机信息比对一致时返回的原始响应报文;
所述目标交换机对所述原始响应报文添加第二报文头,得到所述响应报文,所述源交换机接收所述目标交换机返回的所述响应报文,所述第二报文头包括:所述目标交换机信息和所述源交换机信息。
结合第一方面,在第一方面的第六种实现方式中,所述交换机流表项信息的优先级高于所述通配流表的优先级。
结合第一方面或者第一方面的上述六种实现方式中任一种实现方式,在第一方面的第七种实现方式中,所述方法还包括:
当所述目标虚拟机从所述目标交换机迁移至其它交换机时,所述源交换
机接收所述目标虚拟机发送的广播数据报文,所述广播数据报文包括其它交换机信息;
所述源交换机将所述交换机流表项信息中的所述目标交换机信息更新为所述其它交换机信息。
第二方面,提供了一种数据报文的转发装置,该装置包括:接收单元、获取单元、提取单元、发送单元和生成单元;
所述接收单元,用于接收源虚拟机发送的第一数据报文,所述第一数据报文包括:目标虚拟机信息和所述源虚拟机的特征标识信息;
所述获取单元,用于在本地保存的转发表中未查找到所述接收单元接收的所述目标虚拟机信息对应的目标虚拟机所属的目标交换机的目标交换机信息时,根据所述源虚拟机的特征标识信息,在从控制服务器接收的通配流表中获取与所述源虚拟机的特征标识信息对应的动作指令集;
所述提取单元,用于从与所述获取单元获取的所述源虚拟机的特征标识信息对应的动作指令集中提取多播组地址信息;
所述发送单元,用于根据所述提取单元提取的所述多播组地址信息,分别向多个交换机发送所述第一数据报文;
所述接收单元,还用于接收目标交换机返回的响应报文,所述目标交换机为所述多个交换机中的任一交换机,所述响应报文包括所述目标交换机的目标交换机信息;
所述生成单元,用于生成交换机流表项信息,所述交换机流表项信息包括所述目标交换机信息与所述目标虚拟机信息的对应关系。
结合第二方面,第二方面的第一种实现方式中,所述接收单元,还用于接收第二数据报文,所述第二数据报文包括所述目标虚拟机信息;
所述获取单元,还用于根据所述目标虚拟机信息,从所述交换机流表项信息中获取所述目标交换机信息;
所述发送单元,还用于根据所述获取单元获取的所述目标交换机信息向
所述目标交换机发送所述第二数据报文。
结合第二方面,在第二方面的第二种实现方式中,所述源虚拟机的特征标识信息包括所述源虚拟机的虚拟局域网标识VLAN ID或者所述源虚拟机与子网内其它虚拟机共同的MAC地址开头信息。
结合第二方面,在第二方面的第三种实现方式中,所述目标交换机信息包括所述目标交换机的虚拟可扩展局域网标识VNI、所述目标交换机的IP地址和下一跳交换机的MAC地址。
结合第二方面,在第二方面的第四种实现方式中,所述发送单元具体用于:
为所述第一数据报文添加第一报文头,得到第三数据报文,所述第一报文头包括:所述源交换机的源交换机信息和所述多播组地址信息;
根据所述多播组地址信息,分别向加入所述多播组地址信息对应的多播组的多个交换机发送所述第三数据报文。
结合第二方面的第四种实现方式,在第二方面的第五种实现方式中,所述接收单元具体用于:
所述目标交换机在接收到所述第三数据报文后,去掉所述第三数据报文的第一报文头,得到第四数据报文,向所述目标交换机下属的虚拟机发送所述第四数据报文,并接收所述虚拟机在将所述目标虚拟机信息与所述虚拟机的虚拟机信息比对一致时返回的原始响应报文;
所述目标交换机对所述原始响应报文添加第二报文头,得到所述响应报文,接收所述目标交换机返回的所述响应报文,所述第二报文头包括:所述目标交换机信息和所述源交换机信息。
结合第二方面,在第二方面的第六种实现方式中,所述交换机流表项信息的优先级高于所述通配流表的优先级。
结合第二方面或第二方面的上述六种实现方式中任一种实现方式,在第二方面的第七种实现方式中,所述装置还包括:更新单元;
所述接收单元还用于:当所述目标虚拟机从所述目标交换机迁移至其它交换机时,接收所述目标虚拟机发送的广播数据报文,所述广播数据报文包括其它交换机信息;
所述更新单元,用于将所述交换机流表项信息中的所述目标交换机信息更新为所述其它交换机信息。
第三方面,提供了一种数据报文的转发设备,该设备包括:
处理器,存储器,通信接口和总线,其中,所述处理器、所述存储器和所述通信接口通过所述总线通信;
所述通信接口用于与交换机或控制服务器通信;
所述存储器用于存放程序;
当所述转发设备运行时,所述处理器用于执行所述存储器存储的所述程序,以执行上述第一方面所述的数据报文的转发方法。
本发明实施例提供的数据报文的转发方法、装置及设备,交换机根据已接收的源虚拟机向目标虚拟机发送的第一数据报文自动生成交换机流表项信息,该交换机流表项信息用于指示该交换机在接收到向目标虚拟机发送的第二数据报文时,根据目标虚拟机信息,确定源虚拟机与目标虚拟机之间的单播通道,并通过该单播通道向目标虚拟机发送上述第二数据报文,可以减轻控制服务器处理数据报文的负担。
图1为SDN网络结构示意图之一;
图2为本发明方法实施例提供的数据报文的转发方法流程图;
图3为SDN网络结构示意图之二;
图4为本发明装置实施例提供的数据报文的转发装置示意图;
图5为本发明设备实施例提供的数据报文的转发设备示意图。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
贯穿本说明书“源交换机”,可以指示SDN网络中任一OpenFlow交换设备,例如图1中的第一交换机、第二交换机或第三交换机。
贯穿本说明书“源虚拟机”,可以指示SDN网络中任一虚拟机,例如图1中的VM1、VM2、VM3或VM4。
本发明实施例提供的数据报文的转发方法应用于图1所示的SDN网络中,第一交换机、第二交换机和第三交换机分别为OpenFlow交换机,它们下属的虚拟机VM1、VM2、VM3和VM4共同被控制服务器划分为一个子网(也即属于同一租户);当该子网使用VxLAN来划分时,上述第一交换机、第二交换机和第三交换机可以分别为VTEP1、VTEP2和VTEP3,且在VTEP1、VTEP2和VTEP3上相同租户的VM具有共同的VxLAN网络标识符(VxLAN Network Identifier,VNI),也即属于一个VxLAN段(Segment),如表1所示:
表1
其中,VLAN ID表示VM在本地交换机上的虚拟局域网标识,第一交换机中VLAN ID为100的虚拟机,第二交换机中VLAN ID为200的虚拟机,第三交换机中VLAN ID为300的虚拟机,都共同包含在一个VNI值为8的VxLAN段中,也即三个不同的VLAN域在VxLAN中的混合起来了。
此外,属于同一个子网的虚拟机还可以具有相同的MAC地址开头信息,如,将图1中的四个虚拟机(VM1、VM2、VM3和VM4)的MAC地址分别与ff:ff:ff:00:00:00相与,即可得到相同的MAC地址开头信息:11:22:33。
方法实施例
图2为本发明方法实施例提供的数据报文的转发方法流程图。如图2所示,所述方法具体包括:
S210,源交换机接收源虚拟机发送的第一数据报文,所述第一数据报文包括:目标虚拟机信息和所述源虚拟机的特征标识信息。
在此说明,目标虚拟机信息可以但不限定为目标虚拟机的媒体访问控制(Media Access Control,MAC)地址。所述源虚拟机的特征标识信息为所述源虚拟机的虚拟局域网标识VLAN ID或者所述源虚拟机与子网内其它虚拟机共同的MAC地址开头信息。
以图1为例,当源虚拟机为VM1,目标虚拟机为VM3时,则源虚拟机的源虚拟机信息可以为VM1的MAC地址:11:22:33:00:00:01,目标虚拟机信息可以为VM3的MAC地址:11:22:33:00:00:03;源虚拟机的特征标识信息可以为VM1的VLAN ID:100,也可以为VM1与子网内其它虚拟机共同的MAC地址开头信息:11:22:33。
S220,所述源交换机在本地保存的转发表中未查找到所述目标虚拟机信息对应的目标虚拟机所属的目标交换机的目标交换机信息时,根据所述源虚拟机的特征标识信息,在从控制服务器接收的通配流表中获取与所述源虚拟机的特征标识信息对应的动作指令集。
所述目标交换机信息包括所述目标交换机的虚拟可扩展局域网标识VNI、
所述目标交换机的互联网协议(Internet Protocol,IP)地址和下一跳交换机的MAC地址。如图1中,第一交换机的交换机信息为VNI=8,IP地址为10.0.0.1。
控制服务器侧会维护通配流表,当交换机启动时,交换机会自动从控制服务器上下载上述通配流表。通配流表中主要包括两项内容:匹配域和动作指令集,其中,匹配域可以为虚拟机的VLAN ID,也可以为同一个子网内虚拟机共同的MAC地址开头信息。当匹配域可以为虚拟机的VLAN ID时,通配流表可以如表2所示:
表2
匹配域 | 动作指令集 |
VLAN ID=100 | Group1 |
上述表格内容表示,如果S210中接收的第一数据报文中包括的源虚拟机的VLAN ID为100,则该第一数据报文可以匹配到上述表2中VLAN ID=100的内容,然后执行动作指令集(Group1),其中,Group1的内容可以对应表3中ID=1,Type=select的动作指令。
表3
在表3中,VTEP2和VTEP3分别为第二交换机和第三交换机;Type表示动作指令的执行类型,当Type为select时,表示交换机执行动作指令列表Action lists中三条动作指令中的一条指令,其中,指令“Push vxlan vtep2
header,output port2(vtep2)”表示为当前数据报文添加第二交换机的交换机信息,并向端口(port)2发送添加交换机信息后的数据报文,指令“Push vxlan vtep3header,output port3(vtep3)”表示为当前数据报文添加第三交换机的交换机信息,并向端口3发送添加交换机信息后的数据报文;当Type为all时,表示交换机执行Action lists中全部的两组动作指令,其中,指令“Push vxlan mcast header,output port2(vtep2)”表示为当前数据报文添加多播组地址,并向端口2发送添加多播组地址后的数据报文,指令“Push vxlan mcast header,output port3(vtep3)”表示为当前数据报文添加多播组地址,并向端口3发送添加多播组地址后的数据报文。
需要说明的是,上述两组动作指令是由交换机在现有的动作指令集中新扩展的一类动作指令,即压入(push)指令。在VxLAN中,未知单播或者多播会匹配到表格3的内容,当交换机(如,VTEP)在执行上述push指令时,交换机会将VxLAN相关信息打包到原数据报文的报文头,且产生指向多个VTEP的VxLAN多播,交换机在向上述多个VTEP发送打包了报文头的原数据报文时,通过该交换机接收数据的入端口作为本地输出(output)端口,其中,每个VTEP的IP地址和用户数据包协议(User Datagram Protocol,UDP)端口都包含在上述push指令的动作参数中。在此说明,VxLAN相关信息可以如表4所示:
表4
序号 | 参数 | 说明 |
1 | DMAC | 下一跳的MAC地址,或者多播MAC地址。 |
2 | SMAC | 本地VTEP MAC地址。 |
3 | DIP | 远端VTEP的IP地址,或者多播地址。 |
4 | SIP | 本地的VTEP的IP地址。 |
5 | VNI | VxLAN段ID。 |
此外,交换机还扩展另一类动作指令,即弹出(pop)指令。当交换机在执行上述pop指令时,交换机会将数据报文的VxLAN相关信息去掉。
如前述提到的,通配流表中的匹配域也可以为同一个子网内虚拟机共同的MAC地址开头信息。当匹配域为共同的MAC地址开头信息时,通配流表可以如表5所示:
表5
其中,SMAC地址为源虚拟机的MAC地址,SMAC&ff:ff:ff:00:00:00表示取同一个子网内虚拟机共同的MAC地址开头信息。Group1与表2中的Group1相同,在此不作赘述。
如前述例子中,当第一交换机(即源交换机)接收到源虚拟机VM1向目标虚拟机VM3发送的第一数据报文时,第一交换机检查自己是否收到过源虚拟机VM1的数据,如果没有,则记录第一交换机的VNI、第一交换机的IP地址和源虚拟机VM1的MAC地址等基本信息。具体地,第一交换机可以通过转发表记录上述基本信息。在完成上述检查过程之后,第一交换机在本地保存的转发表中查找目标虚拟机信息(如:目标虚拟机VM3的MAC地址:11:22:33:00:00:03)对应的VM3所属的第二交换机的目标交换机信息(如:第二交换机的IP地址:10.0.0.2和端口:port2),因为第一交换机之前并未接收到过目标虚拟机VM3的数据,所以转发表中并未记录目标虚拟机VM3与第二交换机之间的对应关系,也即查找不到目标交换机信息。因此需要根据S210中接收的第一数据报文中的源虚拟机VM1的VLAN ID=100或者同一个子网内虚拟机共同的MAC地址开头信息:11:22:33,从通配流表中获取相应的动作指令集,如可以获取到表2中的Group1或者表5中的Group。
S230,所述源交换机从与所述源虚拟机的特征标识信息对应的动作指令集中提取多播组地址信息。
此处,还可以从与所述源虚拟机的特征标识信息对应的动作指令集中提取多个单播地址。
如前述例子中,根据VM1的特征标识信息VLAN ID=100,获取到的动作指令集为Group1,根据Group1可以得到如表6所示的多播组地址信息。
表6
如表6可知,push指令中指向的两个VTEP分别为:VTEP2和VTEP3(即第二交换机和第三交换机),其中,第二交换机的IP地址为:10.0.0.2,UDP端口为:1234;第三交换机的IP地址为:10.0.0.3,UDP端口为:1234。
S240,所述源交换机根据所述多播组地址信息,分别向多个交换机发送所述第一数据报文。
进一步地,S240还可以包括:
为所述第一数据报文添加第一报文头,得到第三数据报文,所述第一报文头包括:所述源交换机的源交换机信息和所述多播组地址信息;
根据所述多播组地址信息,分别向加入所述多播组地址信息对应的多播组的多个交换机发送所述第三数据报文。
具体地,如前述例子,第一交换机为S210中接收的第一数据报文添加第一报文头。因为,上述获取到的多播组地址信息包括两个交换机(第二交换机和第三交换机)的交换机信息,当向第二交换机发送第一数据报文时,添
加的第一报文头包括:第一交换机的VNI=8、第一交换机的IP地址=10.0.0.1、第一交换机的MAC地址、第二交换机的IP地址=10.0.0.2和下一跳交换机的MAC地址,该例中,下一跳交换机即为第二交换机;当向第三交换机发送第一数据报文时,添加的第一报文头包括:第一交换机的VNI=8、第一交换机的IP地址=10.0.0.1、第一交换机的MAC地址、第三交换机的IP地址=10.0.0.3和下一跳交换机的MAC地址,该例中,下一跳交换机即为第三交换机。为上述第一数据报文添加第一报文头之后,得到两个不同的第三数据报文,第一交换机分别向第二交换机和第三交换机发送上述两个不同的第三数据报文。
S250,所述源交换机接收目标交换机返回的响应报文,所述目标交换机为所述多个交换机中的任一交换机,所述响应报文包括所述目标交换机的目标交换机信息。
进一步地,S250还可以包括:
所述目标交换机在接收到所述第三数据报文后,去掉所述第三数据报文的第一报文头,得到第四数据报文,向所述目标交换机下属的虚拟机发送所述第四数据报文,并接收所述虚拟机在将所述目标虚拟机信息与所述虚拟机的虚拟机信息比对一致时返回的原始响应报文;
所述目标交换机对所述原始响应报文添加第二报文头,得到所述响应报文,所述源交换机接收所述目标交换机返回的所述响应报文,所述第二报文头包括:所述目标交换机信息和所述源交换机信息。
如前述例子中,第二交换机在接收到上述第三数据报文后,对该第三数据报文执行pop指令,也即去掉上述第一报文头,得到第四数据报文;并根据第三数据报文中包括的源虚拟机VM1的MAC地址,检查自己是否收到过源虚拟机VM1的数据,如果没有,则记录第一交换机的VNI、第一交换机的IP地址和源虚拟机VM1的MAC地址等基本信息。具体地,源虚拟机VM1可以通过转发表记录上述基本信息。
在完成上述检查过程之后,第二交换机向第二交换机下属的虚拟机VM3
发送上述第四数据报文,虚拟机VM3在接收到上述第四数据报文之后,将第四数据报文中的目标虚拟机信息(如:目标虚拟机VM3的MAC地址:11:22:33:00:00:03)与虚拟机VM3的MAC地址(即11:22:33:00:00:03)进行比对,因为比对一致,也即虚拟机VM3即为目标虚拟机,因此,目标虚拟机VM3向第二交换机返回原始响应报文,该原始响应报文中包括目标虚拟机VM3的目标虚拟机信息(如,VM3的MAC地址)和源虚拟机VM1的源虚拟机信息(如,VM1的MAC地址)。
第二交换机在接收到上述原始响应报文之后,因为转发表中已经记录了第一交换机的VNI、第一交换机的IP地址和源虚拟机VM1的MAC地址等基本信息,所以根据源虚拟机VM1的MAC地址,可以直接获取到第一交换机的VNI、第一交换机的IP地址等信息,也即第二交换机可以直接获取到单播地址,该单播地址中只包括第一交换机的交换机信息。为上述原始响应报文添加第二报文头,得到响应报文,添加的第二报文头包括:第二交换机的VNI=8、第二交换机的IP地址=10.0.0.2、第二交换机的MAC地址、第一交换机的IP地址=10.0.0.1和第一交换机的MAC地址;第二交换机向第一交换机返回上述响应报文。因为第二交换机向第一交换机返回了响应报文,所以第一交换机将第二交换机确定为目标交换机,也即上述响应报文中包括目标交换机的目标交换机信息。
需要说明的是,当第三交换机接收到上述第三数据报文后,同样对该第三数据报文执行pop指令,也即去掉上述第一报文头,得到第四数据报文;并根据第三数据报文中包括的源虚拟机VM1的MAC地址,检查自己是否收到过源虚拟机VM1的数据,如果没有,则记录第一交换机的VNI、第一交换机的IP地址和源虚拟机VM1的MAC地址等基本信息。具体地,源虚拟机VM1可以通过转发表记录上述基本信息。
在完成上述检查过程之后,第三交换机向第三交换机下属的虚拟机VM4发送上述第四数据报文,虚拟机VM4在接收到上述第四数据报文之后,将第四
数据报文中的目标虚拟机信息(如:目标虚拟机VM3的MAC地址:11:22:33:00:00:03)与虚拟机VM4的MAC地址(即11:22:33:00:00:04)进行比对,因为比对不一致,所以虚拟机VM4不是目标虚拟机,因此,不向第三交换机返回响应报文。
S260,生成交换机流表项信息,所述交换机流表项信息包括所述目标交换机信息与所述目标虚拟机信息的对应关系。
此处,新生成的交换机流表项信息的优先级高于所述通配流表的优先级。也即源交换机在接收到新的数据报文时,优先根据交换机流表项信息的内容对该新的数据报文进行转发。
如前述例子中,第一交换机在接收到第二交换机返回的响应报文时,则生成交换机流表项信息,其中,生成的交换机流表项信息可参见表7所示:
表7
可选地,所述源交换机生成所述交换机流表项信息之后,所述方法还可以包括:
所述源交换机接收第二数据报文,所述第二数据报文包括所述目标虚拟机信息;
所述源交换机根据所述目标虚拟机信息,从所述交换机流表项信息中获取所述目标交换机信息;
所述源交换机根据所述目标交换机信息向所述目标交换机发送所述第二数据报文。
举例来说,在上述交换机流表项信息中,DMAC为目标虚拟机VM3的MAC
地址,根据动作指令集中的动作参数,可以获取到目标交换机为第二交换机,且第二交换机将port2作为向源虚拟机发送单播数据报文的出端口。也即上述交换机流表项信息包括了目标交换机信息与目标虚拟机信息的对应关系。当第一交换机接收到源虚拟机VM1向目标虚拟机VM3发送的第二数据报文时,优先根据上述交换机流表项信息,判断是否可以确定该第二数据报文的单播通道,因为该交换机流表项信息中已经记录了第二交换机的交换机信息,因此为上述第二数据报文添加第一交换机和第二交换机的信息之后,通过port2向第二交换机发送上述添加信息之后的第二数据报文,也即第二交换机可以直接将VM1与VM3之间的数据流重定向到单播通道。
需要说明的是,上述第二数据报文可以是源虚拟机VM1向目标虚拟机VM3发送的除第一数据报文之外的数据报文。此处,第一交换机可以直接根据上述交换机流表项信息的内容,确定源虚拟机与目标虚拟机之间的单播通道(tunnel)。
在另一个例子中,第一交换机根据表5给出的通配流表(即匹配域为同一个子网内虚拟机共同的MAC地址开头信息)生成的交换机流表项信息可以如表8所示:
表8
表7与表8不同的是匹配域,表7的匹配域为虚拟机的VLAN ID,表8的匹配域为同一个子网内虚拟机共同的MAC地址开头信息。第一交换机根据表5给出的通配流表生成交换机流表项信息的过程同生成表7的过程类似,
在此不作赘述。
可选地,所述方法还可以包括:当所述目标虚拟机从所述目标交换机迁移至其它交换机时,所述源交换机接收所述目标虚拟机发送的广播数据报文,所述广播数据报文包括所述其它交换机信息;
所述源交换机将所述交换机流表项信息中的所述目标交换机信息更新为其它交换机信息。
参见图3所示的SDN网络结构示意图之二,目标虚拟机VM3从第二交换机迁移到第三交换机,在目标虚拟机VM3发生迁移后,目标虚拟机VM3会向第三交换机发送广播数据报文,第三交换机在接收到上述广播数据报文之后,通过子网内交换机向所有虚拟机发送上述广播数据报文,该广播数据报文中包括第三交换机信息(如,第三交换机的IP地址:10.0.0.3和端口:port3),交换机在接收到上述广播数据报文之后,根据目标虚拟机VM3的MAC地址:11:22:33:00:00:03,从第一交换机的交换机流表项信息中查询到的目标虚拟机VM3所属的交换机IP地址为:10.0.0.2,端口为:port2,与接收的第三交换机的IP地址:10.0.0.3和端口:port3相冲突,所以,第一交换机更新本地的交换机流表项信息,更新后的交换机流表项信息如表9所示:
表9
综上,本发明实施例提供的数据报文的转发方法,交换机根据已接收的源虚拟机向目标虚拟机发送的第一数据报文自动生成交换机流表项信息,该交换机流表项信息用于指示该交换机在接收到源虚拟机向目标虚拟机发送的
第二数据报文时,根据目标虚拟机信息,确定源虚拟机与目标虚拟机之间的单播通道,并通过该单播通道向目标虚拟机发送上述第二数据报文,从而减轻控制服务器处理数据报文的负担。
装置实施例
图4为本发明装置实施例提供的数据报文的转发装置示意图。所述装置可以用于执行图2所述的方法。图4中,该装置包括:接收单元401、获取单元402、提取单元403、发送单元404和生成单元405。
接收单元401,用于接收源虚拟机发送的第一数据报文,所述第一数据报文包括:目标虚拟机信息和所述源虚拟机的特征标识信息。
在此说明,目标虚拟机信息可以但不限定为目标虚拟机的媒体访问控制(Media Access Control,MAC)地址。所述源虚拟机的特征标识信息包括但限于所述源虚拟机的虚拟局域网标识VLAN ID或者所述源虚拟机与子网内其它虚拟机共同的MAC地址开头信息。
获取单元402,用于在本地保存的转发表中未查找到接收单元401接收的所述目标虚拟机信息对应的目标虚拟机所属的目标交换机的目标交换机信息时,根据所述源虚拟机的特征标识信息,在从控制服务器接收的通配流表中获取与所述源虚拟机的特征标识信息对应的动作指令集。
所述目标交换机信息包括所述目标交换机的虚拟可扩展局域网标识VNI、所述目标交换机的互联网协议(Internet Protocol,IP)地址和下一跳交换机的MAC地址。
控制服务器侧会维护通配流表,当交换机启动时,交换机会自动从控制服务器上下载上述通配流表。通配流表中主要包括两项内容:匹配域和动作指令集,其中,匹配域可以为虚拟机的VLAN ID,也可以为同一个子网内虚拟机共同的MAC地址开头信息。
动作指令集中新扩展两类动作指令:压入(push)指令和弹出(pop)指令。当交换机(如,VTEP)在执行上述push指令时,交换机会将VxLAN相关
信息打包到原数据报文的报文头,且产生指向多个VTEP的VxLAN多播,入端口为本地输出(output)端口,其中,每个VTEP的IP地址和用户数据包协议(User Datagram Protocol,UDP)端口都包含在上述push指令的动作参数中。当交换机在执行上述pop指令时,交换机会将数据报文的VxLAN相关信息去掉。
提取单元403,用于从与获取单元402获取的所述源虚拟机的特征标识信息对应的动作指令集中提取多播组地址信息。
发送单元404,用于根据提取单元403提取的所述多播组地址信息,分别向多个交换机发送所述第一数据报文。
接收单元401,还用于接收目标交换机返回的响应报文,所述目标交换机为所述多个交换机中的任一交换机,所述响应报文包括所述目标交换机的目标交换机信息。
生成单元405,用于生成交换机流表项信息,所述交换机流表项信息包括所述目标交换机信息与所述目标虚拟机信息的对应关系。
此处,所述交换机流表项信息的优先级高于所述通配流表的优先级。
可选地,接收单元401,还用于接收第二数据报文,所述第二数据报文包括所述目标虚拟机信息。
获取单元402,还用于根据所述目标虚拟机信息,从所述交换机流表项信息中获取所述目标交换机信息。
发送单元403,还用于根据获取单元402获取的所述目标交换机信息向所述目标交换机发送所述第二数据报文。
可选地,发送单元404具体用于:
为所述第一数据报文添加第一报文头,得到第三数据报文,所述第一报文头包括:所述源交换机的源交换机信息和所述多播组地址信息;
根据所述多播组地址信息,分别向加入所述多播组地址信息对应的多播组的多个交换机发送所述第三数据报文。
可选地,接收单元401具体用于:在接收到所述第三数据报文后,去掉所述第三数据报文的第一报文头,得到第四数据报文,向所述目标交换机下属的虚拟机发送所述第四数据报文,并接收所述虚拟机在将所述目标虚拟机信息与所述虚拟机的虚拟机信息比对一致时返回的原始响应报文;
对所述原始响应报文添加第二报文头,得到所述响应报文,接收所述目标交换机返回的所述响应报文,所述第二报文头包括:所述目标交换机信息和所述源交换机信息。
可选地,所述装置还包括:更新单元406。
接收单元401还用于:当所述目标虚拟机从所述目标交换机迁移至其它交换机时,接收所述目标虚拟机发送的广播数据报文,所述广播数据报文包括其它交换机信息;
更新单元406,用于将所述交换机流表项信息中的所述目标交换机信息更新为所述其它交换机信息。
综上,本发明实施例提供的数据报文的转发装置,交换机根据已接收的源虚拟机向目标虚拟机发送的第一数据报文自动生成交换机流表项信息,该交换机流表项信息用于指示该交换机在接收到源虚拟机向目标虚拟机发送的第二数据报文时,根据目标虚拟机信息,确定源虚拟机与目标虚拟机之间的单播通道,并通过该单播通道向目标虚拟机发送上述第二数据报文,从而减轻控制服务器处理数据报文的负担。
设备实施例
图5为本发明设备实施例提供的数据报文的转发设备示意图。如图5所示,所述转发设备500包括:处理器502、存储器504、通信接口506和总线508。其中,处理器502、存储器504和通信接口506通过总线508实现彼此之间的通信连接。
处理器502可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,
ASIC),或者一个或多个集成电路,用于执行相关程序,以实现前述本发明方法实施例所提供的技术方案。
存储器504可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器504可以存储操作系统和其他应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明前述方法实施例提供的任一可选技术方案的程序代码保存在存储器504中,并由处理器502来执行。
通信接口506用以与SDN网络中其他交换机或控制服务器通信。
总线508可包括一通路,在转发设备500各个部件(例如处理器502、存储器504和通信接口506)之间传送信息。
综上,本发明实施例提供的数据报文的转发方法、装置及设备,交换机根据已接收的源虚拟机向目标虚拟机发送的第一数据报文自动生成交换机流表项信息,该交换机流表项信息用于指示该交换机在接收到向目标虚拟机发送的第二数据报文时,根据目标虚拟机信息,确定源虚拟机与目标虚拟机之间的单播通道,并通过该单播通道向目标虚拟机发送上述第二数据报文,可以减轻控制服务器处理数据报文的负担。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、
寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
- 一种数据报文的转发方法,其特征在于,所述方法包括:源交换机接收源虚拟机发送的第一数据报文,所述第一数据报文包括:目标虚拟机信息和所述源虚拟机的特征标识信息;所述源交换机在本地保存的转发表中未查找到所述目标虚拟机信息对应的目标虚拟机所属的目标交换机的目标交换机信息时,根据所述源虚拟机的特征标识信息,在从控制服务器接收的通配流表中获取与所述源虚拟机的特征标识信息对应的动作指令集;所述源交换机从与所述源虚拟机的特征标识信息对应的动作指令集中提取多播组地址信息;所述源交换机根据所述多播组地址信息,分别向多个交换机发送所述第一数据报文;所述源交换机接收目标交换机返回的响应报文,所述目标交换机为所述多个交换机中的任一交换机,所述响应报文包括所述目标交换机的目标交换机信息;所述源交换机生成交换机流表项信息,所述交换机流表项信息包括所述目标交换机信息与所述目标虚拟机信息的对应关系。
- 根据权利要求1所述的方法,其特征在于,所述源交换机生成所述交换机流表项信息之后,所述方法还包括:所述源交换机接收第二数据报文,所述第二数据报文包括所述目标虚拟机信息;所述源交换机根据所述目标虚拟机信息,从所述交换机流表项信息中获取所述目标交换机信息;所述源交换机根据所述目标交换机信息向所述目标交换机发送所述第二数据报文。
- 根据权利要求1所述的方法,其特征在于,所述源虚拟机的特征标识 信息包括所述源虚拟机的虚拟局域网标识VLAN ID,或者所述源虚拟机与子网内其它虚拟机共同的MAC地址开头信息。
- 根据权利要求1所述的方法,其特征在于,所述目标交换机信息包括所述目标交换机的虚拟可扩展局域网标识VNI、所述目标交换机的IP地址和下一跳交换机的MAC地址。
- 根据权利要求1所述的方法,其特征在于,所述源交换机根据所述多播组地址信息,分别向多个交换机发送所述第一数据报文包括:为所述第一数据报文添加第一报文头,得到第三数据报文,所述第一报文头包括:所述源交换机的源交换机信息和所述多播组地址信息;根据所述多播组地址信息,分别向加入所述多播组地址信息对应的多播组的多个交换机发送所述第三数据报文。
- 根据权利要求5所述的方法,其特征在于,所述源交换机接收目标交换机返回的响应报文包括:所述目标交换机在接收到所述第三数据报文后,去掉所述第三数据报文的第一报文头,得到第四数据报文,向所述目标交换机下属的虚拟机发送所述第四数据报文,并接收所述虚拟机在将所述目标虚拟机信息与所述虚拟机的虚拟机信息比对一致时返回的原始响应报文;所述目标交换机对所述原始响应报文添加第二报文头,得到所述响应报文,所述源交换机接收所述目标交换机返回的所述响应报文,所述第二报文头包括:所述目标交换机信息和所述源交换机信息。
- 根据权利要求1所述的方法,其特征在于,所述交换机流表项信息的优先级高于所述通配流表的优先级。
- 根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:当所述目标虚拟机从所述目标交换机迁移至其它交换机时,所述源交换机接收所述目标虚拟机发送的广播数据报文,所述广播数据报文包括其它交换机信息;所述源交换机将所述交换机流表项信息中的所述目标交换机信息更新为所述其它交换机信息。
- 一种数据报文的转发装置,其特征在于,所述装置包括:接收单元、获取单元、提取单元、发送单元和生成单元;所述接收单元,用于接收源虚拟机发送的第一数据报文,所述第一数据报文包括:目标虚拟机信息和所述源虚拟机的特征标识信息;所述获取单元,用于在本地保存的转发表中未查找到所述接收单元接收的所述目标虚拟机信息对应的目标虚拟机所属的目标交换机的目标交换机信息时,根据所述源虚拟机的特征标识信息,在从控制服务器接收的通配流表中获取与所述源虚拟机的特征标识信息对应的动作指令集;所述提取单元,用于从与所述获取单元获取的所述源虚拟机的特征标识信息对应的动作指令集中提取多播组地址信息;所述发送单元,用于根据所述提取单元提取的所述多播组地址信息,分别向多个交换机发送所述第一数据报文;所述接收单元,还用于接收目标交换机返回的响应报文,所述目标交换机为所述多个交换机中的任一交换机,所述响应报文包括所述目标交换机的目标交换机信息;所述生成单元,用于生成交换机流表项信息,所述交换机流表项信息包括所述目标交换机信息与所述目标虚拟机信息的对应关系。
- 根据权利要求9所述的装置,其特征在于,所述接收单元,还用于接收第二数据报文,所述第二数据报文包括所述目标虚拟机信息;所述获取单元,还用于根据所述目标虚拟机信息,从所述交换机流表项信息中获取所述目标交换机信息;所述发送单元,还用于根据所述获取单元获取的所述目标交换机信息向所述目标交换机发送所述第二数据报文。
- 根据权利要求9所述的装置,其特征在于,所述源虚拟机的特征标识信息包括所述源虚拟机的虚拟局域网标识VLAN ID或者所述源虚拟机与子网内其它虚拟机共同的MAC地址开头信息。
- 根据权利要求9所述的装置,其特征在于,所述目标交换机信息包括所述目标交换机的虚拟可扩展局域网标识VNI、所述目标交换机的IP地址和下一跳交换机的MAC地址。
- 根据权利要求9所述的装置,其特征在于,所述发送单元具体用于:为所述第一数据报文添加第一报文头,得到第三数据报文,所述第一报文头包括:所述源交换机的源交换机信息和所述多播组地址信息;根据所述多播组地址信息,分别向加入所述多播组地址信息对应的多播组的多个交换机发送所述第三数据报文。
- 根据权利要求13所述的装置,其特征在于,所述接收单元具体用于:在接收到所述第三数据报文后,去掉所述第三数据报文的第一报文头,得到第四数据报文,向所述目标交换机下属的虚拟机发送所述第四数据报文,并接收所述虚拟机在将所述目标虚拟机信息与所述虚拟机的虚拟机信息比对一致时返回的原始响应报文;对所述原始响应报文添加第二报文头,得到所述响应报文,接收所述目标交换机返回的所述响应报文,所述第二报文头包括:所述目标交换机信息和所述源交换机信息。
- 根据权利要求9所述的装置,其特征在于,所述交换机流表项信息的优先级高于所述通配流表的优先级。
- 根据权利要求9-15任一项所述的装置,其特征在于,所述装置还包括:更新单元;所述接收单元还用于:当所述目标虚拟机从所述目标交换机迁移至其它交换机时,接收所述目标虚拟机发送的广播数据报文,所述广播数据报文包括其它交换机信息;所述更新单元,用于将所述交换机流表项信息中的所述目标交换机信息更新为所述其它交换机信息。
- 一种数据报文的转发设备,其特征在于,所述转发设备包括:处理器,存储器,通信接口和总线,其中,所述处理器、所述存储器和所述通信接口通过所述总线通信;所述通信接口用于与交换机或控制服务器通信;所述存储器用于存放程序;当所述转发设备运行时,所述处理器用于执行所述存储器存储的所述程序,以执行权利要求1至8任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/071231 WO2016115698A1 (zh) | 2015-01-21 | 2015-01-21 | 数据报文的转发方法、装置及设备 |
CN201580001154.5A CN106031104B (zh) | 2015-01-21 | 2015-01-21 | 数据报文的转发方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/071231 WO2016115698A1 (zh) | 2015-01-21 | 2015-01-21 | 数据报文的转发方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016115698A1 true WO2016115698A1 (zh) | 2016-07-28 |
Family
ID=56416283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2015/071231 WO2016115698A1 (zh) | 2015-01-21 | 2015-01-21 | 数据报文的转发方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106031104B (zh) |
WO (1) | WO2016115698A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132240A (zh) * | 2021-04-21 | 2021-07-16 | 北京字节跳动网络技术有限公司 | 数据包处理、转发方法、装置、集成芯片、交换机及系统 |
CN113783910A (zh) * | 2020-06-09 | 2021-12-10 | 阿里巴巴集团控股有限公司 | 一种数据转发的方法、装置及系统 |
CN114760249A (zh) * | 2021-01-08 | 2022-07-15 | 大唐移动通信设备有限公司 | 一种基于sdn网络的数据处理方法和装置及设备 |
CN115065735A (zh) * | 2022-03-08 | 2022-09-16 | 阿里巴巴(中国)有限公司 | 报文处理方法及电子设备 |
CN115767155A (zh) * | 2022-09-07 | 2023-03-07 | 成都西加云杉科技有限公司 | 一种网络通信方法、装置、设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108880968B (zh) * | 2017-05-11 | 2021-12-07 | 中兴通讯股份有限公司 | 软件定义网络中广播、组播实现方法及装置、存储介质 |
CN110300060B (zh) * | 2018-03-23 | 2022-06-07 | 北京京东尚科信息技术有限公司 | 用于软件定义网络的通信方法和装置 |
CN114844833B (zh) * | 2022-03-30 | 2024-06-25 | 阿里云计算有限公司 | 报文处理方法和系统,存储介质及计算机终端 |
CN115426323B (zh) * | 2022-08-23 | 2024-04-30 | 阿里云计算有限公司 | 网络系统、组播流量传输方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130061225A1 (en) * | 2011-09-05 | 2013-03-07 | Fujitsu Limited | Data relay device, computer-readable recording medium, and data relay method |
CN102984043A (zh) * | 2012-11-02 | 2013-03-20 | 中兴通讯股份有限公司 | 组播数据流的转发方法及装置 |
CN103023827A (zh) * | 2012-11-23 | 2013-04-03 | 杭州华三通信技术有限公司 | 一种虚拟化数据中心的数据转发方法及其实现设备 |
CN103905309A (zh) * | 2012-12-28 | 2014-07-02 | 中国电信股份有限公司 | 虚拟机之间的数据交换方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4250429B2 (ja) * | 2003-01-24 | 2009-04-08 | キヤノン株式会社 | 連鎖型署名作成装置、及びその制御方法 |
CN102377565A (zh) * | 2010-08-06 | 2012-03-14 | 陈国敏 | 一种基于指定验证者的可链接环签名方法 |
US8831000B2 (en) * | 2012-10-10 | 2014-09-09 | Telefonaktiebolaget L M Ericsson (Publ) | IP multicast service join process for MPLS-based virtual private cloud networking |
CN103841028B (zh) * | 2014-03-24 | 2017-02-08 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
CN104243265B (zh) * | 2014-09-05 | 2018-01-05 | 华为技术有限公司 | 一种基于虚拟机迁移的网关控制方法、装置及系统 |
-
2015
- 2015-01-21 WO PCT/CN2015/071231 patent/WO2016115698A1/zh active Application Filing
- 2015-01-21 CN CN201580001154.5A patent/CN106031104B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130061225A1 (en) * | 2011-09-05 | 2013-03-07 | Fujitsu Limited | Data relay device, computer-readable recording medium, and data relay method |
CN102984043A (zh) * | 2012-11-02 | 2013-03-20 | 中兴通讯股份有限公司 | 组播数据流的转发方法及装置 |
CN103023827A (zh) * | 2012-11-23 | 2013-04-03 | 杭州华三通信技术有限公司 | 一种虚拟化数据中心的数据转发方法及其实现设备 |
CN103905309A (zh) * | 2012-12-28 | 2014-07-02 | 中国电信股份有限公司 | 虚拟机之间的数据交换方法和系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783910A (zh) * | 2020-06-09 | 2021-12-10 | 阿里巴巴集团控股有限公司 | 一种数据转发的方法、装置及系统 |
CN113783910B (zh) * | 2020-06-09 | 2024-02-13 | 阿里巴巴集团控股有限公司 | 一种数据转发的方法、装置及系统 |
CN114760249A (zh) * | 2021-01-08 | 2022-07-15 | 大唐移动通信设备有限公司 | 一种基于sdn网络的数据处理方法和装置及设备 |
CN114760249B (zh) * | 2021-01-08 | 2023-08-04 | 大唐移动通信设备有限公司 | 一种基于sdn网络的数据处理方法和装置及设备 |
CN113132240A (zh) * | 2021-04-21 | 2021-07-16 | 北京字节跳动网络技术有限公司 | 数据包处理、转发方法、装置、集成芯片、交换机及系统 |
CN113132240B (zh) * | 2021-04-21 | 2023-02-10 | 北京字节跳动网络技术有限公司 | 数据包处理、转发方法、装置、集成芯片、交换机及系统 |
CN115065735A (zh) * | 2022-03-08 | 2022-09-16 | 阿里巴巴(中国)有限公司 | 报文处理方法及电子设备 |
CN115767155A (zh) * | 2022-09-07 | 2023-03-07 | 成都西加云杉科技有限公司 | 一种网络通信方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106031104A (zh) | 2016-10-12 |
CN106031104B (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016115698A1 (zh) | 数据报文的转发方法、装置及设备 | |
US11044211B2 (en) | Multicast packet handling based on control information in software-defined networking (SDN) environment | |
CN108075956B (zh) | 一种数据处理方法和装置 | |
US9281955B2 (en) | Interoperability of data plane based overlays and control plane based overlays in a network environment | |
US9864619B2 (en) | Systems and methods for a data center architecture facilitating layer 2 over layer 3 communication | |
CN104022953B (zh) | 基于开放流Openflow的报文转发方法和装置 | |
CN107547349B (zh) | 一种虚拟机迁移的方法及装置 | |
US20150281075A1 (en) | Method and apparatus for processing address resolution protocol (arp) packet | |
WO2016119733A1 (en) | Vxlan packet transmission | |
US20150058470A1 (en) | System and method for sharing vxlan table information with a network controller | |
US20150358233A1 (en) | Item aggregation in shortest path bridging mac-in-mac mode (spbm) network | |
US10341223B2 (en) | Multicast data packet forwarding | |
US9641417B2 (en) | Proactive detection of host status in a communications network | |
US10313154B2 (en) | Packet forwarding | |
US10511547B2 (en) | Multicast data packet forwarding | |
US10326712B2 (en) | Multicast data packet forwarding | |
WO2015014187A1 (zh) | 一种支持多租户的数据转发方法和装置 | |
US10313275B2 (en) | Packet forwarding | |
EP3313031A1 (en) | Sdn-based arp realization method and apparatus | |
CN105657078B (zh) | 一种数据传输方法、装置及多层网络管理器 | |
US20160352637A1 (en) | Client-based port filter table | |
JPWO2014142278A1 (ja) | 制御装置、通信システム、通信方法及びプログラム | |
WO2018161827A1 (zh) | 一种地址自学习的方法、装置及交换机 | |
WO2022089027A1 (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: 15878376 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15878376 Country of ref document: EP Kind code of ref document: A1 |