WO2018103043A1 - 云计算系统中的报文处理方法及设备 - Google Patents

云计算系统中的报文处理方法及设备 Download PDF

Info

Publication number
WO2018103043A1
WO2018103043A1 PCT/CN2016/109044 CN2016109044W WO2018103043A1 WO 2018103043 A1 WO2018103043 A1 WO 2018103043A1 CN 2016109044 W CN2016109044 W CN 2016109044W WO 2018103043 A1 WO2018103043 A1 WO 2018103043A1
Authority
WO
WIPO (PCT)
Prior art keywords
mac address
network
address
bit
virtual
Prior art date
Application number
PCT/CN2016/109044
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 PCT/CN2016/109044 priority Critical patent/WO2018103043A1/zh
Priority to CN201680091420.2A priority patent/CN110063045B/zh
Publication of WO2018103043A1 publication Critical patent/WO2018103043A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a message processing method and device in a cloud computing system.
  • a virtual local area network is a technology that implements a virtual workgroup by logically dividing a device of a local area network into physical segments instead of being physically divided into network segments.
  • the switch In the existing VLAN technology, the switch must be able to distinguish the packets of different VLANs.
  • the VLAN identification field is added to the packet to indicate the VLAN identifier.
  • the packet structure with the VLAN identification field is used to indicate the VLAN ID.
  • the length of the field is 12 bits. Therefore, the switch can be divided into 4094 VLANs, ranging from 1-4094.
  • the manner of encapsulating data packets by adding additional flag fields increases the data transmission amount of data packets and reduces the forwarding efficiency of data packets in the cloud computing system.
  • the invention provides a packet processing method and device in a cloud computing system, which can improve the forwarding efficiency of data packets between VMs in a cloud computing system.
  • an embodiment of the present invention provides a packet processing method in a cloud computing system, where the cloud computing system includes a first computing node, where the first virtual machine VM and the first virtual machine are deployed.
  • the virtual switch vSwitch the method includes:
  • ARP request carries the media access control MAC address of the first VM and the Internet Protocol IP address of the second VM, where the second VM and the first VM belong to the same virtual network;
  • the first vSwitch extracts a MAC address of the first VM, and creates a MAC address of the second VM according to a MAC address of the first VM and an IP address of the second VM, where the first VM
  • the virtual network identifier field of the MAC address is used as the virtual network identifier field of the MAC address of the second VM, and the network segment to which the IP address of the second VM belongs is used to create a private network number of the MAC address of the second VM.
  • the first vSwitch sends an ARP response carrying the MAC address of the second VM to the first VM.
  • the cloud computing system constructs the MAC address of the VM by using the virtual network identifier of the virtual network where the VM is located and the IP address information of the VM, and does not need to encapsulate additional fields in the data packet to identify the virtual network. It is beneficial to reduce the length of the data packet between the VMs in the cloud computing system, and reduce the transmission processing time of the VM data packets, thereby facilitating the efficiency of forwarding data packets between the VMs in the cloud computing system.
  • the cloud computing system further includes a second computing node, the second computing node is deployed with the second VM and the second vSwitch, the first computing node and the second computing The node is connected to the bearer network that is formed by the switch.
  • the method further includes:
  • the first vSwitch removes the network identifier of the bearer network, and forwards the second data packet to the first VM according to the MAC address of the first VM in the second data packet.
  • the first vSwitch extracts a MAC address of the first VM, and creates a MAC address of the second VM according to a MAC address of the first VM and an IP address of the second VM.
  • the first vSwitch creates a private network number field of the MAC address of the second VM according to the network segment to which the IP address of the second VM belongs, and uses the last three bytes of the IP address of the second VM as the An extended identifier field of a MAC address of the second VM.
  • the MAC address is an address field of 48 bits
  • the virtual network identification field of the MAC address is the 26th bit to the 39th bit and the 42nd bit to the 47th bit of the MAC address.
  • At least one bit in the bit, the private network number field of the MAC address is the 25th bit and the 24th bit of the MAC address, and the extended identifier field of the MAC address is the 0th bit of the MAC address to the 23 bits, the 40th bit of the MAC address is 0, and the 41st bit is 1.
  • the virtual network identifier field in the MAC address can reach up to 20 bits, that is, only 4094 virtual network identifiers can be supported in the existing VLAN technology, which is provided by the embodiment of the present invention.
  • the MAC address field structure can theoretically support up to 20 virtual network identifiers of different virtual networks, thereby greatly expanding the number of virtual network identifiers that the cloud computing system can support, and improving the virtual network capacity carrying capacity of the cloud computing system. .
  • an embodiment of the present invention provides a packet processing method in a cloud computing system, where the cloud computing system includes a control node, where the control node is deployed with a network management module Network Manager and a virtual machine management module VMManager, and the method include:
  • the network manager receives the VM creation request sent by the VMManager, creates a virtual port of the VM, and allocates, to the virtual port, a virtual network identifier of the virtual network to which the VM to be created belongs and an IP address of the VM to be created;
  • the network manager creates a virtual network identifier field of the MAC address of the virtual port according to the virtual network identifier, and creates a private network number field of the MAC address of the virtual port according to the network segment to which the allocated IP address belongs.
  • the last three bytes of the assigned IP address create an extended identifier field of the MAC address of the virtual network port.
  • the cloud computing system constructs the MAC address of the VM by using the virtual network identifier of the virtual network where the VM is located and the IP address information of the VM, and does not need to encapsulate additional fields in the data packet to identify the virtual network. It is beneficial to reduce the length of the data packet between the VMs in the cloud computing system, and reduce the transmission processing time of the VM data packets, thereby facilitating the efficiency of forwarding data packets between the VMs in the cloud computing system.
  • the method further includes:
  • the network manager sends a VM deployment resource allocation request to the VMManager that carries the port number of the virtual port, where the VM deployment resource allocation request is used to instruct the VMManager to allocate deployment resources to the VM to be created.
  • the VMManager receives the VM deployment resource allocation request, allocates a deployment resource to the VM to be created, and sends a VM creation instruction carrying the deployment resource description information to the computing node according to the MAC address of the virtual port, where the VM The creating instruction is used to instruct the computing node to create a VM by using the deployment resource corresponding to the deployment resource description information.
  • the MAC address is an address field of 48 bits
  • the virtual network identification field of the MAC address is the 26th bit to the 39th bit and the 42nd bit to the 47th bit of the MAC address.
  • One or more bits in the bit, the private network number field of the MAC address is the 25th bit and the 24th bit of the MAC address, and the extended identifier field of the MAC address is the 0th bit of the MAC address Up to the 23rd bit, the 40th bit of the MAC address is 0, and the 41st bit is 1.
  • the virtual network identifier field in the MAC address can reach up to 20 bits, that is, only 4094 virtual network identifiers can be supported in the existing VLAN technology, which is provided by the embodiment of the present invention.
  • the MAC address field structure can theoretically support up to 20 virtual network identifiers of different virtual networks, thereby greatly expanding the number of virtual network identifiers that the cloud computing system can support, and improving the virtual network capacity carrying capacity of the cloud computing system. .
  • an embodiment of the present invention provides a packet processing apparatus of a cloud computing system, where the packet processing apparatus has a function of implementing behavior of a first virtual switch vSwitch in a first computing node in the method design of the foregoing first aspect.
  • the functions may be implemented by hardware or by corresponding software implemented by hardware.
  • the hardware or software includes one or more modules corresponding to the functions described above.
  • an embodiment of the present invention provides a packet processing apparatus of a cloud computing system, where the packet processing apparatus has a function of implementing a behavior of a control node in the method design of the second aspect.
  • the functions may be implemented by hardware or by corresponding software implemented by hardware.
  • the hardware or software includes one or more modules corresponding to the functions described above.
  • an embodiment of the present invention provides a first computing node, where the first computing node is deployed with a first virtual machine VM and a first virtual switch vSwitch, where the first computing node includes a processor, and the processor is configured.
  • the corresponding function in the method of the above first aspect is performed to support the first computing node.
  • the first computing node may further include a communication interface.
  • the first computing node can also include a memory for coupling with the processor that holds program instructions and data necessary for the first computing node.
  • an embodiment of the present invention provides a control node, where the control node is deployed with a network management module Network Manager and a virtual machine management module VMManager, where the control node includes a processor, and the processor is configured to support the control node to perform the foregoing.
  • the control node may further include a communication interface.
  • the control node may further include a memory for coupling with the processor, which holds program instructions and data necessary for controlling the node.
  • an embodiment of the present invention provides a computer program product, the computer program product comprising instructions, when the computer program product is executed by a computer, the computer performs the implementation of the first aspect or any implementation of the first aspect Message processing method in a cloud computing system.
  • the computer program product can be a software installation package.
  • an embodiment of the present invention provides a computer program product, where the computer program product includes instructions, when the computer program product is executed by a computer, the computer performs the second aspect or the A packet processing method in a cloud computing system provided by any of the implementations of the second aspect.
  • the computer program product can be a software installation package.
  • the cloud computing system constructs the MAC address of the VM by using the virtual network identifier of the virtual network where the VM is located and the IP address information of the VM, and does not need to encapsulate additional fields in the data packet to identify the virtual network. It is beneficial to reduce the length of the data packet between the VMs in the cloud computing system, and reduce the transmission processing time of the VM data packets, thereby facilitating the efficiency of forwarding data packets between the VMs in the cloud computing system.
  • FIG. 1A is a schematic structural diagram of a MAC address field in a conventional VLAN technology
  • 1B is a system architecture diagram of an example cloud computing system according to an embodiment of the present invention.
  • FIG. 2A is a schematic flowchart of a packet processing method in a cloud computing system according to an embodiment of the present disclosure
  • 2B is a schematic structural diagram of a MAC address of a VM according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a packet processing method in a cloud computing system according to an embodiment of the present invention
  • 4A is a block diagram showing the unit composition of a message processing apparatus according to an embodiment of the present invention.
  • 4B is a schematic structural diagram of a computing node according to an embodiment of the present invention.
  • FIG. 5A is a block diagram of a unit composition of a message processing apparatus according to an embodiment of the present invention.
  • FIG. 5B is a schematic structural diagram of a control node according to an embodiment of the present invention.
  • the MAC address of the host refers to the identifier of the host NIC, and each NIC Media Access Control (MAC) addresses are unique and hardened on the network card.
  • the MAC address is a 48-bit field, the first 24 bits are Organizationally Unique Identifiers (OUIs), the last 24 bits are extended identifiers, and the 40th bit of the MAC address is 0 indicates a unicast MAC address, and 1 indicates a multicast bit.
  • the 41st bit of the MAC address is 0 for the global MAC.
  • the global MAC indicates that the MAC address contains the vendor ID. 1 indicates the local MAC, and the local MAC indicates the There is no vendor ID in the MAC address.
  • FIG. 1B is a system architecture diagram of an example cloud computing system according to an embodiment of the present invention.
  • the cloud computing system includes a core switch, an aggregation switch, a computing node, a control node, a core switch connected to an aggregation switch, and an aggregation switch. It is used to connect the compute node and the control node.
  • the compute node is used to deploy a virtual machine (VM) and a virtual switch (vSwitch).
  • the control node is used to deploy the network management module NetworkManager and the virtual machine management module VMManager.
  • a plurality of computing nodes implement a communication connection through a bearer network composed of switches.
  • a virtual machine management module (VMManager), a network management module Network Manager, and a network database Network DB are deployed on the control node.
  • the virtual switch vSwitch, the virtual switch proxy module vSwitch-Agent, and the virtual machine VM are deployed on the compute node.
  • Compute VM1 and VM3 on node 1 compute VM2 and VM4 on node 2, virtual machine monitor hypervisor, compute agent management module Computer Agent, and NetworkManager is responsible for issuing virtual network services, such as creating a network, subnet, and port.
  • the vSwitch-Agent is configured to receive the connectivity information of the NetworkManager, and then deliver the corresponding forwarding flow table to the vSwitch of the computing node, where the connectivity information includes the VM of the current computing node.
  • the mapping between the media access control (MAC) address and the virtual network, that is, the virtual topology, and all VMs belonging to the same virtual network can communicate at the second layer.
  • FIG. 2A is a schematic flowchart of a packet processing method in a cloud computing system according to an embodiment of the present invention.
  • the method is applicable to a cloud computing system, where the cloud computing system includes a first computing node and a second computing. a node, the first computing node is deployed with a first VM and a first vSwitch, the second computing node is deployed with a second VM and a second vSwitch, and the first computing node and the second computing node pass The bearer network communication connection, the first VM and the second VM belong to the first virtual network.
  • the method includes: part 201-2013, as follows:
  • the first VM sends a first Address Resolution Protocol (ARP) request, where the first ARP request carries an Internet Protocol address (IP) address of the second VM.
  • ARP Address Resolution Protocol
  • IP Internet Protocol address
  • the first vSwitch receives the first ARP request, extracts a MAC address of the first VM, creates a MAC address of the second VM according to a MAC address of the first VM and an IP address of the second VM, and sends the MAC address to the first VM.
  • a virtual network identifier field of a MAC address of the first VM is used as a virtual network identifier field of a MAC address of the second VM
  • the second VM The network segment to which the IP address belongs is used to create a private network number field of the MAC address of the second VM, and the last three bytes of the IP address of the second VM are used as an extended identifier of the MAC address of the second VM. Field.
  • the virtual network identifier field in the MAC address field of the VM is used to indicate the virtual network identifier information of the virtual network where the VM is located, and the private network number field in the MAC address field of the VM is used to indicate the network segment to which the VM IP address belongs. Private network segment number.
  • the MAC address is an address field of 48 bits
  • the virtual network identification field of the MAC address is the 26th to 39th bits of the MAC address and the 42nd bit.
  • Bit to at least one of the 47th bit, the private network number field of the MAC address is the 25th bit and the 24th bit of the MAC address, and the extended identifier field of the MAC address is a MAC address From the 0th bit to the 23rd bit, the 40th bit of the MAC address is 0, and the 41st bit is 1.
  • the virtual network identifier field in the MAC address can reach up to 20 bits, that is, only 4094 virtual network identifiers can be supported in the existing VLAN technology, which is provided by the embodiment of the present invention.
  • the MAC address field structure can theoretically support up to 20 virtual network identifiers of different virtual networks, thereby greatly expanding the number of virtual network identifiers that the cloud computing system can support, and improving the virtual network capacity carrying capacity of the cloud computing system. .
  • the communication process between the virtual machines in the cloud computing system is unicast communication, so the 40th bit is 0, indicating that the MAC address is a unicast address, because the local MAC address type is in the standard.
  • the user is allowed to customize, so the 41st bit is 1, indicating that the type of the MAC address is a local MAC.
  • the 25th bit and the 24th bit of the MAC address represent the 10.xxx/8 private network segment number, and the 25th bit and the 24th bit 01 represent the 172.16-32.xx/16 private network segment number, the 25th bit.
  • the bit and the 24th bit 11 represent the 192.168.xx/24 private network segment number.
  • the network address segment is 192.168.1.0/24, and then, the IP address 192.168.1.1 is assigned from the network address segment, and the virtual network identifier is 1, then the MAC address is: 02:00:06:A8:01: 01.
  • the first vSwitch extracts the MAC address of the first VM, and according to the MAC address of the first VM and the IP address of the second VM, the implementation manner of creating the MAC address of the second VM may be implemented. Yes:
  • the first vSwitch creates a private network number field of the MAC address of the second VM according to the network segment to which the IP address of the second VM belongs, and uses the last three bytes of the IP address of the second VM as the An extended identifier field of a MAC address of the second VM.
  • the first vSwitch After receiving the first ARP request, the first vSwitch forwards the first ARP request to the first vSwitch-Agent of the first computing node, and after the first vSwitch-Agent receives the first ARP request, according to the first VM
  • the MAC address determines the virtual network number of the virtual network where the first VM is located, and queries whether the virtual port corresponding to the IP address of the second VM exists. If not, it determines that the first VM and the second VM do not belong to the same virtual network.
  • the flow table specifically includes operation description information, where the operation description information is used to indicate that the first vSwitch performs an operation of creating a MAC address of the second VM, and sends an ARP response carrying the MAC address of the second VM to the first VM. Descriptive information.
  • the first VM receives the first ARP response, and sends the second VM to the first vSwitch.
  • the first packet of the MAC address The first packet of the MAC address.
  • the first data packet further includes an IP address of the first VM.
  • the first vSwitch receives the first data packet, extracts a MAC address of the second VM in the first data packet, determines, according to the MAC address of the second VM, that the second VM is deployed on the second computing node, and determines The first VM and the second VM are deployed on different computing nodes, and the network identifier of the bearer network between the first computing node and the second computing node is added to the first data packet, and the network identifier is added to the bearer network.
  • the switch sends a first packet attached to the network identity of the bearer network.
  • the specific implementation manner that the first vSwitch determines that the second VM is deployed on the second computing node according to the MAC address of the second VM may be:
  • the VMManager of the control node creates a VM on the computing node
  • the VMManager sends a correspondence between the virtual network card number of the VM and the identification information of the computing node to the NetworkManager, and the NetworkManager notifies the vSwitch-Agent of the corresponding relationship of the obtained node.
  • the vSwtich-Agent forwards the corresponding relationship to the vSwitch, so that the vSwitch stores the correspondence between the virtual network card number of the VM and the identification information of the computing node.
  • the switch receives the first data packet that is attached to the network identifier of the bearer network, and forwards, by using the MAC address of the second VM in the first data packet, the first data packet that is attached to the network identifier of the bearer network.
  • the second vSwitch After the second vSwitch receives the first data packet of the network identifier of the bearer network, the identifier information is removed (ie, the network identifier field is removed), and the second VM is forwarded according to the MAC address of the second VM in the first data packet.
  • the first packet After the second vSwitch receives the first data packet of the network identifier of the bearer network, the identifier information is removed (ie, the network identifier field is removed), and the second VM is forwarded according to the MAC address of the second VM in the first data packet. The first packet.
  • the second VM receives the first data packet, extracts an IP address of the first VM in the first data packet, and sends a second ARP request, where the second ARP request carries the MAC address of the second VM and the first VM. IP address.
  • the working principle of the protocol stack determines that the second VM needs to learn and cache the IP address of the first VM and the first VM by sending a second ARP request and receiving an ARP query mechanism of the second ARP response.
  • the second VM sends a data packet to the first VM according to the correspondence.
  • the second vSwitch receives the second ARP request, extracts the MAC address of the second VM, creates a MAC address of the first VM according to the IP address of the first VM and the MAC address of the second VM, and sends the MAC address to the second VM.
  • the virtual network identification field of the MAC address of the second VM is a virtual network identification field of the MAC address of the first VM
  • the IP address of the first VM The associated network segment is used to create a private network number field of the MAC address of the first VM, and the last three bytes of the IP address of the first VM are used as an extended identifier field of the MAC address of the first VM.
  • the second VM receives the second ARP response, and sends a second data packet carrying the MAC address of the first VM to the second vSwitch.
  • the second VM After receiving the second ARP response, the second VM can cache the correspondence between the IP address of the first VM and the MAC of the first VM in the protocol stack, so that the second data packet can be sent according to the correspondence. Operation.
  • the second vSwitch receives the second data packet, extracts the MAC address of the first VM in the second data packet, determines, according to the MAC address of the first VM, that the first VM is deployed on the first computing node, and determines
  • the first VM and the second VM are deployed on different computing nodes, and the network identifier of the bearer network between the first computing node and the second computing node is added to the second data packet, and is sent to the bearer network.
  • the switch sends a second packet attached to the network identity of the bearer network.
  • the switch receives the second data packet attached to the network identifier of the bearer network, and forwards the second data packet of the network identifier of the bearer network to the first vSwitch according to the MAC address of the first VM in the second data packet.
  • the network identifier is removed (ie, the network identifier field is removed), and the first VM is forwarded according to the MAC address of the first VM in the second data packet.
  • the second data packet After the first vSwitch receives the second data packet of the network identifier of the bearer network, the network identifier is removed (ie, the network identifier field is removed), and the first VM is forwarded according to the MAC address of the first VM in the second data packet.
  • the second data packet is
  • the first VM receives the second data packet.
  • the first VM after receiving the second data packet, may determine that the first VM and the second VM are in communication in the current virtual network.
  • the cloud computing system constructs the MAC address of the VM by using the virtual network identifier of the virtual network where the VM is located and the IP address information of the VM, and does not need to encapsulate additional fields in the data packet to identify the virtual network. It is beneficial to reduce the length of the data packet between the VMs in the cloud computing system, and reduce the transmission processing time of the VM data packets, thereby facilitating the efficiency of forwarding data packets between the VMs in the cloud computing system.
  • FIG. 3 is a schematic flowchart of a packet processing method in a cloud computing system according to an embodiment of the present invention.
  • the method is applicable to the cloud computing system shown in FIG. 1B.
  • the method includes: sections 301 to 308, as follows:
  • the VMManager detects the VM VM creation request and forwards the VM creation request to the NetworkManager.
  • the NetworkManager receives the VM creation request, creates a virtual port of the VM, assigns a virtual network identifier of the virtual network to the virtual port, and assigns an IP address to the virtual port according to the network address segment of the virtual network.
  • the virtual network identifier may be allocated according to a policy that is sequentially allocated, or may be allocated according to a randomly assigned policy, which is not limited by the embodiment of the present invention.
  • the IP address of the virtual port is allocated in the network address segment and can also be assigned according to the order.
  • the NetworkManager creates a virtual network identifier field of the MAC address of the virtual port according to the virtual network identifier, and creates a private network number field of the MAC address of the virtual port according to the network segment to which the assigned IP address belongs, according to the last three of the assigned IP addresses.
  • the bytes create the extended identifier field of the MAC address of the virtual port.
  • the virtual network identifier field in the MAC address field of the VM is used to indicate the virtual network identifier information of the virtual network where the VM is located, and the private network number field in the MAC address field of the VM is used to indicate the network segment to which the VM IP address belongs. Private network segment number.
  • the MAC address is an address field of 48 bits
  • the virtual network identification field of the MAC address is the 26th bit of the MAC address to the 39 bits and one or more of the 42th bit to the 47th bit, the private network number field of the MAC address being the 25th bit and the 24th bit of the MAC address
  • the extended identifier field is the 0th bit to the 23rd bit of the MAC address
  • the 40th bit of the MAC address is 0, and the 41st bit is 1.
  • the virtual network identifier field in the MAC address can be up to 20 bits, that is, the domain address structure of the MAC address field provided by the embodiment of the present invention is theoretically It can support up to 2 20 virtual network network virtual network identifiers, which greatly expands the number of virtual network identifiers that cloud computing systems can support, and helps improve the virtual network capacity carrying capacity of cloud computing systems.
  • the communication process between the virtual machines in the cloud computing system uses unicast communication. Therefore, the 40th bit is 0, indicating that the MAC address is a unicast address.
  • the local MAC address type allows the user to perform the self in the standard protocol. Defined, so the 41st bit is 1, indicating that the type of the MAC address is a local MAC.
  • the 25th bit and the 24th bit of the MAC address represent the 10.xxx/8 private network segment number, and the 25th bit and the 24th bit 01 represent the 172.16-32.xx/16 private network segment number, the 25th bit.
  • the bit and the 24th bit 11 represent the 192.168.xx/24 private network segment number.
  • the network address segment is 192.168.1.0/24, and then, the IP address 192.168.1.1 is assigned from the network address segment, and the virtual network identifier is 1, then the MAC address is: 02:00:06:A8:01: 01.
  • NetworkManager sends a VM deployment resource allocation request to the VMManager that carries the port number of the virtual port.
  • the VMManager receives the VM deployment resource allocation request, allocates the deployment resource to the VM to be created, and sends a VM creation instruction carrying the deployment resource description information to the computing agent management module Computer Agent on the computing node according to the determined MAC address. And establish a communication link between the virtual network card of the VM and the vSwitch of the computing node.
  • the Computer Agent determines the deployment resource corresponding to the deployment resource description information, and creates the VM according to the deployment resource.
  • the cloud computing system constructs the MAC address of the VM by using the virtual network identifier of the virtual network where the VM is located and the IP address information of the VM, and does not need to encapsulate additional fields in the data packet to identify the virtual network.
  • the length of the packet reduces the transmission processing time of the VM data packet, which is beneficial to improve the forwarding efficiency of data packets between VMs in the cloud computing system.
  • the solution of the embodiment of the present invention is mainly introduced from the perspective of interaction between devices of the cloud computing system.
  • various devices such as computing nodes, control nodes, switches, etc.
  • computing nodes such as computing nodes, control nodes, switches, etc.
  • the present invention can be implemented in a combination of hardware or hardware and computer software in combination with the elements and algorithm steps of the various examples described in the embodiments disclosed herein. Whether a function is implemented in hardware or computer software to drive hardware depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
  • the embodiment of the present invention may divide a functional unit into a computing node or the like according to the foregoing method example.
  • each functional unit may be divided according to each function, or two or more functions may be integrated into one processing unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. It should be noted that the division of the unit in the embodiment of the present invention is schematic, and is only a logical function division, and the actual implementation may have another division manner.
  • FIG. 4A is a functional block diagram of a message processing apparatus in a cloud computing system according to an embodiment of the present invention.
  • the message processing apparatus 400 includes a processing unit 402, a receiving unit 403, and a transmitting unit 404.
  • the processing unit 402 is configured to control and manage the actions of the message processing apparatus.
  • the processing unit 402 is configured to support the message processing apparatus to perform steps 201-204, 206-2010, 2012 and/or in the text of FIG. 2A. Other processes of the described technology.
  • the receiving unit 403 and the transmitting unit 404 are configured to support communication between the message processing device and other devices in the cloud computing system, such as communication with the control node shown in FIG. 1B.
  • the message processing apparatus may further include a storage unit 401 for storing program codes and data of the message processing apparatus.
  • the processing unit 402 can be a processor or a controller, for example, a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), and an application-specific integrated circuit (Application-Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, transistor logic device, hardware component, or any combination thereof. It can implement or execute a knot Various exemplary logical blocks, modules and circuits are described in conjunction with the present disclosure.
  • the processor may also be a combination of computing functions, for example, including one or more microprocessor combinations, a combination of a DSP and a microprocessor, and the like.
  • the receiving unit 403 and the sending unit 404 may be a communication interface, a transceiver, a transceiver circuit, etc., wherein the communication interface is a collective name and may include one or more interfaces.
  • the storage unit 401 can be a memory.
  • the message processing apparatus may be the computing node shown in FIG. 4B (first calculation) node).
  • the computing node 410 is deployed with a first virtual machine VM and a first virtual switch vSwitch.
  • the computing node 410 includes a processor 412, a transceiver 413, and a memory 411.
  • the RTD Service server 610 can also include a bus 414.
  • the transceiver 413, the processor 412, and the memory 411 may be connected to each other through a bus 414.
  • the bus 414 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (abbreviated). EISA) bus and so on.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the bus 414 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in FIG. 4B, but it does not mean that there is only one bus or one type of bus.
  • FIG. 5A is a functional block diagram of a message processing apparatus according to an embodiment of the present invention.
  • the message processing apparatus is a control node in the cloud computing system, and the packet processing apparatus 500 includes a network.
  • the management module Network Manager 501 and the virtual machine management module VMManager 502 are used to support the message processing apparatus to perform steps 301-305 in FIG.
  • FIG. 5B is a schematic structural diagram of a control node in a cloud computing system according to an embodiment of the present invention.
  • the control node is deployed with a network management module Network Manager and a virtual machine management module VMManager.
  • the control node 510 includes: The processor 512, the transceiver 513, and the memory 511.
  • the control node 510 may further include a bus 514.
  • the transceiver 513, the processor 512, and the memory 511 may be connected to each other through a bus 514.
  • the bus 514 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (abbreviated). EISA) bus and so on.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the bus 514 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 5B, but it does not mean that there is only one bus
  • the embodiment of the invention further provides a computer program product comprising instructions which, when executed by a computer, perform some or all of the steps recited in any of the above method embodiments.
  • the computer program product can be a software installation package.
  • the disclosed apparatus may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical or otherwise.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold as a standalone product Or when used, it can be stored in a computer readable memory.
  • the technical solution of the present invention may contribute to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a memory.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing memory includes: a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk, and the like, which can store program codes.
  • ROM Read-Only Memory
  • RAM Random Access Memory

Landscapes

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

Abstract

本发明公开了一种云计算系统中的报文处理方法及设备,包括:第一计算节点上的第一vSwitch接收所述第一VM发送的地址解析协议ARP请求,所述ARP请求携带有所述第一VM的MAC地址和第二VM的互联网协议IP地址;提取所述第一VM的MAC地址,根据所述第一VM的MAC地址和所述第二VM的IP地址创建所述第二VM的MAC地址,向所述第一VM发送携带有所述第二VM的MAC地址的ARP响应。实施本发明实施例,有利于提高云计算系统中的VM之间数据报文的转发效率。

Description

云计算系统中的报文处理方法及设备 技术领域
本发明涉及计算机技术领域,尤其涉及一种云计算系统中的报文处理方法及设备。
背景技术
虚拟局域网(Virtual Local Area Network,VLAN)是一种通过将局域网的设备逻辑的而不是物理的划分成一个个网段,从而实现虚拟工作组的技术。随着大数据技术的发展以及海量数据的膨胀,服务器虚拟化技术的广泛部署增加了数据中心的计算密度,虚拟机本身不受物理计算环境的约束,可以在网络中无限制地将业务迁移到目的物理位置,能够满足业务的灵活性变更要求。
现有VLAN技术中要使交换机能够分辨不同VLAN的报文,需要在报文中添加VLAN的标识字段来表示VLAN标识,带有VLAN的标识字段的报文结构中,用于表示VLAN的标识的字段长度为12比特位,故而交换机通常可以划分4094个VLAN,取值范围为1-4094,随着云计算系统的业务能力的不断拓展,VLAN技术中的虚拟网络标识数量已难以满足业务需求。此外,这种通过增加额外标志字段来封装数据报文的方式增加了数据报文的数据传输量,降低了云计算系统中数据报文的转发效率。
发明内容
本发明提供一种云计算系统中的报文处理方法及设备,可以提高云计算系统中的VM之间数据报文的转发效率。
第一方面,本发明实施例提供了一种云计算系统中的报文处理方法,所述云计算系统包括第一计算节点,所述第一计算节点上部署有第一虚拟机VM和第一虚拟交换机vSwitch,所述方法包括:
所述第一vSwitch接收所述第一VM发送的地址解析协议ARP请求,所 述ARP请求携带有所述第一VM的媒体访问控制MAC地址和第二VM的互联网协议IP地址,所述第二VM和所述第一VM属于同一虚拟网络;
所述第一vSwitch提取所述第一VM的MAC地址,根据所述第一VM的MAC地址和所述第二VM的IP地址创建所述第二VM的MAC地址,其中,所述第一VM的MAC地址的虚拟网络标识字段作为所述第二VM的MAC地址的虚拟网络标识字段,所述第二VM的IP地址所属的网段用于创建所述第二VM的MAC地址的私有网络号字段,所述第二VM的IP地址的后三个字节作为所述第二VM的MAC地址的扩展标识符字段;
所述第一vSwitch向所述第一VM发送携带有所述第二VM的MAC地址的ARP响应。
由上可见,本发明实施例中,云计算系统利用VM所在的虚拟网络的虚拟网络标识和VM的IP地址信息构建了VM的MAC地址,无需在数据报文中封装额外的字段来标识虚拟网络,有利于减少云计算系统中的VM之间的数据报文的长度,减少VM数据报文的传输处理时长,从而有利于提高云计算系统中的VM之间数据报文的转发效率。
在一个可能的设计中,所述云计算系统还包括第二计算节点,所述第二计算节点上部署有所述第二VM和第二vSwitch,所述第一计算节点和所述第二计算节点通过由交换机组成的承载网络通信连接;所述第一vSwitch向所述第一VM发送携带有所述第二VM的MAC地址的ARP响应之后,所述方法还包括:
所述第一vSwitch接收所述第一VM发送的第一数据包,所述第一数据包携带有所述第二VM的MAC地址;
所述第一vSwitch根据所述第二VM的MAC地址确定所述第二VM部署在所述第二计算节点上,在所述第一数据包上添加所述承载网络的网络标识,通过所述交换机和所述第二vSwitch向所述第二VM发送所述第一数据包;
所述第一vSwitch接收所述第二VM在接收到所述第一数据包后发送的第二数据包,所述第二数据包包括所述承载网络的网络标识以及所述第一VM的MAC地址;
所述第一vSwitch去除所述承载网络的网络标识,根据所述第二数据包中的所述第一VM的MAC地址向所述第一VM转发所述第二数据包。
在一个可能的设计中,所述第一vSwitch提取所述第一VM的MAC地址,根据所述第一VM的MAC地址和所述第二VM的IP地址创建所述第二VM的MAC地址,包括:
所述第一vSwitch判断出所述第一VM和所述第二VM属于同一虚拟网络,提取所述第一VM的MAC地址,将所述第一VM的MAC地址的虚拟网络标识字段作为所述第二VM的MAC地址的虚拟网络标识字段;
所述第一vSwitch根据所述第二VM的IP地址所属的网段创建所述第二VM的MAC地址的私有网络号字段,将所述第二VM的IP地址的后三个字节作为所述第二VM的MAC地址的扩展标识符字段。
在一个可能的设计中,所述MAC地址为48比特位的地址字段,所述MAC地址的虚拟网络标识字段为MAC地址的第26比特位至第39比特位和第42比特位至第47比特位中的至少一个比特位,所述MAC地址的私有网络号字段为MAC地址的第25比特位和第24比特位,所述MAC地址的扩展标识符字段为MAC地址的第0比特位至第23比特位,所述MAC地址的第40比特位为0,第41比特位为1。
可见,本可能的设计中,MAC地址中的虚拟网络标识字段最多可以达到20个比特位,也就是说,相对于现有VLAN技术中仅能支持4094个虚拟网络标识,本发明实施例提供的MAC地址字段结构理论上最多可以支持220个不同的虚拟网络的虚拟网络标识,从而极大地拓展了云计算系统能够支持的虚拟网络标识的数量,有利于提高云计算系统的虚拟网络数量承载能力。
第二方面,本发明实施例提供了云计算系统中的报文处理方法,所述云计算系统包括控制节点,所述控制节点部署有网络管理模块Network Manager和虚拟机管理模块VMManager,所述方法包括:
所述NetworkManager接收所述VMManager发送的VM创建请求,创建VM的虚拟端口,并为所述虚拟端口分配待创建的VM所属的虚拟网络的虚拟网络标识和所述待创建的VM的IP地址;
所述NetworkManager根据所述虚拟网络标识创建所述虚拟端口的MAC地址的虚拟网络标识字段,根据所述分配的IP地址所属的网段创建所述虚拟端口的MAC地址的私有网络号字段,根据所述分配的IP地址的后三个字节创建所述虚拟网口的MAC地址的扩展标识符字段。
由上可见,本发明实施例中,云计算系统利用VM所在的虚拟网络的虚拟网络标识和VM的IP地址信息构建了VM的MAC地址,无需在数据报文中封装额外的字段来标识虚拟网络,有利于减少云计算系统中的VM之间的数据报文的长度,减少VM数据报文的传输处理时长,从而有利于提高云计算系统中的VM之间数据报文的转发效率。
在一个可能的设计中,所述NetworkManager根据所述分配的IP地址的后三个字节创建所述虚拟网口的MAC地址的扩展标识符字段之后,所述方法还包括:
所述NetworkManager向VMManager发送携带有所述虚拟端口的端口号的VM部署资源分配请求,所述VM部署资源分配请求用于指示所述VMManager为所述待创建的VM分配部署资源;
所述VMManager接收所述VM部署资源分配请求,为所述待创建的VM分配部署资源,并根据所述虚拟端口的MAC地址向计算节点发送携带有部署资源描述信息的VM创建指令,所述VM创建指令用于指示所述计算节点使用所述部署资源描述信息对应的部署资源创建VM。
在一个可能的设计中,所述MAC地址为48比特位的地址字段,所述MAC地址的虚拟网络标识字段为MAC地址的第26比特位至第39比特位和第42比特位至第47比特位中的一个或多个比特位,所述MAC地址的私有网络号字段为MAC地址的第25比特位和第24比特位,所述MAC地址的扩展标识符字段为MAC地址的第0比特位至第23比特位,所述MAC地址的第40比特位为0,第41比特位为1。
可见,本可能的设计中,MAC地址中的虚拟网络标识字段最多可以达到20个比特位,也就是说,相对于现有VLAN技术中仅能支持4094个虚拟网络标识,本发明实施例提供的MAC地址字段结构理论上最多可以支持220个不 同的虚拟网络的虚拟网络标识,从而极大地拓展了云计算系统能够支持的虚拟网络标识的数量,有利于提高云计算系统的虚拟网络数量承载能力。
第三方面,本发明实施例提供一种云计算系统的报文处理装置,该报文处理装置具有实现上述第一方面的方法设计中第一计算节点中的第一虚拟交换机vSwitch的行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,本发明实施例提供一种云计算系统的报文处理装置,该报文处理装置具有实现上述第二方面的方法设计中控制节点的行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面,本发明实施例提供一种第一计算节点,该第一计算节点部署有第一虚拟机VM和第一虚拟交换机vSwitch,该第一计算节点包括处理器,所述处理器被配置为支持第一计算节点执行上述第一方面的方法中相应的功能。进一步的,第一计算节点还可以包括通信接口。进一步的,第一计算节点还可以包括存储器,所述存储器用于与处理器耦合,其保存用于第一计算节点必要的程序指令和数据。
第六方面,本发明实施例提供一种控制节点,该控制节点部署有网络管理模块Network Manager和虚拟机管理模块VMManager,该控制节点包括处理器,所述处理器被配置为支持控制节点执行上述第二方面的方法中相应的功能。进一步的,控制节点还可以包括通信接口。进一步的,控制节点还可以包括存储器,所述存储器用于与处理器耦合,其保存用于控制节点必要的程序指令和数据。
第七方面,本发明实施例提供了一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,该计算机执行第一方面或第一方面的任一实现方式所提供的云计算系统中的报文处理方法。该计算机程序产品可以为一个软件安装包。
第八方面,本发明实施例提供了一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,该计算机执行第二方面或第 二方面的任一实现方式所提供的云计算系统中的报文处理方法。该计算机程序产品可以为一个软件安装包。
可以看出,本发明实施例中,云计算系统利用VM所在的虚拟网络的虚拟网络标识和VM的IP地址信息构建了VM的MAC地址,无需在数据报文中封装额外的字段来标识虚拟网络,有利于减少云计算系统中的VM之间的数据报文的长度,减少VM数据报文的传输处理时长,从而有利于提高云计算系统中的VM之间数据报文的转发效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是现有VLAN技术中MAC地址字段的结构示意图;
图1B是本发明实施例提供的一种示例云计算系统的系统架构图;
图2A是本发明实施例提供的一种云计算系统中的报文处理方法的流程示意图;
图2B是本发明实施例提供的一种VM的MAC地址的结构示意图;
图3是本发明实施例提供的一种云计算系统中的报文处理方法的流程示意图;
图4A是本发明实施例提供的一种报文处理装置的单元组成框图;
图4B是本发明实施例提供的一种计算节点的架构示意图;
图5A是本发明实施例提供的一种报文处理装置的单元组成框图;
图5B是本发明实施例提供的一种控制节点的架构示意图。
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行描述。
VLAN技术中,主机的MAC地址是指主机网卡的标识符,每一块网卡的 媒体访问控制(Media Access Control,MAC)地址都是惟一且固化在网卡上的。如图1A所示,MAC地址为48比特位的字段,前24比特位为组织唯一标志符(Organizationally Unique Identifier,OUI),后24比特位为扩展标识符,且MAC地址的第40比特位为0表示单播MAC地址,为1表示组播比特位,MAC地址的第41比特位为0表示全局MAC,全局MAC表示该MAC地址中含有厂商标识,为1表示本地MAC,本地MAC是指该MAC地址中没有厂商标识。
请参阅图1B,图1B是本发明实施例提供的一种示例云计算系统的系统架构图,该云计算系统包括核心交换机、汇聚交换机、计算节点、控制节点,核心交换机连接汇聚交换机,汇聚交换机用于连接计算节点和控制节点,计算节点用于部署虚拟机(Virtual Machine,VM)和虚拟交换机(Virtual Switch,vSwitch),控制节点用于部署网络管理模块NetworkManager和虚拟机管理模块VMManager。多个计算节点之间通过由交换机组成的承载网络实现通信连接。控制节点上部署有虚拟机管理模块(Virtual Machine Manager,VMManager)、网络管理模块Network Manager、网络数据库Network DB,计算节点上部署有虚拟交换机vSwitch、虚拟交换机代理模块vSwitch-Agent、虚拟机VM(如计算节点1上的VM1和VM3,计算节点2上的VM2和VM4)、虚拟机监视器Hypervisor、计算代理管理模块Computer Agent,NetworkManager负责虚拟网络业务的发放,比如:创建一个网络、子网、端口,并做为虚拟网络的控制面,vSwitch-Agent用来接收NetworkManager的连通性信息,然后下发相应的转发流表给该计算节点的vSwitch上该,该连通性信息包括当前计算节点的VM的媒体访问控制(Media Access Control,MAC)地址与虚拟网络之间的对应关系,即虚拟拓扑,且属于同一个虚拟网络的所有VM可以二层互通。
请参阅图2A,图2A是本发明实施例提供的一种云计算系统中的报文处理方法的流程示意图,本方法适用于云计算系统,该云计算系统包括第一计算节点、第二计算节点,第一计算接点部署有第一VM和第一vSwitch,第二计算接点部署有第二VM和第二vSwitch,且第一计算节点和第二计算节点通过 承载网络通信连接,第一VM和第二VM同属于第一虚拟网络。该方法包括:201~2013部分,具体如下:
201,第一VM发送第一地址转换协议(Address Resolution Protocol,ARP)请求,所述第一ARP请求携带有所述第一VM的MAC地址第二VM的互联网协议地址IP地址。
202,第一vSwitch接收第一ARP请求,提取所述第一VM的MAC地址,根据第一VM的MAC地址和第二VM的IP地址创建所述第二VM的MAC地址,并向第一VM发送携带有第二VM的MAC地址的第一ARP响应,其中,所述第一VM的MAC地址的虚拟网络标识字段作为所述第二VM的MAC地址的虚拟网络标识字段,所述第二VM的IP地址所属的网段用于创建所述第二VM的MAC地址的私有网络号字段,所述第二VM的IP地址的后三个字节作为所述第二VM的MAC地址的扩展标识符字段。
其中,VM的MAC地址字段中的虚拟网络标识字段用于表示VM所在的虚拟网络的虚拟网络标识信息,VM的MAC地址字段中的私有网络号字段用于表示VM的IP地址所属的网段的私有网段号。
在一个可能的示例中,如图2B所示,所述MAC地址为48比特位的地址字段,所述MAC地址的虚拟网络标识字段为MAC地址的第26比特位至第39比特位和第42比特位至第47比特位中的至少一个比特位,所述MAC地址的私有网络号字段为MAC地址的第25比特位和第24比特位,所述MAC地址的扩展标识符字段为MAC地址的第0比特位至第23比特位,所述MAC地址的第40比特位为0,第41比特位为1。
可见,本可能的示例中,MAC地址中的虚拟网络标识字段最多可以达到20个比特位,也就是说,相对于现有VLAN技术中仅能支持4094个虚拟网络标识,本发明实施例提供的MAC地址字段结构理论上最多可以支持220个不同的虚拟网络的虚拟网络标识,从而极大地拓展了云计算系统能够支持的虚拟网络标识的数量,有利于提高云计算系统的虚拟网络数量承载能力。
其中,由于云计算系统下虚拟机之间的通信流程采用单播方式通信,因此第40比特位为0,表示MAC地址为单播地址,由于本地MAC地址类型在标 准协议中是允许用户进行自定义的,因此第41比特位为1,表示MAC地址的类型为本地MAC。MAC地址的第25比特位和第24比特位00表示10.x.x.x/8私有网段号,第25比特位和第24比特位01表示172.16-32.x.x/16私有网段号,第25比特位和第24比特位11表示192.168.x.x/24私有网段号。比如:网络地址段是192.168.1.0/24,然后,从网络地址段中分配到了IP地址192.168.1.1,并且虚拟网络标识是1,那么得到MAC地址是:02:00:06:A8:01:01。
在一个可能的示例中,所述第一vSwitch提取所述第一VM的MAC地址,根据第一VM的MAC地址和第二VM的IP地址,创建所述第二VM的MAC地址的实现方式可以是:
所述第一vSwitch判断出所述第一VM和所述第二VM属于同一虚拟网络,提取所述第一VM的MAC地址,将所述第一VM的MAC地址的虚拟网络标识字段作为所述第二VM的MAC地址的虚拟网络标识字段;其中,属于统一虚拟网络的多个VM的虚拟网络标识是相同的。
所述第一vSwitch根据所述第二VM的IP地址所属的网段创建所述第二VM的MAC地址的私有网络号字段,将所述第二VM的IP地址的后三个字节作为所述第二VM的MAC地址的扩展标识符字段。
其中,第一vSwitch收到第一ARP请求后,将第一ARP请求转发给第一计算节点的第一vSwitch-Agent,所述第一vSwitch-Agent接收第一ARP请求后,根据第一VM的MAC地址确定第一VM所在的虚拟网络的虚拟网络号,查询第二VM的IP地址对应的虚拟端口是否存在,若不存在,则判断出第一VM和第二VM不属于同一个虚拟网络,并丢弃第一ARP请求;若存在,则判断出第一VM和第二VM属于同一个虚拟网络,并下发流表给第一vSwitch,所述流表用于指示所述第一vSwitch执行创建所述第二VM的MAC地址,并向第一VM发送携带有第二VM的MAC地址的ARP响应的操作。所述流表具体包括操作描述信息,该操作描述信息用于指示第一vSwitch执行创建所述第二VM的MAC地址,并向第一VM发送携带有第二VM的MAC地址的ARP响应的操作的描述信息。
203,第一VM接收第一ARP响应,向第一vSwitch发送携带有第二VM 的MAC地址的第一数据包。
其中,所述第一数据包还包括第一VM的IP地址。
204,第一vSwitch接收第一数据包,提取所述第一数据包中的第二VM的MAC地址,根据所述第二VM的MAC地址确定第二VM部署在第二计算节点上,确定所述第一VM和所述第二VM部署于不同的计算节点上,在第一数据包中附加上第一计算节点和第二计算节点之间的承载网络的网络标识,并向该承载网络中的交换机发送附加上承载网络的网络标识的第一数据包。
在一个可能的示例中,所述第一vSwitch根据所述第二VM的MAC地址确定第二VM部署在第二计算节点上的具体实现方式可以是:
所述第一vSwitch根据所述第二VM的MAC地址确定第二VM的虚拟网卡卡号,以所述第二VM的虚拟网卡卡号为查询标识,查询VM的虚拟网卡卡号与计算节点的标识信息之间的对应关系,确定第二VM的虚拟网卡卡号对应的计算节点为第二计算节点,从而确定第二VM部署在第二计算节点上。
其中,控制节点的VMManager在计算节点上创建VM时,VMManager向NetworkManager发送VM的虚拟网卡卡号和计算节点的标识信息之间的对应关系,NetworkManager将获取到的对应关系通知给计算节点的vSwitch-Agent,vSwtich-Agent再将该对应关系转发给vSwitch,从而vSwitch中存储有VM的虚拟网卡卡号和计算节点的标识信息之间的对应关系。
205,交换机接收附加上承载网络的网络标识的第一数据包,根据第一数据包中的第二VM的MAC地址向第二vSwitch转发附加上承载网络的网络标识的第一数据包。
206,第二vSwitch接收附加上承载网络的网络标识的第一数据包后,解开标识信息(即去除网络标识字段),根据第一数据包中的第二VM的MAC地址向第二VM转发第一数据包。
207,第二VM接收第一数据包,提取第一数据包中的第一VM的IP地址,发送第二ARP请求,所述第二ARP请求携带有第二VM的MAC地址和第一VM的IP地址。
由于第二VM的协议栈中预先没有缓存第一VM的IP地址和第一VM的 MAC之间的对应关系,协议栈的工作原理决定了第二VM需要通过发送第二ARP请求以及接收第二ARP响应的ARP问询机制来学习并缓存第一VM的IP地址和第一VM的MAC地址之间的对应关系,第二VM的协议栈中缓存了第一VM的MAC地址和IP地址之间的对应关系后,第二VM再根据该对应关系向第一VM发送数据报文。
208,第二vSwitch接收第二ARP请求,提取第二VM的MAC地址,根据第一VM的IP地址和第二VM的MAC地址,创建第一VM的MAC地址,并向第二VM发送携带有第一VM的MAC地址的第二ARP响应,其中,所述第二VM的MAC地址的虚拟网络标识字段作为所述第一VM的MAC地址的虚拟网络标识字段,所述第一VM的IP地址所属的网段用于创建所述第一VM的MAC地址的私有网络号字段,所述第一VM的IP地址的后三个字节作为所述第一VM的MAC地址的扩展标识符字段。
209,第二VM接收第二ARP响应,向第二vSwitch发送携带有第一VM的MAC地址的第二数据包。
其中,第二VM在接收到第二ARP响应后,能够在协议栈中缓存第一VM的IP地址和第一VM的MAC之间的对应关系,从而可以根据该对应关系执行发送第二数据包的操作。
2010,第二vSwitch接收第二数据包,提取所述第二数据包中的第一VM的MAC地址,根据所述第一VM的MAC地址确定第一VM部署在第一计算节点上,确定所述第一VM和所述第二VM部署于不同的计算节点上,在第二数据包中附加上第一计算节点和第二计算节点之间的承载网络的网络标识,并向该承载网络中的交换机发送附加上承载网络的网络标识的第二数据包。
2011,交换机接收附加上承载网络的网络标识的第二数据包,根据第二数据包中的第一VM的MAC地址向第一vSwitch转发附加上承载网络的网络标识的第二数据包。
2012,第一vSwitch接收附加上承载网络的网络标识的第二数据包后,解开网络标识(即去除网络标识字段),根据第二数据包中的第一VM的MAC地址向第一VM转发第二数据包。
2013,第一VM接收第二数据包。
其中,第一VM在接收到第二数据包后,可以确定第一VM与第二VM在当前虚拟网络中是连通的。
可以看出,本发明实施例中,云计算系统利用VM所在的虚拟网络的虚拟网络标识和VM的IP地址信息构建了VM的MAC地址,无需在数据报文中封装额外的字段来标识虚拟网络,有利于减少云计算系统中的VM之间的数据报文的长度,减少VM数据报文的传输处理时长,从而有利于提高云计算系统中的VM之间数据报文的转发效率。
请参阅图3,图3是本发明实施例提供的一种云计算系统中的报文处理方法的流程示意图,本方法适用于附图1B所示的云计算系统。该方法包括:301~308部分,具体如下:
在301部分,VMManager检测到虚拟机VM创建请求,向NetworkManager转发VM创建请求。
在302部分,NetworkManager接收VM创建请求,创建VM的虚拟端口,为所述虚拟端口分配虚拟网络的虚拟网络标识,根据虚拟网络的网络地址段为虚拟端口分配IP地址。
其中,虚拟网络标识可以按照顺序分配的策略进行分配,或者按照随机分配的策略进行分配,本发明实施例不做唯一限定。同理,虚拟端口的IP地址是网络地址段中也可以按照顺序分配的策略进行分配。
在303部分,NetworkManager根据虚拟网络标识创建虚拟端口的MAC地址的虚拟网络标识字段,根据分配的IP地址所属的网段创建虚拟端口的MAC地址的私有网络号字段,根据分配的IP地址的后三个字节创建虚拟端口的MAC地址的扩展标识符字段。
其中,VM的MAC地址字段中的虚拟网络标识字段用于表示VM所在的虚拟网络的虚拟网络标识信息,VM的MAC地址字段中的私有网络号字段用于表示VM的IP地址所属的网段的私有网段号。
在一个可能的示例中,如图2B所示,所述MAC地址为48比特位的地址字段,所述MAC地址的虚拟网络标识字段为MAC地址的第26比特位至第 39比特位和第42比特位至第47比特位中的一个或多个比特位,所述MAC地址的私有网络号字段为MAC地址的第25比特位和第24比特位,所述MAC地址的扩展标识符字段为MAC地址的第0比特位至第23比特位,所述MAC地址的第40比特位为0,第41比特位为1。
可见,MAC地址中的虚拟网络标识字段最多可以达到20个比特位,也就是说,相对于现有VLAN技术中仅能支持4094个虚拟网络标识,本发明实施例提供的MAC地址字段结构理论上最多可以支持220个不同的虚拟网络的虚拟网络标识,从而极大地拓展了云计算系统能够支持的虚拟网络标识的数量,有利于提高云计算系统的虚拟网络数量承载能力。
其中,由于云计算系统下虚拟机之间的通信流程采用单播方式通信,因此第40比特位为0,表示MAC地址为单播地址,由于本地MAC地址类型在标准协议中是允许用户进行自定义的,因此第41比特位为1,表示MAC地址的类型为本地MAC。MAC地址的第25比特位和第24比特位00表示10.x.x.x/8私有网段号,第25比特位和第24比特位01表示172.16-32.x.x/16私有网段号,第25比特位和第24比特位11表示192.168.x.x/24私有网段号。比如:网络地址段是192.168.1.0/24,然后,从网络地址段中分配到了IP地址192.168.1.1,并且虚拟网络标识是1,那么得到MAC地址是:02:00:06:A8:01:01。
在304部分,NetworkManager向VMManager发送携带有虚拟端口的端口号的VM部署资源分配请求。
在305部分,VMManager接收VM部署资源分配请求,为待创建的VM分配部署资源,并根据确定的MAC地址向计算节点上的计算代理管理模块Computer Agent发送携带有部署资源描述信息的VM创建指令,并建立VM的虚拟网卡与计算节点的vSwitch之间的通信链路。
在306部分,Computer Agent接收VM创建指令之后,确定部署资源描述信息对应的部署资源,并根据部署资源创建VM。
可以看出,本发明实施例中,云计算系统利用VM所在的虚拟网络的虚拟网络标识和VM的IP地址信息构建了VM的MAC地址,无需在数据报文中封装额外的字段来标识虚拟网络,有利于减少云计算系统中的VM之间的数据 报文的长度,减少VM数据报文的传输处理时长,从而有利于提高云计算系统中的VM之间数据报文的转发效率。
上述主要从云计算系统的各个设备之间交互的角度对本发明实施例的方案进行了介绍。可以理解的是,各个设备,例如计算节点、控制节点、交换机等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对计算节点等进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图4A,图4A是本发明实施例提供的一种云计算系统中的报文处理装置的功能单元框图。该报文处理装置400包括:处理单元402和接收单元403和发送单元404。处理单元402用于对报文处理装置的动作进行控制管理,例如,处理单元402用于支持报文处理装置执行图2A中的步骤201-204、206-2010、2012和/或用于本文所描述的技术的其它过程。接收单元403和发送单元404用于支持报文处理装置与云计算系统中其他设备之间的通信,例如与图1B中示出的控制节点之间的通信。报文处理装置还可以包括存储单元401,用于存储报文处理装置的程序代码和数据。
其中,处理单元402可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结 合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。接收单元403和发送单元404可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口。存储单元401可以是存储器。
当处理单元402为处理器,接收单元403和发送单元404为收发器,存储单元401为存储器时,本发明实施例所涉及的报文处理装置可以为图4B所示的计算节点(第一计算节点)。
请参阅图4B,该计算节点410上部署有第一虚拟机VM和第一虚拟交换机vSwitch,该计算节点410包括:处理器412、收发器413、存储器411。可选的,RTD Service服务器610还可以包括总线414。其中,收发器413、处理器412以及存储器411可以通过总线414相互连接;总线414可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。所述总线414可以分为地址总线、数据总线、控制总线等。为便于表示,图4B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
请参阅图5A,图5A是本发明实施例提供的一种报文处理装置的功能单元框图,所述报文处理装置为所述云计算系统中的控制节点,该报文处理装置500包括网络管理模块Network Manager501和虚拟机管理模块VMManager502,所述网络管理模块501和VMManager502用于支持报文处理装置执行图3中的步骤301-305。
请参阅图5B,图5B是本发明实施例提供的一种云计算系统中的控制节点的结构示意图,该控制节点部署有网络管理模块Network Manager和虚拟机管理模块VMManager,该控制节点510包括:处理器512、收发器513、存储器511。可选的,控制节点510还可以包括总线514。其中,收发器513、处理器512以及存储器511可以通过总线514相互连接;总线514可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。所述总线 514可以分为地址总线、数据总线、控制总线等。为便于表示,图5B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,该计算机执行上述任一方法实施例中记载的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (17)

  1. 一种云计算系统中的报文处理方法,其特征在于,所述云计算系统包括第一计算节点,所述第一计算节点上部署有第一虚拟机VM和第一虚拟交换机vSwitch,所述方法包括:
    所述第一vSwitch接收所述第一VM发送的地址解析协议ARP请求,所述ARP请求携带有所述第一VM的媒体访问控制MAC地址和第二VM的互联网协议IP地址,所述第二VM和所述第一VM属于同一虚拟网络;
    所述第一vSwitch提取所述第一VM的MAC地址,根据所述第一VM的MAC地址和所述第二VM的IP地址创建所述第二VM的MAC地址,其中,所述第一VM的MAC地址的虚拟网络标识字段作为所述第二VM的MAC地址的虚拟网络标识字段,所述第二VM的IP地址所属的网段用于创建所述第二VM的MAC地址的私有网络号字段,所述第二VM的IP地址的后三个字节作为所述第二VM的MAC地址的扩展标识符字段;
    所述第一vSwitch向所述第一VM发送携带有所述第二VM的MAC地址的ARP响应。
  2. 根据权利要求1所述的方法,其特征在于,所述云计算系统还包括第二计算节点,所述第二计算节点上部署有所述第二VM和第二vSwitch,所述第一计算节点和所述第二计算节点通过由交换机组成的承载网络通信连接;所述第一vSwitch向所述第一VM发送携带有所述第二VM的MAC地址的ARP响应之后,所述方法还包括:
    所述第一vSwitch接收所述第一VM发送的第一数据包,所述第一数据包携带有所述第二VM的MAC地址;
    所述第一vSwitch根据所述第二VM的MAC地址确定所述第二VM部署在所述第二计算节点上,在所述第一数据包上添加所述承载网络的网络标识,通过所述交换机和所述第二vSwitch向所述第二VM发送所述第一数据包;
    所述第一vSwitch接收所述第二VM在接收到所述第一数据包后发送的第二数据包,所述第二数据包包括所述承载网络的网络标识以及所述第一VM的MAC地址;
    所述第一vSwitch去除所述承载网络的网络标识,根据所述第二数据包中的所述第一VM的MAC地址向所述第一VM转发所述第二数据包。
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一vSwitch提取所述第一VM的MAC地址,根据所述第一VM的MAC地址和所述第二VM的IP地址创建所述第二VM的MAC地址,包括:
    所述第一vSwitch判断出所述第一VM和所述第二VM属于同一虚拟网络,提取所述第一VM的MAC地址,将所述第一VM的MAC地址的虚拟网络标识字段作为所述第二VM的MAC地址的虚拟网络标识字段;
    所述第一vSwitch根据所述第二VM的IP地址所属的网段创建所述第二VM的MAC地址的私有网络号字段,将所述第二VM的IP地址的后三个字节作为所述第二VM的MAC地址的扩展标识符字段。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述MAC地址为48比特位的地址字段,所述MAC地址的虚拟网络标识字段为MAC地址的第26比特位至第39比特位和第42比特位至第47比特位中的至少一个比特位,所述MAC地址的私有网络号字段为MAC地址的第25比特位和第24比特位,所述MAC地址的扩展标识符字段为MAC地址的第0比特位至第23比特位,所述MAC地址的第40比特位为0,第41比特位为1。
  5. 一种云计算系统中的报文处理方法,其特征在于,所述云计算系统包括控制节点,所述控制节点部署有网络管理模块Network Manager和虚拟机管理模块VMManager,所述方法包括:
    所述NetworkManager接收所述VMManager发送的VM创建请求,创建VM的虚拟端口,并为所述虚拟端口分配待创建的VM所属的虚拟网络的虚拟网络标识和所述待创建的VM的IP地址;
    所述NetworkManager根据所述虚拟网络标识创建所述虚拟端口的MAC地址的虚拟网络标识字段,根据所述分配的IP地址所属的网段创建所述虚拟端口的MAC地址的私有网络号字段,根据所述分配的IP地址的后三个字节创建所述虚拟网口的MAC地址的扩展标识符字段。
  6. 根据权利要求5所述的方法,其特征在于,所述NetworkManager根据 所述分配的IP地址的后三个字节创建所述虚拟网口的MAC地址的扩展标识符字段之后,所述方法还包括:
    所述NetworkManager向VMManager发送携带有所述虚拟端口的端口号的VM部署资源分配请求,所述VM部署资源分配请求用于指示所述VMManager为所述待创建的VM分配部署资源;
    所述VMManager接收所述VM部署资源分配请求,为所述待创建的VM分配部署资源,并根据所述虚拟端口的MAC地址向计算节点发送携带有部署资源描述信息的VM创建指令,所述VM创建指令用于指示所述计算节点使用所述部署资源描述信息对应的部署资源创建VM。
  7. 根据权利要求5或6所述的方法,其特征在于,所述MAC地址为48比特位的地址字段,所述MAC地址的虚拟网络标识字段为MAC地址的第26比特位至第39比特位和第42比特位至第47比特位中的一个或多个比特位,所述MAC地址的私有网络号字段为MAC地址的第25比特位和第24比特位,所述MAC地址的扩展标识符字段为MAC地址的第0比特位至第23比特位,所述MAC地址的第40比特位为0,第41比特位为1。
  8. 一种云计算系统的报文处理装置,其特征在于,所述装置部署在云计算系统中的第一计算节点,所述第一计算节点中还部署有第一虚拟机VM,所述装置包括接收单元、发送单元和处理单元,
    所述接收单元,用于接收所述第一VM发送的地址解析协议ARP请求,所述ARP请求携带有所述第一VM的媒体访问控制MAC地址和第二VM的互联网协议IP地址,所述第二VM和所述第一VM属于同一虚拟网络;
    所述处理单元,用于从所述接收单元接收的所述ARP请求中提取所述第一VM的MAC地址,根据所述第一VM的MAC地址和所述第二VM的IP地址创建所述第二VM的MAC地址,其中,所述第一VM的MAC地址的虚拟网络标识字段作为所述第二VM的MAC地址的虚拟网络标识字段,所述第二VM的IP地址所属的网段用于创建所述第二VM的MAC地址的私有网络号字段,所述第二VM的IP地址的后三个字节作为所述第二VM的MAC地址的扩展标识符字段;
    所述发送单元,用于向所述第一VM发送携带有所述第二VM的MAC地址的ARP响应。
  9. 根据权利要求8所述的装置,其特征在于,所述云计算系统还包括第二计算节点,所述第二计算节点上部署有所述第二VM和第二vSwitch,所述第一计算节点和所述第二计算节点通过由交换机组成的承载网络通信连接;
    所述接收单元,还用于接收所述第一VM发送的第一数据包,所述第一数据包携带所述第二VM的MAC地址;
    所述处理单元,还用于根据所述第二VM的MAC地址确定所述第二VM部署在所述第二计算节点上,在所述第一数据包上添加所述承载网络的网络标识;
    所述发送单元,还用于通过所述交换机和所述第二vSwitch向所述第二VM发送所述第一数据包;
    所述接收单元,还用于接收所述第二VM在接收到所述第一数据包后发送的第二数据包,所述第二数据包包括所述承载网络的网络标识以及所述第一VM的MAC地址;
    所述处理单元,还用于去除所述第二数据包携带的所述承载网络的网络标识,根据所述第二数据包中的所述第一VM的MAC地址向所述第一VM转发所述第二数据包。
  10. 根据权利要求8或9所述的装置,其特征在于,所述处理单元具体用于:判断出所述第一VM和所述第二VM属于同一虚拟网络,提取所述第一VM的MAC地址,将所述第一VM的MAC地址的虚拟网络标识字段作为所述第二VM的MAC地址的虚拟网络标识字段;以及用于根据所述第二VM的IP地址所属的网段创建所述第二VM的MAC地址的私有网络号字段,将所述第二VM的IP地址的后三个字节作为所述第二VM的MAC地址的扩展标识符字段。
  11. 根据权利要求8-10任一项所述的装置,其特征在于,所述MAC地址为48比特位的地址字段,所述MAC地址的虚拟网络标识字段为MAC地址的第26比特位至第39比特位和第42比特位至第47比特位中的至少一个比特位, 所述MAC地址的私有网络号字段为MAC地址的第25比特位和第24比特位,所述MAC地址的扩展标识符字段为MAC地址的第0比特位至第23比特位,所述MAC地址的第40比特位为0,第41比特位为1。
  12. 一种云计算系统的报文处理装置,其特征在于,所述报文处理装置为所述云计算系统中的控制节点,所述报文处理装置包括网络管理模块NetworkManager和虚拟机管理模块VMManager,所述虚拟机管理模块,用于向所述网络管理模块发送VM创建请求;
    所述网络管理模块,用于接收所述虚拟机管理模块发送的VM创建请求,创建VM的虚拟端口,并为所述虚拟端口分配待创建的VM所属的虚拟网络的虚拟网络标识和所述待创建的VM的IP地址;
    所述网络管理模块,还用于根据所述虚拟网络标识创建所述虚拟端口的MAC地址的虚拟网络标识字段,根据所述分配的IP地址所属的网段创建所述虚拟端口的MAC地址的私有网络号字段,根据所述分配的IP地址的后三个字节创建所述虚拟网口的MAC地址的扩展标识符字段。
  13. 根据权利要求12所述的装置,其特征在于,
    所述网络管理模块,还用于向所述虚拟机管理模块发送携带有所述虚拟端口的端口号的VM部署资源分配请求,所述VM部署资源分配请求用于指示所述虚拟机管理模块为所述待创建的VM分配部署资源;
    所述虚拟机管理模块,还用于接收所述VM部署资源分配请求,为所述待创建的VM分配部署资源,并根据所述虚拟端口的MAC地址向计算节点发送携带有部署资源描述信息的VM创建指令,所述VM创建指令用于指示所述计算节点使用所述部署资源描述信息对应的部署资源创建VM。
  14. 根据权利要求12或13所述的装置,其特征在于,所述MAC地址为48比特位的地址字段,所述MAC地址的虚拟网络标识字段为MAC地址的第26比特位至第39比特位和第42比特位至第47比特位中的一个或多个比特位,所述MAC地址的私有网络号字段为MAC地址的第25比特位和第24比特位,所述MAC地址的扩展标识符字段为MAC地址的第0比特位至第23比特位,所述MAC地址的第40比特位为0,第41比特位为1。
  15. 一种第一计算节点,其特征在于,所述第一计算节点上部署有第一虚拟机VM和第一虚拟交换机vSwitch,所述计算节点包括处理器、通信接口、存储器和总线,所述处理器、所述通信接口和所述存储器通过所述总线完成相互间的通信;
    所述存储器存储有可执行程序代码;
    所述处理器用于调用所述存储器中的可执行程序代码,执行如权利要求1至权利要求4任一项所描述的方法。
  16. 一种控制节点,其特征在于,所述控制节点部署有网络管理模块Network Manager和虚拟机管理模块VMManager,所述控制节点包括处理器、通信接口、存储器和总线,所述处理器、所述通信接口和所述存储器通过所述总线完成相互间的通信;
    所述存储器存储有可执行程序代码;
    所述处理器用于调用所述存储器中的可执行程序代码,执行如权利要求5和权利要求7任一项所描述的方法。
  17. 一种云计算系统,其特征在于,包括如权利要求15所述的第一计算节点和如权利要求16所述的控制节点。
PCT/CN2016/109044 2016-12-08 2016-12-08 云计算系统中的报文处理方法及设备 WO2018103043A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2016/109044 WO2018103043A1 (zh) 2016-12-08 2016-12-08 云计算系统中的报文处理方法及设备
CN201680091420.2A CN110063045B (zh) 2016-12-08 2016-12-08 云计算系统中的报文处理方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/109044 WO2018103043A1 (zh) 2016-12-08 2016-12-08 云计算系统中的报文处理方法及设备

Publications (1)

Publication Number Publication Date
WO2018103043A1 true WO2018103043A1 (zh) 2018-06-14

Family

ID=62490641

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/109044 WO2018103043A1 (zh) 2016-12-08 2016-12-08 云计算系统中的报文处理方法及设备

Country Status (2)

Country Link
CN (1) CN110063045B (zh)
WO (1) WO2018103043A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111163187A (zh) * 2019-12-31 2020-05-15 奇安信科技集团股份有限公司 虚拟机网络端口的mac地址生成方法和装置
CN111190685A (zh) * 2018-11-15 2020-05-22 中国移动通信有限公司研究院 虚拟机数量测试系统、方法、装置、电子设备及存储介质
CN111510310A (zh) * 2019-01-30 2020-08-07 顺丰科技有限公司 公有云架构下的网络模式实现方法和装置
WO2022083464A1 (zh) * 2020-10-19 2022-04-28 中兴通讯股份有限公司 数据处理方法、装置及系统,计算机设备和计算机可读存储介质
CN117675693A (zh) * 2024-01-08 2024-03-08 北京瑞和云图科技有限公司 网络流量处理方法、装置、设备及计算机可读存储介质
CN117675694A (zh) * 2024-01-08 2024-03-08 北京瑞和云图科技有限公司 网络流量处理方法、装置、设备及计算机可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448815B (zh) * 2021-12-27 2023-11-03 天翼云科技有限公司 基于网络拓扑的cdn节点数据生成方法、装置及计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271082A (zh) * 2010-06-03 2011-12-07 富士通株式会社 用于设置虚拟局域网的交换装置和方法
CN102577257A (zh) * 2011-04-27 2012-07-11 华为技术有限公司 一种实现虚拟局域网标识转换的方法及装置
US8923149B2 (en) * 2012-04-09 2014-12-30 Futurewei Technologies, Inc. L3 gateway for VXLAN
US8929377B2 (en) * 2011-03-15 2015-01-06 Futurewei Technologies, Inc. Systems and methods for automatic rack detection
CN106034060A (zh) * 2015-03-09 2016-10-19 中兴通讯股份有限公司 一种实现虚拟网络的方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075591A (zh) * 2010-12-21 2011-05-25 华为技术有限公司 获取介质访问控制地址的方法、装置和系统
CN102457439B (zh) * 2011-12-07 2014-05-28 中标软件有限公司 一种云计算系统的虚拟交换系统及其虚拟交换方法
US8964735B2 (en) * 2012-05-18 2015-02-24 Rackspace Us, Inc. Translating media access control (MAC) addresses in a network hierarchy
CN102710814B (zh) * 2012-06-21 2016-03-30 北京奇虎科技有限公司 虚拟机ip地址的控制方法及装置
CN103718527B (zh) * 2013-03-30 2017-01-18 华为技术有限公司 一种通信安全处理方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271082A (zh) * 2010-06-03 2011-12-07 富士通株式会社 用于设置虚拟局域网的交换装置和方法
US8929377B2 (en) * 2011-03-15 2015-01-06 Futurewei Technologies, Inc. Systems and methods for automatic rack detection
CN102577257A (zh) * 2011-04-27 2012-07-11 华为技术有限公司 一种实现虚拟局域网标识转换的方法及装置
US8923149B2 (en) * 2012-04-09 2014-12-30 Futurewei Technologies, Inc. L3 gateway for VXLAN
CN106034060A (zh) * 2015-03-09 2016-10-19 中兴通讯股份有限公司 一种实现虚拟网络的方法及系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190685A (zh) * 2018-11-15 2020-05-22 中国移动通信有限公司研究院 虚拟机数量测试系统、方法、装置、电子设备及存储介质
CN111190685B (zh) * 2018-11-15 2023-07-21 中国移动通信有限公司研究院 虚拟机数量测试系统、方法、装置、电子设备及存储介质
CN111510310A (zh) * 2019-01-30 2020-08-07 顺丰科技有限公司 公有云架构下的网络模式实现方法和装置
CN111163187A (zh) * 2019-12-31 2020-05-15 奇安信科技集团股份有限公司 虚拟机网络端口的mac地址生成方法和装置
CN111163187B (zh) * 2019-12-31 2022-08-16 奇安信科技集团股份有限公司 虚拟机网络端口的mac地址生成方法和装置
WO2022083464A1 (zh) * 2020-10-19 2022-04-28 中兴通讯股份有限公司 数据处理方法、装置及系统,计算机设备和计算机可读存储介质
CN117675693A (zh) * 2024-01-08 2024-03-08 北京瑞和云图科技有限公司 网络流量处理方法、装置、设备及计算机可读存储介质
CN117675694A (zh) * 2024-01-08 2024-03-08 北京瑞和云图科技有限公司 网络流量处理方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN110063045B (zh) 2020-09-08
CN110063045A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
WO2018103043A1 (zh) 云计算系统中的报文处理方法及设备
US11190375B2 (en) Data packet processing method, host, and system
JP6605713B2 (ja) クラウドコンピューティングシステムにおけるパケット処理方法、ホスト及びシステム
JP6899445B2 (ja) 高性能コンピューティング環境においてサブネットアドミニストレータアクセスの必要性を低減するために同種のファブリック属性を提供するシステムおよび方法
WO2018137369A1 (zh) 混合云管理方法、装置和计算设备
JP6957451B2 (ja) 高性能コンピューティング環境での線形転送テーブル(lft)探索のためにグローバルルートヘッダ(grh)におけるサブネットプレフィックス値を用いるためのシステムおよび方法
WO2017113306A1 (zh) 可扩展虚拟局域网报文发送方法、计算机设备和可读介质
WO2015149253A1 (zh) 数据中心的虚拟网络管理方法及数据中心系统
JP6475704B2 (ja) 適応オーバーレイネットワーキング
US11522763B2 (en) Agent-based network scanning in software-defined networking (SDN) environments
US10530656B2 (en) Traffic replication in software-defined networking (SDN) environments
CN112702252A (zh) 一种报文处理方法、系统及相关设备
US20130024553A1 (en) Location independent dynamic IP address assignment
EP3125504B1 (en) Resource allocation method, packet communication method and device
US8929255B2 (en) System and method for input/output virtualization using virtualized switch aggregation zones
WO2017113300A1 (zh) 路由确定方法、网络配置方法以及相关装置
WO2014209455A1 (en) Method and system for uniform gateway access in a virtualized layer-2 network domain
WO2018019092A1 (zh) 一种网络中vlan id分配的方法及控制器
WO2014079005A1 (zh) Mac地址强制转发装置及方法
CN114338606B (zh) 一种公有云的网络配置方法及相关设备
EP4163787A1 (en) Automatic policy configuration for packet flows
CN106254154B (zh) 一种资源共享方法和装置
CN111294268B (zh) 避免ip地址冲突的方法及装置
US12003417B2 (en) Communication method and apparatus
WO2015081534A1 (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: 16923527

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: 16923527

Country of ref document: EP

Kind code of ref document: A1