The present invention is based upon and claims the benefit of priority from Japanese Patent Application No. 2014-071268, filed on Mar. 31, 2014, the disclosure of which is incorporated herein in its entirety by reference.
The present invention relates to a routing technique in a communication network.
Routing in a network is in general a method of selecting an optimal path to a destination node by each node referring to a routing table. However, in recent years, OpenFlow technology, which implements routing in units of flows, has also attracted attention (NPL 1). The basic idea of OpenFlow technology is to separate data plane from control plane, which allow independent developments, respectively. This separated configuration changes switches from a closed system into a programmable open platform.
More specifically, in OpenFlow, a communication determined by a combination of identifiers such as physical port number (L1), MAC (Media Access Control) address (L2), IP address (L3) and port number (L4) is defined as a “flow”, and routing is implemented in units of flows. An OpenFlow switch (OFS) functioning as a forwarding node operates in accordance with a flow table, which is added or rewritten in accordance with an instruction from an OpenFlow controller (OFC). A flow table includes, for each flow, a rule, statistical information and an action which defines the processing to be applied to a packet that matches the rule.
However, according to the above-described routing method, no consideration is given to the loaded state of a server to process packets for routing. Accordingly, it is impossible to perform routing appropriate to circumstances such as, for example, a case where a path to a server is heavily loaded but the server is lightly loaded, or a case where, conversely, a path to a server is lightly loaded but the server is heavily loaded. In other words, it is impossible to resolve an optimum path while taking a bird's-eye view of the network resources for paths and the server resources for processing.
Accordingly, an object of the present invention is to provide a communication system, a communication method and a control apparatus that can resolve an optimum path, taking into consideration the resources of a network and the resources of packet processing nodes.
A communication system according to the present invention is a communication system that performs routing in a network, characterized by including: a plurality of network nodes, each of which has a routing function; at least one processing node that processes an arriving packet; and an upper-level control apparatus that uses network load information collected from the network nodes and processing load information collected from the processing node to calculate an optimum path up to the processing node, and performs path setting on each network node.
A control apparatus according to the present invention is a control apparatus performing routing in a network, characterized by including: a storage means for storing network load information collected from a plurality of network nodes, each of which has a routing function, and processing load information collected from at least one processing node, which processes an arriving packet; and a control means that uses the network load information and the processing load information to calculate an optimum path up to the processing node, and performs path setting on each network node.
A communication method according to the present invention is a communication method for performing routing in a network, wherein the network includes a plurality of network nodes, each of which has a routing function, and at least one processing node that processes an arriving packet, characterized by comprising: by a path calculation means, calculating an optimum path up to the processing node by using network load information collected from the network nodes and processing load information collected from the processing node; and by a path setting means, performing path setting on each network node according to the optimum path.
According to the present invention, it is possible to set up an optimum path while taking consideration of the network resources and the resources of packet processing nodes.
According to an exemplary embodiment of the present invention, path load information for routing and processing load information on a processing node that processes a packet arriving as a result of routing are acquired, whereby it is possible to perform routing with integrative consideration given to the network resources on a path from the source of the packet to the processing node and to the processing resources of this processing node, allowing the resource use efficiency to be maximized. Hereinafter, the exemplary embodiment and an example of the present invention will be described with reference to drawings.
As shown in
Referring to
Referring to
Each of the packet processing nodes 20a and 20b is a processing apparatus that processes a packet arriving at the own node as its destination, such as a server that sends some service back in response to the arriving packet. The packet processing nodes 20a and 20b each include a communication section 201 for communicating with other nodes in the network 10 and the upper-level control apparatus 30, a packet processing section 202, a node load measurement section 203 and a node storage section 204. The node load measurement section 203 measures node loads such as the CPU usage of the own node and the network interface usage and stores them in the node load storage section 203. Note that the packet processing nodes 20a and 20b need not necessarily be physical apparatuses but may be servers configured by means of virtual machine (VM).
The upper-level control apparatus 30 is an upper-level apparatus that makes path setting on each routing node N in the network 10, and includes a communication section 301 for communicating with the routing nodes N and packet processing nodes 20a and 20b in the network 10, a control section 302, a path calculation section 303 and a load information storage section 304. The load information storage section 304 stores the path load information collected from each of the routing nodes N1 to N5 and the packet processing load information collected from the packet processing nodes 20a and 20b, and the path calculation section 303 uses these load information to calculate an optimum path for a packet to arrive at the packet processing node 20a or 20b. The control section 302 subsequently notifies path setting information on the optimum path to each routing node N.
Note that it is also possible that the above-described routing nodes N, packet processing nodes 20a and 20b and upper-level control apparatus 30 each include a storage device for storing the respective programs and a computer (CPU), and the above-described respective functions are implemented by executing the respective programs on the respective computers.
Referring to
Subsequently, each routing node N sends the path load information stored in the path load storage section 104 to the upper-level control apparatus 30, while each of the packet processing nodes 20a and 20b sends the node load information stored in the node load storage section 204 to the upper-level control apparatus 30 (Operation S402). Note that the collection of the load information by the upper-level control apparatus 30 may be triggered by the occurrence of a connection request packet, or the upper-level control apparatus 30 may collect by periodically requesting the load information from each node.
The upper-level control apparatus 30 uses the path load information and node load information received from the routing nodes and packet processing nodes, respectively, to calculate an optimum path up to a packet processing node and, following the optimum path, sends path setting information to each routing node (Operation S403). Each routing node having received the path setting information performs routing in accordance with the path setting information (Operation S404).
Next, overall operation in the present exemplary embodiment will be described, taking the network 10 shown in
As described above, according to the present exemplary embodiment, it is possible to optimize a path from the source of a packet to a packet processing node having capacity to spare for processing load, and to perform routing with integrative consideration given to network resources and the processing resources of this packet processing node.
Hereinafter, a description will be given of a communication system in a network using OpenFlow technology, as an example of the present invention.
Referring to
Note that the OFS can operate as an ordinary Layer 2 switch or an OFS. In other words, the OFS can implement an ordinary Layer 2 switch within its own mechanism. Moreover, when operating as an ordinary Layer 2 switch, the OFS is deployed in the network and performs switching of a received frame by using an L2 address. When operating as an OFS, the OFS acquires routing information from the OFC beforehand and operates based on this information.
Moreover, in the network shown in
Referring to
The OFC 501 performs path setting on OFS1, OFS4, OFS5 and OFS7 so that the PATH2 will be set up (Operation S605), whereby OFS1 transfers the attach service request to the MME through the PATH2 (Operation S606). Thus, communication becomes enabled between the terminal B and the Internal 503 (S607).
As described above, according to the present example of the present invention, the OpenFlow switches OFS serve as routing nodes, the access gateways serve as packet processing nodes or servers, and the OpenFlow controller 501 serves as a upper-level control apparatus 30, whereby it is possible to perform load balancing taking consideration of both the state of the loads on the OFSs and the state of the processing loads on the access gateways. Thereby, it is possible to preferentially assign a path and a server under lighter loads, resulting in the reduced path delay and processing delay of each packet.
The present invention can be applied to routing in a network structured based on OpenFlow.
| Number | Date | Country | Kind |
|---|---|---|---|
| 2014-071268 | Mar 2014 | JP | national |
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/JP2015/001551 | 3/19/2015 | WO | 00 |