[go: up one dir, main page]

WO2014038143A1 - Flow information collecting system, method and program - Google Patents

Flow information collecting system, method and program Download PDF

Info

Publication number
WO2014038143A1
WO2014038143A1 PCT/JP2013/004875 JP2013004875W WO2014038143A1 WO 2014038143 A1 WO2014038143 A1 WO 2014038143A1 JP 2013004875 W JP2013004875 W JP 2013004875W WO 2014038143 A1 WO2014038143 A1 WO 2014038143A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow
information
base node
identification information
node
Prior art date
Application number
PCT/JP2013/004875
Other languages
French (fr)
Inventor
Yuta ASHIDA
Original Assignee
Nec Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nec Corporation filed Critical Nec Corporation
Priority to JP2014535428A priority Critical patent/JP2015531552A/en
Publication of WO2014038143A1 publication Critical patent/WO2014038143A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

Definitions

  • the present invention relates to a flow information collecting system for collecting information on a flow in order to monitor the flow in OpenFlow, a flow information collecting method and a flow information collecting program.
  • An OpenFlow switch functioning as a transfer node comprises a secure channel for communication with an OpenFlow controller.
  • the OpenFlow switch operates according to a flow table.
  • the OpenFlow controller instructs the OpenFlow switch to add or rewrite the flow table as needed.
  • the flow table defines therein a set of key information (FlowKey, matching key) for collation with a packet header, action defining processing contents (Action), and flow statistics information (Stats) per flow.
  • the set is called flow entry.
  • a rule defining an action for a received packet is defined by a combination of key information and action.
  • the key information employs flow identification information. Information contained in the packet header can identify to which flow the packet belongs. Thus, more specifically, the key information employs the information contained in the packet header.
  • the OpenFlow switch When receiving a new packet, the OpenFlow switch searches a flow entry adapted to identification information on a flow to which the packet belongs from the flow table. As a result of the search, when a flow entry adapted to the flow to which the received packet belongs is found, the OpenFlow switch performs a processing described in an action field in the flow entry on the packet. On the other hand, as a result of the search, when an entry adapted to the flow to which the received packet belongs is not found, the OpenFlow switch transfers the received packet to the OpenFlow controller via the secure channel, and asks the OpenFlow controller to determine a packet path based on the header information of the received packet. Then, the OpenFlow switch receives a flow entry according to the determined path from the OpenFlow controller, and updates the flow table.
  • the OpenFlow switch determines a processing on the packet by the flow entry set in the OpenFlow controller.
  • the processing on a packet uses OUTPUT for outputting packets to a designated interface in many cases.
  • a port to be designated at this time is not limited to a physical interface.
  • the OpenFlow controller defines a flow entry per node (OpenFlow switch) on the packet transfer path for the flow and sets the flow entry for each node in order to control a certain flow.
  • OpenFlow controller needs to be mounted with a flow control application in order to realize such a processing.
  • the OpenFlow controller controls a plurality of flow entries (flow entries per node) for one flow, and thus needs to hold and manage the respective flow entries set along the packet transfer path classified to the flow as one set.
  • the OpenFlow controller uses an OpenFlow message to actively or passively acquire information on the flow entry set in the OpenFlow switch and collates it with the flow entry information held in the OpenFlow controller itself, and then notifies the acquired information to a path calculation application or discards it.
  • loads of the OpenFlow controller increase in terms of the amount of data or message processing loads.
  • the OpenFlow controller When the OpenFlow controller does not hold a flow entry, calculates a new flow entry each time a state of the network changes (a topology changes, for example) and corresponding to the change, and resets it in the node, the loads can be reduced. In this case, however, an overhead for resetting all the flow entries occurs or strict inter-end flow control is not performed. Further, there occurs a problem that a flow is difficult to be monitored.
  • a flow information collecting system comprises a base node information storage means for storing a correspondence between flow identification information or part thereof and a base node where the flow information is to be collected, and an information acquisition means for acquiring the flow information from a base node corresponding to the flow identification information or part thereof.
  • a flow information collecting method comprises the steps of storing a correspondence between flow identification information or part thereof and a base node where the flow information is to be collected, and acquiring the flow information from the base node corresponding to the flow identification information or part thereof.
  • a flow information collecting program is mounted on a computer comprising a base node information storage means for storing a correspondence between flow identification information or part thereof and a base node where the flow information is to be collected, and causes the computer to perform an information acquisition processing for acquiring the flow information from the base node corresponding to the flow identification information or part thereof.
  • a flow information collecting system according to the present invention is realized by an OpenFlow controller in OpenFlow.
  • the flow information collecting system according to the present invention is denoted as control device below.
  • An OpenFlow switch in the OpenFlow is denoted as node.
  • Implementation of the present invention is not limited to implementation in OpenFlow, and may be conducted by any technique such as collective control type network architecture.
  • Fig. 1 illustrates an exemplary communication system including a control device (flow information collecting system).
  • the communication system illustrated in Fig. 1 includes the control device 10 and nodes 1 to 3.
  • the control device 10 is connected to the nodes 1 to 3 via control secure channels 5, respectively.
  • the nodes 1 to 3 have a link to the outside of the communication system.
  • the number of nodes and a connection relationship between the nodes are arbitrary, and are not limited to the example illustrated in Fig. 1.
  • the control device 10 spontaneously performs flow control in response to an inquiry from the nodes 1 to 3.
  • the control device 10 may perform flow control in response to a variation in topology, a user's instruction or new host registration.
  • the control device 10 specifies flow identification information, and calculates a transfer path of a packet belonging to the flow.
  • the control device 10 specifies a base node from the nodes contained in the path, and associates and stores the base node (specifically base node identification information) and the flow identification information or part thereof.
  • the base node will be described herein.
  • the base node is a node where flow information is to be collected, and is one or a plurality of nodes determined as nodes capable of collecting information in each packet transfer path corresponding to the flow.
  • a packet belonging to a flow may be copied at a node and may be output from a plurality of ports.
  • the packet transfer path for one flow is not limited to one.
  • one or more nodes configuring the packet transfer path are designated per packet transfer path corresponding to the flow, thereby determining a base node.
  • the node designated per packet transfer path corresponding to one flow is a common node, one base node is present. It is preferable that the number of base nodes be small, and thus as described above, the common node designated per packet transfer path corresponding to one flow is preferable.
  • a node through which all the packet transfer paths corresponding to the flow pass may be determined as base node.
  • a plurality of base nodes may be determined.
  • the control device 10 creates a flow entry containing flow identification information and an action defining to which node a packet is to be transferred per node on the calculated packet transfer path, and sets a flow entry according to the node for each node. Consequently, the flow is determined.
  • the control device 10 itself may or may not hold the flow entry set for each node. When the control device 10 itself does not hold the flow entry set for each node, the control device 10 can reduce flow entry's management cost.
  • the control device 10 associates and stores the base node and the flow identification information or part thereof.
  • the control device 10 collects the information from the base node associated with the flow identification information (or part thereof) according to the flow or the group of flows.
  • the thus-collected information can be used as information over the entire packet transfer path for the flow or the group of flows.
  • FIG. 2 is a block diagram illustrating an exemplary structure of the flow information collecting system (control device) according to a first exemplary embodiment of the present invention.
  • the control device 10 comprises a topology management unit 11, a path calculation unit 12, a flow information acquisition unit 13, a flow entry calculation unit 14, a flow entry setting unit 15, a control message processing unit 16, and a node communication unit 17.
  • the topology management unit 11 collects and manages topology information of a network.
  • the path calculation unit 12 calculates a packet transfer path corresponding to a flow.
  • the flow information acquisition unit 13 collects flow information from a base node. There will be described below, in the present exemplary embodiment, a case in which traffic statistics information is collected as flow information, but information other than the traffic statistics information may be collected as flow information.
  • the flow entry calculation unit 14 calculates a flow entry per node on a packet transfer path based on the flow identification information and the packet transfer path calculated by the path calculation unit 12.
  • the flow entry calculation unit 14 may determine a flow entry in a combination of action for outputting packets from an output port for transferring the packets to a next node, and flow identification information, for example.
  • the flow entry setting unit 15 asks a node to set the flow entry calculated by the flow entry calculation unit 14.
  • the control message processing unit 16 converts control contents into a control message when each component in the control device 10 controls a node.
  • the control message processing unit 16 analyzes the control message received from the node.
  • the node communication unit 17 is a communication interface for making communication with the nodes.
  • control message processing unit 16 and the node communication unit 17 When each part 11 to 15 in the control device makes communication with the nodes, the communication is made via the control message processing unit 16 and the node communication unit 17.
  • the explanation of the control message processing unit 16 and the node communication unit 17 will be omitted for a simplified description.
  • the flow information acquisition unit 13 comprises a base node determination unit 131, an information acquisition unit 132 and a base node information storage unit 133.
  • the base node determination unit 131 determines a base node from a packet transfer path corresponding to a flow.
  • the base node information storage unit 133 stores identification information on a base node corresponding to a flow and flow identification information per flow.
  • the information acquisition unit 132 requests the information (such as traffic statistics information) on the flow corresponding to a base node to the base node, and acquires the information from the base node.
  • information such as traffic statistics information
  • the topology management unit 11, the path calculation unit 12, the flow information acquisition unit 13 (specifically the base node determination unit 131 and the information acquisition unit 132), the flow entry calculation unit 14, the flow entry setting unit 15 and the control message processing unit 16 are realized by a CPU in a computer operating according to a flow information collecting program, for example.
  • the CPU may read the flow information collecting program and operate as the topology management unit 11, the path calculation unit 12, the flow information acquisition unit 13 (specifically the base node determination unit 131 and the information acquisition unit 132), the flow entry calculation unit 14, the flow entry setting unit 15 and the control message processing unit 16 according to the program.
  • the components may be realized by individual hardware.
  • FIG. 3 is a flowchart illustrating an exemplary processing progress on setting a flow entry according to the present exemplary embodiment.
  • a node 1 see Fig. 1
  • the node 1 sends the received packet to the control device 10.
  • the path calculation unit 12 specifies identification information on the flow to which the packet belongs (step S1).
  • the flow identification information may use information contained in a header of the packet, for example. For example, a combination of packet transmission source MAC (Media Access Control) address and destination MAC address may be used as the flow identification information.
  • the path calculation unit 12 calculates a packet transfer path in the flow to which the packet belongs with reference to the packet transmission source and destination, and the topology information managed by the topology management unit 11 (step S2).
  • the flow entry calculation unit 14 calculates a flow entry per node on the packet transfer path calculated in step S2 (step S3).
  • the flow entry calculation unit 14 may determine an action for outputting a packet from an output port for transferring the packet to a next node per node on the packet transfer path, and may determine a flow entry per node in a combination of flow identification information and action.
  • the flow entry setting unit 15 asks each node on the packet transfer path to set the flow entry determined per node (step S4).
  • Each node sets a flow entry in response to a request from the flow entry setting unit 15. Consequently, the flow to which the packet received by the node 1 belongs is determined.
  • An exemplary flow is illustrated in Fig. 4.
  • Fig. 4 illustrates a case in which a flow passing through the nodes 1, 2 and 3 is determined.
  • a node on the transfer path copies a packet and the node outputs the packet from a plurality of ports.
  • An example of the flow is illustrated in Fig. 5.
  • the transfer paths corresponding to the flow illustrated in Fig. 5 is a path tree in which a plurality of paths are combined.
  • step S4 the base node determination unit 131 determines a base node according to the flow (step S5).
  • An exemplary base node determination method will be described below.
  • the base node determination unit 131 designates one or more nodes configuring the packet transfer path per packet transfer path corresponding to the flow, thereby to determine a base node, for example.
  • a base node is designated per packet transfer path so that all the packet transfer paths corresponding to the flow can be monitored.
  • one packet transfer path corresponding to the flow is present so that one or more nodes may be determined as base nodes from the packet transfer path.
  • a plurality of base nodes may be present, but it is preferable that the number of base nodes be small and thus it is preferable that one base node be determined.
  • two packet transfer paths corresponding to the flow are present, and thus one or more (preferably one) nodes may be designated from each path and each designated node may be determined as each base node.
  • a different node is designated per packet transfer path, a plurality of base nodes are present. It is preferable that a common node be designated in each packet transfer path in order to reduce the number of base nodes.
  • the node 1 or the node 2 be assumed as a base node.
  • the base node determination unit 131 may determine one or more (preferably one) nodes as base nodes from among the nodes through which all the packet transfer paths corresponding to the flow pass, for example. For example, in the example illustrated in Fig. 5, the nodes through which two packet transfer paths pass are the nodes 1 and 2. Thus, the base node determination unit 131 may determine a base node out of the nodes 1 and 2. In the example illustrated in Fig. 4, because there is one packet transfer path, a base node may be determined from the nodes 1 to 3 on the packet transfer path.
  • Other method for determining a base node may be a method for determining a node which first receives a packet from the outside of the communication system (which will be denoted as ingress edge below) as a base node.
  • ingress edge a packet from the outside of the communication system
  • a plurality of ingress edges may be present depending on a flow, but in this case, the base node determination unit 131 should assume all the ingress edges as base nodes. In the example illustrated in Fig. 4, the node 1 corresponding to the ingress edge may be assumed as base node.
  • the base node determination unit 131 may determine a node which finally outputs the packet inside the communication system (which will be denoted as egress edge below) as base node in addition to the ingress edge.
  • the node 1 (ingress edge) and the node 3 (egress edge) may be assumed as base nodes.
  • the ingress edge and the egress edge are assumed as the base nodes so that flow information is collected from the start point and the end point of the flow thereby to enhance a flow monitoring accuracy.
  • the base node determination unit 131 may designate a node having a small amount of transmitted/received messages with respect to the control device per certain time. In that case where the amount of transmitted/received messages with respect to the control device per certain time is a threshold or less, it may be determined that the amount of transmitted/received messages with respect to the control device is small. Alternatively, with a comparison with other nodes, there may be determined a node having a small amount of transmitted/received messages with respect to the control device per certain time.
  • a node having a small amount of transmitted/received messages with respect to the control device per certain time is assumed as a base node so that even when many flows can occur, the processing loads for the control messages at the nodes can be made uniform within the network, thereby reducing a pressure on a communication band of the secure channels between the control device 10 and the nodes.
  • the base node determination unit 131 associates the identification information on the base node with the identification information on the flow specified in step S1, and stores them in the base node information storage unit 133 (step S6). If a plurality of base nodes are present, all the items of identification information on the base nodes are associated with the flow identification information.
  • the node for which a flow entry is set in step S4 updates the traffic statistics information in the flow entry.
  • the information acquisition unit 132 specifies each base node corresponding to the flow identification information for which the statistics information is to be acquired with reference to a correspondence between the flow identification information and the base node identification information stored in the base node information storage unit 133.
  • the information acquisition unit 132 transmits the flow identification information to the specified base node, and requests the traffic statistics information adapted to the flow identification information.
  • the base node searches a flow entry determined by the flow identification information from the base node's flow table, and extracts the traffic statistics information from the flow entry and sends it to the control device 10.
  • the information acquisition unit 132 receives the traffic statistics information.
  • the information acquisition unit 132 can collect the traffic statistics information on the flow from the base node and can monitor the flow by the information.
  • Flow information is collected from the base node determined by various methods described in step S5 so that the collected information can be regarded as information over the entire flow. That is, as illustrated in Fig. 5, even when a plurality of packet transfer paths corresponding to a flow are present, the information acquisition unit 132 can collect information on each path.
  • one or more nodes configuring a packet transfer path are designated per packet transfer path corresponding to a flow, thereby preventing missing information collection that statistics information is not collected in any path. This is also applicable to a case in which a node through which all the packet transfer paths corresponding to the flow pass is assumed as a base node or a case in which all the ingress edges are assumed as base nodes.
  • Information on all the packet transfer paths corresponding to the flow can be collected from the base nodes, and thus the information acquisition unit 132 does not need to collect information from all the nodes on the flow. That is, the information acquisition unit 132 may collect information only from the base nodes. Thus, the control device 10 can collect the flow information at low processing cost.
  • the base node determination unit 131 stores a correspondence between the flow and the base node in the base node information storage unit 133.
  • the information acquisition unit 132 can specify a base node corresponding to the flow for which statistics information is to be acquired, and can collect the flow information from the base node.
  • a group of flows is determined according to a second exemplary embodiment of the present invention.
  • a control device collects information on each flow belonging to a group from a base node.
  • control device 10 can be realized in the same structure as Fig. 2, and the second exemplary embodiment will be described below with reference to Fig. 2. There will be described, also in the second exemplary embodiment, a case in which the control device 10 collects traffic statistics information as flow information.
  • the second exemplary embodiment is different from the first exemplary embodiment in the operations of the base node determination unit 131 and the information acquisition unit 132.
  • the second exemplary embodiment will be described below by mainly describing the differences from the first exemplary embodiment.
  • duplicative part of the identification information on each flow belonging to a group is used as group identification information.
  • Fig. 6 is a flowchart illustrating an exemplary processing progress on setting a flow entry according to the second exemplary embodiment.
  • the operations in steps S1 to S4 are the same as steps S1 to S4 in the first exemplary embodiment.
  • the base node determination unit 131 associates the identification information on the flow specified in step S1 with the identification information on each node on the packet transfer path corresponding to the flow, and stores them in the base node information storage unit 133 (step S11). As illustrated in Fig. 5, when a plurality of packet transfer paths corresponding to the flow are present, the base node determination unit 131 associates the flow identification information with the identification information on each node on the packet transfer path per packet transfer path corresponding to the flow, and stores them in the base node information storage unit 133.
  • Fig. 7 illustrates exemplary flows.
  • Fig. 7 illustrates a flow 1 which leads to the outside from the node 3 via the nodes 1, 2 and 3 and a flow 2 which leads to the outside from the node 2 via the nodes 1 and 2.
  • Fig. 8 is an explanatory diagram illustrating information stored in step S11 for the flows 1 and 2 illustrated in Fig. 7.
  • a combination of packet transmission source MAC address and destination MAC address is used as flow identification information.
  • the nodes 1 to 3 are stored as identification information on each node on the path for the flow 1.
  • the nodes 1 and 2 are stored as identification information on each node on the path for the flow 2.
  • Fig. 8 illustrates a case in which one packet transfer path corresponds to one flow for a simplified description.
  • the base node determination unit 131 associates the flow identification information with the identification information on each node on the packet transfer path per packet transfer path corresponding to the flow.
  • a group of flows is determined.
  • a group of flows may be determined by the control device 10 in response to a user's request or may be set from the outside.
  • a group may be determined based on a network monitor policy.
  • a group of flows may be determined in any method as long as the condition that group identification information is independent between groups is satisfied. There will be described below a case in which one group containing the flows 1 and 2 illustrated in Fig. 7 is determined.
  • the base node determination unit 131 determines duplicative part of the identification information on each flow belonging to the group as group identification information.
  • duplicative part between the identification information on the flow 1 and the identification information on the flow 2 may be determined as group identification information.
  • the transmission source MAC address is duplicative and the destination MAC address is different between the identification information on the flow 1 and the identification information on the flow 2.
  • the transmission source MAC address "0x0" as the duplicative part between the identification information on the flows 1 and 2 may be assumed as group identification information.
  • the base node determination unit 131 determines a base node for which information on a flow belonging to the group is to be collected. For example, the base node determination unit 131 selects one or more base nodes from the nodes in the duplicated packet transfer paths among the nodes on each packet transfer path in each flow belonging to the group, and assumes the nodes as base nodes. Even if a plurality of packet transfer paths corresponding to one flow are present, the base nodes may be similarly determined.
  • the base node determination unit 131 may determine any of the nodes 1 and 2 as a base node.
  • the base node determination unit 131 associates the identification information on the flow group with the identification information on the base node, and stores them in the base node information storage unit 133.
  • Fig. 9 is a schematic diagram illustrating a correspondence between identification information on a flow group and a base node in this example.
  • the transmission source MAC address "0x0" as the group identification information is associated with the node 1 or node 2.
  • the transmission source MAC address "0x0" is associated with the node 1.
  • the information acquisition unit 132 acquires flow information (traffic statistics information in this example).
  • the information acquisition unit 132 specifies a base node corresponding to the identification information on the group for which statistics information is to be acquired, and collects information (traffic statistics information) on a flow belonging to the group from the base node.
  • information on a flow is collected for the group containing the flows 1 and 2 illustrated in Fig. 7.
  • the information acquisition unit 132 specifies duplicative part of the identification information on each flow belonging to the group for which statistics information is to be acquired, thereby to derive group identification information.
  • the operation is the same as the operation in which the base node determination unit 131 determines group identification information.
  • the transmission source MAC address "0x0" is derived as the group identification information.
  • the information acquisition unit 132 specifies each base node corresponding to the identification information on the group of the flow for which the statistics information is to be acquired with reference to the correspondence between the identification information on the group and the identification information on the base node stored in the base node information storage unit 133.
  • the node 1 associated with the transmission source MAC address "0x0" is a base node.
  • the information acquisition unit 132 transmits the transmission source MAC address "0x0" as the group identification information to the specified base node, and requests traffic statistics information adapted to the group identification information.
  • the base node When receiving the request, the base node searches a flow entry adapted to the group identification information from the base node's flow table. In this example, the base node searches each flow entry with the transmission source MAC address "0x0" in the flow identification information. The base node extracts the traffic statistics information from each flow entry acquired by the search, and sends it to the control device 10.
  • the information acquisition unit 132 receives the traffic statistics information.
  • the information acquisition unit 132 can collect the traffic statistics information on each flow belonging to the group from the base node, and can monitor the flow by the information.
  • all the items of statistics information transmitted from a terminal with the transmission source MAC address "0x0" can be acquired.
  • the information on each flow belonging to the group is acquired only from the base node, not from all the nodes on each flow.
  • the information on the flow belonging to the group can be collected at low processing cost.
  • the base node may transmit the statistics information to the control device 10 per flow entry.
  • the information acquisition unit 132 can collect the statistics information per flow belonging to the group.
  • the base node determination unit 131 may perform the operations according to the first exemplary embodiment on setting a flow entry. That is, the base node determination unit 131 may perform steps S5 and S6 (see Fig. 3) after step S4.
  • the base node information storage unit 133 stores a correspondence between a flow and a base node similarly to that in the first exemplary embodiment.
  • the information acquisition unit 132 may acquire flow information (such as traffic statistics information) per flow belonging to a group for which the statistics information is to be acquired similarly to that in the first exemplary embodiment. Consequently, information on each flow belonging to a group can be collected from a base node similarly to that in the second exemplary embodiment.
  • control device 10 collects the traffic statistics information by way of example for the explanation of the first and second exemplary embodiments, but information to be collected is not limited to the traffic statistics information, and may be common information in paths.
  • control device 10 stores each packet transfer path corresponding to a flow and the base node determination unit 131 determines a base node for acquiring flow information.
  • a control device performs flow alive monitoring in addition to the same operations as the first exemplary embodiment.
  • control device can be realized in the same structure as Fig. 2, and the third exemplary embodiment will be described below with reference to Fig. 2.
  • the flow entry setting unit 15 instructs a node to delete a flow entry when a predetermined condition is met, and to transmit a notification that the flow entry is deleted (which will be denoted as entry delete notification below) to the control device, in addition to the operations described in the first exemplary embodiment.
  • the information acquisition unit 132 determines whether the flow has disappeared when receiving the entry delete notification, in addition to the operations described in the first exemplary embodiment.
  • the third exemplary embodiment will be described below by mainly describing the differences from the first exemplary embodiment.
  • the operation on setting a flow entry is the same as in the first exemplary embodiment, and the control device 10 performs steps S1 to S6 (see Fig. 3).
  • the flow entry setting unit 15 performs the following operations after step S5. That is, the flow entry setting unit 15 instructs a node where a flow entry is set to delete the flow entry when the condition that the flow entry has not been used for a certain period of time or the condition that a predetermined time has elapsed since the flow entry was set even when the flow entry has been used is met. Further, the flow entry setting unit 15 instructs the node to transmit the entry delete notification to the control device 10 on deleting the flow entry.
  • the flow entry setting unit 15 may define, as the flow entry delete condition, both or either one of the condition that the flow entry has not been used for a certain period of time and the condition that a predetermined time has elapsed since the flow entry was set even when the flow entry has been used.
  • a length of the certain period of time described in the flow entry delete condition is shorter at a base node than that at a node other than the base node.
  • an individual node instructed by the flow entry setting unit 15 deletes the flow entry set in step S4 in response to the instruction from the flow entry setting unit 15 when the designated condition is met. Then, the node transmits the entry delete notification to the control device 10. At this time, the node transmits the entry delete notification including the flow identification information contained in the deleted flow entry and the node identification information.
  • Fig. 10 is a flowchart illustrating an exemplary processing progress on receipt of the entry delete notification.
  • the information acquisition unit 132 extracts the flow identification information and the transmission source node identification information contained in the entry delete notification (step S32).
  • the flow identification information is flow identification information contained in the flow entry deleted by the node.
  • the information acquisition unit 132 determines whether the transmission source of the entry delete notification is a base node corresponding to the flow identification information (step S33).
  • the information acquisition unit 132 reads identification information on the base node corresponding to the flow identification information acquired in step S32 from the base node information storage unit 133.
  • the information acquisition unit 132 determines that the transmission source of the entry delete notification is a base node.
  • the information acquisition unit 132 determines that the transmission source of the entry delete notification is not a base node.
  • step S34 the information acquisition unit 132 determines that the flow corresponding to the deleted flow entry has disappeared (step S34).
  • step S35 the control device 10 may set a new flow entry in order to keep the flow. Alternatively, when the node receives a new packet, a flow entry may be set.
  • the effect that flow alive monitoring can be performed is obtained in addition to the effects of the first exemplary embodiment.
  • a length of the certain period of time described in the flow entry delete condition be shorter at a base node than that at a node other than the base node.
  • the nodes other than the base node have less opportunity to transmit the entry delete notification than the base node.
  • the amount of messages received by the control device 10 from the nodes other than the base node can be reduced.
  • the flow entry setting unit 15 may not instruct the nodes other than the base node to transmit the entry delete notification.
  • a control device performs flow group alive monitoring in addition to the same operations as the second exemplary embodiment.
  • control device can be realized in the same structure as Fig. 2, and the fourth exemplary embodiment will be described below with reference to Fig. 2.
  • the flow entry setting unit 15 instructs a node to delete a flow entry when a predetermined condition is met, and to transmit an entry delete notification to the control device in addition to the operations in the second exemplary embodiment.
  • the information acquisition unit 132 determines whether a group of flows has disappeared, in addition to the operations in the second exemplary embodiment.
  • the fourth exemplary embodiment will be described below by mainly describing the differences from the second exemplary embodiment.
  • the operation on setting a flow entry is the same as in the second exemplary embodiment, and the control device 10 performs steps S1 to S11 (see Fig. 6).
  • the flow entry setting unit 15 performs the following operations after step S4, for example. That is, the flow entry setting unit 15 instructs a node where a flow entry is set to delete the flow entry when the condition that the flow entry has not been used for a certain period of time or the condition that a predetermined time has elapsed since the flow entry was set even when the flow entry has been used is met. Further, the flow entry setting unit 15 instructs the node to transmit the entry delete notification to the control device 10 when deleting the flow entry.
  • the flow entry setting unit 15 may define, as the flow entry delete condition, both or either one of the condition that the flow entry has not been used for a certain period of time and the condition that a predetermined time has elapsed since the flow entry was set even when the flow entry has been used.
  • an individual node instructed by the flow entry setting unit 15 deletes the flow entry set in step S4 in response to the instruction from the flow entry setting unit 15 when the designated condition is met. Then, the node transmits the entry delete notification to the control device 10. At this time, the node transmits the entry delete notification including the flow identification information contained in the deleted flow entry and the node identification information.
  • Fig. 11 is a flowchart illustrating an exemplary processing progress on receipt of the entry delete notification according to the fourth exemplary embodiment.
  • the information acquisition unit 132 specifies identification information on a group to which the flow indicated by the flow identification information contained in the entry delete notification belongs (step S42).
  • the information acquisition unit 132 extracts the flow identification information contained in the entry delete notification, and specifies group identification information adapted to the flow identification information from among the group identification information stored in the base node information storage unit 133.
  • the group identification information is described as part of the flow identification information (see Fig. 8 and Fig. 9), and thus the information acquisition unit 132 may specify group identification information contained in the extracted flow identification information.
  • the information acquisition unit 132 extracts identification information on the transmission source node of the entry delete notification.
  • the information acquisition unit 132 determines whether the transmission source of the entry delete notification is a base node corresponding to the group identification information specified in step S42 (step S43).
  • the information acquisition unit 132 reads the identification information on the base node corresponding to the group identification information acquired in step S42 from the base node information storage unit 133.
  • the information acquisition unit 132 determines that the transmission source of the entry delete notification is a base node.
  • the information acquisition unit 132 determines that the transmission source of the entry delete notification is not a base node.
  • step S44 When the transmission source of the entry delete notification is not a base node (No in step S43), the entry delete notification is ignored (step S44).
  • the information acquisition unit 132 requests the flow entry information adapted to the group identification information to the base node corresponding to the group identification information specified in step S42 (step S45).
  • the information requested in step S45 may be specified per flow entry.
  • the information acquisition unit 132 may request statistics information in the flow entry adapted to the group identification information.
  • step S45 the requested base node transmits the flow entry information adapted to the designated group identification information to the control device 10. If relevant information is not present, information is not sent to the control device 10.
  • step S46 When acquiring the information in response to the request in step S45 (Yes in step S46), the information acquisition unit 132 determines that the group is alive because part of the flow belonging to the group specified in step S42 is alive (step S47).
  • step S48 if information is not acquired in response to the request in step S45, all the flows belonging to the group specified in step S42 have disappeared, and thus it is determined that the group has also disappeared (step S48).
  • the effect that flow group alive monitoring can be performed is obtained in addition to the effects of the second exemplary embodiment.
  • the flow entry setting unit 15 may perform the operation of instructing the node where a flow entry is set to delete the flow entry when the above condition is met and to transmit the entry delete notification to the control device 10.
  • a length of the certain period of time described in the flow entry delete condition be shorter at a base node than that at a node other than the base node.
  • FIG. 12 is an explanatory diagram illustrating an exemplary communication system to which a fifth exemplary embodiment of the present invention is applied.
  • a control device (flow information collecting system) 30 according to the fifth exemplary embodiment is connected to an external device 40.
  • the external device 40 designates identification information for specifying a flow, and a node interface through which packets are output to the outside of the communication system in the flow for the control device 30.
  • the identification information for specifying a flow may generate a plurality of flows.
  • a set of setting contents designated by the external device 40 is denoted as flow group setting.
  • the flow identification information designated by the external device 40 is denoted as flow group identification information.
  • boundary node A node through which packets are output to the outside of the communication system in the flow is denoted as boundary node.
  • Fig. 13 is a block diagram illustrating an exemplary structure of the control device according to the fifth exemplary embodiment.
  • the control device 30 according to the fifth exemplary embodiment comprises a setting management unit 19 and an external device communication unit 20 in addition to the components illustrated in Fig. 2.
  • the external device communication unit 20 is a communication interface with the external device 40 (see Fig. 12).
  • the setting management unit 19 holds flow group setting designated by the external device 40.
  • the topology management unit 11 collects and manages topology information of the network, and notifies the topology information to the external device 40.
  • the external device 40 uses the topology information to determine a boundary node or its interface.
  • the path calculation unit 12 calculates a flow path in order to output packets to the outside of the communication system (see Fig. 12) from the boundary node.
  • the flow entry calculation unit 14 creates a flow entry.
  • the flow entry calculation unit 14 associates an action for transferring packets along the path calculated by the path calculation unit 12 with the flow group identification information thereby to create a flow entry according to each node.
  • the flow entry calculation unit 14 may use the flow group identification information designated by the external device 40 as it is, and associate it with the action. Alternatively, the flow entry calculation unit 14 may detail the flow group identification information designated by the external device 40 and associate it with the action.
  • a plurality of flows may be generated from the flow group identification information.
  • the flow entry setting unit 15 asks a node to set a flow entry calculated by the flow entry calculation unit 14.
  • the operation is the same as the operation according to other embodiments.
  • control message processing unit 16 and the node communication unit 17 are the same as the control message processing unit 16 and the node communication unit 17 according to other embodiments.
  • the base node determination unit 131 determines a base node, and stores identification information on the base node and flow group identification information designated by the external device 40 in the base node information storage unit 133.
  • the base node determination unit 131 may determine a base node by designating one or more nodes configuring a packet transfer path per packet transfer path calculated by the path calculation unit 12 based on the flow group setting, for example.
  • the base node may be determined by selecting a node from among the nodes through which all the packet transfer paths calculated by the path calculation unit 12 based on the flow group setting pass.
  • the information acquisition unit 132 specifies identification information on the base node corresponding to the flow group identification information with reference to the base node information storage unit 133. Then, the information acquisition unit 132 transmits the flow group identification information to the base node, and requests the flow information (traffic identification information).
  • the requested base node searches a flow entry adapted to the flow group identification information sent from the information acquisition unit 132, and returns the traffic identification information for the flow entry to the control device 30. Then, the information acquisition unit 132 acquires the traffic identification information.
  • the setting management unit 19 sends, to the external device 40, the information collected by the information acquisition unit 132 from the base node according to the flow group identification information designated by the external device 40 as described above.
  • the base node determination unit 131 determines the base node by designating one or more nodes configuring the packet transfer path per packet transfer path calculated by the path calculation unit 12 based on the flow group setting, for example. Alternatively, the base node determination unit 131 determines the base node by selecting a node from among the nodes through which all the packet transfer paths calculated by the path calculation unit 12 based on the flow group setting pass. Further, the flow entry is set with the flow group identification information itself or detailed flow group identification information. Thus, the information in the flow entry adapted to the flow group identification information is collected from a base node so that traffic statistics information in all the flow paths specified by the designated flow group identification information can be collected. The statistics information can be regarded as statistics information over the entire flow.
  • the setting management unit 19 transmits the traffic statistics information acquired at the base node by the information acquisition unit 132 to the external device 40. Consequently, the external device 40 can acquire and monitor communication execution results for the flow determined by the flow group setting set by the external device 40.
  • traffic statistics information is collected by way of example, but information to be collected is not limited to the traffic statistics information, and may be information common in paths.
  • the control device 30 may be configured such that when storing each packet transfer path per flow group identification information and acquiring flow information, the base node determination unit 131 determines a base node.
  • information may be collected or flow alive monitoring may be performed in the same way as each of the first to fourth exemplary embodiments.
  • FIG. 14 is a block diagram illustrating an exemplary minimum structure of the present invention.
  • a flow information collecting system according to the present invention comprises a base node information storage means 71 and an information acquisition means 72.
  • the base node information storage means 71 (such as the base node information storage unit 133) stores a correspondence between flow identification information (flow identification information itself) or part thereof (such as common part between multiple items of flow identification information, which is flow group identification information) and a base node where flow information is to be collected.
  • the information acquisition means 72 (such as the information acquisition unit 132) acquires flow information from the base node corresponding to the flow identification information or part thereof.
  • the flow information is acquired from the base node, not from all the nodes. Therefore, flow information can be collected at low processing cost.
  • a flow information collecting system comprising a base node information storage means for storing a correspondence between flow identification information on OpenFlow or part thereof, and one or a plurality of base nodes where information on the flow is to be collected, which are determined as nodes capable of collecting information in each packet transfer path corresponding to the flow, and an information acquisition means for, when the flow identification information or part thereof is designated, specifying a base node corresponding to the flow identification information or part thereof, and acquiring flow information adapted to the flow identification information or part thereof from the base node.
  • the flow information collecting system comprising a base node determination means for determining a base node corresponding to a flow based on the flow identification information, and storing a correspondence between the flow identification information and the base node in the base node information storing means.
  • the flow information collecting system according to any one of Supplementary note 1 to Supplementary note 7, comprising a flow entry setting means for setting, for each node on the packet transfer path corresponding to the flow, a flow entry indicating flow identification information and an operation when a packet adapted to the flow identification information is received, wherein the flow entry setting means instructs each of the nodes, when a flow entry is deleted, a notification that the flow entry is deleted, and when a transmission source of the notification is a base node, the information acquisition means determines that the flow is deleted.
  • Supplementary note 10 The flow information collecting system according to any one of Supplementary note 1 to Supplementary note 9, wherein when a group of flows is designated, the information acquisition means specifies a base node corresponding to flow identification information per flow belonging to the group, and acquires flow information adapted to the flow identification information from the base node.
  • the flow information collecting system comprising a base node determination means for storing a correspondence between flow identification information and a node on an individual packet transfer path corresponding to the flow in the base node information storage means per flow identification information, determining a base node from among duplicative nodes in each packet transfer path corresponding to each of the flows by assuming duplicative part of the identification information on each flow belonging to a group as the group identification information when the group of flows is designated, and storing a correspondence between the group identification information and the base node in the base node information storage means.
  • the flow information collecting system comprising a flow entry setting means for setting a flow entry indicating flow identification information and an operation when a packet adapted to the flow identification information is received for each node on the packet transfer path corresponding to the flow, wherein the flow entry setting means instructs each of the nodes, when a flow entry is deleted, a notification that the flow entry is deleted, and the information acquisition means specifies group identification information adapted to the deleted flow entry when a transmission source of the notification is a base node, requests information adapted to the group identification information to the base node corresponding to the group identification information, and determines that the group is deleted when not receiving the information.
  • the present invention is suitably applied to flow information collection in OpenFlow.
  • Control device (flow information collecting system) 11 Topology management unit 12 Path calculation unit 13 Flow information acquisition unit 14 Flow entry calculation unit 15 Flow entry setting unit 131 Base node determination unit 132 Information acquisition unit 133 Base node information storage unit

Landscapes

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

Abstract

There is provided a flow information collecting system capable of collecting flow information at low processing cost. A base node information storage means 71 stores a correspondence between flow identification information on OpenFlow or part thereof, and one or a plurality of base nodes where the flow information is to be collected, which are determined as nodes capable of collecting information in each packet transfer path corresponding to the flow. When the flow identification information or part thereof is designated, an information acquisition means 72 specifies a base node corresponding to the flow identification information or part thereof, and acquires flow information adapted to the flow identification information or part thereof from the base node.

Description

FLOW INFORMATION COLLECTING SYSTEM, METHOD AND PROGRAM
The present invention relates to a flow information collecting system for collecting information on a flow in order to monitor the flow in OpenFlow, a flow information collecting method and a flow information collecting program.
As described in Patent Literature (PTL) 1 and Non-Patent Literatures (NPL) 1 and 2, there has been proposed an OpenFlow technique in recent years. The OpenFlow regards communication as an end-to-end flow, and performs path control, failure recovery, load dispersion and optimization in units of flow. An OpenFlow switch functioning as a transfer node comprises a secure channel for communication with an OpenFlow controller. The OpenFlow switch operates according to a flow table. The OpenFlow controller instructs the OpenFlow switch to add or rewrite the flow table as needed. The flow table defines therein a set of key information (FlowKey, matching key) for collation with a packet header, action defining processing contents (Action), and flow statistics information (Stats) per flow. The set is called flow entry. A rule defining an action for a received packet is defined by a combination of key information and action. The key information employs flow identification information. Information contained in the packet header can identify to which flow the packet belongs. Thus, more specifically, the key information employs the information contained in the packet header.
When receiving a new packet, the OpenFlow switch searches a flow entry adapted to identification information on a flow to which the packet belongs from the flow table. As a result of the search, when a flow entry adapted to the flow to which the received packet belongs is found, the OpenFlow switch performs a processing described in an action field in the flow entry on the packet. On the other hand, as a result of the search, when an entry adapted to the flow to which the received packet belongs is not found, the OpenFlow switch transfers the received packet to the OpenFlow controller via the secure channel, and asks the OpenFlow controller to determine a packet path based on the header information of the received packet. Then, the OpenFlow switch receives a flow entry according to the determined path from the OpenFlow controller, and updates the flow table.
In this way, the OpenFlow switch determines a processing on the packet by the flow entry set in the OpenFlow controller. The processing on a packet uses OUTPUT for outputting packets to a designated interface in many cases. A port to be designated at this time is not limited to a physical interface.
The OpenFlow controller defines a flow entry per node (OpenFlow switch) on the packet transfer path for the flow and sets the flow entry for each node in order to control a certain flow. The OpenFlow controller needs to be mounted with a flow control application in order to realize such a processing.
The OpenFlow controller controls a plurality of flow entries (flow entries per node) for one flow, and thus needs to hold and manage the respective flow entries set along the packet transfer path classified to the flow as one set.
Thus, when the number of flows in a network increases, the number of flow entries to be held by the OpenFlow controller increases.
The OpenFlow controller uses an OpenFlow message to actively or passively acquire information on the flow entry set in the OpenFlow switch and collates it with the flow entry information held in the OpenFlow controller itself, and then notifies the acquired information to a path calculation application or discards it. Thus, when the number of flow entries to be held by the OpenFlow controller increases along with an increase in flows, loads of the OpenFlow controller increase in terms of the amount of data or message processing loads.
When the OpenFlow controller does not hold a flow entry, calculates a new flow entry each time a state of the network changes (a topology changes, for example) and corresponding to the change, and resets it in the node, the loads can be reduced. In this case, however, an overhead for resetting all the flow entries occurs or strict inter-end flow control is not performed. Further, there occurs a problem that a flow is difficult to be monitored.
International Publication No. 2008/095010
Nick McKeown, and seven others, "OpenFlow: Enabling Innovation in Campus Networks", [online], March 14, 2008, (searched on February 26, 2010], Internet <http://www.openflowswitch.org//documents/openflow-wp-latest.pdf> "OpenFlow Switch Specification Version 0.9.0 (Wire Protocol 0x98)", [online], July 20, 2009, [searched on February 26, 2010], Internet <http://www.openflowswitch.org/documents/openflow-spec-v0.9.0.pdf>
When many flows are controlled by the OpenFlow described in Patent Literature 1 and Non-Patent Literatures 1 and 2, cost for managing flow information increases. For example, there will be assumed an example in which the OpenFlow controller acquires traffic statistics information as flow information. In this case, with the techniques described in the Patent literature 1 and Non-Patent Literatures 1 and 2, the OpenFlow controller needs to acquire the statistics information from all the OpenFlow switches on a packet communication path corresponding to the flow, and causes an increase in processing cost of the OpenFlow controller. This is also applicable to a case in which information other than the traffic statistics information is collected as flow information.
It is therefore an object of the present invention to provide a flow information collecting system capable of collecting flow information at low processing cost, a flow information collecting method and a flow information collecting program.
A flow information collecting system according to the present invention comprises a base node information storage means for storing a correspondence between flow identification information or part thereof and a base node where the flow information is to be collected, and an information acquisition means for acquiring the flow information from a base node corresponding to the flow identification information or part thereof.
A flow information collecting method according to the present invention comprises the steps of storing a correspondence between flow identification information or part thereof and a base node where the flow information is to be collected, and acquiring the flow information from the base node corresponding to the flow identification information or part thereof.
A flow information collecting program according to the present invention is mounted on a computer comprising a base node information storage means for storing a correspondence between flow identification information or part thereof and a base node where the flow information is to be collected, and causes the computer to perform an information acquisition processing for acquiring the flow information from the base node corresponding to the flow identification information or part thereof.
According to the present invention, it is possible to collect flow information at low processing cost.
It depicts an explanatory diagram illustrating an exemplary communication system including a control device (flow information collecting system). It depicts a block diagram illustrating an exemplary structure of a flow information collecting system according to a first exemplary embodiment. It depicts a flowchart illustrating an exemplary processing progress on setting a flow entry according to the first exemplary embodiment. It depicts a schematic diagram illustrating an exemplary flow. It depicts a schematic diagram illustrating another exemplary flow. It depicts a flowchart illustrating an exemplary processing progress on setting a flow entry according to a second exemplary embodiment. It depicts a schematic diagram illustrating a plurality of exemplary flows. It depicts an explanatory diagram illustrating information stored in step S11 for the flows 1 and 2 illustrated in Fig. 7. It depicts a schematic diagram illustrating a correspondence between identification information on a flow group and base node. It depicts a flowchart illustrating an exemplary processing progress on receipt of an entry delete notification. It depicts a flowchart illustrating an exemplary processing progress on receipt of an entry delete notification according to a fourth exemplary embodiment. It depicts an explanatory diagram illustrating an exemplary communication system to which a fifth exemplary embodiment according to the present invention is applied. It depicts a block diagram illustrating an exemplary structure of a control device according to the fifth exemplary embodiment. It depicts a block diagram illustrating an exemplary minimum structure of the present invention.
Embodiments according to the present invention will be described below with reference to the drawings. A flow information collecting system according to the present invention is realized by an OpenFlow controller in OpenFlow. The flow information collecting system according to the present invention is denoted as control device below. An OpenFlow switch in the OpenFlow is denoted as node. Implementation of the present invention is not limited to implementation in OpenFlow, and may be conducted by any technique such as collective control type network architecture.
Fig. 1 illustrates an exemplary communication system including a control device (flow information collecting system). The communication system illustrated in Fig. 1 includes the control device 10 and nodes 1 to 3. The control device 10 is connected to the nodes 1 to 3 via control secure channels 5, respectively. The nodes 1 to 3 have a link to the outside of the communication system. The number of nodes and a connection relationship between the nodes are arbitrary, and are not limited to the example illustrated in Fig. 1.
The control device 10 spontaneously performs flow control in response to an inquiry from the nodes 1 to 3. The control device 10 may perform flow control in response to a variation in topology, a user's instruction or new host registration.
The control device 10 specifies flow identification information, and calculates a transfer path of a packet belonging to the flow. The control device 10 specifies a base node from the nodes contained in the path, and associates and stores the base node (specifically base node identification information) and the flow identification information or part thereof.
The base node will be described herein. The base node is a node where flow information is to be collected, and is one or a plurality of nodes determined as nodes capable of collecting information in each packet transfer path corresponding to the flow.
A packet belonging to a flow may be copied at a node and may be output from a plurality of ports. The packet transfer path for one flow is not limited to one. For example, for one flow, one or more nodes configuring the packet transfer path are designated per packet transfer path corresponding to the flow, thereby determining a base node. When the node designated per packet transfer path corresponding to one flow is a common node, one base node is present. It is preferable that the number of base nodes be small, and thus as described above, the common node designated per packet transfer path corresponding to one flow is preferable. In this case, for example, a node through which all the packet transfer paths corresponding to the flow pass may be determined as base node. A plurality of base nodes may be determined.
The control device 10 creates a flow entry containing flow identification information and an action defining to which node a packet is to be transferred per node on the calculated packet transfer path, and sets a flow entry according to the node for each node. Consequently, the flow is determined. The control device 10 itself may or may not hold the flow entry set for each node. When the control device 10 itself does not hold the flow entry set for each node, the control device 10 can reduce flow entry's management cost.
As described above, the control device 10 associates and stores the base node and the flow identification information or part thereof. When collecting information on a flow or a group of flows (such as traffic statistics information), the control device 10 collects the information from the base node associated with the flow identification information (or part thereof) according to the flow or the group of flows. The thus-collected information can be used as information over the entire packet transfer path for the flow or the group of flows.
First exemplary embodiment
Fig. 2 is a block diagram illustrating an exemplary structure of the flow information collecting system (control device) according to a first exemplary embodiment of the present invention. The control device 10 comprises a topology management unit 11, a path calculation unit 12, a flow information acquisition unit 13, a flow entry calculation unit 14, a flow entry setting unit 15, a control message processing unit 16, and a node communication unit 17.
The topology management unit 11 collects and manages topology information of a network.
The path calculation unit 12 calculates a packet transfer path corresponding to a flow.
The flow information acquisition unit 13 collects flow information from a base node. There will be described below, in the present exemplary embodiment, a case in which traffic statistics information is collected as flow information, but information other than the traffic statistics information may be collected as flow information.
The flow entry calculation unit 14 calculates a flow entry per node on a packet transfer path based on the flow identification information and the packet transfer path calculated by the path calculation unit 12. The flow entry calculation unit 14 may determine a flow entry in a combination of action for outputting packets from an output port for transferring the packets to a next node, and flow identification information, for example.
The flow entry setting unit 15 asks a node to set the flow entry calculated by the flow entry calculation unit 14.
The control message processing unit 16 converts control contents into a control message when each component in the control device 10 controls a node. The control message processing unit 16 analyzes the control message received from the node.
The node communication unit 17 is a communication interface for making communication with the nodes.
When each part 11 to 15 in the control device makes communication with the nodes, the communication is made via the control message processing unit 16 and the node communication unit 17. The explanation of the control message processing unit 16 and the node communication unit 17 will be omitted for a simplified description.
The flow information acquisition unit 13 comprises a base node determination unit 131, an information acquisition unit 132 and a base node information storage unit 133.
The base node determination unit 131 determines a base node from a packet transfer path corresponding to a flow.
The base node information storage unit 133 stores identification information on a base node corresponding to a flow and flow identification information per flow.
The information acquisition unit 132 requests the information (such as traffic statistics information) on the flow corresponding to a base node to the base node, and acquires the information from the base node.
The topology management unit 11, the path calculation unit 12, the flow information acquisition unit 13 (specifically the base node determination unit 131 and the information acquisition unit 132), the flow entry calculation unit 14, the flow entry setting unit 15 and the control message processing unit 16 are realized by a CPU in a computer operating according to a flow information collecting program, for example. In this case, the CPU may read the flow information collecting program and operate as the topology management unit 11, the path calculation unit 12, the flow information acquisition unit 13 (specifically the base node determination unit 131 and the information acquisition unit 132), the flow entry calculation unit 14, the flow entry setting unit 15 and the control message processing unit 16 according to the program. The components may be realized by individual hardware.
A processing progress according to the present exemplary embodiment will be described below.
A processing progress on setting a flow entry will be described first. Fig. 3 is a flowchart illustrating an exemplary processing progress on setting a flow entry according to the present exemplary embodiment. For example, there is assumed that a node 1 (see Fig. 1) receives a packet and a flow entry corresponding to identification information on a flow to which the packet belongs is not set at the node 1. In this case, the node 1 sends the received packet to the control device 10.
When the control device 10 receives the packet, the path calculation unit 12 specifies identification information on the flow to which the packet belongs (step S1). The flow identification information may use information contained in a header of the packet, for example. For example, a combination of packet transmission source MAC (Media Access Control) address and destination MAC address may be used as the flow identification information.
Further, the path calculation unit 12 calculates a packet transfer path in the flow to which the packet belongs with reference to the packet transmission source and destination, and the topology information managed by the topology management unit 11 (step S2).
Then, the flow entry calculation unit 14 calculates a flow entry per node on the packet transfer path calculated in step S2 (step S3). The flow entry calculation unit 14 may determine an action for outputting a packet from an output port for transferring the packet to a next node per node on the packet transfer path, and may determine a flow entry per node in a combination of flow identification information and action.
Then, the flow entry setting unit 15 asks each node on the packet transfer path to set the flow entry determined per node (step S4). Each node sets a flow entry in response to a request from the flow entry setting unit 15. Consequently, the flow to which the packet received by the node 1 belongs is determined. An exemplary flow is illustrated in Fig. 4. Fig. 4 illustrates a case in which a flow passing through the nodes 1, 2 and 3 is determined.
There is a flow in which a node on the transfer path copies a packet and the node outputs the packet from a plurality of ports. An example of the flow is illustrated in Fig. 5. In the example illustrated in Fig. 5, there are present a transfer path from the node 3 toward the outside of the communication system via the nodes 1, 2 and 3, and a transfer path from the node 2 toward the outside of the communication system via the nodes 1 and 2. That is, the transfer paths corresponding to the flow illustrated in Fig. 5 is a path tree in which a plurality of paths are combined.
After step S4, the base node determination unit 131 determines a base node according to the flow (step S5). An exemplary base node determination method will be described below.
The base node determination unit 131 designates one or more nodes configuring the packet transfer path per packet transfer path corresponding to the flow, thereby to determine a base node, for example. A base node is designated per packet transfer path so that all the packet transfer paths corresponding to the flow can be monitored.
In the flow illustrated in Fig. 4, one packet transfer path corresponding to the flow is present so that one or more nodes may be determined as base nodes from the packet transfer path. A plurality of base nodes may be present, but it is preferable that the number of base nodes be small and thus it is preferable that one base node be determined. For example, in the flow illustrated in Fig. 5, two packet transfer paths corresponding to the flow are present, and thus one or more (preferably one) nodes may be designated from each path and each designated node may be determined as each base node. When a different node is designated per packet transfer path, a plurality of base nodes are present. It is preferable that a common node be designated in each packet transfer path in order to reduce the number of base nodes. For example, in the example illustrated in Fig. 5, it is preferable that the node 1 or the node 2 be assumed as a base node.
The base node determination unit 131 may determine one or more (preferably one) nodes as base nodes from among the nodes through which all the packet transfer paths corresponding to the flow pass, for example. For example, in the example illustrated in Fig. 5, the nodes through which two packet transfer paths pass are the nodes 1 and 2. Thus, the base node determination unit 131 may determine a base node out of the nodes 1 and 2. In the example illustrated in Fig. 4, because there is one packet transfer path, a base node may be determined from the nodes 1 to 3 on the packet transfer path.
Other method for determining a base node may be a method for determining a node which first receives a packet from the outside of the communication system (which will be denoted as ingress edge below) as a base node. A plurality of ingress edges may be present depending on a flow, but in this case, the base node determination unit 131 should assume all the ingress edges as base nodes. In the example illustrated in Fig. 4, the node 1 corresponding to the ingress edge may be assumed as base node.
The base node determination unit 131 may determine a node which finally outputs the packet inside the communication system (which will be denoted as egress edge below) as base node in addition to the ingress edge. In the example illustrated in Fig. 4, the node 1 (ingress edge) and the node 3 (egress edge) may be assumed as base nodes. The ingress edge and the egress edge are assumed as the base nodes so that flow information is collected from the start point and the end point of the flow thereby to enhance a flow monitoring accuracy.
As described above, when one or more nodes configuring a packet transfer path are designated thereby to determine a base node per packet transfer path corresponding to the flow, the base node determination unit 131 may designate a node having a small amount of transmitted/received messages with respect to the control device per certain time. In that case where the amount of transmitted/received messages with respect to the control device per certain time is a threshold or less, it may be determined that the amount of transmitted/received messages with respect to the control device is small. Alternatively, with a comparison with other nodes, there may be determined a node having a small amount of transmitted/received messages with respect to the control device per certain time. A node having a small amount of transmitted/received messages with respect to the control device per certain time is assumed as a base node so that even when many flows can occur, the processing loads for the control messages at the nodes can be made uniform within the network, thereby reducing a pressure on a communication band of the secure channels between the control device 10 and the nodes.
After determining the base node, the base node determination unit 131 associates the identification information on the base node with the identification information on the flow specified in step S1, and stores them in the base node information storage unit 133 (step S6). If a plurality of base nodes are present, all the items of identification information on the base nodes are associated with the flow identification information.
When a packet belonging to the flow is transmitted/received, the node for which a flow entry is set in step S4 updates the traffic statistics information in the flow entry.
A processing in which the control device 10 acquires flow information (traffic statistics information in this example) will be described below. The information acquisition unit 132 specifies each base node corresponding to the flow identification information for which the statistics information is to be acquired with reference to a correspondence between the flow identification information and the base node identification information stored in the base node information storage unit 133.
The information acquisition unit 132 transmits the flow identification information to the specified base node, and requests the traffic statistics information adapted to the flow identification information. When receiving the request, the base node searches a flow entry determined by the flow identification information from the base node's flow table, and extracts the traffic statistics information from the flow entry and sends it to the control device 10. The information acquisition unit 132 receives the traffic statistics information.
Consequently, the information acquisition unit 132 can collect the traffic statistics information on the flow from the base node and can monitor the flow by the information.
Flow information is collected from the base node determined by various methods described in step S5 so that the collected information can be regarded as information over the entire flow. That is, as illustrated in Fig. 5, even when a plurality of packet transfer paths corresponding to a flow are present, the information acquisition unit 132 can collect information on each path.
For example, one or more nodes configuring a packet transfer path are designated per packet transfer path corresponding to a flow, thereby preventing missing information collection that statistics information is not collected in any path. This is also applicable to a case in which a node through which all the packet transfer paths corresponding to the flow pass is assumed as a base node or a case in which all the ingress edges are assumed as base nodes.
Information on all the packet transfer paths corresponding to the flow can be collected from the base nodes, and thus the information acquisition unit 132 does not need to collect information from all the nodes on the flow. That is, the information acquisition unit 132 may collect information only from the base nodes. Thus, the control device 10 can collect the flow information at low processing cost.
According to the present invention, the base node determination unit 131 stores a correspondence between the flow and the base node in the base node information storage unit 133. Thus, even if the control device 10 does not hold the flow entry set for each node, the information acquisition unit 132 can specify a base node corresponding to the flow for which statistics information is to be acquired, and can collect the flow information from the base node.
Second exemplary embodiment
A group of flows is determined according to a second exemplary embodiment of the present invention. A control device according to the second exemplary embodiment collects information on each flow belonging to a group from a base node.
The control device according to the second exemplary embodiment can be realized in the same structure as Fig. 2, and the second exemplary embodiment will be described below with reference to Fig. 2. There will be described, also in the second exemplary embodiment, a case in which the control device 10 collects traffic statistics information as flow information.
The second exemplary embodiment is different from the first exemplary embodiment in the operations of the base node determination unit 131 and the information acquisition unit 132. The second exemplary embodiment will be described below by mainly describing the differences from the first exemplary embodiment.
According to the second exemplary embodiment, duplicative part of the identification information on each flow belonging to a group is used as group identification information.
Fig. 6 is a flowchart illustrating an exemplary processing progress on setting a flow entry according to the second exemplary embodiment. The operations in steps S1 to S4 are the same as steps S1 to S4 in the first exemplary embodiment.
After step S4, the base node determination unit 131 associates the identification information on the flow specified in step S1 with the identification information on each node on the packet transfer path corresponding to the flow, and stores them in the base node information storage unit 133 (step S11). As illustrated in Fig. 5, when a plurality of packet transfer paths corresponding to the flow are present, the base node determination unit 131 associates the flow identification information with the identification information on each node on the packet transfer path per packet transfer path corresponding to the flow, and stores them in the base node information storage unit 133.
There is assumed that the processing in steps S1 to S11 is performed on a plurality of flows, respectively, and the flows are determined. Fig. 7 illustrates exemplary flows. Fig. 7 illustrates a flow 1 which leads to the outside from the node 3 via the nodes 1, 2 and 3 and a flow 2 which leads to the outside from the node 2 via the nodes 1 and 2.
Fig. 8 is an explanatory diagram illustrating information stored in step S11 for the flows 1 and 2 illustrated in Fig. 7. In Fig. 8, a combination of packet transmission source MAC address and destination MAC address is used as flow identification information. As illustrated in Fig. 8, the nodes 1 to 3 are stored as identification information on each node on the path for the flow 1. The nodes 1 and 2 are stored as identification information on each node on the path for the flow 2.
Fig. 8 illustrates a case in which one packet transfer path corresponds to one flow for a simplified description. As described above, when a plurality of packet transfer paths corresponding to a flow are present, the base node determination unit 131 associates the flow identification information with the identification information on each node on the packet transfer path per packet transfer path corresponding to the flow.
According to the second exemplary embodiment, a group of flows is determined. A group of flows may be determined by the control device 10 in response to a user's request or may be set from the outside. A group may be determined based on a network monitor policy. A group of flows may be determined in any method as long as the condition that group identification information is independent between groups is satisfied. There will be described below a case in which one group containing the flows 1 and 2 illustrated in Fig. 7 is determined.
When a group is determined, the base node determination unit 131 determines duplicative part of the identification information on each flow belonging to the group as group identification information. In this example, duplicative part between the identification information on the flow 1 and the identification information on the flow 2 (see Fig. 8) may be determined as group identification information. As illustrated in Fig. 8, the transmission source MAC address is duplicative and the destination MAC address is different between the identification information on the flow 1 and the identification information on the flow 2. Thus, in this example, the transmission source MAC address "0x0" as the duplicative part between the identification information on the flows 1 and 2 may be assumed as group identification information.
The base node determination unit 131 determines a base node for which information on a flow belonging to the group is to be collected. For example, the base node determination unit 131 selects one or more base nodes from the nodes in the duplicated packet transfer paths among the nodes on each packet transfer path in each flow belonging to the group, and assumes the nodes as base nodes. Even if a plurality of packet transfer paths corresponding to one flow are present, the base nodes may be similarly determined.
In the examples illustrated in Fig. 7 and Fig. 8, the nodes where the packet transfer path of the flow 1 and the packet transfer path of the flow 2 overlap are the nodes 1 and 2. Thus, the base node determination unit 131 may determine any of the nodes 1 and 2 as a base node.
The base node determination unit 131 associates the identification information on the flow group with the identification information on the base node, and stores them in the base node information storage unit 133. Fig. 9 is a schematic diagram illustrating a correspondence between identification information on a flow group and a base node in this example. In this example, the transmission source MAC address "0x0" as the group identification information is associated with the node 1 or node 2. In the following description, there will be described an example in which the transmission source MAC address "0x0" is associated with the node 1.
There will be described below a processing in which the information acquisition unit 132 acquires flow information (traffic statistics information in this example). The information acquisition unit 132 specifies a base node corresponding to the identification information on the group for which statistics information is to be acquired, and collects information (traffic statistics information) on a flow belonging to the group from the base node. There will be described herein an example in which information on a flow is collected for the group containing the flows 1 and 2 illustrated in Fig. 7.
For example, the information acquisition unit 132 specifies duplicative part of the identification information on each flow belonging to the group for which statistics information is to be acquired, thereby to derive group identification information. The operation is the same as the operation in which the base node determination unit 131 determines group identification information. In this example, the transmission source MAC address "0x0" is derived as the group identification information. Then, the information acquisition unit 132 specifies each base node corresponding to the identification information on the group of the flow for which the statistics information is to be acquired with reference to the correspondence between the identification information on the group and the identification information on the base node stored in the base node information storage unit 133. In this example, the node 1 associated with the transmission source MAC address "0x0" is a base node.
Then, the information acquisition unit 132 transmits the transmission source MAC address "0x0" as the group identification information to the specified base node, and requests traffic statistics information adapted to the group identification information.
When receiving the request, the base node searches a flow entry adapted to the group identification information from the base node's flow table. In this example, the base node searches each flow entry with the transmission source MAC address "0x0" in the flow identification information. The base node extracts the traffic statistics information from each flow entry acquired by the search, and sends it to the control device 10. The information acquisition unit 132 receives the traffic statistics information.
Consequently, the information acquisition unit 132 can collect the traffic statistics information on each flow belonging to the group from the base node, and can monitor the flow by the information. In this example, all the items of statistics information transmitted from a terminal with the transmission source MAC address "0x0" can be acquired.
In this way, according to the present exemplary embodiment, the information on each flow belonging to the group is acquired only from the base node, not from all the nodes on each flow. Thus, the information on the flow belonging to the group can be collected at low processing cost.
The base node may transmit the statistics information to the control device 10 per flow entry. In this case, the information acquisition unit 132 can collect the statistics information per flow belonging to the group.
A variant of the second exemplary embodiment will be described below.
The base node determination unit 131 may perform the operations according to the first exemplary embodiment on setting a flow entry. That is, the base node determination unit 131 may perform steps S5 and S6 (see Fig. 3) after step S4. In this case, the base node information storage unit 133 stores a correspondence between a flow and a base node similarly to that in the first exemplary embodiment. Then, the information acquisition unit 132 may acquire flow information (such as traffic statistics information) per flow belonging to a group for which the statistics information is to be acquired similarly to that in the first exemplary embodiment. Consequently, information on each flow belonging to a group can be collected from a base node similarly to that in the second exemplary embodiment.
There has been described the case in which the control device 10 collects the traffic statistics information by way of example for the explanation of the first and second exemplary embodiments, but information to be collected is not limited to the traffic statistics information, and may be common information in paths.
There may be configured such that the control device 10 stores each packet transfer path corresponding to a flow and the base node determination unit 131 determines a base node for acquiring flow information.
Third exemplary embodiment
A control device according to a third exemplary embodiment of the present invention performs flow alive monitoring in addition to the same operations as the first exemplary embodiment.
The control device according to the third exemplary embodiment can be realized in the same structure as Fig. 2, and the third exemplary embodiment will be described below with reference to Fig. 2.
The flow entry setting unit 15 instructs a node to delete a flow entry when a predetermined condition is met, and to transmit a notification that the flow entry is deleted (which will be denoted as entry delete notification below) to the control device, in addition to the operations described in the first exemplary embodiment.
The information acquisition unit 132 determines whether the flow has disappeared when receiving the entry delete notification, in addition to the operations described in the first exemplary embodiment.
The third exemplary embodiment will be described below by mainly describing the differences from the first exemplary embodiment.
In the third exemplary embodiment, the operation on setting a flow entry is the same as in the first exemplary embodiment, and the control device 10 performs steps S1 to S6 (see Fig. 3).
The flow entry setting unit 15 performs the following operations after step S5. That is, the flow entry setting unit 15 instructs a node where a flow entry is set to delete the flow entry when the condition that the flow entry has not been used for a certain period of time or the condition that a predetermined time has elapsed since the flow entry was set even when the flow entry has been used is met. Further, the flow entry setting unit 15 instructs the node to transmit the entry delete notification to the control device 10 on deleting the flow entry.
The flow entry setting unit 15 may define, as the flow entry delete condition, both or either one of the condition that the flow entry has not been used for a certain period of time and the condition that a predetermined time has elapsed since the flow entry was set even when the flow entry has been used.
It is preferable for the flow entry setting unit 15 that a length of the certain period of time described in the flow entry delete condition is shorter at a base node than that at a node other than the base node.
At the same time with the setting of the flow entry, an individual node instructed by the flow entry setting unit 15 deletes the flow entry set in step S4 in response to the instruction from the flow entry setting unit 15 when the designated condition is met. Then, the node transmits the entry delete notification to the control device 10. At this time, the node transmits the entry delete notification including the flow identification information contained in the deleted flow entry and the node identification information.
When the control device 10 receives the entry delete notification, the information acquisition unit 132 determines whether the flow has disappeared based on the entry delete notification. Fig. 10 is a flowchart illustrating an exemplary processing progress on receipt of the entry delete notification.
When the control device 10 receives the entry delete notification from any node (step S31), the information acquisition unit 132 extracts the flow identification information and the transmission source node identification information contained in the entry delete notification (step S32). The flow identification information is flow identification information contained in the flow entry deleted by the node.
Then, the information acquisition unit 132 determines whether the transmission source of the entry delete notification is a base node corresponding to the flow identification information (step S33). The information acquisition unit 132 reads identification information on the base node corresponding to the flow identification information acquired in step S32 from the base node information storage unit 133. When the identification information on the transmission source node of the entry delete notification matches with the base node identification information, the information acquisition unit 132 determines that the transmission source of the entry delete notification is a base node. On the other hand, when both do not match, the information acquisition unit 132 determines that the transmission source of the entry delete notification is not a base node.
When the transmission source of the entry delete notification is a base node (Yes in step S33), the information acquisition unit 132 determines that the flow corresponding to the deleted flow entry has disappeared (step S34).
On the other hand, when the transmission source of the entry delete notification is not a base node (No in step S33), the entry delete notification is ignored (step S35). In step S35, the control device 10 may set a new flow entry in order to keep the flow. Alternatively, when the node receives a new packet, a flow entry may be set.
According to the present exemplary embodiment, the effect that flow alive monitoring can be performed is obtained in addition to the effects of the first exemplary embodiment.
As described above, it is preferable for the flow entry setting unit 15 that a length of the certain period of time described in the flow entry delete condition be shorter at a base node than that at a node other than the base node. For example, when the condition that the flow entry has not been used for a certain period of time is defined, the nodes other than the base node have less opportunity to transmit the entry delete notification than the base node. Thus, the amount of messages received by the control device 10 from the nodes other than the base node can be reduced.
The flow entry setting unit 15 may not instruct the nodes other than the base node to transmit the entry delete notification.
Fourth exemplary embodiment
A control device according to a fourth exemplary embodiment of the present invention performs flow group alive monitoring in addition to the same operations as the second exemplary embodiment.
The control device according to the fourth exemplary embodiment can be realized in the same structure as Fig. 2, and the fourth exemplary embodiment will be described below with reference to Fig. 2.
The flow entry setting unit 15 instructs a node to delete a flow entry when a predetermined condition is met, and to transmit an entry delete notification to the control device in addition to the operations in the second exemplary embodiment.
When receiving the entry delete notification, the information acquisition unit 132 determines whether a group of flows has disappeared, in addition to the operations in the second exemplary embodiment.
The fourth exemplary embodiment will be described below by mainly describing the differences from the second exemplary embodiment.
In the fourth exemplary embodiment, the operation on setting a flow entry is the same as in the second exemplary embodiment, and the control device 10 performs steps S1 to S11 (see Fig. 6).
The flow entry setting unit 15 performs the following operations after step S4, for example. That is, the flow entry setting unit 15 instructs a node where a flow entry is set to delete the flow entry when the condition that the flow entry has not been used for a certain period of time or the condition that a predetermined time has elapsed since the flow entry was set even when the flow entry has been used is met. Further, the flow entry setting unit 15 instructs the node to transmit the entry delete notification to the control device 10 when deleting the flow entry.
The flow entry setting unit 15 may define, as the flow entry delete condition, both or either one of the condition that the flow entry has not been used for a certain period of time and the condition that a predetermined time has elapsed since the flow entry was set even when the flow entry has been used.
At the same time with the setting of the flow entry, an individual node instructed by the flow entry setting unit 15 deletes the flow entry set in step S4 in response to the instruction from the flow entry setting unit 15 when the designated condition is met. Then, the node transmits the entry delete notification to the control device 10. At this time, the node transmits the entry delete notification including the flow identification information contained in the deleted flow entry and the node identification information.
When the control device 10 receives the entry delete notification, the information acquisition unit 132 determines whether the group of flows has disappeared based on the entry delete notification. Fig. 11 is a flowchart illustrating an exemplary processing progress on receipt of the entry delete notification according to the fourth exemplary embodiment.
When the control device 10 receives the entry delete notification from any node (step S41), the information acquisition unit 132 specifies identification information on a group to which the flow indicated by the flow identification information contained in the entry delete notification belongs (step S42). The information acquisition unit 132 extracts the flow identification information contained in the entry delete notification, and specifies group identification information adapted to the flow identification information from among the group identification information stored in the base node information storage unit 133. The group identification information is described as part of the flow identification information (see Fig. 8 and Fig. 9), and thus the information acquisition unit 132 may specify group identification information contained in the extracted flow identification information. The information acquisition unit 132 extracts identification information on the transmission source node of the entry delete notification.
Then, the information acquisition unit 132 determines whether the transmission source of the entry delete notification is a base node corresponding to the group identification information specified in step S42 (step S43). The information acquisition unit 132 reads the identification information on the base node corresponding to the group identification information acquired in step S42 from the base node information storage unit 133. When the identification information on the transmission source node of the entry delete notification matches with the base node identification information, the information acquisition unit 132 determines that the transmission source of the entry delete notification is a base node. On the other hand, when both do not match, the information acquisition unit 132 determines that the transmission source of the entry delete notification is not a base node.
When the transmission source of the entry delete notification is not a base node (No in step S43), the entry delete notification is ignored (step S44).
When the transmission source of the entry delete notification is a base node (Yes in step S43), the information acquisition unit 132 requests the flow entry information adapted to the group identification information to the base node corresponding to the group identification information specified in step S42 (step S45). The information requested in step S45 may be specified per flow entry. For example, the information acquisition unit 132 may request statistics information in the flow entry adapted to the group identification information.
In step S45, the requested base node transmits the flow entry information adapted to the designated group identification information to the control device 10. If relevant information is not present, information is not sent to the control device 10.
When acquiring the information in response to the request in step S45 (Yes in step S46), the information acquisition unit 132 determines that the group is alive because part of the flow belonging to the group specified in step S42 is alive (step S47).
On the other hand, if information is not acquired in response to the request in step S45, all the flows belonging to the group specified in step S42 have disappeared, and thus it is determined that the group has also disappeared (step S48).
In the present exemplary embodiment, the effect that flow group alive monitoring can be performed is obtained in addition to the effects of the second exemplary embodiment.
After determining the base node of the group, the flow entry setting unit 15 may perform the operation of instructing the node where a flow entry is set to delete the flow entry when the above condition is met and to transmit the entry delete notification to the control device 10. In this case, similarly to that in the third exemplary embodiment, it is preferable that a length of the certain period of time described in the flow entry delete condition be shorter at a base node than that at a node other than the base node.
Fifth exemplary embodiment
Fig. 12 is an explanatory diagram illustrating an exemplary communication system to which a fifth exemplary embodiment of the present invention is applied. A control device (flow information collecting system) 30 according to the fifth exemplary embodiment is connected to an external device 40. The external device 40 designates identification information for specifying a flow, and a node interface through which packets are output to the outside of the communication system in the flow for the control device 30. The identification information for specifying a flow may generate a plurality of flows. Thus, a set of setting contents designated by the external device 40 is denoted as flow group setting. The flow identification information designated by the external device 40 is denoted as flow group identification information.
A node through which packets are output to the outside of the communication system in the flow is denoted as boundary node.
Fig. 13 is a block diagram illustrating an exemplary structure of the control device according to the fifth exemplary embodiment. The control device 30 according to the fifth exemplary embodiment comprises a setting management unit 19 and an external device communication unit 20 in addition to the components illustrated in Fig. 2.
The external device communication unit 20 is a communication interface with the external device 40 (see Fig. 12).
The setting management unit 19 holds flow group setting designated by the external device 40.
In the present exemplary embodiment, the topology management unit 11 collects and manages topology information of the network, and notifies the topology information to the external device 40. The external device 40 uses the topology information to determine a boundary node or its interface.
In the present exemplary embodiment, when flow group identification information and an interface of the boundary node are designated by the external device 40, the path calculation unit 12 calculates a flow path in order to output packets to the outside of the communication system (see Fig. 12) from the boundary node.
The flow entry calculation unit 14 creates a flow entry. The flow entry calculation unit 14 associates an action for transferring packets along the path calculated by the path calculation unit 12 with the flow group identification information thereby to create a flow entry according to each node.
Herein, the flow entry calculation unit 14 may use the flow group identification information designated by the external device 40 as it is, and associate it with the action. Alternatively, the flow entry calculation unit 14 may detail the flow group identification information designated by the external device 40 and associate it with the action.
A plurality of flows may be generated from the flow group identification information.
The flow entry setting unit 15 asks a node to set a flow entry calculated by the flow entry calculation unit 14. The operation is the same as the operation according to other embodiments.
The control message processing unit 16 and the node communication unit 17 are the same as the control message processing unit 16 and the node communication unit 17 according to other embodiments.
The base node determination unit 131 determines a base node, and stores identification information on the base node and flow group identification information designated by the external device 40 in the base node information storage unit 133.
The base node determination unit 131 may determine a base node by designating one or more nodes configuring a packet transfer path per packet transfer path calculated by the path calculation unit 12 based on the flow group setting, for example. The base node may be determined by selecting a node from among the nodes through which all the packet transfer paths calculated by the path calculation unit 12 based on the flow group setting pass.
When the flow group identification information on a flow whose information (such as traffic identification information) is to be collected is designated by the external device 40, the information acquisition unit 132 specifies identification information on the base node corresponding to the flow group identification information with reference to the base node information storage unit 133. Then, the information acquisition unit 132 transmits the flow group identification information to the base node, and requests the flow information (traffic identification information).
The requested base node searches a flow entry adapted to the flow group identification information sent from the information acquisition unit 132, and returns the traffic identification information for the flow entry to the control device 30. Then, the information acquisition unit 132 acquires the traffic identification information.
The setting management unit 19 sends, to the external device 40, the information collected by the information acquisition unit 132 from the base node according to the flow group identification information designated by the external device 40 as described above.
In the present exemplary embodiment, the base node determination unit 131 determines the base node by designating one or more nodes configuring the packet transfer path per packet transfer path calculated by the path calculation unit 12 based on the flow group setting, for example. Alternatively, the base node determination unit 131 determines the base node by selecting a node from among the nodes through which all the packet transfer paths calculated by the path calculation unit 12 based on the flow group setting pass. Further, the flow entry is set with the flow group identification information itself or detailed flow group identification information. Thus, the information in the flow entry adapted to the flow group identification information is collected from a base node so that traffic statistics information in all the flow paths specified by the designated flow group identification information can be collected. The statistics information can be regarded as statistics information over the entire flow.
The setting management unit 19 transmits the traffic statistics information acquired at the base node by the information acquisition unit 132 to the external device 40. Consequently, the external device 40 can acquire and monitor communication execution results for the flow determined by the flow group setting set by the external device 40.
There has been described, also in the fifth exemplary embodiment, the case in which traffic statistics information is collected by way of example, but information to be collected is not limited to the traffic statistics information, and may be information common in paths.
The control device 30 may be configured such that when storing each packet transfer path per flow group identification information and acquiring flow information, the base node determination unit 131 determines a base node.
Also in the fifth exemplary embodiment, information may be collected or flow alive monitoring may be performed in the same way as each of the first to fourth exemplary embodiments.
A minimum structure of the present invention will be described below. Fig. 14 is a block diagram illustrating an exemplary minimum structure of the present invention. A flow information collecting system according to the present invention comprises a base node information storage means 71 and an information acquisition means 72.
The base node information storage means 71 (such as the base node information storage unit 133) stores a correspondence between flow identification information (flow identification information itself) or part thereof (such as common part between multiple items of flow identification information, which is flow group identification information) and a base node where flow information is to be collected.
The information acquisition means 72 (such as the information acquisition unit 132) acquires flow information from the base node corresponding to the flow identification information or part thereof.
With the structure, the flow information is acquired from the base node, not from all the nodes. Therefore, flow information can be collected at low processing cost.
Part or all of the embodiments may be described as in the following supplementary notes, but are not limited to the following.
(Supplementary note 1) A flow information collecting system comprising a base node information storage means for storing a correspondence between flow identification information on OpenFlow or part thereof, and one or a plurality of base nodes where information on the flow is to be collected, which are determined as nodes capable of collecting information in each packet transfer path corresponding to the flow, and an information acquisition means for, when the flow identification information or part thereof is designated, specifying a base node corresponding to the flow identification information or part thereof, and acquiring flow information adapted to the flow identification information or part thereof from the base node.
(Supplementary note 2) The flow information collecting system according to Supplementary note 1, comprising a base node determination means for determining a base node corresponding to a flow based on the flow identification information, and storing a correspondence between the flow identification information and the base node in the base node information storing means.
(Supplementary note 3) The flow information collecting system according to Supplementary note 2, wherein the base node determination means determines a base node by designating one or more nodes on a packet transfer path per packet transfer path corresponding to the flow.
(Supplementary note 4) The flow information collecting system according to Supplementary note 2, wherein the base node determination means determines a base node by designating one or more nodes from among nodes through which all the packet transfer paths corresponding to the flow pass.
(Supplementary note 5) The flow information collecting system according to Supplementary note 2, wherein the base node determination means determines, as a base node, a node where a packet is to be first transferred in the packet transfer path corresponding to the flow.
(Supplementary note 6) The flow information collecting system according to Supplementary note 2, wherein the base node determination means determines, as base nodes, a node where a packet is to be first transferred and a node where a packet is to be last output on the packet transfer path corresponding to the flow.
(Supplementary note 7) The flow information collecting system according to Supplementary note 2, wherein the base node determination means determines a base node based on the amount of communication with the flow information collecting system.
(Supplementary note 8) The flow information collecting system according to any one of Supplementary note 1 to Supplementary note 7, comprising a flow entry setting means for setting, for each node on the packet transfer path corresponding to the flow, a flow entry indicating flow identification information and an operation when a packet adapted to the flow identification information is received, wherein the flow entry setting means instructs each of the nodes, when a flow entry is deleted, a notification that the flow entry is deleted, and when a transmission source of the notification is a base node, the information acquisition means determines that the flow is deleted.
(Supplementary note 9) The flow information collecting system according to Supplementary note 8, wherein the flow entry setting means designates elapse of a predetermined time as a flow entry delete condition for each node on the packet transfer path corresponding to the flow, and sets the predetermined time at a base node to be shorter than the predetermined time at a node other than the base node.
(Supplementary note 10) The flow information collecting system according to any one of Supplementary note 1 to Supplementary note 9, wherein when a group of flows is designated, the information acquisition means specifies a base node corresponding to flow identification information per flow belonging to the group, and acquires flow information adapted to the flow identification information from the base node.
(Supplementary note 11) The flow information collecting system according to Supplementary note 1, comprising a base node determination means for storing a correspondence between flow identification information and a node on an individual packet transfer path corresponding to the flow in the base node information storage means per flow identification information, determining a base node from among duplicative nodes in each packet transfer path corresponding to each of the flows by assuming duplicative part of the identification information on each flow belonging to a group as the group identification information when the group of flows is designated, and storing a correspondence between the group identification information and the base node in the base node information storage means.
(Supplementary note 12) The flow information collecting system according to Supplementary note 11, comprising a flow entry setting means for setting a flow entry indicating flow identification information and an operation when a packet adapted to the flow identification information is received for each node on the packet transfer path corresponding to the flow, wherein the flow entry setting means instructs each of the nodes, when a flow entry is deleted, a notification that the flow entry is deleted, and the information acquisition means specifies group identification information adapted to the deleted flow entry when a transmission source of the notification is a base node, requests information adapted to the group identification information to the base node corresponding to the group identification information, and determines that the group is deleted when not receiving the information.
(Supplementary note 13) The flow information collecting system according to any one of Supplementary note 1 to Supplementary note 12, wherein the information acquisition means acquires traffic statistics information as the flow information.
The present application claims the priority based on Japanese Patent Application No. 2012-196381 filed on September 6, 2012, the disclosure of which is all incorporated herein.
The present invention has been described with reference to the embodiments, but the present invention is not limited to the embodiments. The structure or details of the present invention can be variously modified within the scope understood by those skilled in the art.
The present invention is suitably applied to flow information collection in OpenFlow.
Reference Sings List
10, 30 Control device (flow information collecting system)
11 Topology management unit
12 Path calculation unit
13 Flow information acquisition unit
14 Flow entry calculation unit
15 Flow entry setting unit
131 Base node determination unit
132 Information acquisition unit
133 Base node information storage unit

Claims (10)

  1. A flow information collecting system comprising:
    a base node information storage means for storing a correspondence between flow identification information or part thereof and a base node where the flow information is to be collected; and
    an information acquisition means for acquiring the flow information from a base node corresponding to the flow identification information or part thereof.
  2. The flow information collecting system according to Claim 1, comprising a base node determination means for determining a base node corresponding to a flow based on the flow identification information, and for storing a correspondence between the flow identification information and the base node in the base node information storage means.
  3. The flow information collecting system according to Claim 1 or Claim 2, comprising:
    a flow entry setting means for setting, for each node on a packet transfer path corresponding to a flow, a flow entry indicating flow identification information and an operation when a packet adapted to the flow identification information is received, wherein
    the flow entry setting means instructs each of the nodes, when a flow entry is deleted, a notification that the flow entry is deleted, and
    when a transmission source of the notification is a base node, the information acquisition means determines that the flow is deleted.
  4. The flow information collecting system according to Claim 3, wherein the flow entry setting means designates elapse of a predetermined time as a flow entry delete condition, and sets the predetermined time at a base node to be shorter than the predetermined time at a node other than the base node.
  5. The flow information collecting system according to any one of Claim 1 to Claim 4, wherein the information acquisition means specifies a base node corresponding to flow identification information per flow belonging to a group of flows, and acquires flow information adapted to the flow identification information from the base node.
  6. The flow information collecting system according to Claim 1, comprising a base node determination means for storing a correspondence between flow identification information and a node on an individual packet transfer path corresponding to the flow in the base node information storage means per flow identification information, determining a base node from among duplicative nodes in each packet transfer path corresponding to each of the flows by assuming the duplicative part on each flow belonging to a group of flows as the group identification information, and storing a correspondence between the group identification information and the base node in the base node information storage means.
  7. The flow information collecting system according to Claim 6, comprising:
    a flow entry setting means for setting, for each node on a packet transfer path corresponding to a flow, a flow entry indicating flow identification information and an operation when a packet adapted to the flow identification information is received, wherein
    the flow entry setting means instructs each of the nodes, when a flow entry is deleted, a notification that the flow entry is deleted, and
    when a transmission source of the notification is a base node, the information acquisition means specifies a group adapted to the deleted flow entry, requests the group information to the base node corresponding to the group, and when not receiving the information, determines that the group is deleted.
  8. The flow information collecting system according to any one of Claim 1 to Claim 7, wherein the information acquisition means acquires traffic statistics information as the flow information.
  9. A flow information collecting method comprising the steps of:
    storing a correspondence between flow identification information or part thereof and a base node where the flow information is to be collected; and
    acquiring the flow information from the base node corresponding to the flow identification information or part thereof.
  10. A flow information collecting program which is mounted on a computer comprising a base node information storage means for storing a correspondence between flow identification information or part thereof and a base node where the flow information is to be collected,
    the program for causing the computer to perform an information acquisition processing of acquiring the flow information from the base node corresponding to the flow identification information or part thereof.
PCT/JP2013/004875 2012-09-06 2013-08-16 Flow information collecting system, method and program WO2014038143A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014535428A JP2015531552A (en) 2012-09-06 2013-08-16 Flow information collection system, method and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-196381 2012-09-06
JP2012196381 2012-09-06

Publications (1)

Publication Number Publication Date
WO2014038143A1 true WO2014038143A1 (en) 2014-03-13

Family

ID=50236778

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/004875 WO2014038143A1 (en) 2012-09-06 2013-08-16 Flow information collecting system, method and program

Country Status (2)

Country Link
JP (1) JP2015531552A (en)
WO (1) WO2014038143A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7409191B2 (en) * 2020-03-25 2024-01-09 日本電気株式会社 Control node determination method, equipment and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011082834A (en) * 2009-10-07 2011-04-21 Nec Corp Computer system, and monitoring method of computer system
JP2011146982A (en) * 2010-01-15 2011-07-28 Nec Corp Computer system, and monitoring method of computer system
WO2011155510A1 (en) * 2010-06-08 2011-12-15 日本電気株式会社 Communication system, control apparatus, packet capture method and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011082834A (en) * 2009-10-07 2011-04-21 Nec Corp Computer system, and monitoring method of computer system
JP2011146982A (en) * 2010-01-15 2011-07-28 Nec Corp Computer system, and monitoring method of computer system
WO2011155510A1 (en) * 2010-06-08 2011-12-15 日本電気株式会社 Communication system, control apparatus, packet capture method and program

Also Published As

Publication number Publication date
JP2015531552A (en) 2015-11-02

Similar Documents

Publication Publication Date Title
JP5674107B2 (en) Communication system, control device, processing rule setting method and program
US10541920B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
US9426061B2 (en) Communication system, node, control device, communication method, and program
JP5440691B2 (en) Packet transfer system, control device, transfer device, processing rule creation method and program
JP5304947B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, NODE CONTROL METHOD, AND PROGRAM
EP2523402A1 (en) Communication system, control apparatus, processing rule setting method, packet transmitting method and program
US9479323B2 (en) Communication system, forwarding node, control device, communication control method, and program
US20120023231A1 (en) Network system, control method for the same, and controller
EP3678326A1 (en) Communication system, control device, communication method, and program
US10645006B2 (en) Information system, control apparatus, communication method, and program
JPWO2011155510A1 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, PACKET CAPTURE METHOD, AND PROGRAM
US20130246655A1 (en) Communication path control system, path control device, communication path control method, and path control program
US10171352B2 (en) Communication system, node, control device, communication method, and program
KR101538244B1 (en) Server management apparatus, server management method, and program
US10069648B2 (en) Communication system, control apparatus, communication control method and program
JP2013535895A (en) Communication system, node, statistical information collecting apparatus, statistical information collecting method and program
JP5725236B2 (en) Communication system, node, packet transfer method and program
JP5870995B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMPUTER, NODE CONTROL METHOD AND PROGRAM
US20150236919A1 (en) Communication system, control apparatus, control method, and program
WO2011118586A1 (en) Communication system, control device, forwarding node, method for updating processing rules, and program
US20150281091A1 (en) Control apparatus, node, communication system, communication method, and program
WO2014038143A1 (en) Flow information collecting system, method and program
JP5854488B2 (en) Communication system, control device, processing rule setting method and program
WO2014020902A1 (en) Communication system, control apparatus, communication method, and program
US20150372900A1 (en) Communication system, control apparatus, communication control method, and program

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014535428

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13836117

Country of ref document: EP

Kind code of ref document: A1