WO2015149563A1 - 通信方法、系统、资源池管理系统、交换机和控制装置 - Google Patents
通信方法、系统、资源池管理系统、交换机和控制装置 Download PDFInfo
- Publication number
- WO2015149563A1 WO2015149563A1 PCT/CN2014/095739 CN2014095739W WO2015149563A1 WO 2015149563 A1 WO2015149563 A1 WO 2015149563A1 CN 2014095739 W CN2014095739 W CN 2014095739W WO 2015149563 A1 WO2015149563 A1 WO 2015149563A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual machine
- network
- packet
- communication
- switch
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Definitions
- the present disclosure relates to the field of network communication technologies, and in particular, to a software defined network (SDN) communication method, system, resource pool management system, switch, and control device.
- SDN software defined network
- SDN Software-Defined Net working
- network control and forwarding are separated and processed by proprietary devices.
- Network forwarding is done by a proprietary SDN switch based on OpenFlow.
- the control function of the network is completed by the SDN controller based on OpenFlow, and the controller completes the calculation of the basic functions of the network, such as topology management, flow table management, and device configuration.
- FIG 1 shows an example of the implementation of the SDN network architecture in the prior art.
- the existing SDN communication working mechanism is as shown in Figure 1.
- the network consists of three Openflow switches, referred to as OF switches.
- the three OF switches are controlled by an SDN controller through the Openflow protocol.
- the OF switch 1 and the OF switch 3 serve as access switches, respectively accessing two hosts A and B.
- the OF switch 2 is connected as an aggregation switch to the SDN controller.
- the host A physical server or virtual machine accessing the network proposes communication to the SDN network
- it is required to communicate with the host B.
- the OF switch 1 determines that the request packet is received for the first time, the packet is first.
- the packet is forwarded to the SDN controller, also known as packet_in.
- the SDN controller After that, the SDN controller generates a flow table according to the first packet.
- the specific manner is: after receiving the first packet information, the SDN controller determines the data packet according to the quintuple information (including the destination MAC address, the destination IP address, and the like).
- the destination receiving end is host B. If the location of the host B is already stored in the SDN controller, the end-to-end flow table of the host A to the host B is calculated and sent to the OF switch 3 on the path. Otherwise, the SDN controller broadcasts an ARP message to the entire network to search for the host B. The ARP broadcast is responded by the OF switch 3 and fed back to the SDN controller.
- the SDN controller generates a flow table hop by hop according to the topology information, that is, the OF switch 1: the port corresponding to the host A to the port where the OF switch 2 is located; the OF switch 2: the port corresponding to the OF switch 1 to the port where the OF switch 3 is located; On switch 3, the corresponding port of the OF switch 2 is connected to the port of the host B.
- a total of three flow tables are sent to the OF switches 1, 2, and 3.
- the switch sends a large number of packet_in messages to the SDN controller, which limits the performance of the SDN controller and reduces the network scale.
- the SDN controller In the mechanism in which the SDN controller broadcasts to the entire network, the SDN controller generates a large number of broadcast packets, which causes waste of network resources, puts pressure on the resources of the network and the controller, and reduces the network scale.
- the cloud computing data center resource pool management system (such as Openstack, VMWare, Microsoft, Citrix, etc.) is out of line with the data center network. For example, the operation information when the resource pool is created, modified, or deleted by the host cannot be delivered to the network.
- the purpose of the technical solution of the present disclosure is to provide an SDN communication method, system, resource pool management system, switch, and control device, which can avoid ARP broadcast sent by the SDN controller and reduce packet_in messages sent to the SDN controller.
- the present disclosure provides a communication method of a software-defined network for a controller, wherein the communication method includes:
- the network attribute is obtained from The obtained tenant network topology information is translated into a flow table
- the method further includes: establishing a logical tunnel between the switches corresponding to the virtual machine, so that the corresponding switch is logically connected.
- the method further includes: the switch controlling the first virtual machine and the second according to the flow table.
- Communication between virtual machines including:
- the packet is converted into a second packet_in message.
- the communication method further includes:
- the tenant network topology information is translated into a flow table
- the end-to-end path is calculated according to the information of the server host corresponding to the first virtual machine and the second virtual machine, respectively, to form a relationship between the first virtual machine and the second virtual machine.
- the flow table is sent to the switch corresponding to the first virtual machine and the second virtual machine respectively.
- the network attribute of the virtual machine configured by the resource pool management system in the step of acquiring the network attribute of the virtual machine configured by the resource pool management system according to the user's operation on the network resource pool, the network attribute The network information table is created by the resource pool management system according to the network attribute.
- the tenant network topology information includes tenant subnet segment interworking policy information, location information of a server host where the virtual machine is located, and information of a switch connected to the virtual machine, where the subnet segment
- the interworking policy information is pre-configured by the user through the resource pool management system.
- the network attribute includes an IP address, a VLAN ID, a VXLAN ID, a tunnel ID, a VRF ID, and a server where the virtual machine is located, configured by the resource pool management system according to a user operation.
- Host information physical switch port to which the server host is connected, and tenant network topology information.
- the present disclosure also provides a control device for a software-defined network, including a controller, wherein the controller includes:
- a data receiving module configured to acquire a network attribute of a virtual machine configured by the resource pool management system according to a user operation on the network resource pool;
- a data processing module configured to translate tenant network topology information obtained from the network attribute into a flow table when the first communication between the first virtual machine and the second virtual machine is performed;
- a data transmission module configured to send the flow table to a switch corresponding to the virtual machine, so that when the switch determines, according to the flow table, that the first virtual machine cannot communicate with the second virtual machine, In one communication and subsequent communication, the packet between the first virtual machine and the second virtual machine is directly discarded.
- the controller further includes:
- the resource establishing module is configured to establish a logical tunnel between the switches corresponding to the virtual machine, so that the corresponding switch is connected.
- the data receiving module is further configured to: receive a sent message sent by the switch, where the data processing is performed when the sent message is the first packet_in message
- the module is started.
- the first packet_in packet is obtained by converting the packet when the switch receives the packet that the first virtual machine communicates with the second virtual machine for the first time.
- the controller further includes:
- the path calculation module is configured to calculate an end-to-end path according to the information of the server host corresponding to the first virtual machine and the second virtual machine, and form a first a flow table between the virtual machine and the second virtual machine, and sent to the switch corresponding to the first virtual machine and the second virtual machine respectively; wherein when the switch receives the first virtual machine to communicate with the second virtual machine for the first time And determining, when the first virtual machine and the second virtual machine do not have the matching flow table, converting the message into a second packet_in message and sending the packet to the data receiving module.
- the data receiving module acquires a network information table from the resource pool management system, the network attribute is recorded in the network information table, and the network information table is described by The resource pool management system is created based on the network attributes.
- the tenant network topology information includes tenant subnet segment interworking policy information, location information of a server host where the virtual machine is located, and information of a switch connected to the virtual machine, where the subnet segment
- the interworking policy information is pre-configured by the user through the resource pool management system.
- the network attribute includes an IP address, a VLAN ID, a VXLAN ID, a tunnel ID, a VRF ID, and a server host where the virtual machine is located according to the operation of the user by the resource pool management system.
- Information physical switch ports connected to the server host, and tenant network topology information.
- the present disclosure also provides another communication method of a software-defined network for a resource pool management system, wherein the communication method includes:
- the tenant network topology information is translated into a flow table, and the flow table is delivered to the switch corresponding to the virtual machine, so that when the switch determines that the first virtual machine cannot communicate with the second virtual machine according to the flow table, In the first communication and the subsequent communication, the packet between the first virtual machine and the second virtual machine is directly discarded.
- the step of configuring a virtual machine according to the operation of the network resource pool by the user, and configuring the network resource for the virtual machine includes:
- the physics consists of multiple server hosts and switches In the network resource, create the same number of VMs and configure corresponding network resources on the physical ports and logical ports of at least one of the server hosts.
- the method further includes:
- the disclosure also provides a resource pool management system, including:
- a resource management module configured to configure a virtual machine according to a user operation on a network resource pool, and configure a network resource for the virtual machine
- An attribute generating module configured to generate a network attribute according to the information of the network resource
- An information sending module configured to send the network attribute to a controller, to enable the controller to obtain tenant network topology information from the network attribute, and to communicate for the first time between the first virtual machine and the second virtual machine
- the tenant network topology information can be translated into a flow table, and the flow table is sent to the switch corresponding to the virtual machine, so that when the switch determines the first virtual machine and the second according to the flow table, When the virtual machines cannot communicate with each other, in the first communication and subsequent communication, the packets between the first virtual machine and the second virtual machine are directly discarded.
- the resource management module includes:
- a computing resource management unit configured to configure, according to a user operation on the network resource pool, a virtual machine corresponding to the operation in the resource pool;
- a network resource management unit configured to create the same number of physical network resources composed of a plurality of server hosts and switches, and physical ports and logical ports of at least one of the server hosts, according to the virtual machine configured by the resource pool Virtual machine and configure the corresponding network resources.
- the present disclosure also provides another communication method of a software-defined network for a switch, wherein the communication method includes:
- the packet between the first virtual machine and the second virtual machine is directly discarded.
- the method further includes:
- the method further includes:
- the packet is sent to the switch corresponding to the second virtual machine;
- the packet is converted into a second packet_in message and sent to the controller, so that the controller acquires the
- the second packet_in packet calculates a flow-to-path according to the information of the first virtual machine and the second virtual machine corresponding to the server host, and forms a flow table between the first virtual machine and the second virtual machine.
- the present disclosure also provides a switch comprising:
- a packet obtaining module configured to receive a message when the first virtual machine communicates with the second virtual machine
- a matching module configured to acquire, from the controller, a flow table configured to enable the resource pool management system to perform virtual machine communication according to a user operation on the network resource pool, perform matching according to the flow table, and obtain a matching result, where the flow table is obtained. Generating information for the controller based on the network resources of the virtual machine;
- the first packet processing module is configured to: when the first virtual machine and the second virtual machine cannot communicate according to the matching result, directly discard the first virtual machine and the second virtual machine in the first communication and the subsequent communication The message between.
- the switch further includes:
- a determining module configured to determine whether the first virtual machine is in communication with the second virtual machine for the first time
- the message conversion module converts the message into a first packet in message and sends it to the controller when it is the first communication; when it is not the first communication, the message is sent to the message conversion module The matching module.
- the switch further includes:
- a second packet processing unit configured to: when the first virtual machine and the second virtual machine are intercommunicated according to the matching result, send the message to a switch corresponding to the second virtual machine;
- a third packet processing unit configured to: when the flow table is not matched by the first virtual machine and the second virtual machine according to the matching result, convert the packet into a second packet_in message and send the packet to the controller And causing the controller to obtain the second packet_in packet, and calculate an end-to-end path according to the information of the first virtual machine and the second virtual machine respectively corresponding to the server host, to form a flow table between the first virtual machine and the second virtual machine.
- the present disclosure also provides a communication system of a software-defined network, including a plurality of server hosts, further comprising a control device as described above, a resource pool management system as described above, and a switch as described above, wherein each The server host is connected to one of the switches, the switch and the control device, and the control device is connected to the resource pool management system.
- the controller masters the entire network topology according to the network attributes of the received virtual machine.
- the controller broadcasts ARP messages to the entire network and allows the switch to store the flow table and switch when the two virtual machines communicate for the first time.
- the flow table it is possible to directly determine that the two virtual machines cannot communicate, and directly discard the packets between the two virtual machines.
- the packet_in packet sent to the SDN controller when the two virtual machines cannot communicate is reduced. Make full use of the network resources in the SDN, alleviate the resource pressure of the network and controller.
- FIG. 1 is a schematic structural diagram of an example of a prior art SDN network architecture
- FIG. 2 is a schematic structural diagram of a communication system for SDN according to an embodiment of the present disclosure
- FIG. 3 is a schematic diagram showing the structure of a resource pool management system and its connection relationship with various parts in the present disclosure
- FIG. 4 is a schematic diagram showing the structure of the controller and its connection relationship with each part in the present disclosure
- Figure 5 is a schematic diagram showing the structure of the switch and its connection relationship with each part in the present disclosure
- FIG. 6 is a schematic flowchart of a method for creating a network resource by using a communication method of a communication system according to the present disclosure
- FIG. 7 is a schematic flow chart of modifying or deleting network resources by using a communication method of a communication system according to the present disclosure
- FIG. 8 is a schematic flowchart diagram of a communication method according to a first embodiment of the present disclosure.
- FIG. 9 is a schematic flowchart diagram of a communication method according to a second embodiment of the present disclosure.
- FIG. 10 is a schematic flowchart diagram of a communication method according to a third embodiment of the present disclosure.
- the communication method of the SDN according to the embodiment of the present disclosure is for a controller, including the steps:
- the tenant network topology information obtained from the network attribute is translated into a flow table
- the resource pool management system sends the network attribute of the network resource configured by the user virtual machine to the controller, and the flow obtained by the controller translates the tenant network topology information obtained from the network attribute.
- the table is sent to the switch, so that the switch controls communication between the first virtual machine and the second virtual machine according to the flow table. For example, when the first virtual machine communicates with the second virtual machine, the switch matches the saved flow table to confirm whether the network segment between the first virtual machine and the second virtual machine can communicate with each other.
- the communication between the two virtual machines is performed. If the matching flow table determines that the communication cannot be performed, the communication between the two virtual machines is directly discarded. If there is no flow table that can be matched, the communication between the two virtual machines is reported.
- the message is converted into a packet_in message and sent to the controller.
- the controller calculates the end-to-end path according to the network information table and sends it to the corresponding switch.
- the controller grasps the entire network topology according to the network attribute of the received virtual machine.
- the controller broadcasts an ARP message to the entire network and makes the switch
- the flow table is stored, and the switch can directly determine that the two virtual machines cannot communicate according to the flow table, thereby directly discarding the packets between the two virtual machines.
- the switch reduces the sending to the virtual machine.
- the packet_in message of the SDN controller enables the network resources in the SDN to be fully utilized, thereby alleviating the resource pressure of the network and the controller.
- the foregoing tenant network topology information includes the tenant subnet segment interworking policy information, the location information of the server host where the virtual machine is located, and the information of the switch connected to the virtual machine, where the subnet segment interworking policy information is passed by the user.
- the resource pool management system is pre-configured.
- a communication system for SDN of the present disclosure embodiment includes a resource pool management system 10, a controller 20, a switch 30, and a server host 40.
- the resource pool management system 10 is connected to the client 50.
- the client 50 can create, modify, or delete the used network resources through the resource pool management system 10;
- the controller 20 is connected to the resource pool management system 10 and connected to the switch 30.
- the server host 40 is respectively connected to a switch 30.
- the resource pool management system 10 includes:
- a resource management module configured to configure a virtual machine according to a user operation on a network resource pool, and configure a network resource for the virtual machine
- An attribute generating module configured to generate a network attribute according to the information of the network resource
- An information sending module configured to send the network attribute to the controller 20, to enable the controller 20 to obtain tenant network topology information from the network attribute, and first between the first virtual machine and the second virtual machine
- the tenant network topology information can be translated into a flow table, and the flow table is sent to the switch 30 corresponding to the virtual machine, so that the virtual machines communicate according to the flow table.
- the switch determines that the first virtual machine cannot communicate with the second virtual machine according to the flow table, directly discarding the first virtual machine and the second virtual machine in the first communication and the subsequent communication. Message between.
- the resource management module includes:
- a computing resource management unit configured to configure, according to a user operation on the network resource pool, a virtual machine corresponding to the operation in the resource pool;
- a network resource management unit configured to create the same number of physical network resources composed of a plurality of server hosts and switches, and physical ports and logical ports of at least one of the server hosts, according to the virtual machine configured by the resource pool Virtual machine and configure the corresponding network resources.
- the resource pool management system 10 of the above-mentioned structure provides an operation management interface for the client 50. Through the operation management interface, the client 50 can apply for creating, modifying, and deleting the network resources to which the user belongs.
- the resource pool management system 10 mentioned above configures a virtual machine for a user, including creating, modifying, and deleting corresponding virtual machines and network resources. After the operation request of the client 50 on the operation management interface is approved, the computing resource management unit of the resource pool management system 10 configures the virtual machine corresponding to the operation in the resource pool according to the operation of the network resource pool on the operation management interface.
- the management unit enables the network resource management unit to create the same number of virtual machines under the physical ports and logical ports of one or more server hosts according to the virtual machines configured in the resource pool, and configure corresponding virtual machines for the virtual machines.
- a network resource generates a logical network for the client and generates a virtual machine on the port of the server host 40.
- the operation of the client is used to create a virtual machine.
- FIG. 2 for the first user end (tenant 1), the physical port of the server host 40 connected to the switch A, the switch B, and the switch C respectively.
- Virtual machines VM1 to VM3 are created on the logical port (the virtual machine of tenant 1 is represented by a horizontal fill line in FIG. 2); for the second user (tenant 2), also on switch A, switch B, and switch C, respectively.
- Virtual machines VM1 to VM3 are created on the physical port and logical port of the connected server host 40 (the virtual machine of tenant 1 is indicated by a vertical fill line in FIG. 2).
- controller 20 may establish a logical tunnel between the switches corresponding to the virtual machine for logically connecting the corresponding switches, such as the dotted line connection line of FIG. 2 .
- the resource pool management system 10 configures network resources for the virtual machines corresponding to the user end, and the network resources include: an IP address, a VLAN ID, a VXLAN ID, a tunnel ID, a VRF ID, information of a server host where the virtual machine is located, The physical switch port to which the server host is connected, and the tenant network topology information.
- the user terminal can configure an access policy between the same network segment or the inter-network segment virtual machine through the operation management interface of the resource pool management system 10 to form a subnet segment interworking policy information, and the subnet segment interworking policy information and the virtual machine.
- the combination of the location information of the server host and the information of the switch connected to the virtual machine constitutes the tenant network topology information
- the combination of the tenant network topology information and the above information constitutes a network attribute of the virtual machine.
- the resource pool management system 10 records the network attributes in a network information table, that is, records the information of the server host 40 where the virtual machine is located corresponding to the client, and the server host 40 corresponds to the network information table.
- Information of the switch 30, connection information between the corresponding switches 30, and access policy information (subnet segment interworking policy information).
- the content saved in the network information table is as shown in Table 1 below:
- the above content saved in the network information table is merely an example, and is not limited to including only the content.
- the data processing module sends a network information table including the above to the controller 20, in conjunction with FIG. 4, and referring to FIG. 2, the controller 20 includes:
- a data receiving module configured to acquire a network attribute of the virtual machine configured by the resource pool management system 10 according to the operation of the network resource pool by the user;
- a data processing module configured to translate tenant network topology information obtained from the network attribute into a flow table when the first communication between the first virtual machine and the second virtual machine is performed;
- the data transmission module is configured to send the flow table to the switch 30 corresponding to the virtual machine, so that the switch 30 controls communication between the first virtual machine and the second virtual machine according to the flow table. Specifically, when the switch determines that the first virtual machine cannot communicate with the second virtual machine according to the flow table, directly discarding the first virtual machine and the second virtual machine in the first communication and the subsequent communication. Message between.
- the controller further includes:
- the resource establishing module is configured to establish a logical tunnel between the switches corresponding to the virtual machine, so that the corresponding switch 30 is connected.
- the data receiving module is further configured to: receive the sent message sent by the switch, where the data processing module starts when the sent message is the first packet_in message; the first packet_in message When the switch receives the packet that the first virtual machine communicates with the second virtual machine for the first time, the switch obtains the packet.
- the controller further includes:
- the path calculation module is configured to calculate an end-to-end path according to the information of the server host corresponding to the first virtual machine and the second virtual machine, and form a first virtual state, when the sent packet is a second packet_in packet sent by the switch.
- the flow table between the machine and the second virtual machine is sent to the switch corresponding to the first virtual machine and the second virtual machine respectively; wherein when the switch receives the first virtual machine and the second virtual machine does not communicate for the first time If the first virtual machine and the second virtual machine do not have the matching flow table, the packet is converted into a second packet_in message and sent to the data receiving module.
- the data receiving module of the controller 20 obtains the network information table from the data processing module 10, and the resource establishing module establishes a logical tunnel between the corresponding switches of the virtual machine configured by the user end according to the network information table, so that Corresponding switch connections do not establish a logical tunnel between switches that do not have a virtual machine configured by the client.
- the switch includes a physical switch and a virtual switch.
- the data processing module of the controller 20 obtains the tenant network topology information from the network information table, and translates the tenant network topology information into Corresponding one or several flow tables, the data transmission module sends the flow table to the corresponding switch of the virtual machine configured for the user end.
- the switch 30 includes:
- a packet obtaining module configured to receive a message when the first virtual machine communicates with the second virtual machine
- a matching module configured to acquire, from the controller, a flow table configured to enable the resource pool management system to perform virtual machine communication according to a user operation on the network resource pool, perform matching according to the flow table, and obtain a matching result, where the flow table is obtained. Generating information for the controller based on the network resources of the virtual machine;
- the message processing module is configured to control communication between the first virtual machine and the second virtual machine according to the matching result.
- the packet processing module includes a first packet processing module, configured to determine, when the first virtual machine and the second virtual machine cannot communicate according to the matching result, in the first communication and the subsequent communication, The packet between the first virtual machine and the second virtual machine is discarded.
- the switch further includes:
- a determining module configured to determine whether the first virtual machine is in communication with the second virtual machine for the first time
- the message conversion module converts the message into a first packet_in message and sends it to the controller when it is the first communication; when the communication is not the first time, the message is sent to the The matching module.
- the packet processing module includes:
- a second packet processing unit configured to: when the matching result determines that the first virtual machine and the second virtual machine are mutually connected, send the message to a switch corresponding to the second virtual machine;
- a third packet processing unit configured to: when the matching result determines that the first virtual machine and the second virtual machine do not match the flow table, convert the packet into a second packet_in message and send the packet to the outside, so that The controller obtains the second packet_in packet, and calculates an end-to-end path according to the information of the server host corresponding to the first virtual machine and the second virtual machine, respectively, to form a flow table between the first virtual machine and the second virtual machine.
- the switch 30 uses the foregoing structure to determine that the first virtual machine and the second virtual machine are in communication for the first time, and then convert the message into a first packet_in message and send the message to the controller.
- the device 20 obtains a flow table, performs matching according to the flow table, and determines whether communication between the first virtual machine and the second virtual machine is possible; when it is determined that the first virtual machine and the second virtual machine are not the first communication, Then match directly according to the flow table.
- the matching module of the switch 30 first corresponds to the user end 1.
- the flow table is matched to obtain a matching result.
- the matching result has at least three cases. The first one is: according to the flow table, the first virtual machine and the second virtual machine are defined as interworking; and the second type is: according to the flow table, the first virtual machine is defined The second virtual machine cannot communicate with each other; the third type: there is no flow table that records whether the first virtual machine and the second virtual machine are mutually connected.
- the switch 30 sends the packet to the switch corresponding to the second virtual machine by the first packet processing unit, so that a service connection is established between the first virtual machine and the second virtual machine.
- the switch 30 directly discards the received packet by the second packet processing unit.
- the switch 30 converts the received message into a second packet_in message by the third packet processing unit and sends it to the controller, so that the controller 20 acquires the message by the path calculation module.
- the second packet_in packet calculates an end-to-end path according to the information of the first virtual machine and the second virtual machine corresponding to the server host, and forms a flow table between the first virtual machine and the second virtual machine.
- the switch 30 is further configured to receive a flow table formed by the path calculation module of the controller according to the second packet_in message.
- FIG. 6 is a schematic diagram of a workflow of a communication system according to an embodiment of the present disclosure.
- the user terminal creates a required network resource on the resource pool management system, and includes the following steps:
- S601 The user end creates a required network resource on the resource pool management system.
- the resource pool management system 10 configures the corresponding network attribute for the virtual machine according to the operation of the user, and stores the network attribute in the form of "network information table" and sends it to the controller 20;
- the switch 30 receives the packet that the first virtual machine communicates with the second virtual machine, and determines whether it is the first communication; when it is the first communication, the switch 30 converts the packet into the first packet_in message and sends the message to the control. 20, and proceeds to step S604; when it is not the first communication, then step S605 is performed downward;
- the controller 20 translates the tenant network topology information in the network information table into a flow table, and sends the flow table to the switch 30, and the switch 30 saves the flow table;
- the switch 30 matches the saved flow table to confirm whether the network segment between the first virtual machine and the second virtual machine can communicate with each other. If the network segment can communicate with each other, the packet is sent to the switch corresponding to the second virtual machine. If the packet is directly discarded, the packet is converted into the second packet_in packet and sent to the controller 20, so that the controller 30 calculates the end-to-end path according to the packet_in packet to form the first packet. A flow table between the virtual machine and the second virtual machine is delivered to the switch.
- the method mainly includes the following steps:
- the user side modifies or deletes the network resource on the resource pool management system
- the resource pool management system adjusts or deletes the virtual machine of the client according to the operation of the client, and modifies the network information table, and sends the modified network information table to the controller, and the controller sends the modified information of the network information table to the controller. switch;
- the switch When the switch receives the packet sent by the first virtual machine to the second virtual machine, the communication between the two virtual machines is controlled according to the modified network information table.
- the specific manner is the same as the step of creating the virtual machine. A detailed description of steps S603 to S605.
- the controller 20, and the switch 30 having the above structure, the network attribute of the virtual machine can be perceived according to the operation of the user, and corresponding changes are made on the network resource, and the controller grasps the entire network topology.
- the controller broadcasts ARP messages to the entire network, and reduces the packet_in packets sent to the SDN controller, so that the network resources in the SDN are fully utilized and mitigated. Resource pressure on the network and controller.
- a specific embodiment of the present disclosure provides a communication system having the above structure, and the configuration of the communication system can be referred to the above description in conjunction with FIG. 2 to FIG. Let me repeat.
- the present disclosure further provides a communication method of an SDN for a controller, as shown in FIG. 8, and in conjunction with FIG. 2, the communication method includes:
- the tenant network topology information obtained from the network attribute is translated into a flow table.
- the flow table is delivered to the switch corresponding to the virtual machine, so that when the switch determines, according to the flow table, that the first virtual machine cannot communicate with the second virtual machine, the first communication and In the subsequent communication, the packet between the first virtual machine and the second virtual machine is directly discarded.
- the method further includes: establishing a logical tunnel between the switches corresponding to the virtual machine, so that the corresponding switch is logically connected.
- the switch further includes: controlling, by the switch, the communication between the first virtual machine and the second virtual machine according to the flow table, specifically:
- the packet is converted into a second packet_in message and sent out.
- the communication method further includes:
- the tenant network topology information is translated into a flow table
- the end-to-path is calculated according to the information of the server host corresponding to the first virtual machine and the second virtual machine, respectively, to form a flow between the first virtual machine and the second virtual machine.
- the table is sent to the switch corresponding to the first virtual machine and the second virtual machine respectively.
- step S701 the network attribute is recorded in a network information table created by the resource pool management system according to the network attribute.
- the present disclosure further provides another SDN communication method for a resource pool management system.
- the communication method includes:
- steps of S801 include:
- the virtual machine configured in the resource pool in the physical network resources composed of multiple server hosts and switches, create the same number of virtual machines under the physical ports and logical ports of at least one of the server hosts, and configure corresponding Internet resources.
- the method further includes:
- Another aspect of the present disclosure is to provide another communication method of a software-defined network for a switch.
- the communication method includes:
- S902 Obtain a flow table for the virtual pool communication configured by the resource pool management system according to the operation of the network resource pool by the user, perform matching according to the flow table, and obtain a matching result, where the flow table is a controller. Generate tenant network topology information based on network resources of the virtual machine;
- S903 Determine, according to the matching result, that the first virtual machine and the second virtual machine cannot communicate with each other, and discard the message between the first virtual machine and the second virtual machine in the first communication and the subsequent communication.
- the method further includes:
- the method further includes:
- the packet is sent to the switch corresponding to the second virtual machine
- the packet is converted into a second packet_in message and sent to the controller, so that the controller acquires the second packet_in
- the packet is calculated according to the information of the first virtual machine and the second virtual machine corresponding to the server host, and forms a flow table between the first virtual machine and the second virtual machine.
- the controller can be avoided to be widely distributed to the entire network.
- the ARP message is broadcasted, and the packet_in message sent to the SDN controller is reduced, so that the network resources in the SDN are fully utilized, and the resource pressure of the network and the controller is alleviated.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开文本提供一种SDN的通信方法、系统、资源池管理系统、交换机及控制装置。所述通信方法包括:获取资源池管理系统根据用户对网络资源池的操作所配置的虚拟机的网络属性;当第一虚拟机与第二虚拟机之间第一次通信时,将从网络属性中获得的租户网络拓扑信息翻译为流表;将流表下发至虚拟机对应的交换机,使得当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。在所述通信方法中,能够避免控制器向全网广播ARP消息,并减少发送给SDN控制器的packet_in报文,使SDN中的网络资源得到充分利用,缓解网络和控制器的资源压力。
Description
相关申请的交叉参考
本申请主张在2014年3月31日在中国提交的中国专利申请号No.201410127774.0的优先权,其全部内容通过引用包含于此。
本公开文本涉及网络通信技术领域,尤其是指一种软件定义网络(SDN)的通信方法、系统、资源池管理系统、交换机及控制装置。
软件定义网络(Software-Defined Net working,SDN)是最近几年最热门的未来网络技术,也是企业网、校园网、数据中心网络的热门候选网络形式。其核心思想是数据平面与控制平面的分离,采用远程的控制器集中对网络进行统一管控。
在SDN网络中,网络控制与转发被分离并由专有设备进行处理。网络转发由基于OpenFlow的专有SDN交换机负责完成。网络的控制功能由基于OpenFlow的SDN控制器完成,控制器完成网络基本功能的运算,如拓扑管理、流表管理、设备配置等。
如图1为现有技术SDN网络架构实现的一种举例,现有SDN通信工作机制为,结合图1,网络中由三台Openflow交换机组成,简称OF交换机。三台OF交换机被一台SDN控制器通过Openflow协议进行控制,OF交换机1和OF交换机3作为接入交换机,分别接入两台主机A和B,OF交换机2作为汇聚交换机与SDN控制器连接。
当接入网络的主机A(物理服务器或虚拟机)向SDN网络提出通信需求,要求与主机B进行通信,OF交换机1判断是第一次接收到该请求数据包时,则将数据包的首包转发给SDN控制器,也称为packet_in上送。
之后,SDN控制器根据首包生成流表,具体方式为:SDN控制器接收到首包信息后,根据五元组信息(包括目的MAC、目的IP等)判断数据包的
目的接收端为主机B。若SDN控制器内已存储有主机B的位置,则开始计算主机A到主机B的端到端流表,并下发给路径上的OF交换机3。否则SDN控制器向全网广播一条ARP消息搜寻主机B。该ARP广播由OF交换机3响应,并反馈给SDN控制器。SDN控制器根据拓扑信息,逐跳生成流表,即OF交换机1上:所在主机A对应的端口到OF交换机2所在端口;OF交换机2上:OF交换机1对应端口到OF交换机3所在端口;OF交换机3上:OF交换机2对应端口到主机B所在端口,共三条流表分别下发到OF交换机1、2、3。
然而,在上述packet_in上送的机制中,交换机会发出大量的packet_in报文给SDN控制器,使SDN控制器性能受限,降低网络规模。
其次,在上述SDN控制器向全网广播的机制中,SDN控制器产生大量广播报文,造成网络资源的浪费,对网络和控制器的资源造成压力,降低网络规模。
另外,在现有SDN网络架构下,云计算数据中心资源池管理系统(如Openstack、VMWare、微软、Citrix等)和数据中心网络脱节。例如,资源池进行主机创建、修改、删除时的操作信息无法传递给网络。
发明内容
(一)要解决的技术问题
本公开文本技术方案的目的是提供一种SDN的通信方法、系统、资源池管理系统、交换机及控制装置,能够避免SDN控制器发出的ARP广播,减少发送给SDN控制器的packet_in报文。
(二)技术方案
本公开文本实施例所提供的技术方案如下:
本公开文本提供一种软件定义网络的通信方法,用于一控制器,其中所述通信方法包括:
获取资源池管理系统根据用户对网络资源池的操作所配置的虚拟机的网络属性;
当第一虚拟机与第二虚拟机之间第一次通信时,将从所述网络属性中获
得的租户网络拓扑信息翻译为流表;
将所述流表下发至所述虚拟机对应的交换机,使得当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
作为示例,在上述所述的通信方法中,在获取所述网络属性之后还包括:为所述虚拟机对应的交换机之间建立逻辑隧道,用于使对应的交换机逻辑连接。
作为示例,在上述所述的通信方法中,将所述流表下发至所述虚拟机对应的交换机的步骤之后,还包括:所述交换机依据所述流表控制第一虚拟机与第二虚拟机之间的通信,具体包括:
接收第一虚拟机向第二虚拟机通信时的报文,当判断第一虚拟机与第二虚拟机之间为第一次通信时,则将所述报文转换为第一packet_in报文;
接收第一虚拟机向第二虚拟机通信时的报文,当判断第一虚拟机与第二虚拟机之间并非为第一次通信时:
匹配所述流表判断第一虚拟机与第二虚拟机之间为互通,将所述报文发送至第二虚拟机对应的交换机;
匹配所述流表判断第一虚拟机与第二虚拟机之间不能互通,直接将所述报文丢弃;
判断第一虚拟机与第二虚拟机没有所匹配的所述流表时,将所述报文转换为第二packet_in报文。
作为示例,在上述所述的通信方法中,所述通信方法还包括:
接收交换机发送的上送报文;
当所述上送报文为第一packet_in报文时,则将所述租户网络拓扑信息翻译为流表;
当所述上送报文为第二packet_in报文时,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到端路径,形成第一虚拟机和第二虚拟机之间的流表,并分别发送给第一虚拟机和第二虚拟机对应的交换机。
作为示例,在上述所述的通信方法中,所述获取资源池管理系统根据用户对网络资源池的操作所配置的虚拟机的网络属性的步骤中,所述网络属性
记载于网络信息表中,所述网络信息表由所述资源池管理系统根据所述网络属性创建。
作为示例,在上述所述的通信方法中,所述租户网络拓扑信息包括租户子网段互通策略信息、虚拟机所在服务器主机的位置信息和虚拟机所连接交换机的信息,其中所述子网段互通策略信息是由用户通过所述资源池管理系统预先配置。
作为示例,在上述所述的通信方法中,所述网络属性包括资源池管理系统根据用户的操作所配置的虚拟机的IP地址、VLAN ID、VXLAN ID、隧道ID、VRF ID、虚拟机所在服务器主机的信息、服务器主机连接的物理交换机端口、租户网络拓扑信息。
本公开文本还提供一种软件定义网络的控制装置,包括一控制器,其中所述控制器包括:
数据接收模块,用于获取资源池管理系统根据用户对网络资源池的操作所配置的虚拟机的网络属性;
数据处理模块,用于当第一虚拟机与第二虚拟机之间第一次通信时,将从所述网络属性中获得的租户网络拓扑信息翻译为流表;
数据传输模块,用于将所述流表下发至所述虚拟机对应的交换机,使得当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
作为示例,在上述所述的控制装置中,所述控制器还包括:
资源建立模块,用于为所述虚拟机对应的交换机之间建立逻辑隧道,使对应的交换机连接。
作为示例,在上述所述的控制装置中,所述数据接收模块还用于:接收交换机发送的上送报文;其中当所述上送报文为第一packet_in报文时,所述数据处理模块启动;所述第一packet_in报文为交换机接收第一虚拟机向第二虚拟机第一次通信的报文时,对所述报文进行转换所获得。
所述控制器还包括:
路径计算模块,用于当所述上送报文为第二packet_in报文时,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到端路径,形成第一
虚拟机和第二虚拟机之间的流表,并分别发送给第一虚拟机和第二虚拟机对应的交换机;其中当交换机接收第一虚拟机向第二虚拟机非第一次通信时的报文,判断第一虚拟机与第二虚拟机没有所匹配的所述流表时,将所述报文转换为第二packet_in报文并发送至所述数据接收模块。
作为示例,在上述所述的控制装置中,所述数据接收模块从所述资源池管理系统获取网络信息表,所述网络属性记载于所述网络信息表中,所述网络信息表由所述资源池管理系统根据所述网络属性创建。
作为示例,在上述所述的控制装置中,所述租户网络拓扑信息包括租户子网段互通策略信息,虚拟机所在服务器主机的位置信息和虚拟机所连接交换机的信息,其中所述子网段互通策略信息是由用户通过所述资源池管理系统预先配置。
作为示例,在上述所述的控制装置中,所述网络属性包括资源池管理系统根据用户的操作所配置虚拟机的IP地址、VLAN ID、VXLAN ID、隧道ID、VRF ID、虚拟机所在服务器主机的信息、服务器主机连接的物理交换机端口、租户网络拓扑信息。
本公开文本还提供另一种软件定义网络的通信方法,用于资源池管理系统,其中,所述通信方法包括:
根据用户对网络资源池的操作配置虚拟机,为所述虚拟机配置网络资源;
根据所述网络资源的信息生成网络属性;
将所述网络属性发送至控制器,使所述控制器能够从所述网络属性获得租户网络拓扑信息,并当第一虚拟机与第二虚拟机之间第一次通信时,能够将所述租户网络拓扑信息翻译为流表,将所述流表下发至所述虚拟机对应的交换机,使得当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
作为示例,在上述所述的通信方法中,根据用户对网络资源池的操作配置虚拟机,为所述虚拟机配置网络资源的步骤包括:
根据用户对网络资源池的操作,在资源池配置对应所述操作的虚拟机;
根据资源池所配置的虚拟机,在由多台服务器主机和交换机构成的物理
网络资源中,在其中至少一台服务器主机的物理端口和逻辑端口下,创建相同数量的虚拟机,并配置相应的网络资源。
作为示例,在上述所述的通信方法中,在根据所述网络资源的信息生成网络属性的步骤之后还包括:
根据所述网络属性形成网络信息表,通过将所述网络信息表发送至控制器,将所述网络属性发送至控制器。
本公开文本还提供一种资源池管理系统,包括:
资源管理模块,用于根据用户对网络资源池的操作配置虚拟机,为所述虚拟机配置网络资源;
属性生成模块,用于根据所述网络资源的信息生成网络属性;
信息发送模块,用于将所述网络属性发送至控制器,使所述控制器能够从所述网络属性获得租户网络拓扑信息,并当第一虚拟机与第二虚拟机之间第一次通信时,能够将所述租户网络拓扑信息翻译为流表,将所述流表下发至所述虚拟机对应的交换机,使使得当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
作为示例,在上述所述的资源池管理系统中,所述资源管理模块包括:
计算资源管理单元,用于根据用户对网络资源池的操作,在资源池配置对应所述操作的虚拟机;
网络资源管理单元,用于根据资源池所配置的虚拟机,在由多台服务器主机和交换机构成的物理网络资源中,在其中至少一台服务器主机的物理端口和逻辑端口下,创建相同数量的虚拟机,并配置相应的网络资源。
本公开文本还提供另一种软件定义网络的通信方法,用于交换机,其中所述通信方法包括:
接收第一虚拟机向第二虚拟机通信时的报文;
从控制器获取用于使资源池管理系统根据用户对网络资源池的操作所配置虚拟机通信的流表,依据所述流表进行匹配,获得匹配结果,其中所述流表为控制器依据虚拟机的网络资源的租户网络拓扑信息生成;
根据匹配结果,判断第一虚拟机与第二虚拟机之间不能通信时,在第一
次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
作为示例,在上述所述的通信方法中,在所述接收第一虚拟机向第二虚拟机通信时的报文的步骤之后还包括:
判断第一虚拟机与所述第二虚拟机之间是否为第一次通信,当为第一次通信时,则将所述报文转换为第一packet_in报文并发送至控制器;当并非为第一次通信时,则向下执行步骤。
作为示例,在上述所述的通信方法中,在获得所述匹配结果的步骤之后还包括:
当根据匹配结果,判断第一虚拟机与第二虚拟机之间为互通时,将所述报文发送至第二虚拟机对应的交换机;
当根据匹配结果,判断第一虚拟机与第二虚拟机没有相匹配的所述流表时,将所述报文转换为第二packet_in报文并向控制器发送,使控制器获取所述第二packet_in报文,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到路径,形成第一虚拟机和第二虚拟机之间的流表。
本公开文本还提供一种交换机,包括:
报文获取模块,用于接收第一虚拟机向第二虚拟机通信时的报文;
匹配模块,用于从控制器获取用于使资源池管理系统根据用户对网络资源池的操作所配置虚拟机通信的流表,依据所述流表进行匹配,获得匹配结果,其中所述流表为控制器依据虚拟机的网络资源的信息生成;
第一报文处理模块,用于根据匹配结果,判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
作为示例,在上述所述的交换机中,所述交换机还包括:
判断模块,用于判断第一虚拟机与所述第二虚拟机之间是否为第一次通信;
报文转换模块,当为第一次通信时,则将所述报文转换为第一packet in报文并发送至控制器;当并非为第一次通信时,则将所述报文发送至所述匹配模块。
作为示例,在上述所述的交换机中,所述交换机还包括:
第二报文处理单元,用于当根据匹配结果判断第一虚拟机与第二虚拟机之间为互通时,将所述报文发送至第二虚拟机对应的交换机;
第三报文处理单元,用于当根据匹配结果判断第一虚拟机与第二虚拟机没有相匹配的所述流表时,将所述报文转换为第二packet_in报文并向控制器发送,使控制器获取所述第二packet_in报文,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到端路径,形成第一虚拟机和第二虚拟机之间的流表。
本公开文本还提供一种软件定义网络的通信系统,包括多台服务器主机,其中,还包括如上所述的控制装置、如上所述的资源池管理系统和如上所述的交换机,其中每一所述服务器主机与其中一所述交换机连接,所述交换机与所述控制装置,所述控制装置与所述资源池管理系统连接。
(三)有益效果
本公开文本具体实施例上述技术方案中的至少一个具有以下有益效果:
控制器根据所接收虚拟机的网络属性,掌握全网拓扑,相较于现有技术SDN架构,避免两虚拟机首次通信时,控制器向全网广播ARP消息,并使交换机存储流表,交换机根据流表能够直接判断出两虚拟机不能通信的情况,从而直接丢弃两虚拟机之间的报文,相对于现有技术,减少两虚拟机不能通信时发送给SDN控制器的packet_in报文,使SDN中的网络资源得到充分利用,缓解网络和控制器的资源压力。
为了更清楚地说明本公开文本实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开文本的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术SDN网络架构举例的结构示意图;
图2为本公开文本具体实施例用于SDN的通信系统的架构示意图;
图3为本公开文本中所述资源池管理系统的结构及其与各部分之间连接关系的示意图;
图4为本公开文本中所述控制器的结构及其与各部分之间连接关系的示意图;
图5为本公开文本中所述交换机的结构及其与各部分之间连接关系的示意图;
图6为采用本公开文本所述通信系统的通信方法创建网络资源时的流程示意图;
图7为采用本公开文本所述通信系统的通信方法修改或删除网络资源时的流程示意图;
图8为本公开文本第一实施例所述通信方法的流程示意图;
图9为本公开文本第二实施例所述通信方法的流程示意图;
图10为本公开文本第三实施例所述通信方法的流程示意图。
下面结合附图和实施例,对本公开文本的具体实施方式做进一步描述。以下实施例仅用于说明本公开文本,但不用来限制本公开文本的范围。
为使本公开文本实施例的目的、技术方案和优点更加清楚,下面将结合本公开文本实施例的附图,对本公开文本实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开文本的一部分实施例,而不是全部的实施例。基于所描述的本公开文本的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本公开文本保护的范围。
除非另作定义,此处使用的技术术语或者科学术语应当为本公开文本所属领域内具有一般技能的人士所理解的通常意义。本公开文本专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也相应地改变。
以下结合附图对本公开文本的原理和特征进行描述,所举实例只用于解释本公开文本,并非用于限定本公开文本的范围。
本公开文本具体实施例所述SDN的通信方法,用于一控制器,包括步骤:
获取资源池管理系统根据用户对网络资源池的操作所配置的虚拟机的网络属性;
当第一虚拟机与第二虚拟机之间第一次通信时,将从所述网络属性中获得的租户网络拓扑信息翻译为流表;
将所述流表下发至所述虚拟机对应的交换机,使所述交换机依据所述流表控制第一虚拟机与第二虚拟机之间的通信。
本公开文本实施例所述通信方法,将资源池管理系统为用户虚拟机所配置网络资源的网络属性发送至控制器,并通过控制器将从网络属性中获得的租户网络拓扑信息翻译获得的流表下发至交换机,使交换机依据所述流表控制第一虚拟机与第二虚拟机之间的通信。例如,第一虚拟机和第二虚拟机通信时,交换机匹配所保存的流表以确认第一虚拟机和第二虚拟机之间的网段能否互通,如果区配流表判断能够互通,可以使该两个虚拟机之间通信;如果匹配流表判断不能互通,则直接丢弃两虚拟机之间通信的报文,如果不存在能够匹配的流表,则将两虚拟机之间通信的报文转换成packet_in报文发送给控制器,控制器根据网络信息表计算端到端路径,并下发给相应的交换机。
采用上述通信方法,控制器根据所接收虚拟机的网络属性,掌握全网拓扑,相较于现有技术SDN架构,避免两虚拟机首次通信时,控制器向全网广播ARP消息,并使交换机存储流表,交换机根据流表能够直接判断出两虚拟机不能通信的情况,从而直接丢弃两虚拟机之间的报文,相对于现有技术,减少两虚拟机不能通信时,且减少发送给SDN控制器的packet_in报文,使SDN中的网络资源得到充分利用,缓解网络和控制器的资源压力。
本公开文本上述的租户网络拓扑信息,包括租户子网段互通策略信息,虚拟机所在服务器主机的位置信息和虚拟机所连接交换机的信息,其中所述子网段互通策略信息是由用户通过所述资源池管理系统预先配置。
以下结合图2所示本公开文本具体实施例用于SDN的通信系统的架构示意图,对本公开文本具体实施例的通信系统及通信方法进行说明。
根据图2,本公开文本实施例用于SDN的通信系统包括:资源池管理系统10、控制器20、交换机30和服务器主机40。其中资源池管理系统10与用户端50连接,用户端50可以通过该资源池管理系统10创建、修改或删除所使用的网络资源;控制器20与资源池管理系统10连接,并与交换机30连接,服务器主机40分别对应连接一交换机30。
如图3所示,所述资源池管理系统10包括:
资源管理模块,用于根据用户对网络资源池的操作配置虚拟机,为所述虚拟机配置网络资源;
属性生成模块,用于根据所述网络资源的信息生成网络属性;
信息发送模块,用于将所述网络属性发送至控制器20,使所述控制器20能够从所述网络属性获得租户网络拓扑信息,并当第一虚拟机与第二虚拟机之间第一次通信时,能够将所述租户网络拓扑信息翻译为流表,将所述流表下发至所述虚拟机对应的交换机30,使所述虚拟机之间依据所述流表进行通信。具体地,当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
具体地,所述资源管理模块包括:
计算资源管理单元,用于根据用户对网络资源池的操作,在资源池配置对应所述操作的虚拟机;
网络资源管理单元,用于根据资源池所配置的虚拟机,在由多台服务器主机和交换机构成的物理网络资源中,在其中至少一台服务器主机的物理端口和逻辑端口下,创建相同数量的虚拟机,并配置相应的网络资源。
上述结构的资源池管理系统10为用户端50提供运营管理界面,通过该运营管理界面,用户端50可以申请创建、修改和删除所属的网络资源。上述中所提及的所述资源池管理系统10为用户配置虚拟机,包括创建、修改和删除相应的虚拟机及网络资源。当用户端50在运营管理界面上的操作请求被批准后,资源池管理系统10的计算资源管理单元根据用户在运营管理界面上对网络资源池的操作,在资源池配置对应该操作的虚拟机,其中包括删除旧的虚拟机以及创建新的虚拟机等;同时,该计算资源管理单元通知网络资源管
理单元,使网络资源管理单元根据在资源池所配置的虚拟机,在一台或多台服务器主机的物理端口和逻辑端口下,创建相同数量的虚拟机,并为该些虚拟机配置相应的网络资源,为该用户端生成逻辑网络并在服务器主机40的端口上生成虚机。
举例说明,以用户端的操作为创建虚拟机为例,如图2所示,对于第一用户端(租户1),分别在交换机A、交换机B和交换器C相连接的服务器主机40的物理端口和逻辑端口上创建虚拟机VM1至VM3(在图2中以横向填充线表示租户1的虚拟机);对于第二用户端(租户2),也分别在交换机A、交换机B和交换器C相连接的服务器主机40的物理端口和逻辑端口上创建虚拟机VM1至VM3(在图2中以竖直填充线表示租户1的虚拟机)。
其中,根据图2的实线连接线,交换机A、交换机B、交换机C和交换机D之间具有对应的物理连接。
此外,控制器20可以为所述虚拟机对应的交换机之间建立逻辑隧道,用于使对应的交换机逻辑连接,如图2的虚线连接线。
根据以上的结构,资源池管理系统10为用户端对应的虚拟机配置网络资源,该些网络资源包括:IP地址、VLAN ID、VXLAN ID、隧道ID、VRF ID、虚拟机所在服务器主机的信息、服务器主机连接的物理交换机端口、租户网络拓扑信息等。此外,用户端可以通过资源池管理系统10的运营管理界面自配置同网段或跨网段虚拟机之间的访问策略,形成子网段互通策略信息,该子网段互通策略信息、虚拟机所在服务器主机的位置信息和虚拟机所连接交换机的信息的组合,构成为租户网络拓扑信息,租户网络拓扑信息与上述信息的组合,构成为虚拟机的网络属性。
作为示例,所述资源池管理系统10将上述网络属性记载于一网络信息表中,也即通过该网络信息表记录用户端对应虚拟机所在的服务器主机40的信息、该服务器主机40相对应的交换机30的信息、各对应交换机30之间的连接信息以及访问策略信息(子网段互通策略信息)。
具体地,所述网络信息表中所保存内容如下表1所示:
表1
用户名称 |
用户子网段 |
子网段互通策略 |
虚拟机名称 |
虚拟机MAC |
虚拟机IP |
所在服务器主机 |
所用物理端口 |
所用逻辑端口 |
服务器主机MAC |
服务器主机IP |
服务器主机所连交换机 |
所述网络信息表中保存的以上内容仅为举例说明,并不限于仅包括该些内容。
数据处理模块将包括以上内容的网络信息表发送至控制器20,结合图4,并参阅图2,所述控制器20包括:
数据接收模块,用于获取资源池管理系统10根据用户对网络资源池的操作所配置的虚拟机的网络属性;
数据处理模块,用于当第一虚拟机与第二虚拟机之间第一次通信时,将从所述网络属性中获得的租户网络拓扑信息翻译为流表;
数据传输模块,用于将所述流表下发至所述虚拟机对应的交换机30,使所述交换机30依据所述流表控制第一虚拟机与第二虚拟机之间的通信。具体地,当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
所述控制器还包括:
资源建立模块,用于为所述虚拟机对应的交换机之间建立逻辑隧道,使对应的交换机30连接。
另外,所述数据接收模块还用于:接收交换机发送的上送报文;其中当所述上送报文为第一packet_in报文时,所述数据处理模块启动;所述第一packet_in报文为交换机接收第一虚拟机向第二虚拟机第一次通信的报文时,对所述报文进行转换所获得。
所述控制器还包括:
路径计算模块,用于当所述上送报文为交换机发送的第二packet_in报文时,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到端路径,形成第一虚拟机和第二虚拟机之间的流表,并分别发送给第一虚拟机和第二虚拟机对应的交换机;其中当交换机接收第一虚拟机向第二虚拟机非第一次通信时的报文,判断第一虚拟机与第二虚拟机没有所匹配的所述流表时,将所述报文转换为第二packet_in报文并发送至数据接收模块。
基于控制器20的上述结构,控制器20的数据接收模块从数据处理模块10获取上述网络信息表,资源建立模块根据网络信息表为用户端所配置虚拟机的对应交换机之间建立逻辑隧道,使对应的交换机连接,在没有用户端所配置虚拟机的交换机之间不建立逻辑隧道,其中该交换机包括物理交换机和虚拟交换机。
另外,当第一虚拟机与第二虚拟机之间第一次通信时,所述控制器20的数据处理模块从该网络信息表中获得租户网络拓扑信息,并将该租户网络拓扑信息翻译为对应的一条或几条流表,数据传输模块将该些流表下发至为用户端所配置虚拟机的对应交换机。
结合图5,所述交换机30包括:
报文获取模块,用于接收第一虚拟机向第二虚拟机通信时的报文;
匹配模块,用于从控制器获取用于使资源池管理系统根据用户对网络资源池的操作所配置虚拟机通信的流表,依据所述流表进行匹配,获得匹配结果,其中所述流表为控制器依据虚拟机的网络资源的信息生成;
报文处理模块,用于根据匹配结果,控制第一虚拟机与第二虚拟机之间的通信。
所述报文处理模块包括第一报文处理模块,用于用根据匹配结果,判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直
接丢弃第一虚拟机与第二虚拟机之间的报文。
此外,所述交换机还包括:
判断模块,用于判断第一虚拟机与所述第二虚拟机之间是否为第一次通信;
报文转换模块,当为第一次通信时,则将所述报文转换为第一packet_in报文并发送至控制器;当并非为第一次通信时,则将所述报文发送至所述匹配模块。
具体地,所述报文处理模块包括:
第二报文处理单元,用于当匹配结果判断判断第一虚拟机与第二虚拟机之间为互通时,将所述报文发送至第二虚拟机对应的交换机;
第三报文处理单元,用于当匹配结果判断第一虚拟机与第二虚拟机没有相匹配的所述流表时,将所述报文转换为第二packet_in报文并向外发送,使控制器获取所述第二packet_in报文,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到端路径,形成第一虚拟机和第二虚拟机之间的流表。
所述交换机30利用上述的结构,当判断第一虚拟机与第二虚拟机之间为第一次通信时,则将所述报文转换为第一packet_in报文并发送至控制器,从控制器20获得流表,依据该流表进行匹配,判断第一虚拟机与第二虚拟机之间是否能够通信;当判断第一虚拟机与第二虚拟机之间并非为第一次通信时,则直接根据所述流表进行匹配。
例如当用户端1的第一虚拟机和第二虚拟机通信时,当判断第一虚拟机与第二虚拟机之间并非为第一次通信时,交换机30的匹配模块首先对用户端1对应的流表进行匹配,获得一匹配结果。该匹配结果具备至少三种情况,第一种:根据所述流表,规定第一虚拟机与第二虚拟机之间为互通;第二种:根据所述流表,规定第一虚拟机与第二虚拟机之间不能互通;第三种:不存在记录第一虚拟机和第二虚拟机之间是否互通的流表。
对于上述的第一种匹配结果,交换机30由第一报文处理单元将所述报文发送至第二虚拟机对应的交换机,使第一虚拟机和第二虚拟机之间建立业务连接。
对于上述的第二种匹配结果,交换机30由第二报文处理单元直接将所接收到的报文丢弃。
对于上述的第三种匹配结果,交换机30由第三报文处理单元将所接收到的报文转换为第二packet_in报文并发送至控制器处,使控制器20由路径计算模块获取所述第二packet_in报文,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到端路径,形成第一虚拟机和第二虚拟机之间的流表。
此外,当为上述的第三种匹配结果时,所述交换机30还用于接收控制器的路径计算模块根据第二packet_in报文形成的流表。
图6为采用本公开文本具体实施例所述通信系统的工作流程示意图,以用户端在资源池管理系统上对所需要的网络资源进行创建为例,包括步骤:
S601,用户端在资源池管理系统上对所需要的网络资源进行创建操作;
S602,资源池管理系统10根据用户端的操作,为虚拟机配置相应的网络属性,并以“网络信息表”的形式将该网络属性进行存储并发送给控制器20;
S603,交换机30接收第一虚拟机向第二虚拟机通信的报文,判断是否为第一次通信;当为第一次通信时,交换机30将报文转换为第一packet_in报文发送到控制器20,并向下步骤S604;当并非为第一次通信时,则向下执行步骤S605;
S604,控制器20将网络信息表中的租户网络拓扑信息翻译为流表,并将流表下发至交换机30,交换机30对流表进行保存;
S605,交换机30匹配保存的流表以确认第一虚拟机和第二虚拟机之间的网段是否能互通;如果能互通则将所述报文发送至第二虚拟机对应的交换机,不能互通则直接丢弃报文,当不存在能够匹配的流表时,则将报文转换成第二packet_in报文发送给控制器20,使控制器30根据packet_in报文计算端到端路径,形成第一虚拟机和第二虚拟机之间的流表,并下发到交换机。
以上针对用户对资源池管理系统上的网络资源进行创建时的过程进行了描述,同理当用户对资源池管理系统上的网络资源进行修改或删除时,如图7所示,主要包括步骤:
用户端在资源池管理系统上对网络资源进行修改或删除操作;
资源池管理系统根据用户端的操作,调整或删除该用户端的虚拟机,并修改网络信息表,并将修改后的网络信息表发送至控制器,控制器会将网络信息表有修改的信息发送至交换机;
当交换机接收到第一虚拟机向第二虚拟机发送的报文时,根据修改后的网络信息表控制两虚拟机之间的通信,具体方式与虚拟机创建时的步骤相同,可以参阅图6步骤S603至S605的具体描述。
因此,通过具备上述结构的资源池管理系统10、控制器20和交换机30的协同工作,能够根据用户端的操作感知虚拟机的网络属性,在网络资源上作出对应的变化,控制器掌握全网拓扑,相较于现有技术SDN架构,避免两虚拟机首次通信时,控制器向全网广播ARP消息,并减少发送给SDN控制器的packet_in报文,使SDN中的网络资源得到充分利用,缓解网络和控制器的资源压力。
根据以上本公开文本的工作原理以及结构的描述,本公开文本具体实施例提供一种具备上述结构的通信系统,所述通信系统的构成可以结合图2至图6参阅以上的描述,在此不再赘述。
此外,本公开文本还提供一种SDN的通信方法,用于一控制器,如图8,并结合图2,所述通信方法包括:
S701,获取资源池管理系统根据用户对网络资源池的操作所配置的虚拟机的网络属性;
S702,当第一虚拟机与第二虚拟机之间第一次通信时,将从所述网络属性中获得的租户网络拓扑信息翻译为流表;
S703,将所述流表下发至所述虚拟机对应的交换机,使得当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
具体地,在步骤S701之后还包括:为所述虚拟机对应的交换机之间建立逻辑隧道,用于使对应的交换机逻辑连接。
此外,将所述流表下发至所述虚拟机对应的交换机的步骤之后,还包括:所述交换机依据所述流表控制第一虚拟机与第二虚拟机之间的通信,具体包括:
接收第一虚拟机向第二虚拟机通信时的报文,当判断第一虚拟机与第二虚拟机之间为第一次通信时,则将所述报文转换为第一packet_in报文;
接收第一虚拟机向第二虚拟机通信时的报文,当判断第一虚拟机与第二虚拟机之间并非为第一次通信时:
匹配所述流表判断第一虚拟机与第二虚拟机之间为互通,将所述报文发送至第二虚拟机对应的交换机;
匹配所述流表判断第一虚拟机与第二虚拟机之间不能互通,直接将所述报文丢弃;
判断第一虚拟机与第二虚拟机没有所匹配的所述流表时,将所述报文转换为第二packet_in报文并向外发送。
进一步,在步骤S703之后,所述通信方法还包括:
接收交换机发送的上送报文;
当所述上送报文为第一packet_in报文时,则将所述租户网络拓扑信息翻译为流表;
当所述上送报文为第二packet_in报文时,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到路径,形成第一虚拟机和第二虚拟机之间的流表,并分别发送给第一虚拟机和第二虚拟机对应的交换机。
作为示例,在步骤S701中,所述网络属性记载于网络信息表中,所述网络信息表由所述资源池管理系统根据所述网络属性创建。
进一步,本公开文本还提供另一种SDN的通信方法,用于资源池管理系统,参阅图9,并结合图2,所述通信方法包括:
S801,根据用户对网络资源池的操作配置虚拟机,为所述虚拟机配置网络资源;
S802,根据所述网络资源的信息生成网络属性;
S803,将所述网络属性发送至控制器,使所述控制器能够从所述网络属性获得租户网络拓扑信息,并当第一虚拟机与第二虚拟机之间第一次通信时,能够将所述租户网络拓扑信息翻译为流表,将所述流表下发至所述虚拟机对应的交换机,使得当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二
虚拟机之间的报文。
具体地,所述S801的步骤包括:
根据用户对网络资源池的操作,在资源池配置对应所述操作的虚拟机;
根据资源池所配置的虚拟机,在由多台服务器主机和交换机构成的物理网络资源中,在其中至少一台服务器主机的物理端口和逻辑端口下,创建相同数量的虚拟机,并配置相应的网络资源。
在S801的步骤之后还包括:
根据所述网络属性形成网络信息表,通过将所述网络信息表发送至控制器,将所述网络属性发送至控制器。
本公开文本的另一方面,还提供另一种软件定义网络的通信方法,用于交换机,根据图10并结合图2,所述通信方法包括:
S901,接收第一虚拟机向第二虚拟机通信时的报文;
S902,从控制器获取用于使资源池管理系统根据用户对网络资源池的操作所配置虚拟机通信的流表,依据所述流表进行匹配,获得匹配结果,其中所述流表为控制器依据虚拟机的网络资源的租户网络拓扑信息生成;
S903,根据匹配结果,判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
所述S901的步骤之后,还包括:
判断第一虚拟机与所述第二虚拟机之间是否为第一次通信,当为第一次通信时,则将所述报文转换为第一packet_in报文并发送至控制器;当并非为第一次通信时,则向下执行步骤。
具体地,所述S902的步骤之后还包括:
当匹配结果判断第一虚拟机与第二虚拟机之间为互通时,将所述报文发送至第二虚拟机对应的交换机;
当匹配结果判断第一虚拟机与第二虚拟机没有相匹配的所述流表时,将所述报文转换为第二packet_in报文并向控制器发送,使控制器获取所述第二packet_in报文,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到路径,形成第一虚拟机和第二虚拟机之间的流表。
采用本公开文本具体实施例所述的通信方法,能够避免控制器向全网广
播ARP消息,并减少发送给SDN控制器的packet_in报文,使SDN中的网络资源得到充分利用,缓解网络和控制器的资源压力。
以上所述是本公开文本的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开文本所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本公开文本的保护范围。
Claims (25)
- 一种软件定义网络的通信方法,用于一控制器,所述通信方法包括:获取资源池管理系统根据用户对网络资源池的操作所配置的虚拟机的网络属性;当第一虚拟机与第二虚拟机之间第一次通信时,将从所述网络属性中获得的租户网络拓扑信息翻译为流表;以及将所述流表下发至所述虚拟机对应的交换机,使得当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
- 如权利要求1所述的通信方法,其中,在获取所述网络属性之后还包括:为所述虚拟机对应的交换机之间建立逻辑隧道,用于使对应的交换机逻辑连接。
- 如权利要求1所述的通信方法,其中,将所述流表下发至所述虚拟机对应的交换机的步骤之后,还包括:所述交换机依据所述流表控制第一虚拟机与第二虚拟机之间的通信,具体包括:接收第一虚拟机向第二虚拟机通信时的报文,当判断第一虚拟机与第二虚拟机之间为第一次通信时,则将所述报文转换为第一packet_in报文;接收第一虚拟机向第二虚拟机通信时的报文,当判断第一虚拟机与第二虚拟机之间并非为第一次通信时:匹配所述流表判断第一虚拟机与第二虚拟机之间为互通,将所述报文发送至第二虚拟机对应的交换机;匹配所述流表判断第一虚拟机与第二虚拟机之间不能互通,直接将所述报文丢弃;判断第一虚拟机与第二虚拟机没有所匹配的所述流表时,将所述报文转换为第二packet_in报文。
- 如权利要求3所述的通信方法,还包括:接收交换机发送的上送报文;当所述上送报文为第一packet_in报文时,则将所述租户网络拓扑信息翻 译为流表;以及当所述上送报文为第二packet_in报文时,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到端路径,形成第一虚拟机和第二虚拟机之间的流表,并分别发送给第一虚拟机和第二虚拟机对应的交换机。
- 如权利要求1所述的通信方法,其中,所述获取资源池管理系统根据用户对网络资源池的操作所配置的虚拟机的网络属性的步骤中,所述网络属性记载于网络信息表中,所述网络信息表由所述资源池管理系统根据所述网络属性创建。
- 如权利要求1所述的通信方法,其中,所述租户网络拓扑信息包括租户子网段互通策略信息、虚拟机所在服务器主机的位置信息和虚拟机所连接交换机的信息,其中所述子网段互通策略信息是由用户通过所述资源池管理系统预先配置。
- 如权利要求1所述的通信方法,其中,所述网络属性包括资源池管理系统根据用户的操作所配置的虚拟机的IP地址、VLAN ID、VXLAN ID、隧道ID、VRF ID、虚拟机所在服务器主机的信息、服务器主机连接的物理交换机端口、租户网络拓扑信息。
- 一种软件定义网络的控制装置,所述控制装置包括一控制器,所述控制器包括:数据接收模块,用于获取资源池管理系统根据用户对网络资源池的操作所配置的虚拟机的网络属性;数据处理模块,用于当第一虚拟机与第二虚拟机之间第一次通信时,将从所述网络属性中获得的租户网络拓扑信息翻译为流表;以及数据传输模块,用于将所述流表下发至所述虚拟机对应的交换机,使得当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
- 如权利要求8所述的控制装置,其中,所述控制器还包括:资源建立模块,用于为所述虚拟机对应的交换机之间建立逻辑隧道,使对应的交换机连接。
- 如权利要求8所述的控制装置,其中,所述数据接收模块还用于: 接收交换机发送的上送报文;其中当所述上送报文为第一packet_in报文时,所述数据处理模块启动;所述第一packet_in报文为交换机接收第一虚拟机向第二虚拟机第一次通信的报文时,对所述报文进行转换所获得;所述控制器还包括:路径计算模块,用于当所述上送报文为第二packet_in报文时,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到端路径,形成第一虚拟机和第二虚拟机之间的流表,并分别发送给第一虚拟机和第二虚拟机对应的交换机;其中当交换机接收第一虚拟机向第二虚拟机非第一次通信时的报文,判断第一虚拟机与第二虚拟机没有所匹配的所述流表时,将所述报文转换为第二packet_in报文并发送至所述数据接收模块。
- 如权利要求8所述的控制装置,其中,所述数据接收模块从所述资源池管理系统获取网络信息表,所述网络属性记载于所述网络信息表中,所述网络信息表由所述资源池管理系统根据所述网络属性创建。
- 如权利要求8所述的控制装置,其中,所述租户网络拓扑信息包括租户子网段互通策略信息,虚拟机所在服务器主机的位置信息和虚拟机所连接交换机的信息,其中所述子网段互通策略信息是由用户通过所述资源池管理系统预先配置。
- 如权利要求8所述的控制装置,其中,所述网络属性包括资源池管理系统根据用户的操作所配置虚拟机的IP地址、VLAN ID、VXLAN ID、隧道ID、VRF ID、虚拟机所在服务器主机的信息、服务器主机连接的物理交换机端口、租户网络拓扑信息。
- 一种软件定义网络的通信方法,用于资源池管理系统,所述通信方法包括:根据用户对网络资源池的操作配置虚拟机,为所述虚拟机配置网络资源;根据所述网络资源的信息生成网络属性;以及将所述网络属性发送至控制器,使所述控制器能够从所述网络属性获得租户网络拓扑信息,并当第一虚拟机与第二虚拟机之间第一次通信时,能够将所述租户网络拓扑信息翻译为流表,将所述流表下发至所述虚拟机对应的交换机,使得当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间 不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
- 如权利要求14所述的通信方法,其中,根据用户对网络资源池的操作配置虚拟机,为所述虚拟机配置网络资源的步骤包括:根据用户对网络资源池的操作,在资源池配置对应所述操作的虚拟机;根据资源池所配置的虚拟机,在由多台服务器主机和交换机构成的物理网络资源中,在其中至少一台服务器主机的物理端口和逻辑端口下,创建相同数量的虚拟机,并配置相应的网络资源。
- 如权利要求14所述的通信方法,其中,在根据所述网络资源的信息生成网络属性的步骤之后还包括:根据所述网络属性形成网络信息表,通过将所述网络信息表发送至控制器,将所述网络属性发送至控制器。
- 一种资源池管理系统,包括:资源管理模块,用于根据用户对网络资源池的操作配置虚拟机,为所述虚拟机配置网络资源;属性生成模块,用于根据所述网络资源的信息生成网络属性;以及信息发送模块,用于将所述网络属性发送至控制器,使所述控制器能够从所述网络属性获得租户网络拓扑信息,并当第一虚拟机与第二虚拟机之间第一次通信时,能够将所述租户网络拓扑信息翻译为流表,将所述流表下发至所述虚拟机对应的交换机,使得当所述交换机依据所述流表判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
- 如权利要求17所述的资源池管理系统,其中,所述资源管理模块包括:计算资源管理单元,用于根据用户对网络资源池的操作,在资源池配置对应所述操作的虚拟机;网络资源管理单元,用于根据资源池所配置的虚拟机,在由多台服务器主机和交换机构成的物理网络资源中,在其中至少一台服务器主机的物理端口和逻辑端口下,创建相同数量的虚拟机,并配置相应的网络资源。
- 一种软件定义网络的通信方法,用于交换机,所述通信方法包括:接收第一虚拟机向第二虚拟机通信时的报文;从控制器获取用于使资源池管理系统根据用户对网络资源池的操作所配置虚拟机通信的流表,依据所述流表进行匹配,获得匹配结果,其中所述流表为控制器依据虚拟机的网络资源的租户网络拓扑信息生成;以及根据匹配结果,判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
- 如权利要求19所述的通信方法,其中,在所述接收第一虚拟机向第二虚拟机通信时的报文的步骤之后还包括:判断第一虚拟机与所述第二虚拟机之间是否为第一次通信,当为第一次通信时,则将所述报文转换为第一packet_in报文并发送至控制器;当并非为第一次通信时,则向下执行步骤。
- 如权利要求19所述的通信方法,其中,在获得所述匹配结果的步骤之后还包括:当根据匹配结果,判断第一虚拟机与第二虚拟机之间为互通时,将所述报文发送至第二虚拟机对应的交换机;当根据匹配结果,判断第一虚拟机与第二虚拟机没有相匹配的所述流表时,将所述报文转换为第二packet_in报文并向控制器发送,使控制器获取所述第二packet_in报文,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到路径,形成第一虚拟机和第二虚拟机之间的流表。
- 一种交换机,包括:报文获取模块,用于接收第一虚拟机向第二虚拟机通信时的报文;匹配模块,用于从控制器获取用于使资源池管理系统根据用户对网络资源池的操作所配置虚拟机通信的流表,依据所述流表进行匹配,获得匹配结果,其中所述流表为控制器依据虚拟机的网络资源的信息生成;以及第一报文处理模块,用于根据匹配结果,判断第一虚拟机与第二虚拟机之间不能通信时,在第一次通信及后续通信中,直接丢弃第一虚拟机与第二虚拟机之间的报文。
- 如权利要求22所述的交换机,还包括:判断模块,用于判断第一虚拟机与所述第二虚拟机之间是否为第一次通信;报文转换模块,当为第一次通信时,则将所述报文转换为第一packet_in报文并发送至控制器;当并非为第一次通信时,则将所述报文发送至所述匹配模块。
- 如权利要求22所述的交换机,还包括:第二报文处理单元,用于当根据匹配结果判断第一虚拟机与第二虚拟机之间为互通时,将所述报文发送至第二虚拟机对应的交换机;第三报文处理单元,用于当根据匹配结果判断第一虚拟机与第二虚拟机没有相匹配的所述流表时,将所述报文转换为第二packet_in报文并向控制器发送,使控制器获取所述第二packet_in报文,根据第一虚拟机和第二虚拟机分别对应服务器主机的信息计算端到端路径,形成第一虚拟机和第二虚拟机之间的流表。
- 一种软件定义网络的通信系统,包括多台服务器主机,其中,还包括如权利要求8至13任一项所述控制装置、如权利要求17或18所述的资源池管理系统和如权利要求22至24任一项所述的交换机,其中每一所述服务器主机与其中一所述交换机连接,所述交换机与所述控制装置,所述控制装置与所述资源池管理系统连接。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14888266.5A EP3128705B1 (en) | 2014-03-31 | 2014-12-31 | Resource pool management system and communication method |
US15/122,323 US9992104B2 (en) | 2014-03-31 | 2014-12-31 | Communication method, communication system, resource pool management system, switch device and control device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410127774.0 | 2014-03-31 | ||
CN201410127774.0A CN104954281B (zh) | 2014-03-31 | 2014-03-31 | 通信方法、系统、资源池管理系统、交换机和控制装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015149563A1 true WO2015149563A1 (zh) | 2015-10-08 |
Family
ID=54168643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/095739 WO2015149563A1 (zh) | 2014-03-31 | 2014-12-31 | 通信方法、系统、资源池管理系统、交换机和控制装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9992104B2 (zh) |
EP (1) | EP3128705B1 (zh) |
CN (1) | CN104954281B (zh) |
WO (1) | WO2015149563A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591955B (zh) * | 2015-10-30 | 2019-07-09 | 新华三技术有限公司 | 一种报文传输的方法和装置 |
CN106817291A (zh) * | 2015-11-30 | 2017-06-09 | 中兴通讯股份有限公司 | Vxlan实现装置及其工作方法 |
CN106936715B (zh) * | 2015-12-31 | 2019-06-07 | 新华三技术有限公司 | 虚拟机报文控制方法及装置 |
CN107104871B (zh) * | 2016-02-22 | 2021-11-19 | 中兴通讯股份有限公司 | 子网互通方法和装置 |
CN106789757B (zh) * | 2016-03-29 | 2020-10-13 | 新华三技术有限公司 | 一种访问控制方法及装置 |
CN106060085B (zh) * | 2016-07-15 | 2019-09-17 | 新华三技术有限公司 | 防止arp报文攻击方法以及装置 |
CN107733765B (zh) * | 2016-08-12 | 2020-09-08 | 中国电信股份有限公司 | 映射方法、系统和相关设备 |
CN107005441B (zh) * | 2016-08-25 | 2020-12-04 | 华为技术有限公司 | 拨测方法、拨测系统和计算节点 |
CN106301941B (zh) * | 2016-08-29 | 2019-08-27 | 广州西麦科技股份有限公司 | Overlay一键部署方法及系统 |
SG11201903920VA (en) | 2016-11-03 | 2019-05-30 | Guangdong Oppo Mobile Telecommunications Corp Ltd | Communication method, terminal device and network device |
CN108270592B (zh) * | 2016-12-30 | 2021-05-04 | 中兴通讯股份有限公司 | 一种网络资源配置的管控方法及装置 |
US10594829B2 (en) | 2017-05-24 | 2020-03-17 | At&T Intellectual Property I, L.P. | Cloud workload proxy as link-local service configured to access a service proxy gateway via a link-local IP address to communicate with an external target service via a private network |
CN107741874B (zh) * | 2017-10-12 | 2021-05-14 | 武汉中地数码科技有限公司 | 一种gis云虚拟机自动创建方法及系统 |
WO2019090523A1 (zh) * | 2017-11-08 | 2019-05-16 | 华为技术有限公司 | 一种无服务器架构下业务部署的方法和函数管理平台 |
CN109768931B (zh) * | 2017-11-09 | 2020-10-13 | 中国移动通信集团公司 | 处理数据包的方法、交换机、装置及计算机可读存储介质 |
US10708196B2 (en) * | 2018-01-15 | 2020-07-07 | Hewlett Packard Enterprise Development Lp | Modifications of headend forwarding rules to join wide area network branch hosts to multicast groups |
US10680831B2 (en) * | 2018-08-14 | 2020-06-09 | Juniper Networks, Inc. | Single point of management for multi-cloud environment including route propagation, security, and application deployment |
US10860368B2 (en) | 2018-09-28 | 2020-12-08 | Juniper Networks, Inc. | Migrating workloads in multicloud computing environments |
CN111262771B (zh) * | 2018-11-30 | 2021-06-22 | 北京金山云网络技术有限公司 | 虚拟私有云通信系统、系统配置方法及控制器 |
CN110426971B (zh) * | 2019-06-26 | 2021-07-20 | 北京全路通信信号研究设计院集团有限公司 | 一种轨道交通控制网络数据采集和管理方法及系统 |
CN110838966B (zh) * | 2019-11-20 | 2022-03-01 | 紫光华山科技有限公司 | 一种设备连接控制方法及装置 |
CN110995744B (zh) * | 2019-12-13 | 2022-02-22 | 深信服科技股份有限公司 | 报文的传输方法、装置、软件定义网络交换机及存储介质 |
US12068955B2 (en) * | 2020-10-21 | 2024-08-20 | Huawei Technologies Co., Ltd. | Method for controlling traffic forwarding, device, and system |
CN114726715A (zh) * | 2021-01-05 | 2022-07-08 | 中国移动通信有限公司研究院 | 一种数据帧传输方法、虚拟化平台及存储介质 |
CN113300952B (zh) * | 2021-04-14 | 2022-08-12 | 启明星辰信息技术集团股份有限公司 | 一种用于云安全资源池的分布式引流系统及其引流方法 |
CN115499272B (zh) * | 2022-07-29 | 2023-05-30 | 天翼云科技有限公司 | 基于云间高速的链路切换方法、装置及计算机设备 |
CN115484208A (zh) * | 2022-09-16 | 2022-12-16 | 杭州安恒信息技术股份有限公司 | 一种基于云安全资源池的分布式引流系统和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110134931A1 (en) * | 2009-12-08 | 2011-06-09 | Jacobus Van Der Merwe | Virtual router migration |
CN103346922A (zh) * | 2013-07-26 | 2013-10-09 | 电子科技大学 | 基于sdn的确定网络状态的控制器及其确定方法 |
CN103475722A (zh) * | 2013-09-13 | 2013-12-25 | 中国联合网络通信集团有限公司 | 一种业务协同平台实现系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2413547A4 (en) * | 2009-03-26 | 2014-12-24 | Nec Corp | ROUTE DETERMINATION SERVER, ROUTE DETERMINATION METHOD AND ROUTE DETERMINATION PROGRAM |
CN103081409B (zh) * | 2010-09-09 | 2015-07-08 | 日本电气株式会社 | 网络系统和网络管理方法 |
CA2810660C (en) | 2010-09-09 | 2016-04-26 | Nec Corporation | Computer system and communication method in computer system |
WO2012096131A1 (ja) * | 2011-01-13 | 2012-07-19 | 日本電気株式会社 | ネットワークシステム、及び経路制御方法 |
JP6080313B2 (ja) * | 2011-08-04 | 2017-02-15 | ミドクラ エスエーアールエル | 仮想ネットワークを実装及び管理するシステム及び方法 |
CN102857416B (zh) * | 2012-09-18 | 2016-09-28 | 中兴通讯股份有限公司 | 一种实现虚拟网络的方法、控制器和虚拟网络 |
CN104022960B (zh) * | 2013-02-28 | 2017-05-31 | 新华三技术有限公司 | 基于OpenFlow协议实现PVLAN的方法和装置 |
CN103179046B (zh) * | 2013-04-15 | 2016-03-30 | 昆山天元昌电子有限公司 | 基于openflow的数据中心流量控制方法及系统 |
CN103269282A (zh) * | 2013-04-25 | 2013-08-28 | 杭州华三通信技术有限公司 | 网络配置自动部署方法和装置 |
CN103596652B (zh) * | 2013-07-30 | 2015-12-30 | 华为技术有限公司 | 一种网络控制方法及装置 |
-
2014
- 2014-03-31 CN CN201410127774.0A patent/CN104954281B/zh active Active
- 2014-12-31 EP EP14888266.5A patent/EP3128705B1/en active Active
- 2014-12-31 WO PCT/CN2014/095739 patent/WO2015149563A1/zh active Application Filing
- 2014-12-31 US US15/122,323 patent/US9992104B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110134931A1 (en) * | 2009-12-08 | 2011-06-09 | Jacobus Van Der Merwe | Virtual router migration |
CN103346922A (zh) * | 2013-07-26 | 2013-10-09 | 电子科技大学 | 基于sdn的确定网络状态的控制器及其确定方法 |
CN103475722A (zh) * | 2013-09-13 | 2013-12-25 | 中国联合网络通信集团有限公司 | 一种业务协同平台实现系统 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3128705A4 * |
Also Published As
Publication number | Publication date |
---|---|
CN104954281A (zh) | 2015-09-30 |
EP3128705A4 (en) | 2017-12-06 |
CN104954281B (zh) | 2018-08-03 |
EP3128705B1 (en) | 2021-10-13 |
US20160373345A1 (en) | 2016-12-22 |
US9992104B2 (en) | 2018-06-05 |
EP3128705A1 (en) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015149563A1 (zh) | 通信方法、系统、资源池管理系统、交换机和控制装置 | |
US10003571B2 (en) | Method and apparatus for implementing communication between virtual machines | |
EP3499815B1 (en) | Packet transmission | |
EP3313025B1 (en) | Data packet forwarding | |
EP3633929B1 (en) | Method for sending virtual extensible local area network packet, computer device, and computer readable medium | |
EP2843906B1 (en) | Method, apparatus, and system for data transmission | |
US10742697B2 (en) | Packet forwarding apparatus for handling multicast packet | |
US20170237655A1 (en) | Forwarding Data Packets In Software Defined Networks | |
WO2020135574A1 (zh) | 报文处理方法、装置、控制面设备和计算机存储介质 | |
EP3148113B1 (en) | Multicast method, apparatus, and system for software defined network | |
JP2015526992A (ja) | 通信の方法及びシステム | |
WO2018001242A1 (zh) | 一种数据报文处理方法及装置 | |
US9509610B2 (en) | Forwarding packet in stacking system | |
US20160149795A1 (en) | Overlay network-based original packet flow mapping apparatus and method therefor | |
WO2017157206A1 (zh) | 云数据中心互联方法及装置 | |
US9954775B2 (en) | Software-defined network (SDN) system using host abstraction, and method for implementing the same | |
JP2019519146A (ja) | ルーティング確立、パケット送信 | |
US10104018B2 (en) | Method, apparatus, and system for controlling forwarding of service data in virtual network | |
US20150263954A1 (en) | Communication system, virtual machine server, virtual network management apparatus, network control method, and program | |
US20150055662A1 (en) | Internet group management protocol (igmp) leave message processing synchronization | |
KR101996337B1 (ko) | 교환기 처리 방법, 제어기, 교환기 및 교환기 처리 시스템 | |
CN105743821A (zh) | 一种防止逻辑交换机所占用资源发生冲突的方法及系统 | |
JP6307932B2 (ja) | パケット転送経路取得システムおよびパケット転送経路取得方法 |
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: 14888266 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2014888266 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15122323 Country of ref document: US Ref document number: 2014888266 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |