INFORMATION SYSTEM, CONTROL SERVER, VIRTUAL NETWORK MANAGEMENT METHOD, AND PROGRAM
20180013626 · 2018-01-11
Inventors
Cpc classification
H04L41/0895
ELECTRICITY
H04L45/00
ELECTRICITY
H04L41/0856
ELECTRICITY
H04L12/4641
ELECTRICITY
H04L41/0806
ELECTRICITY
International classification
Abstract
A control apparatus, includes a first unit configured to be capable of specifying an identification rule to identify a packet based on a user of a virtual network including a plurality of virtual nodes; and a second unit configured to be capable of sending an instruction to a physical node corresponding to each of the virtual nodes of the virtual network, wherein each of the virtual nodes includes a predetermined network function being capable of providing a first packet operation to the packet, wherein the instruction includes that the physical node provides a second packet operation to the packet so as to emulate the first packet operation.
Claims
1-8. (canceled)
7. A control apparatus, comprising: memory configured to store program instructions; and a processor configured to execute the program instructions to: identify a rule for a virtual network including a plurality of virtual nodes, wherein each of the virtual nodes includes a network function of a network appliance, the rule specifies at least a conversion operation between the virtual network and a physical network; identify an control information to emulate the network function, wherein the control information corresponds to the rule; and send the control information to a physical node corresponding to each of the virtual nodes of the virtual network.
8. The control apparatus according to claim 7, wherein the processor is further configured to execute program instructions to identify the virtual network corresponding to a characteristic of a packet.
9. The control apparatus according to claim 7, wherein the virtual network corresponds to an user.
10. The control apparatus according to claim 9, wherein the user is authorized to change a configuration of the virtual network.
11. The control apparatus according to claim 7, wherein the virtual network function of the network appliance comprises a virtual switching function, at least one of the virtual nodes has the virtual switching function to forward a packet.
12. The control apparatus according to claim 7, wherein the virtual network function of the network appliance comprises a virtual load balancing function, at least one of the virtual nodes has the virtual load balancing function to distribute a packet.
13. The control apparatus according to claim 7, wherein the virtual network function of the network appliance comprises a virtual fire wall function, at least one of the virtual nodes has the virtual fire wall function to drop a packet.
14. A network system, comprising: a physical node; and a control apparatus configured to control the physical node, wherein the control apparatus is further comprises: memory configured to store program instructions; and a processor configured to execute the program instructions to: identify a rule for a virtual network including a plurality of virtual nodes, wherein each of the virtual nodes includes a network function of a network appliance, the rule specifies at least a conversion operation between the virtual network and a physical network; identify an control information to emulate the network function, wherein the control information corresponds to the rule; and send the control information to the physical node corresponding to each of the virtual nodes of the virtual network.
15. The network system according to claim 14, wherein the processor is further configured to execute program instructions to identify the virtual network corresponding to a characteristic of a packet.
16. The network system according to claim 14, wherein the virtual network corresponds to an user.
17. The network system according to claim 16, wherein the user is authorized to change a configuration of the virtual network.
18. The network system according to claim 14, wherein the virtual network function of the network appliance comprises a virtual switching function, at least one of the virtual nodes has the virtual switching function to forward a packet.
19. The network system according to claim 14, wherein the virtual network function of the network appliance comprises a virtual load balancing function, at least one of the virtual nodes has the virtual load balancing function to distribute a packet.
20. The network system according to claim 14, wherein the virtual network function of the network appliance comprises a virtual fire wall function, at least one of the virtual nodes has the virtual fire wall function to drop a packet.
21. A control method of network communications, comprising: identifying a rule for a virtual network including a plurality of virtual nodes, wherein each of the virtual nodes includes a network function of a network appliance, the rule specifies at least a conversion operation between the virtual network and a physical network; identifying an control information to emulate the network function, wherein the control information corresponds to the rule; and sending the control information to a physical node corresponding to each of the virtual nodes of the virtual network.
22. The control method of network communications according to claim 21, further comprising of identifying the virtual network corresponding to a characteristic of a packet.
23. The control method of network communications according to claim 21, wherein the virtual network corresponds to an user.
24. The control method of network communications according to claim 23, wherein the user is authorized to change a configuration of the virtual network.
25. The control method of network communications according to claim 21, wherein the virtual network function of the network appliance comprises a virtual switching function, at least one of the virtual nodes has the virtual switching function to forward a packet.
28. The control method of network communications according to claim 21, wherein the virtual network function of the network appliance comprises a virtual load balancing function, at least one of the virtual nodes has the virtual load balancing function to distribute a packet.
27. The control method of network communications according to claim 21, wherein the virtual network function of the network appliance comprises a virtual fire wall function, at least one of the virtual nodes has the virtual fire wall function to drop a packet.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
MODES FOR CARRYING OUT THE INVENTION
[0036] First, an outline of the present invention will be given with reference to the drawings. As shown in
[0037] The control sever 20 comprises a first storage unit (virtual network configuration information storage unit) 202 that stores configuration information of a virtual network comprised of virtual nodes which are virtualized versions of the physical nodes 10; a second storage unit (virtual network identifying information storage unit) 203 that stores virtual network identifying information that identifies the virtual network from the characteristics of the input packet(s); and a control unit 210 that identifies a physical node(s) configuring a virtual network that handles a packet(s) having a characteristic in common with the packet(s) received by the physical node(s) and that updates control information for each of physical nodes 10 based on a request from the physical node 10 concerned.
[0038] The physical node 10 can be realized by a switch equivalent to the OpenFlow switch of Non-Patent Document 1 that operates according to the flow table or a router, and notifies the control server 20 that a packet not in the flow table is received upon reception of the packet (request for creating a flow entry; an arrow from the physical node 10 to the control unit 210 in
[0039] Upon receiving the request for creating a flow entry, the control server 20 refers to the second storage unit 203 and identifies a virtual network to which the packet concerned should belong from the characteristics (port number, physical node ID, and header information) of the input packet. Next, the control server 20 refers to the first storage unit 202, suitably performs forwarding processing on the received packet within the virtual network, identifies a physical node or nodes corresponding to the identified virtual network, and updates the control information of the identified physical node or nodes (arrows from the control unit 210 to the physical nodes 10 in
[0040] Further, the control server 20 can be realized by adding the functions relating to the virtual network described above to the OpenFlow controller of Non-Patent Document 1 as a base. Or it is also possible to realize the control server 20 by having another server that provides the functions relating to the virtual network described above work together with the OpenFlow controller of Non-Patent Document 1.
FIRST EXEMPLARY EMBODIMENT
[0041] Next, a first exemplary embodiment of the present invention will be described in detail with reference to the drawings.
[0042] The physical nodes 10 are connected each other and it is configured by a switch or router that forwards a packet(s) sent/received to/from the external network 30. In the present exemplary embodiment, the physical node 10 is assumed to be an OpenFlow switch.
[0043] The control server 20 is connected to the physical nodes 10 via secure channels and instructs the physical nodes 10 to update the control information. In the present exemplary embodiment, the control server 20 is assumed to be a server that comprises a function as the OpenFlow controller communicating with the physical nodes 10 using the OpenFlow protocol.
[0044] The external node(s) 30 is configured by a server(s) that provides various services to a user terminal accessing from the external network. In the present exemplary embodiment, the external node 30 is assumed to be an Http (Hyper-Text Transfer Protocol) server.
[0045]
[0046]
[0047] In the example in
[0048] In the explanation below, it is assumed that the control server 20 constructs a virtual network configured by a layer 3 switch (L3SW), a firewall (FW), a load balancer (LB), and a layer 2 switch (L2SW) shown in
[0049] The virtual node emulation unit 211 performs processing as a virtual node using virtual objects having a class corresponding to the aforementioned L3SW, FW, LB, and L2SW stored in the virtual node object storage unit 201. For instance, each virtual object is identified by a virtual node table shown in
[0050]
[0051] The setting of the virtual node shown in
[0052] The virtual network control unit 212 performs input/output of packet information from/to the virtual node emulation unit 211 according to an association between the configuration information of the virtual network stored in the virtual network configuration information storage unit 202 and the virtual network identifying information storage unit 203 and the real network thereof. Further, the virtual network control unit 212 temporarily stores the received packet in a packet cache 215 and creates conversion contents of a packet header to be instructed to a physical node to which the packet is ultimately outputted.
[0053]
[0054]
[0055] By providing as many the tables shown in
[0056] The virtual network control unit 212 supplies an input packet(s) to the virtual node emulation unit 211, obtains the processing result thereof, and then supplies a physical node that has received this packet and the port number thereof, and a physical node after physical-virtual conversion performed on the packet on which network processing has been performed by the virtual node emulation unit 211, and the output port number thereof, to the path control unit 213.
[0057] The path control unit 213 calculates a forwarding path for outputting the packet supplied to the physical node based on physical network topology information stored in the physical topology information storage unit 204 from the physical node after the physical-virtual conversion. For this path calculation, for instance, Dijkstra's shortest path algorithm can be used.
[0058] Further, the path control unit 213 stores the result of the path calculation in the shortest path information storage unit 205 as a cache for a predetermined period of time. When performing subsequent path calculations, the path control unit 213 refers to the shortest path stored in the shortest path information storage unit 205 and is able to omit the path calculation processing if the cache remains.
[0059] Further, the path control unit 213 stores a pair of the flow and the shortest path information in the set flow forwarding path information storage unit 206 as well. When performing subsequent path calculations, the path control unit 213 is able to use the path information stored in the set flow forwarding path information storage unit 206.
[0060] The shortest path information storage unit 205 and the set flow forwarding path information storage unit 206 can be omitted. Further, how much is stored in each path information can be suitably changed according to the purpose and the hardware specifications of this system.
[0061] The OpenFlow protocol processing unit 214 instructs each physical node 10 to update the flow table 12 according to the path information calculated by the path control unit 213 as described.
[0062]
[0063] As described, network processing equivalent to the virtual network in the upper part of
[0064] Next, with reference to
[0065] As shown in
[0066] Here, it is assumed that this packet is the first packet and no entry corresponding to the received packet is registered in the flow table of the physical node #1. Therefore, the physical node #1 issues an inquiry with the port number (input port number) that received the packet and the packet to the control server 20, and requests the control server to generate and transmit a flow entry (step S002; packet receipt notification (Packet-In)).
[0067] Upon receiving the packet receipt notification (Packet-In), the OpenFlow protocol processing unit 214 of the control server 20 adds the source physical node ID (input physical node) of the packet receipt notification (Packet-In) and forwards the packet to the virtual network control unit 212 (step S003). Note that the physical node ID can be derived from the management switch table shown in
[0068] The virtual network control unit 212 stores the received packet in the packet cache 215 and performs virtual-physical conversion on the packet by referring to the virtual network identifying information illustrated in
[0069] Next, as shown in
[0070] The virtual network control unit 212 resolves the physical node ID that outputs the packet and the physical port ID thereof by performing a reverse lookup on the virtual network identifying information illustrated in
[0071] Next, the virtual network control unit 212 requests setting of a flow entry that includes the input physical node, the input port number, the header information, the resolved physical node ID and the physical port ID outputting the packet, and the header conversion contents.
[0072] Next, as shown in
[0073] The physical node #2 outputs a received packet from the designated port according to the instruction from the path control unit 213 (step S008). Further, at this time, the OpenFlow protocol processing unit 214 may have the physical node #2 execute an action of obtaining an IP DA (Internet Protocol Destination Address) from the header of the received packet, transmitting an ARP request to ports other than the port that received the received packet, and obtaining a corresponding MAC DA.
[0074] Further, the OpenFlow protocol processing unit 214 creates a flow entry to each physical node corresponding to the specified shortest path and transmits the flow entries to the physical nodes #1 and #2 (flow entry adding request; FlowMod (Add)). At this time, the OpenFlow protocol processing unit 214 sends a flow entry defining an action of converting the header to the physical node #2 as well.
[0075] The physical nodes #1 and #2 add the flow entries to the flow tables 12 according to the instruction from the OpenFlow protocol processing unit 214 (step S009).
[0076] Then, as shown in
[0077] Similarly, since the set flow entry is detected in a search in the flow table 12 (step S103), the physical node #2 successively outputs the packets received from the physical node #1 from the designated port (step S104).
[0078] Although this is omitted in
[0079] In the exemplary embodiment described above, the explanation was given using an example in which a virtual router is provided as a virtual node, however, the firewall (FW) and the load balancer (LB) on the virtual network shown in
[0080] For instance, when the virtual node emulation unit 211 is operated as a firewall according to a firewall policy of performing filtering operation by referring to the header information of a particular layer, a function equivalent to the firewall on the virtual network can be realized by setting an action of having the physical node receive the packet outputted from the virtual router and drop a corresponding packet based on the result thereof.
[0081] Similarly, for instance, a function equivalent to the load balancer on the virtual network can be realized by setting an action of supplying an output from the firewall to the virtual node emulation unit 211 that operates according to a predetermined load balance policy and switching the destination of the packet based on the result thereof.
[0082] The exemplary embodiment of the present invention has been described above, however, the present invention is not limited to the above exemplary embodiment and further modifications, replacements, and adjustments can be added within the scope of the basic technological concept of the present invention. For instance, the OpenFlow switch is used as the physical node and the OpenFlow protocol is used in the communication between the physical node and the control server in the exemplary embodiment described above, however, the present invention is not limited to the example above and any switch or protocol having the same functions can be used. For instance, the physical node can be realized by a router on an IP network or an MPLS switch on an MFLS (Multi-Protocol Label Switching) network, in addition to the OpenFlow switch.
[0083] It should be noted that within the entire disclosure (including the claims) and based on the fundamental technical concept, modifications and/or adjustment of the disclosed exemplary embodiments or examples may be done. Also various combination and selection of the various disclosed elements may be done within the scope of the claims of the present invention. That is, variations or modifications that may be done by the person of ordinary skill in the art based on the entire disclosure and technical concept including the claims may be included.
Explanations of Symbols
[0084] 10, 10 #1, 10 #2, 10 #3: physical node
[0085] 11: server communication unit
[0086] 12: flow table
[0087] 13: control unit
[0088] 20: control server
[0089] 30: external node
[0090] 201: virtual node object storage unit
[0091] 202: first storage unit (virtual network configuration information storage unit)
[0092] 203: second storage unit (virtual network identifying information storage unit)
[0093] 204: physical topology information storage unit
[0094] 205: shortest path information storage unit
[0095] 206: set flow forwarding path information storage unit
[0096] 207: flow entry storage unit
[0097] 208: management switch information storage unit
[0098] 210: control unit
[0099] 211: virtual node emulation unit
[0100] 212: virtual network control unit
[0101] 213: path control unit
[0102] 214: OpenFlow protocol processing unit
[0103] 215: packet cache