Summary of the invention
In order to solve the problem that physical network device cannot change flexibly, software defined network (SDN) and network virtualization (NFV) flourish in recent years, NFV realizes forwarding and the controlling functions of network packet based on the x86 platform of current extensive use, SDN is a kind of implementation of network virtualization, its core technology network equipment chain of command and data surface is separated by agreements such as OpenFlow, and be the important directions of future network development.The present invention proposes a kind of cloud computing many tenants scene overall network solution realized based on SDN.
In a first aspect of the present invention, propose the host in a kind of cloud platform architecture, comprising:
At least one cloud main frame, be configured to: if described cloud main frame does not have the object MAC address of packet, then described cloud main frame sends ARP broadcast by internal switch to ARP response agent, receive from described arp response agency the target MAC (Media Access Control) address matched with the object internet protocol address of packet by described internal switch, described packet is encapsulated with received target MAC (Media Access Control) address, and by described Packet Generation to described internal switch;
Described arp response agency, be configured to when receiving the ARP broadcast from cloud main frame from internal switch, the object IP address of the packet in the ARP broadcast received is sent to management server, receive the target MAC (Media Access Control) address with the object IP addresses match of packet from described management server, and send described target MAC (Media Access Control) address by described internal switch to described cloud main frame;
Described internal switch, be configured to from described cloud host receiving data bag, if from the MAC Address that the target MAC (Media Access Control) address of the packet of described cloud main frame reception is not the first gateway of virtual router, whether the cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address possess communication authority and described source MAC and described target MAC (Media Access Control) address whether in same host to ask described SDN controller to be determined for the source MAC then sending the packet received to software defined network SDN controller and target MAC (Media Access Control) address, when receive the instruction cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address from described SDN controller and possess communication authority and message not in same host of described source MAC and described target MAC (Media Access Control) address time, by described Packet Generation to external switch,
Virtual router, has the first gateway and the second gateway; And
Described external switch, is configured to when receiving packet from described internal switch, by network tunnel by described Packet Generation to another host.
Preferably, described cloud main frame is further configured to: if do not receive the target MAC (Media Access Control) address of described packet from described arp response agency, then do not send packet.
Preferably, described internal switch is further configured to: if the target MAC (Media Access Control) address of the packet received from described cloud main frame is the MAC Address of the first gateway of described virtual router, then directly by the first gateway, described packet is transmitted to described virtual router;
Wherein, described virtual router is configured to: receive described packet by the first gateway from described internal switch, the second gateway with the object IP addresses match of described packet is found according to routing table, the target MAC (Media Access Control) address of described packet is changed into the target MAC (Media Access Control) address corresponding with described object IP address, the source MAC of described packet is changed into the MAC Address of described second gateway, and pass through described second gateway by described Packet Generation to described internal switch; And
Described internal switch is further configured to: receive described packet from described virtual router, whether the cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address possess communication authority and described source MAC and described target MAC (Media Access Control) address whether in same host to ask described SDN controller to be determined for the source MAC sending the packet received to described SDN controller and target MAC (Media Access Control) address, when receive the instruction cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address from described SDN controller and possess communication authority and message not in same host of described source MAC and described target MAC (Media Access Control) address time, by described Packet Generation to described external switch.
Preferably, described virtual router is further configured to: if do not find the second gateway with the object IP addresses match of described packet according to routing table, then do not send described packet.
Preferably, described internal switch is further configured to: abandon instruction if do not receive to indicate the forwarding instruction of described source MAC and described target MAC (Media Access Control) address or receive message from described SDN controller after receiving described packet from described virtual router, then do not send described packet.
Preferably, described internal switch is further configured to: when receive the instruction cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address from described SDN controller and possess communication authority and message in same host of described source MAC and described target MAC (Media Access Control) address time, by described Packet Generation to the second cloud main frame matched with described target MAC (Media Access Control) address.
Preferably, described internal switch is further configured to: when receiving the instruction cloud main frame corresponding with described source MAC from described SDN controller and the cloud main frame corresponding with described target MAC (Media Access Control) address does not possess the message of communication authority, do not forward described packet.
Preferably, described virtual router is set up by Linux NameSpace mechanism.
Preferably, in described virtual router, firewall protection is achieved.
Preferably, in described virtual router, network address translation nat feature is achieved.
In a second aspect of the present invention, propose a kind of method for the host routing data bag in cloud platform architecture, comprising:
If at least one cloud main frame does not have the object MAC address of packet, then described cloud main frame sends ARP broadcast by internal switch to ARP response agent;
Described arp response agency is when receiving the ARP broadcast from cloud main frame from internal switch, the object IP address of the packet in the ARP broadcast received is sent to management server, receive the target MAC (Media Access Control) address matched with the object internet protocol address of packet from described management server, and send described target MAC (Media Access Control) address by described internal switch to described cloud main frame;
Described cloud main frame receives the target MAC (Media Access Control) address with the IP addresses match of packet by described internal switch from described arp response agency, encapsulates described packet with the target MAC (Media Access Control) address received, and by described Packet Generation to described internal switch;
Described internal switch receives described packet from described cloud main frame, if from the MAC Address that the target MAC (Media Access Control) address of the packet of described cloud main frame reception is not the first gateway of virtual router, whether the cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address possess communication authority and described source MAC and described target MAC (Media Access Control) address whether in same host to ask described SDN controller to be determined for the source MAC then sending the packet received to software defined network SDN controller and target MAC (Media Access Control) address, when receive the instruction cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address from described SDN controller and possess communication authority and message not in same host of described source MAC and described target MAC (Media Access Control) address time, by described Packet Generation to external switch, and
Described external switch receives described packet from described internal switch, and by network tunnel by described Packet Generation to another host.
Preferably, described method also comprises: if described cloud main frame does not receive the target MAC (Media Access Control) address of described packet from described arp response agency, then described cloud main frame does not send packet.
Preferably, described method also comprises:
If the target MAC (Media Access Control) address of the packet that described internal switch receives from described cloud main frame is the MAC Address of the first gateway of described virtual router, then directly by the first gateway, described packet is transmitted to described virtual router;
Described virtual router receives described packet by the first gateway from described internal switch, the second gateway with the object IP addresses match of described packet is found according to routing table, the target MAC (Media Access Control) address of described packet is changed into the target MAC (Media Access Control) address corresponding with described object IP address, the source MAC of described packet is changed into the MAC Address of described second gateway, and pass through described second gateway by described Packet Generation to described internal switch;
Described internal switch receives described packet from described virtual router, whether the cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address possess communication authority and described source MAC and described target MAC (Media Access Control) address whether in same host to ask described SDN controller to be determined for the source MAC sending the packet received to described SDN controller and target MAC (Media Access Control) address, when receive the instruction cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address from described SDN controller and possess communication authority and message not in same host of described source MAC and described target MAC (Media Access Control) address time, by described Packet Generation to external switch, and
Described external switch receives described packet from described internal switch, and by network tunnel by described Packet Generation to another host.
Preferably, described method also comprises: if described virtual router does not find the second gateway with the object IP addresses match of described packet according to routing table, then described virtual router does not send described packet.
Preferably, described method also comprises: if described internal switch does not receive to indicate the forwarding instruction of described source MAC and described target MAC (Media Access Control) address or receive message from described SDN controller after receiving described packet from described virtual router abandon instruction, then described internal switch does not send described packet.
Preferably, described method also comprises:
When described internal switch from described SDN controller receive the instruction cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address possess communication authority and message in same host of described source MAC and described object MAC time, according to described target MAC (Media Access Control) address by described Packet Generation to the second cloud main frame matched with described target MAC (Media Access Control) address.
Preferably, described method also comprises:
When described internal switch from described SDN controller receive instruction the cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address do not possess the message of communication authority time, do not forward described packet.
Preferably, described virtual router is set up by Linux NameSpace mechanism.
Preferably, in described virtual router, firewall protection is achieved.
Preferably, in described virtual router, network address translation nat feature is achieved.
In a third aspect of the present invention, propose the host in a kind of cloud platform architecture, comprising:
External switch, is configured to receive packet by network tunnel, and described packet is transmitted to internal switch;
Described internal switch, be configured to send the source MAC address of the packet received and target MAC (Media Access Control) address and source internet protocol IP address and object IP address to software defined network SDN controller determine in described internal switch for sending the port of described packet to ask described SDN controller, receive for sending the message of the port of described packet in the described internal switch of instruction from described SDN controller, and by described port by described Packet Generation to the recipient's cloud main frame matched with described target MAC (Media Access Control) address; And
Described recipient's cloud main frame, is configured to receive described packet by described port from described internal switch.
In a fourth aspect of the present invention, propose a kind of method for the host routing data bag in cloud platform architecture, comprising:
At external switch, place receives packet by network tunnel, and described packet is transmitted to internal switch;
Send the source MAC address of the packet received and target MAC (Media Access Control) address and source internet protocol IP address and object IP address to determine in described internal switch for sending the port of described packet to software defined network SDN controller to ask described SDN controller at described internal switch place, receive for sending the message of the port of described packet in the described internal switch of instruction from described SDN controller, and by described port by described Packet Generation to the recipient's cloud main frame matched with described target MAC (Media Access Control) address; And
Described recipient's cloud main frame receives described packet by described port from described internal switch.
In a fifth aspect of the present invention, propose a kind of cloud platform architecture, comprise multiple according to the host in above-mentioned first aspect and the third aspect described in either side, management server and software defined network SDN controller, wherein,
Described management server is configured to receive ARP broadcast from described arp response agency, act on behalf of the identifier lookup local pool of the host at place to obtain the target MAC (Media Access Control) address of packet according to described ARP broadcast and described arp response, and described target MAC (Media Access Control) address is sent to described arp response agency; And
Described SDN controller is configured to receive determining whether the cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address possess the request whether in same host of communication authority and described source MAC and described target MAC (Media Access Control) address from described internal switch, and sends the instruction cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address to described internal switch and whether possess communication authority and described source MAC and the described target MAC (Media Access Control) address message whether in same host.
In a sixth aspect of the present invention, propose a kind of method in cloud platform architecture, comprise according to the method in above-mentioned second aspect and fourth aspect described in either side, and comprise:
Described management server receives ARP broadcast from described arp response agency, act on behalf of the identifier lookup local pool of the host at place to obtain the target MAC (Media Access Control) address of packet according to described ARP broadcast and described arp response, and described target MAC (Media Access Control) address is sent to described arp response agency; And
Described SDN controller receives determining whether the cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address possess the request whether in same host of communication authority and described source MAC and described target MAC (Media Access Control) address from described internal switch, and sends the instruction cloud main frame corresponding with described source MAC and the cloud main frame corresponding with described target MAC (Media Access Control) address to described internal switch and whether possess communication authority and described source MAC and the described target MAC (Media Access Control) address message whether in same host.
The present invention by means of the x86 platform extensively existed and SDN technology, for cloud computing machine room many tenants scene provides the solution of landing of a kind of network virtualization of high flexibility and Network Isolation.By mechanism such as virtual subnet, virtual router and network tunnels, the physical network decoupling zero of network and the machine room aspect formed between tenant's cloud main frame is come, thus making all cloud host works on a complete software defined network network, the flexibility of management improves greatly.
Embodiment
First, the function of subnet in many tenants cloud platform architecture and virtual router is described with reference to Fig. 1.In many tenants cloud platform architecture, carried out the cloud host resource of leading subscriber by logical subnetwork (hereinafter referred to as " subnet "), and set the communications boundary (as shown in Figure 1) between each cloud main frame based on subnet.Cloud main frame is the web hosting service that cloud computing manufacturer provides to user, and cloud main frame belongs to the service of Iaas aspect.User need to specify when creating subnet this subnet IP without Route Selection in class field (CIDR), to be this subnet cloud host assignment IP address.Can realize across functions such as subnetwork communicating, network address translation (NAT) and fire compartment walls based on virtual router.If wish the communication realized between multiple subnets of same user, then only need by these sub network correlation to same virtual router (vRouter).By the packet of cloud main frame between network tunnel encapsulation different hosts machine, avoid upper strata physical network device perception and the lower stratus host information of study, thus logically ensure the independence of cloud mainframe network and physical network.SDN controller accurately can control communication license between each cloud main frame and data flow.
The function of each assembly in cloud platform architecture is described referring to Fig. 2.Cloud platform architecture comprises management server 210, SDN controller 220, host agency 230, virtual switch, virtual router and arp response agency.
Management server 210 is for all relevant hosts under the overall leadership and cloud host information, and its major function comprises: to host, agency 230 issues behavior command, to each host and on cloud main frame control; And externally provide the controlling application program interface (API) of RESTFUL style, for applications of plugging into (APP).
SDN controller 220 is responsible for issuing control command to virtual switch, and its major function comprises: judge the communication license between cloud main frame based on tenant and subnet; And be dynamically specify opposite end IP across the network tunnel of host.
Host agency 230 is the Agents operated on host, and its major function comprises: receive the instruction that also response management server issues; Set up and safeguard the virtual network environment on host, this virtual network environment comprises cloud main frame Microsoft Loopback Adapter, virtual switch and virtual router; And gather the resource metrics information of host and each cloud main frame, and report in time and early warning.
Virtual switch is the switch based on software simulating, uses maximum virtual switch software to be OpenvSwitch at present.The major function of virtual switch comprises: obtain data Packet forwarding strategy from SDN controller, and is followed successively by association cloud main frame and provides data exchanging function; And for providing the support of network service tunnel across the communication of host.
Virtual router is the virtual router by Linux NameSpace Mechanism establishing, and its major function comprises: for the cloud main frame in each subnet provides gateway and three layers of route service; For cloud host access outer net provides network N AT function; And according to the security strategy that user specifies, for each associated container provides firewall services.
Arp response agency is responsible for the local cloud host broadcast of response, and its major function comprises: the ARP broadcast sent for the inner cloud main frame of this host provides response; And obtain arp response data from management server.
Cloud platform architecture is mainly through setting up with under type.First, management server is set up.Management server is the control brain of whole network of computer room framework, the information be correlated with based on each tenant of database purchase, subnet, cloud main frame and network in its rear end.Management server sends instruction according to API Calls to corresponding host, realizes the setting to host cluster.
Then, virtual switch on host is set by host Agent.In order to ensure the communication efficiency in same host between each cloud main frame, and conveniently debug thing and north and south flow, every platform host all establishes two virtual switches (internal switch (switch_inner) in referenced in schematic 3 and external switch (switch_outer)), switch_inner switch is mainly used to realize the network service between local cloud main frame, and switch_outer is mainly used to the network traffics sending and receive across host.Flow wherein between switch_outer and other host needs to be encapsulated by network tunnel, the reason done like this is that different tenants may set up the subnet of identical private ip section, although these IP repeated are sightless to each tenant, but but can produce route flapping problem to network of computer room equipment, therefore in order to shield cloud host logic subnet to the observability of upper layer device, the flow across host must be put into the tunnels such as VXLAN and transmit.
Then, virtual router on host is set by host Agent.Virtual router inside needs the gateway setting up each association subnet, if the same virtual router of same tenant's two sub network correlation, then realizes the communication across subnet by this virtual router.Such as, if a certain virtual router is associated with A, B, C tri-subnets, so this virtual router inside then needs to be respectively these three subnets and sets up a gateway, so that the intercommunication between these three subnets.In addition, the IP distributed due to cloud main frame is the privately owned network segment, directly cannot access outer net, by realizing nat feature in virtual router, this programme ensures that cloud main frame can access outer net.Meanwhile, the firewall protection that cloud main frame provides also is realized in virtual router.
Next, the arp response agency on host is set up.Although different tenant may use the subnet of identical IP section, but the MAC Address corresponding for its each IP of a certain tenant must be fixing, this just requires can respond MAC Address accurately to the cloud host A RP broadcast of each tenant, and arp response agency arranged to solve this demand.In addition in order to ensure the authority that ARP proxy responds, when cloud main frame sends ARP broadcast, by virtual switch, broadcast packet only to be sent on the port of arp response agency, so also can greatly reduce the number of broadcast times of machine room aspect, reduce the risk of broadcast storm.
Finally, SDN controller is set.A main purpose of SDN realizes controlling flexibly and effectively the network equipment by software, virtual switch on each host all needs association SDN controller after start-up, and all bag paths forwarded by virtual switch all will be judged to forward by controller.Controller mainly does the judgement of three aspects: whether the bag reported allows to forward, and which switch ports themselves is walked in forwarding and when forwarding across host, which the IP of opposite end host is.
In order to ensure high-performance and the High Availabitity of whole system, management server and SDN controller all externally will provide service with the form of cluster.
The structure of the host 1 in cloud platform architecture is described below with reference to Fig. 3 and Fig. 4.Host comprises at least one cloud main frame, internal switch (switch_inner), virtual router (vRouter), external switch (switch_outer) and arp response agency.At least one cloud main frame comprises the first cloud main frame (cloud main frame 1 as shown in Figure 4).
When sending packet by host 1, if the first cloud main frame is configured to the target MAC (Media Access Control) address that the first cloud main frame does not have packet, then the first cloud main frame sends ARP broadcast by internal switch to arp response agency, received the target MAC (Media Access Control) address matched with the object internet protocol address of packet from arp response agency by internal switch, by received target MAC (Media Access Control) address encapsulated data packet, and by Packet Generation to internal switch.Alternatively, the first cloud main frame is further configured to: if do not receive the target MAC (Media Access Control) address of packet from arp response agency, then do not send packet.
Arp response agency is configured to when receiving the ARP broadcast from cloud main frame from internal switch, the object IP address of the packet in the ARP broadcast received is sent to management server, receive the target MAC (Media Access Control) address with the object IP addresses match of packet from management server, and send target MAC (Media Access Control) address by internal switch to the first cloud main frame.
Internal switch is configured to from the first cloud host receiving data bag, if from the MAC Address (same network segment situation) that the target MAC (Media Access Control) address of the packet of the first cloud main frame reception is not the first gateway of virtual router, whether the cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address possess communication authority and source MAC and target MAC (Media Access Control) address whether in same host to ask SDN controller to be determined for the source MAC then sending the packet received to SDN controller and target MAC (Media Access Control) address, when receive the instruction cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address from SDN controller and possess communication authority and message not in same host of source MAC and target MAC (Media Access Control) address time, by Packet Generation to external switch (different host situation of same network segment, as shown in Figure 4 C).Alternatively, internal switch be further configured to when receive the instruction cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address from SDN controller and possess communication authority and message in same host of source MAC and target MAC (Media Access Control) address time, by Packet Generation to the second cloud main frame matched with target MAC (Media Access Control) address (same network segment chummage masters scenario, as shown in Figure 4 A).Alternatively, internal switch is further configured to when receiving the instruction cloud main frame corresponding with source MAC from SDN controller and the cloud main frame corresponding with target MAC (Media Access Control) address does not possess the message of communication authority, not forwarding data bag.Wherein, virtual router has the first gateway and the second gateway.
External switch is configured to when receiving packet from internal switch, by network tunnel by Packet Generation to another host.
Alternatively, internal switch is further configured to: if the target MAC (Media Access Control) address of packet that the first cloud main frame receives is the MAC Address (rete mirabile section) of the first gateway of virtual router, then directly by the first gateway, packet is transmitted to virtual router.
Virtual router is configured to receive packet by the first gateway from internal switch, the second gateway with the object IP addresses match of packet is found according to routing table, the target MAC (Media Access Control) address of packet is changed into the target MAC (Media Access Control) address corresponding with object IP address, the source MAC of packet is changed into the MAC Address of the second gateway, and pass through the second gateway by Packet Generation to internal switch.Alternatively, virtual router is further configured to: if do not find the second gateway with the object IP addresses match of packet according to routing table, then do not send packet.
Internal switch is further configured to and receives packet from virtual router, whether the cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address possess communication authority and source MAC and target MAC (Media Access Control) address whether in same host to ask SDN controller to be determined for the source MAC sending the packet received to SDN controller and target MAC (Media Access Control) address, when receive the instruction cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address from SDN controller and possess communication authority and message not in same host of source MAC and target MAC (Media Access Control) address time, by Packet Generation to external switch (different host situation of rete mirabile section, as shown in Figure 4 D).Alternatively, internal switch be further configured to when receive the instruction cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address from SDN controller and possess communication authority and message in same host of source MAC and target MAC (Media Access Control) address time, by Packet Generation to the second cloud main frame matched with target MAC (Media Access Control) address (rete mirabile section chummage masters scenario, as shown in Figure 4 B).Alternatively, internal switch is further configured to: when receiving the instruction cloud main frame corresponding with source MAC from SDN controller and the cloud main frame corresponding with target MAC (Media Access Control) address does not possess the message of communication authority, not forwarding data bag.Alternatively, internal switch is further configured to: abandon instruction if do not receive to indicate the forwarding instruction of source MAC and target MAC (Media Access Control) address or receive message from SDN controller after receiving packet from virtual router, then do not send packet.
In the present embodiment, virtual router is set up by Linux NameSpace mechanism.Firewall protection and/or nat feature is achieved in virtual router.
When receiving packet by host 2, external switch is configured to receive packet by network tunnel, and packet is transmitted to internal switch;
Internal switch is configured to send the source MAC address of the packet received and target MAC (Media Access Control) address and source internet protocol IP address and object IP address to ask in SDN controller determination internal switch for sending the port of packet to software defined network SDN controller, receive for sending the message of the port of packet in instruction internal switch from SDN controller, and by port by Packet Generation to the recipient's cloud main frame matched with target MAC (Media Access Control) address; And
Recipient's cloud main frame is configured to receive packet by port from internal switch.
The method of the host 1 routing data bag in cloud platform architecture is described below with reference to Fig. 3 and Fig. 4.
When sending packet by host 1, if the first cloud main frame at least one cloud main frame does not have the target MAC (Media Access Control) address of packet, then the first cloud main frame sends ARP broadcast by internal switch to arp response agency, arp response agency is when receiving the ARP broadcast from cloud main frame from internal switch, the object IP address of the packet in the ARP broadcast received is sent to management server, receive the target MAC (Media Access Control) address with the object IP addresses match of packet from management server, and send target MAC (Media Access Control) address by internal switch to the first cloud main frame, first cloud main frame receives the target MAC (Media Access Control) address with the IP addresses match of packet by internal switch from arp response agency, by the target MAC (Media Access Control) address encapsulated data packet received, and by Packet Generation to internal switch, internal switch is from the first cloud host receiving data bag, if from the MAC Address that the target MAC (Media Access Control) address of the packet of the first cloud main frame reception is not the first gateway of virtual router, whether the cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address possess communication authority and source MAC and target MAC (Media Access Control) address whether in same host to ask SDN controller to be determined for the source MAC then sending the packet received to SDN controller and target MAC (Media Access Control) address, when receive the instruction cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address from SDN controller and possess communication authority and message not in same host of source MAC and target MAC (Media Access Control) address time, by Packet Generation to external switch, and external switch receives packet from internal switch, and by network tunnel by Packet Generation to another host.
If the first cloud main frame does not receive the target MAC (Media Access Control) address of packet from arp response agency, then the first cloud main frame does not send packet.
If the target MAC (Media Access Control) address of the packet that internal switch receives from the first cloud main frame is the MAC Address of the first gateway of virtual router, then directly by the first gateway, packet is transmitted to virtual router, virtual router receives packet by the first gateway from internal switch, the second gateway with the object IP addresses match of packet is found according to routing table, the target MAC (Media Access Control) address of packet is changed into the target MAC (Media Access Control) address corresponding with object IP address, the source MAC of packet is changed into the MAC Address of the second gateway, and pass through the second gateway by Packet Generation to internal switch, internal switch receives packet from virtual router, whether the cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address possess communication authority and source MAC and target MAC (Media Access Control) address whether in same host to ask SDN controller to be determined for the source MAC sending the packet received to SDN controller and target MAC (Media Access Control) address, when receive the instruction cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address from SDN controller and possess communication authority and message not in same host of source MAC and target MAC (Media Access Control) address time, by Packet Generation to external switch, and external switch receives packet from internal switch, and by network tunnel by Packet Generation to another host.
If virtual router does not find the second gateway with the object IP addresses match of packet according to routing table, then virtual router does not send packet.
If internal switch does not receive to indicate the forwarding instruction of source MAC and target MAC (Media Access Control) address or receive message from SDN controller after receiving packet from virtual router abandon instruction, then internal switch does not send packet.
When internal switch from SDN controller receive the instruction cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address possess communication authority and message in same host of source MAC and object MAC time, according to target MAC (Media Access Control) address by Packet Generation to the second cloud main frame matched with target MAC (Media Access Control) address.
When internal switch from SDN controller receive instruction the cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address do not possess the message of communication authority time, not forwarding data bag.
In the present embodiment, virtual router is set up by Linux NameSpace mechanism.Firewall protection and/or nat feature is achieved in virtual router.
When receiving packet by host 2, at external switch, place receives packet by network tunnel, and packet is transmitted to internal switch;
The source MAC address of the packet received and target MAC (Media Access Control) address and source internet protocol IP address and object IP address is sent to software defined network SDN controller to ask in SDN controller determination internal switch for sending the port of packet at internal switch place, receive for sending the message of the port of packet in instruction internal switch from SDN controller, and by port by Packet Generation to the recipient's cloud main frame matched with target MAC (Media Access Control) address; And
Recipient's cloud main frame receives packet by port from internal switch.
Turn to Fig. 2, describe cloud platform architecture in detail with reference to Fig. 2.Except the structure above with reference to the host described in Fig. 3 and 4, in cloud platform architecture, management server is configured to receive ARP broadcast from arp response agency, act on behalf of the identifier lookup local pool of the host at place to obtain the target MAC (Media Access Control) address of packet according to ARP broadcast and arp response, and target MAC (Media Access Control) address is sent to arp response agency; And SDN controller be configured to from internal switch receive to determine the cloud main frame corresponding with source MAC and and the corresponding cloud main frame of target MAC (Media Access Control) address whether possess the request whether in same host of communication authority and source MAC and target MAC (Media Access Control) address, and internally switch sends the instruction cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address and whether possesses communication authority and source MAC and the target MAC (Media Access Control) address message whether in same host.
Below, the method in cloud platform architecture is described in detail with reference to Fig. 2.Except the method above with reference to the host routing data bag described in Fig. 3 and Fig. 4, also comprise in the method for cloud platform architecture routing data bag: management server receives ARP broadcast from arp response agency, act on behalf of the identifier lookup local pool of the host at place to obtain the target MAC (Media Access Control) address of packet according to ARP broadcast and arp response, and target MAC (Media Access Control) address is sent to arp response agency; And SDN controller from internal switch receive to determine the cloud main frame corresponding with source MAC and and the corresponding cloud main frame of target MAC (Media Access Control) address whether possess the request whether in same host of communication authority and source MAC and target MAC (Media Access Control) address, and internally switch sends the instruction cloud main frame corresponding with source MAC and the cloud main frame corresponding with target MAC (Media Access Control) address and whether possesses communication authority and source MAC and the target MAC (Media Access Control) address message whether in same host.
The present invention has the following advantages: promote the utilance to cheap x86 resource by NFV and SDN; Reduce the direct dependence to machine room physical network facility, be convenient to the flexible control of network data; By logical subnetwork and SDN, low cost realizes the access isolation between tenant's cloud main frame; By distributed virtual router, the communication between Dynamic controlling same tenant's cloud main frame, and the safety guarantee of strengthening to each cloud main frame; And effectively reduce machine room Web broadcast by arp response agency, reduce the possibility of detection mutually between the risk of broadcast storm and tenant.
Above detailed description, by using schematic diagram, flow chart and/or example, has set forth numerous embodiments of inspection method and system.When this schematic diagram, flow chart and/or example comprise one or more function and/or operation, it will be understood by those skilled in the art that each function in this schematic diagram, flow chart or example and/or operation can by various structure, hardware, software, firmware or in fact their combination in any come to realize separately and/or jointly.In one embodiment, some parts of theme described in embodiments of the invention can be realized by application-specific integrated circuit (ASIC) (ASIC), field programmable gate array (FPGA), digital signal processor (DSP) or other integrated forms.But, those skilled in the art will recognize that, some aspects of embodiment disclosed herein can realize in integrated circuits on the whole or partly equally, be embodied as one or more computer programs of running on one or more computer (such as, be embodied as the one or more programs run in one or more computer system), be embodied as one or more programs of running on the one or more processors (such as, be embodied as the one or more programs run on one or more microprocessor), be embodied as firmware, or be embodied as in fact the combination in any of aforesaid way, and those skilled in the art are according to the disclosure, the ability of design circuit and/or write software and/or firmware code will be possessed.In addition, those skilled in the art will recognize that, the mechanism of theme described in the disclosure can be distributed as the program product of various ways, and regardless of the actual particular type of signal bearing medium being used for performing distribution, the exemplary embodiment of theme described in the disclosure is all applicable.The example of signal bearing medium includes but not limited to: recordable-type media, as floppy disk, hard disk drive, compact-disc (CD), digital universal disc (DVD), digital magnetic tape, computer storage etc.; And transmission type media, as numeral and/or analog communication medium (such as, optical fiber cable, waveguide, wired communications links, wireless communication link etc.).
Although exemplary embodiment describe the present invention with reference to several, should be appreciated that term used illustrates and exemplary and nonrestrictive term.Spirit or the essence of invention is not departed from because the present invention can specifically implement in a variety of forms, so be to be understood that, above-described embodiment is not limited to any aforesaid details, and explain widely in the spirit and scope that should limit in claim of enclosing, therefore fall into whole change in claim or its equivalent scope and remodeling and all should be claim of enclosing and contained.