WO2014126094A1 - 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム - Google Patents

通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム Download PDF

Info

Publication number
WO2014126094A1
WO2014126094A1 PCT/JP2014/053171 JP2014053171W WO2014126094A1 WO 2014126094 A1 WO2014126094 A1 WO 2014126094A1 JP 2014053171 W JP2014053171 W JP 2014053171W WO 2014126094 A1 WO2014126094 A1 WO 2014126094A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
communication node
control device
header information
communication
Prior art date
Application number
PCT/JP2014/053171
Other languages
English (en)
French (fr)
Inventor
優太 芦田
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2015500251A priority Critical patent/JPWO2014126094A1/ja
Priority to US14/763,116 priority patent/US20150381775A1/en
Priority to CN201480008742.7A priority patent/CN104995879A/zh
Publication of WO2014126094A1 publication Critical patent/WO2014126094A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Definitions

  • the present invention is based on a Japanese patent application: Japanese Patent Application No. 2013-025407 (filed on February 13, 2013), and the entire contents of the application are incorporated herein by reference.
  • the present invention relates to a communication system, a communication method, a control device, a control method for the control device, and a program.
  • the present invention relates to a communication system including a communication node for transferring a packet in accordance with an instruction from a control device, a communication method, a control device, a control method for the control device, and a program.
  • OpenFlow captures communication as an end-to-end flow and performs path control, failure recovery, load balancing, and optimization on a per-flow basis.
  • the OpenFlow switch that functions as a forwarding node has a secure channel for communication with the OpenFlow controller, and operates according to a flow table that is appropriately added or rewritten by the OpenFlow controller.
  • FlowKey a set of a rule (FlowKey; matching key) that matches a packet header, an action (Action) that defines the processing content, and flow statistical information (Stats) is defined.
  • FIG. 11 is an example of the definition of the action name and action content disclosed in Non-Patent Document 2.
  • OUTPUT is an action for outputting a packet to a designated port (interface). It can also be seen that the actions from SET_VLAN_VID to SET_TP_DST are actions that modify the fields of the packet header, respectively.
  • the OpenFlow switch when it receives the first packet (first packet), it searches the flow table for an entry having a rule (FlowKey) that matches the header information of the received packet. When an entry that matches the received packet is found as a result of the search, the OpenFlow switch performs the processing content described in the action field of the entry on the received packet. On the other hand, if no entry matching the received packet is found as a result of the search, the OpenFlow switch forwards the received packet to the OpenFlow controller via the secure channel, and a packet based on the source / destination of the received packet. Request transfer route determination. The OpenFlow controller that has received the request calculates a packet transfer path and responds to the OpenFlow switch. The OpenFlow switch receives a flow entry that realizes a packet transfer path from the OpenFlow controller and updates the flow table.
  • FlowKey a rule
  • the OpenFlow switch determines the packet processing method according to the flow entry setting from the OpenFlow controller. In this way, OpenFlow realizes packet control as control of a flow defined by a collation rule (match condition) by controlling an OpenFlow switch by an OpenFlow controller.
  • the flow entry newly set in the OpenFlow switch may cause a conflict with the already set flow entry. More specifically, the collation rule included in the newly set flow entry may overlap with the collation rule included in the already set flow entry. In this case, the OpenFlow switch cannot determine in which flow entry the received packet should be processed. For example, the OpenFlow switch is not a flow entry for processing the received packet, but other flows belonging to different flows. There is a possibility of processing by a flow entry for processing a packet. That is, in the OpenFlow switches disclosed in Non-Patent Documents 1 and 2, an unsuitable flow entry may hit a received packet and an unintended process may be executed.
  • An object of the present invention is to prevent an inappropriate flow entry from hitting a received packet and executing an unintended process.
  • a plurality of communication nodes that process received packets and the processing rule are set for the plurality of communication nodes.
  • a control device, and the control device processes the packet including the header information after the change in response to setting the first processing rule for changing the header information of the packet in the first communication node.
  • a plurality of networks including a plurality of control devices that set processing rules for processing packets for a plurality of communication nodes, and are included in the first network.
  • the first control device sets the first processing rule for changing the header information of the packet in the first communication node included in the first network, and the second control included in the second network.
  • a device processes the packet including the changed header information in a second communication node included in the second network in response to the first control device setting the first processing rule.
  • a communication system for setting a second processing rule is provided.
  • a communication method in a communication system including a plurality of communication nodes for processing a received packet according to a processing rule for processing the packet, wherein the header information of the packet is changed.
  • a first processing rule for setting the first communication rule in the first communication node, and a second processing rule for processing the packet including the header information after the change according to the setting of the first processing rule Is set as a second communication node. Note that this method is linked to a specific machine called a communication system including a plurality of communication nodes.
  • a control device for controlling a first network in which a packet is transferred from a first communication node to a second communication node, received by the first communication node.
  • a first packet processing rule for rewriting the header information of the packet is set in the first communication node, and a second packet processing rule for processing a packet including the rewritten header information is set in the second communication.
  • a control device to be set in the node is provided.
  • a control method for the control device including the step of setting the second communication node is linked to a specific machine called a control device that controls a network including a plurality of communication nodes.
  • a program that is executed by a computer that controls a control device that controls a first network in which packets are transferred from a first communication node to a second communication node, A process for setting a first packet processing rule for rewriting header information of a packet received by the first communication node in the first communication node, and a second for processing a packet including the rewritten header information.
  • a program for executing a process for setting a packet processing rule in the second communication node is provided.
  • This program can be recorded on a computer-readable storage medium.
  • the storage medium may be non-transient such as a semiconductor memory, a hard disk, a magnetic recording medium, an optical recording medium, or the like.
  • the present invention can also be embodied as a computer program product.
  • a communication system a communication method, a control device, and a control device that contribute to preventing an inappropriate flow entry from hitting a received packet and preventing unintended processing from being executed.
  • a control method and program are provided.
  • FIG. 3 is a diagram illustrating an example of an internal configuration of a control device 20.
  • FIG. It is a figure which shows an example of the packet processing rule set to the communication nodes 10-1 and 10-2. It is a figure which shows an example of operation
  • FIG. 3 is a diagram illustrating an example of an internal configuration of a control device 40.
  • FIG. It is a sequence diagram which shows an example of operation
  • 6 is a diagram illustrating an example of packet processing rules set in communication nodes 10-3 to 10-5.
  • FIG. It is an example of the definition regarding the action name currently disclosed in the nonpatent literature 2, and the content of the action.
  • Non-Patent Documents 1 and 2 consistent flow control in a network composed of a control device and a plurality of communication nodes is not guaranteed, and a collation rule newly set in a communication node is There is a possibility of conflict with the set collation rules. In other words, there is a possibility that the traffic that should be handled as a different flow is handled in the same way and is transferred to a destination different from the original transfer destination. Therefore, a communication system that maintains the consistency of flow control from a traffic generation point to a traffic reception point in a wide area network in which a control device controls at least one or more communication nodes is desired.
  • the communication system shown in FIG. 1 includes a plurality of communication nodes (for example, a first communication node 100-1 and a second communication node 100-2), and a control device 101 that controls the plurality of communication nodes. Composed. Each of the plurality of communication nodes processes the received packet according to a processing rule for processing the packet.
  • the control device 101 controls a network including a plurality of communication nodes by setting processing rules for the plurality of communication nodes.
  • the control apparatus 101 processes a packet including the changed header information in response to setting the first processing rule for changing the header information of the packet in the first communication node 100-1.
  • the second processing rule is set in the second communication node 100-2.
  • the control device 101 sets a first processing rule for avoiding a collision between these flows.
  • Non-Patent Documents 1 and 2 when the header information of the packet changes, it is recognized that the packet belongs to a different flow before and after the change of the header information. Therefore, the control device 101 sets the second processing rule to the second communication so that the packet in which the first communication node 100-1 rewrites the header information can be processed in the second communication node 100-2. Set to node 100-2. As a result, the communication system shown in FIG. 1 can maintain the consistency of flow control from the traffic generation point to the traffic reception point.
  • FIG. 2 is a diagram illustrating an example of a configuration of a communication system according to the present embodiment.
  • communication nodes 10-1 to 10-3 that realize connection between networks, a control device 20 that controls a network composed of communication nodes 10-1 to 10-3, and a terminal 30-1 To 30-4 are shown.
  • the control device 20 corresponds to an open flow controller
  • the communication nodes 10-1 to 10-3 correspond to open flow switches.
  • the communication nodes 10-1 to 10-3 are referred to as “communication node 10” when it is not necessary to distinguish them.
  • the communication node 10 processes the received packet in accordance with a packet processing rule including a matching rule for matching with the packet header information.
  • the control device 20 is connected to the communication nodes 10-1 to 10-3 via a control communication channel indicated by a broken line in the figure. Further, terminals 30-1 and 30-2 are connected to the communication node 10-1, and terminals 30-3 and 30-4 are connected to the communication node 10-2 and the communication node 10-3, respectively.
  • the communication system illustrated in FIG. 2 is an example, and is not intended to limit the number of communication nodes, the connection between the communication nodes, and the like. The number of communication nodes and the like can be arbitrarily selected.
  • the control device 20 performs flow control according to an inquiry from the communication node 10 or according to a topology change of a network to be controlled by the control device 20. Alternatively, the control device 20 may perform flow control according to an instruction from a user who manages the network, a change in status such as registration of a new host, a route setting command from an external device, or the like.
  • the flow control from the control device 20 to the communication node 10 includes a packet identification condition (matching rule; matching key) for identifying a flow, a packet processing method (action) that defines handling of a packet corresponding to the packet identification condition, Is set in the communication node 10.
  • a packet identification condition matching rule; matching key
  • a packet processing method action that defines handling of a packet corresponding to the packet identification condition, Is set in the communication node 10.
  • the packet identification condition and the packet processing method may be calculated by the control device 20 or may be input from the outside.
  • the control device 20 needs to set a packet processing rule for transferring a packet to the communication nodes 10-1 to 10-3. At that time, the control device 20 sets a packet processing rule having the following contents for the communication node 10-1. Packet processing rule for transferring a packet to the communication node 10-2. Packet processing rules that rewrite packet header information.
  • the packet header fields rewritten by the communication node 10-1 include a source MAC address, a destination MAC address, a source IP address, a destination IP address, a port number used for a transport layer protocol, and the like. Alternatively, fields other than those described above may be changed.
  • the problem occurs. More specifically, in such a case, the communication node 10-2 cannot accommodate the packet in which the header information is rewritten in the communication node 10-1 and the packet before the header information is rewritten in the same flow.
  • the control device 20 calculates a packet identification condition to be set in the communication node 10-2 so as to match the header information rewritten by the communication node 10-1, and sets it in the communication node 10-2 as a packet processing rule. .
  • a process for restoring the header information rewritten in the communication node 10-1 to a value before rewriting may be added.
  • the control device 20 calculates the packet identification condition based on the restored header information, and the terminal 30 Set packet processing rules to transfer packets to -4.
  • the control device 20 calculates a packet identification condition and a packet processing method based on the header information rewritten by the communication node 10-1, and packet processing rules To the communication node 10-3.
  • the header information is changed to a different value temporarily or continuously during network transfer in any node of the network.
  • each communication node can uniquely identify the flow and can accommodate the packet in the correct flow.
  • FIG. 3 is a diagram illustrating an example of the internal configuration of the control device 20.
  • control device 20 includes a topology management unit 21, a route determination unit 22, a flow calculation unit 23, a flow database (DB) 24, a processing rule calculation unit 25, and a processing rule setting unit 26.
  • the control message processing unit 27 and the node communication unit 28 are included. Note that each unit included in the control device 20 can also be realized by a computer program that causes a computer mounted on the control device 20 to execute processing, which will be described in detail later, using its hardware.
  • the topology management unit 21 is a means for collecting network topology information and managing the collected topology information.
  • the route determination unit 22 is a means for determining a route to be used for packet transfer.
  • the route determination unit 22 determines a packet transfer route by referring to a destination IP address or the like described in the packet header. Note that the control device 20 may input a packet transfer route from the outside instead of calculating the packet transfer route in the route determination unit 22.
  • the flow calculation unit 23 is a means for calculating and managing the flow to be controlled by the control device 20 in the network to be controlled. Details of the flow calculation unit 23 will be described later.
  • the flow DB 24 is a database that can be accessed by the flow calculation unit 23, and stores information related to flows that have already been set from the control device 20 to the communication node 10.
  • the processing rule calculation unit 25 decomposes the packet transfer path determined by the path determination unit 22 and calculates packet processing rules (packet identification conditions and packet processing methods) to be set in each communication node 10.
  • the processing rule calculation unit 25 outputs the calculated packet processing rule to the flow calculation unit 23.
  • the processing rule setting unit 26 is a means for requesting the control message processing unit 27 to set a packet processing rule for the communication node 10.
  • the control message processing unit 27 is a means for converting the control content to the communication node 10 as a control message, or analyzing and processing the control message from the communication node 10.
  • the node communication unit 28 is a means for realizing communication with the communication node 10.
  • the flow calculation unit 23 includes a flow determination unit 231, a flow conversion unit 232, a flow combination unit 233, and a flow restoration unit 234.
  • the flow determination unit 231 determines whether or not the packet identification condition calculated by the processing rule calculation unit 25 has already been set in each communication node 10 and collides (duplicates) with the packet identification condition (whether or not mixing of flows occurs). ).
  • the flow conversion unit 232 determines a communication node that performs rewriting of header information, and rewrites the header information.
  • a means for determining the value A packet processing method obtained as a result of the processing in the flow conversion unit 232 will be referred to as a flow conversion rule, and will be described below.
  • the flow combining unit 233 is a means for calculating a packet identification condition so that a packet whose header information has been rewritten in a communication node included in the packet transfer path can be transferred in the next transfer destination communication node.
  • the packet identification condition obtained as a result of the processing in the flow combining unit 233 will be referred to as a flow combining rule and will be described below.
  • the flow restoration unit 234 is a means for calculating a packet processing method for returning the header information to the value before rewriting in the communication node that sets the end of the packet transfer path, the flow combination rule, and any other communication node.
  • the packet processing method obtained as a result of the processing in the flow restoration unit 234 will be referred to as a flow restoration rule, and will be described below.
  • the packet transfer paths used for transferring the packet from the terminal 30-1 to the terminal 30-4 are the communication nodes 10-1 to 10-3 as described above.
  • the packet received by the communication node 10-3 is output to the interface connected to the terminal 30-4.
  • packet transfer paths used for transferring a packet from the terminal 30-2 to the terminal 30-3 are the communication nodes 10-1 and 10-2.
  • the packet received by the communication node 10-2 is output to the interface connected to the terminal 30-3.
  • Some of the communication nodes included in these two packet transfer paths are shared by the flows F01 and F02, respectively. That is, the communication nodes 10-1 and 10-2 are communication nodes used by both of the two packet transfer paths.
  • FIG. 4 is a diagram showing an example of packet processing rules set in the communication nodes 10-1 and 10-2. Note that in the packet processing rule shown in FIG. 4, mixing of flows occurs. Hereinafter, the reason why mixing of flows occurs will be described.
  • the communication node 10-1 since the interface for inputting the packet accommodated in each flow is different (that is, the traffic generation point is different), the information of the interface that accepted the packet is used, so that the flow F01 is used. And F02 can be identified (see FIG. 4A). However, in the communication node 10-2, the packet identification conditions may be the same including the interface for inputting the packet (see FIG. 4B). In such a case, the communication node 10-2 cannot identify the flows F01 and F02, and the packet is mixed into one of the flows.
  • control device 20 causes the communication node 10-1 serving as the packet transfer source to the communication node 10-2 on the packet transfer path to rewrite the header information (flow conversion). Rule).
  • FIG. 5 is a diagram illustrating an example of the operation of the control device 20 according to the present embodiment.
  • step S01 the route determination unit 22 determines the packet transfer route when receiving a request for determining the packet transfer route from the communication node 10.
  • a received packet is received from the communication node 10-1 and a packet transfer path (flow F02) using the communication nodes 10-1 and 10-2 is determined.
  • step S02 the processing rule calculation unit 25 calculates a packet processing rule (packet identification condition and packet processing method) to be set for each of the communication nodes included in the packet transfer path determined in the previous step.
  • packet processing rules for communication node 10-1 and communication node 10-2 are respectively calculated.
  • step S03 the flow determination unit 231 acquires, from the flow DB 24, information related to a flow that has been set in the network that is controlled by the control device 20.
  • step S04 the flow determination unit 231 calculates the packet identification condition in each communication node calculated by the processing rule calculation unit 25 and the packet identification condition in each communication node obtained from the information regarding the set flow acquired in step S03. Comparison is made to determine whether or not a packet identification condition collision occurs. More specifically, in each communication node, if the packet identification condition calculated by the processing rule calculation unit 25 matches the already set packet identification condition, it is determined that a collision of the packet identification conditions occurs.
  • control device 20 communicates the packet processing rule calculated by the processing rule calculation unit 25 via the processing rule setting unit 26 and the control message processing unit 27.
  • the node 10 is set (step S05).
  • step S04 when a collision of packet identification conditions has occurred (step S04, Yes branch), the control device 20 executes the processes according to steps S06 to S08.
  • step S06 the flow conversion unit 232 calculates a packet processing rule (flow conversion rule) that avoids collision of packet identification conditions.
  • FIG. 6 is a diagram illustrating an example of packet processing rules set in the communication nodes 10-1 and 10-2. If the packet processing rules calculated by the processing rule calculation unit 25 are set in the communication nodes 10-1 and 10-2, the packet identification conditions in the communication node 10-2 collide, and therefore, there is a possibility that the flow may be mixed. It is as follows.
  • the flow conversion unit 232 identifies a communication node that is a packet transfer source to a communication node in which a collision of packet identification conditions occurs.
  • the communication node 10-1 is specified.
  • the flow conversion unit 232 calculates a packet processing method for rewriting a part of the packet header accommodated in the newly set flow.
  • a process for rewriting the destination IP address is calculated as a packet processing method.
  • the rewriting of the header information is not limited to the destination IP address.
  • Other fields may be rewritten or a plurality of fields may be rewritten. That is, it is only necessary that the packet identification condition obtained from the rewritten header information does not collide with the packet identification condition used in the already set flow.
  • the flow combining unit 233 calculates a packet identification condition (flow combining rule) set in the communication node according to the rewritten header information. For example, referring to FIG. 6A, the communication node 10-1 rewrites the header information of the packet accommodated in the flow F02. More specifically, the field related to the destination IP address of the packet accommodated in the flow F02 is xx. yy. zz. Rewritten to 1.
  • the flow combining unit 233 calculates packet identification conditions set in the communication node that receives the packet with the rewritten header information, according to the rewritten header information. More specifically, referring to FIG. 6B, the packet identification condition for the flow F02 in the communication node 10-2 is that the destination IP address is xx. yy. zz. Calculated as 1.
  • step S08 the control device 20 uses the processing rule setting unit 26 and the control message processing unit 27 to set the packet processing rule including the flow conversion rule and the flow combination rule in each communication node 10. More specifically, the control device 20 transfers the packet to be accommodated in the flow F02 to the communication node 10-2 and rewrites the destination IP address of the packet to the communication node 10-1. The packet processing rule having the contents of, is set.
  • control device 20 sets a packet identification condition corresponding to the rewriting of the header information in the communication node 10-1 for the communication node 10-2, and transmits the packet accommodated in the flow F02 to the terminal 30.
  • -3 is set as a packet processing rule.
  • the process of restoring the header information rewritten by the communication node 10-1 can be performed by any communication node as long as the collision of packet identification conditions is avoided.
  • packet restoration may be performed in the communication node 10-2. That is, in the example shown in FIG. 6B, a flow combination rule and a flow restoration rule are set for the communication node 10-2.
  • step S08 of FIG. 5 the setting of the packet processing rule for the communication node 10-1 and the setting of the packet processing rule for the communication node 10-2 are performed in parallel. However, if the flow combination rule is set prior to the setting of the flow conversion rule, the flow conversion (rewriting of header information) in the communication node 10-1 is prevented from being executed first, and the communication node 10- 2 can reduce inquiries to the control device 20.
  • the flow restoration rule is set in the communication node 10-2, but the terminal 30-3 can normally receive the packet with the rewritten header information (does not discard the packet). The header information need not be restored.
  • the communication system virtually constructs a plurality of networks on a common communication infrastructure, and in particular constructs a service environment on the virtual network, particularly IaaS (infrastructure as a service). This is useful when a cloud service such as NaaS or NaaS (Network as a Service) is provided.
  • IaaS infrastructure as a service
  • control device 20 accurately processes each flow even if the packets that should originally be accommodated in different flows have similar characteristics. Can be identified. As a result, in the communication system according to the present embodiment, mixing of flows can be prevented.
  • control apparatus 20a which concerns on this embodiment, it is the same as the control apparatus 20 which concerns on 1st Embodiment. Therefore, the description corresponding to FIG. 3 regarding the control device 20a is omitted.
  • the difference between the control device 20 and the control device 20a is the calculation method of the packet identification condition in the flow calculation unit 23.
  • the calculation process is simplified by defining an identifier that can uniquely identify the flow.
  • the control device 20a When the control device 20a sets a flow in the network, the control device 20a assigns a flow identifier that can uniquely identify the flow to the flow.
  • the flow identifier may be a number based on the flow generation order, or may be a hash value calculated from a packet identification condition (packet header) corresponding to the flow or other information. That is, the identifier can be determined by an arbitrary method as long as the value can uniquely identify the flow.
  • the control device 20a uses the above flow identifier as a packet header change rule in the calculation of the flow conversion rule and the flow combination rule described in the first embodiment. That is, when a new flow is set in the network, the control device 20a sets a flow conversion rule in the packet header when a collision of packet identification conditions occurs between the newly set flow and the set flow. Set packet processing rules to write flow identifiers.
  • a packet processing rule including a flow identifier as a packet identification condition is set as a flow combination rule in the next transfer destination node of the communication node in which the flow conversion rule is set.
  • the flow identifier may be set not only when a packet identification condition conflict occurs between a newly set flow and an existing flow, but also from the beginning of network operation.
  • the flow is identified by the flow identifier instead of the calculation of the packet identification condition.
  • the calculation of the flow conversion rule and the flow combination rule can be simplified.
  • FIG. 7 is a diagram illustrating an example of a configuration of a communication system according to the present embodiment.
  • the network 50 including the communication nodes 10-1 to 10-3 and the control device 40-1 that controls these communication nodes, the communication nodes 10-4 to 10-6, and these communication nodes are controlled.
  • the control device 40-1 is connected to the communication nodes 10-1 to 10-3 via a control communication channel indicated by a dotted line in the figure.
  • the control device 40-2 is connected to the communication nodes 10-4 to 10-6 via a control communication channel indicated by a dotted line in the figure.
  • control device 40 when it is not necessary to distinguish between the control devices 40-1 and 40-2, they are referred to as “control device 40”.
  • the communication nodes 10-1 to 10-6 are described as “communication node 10” when it is not necessary to distinguish them.
  • Communication nodes 10-3 and 10-4 are connected to each other via a link. Further, the communication nodes 10-1, 10-2, 10-5, and 10-6 are connected to the terminals 30-1 to 30-4, respectively.
  • the communication system illustrated in FIG. 7 is an example, and is not intended to limit the number of communication nodes, the connection between the communication nodes, and the like. The number of communication nodes and the like can be arbitrarily selected.
  • FIG. 8 is a diagram illustrating an example of the internal configuration of the control device 40.
  • the same components as those in FIG. 3 are denoted by the same reference numerals, and the description thereof is omitted.
  • the difference between the control device 20 and the control device 40 is that the flow conversion rule communication unit 29 is provided and the operation of the flow calculation unit 23 is different.
  • the flow conversion rule communication unit 29 is means for notifying the flow conversion rule calculated by the flow calculation unit 23 to a control device that controls another network.
  • the flow conversion rule communication unit 29 is also means for receiving a flow conversion rule notified by another control device.
  • the flow conversion rule communication unit 29 communicates with other control devices 40 via the communication node 10, but may directly communicate with each other.
  • the flow calculation unit 23 adds a packet whose header information has been rewritten in an adjacent network (a packet processed according to the flow conversion rule) to a network that is controlled by itself.
  • the packet identification condition is calculated so that the packet can be transferred.
  • the flow calculation unit 23 indicates that the other control device notified of the flow conversion rule has already been set in a communication node included in the network to be controlled by the other control device.
  • a response error notification described later
  • the topology information collected and managed by the topology management unit 21 may be limited to the topology information of the network to be controlled by the control device 40, or the topology information of the network to be controlled by another control device. You may extend to. Further, the packet transfer path determined by the path determination unit 22 may be limited to the packet transfer path in the network to be controlled by the control device 40, or the packet transfer including the network to be controlled by another control device. A route may be calculated.
  • packet transfer paths used for packet transfer from the terminal 30-1 to the terminal 30-4 are the communication nodes 10-1 to 10-6. Further, the packet received by the communication node 10-6 is output to the interface connected to the terminal 30-4. On the other hand, packet transfer paths used for packet transfer from the terminal 30-2 to the terminal 30-3 are the communication nodes 10-2 to 10-5. The packet received by the communication node 10-5 is output to the interface connected to the terminal 30-3.
  • Some of the communication nodes included in these two packet transfer paths are shared by the flows F03 and F04, respectively. That is, the communication nodes 10-1 to 10-5 are communication nodes used by the two packet transfer paths. Further, since the packet identification conditions in these communication nodes are the same, the communication nodes 10-2 to 10-5 cannot identify the flows F03 and F04, and the packets may be mixed in either flow. .
  • the control device 40-1 identifies the same type of flow with different input points, and sets a transferable packet processing rule to the communication node 10-2.
  • Mixing flows can be avoided by setting. More specifically, the method for rewriting the header information described in the first embodiment may be applied, or another method may be used. Or, for example, an encapsulation technique that adds another type of packet header to the beginning of the packet header when a packet is input to each network, or source routing that embeds information on the packet transfer path to be used for transfer inside the packet header. Such a technique can also be applied.
  • the link connecting the communication node 10-3 and the communication node 10-4 is a link connecting different networks, and the control device 40-1 has the authority to set packet processing rules in the communication node 10-4. Absent.
  • the control device 40-1 determines whether or not the packet identification condition set in the communication node 10-3 collides with the packet identification condition to be newly set. When there is a packet processing rule that conflicts with packet identification conditions, a new flow is set and mixing of flows occurs. In such a case, the control device 40-1 causes the communication node 10-3 to rewrite the header information of the packet and converts the flow.
  • FIG. 9 is a sequence diagram showing an example of the operation of the communication system according to the present embodiment.
  • FIG. 10 is a diagram showing an example of packet processing rules set in the communication nodes 10-3 to 10-5.
  • the control devices 40-1 and 40-2 set packet processing rules for realizing the flow F04 in the communication nodes 10-3 and 10-4.
  • the packet identification conditions in the flow conversion rule and the flow restoration rule may be different for each network. This is because the flow control may be executed by a different method for each network, and the packet identification conditions differ accordingly.
  • OpenFlow is adopted only for a network that identifies a packet by a VLAN tag, a network that adopts SourceFlow, a network that encapsulates a packet, or an edge communication node.
  • the control device changes the header information of the packet using a label for the network, for example, at a communication node at the boundary of the network, and communicates within the network.
  • the node may execute flow entry collision avoidance by changing packet header information using a label inside the network.
  • the packet identification condition of the processing rule of the communication node at the edge of the network is different from the packet identification condition of the processing rule of the communication node inside the network.
  • the packet identification condition of the packet processing rule for realizing the flow F04 set by the control device 40-1 in the communication node 10-3 is indicated as a flow F04.
  • the packet identification condition of the packet processing rule for realizing the flow F04 set by the control device 40-2 in the communication node 10-5 is indicated as a flow F04.
  • the packet identification condition of the packet processing rule for realizing the flow F04 shown in FIGS. 10A and 10C is indicated by the same symbol as the flow F04.
  • the flow control is performed. The method may be different, and the packet identification conditions may be different accordingly, so the contents may be different.
  • the control device 40-1 acquires information about the flow set in the network to be controlled from the flow DB 24. Thereafter, as described in the first embodiment, it is determined whether or not a packet identification condition to be newly set collides with a packet processing rule that has already been set. If the packet identification conditions collide, the packet identification conditions for avoiding the packet identification condition collision are calculated (step S101).
  • control device 40-1 sets the calculated packet identification condition as a flow conversion rule scheduled to be set in the communication node included in the network 50 controlled by the control device 40-1 via the flow conversion rule communication unit 29.
  • 40-2 is notified (step S102). That is, the control device 40-1 requests the control device 40-2 to use the notified packet identification condition as the packet identification condition of the packet processing rule set in the communication node 10-4.
  • Step S201 it is determined whether or not the packet identification condition calculated based on the flow conversion rule notified from the control device 40-1 collides with the packet identification condition set in the communication node 10-4.
  • control device 40-2 If the packet identification conditions collide, the control device 40-2 notifies the control device 40-1 of an error (step S202). If the packet identification conditions do not collide, the control device 40-2 notifies the control device 40-1 of success (step S203).
  • control device 40-1 Upon receiving the error notification from the control device 40-2, the control device 40-1 recalculates the packet identification condition (step S103), and notifies the recalculated packet identification condition to the control device 40-2 as a conversion rule (step S103). S102).
  • the control device 40-1 Upon receipt of the success notification from the control device 40-2, the control device 40-1 calculates a flow conversion rule set in the communication node 10-3 (step S104). Thereafter, the flow conversion rule is set in the communication node 10-3 (step S105). For example, referring to FIG. 10A, the control device 40-1 transfers the packet accommodated in the flow F04 to the communication node 10-4 and also rewrites the header information to the communication node 10-3. Set the processing method.
  • control device 40-2 uses the packet identification conditions as packet identification conditions to be set in communication node 10-4 and calculates a flow combination rule. (Step S204). Thereafter, the flow combination rule is set in the communication node 10-4 (step S205). For example, referring to FIG. 10B, in the packet identification condition corresponding to the flow F04, the destination IP address is xx. yy. zz. Set to 1.
  • a flow restoration rule may be set for the communication node 10-4.
  • the control device 40-1 determines the value of the header information before the change at the time of notification of the packet identification condition calculated in step S101 (step S102) or at a timing different from that in step S102.
  • the communication node for setting the flow restoration rule is not limited to the communication node 10-4, and may be set to another communication node.
  • a flow restoration rule may be set for the communication node 10-5.
  • header information can be restored in a communication node included in the network 51 or a communication node located at the boundary of the network 51.
  • the processing relating to the restoration of the header information may be executed in a network different from the networks 50 and 51.
  • the method described in the first embodiment is used to describe a method for avoiding such a collision in the operation when the packet identification conditions collide at the network boundary.
  • an identifier that can uniquely identify a flow may be assigned using the method described in the second embodiment, and the identifier may be used for calculation of a flow conversion rule and a flow combination rule.
  • the communication system may be configured to include three or more networks and a control device that controls these networks.
  • the physically same control device may play the role of the control devices 40-1 and 40-2 described above.
  • the control device 40-2 receives the flow conversion rule from the control device 40-1, and controls the processing of packets to the communication node included in the network 51 to be controlled by itself and controls other networks. The flow conversion rule is notified to the device.
  • the values used for the calculation of the flow conversion rule, the flow combination rule, and the flow restoration rule are determined by notification between the control devices, a device having an adjustment mechanism may be prepared separately. Further, for notification between the control devices and communication with the adjustment device, communication on the data plane via the node may be performed, or a separate management network may be prepared.
  • a control device of a specific network such as a control device of a network that first receives a packet without notifying a value used for calculation of a flow conversion rule, a flow combination rule, and a flow restoration rule between control devices of adjacent networks
  • the value may be determined and notified as a representative.
  • the control device 40-1 sets a flow conversion rule, a flow combination rule, or a flow restoration rule set in the communication nodes 104 to 10-6 included in the network 51 controlled by the control device 40-2. It may be calculated and notified to the control device 40-2.
  • control device 40-1 is a packet processing rule set in at least one of the plurality of communication nodes 10-1 to 10-6 included in the plurality of networks 50 and 51, and changes the header information of the packet.
  • Processing rules flow conversion rules and flow restoration rules
  • processing rules flow combination rules
  • a specific control device for example, the control device 40-1 calculates a processing rule as a representative and notifies the other control device (for example, the control device 40-2) to thereby control each control device.
  • the control device that is the notification source can control the processing rules used in the device.
  • the communication system according to the present embodiment when it is desired to individually control traffic having similar characteristics, it is possible to control across networks.
  • the communication system according to the present embodiment is, for example, when a plurality of networks are virtually constructed on a common communication infrastructure across a plurality of bases, and a service environment is individually constructed on the virtual network. Is beneficial in providing.
  • Each of the plurality of communication nodes processes a received packet according to a processing rule having a matching rule for matching with header information of the packet, In response to setting of the first processing rule for changing the header information of the packet in the first communication node, the control device uses the changed header information as a matching rule.
  • the communication system of the form 1 which sets a process rule to the said 2nd communication node.
  • the first and second communication nodes are included in a transfer path of the packet; The communication system according to mode 1 or 2, wherein the second communication node is a communication node that is a transfer destination next to the first communication node in the transfer path.
  • the communication system according to mode 3, wherein the control device sets, in the second communication node, a second processing rule for transferring the packet including the changed header information to the transfer path.
  • the control device includes: A first setting unit (first setting means) for setting a first processing rule for changing header information of the packet in the first communication node; A second setting unit (second setting means) for setting the second processing rule in the second communication node in response to the first setting unit setting the first processing rule; ,
  • the communication system as described in any one of form 1 thru
  • Each of the plurality of communication nodes processes a received packet according to a processing rule including a matching rule for matching with header information of the packet, In response to the first control device setting the first processing rule, the second control device sets the second processing rule using the changed header information as a verification rule.
  • the communication system of the form 8 set to the communication node of.
  • the first and second communication nodes are communication nodes located at end points of the first and second networks, respectively. The communication system according to mode 8 or 9, wherein the first communication node and the second communication node are connected to each other.
  • a first setting unit for causing the first control device included in the first network to set the first processing rule in the first communication node;
  • a second setting unit for causing the second control device included in the second network to set the second processing rule in the second communication node;
  • the communication system according to any one of Embodiments 8 to 10, further including a setting device.
  • the second control device performs a third process for returning the header information after the change included in the packet to the header information before the change for the at least one communication node included in the second network.
  • the communication system according to any one of forms 8 to 11, wherein a rule is set.
  • the second control device is a communication node included in the second network, and the third processing rule for a communication node connected to the third communication node included in the third network.
  • the communication system of the form 12 which sets.
  • the first control device performs processing for changing the header information of the packet to header information different from the header information used as the matching rule in the second network as the first processing rule.
  • the communication system of the form 9 which sets a rule.
  • the first control device is a processing rule set in at least one of a plurality of communication nodes included in each of the plurality of networks, the processing rule for changing header information of the packet being communicated
  • the communication system according to any one of forms 8 to 15, which notifies a control device set in a node.
  • the first control device is a processing rule set in at least one of a plurality of communication nodes included in each of the plurality of networks, and a process for processing the packet including the changed header information
  • the communication system according to any one of embodiments 8 to 16, wherein the rule is notified to a control device that sets the processing rule in a communication node.
  • the first control device is a processing rule set in at least one of a plurality of communication nodes included in each of the plurality of networks, and changes the header information after the change included in the packet.
  • the communication system according to any one of embodiments 8 to 17, wherein a processing rule for returning to header information is notified to a control device that sets the processing rule in a communication node.
  • a processing rule for returning to header information is notified to a control device that sets the processing rule in a communication node.
  • This is as the communication method according to the third aspect described above.
  • the communication method according to mode 19 further comprising a step of setting, in a third communication node, a third processing rule for returning the header information after the change included in the packet to the header information before the change.
  • the control device identifies a first identification condition for identifying a packet set in the second communication node, and a packet to be newly set for the second communication node.
  • the control apparatus according to mode 21, wherein the first and second packet processing rules are set in the first and second communication nodes when the second identification condition for the first and second communication conditions matches.
  • control device The control device according to any one of modes 21 to 23, wherein the control device notifies the header information rewritten by the first packet processing rule to a control device that controls a second network different from the first network.
  • Control device It is as the control method of the control apparatus which concerns on the above-mentioned 5th viewpoint.
  • [Form 26] A first identification condition for identifying the packet set in the second communication node, and a second for identifying the packet to be newly set for the second communication node. A step of determining whether or not the identification condition matches, The control method of the control device according to mode 25, wherein, when the first and second identification conditions match, the first and second packet processing rules are set in the first and second communication nodes.
  • Form 25 or 26 further comprising the step of setting a third packet processing rule for returning the header information rewritten by the first processing rule to the header information before rewriting in the communication nodes including the second communication node.
  • Control method of the control device [Form 28] 28. The method according to any one of embodiments 25 to 27, further including a step of notifying a control device that controls a second network different from the first network of header information rewritten by the first packet processing rule. Control method of the control device.
  • [Form 30] A first identification condition for identifying the packet set in the second communication node, and a second for identifying the packet to be newly set for the second communication node.

Abstract

 制御装置が、少なくとも1以上の通信ノードを制御する広域ネットワークにおいて、トラフィック発生地点からトラフィック受信地点に至るまでフロー制御の一貫性を維持する通信システムを提供する。通信システムは、パケットを処理するための処理規則に応じて、受信したパケットを処理する複数の通信ノードと、複数の通信ノードに対して、処理規則を設定する制御装置と、を含む。さらに、制御装置は、パケットのヘッダ情報を変更するための第1の処理規則を第1の通信ノードに設定したことに応じて、変更後のヘッダ情報を含むパケットを処理するための第2の処理規則を第2の通信ノードに設定する。

Description

通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
 [関連出願についての記載]
 本発明は、日本国特許出願:特願2013-025407号(2013年2月13日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、通信システム、通信方法、制御装置、制御装置の制御方法及びプログラムに関する。特に、制御装置からの指示に従ってパケットを転送する通信ノードを含む通信システム、通信方法、制御装置、制御装置の制御方法及びプログラムに関する。
 非特許文献1、2に示すとおり、近年、オープンフロー(OpenFlow)という技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。転送ノードとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加又は書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルール(FlowKey;マッチングキー)と、処理内容を定義したアクション(Action)と、フロー統計情報(Stats)との組が定義される。
 図11は、非特許文献2において開示されているアクション名とアクションの内容に関する定義の一例である。図11を参照すると、OUTPUTは、パケットを指定ポート(インターフェース)に出力するアクションであることが分かる。また、SET_VLAN_VIDからSET_TP_DSTまでのアクションは、それぞれ、パケットヘッダのフィールドを修正するアクションであることが分かる。
 例えば、オープンフロースイッチは、最初のパケット(first packet)を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルール(FlowKey)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに受信パケットを転送し、受信パケットの送信元・宛先に基づいたパケット転送経路の決定を依頼する。依頼を受けたオープンフローコントローラは、パケット転送経路を計算し、オープンフロースイッチに応答する。オープンフロースイッチは、オープンフローコントローラから、パケット転送経路を実現するフローエントリを受け取ってフローテーブルを更新する。
 また、上述のようにオープンフロースイッチはオープンフローコントローラからのフローエントリ設定によってパケットの処理方法を決定する。このように、オープンフローは、オープンフローコントローラによるオープンフロースイッチの制御によって、パケットの制御を照合規則(マッチ条件)によって規定されるフローの制御として実現する。
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成25年2月1日検索]、インターネット〈URL:http://www.openflowswitch.org//documents/openflow-wp-latest.pdf〉 "OpenFlow Switch Specification" Version 1.0.0. (Wire Protocol 0x01) [平成25年2月1日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf〉
 なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
 非特許文献1、2に開示されるオープンフローは、新たにオープンフロースイッチに設定するフローエントリが、既に設定済みのフローエントリと競合を起こす可能性がある。より具体的には、新たに設定するフローエントリに含まれる照合規則と、既に設定されているフローエントリに含まれる照合規則とが重複する場合がある。この場合、オープンフロースイッチは、受信パケットをいずれのフローエントリで処理するべきか判断ができず、例えば、受信パケットを、該受信パケットを処理するためのフローエントリではなく、異なるフローに属する他のパケットを処理するためのフローエントリによって処理してしまう可能性がある。すなわち、非特許文献1、2に開示されるオープンフロースイッチでは、受信パケットに対して、適切でないフローエントリがヒットし、意図しない処理が実行される可能性がある。
 本発明は、受信パケットに対して、適切でないフローエントリがヒットし、意図しない処理が実行されることを防止することを目的とする。
 本発明の第1の視点によれば、パケットを処理するための処理規則に応じて、受信したパケットを処理する複数の通信ノードと、前記複数の通信ノードに対して、前記処理規則を設定する制御装置と、を含み、前記制御装置は、パケットのヘッダ情報を変更するための第1の処理規則を第1の通信ノードに設定したことに応じて、変更後のヘッダ情報を含むパケットを処理するための第2の処理規則を第2の通信ノードに設定する通信システムが提供される。
 本発明の第2の視点によれば、複数の通信ノードに対して、パケットを処理するための処理規則を設定する複数の制御装置を含むネットワークを複数有し、第1のネットワークに含まれる第1の制御装置が、前記第1のネットワークに含まれる第1の通信ノードに、パケットのヘッダ情報を変更するための第1の処理規則を設定し、第2のネットワークに含まれる第2の制御装置が、前記第1の制御装置が前記第1の処理規則を設定したことに応じて、前記第2のネットワークに含まれる第2の通信ノードに、変更後のヘッダ情報を含む前記パケットを処理するための第2の処理規則を設定する通信システムが提供される。
 本発明の第3の視点によれば、パケットを処理するための処理規則に応じて、受信したパケットを処理する複数の通信ノードを含む通信システムにおける通信方法であって、パケットのヘッダ情報を変更するための第1の処理規則を第1の通信ノードに設定する工程と、前記第1の処理規則の設定に応じて、変更後のヘッダ情報を含むパケットを処理するための第2の処理規則を第2の通信ノードに設定する工程と、を含む通信方法が提供される。
 なお、本方法は、複数の通信ノードを含む通信システムという、特定の機械に結びつけられている。
 本発明の第4の視点によれば、第1の通信ノードから第2の通信ノードへパケットが転送される第1のネットワークを制御する制御装置であって、前記第1の通信ノードが受信したパケットのヘッダ情報を書き換える第1のパケット処理規則を前記第1の通信ノードに設定すると共に、前記書き換えられたヘッダ情報を含むパケットを処理するための第2のパケット処理規則を前記第2の通信ノードに設定する制御装置が提供される。
 本発明の第5の視点によれば、第1の通信ノードから第2の通信ノードへパケットが転送される第1のネットワークを制御する制御装置の制御方法であって、前記第1の通信ノードが受信したパケットのヘッダ情報を書き換える第1のパケット処理規則を前記第1の通信ノードに設定する工程と、前記書き換えられたヘッダ情報を含むパケットを処理するための第2のパケット処理規則を前記第2の通信ノードに設定する工程と、を含む制御装置の制御方法が提供される。
 なお、本方法は、複数の通信ノードを含むネットワークを制御する制御装置という、特定の機械に結びつけられている。
 本発明の第6の視点によれば、第1の通信ノードから第2の通信ノードへパケットが転送される第1のネットワークを制御する制御装置を制御するコンピュータに実行させるプログラムであって、前記第1の通信ノードが受信したパケットのヘッダ情報を書き換える第1のパケット処理規則を前記第1の通信ノードに設定する処理と、前記書き換えられたヘッダ情報を含むパケットを処理するための第2のパケット処理規則を前記第2の通信ノードに設定する処理と、を実行させるプログラムが提供される。
 なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
 本発明の各視点によれば、受信パケットに対して、適切でないフローエントリがヒットし、意図しない処理が実行されることを防止することに寄与する通信システム、通信方法、制御装置、制御装置の制御方法及びプログラムが、提供される。
一実施形態の概要を説明するための図である。 第1の実施形態に係る通信システムの構成の一例を示す図である。 制御装置20の内部構成の一例を示す図である。 通信ノード10-1及び10-2に設定されるパケット処理規則の一例を示す図である。 第1の実施形態に係る制御装置20の動作の一例を示す図である。 通信ノード10-1及び10-2に設定されるパケット処理規則の一例を示す図である。 第3の実施形態に係る通信システムの構成の一例を示す図である。 制御装置40の内部構成の一例を示す図である。 第3の実施形態に係る通信システムの動作の一例を示すシーケンス図である。 通信ノード10-3~10-5に設定されるパケット処理規則の一例を示す図である。 非特許文献2において開示されているアクション名とアクションの内容に関する定義の一例である。
 初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
 上述のように、非特許文献1、2に開示されたオープンフローでは、制御装置と複数の通信ノードからなるネットワークにおける一貫したフロー制御は保証されず、新たに通信ノードに設定する照合規則が、設定済みの照合規則と競合を起こす可能性がある。即ち、本来であれば別のフローとして扱うべきトラフィックが同一に扱われてしまい、本来の転送先とは異なる宛先へ転送されてしまう事態が生じる可能性がある。そのため、制御装置が、少なくとも1以上の通信ノードを制御する広域ネットワークにおいて、トラフィック発生地点からトラフィック受信地点に至るまでフロー制御の一貫性を維持する通信システム等が、望まれる。
 そこで、一例として図1に示す通信システムを提供する。図1に示す通信システムは、複数の通信ノード(例えば、第1の通信ノード100-1と第2の通信ノード100-2)と、複数の通信ノードを制御する制御装置101と、を含んで構成される。複数の通信ノードのそれぞれは、パケットを処理するための処理規則に応じて、受信したパケットを処理する。制御装置101は、複数の通信ノードに対して、処理規則を設定することで、複数の通信ノードからなるネットワークを制御する。さらに、制御装置101は、パケットのヘッダ情報を変更するための第1の処理規則を第1の通信ノード100-1に設定したことに応じて、変更後のヘッダ情報を含むパケットを処理するための第2の処理規則を第2の通信ノード100-2に設定する。
 制御装置101は、既にネットワークに設定されている既存のフローと、新たに設定しようとするフローと、が混合する可能性がある場合に、これらのフローの衝突を回避する処理規則を第1の通信ノード100-1に設定する。より詳細には、制御装置101は、第1の通信ノード100-1に対して、第1の通信ノード100-1が受信したパケットのヘッダ情報を書き換えさせる処理規則を設定する。パケットのヘッダ情報は、通信ノード100-1及び100-2において、パケットを識別するための情報として使用されるため、第1の通信ノード100-1が、パケットのヘッダ情報を書き換えることで、既存のフローに収容されるパケットと、新たに設定されるフローに収容されるパケットを識別できる。その結果、通信ノード100-2において、各フローに収容されるパケットを正しく識別でき、フローの混合を防止する。さらに、非特許文献1、2に開示されるオープンフローでは、パケットのヘッダ情報が変化すると、ヘッダ情報の変化の前後で異なるフローに属するものとして認識される。そこで、制御装置101は、第1の通信ノード100-1がヘッダ情報を書き換えたパケットを、第2の通信ノード100-2において処理可能となるように、第2の処理規則を第2の通信ノード100-2に設定する。その結果、図1に示す通信システムは、トラフィック発生地点からトラフィック受信地点に至るまで、フロー制御の一貫性を維持できる。
 以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。
[第1の実施形態]
 第1の実施形態について、図面を用いてより詳細に説明する。
 図2は、本実施形態に係る通信システムの構成の一例を示す図である。
 図2を参照すると、ネットワーク間の接続を実現する通信ノード10-1~10-3と、通信ノード10-1~10-3から構成されるネットワークを制御する制御装置20と、端末30-1~30-4と、を含む構成が示されている。例えば、制御装置20はオープンフローコントローラに相当し、通信ノード10-1~10-3はオープンフロースイッチに相当する。なお、以降の説明において、通信ノード10-1~10-3を特に区別する必要のないときは「通信ノード10」と表記する。
 通信ノード10は、それぞれ、パケットのヘッダ情報と照合するための照合規則を含むパケット処理規則に応じて、受信したパケットを処理する。
 制御装置20は、通信ノード10-1~10-3と図中の破線で示される制御用の通信チャネルを介して接続されている。また、通信ノード10-1には端末30-1及び30-2が、通信ノード10-2、通信ノード10-3には、それぞれ、端末30-3、端末30-4が接続されている。なお、図2に示す通信システムは例示であって、通信ノードの数や通信ノード間の接続等を限定する趣旨ではない。通信ノードの数等は、任意に選択できる。
 制御装置20は、通信ノード10からの問い合わせに応じて、又は、制御装置20が制御対象とするネットワークのトポロジ変動に応じてフロー制御を行う。あるいは、制御装置20は、ネットワークを管理するユーザからの指示、新規ホストの登録等の状況変化、外部装置からの経路設定命令、等に応じてフロー制御を行ってもよい。
 制御装置20から通信ノード10に対するフロー制御は、フローを識別するためのパケット識別条件(照合規則;マッチングキー)と、当該パケット識別条件に該当するパケットの取り扱いを定めるパケット処理方法(アクション)と、を通信ノード10に設定することで行われる。なお、パケット識別条件及びパケット処理方法は、制御装置20が自ら計算してもよいし、外部から入力する形態でもよい。
 次に、本実施形態に係る通信システムの動作について概説する。ここでは、端末30-1から端末30-4にパケットを送信する場合を考える。
 端末30-1から端末30-4にパケットを送信する場合、図2に示す一点鎖線で示されるように、通信ノード10-1、10-2、10-3というパケット転送経路が使用される。そのため、制御装置20は、通信ノード10-1~10-3にパケットを転送するためのパケット処理規則を設定する必要がある。その際、制御装置20は、通信ノード10-1に対して、以下の内容を持つパケット処理規則を設定する。
 通信ノード10-2に対してパケットを転送するパケット処理規則。
 パケットのヘッダ情報を書き換えるパケット処理規則。
 なお、通信ノード10-1が書き換えるパケットヘッダのフィールドには、送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、宛先IPアドレス、トランスポート層プロトコルに使用するポート番号、等が挙げられる。あるいは、上記以外のフィールドを変更してもよい。
 ここで、上述の通信ノード10-1に設定したパケット処理規則を考慮せずに、制御装置20から通信ノード10-2に対してパケット処理規則を設定すると問題が生じる。より具体的には、このような場合、通信ノード10-2は、通信ノード10-1においてヘッダ情報が書き換えられたパケットと、ヘッダ情報が書き換えられる前のパケットを、同一のフローに収容できない。
 そこで、制御装置20では、通信ノード10-1が書き換えたヘッダ情報に合致するように、通信ノード10-2に設定するパケット識別条件を計算し、パケット処理規則として通信ノード10-2に設定する。なお、通信ノード10-2に設定するパケット処理規則において、通信ノード10-1において書き換えられたヘッダ情報を、書き換え前の値に復元する処理を追加してもよい。
 また、制御装置20は、通信ノード10-3に対して、通信ノード10-2においてヘッダ情報が復元されるならば、当該復元されたヘッダ情報に基づいて、パケット識別条件を計算し、端末30-4にパケットを転送させるパケット処理規則を設定する。あるいは、制御装置20は、通信ノード10-2においてヘッダ情報が復元されていなければ、通信ノード10-1が書き換えたヘッダ情報に基づいて、パケット識別条件及びパケット処理方法を計算し、パケット処理規則として通信ノード10-3に設定する。
 通信ノード10-1~10-3に対して、上記のような設定を行うことで、ヘッダ情報はネットワークの任意のノードにおいて、一時的又はネットワークの転送中継続して異なる値に変更される。その結果、パケット識別条件が一致することで、フローの混合が起こるような状況であったとしても、各通信ノードでは、フローを一意に識別することができ、正しいフローにパケットを収容できる。
 図3は、制御装置20の内部構成の一例を示す図である。
 図3を参照すると、制御装置20は、トポロジ管理部21と、経路決定部22と、フロー計算部23と、フローデータベース(DB)24と、処理規則計算部25と、処理規則設定部26と、制御メッセージ処理部27と、ノード通信部28と、を含んで構成される。なお、制御装置20に含まれる各部は、制御装置20に搭載されたコンピュータに、そのハードウェアを用いて、後に詳述する処理を実行させるコンピュータプログラムにより実現することもできる。
 トポロジ管理部21は、ネットワークのトポロジ情報を収集すると共に、収集したトポロジ情報を管理する手段である。
 経路決定部22は、パケット転送に使用する経路を決定する手段である。経路決定部22は、パケットヘッダに記載された宛先IPアドレス等を参照することで、パケット転送経路を決定する。なお、制御装置20は、経路決定部22におけるパケット転送経路の計算に代えて、パケット転送経路を外部から入力してもよい。
 フロー計算部23は、制御装置20が制御対象とするネットワークで制御すべきフローを計算し、管理する手段である。フロー計算部23の詳細は、後述する。
 フローDB24は、フロー計算部23がアクセス可能なデータベースであり、制御装置20から通信ノード10に対して既に設定したフローに関する情報を記憶する。
 処理規則計算部25は、経路決定部22により決定されたパケット転送経路を分解し、各通信ノード10に設定すべきパケット処理規則(パケット識別条件及びパケット処理方法)を計算する。処理規則計算部25は、計算したパケット処理規則をフロー計算部23に出力する。
 処理規則設定部26は、通信ノード10に対するパケット処理規則の設定を、制御メッセージ処理部27に依頼する手段である。
 制御メッセージ処理部27は、通信ノード10への制御内容を制御メッセージとして変換する、又は、通信ノード10からの制御メッセージを解析し処理する手段である。
 ノード通信部28は、通信ノード10との通信を実現する手段である。
 フロー計算部23は、フロー判定部231と、フロー変換部232と、フロー結合部233と、フロー復元部234と、を含んで構成される。
 フロー判定部231は、処理規則計算部25により計算されたパケット識別条件が、各通信ノード10に既に設定されてパケット識別条件と衝突(重複)するか否か(フローの混合が生じるか否か)を判定する手段である。
 フロー変換部232は、新たなフローを設定する際に、フロー判定部231においてパケット識別条件が衝突すると判定された場合に、ヘッダ情報の書き換えを実行する通信ノードの決定と、当該ヘッダ情報の書き換え値を決定する手段である。フロー変換部232における処理の結果得られるパケット処理方法を、フロー変換規則と表記し、以降の説明を行う。
 フロー結合部233は、パケット転送経路に含まれる通信ノードにおいてヘッダ情報の書き換えが行われたパケットが、次転送先の通信ノードにおいて転送可能となるようにパケット識別条件を計算する手段である。フロー結合部233における処理の結果得られるパケット識別条件を、フロー結合規則と表記し、以降の説明を行う。
 フロー復元部234は、パケット転送経路の終端やフロー結合規則を設定する通信ノード、その他任意の通信ノードにおいてヘッダ情報を書き換え前の値に戻すパケット処理方法を計算する手段である。フロー復元部234における処理の結果得られるパケット処理方法を、フロー復元規則と表記し、以降の説明を行う。
 次に、本実施形態に係る通信システムの動作について説明する。
 ここでは、図2における端末30-1から端末30-4に特定のトラフィックを転送するためのフローが既に設定されている状況下において、同様の特徴を持つトラフィックを新たに、端末30-2から端末30-3に転送するためのフローを設定する場合を例に取り、通信システムの動作を説明する。なお、端末30-1から端末30-4へのフローをフローF01、端末30-2から端末30-3へのフローをフローF02とする。
 図2において、端末30-1から端末30-4へパケットを転送するために用いられるパケット転送経路は、上述のように、通信ノード10-1~10-3である。また、通信ノード10-3が受信したパケットは、端末30-4と接続しているインターフェイスに出力される。一方、端末30-2から端末30-3へパケットを転送するために用いられるパケット転送経路は、通信ノード10-1及び10-2である。通信ノード10-2が受信したパケットは、端末30-3と接続しているインターフェイスに出力される。これら2つのパケット転送経路に含まれる通信ノードの一部は、それぞれフローF01とF02にて共用される。即ち、通信ノード10-1及び10-2は、2つのパケット転送経路が共に使用する通信ノードである。
 図4は、通信ノード10-1及び10-2に設定されるパケット処理規則の一例を示す図である。なお、図4に示すパケット処理規則では、フローの混合が生じる。以下、フローの混合が生じる理由の説明をする。
 通信ノード10-1においては、それぞれのフローに収容されるパケットを入力するインターフェイスが異なるため(即ち、トラフィックの発生地点が違うため)、パケットを受け付けたインターフェイスの情報を使用することで、フローF01とF02を識別できる(図4(a)参照)。しかし、通信ノード10-2では、パケットを入力するインターフェイスを含めて、パケットの識別条件が同一となる場合がある(図4(b)参照)。そのような場合、通信ノード10-2では、フローF01とF02を識別できず、パケットがどちらかのフローに混合されてしまう。
 そこで、制御装置20は、フローの混合を回避するため、パケット転送経路上における通信ノード10-2へのパケット転送元となる通信ノード10-1に、ヘッダ情報を書き換えさせるパケット処理方法(フロー変換規則)を設定する。
 図5は、本実施形態に係る制御装置20の動作の一例を示す図である。
 ステップS01において、経路決定部22は、通信ノード10からパケット転送経路の決定に関する依頼を受け付けると、パケット転送経路を決定する。ここでは、通信ノード10-1から受信パケットを受け付け、通信ノード10-1及び10-2を使用するパケット転送経路(フローF02)が定まるとする。
 ステップS02において、処理規則計算部25は、前ステップで定まったパケット転送経路に含まれる通信ノードのそれぞれに設定すべきパケット処理規則(パケット識別条件及びパケット処理方法)を計算する。ここでは、通信ノード10-1及び通信ノード10-2に対するパケット処理規則が、それぞれ計算される。
 ステップS03において、フロー判定部231は、制御装置20が制御対象とするネットワークに設定済みのフローに関する情報をフローDB24から取得する。
 ステップS04において、フロー判定部231は、処理規則計算部25が計算した各通信ノードにおけるパケット識別条件と、ステップS03において取得した設定済みフローに関する情報から得られる各通信ノードにおけるパケット識別条件と、を比較し、パケット識別条件の衝突が生じるか否かを判定する。より具体的には、各通信ノードにおいて、処理規則計算部25により計算されたパケット識別条件と既に設定されているパケット識別条件が一致すれば、パケット識別条件の衝突が生じると判定される。
 例えば、図4(a)を参照すると、通信ノード10-1においては、入力ポートに関する判定条件が異なるため、フローF01及びF02のパケット識別条件は異なると判定される。一方、図4(b)を参照すると、通信ノード10-2においては、フローF01及びF02のパケット識別条件は一致するため、パケット識別条件の衝突が生じていると判定される。
 パケット識別条件の衝突が生じなければ(ステップS04、No分岐)、制御装置20は、処理規則設定部26及び制御メッセージ処理部27を介して、処理規則計算部25が計算したパケット処理規則を通信ノード10に設定する(ステップS05)。
 一方、パケット識別条件の衝突が生じている場合(ステップS04、Yes分岐)に、制御装置20は、ステップS06~S08に係る処理を実行する。
 ステップS06において、フロー変換部232は、パケット識別条件の衝突を回避するパケット処理規則(フロー変換規則)を計算する。図6は、通信ノード10-1及び10-2に設定されるパケット処理規則の一例を示す図である。処理規則計算部25が計算したパケット処理規則を通信ノード10-1及び10-2に設定すると、通信ノード10-2におけるパケット識別条件が衝突するためフローの混合が生じる可能性があるのは上述のとおりである。
 そこで、フロー変換部232は、パケット識別条件の衝突が生じる通信ノードへのパケット転送元となる通信ノードを特定する。ここでは、通信ノード10-1が特定される。さらに、フロー変換部232は、新たに設定するフローに収容されるパケットヘッダの一部を書き換えるパケット処理方法を計算する。
 例えば、図6(a)を参照すると、フローF02に収容されるパケットを転送する際には、宛先IPアドレスを書き換える処理がパケット処理方法として計算される。なお、ヘッダ情報の書き換えは、宛先IPアドレスに限定されるものではない。他のフィールドを書き換えても良いし、複数のフィールドを書き換えてもよい。即ち、書き換え後のヘッダ情報から得られるパケット識別条件と、既に設定済みのフローにおいて使用されているパケット識別条件と、が衝突しなければよい。
 ステップS07において、フロー結合部233は、書き換え後のヘッダ情報に応じて、通信ノードに設定するパケット識別条件(フロー結合規則)を計算する。例えば、図6(a)を参照すると、通信ノード10-1はフローF02に収容されるパケットのヘッダ情報を書き換える。より具体的には、フローF02に収容されるパケットの宛先IPアドレスに係るフィールドは、xx.yy.zz.1に書き換えられる。
 フロー結合部233は、書き換え後のヘッダ情報に応じて、ヘッダ情報が書き換えられたパケットを受信する通信ノードに設定するパケット識別条件を計算する。より具体的には、図6(b)を参照すると、通信ノード10-2におけるフローF02についてのパケット識別条件は、宛先IPアドレスが、xx.yy.zz.1と計算される。
 ステップS08において、制御装置20は、処理規則設定部26及び制御メッセージ処理部27を使用して、フロー変換規則及びフロー結合規則を含むパケット処理規則を、各通信ノード10に設定する。より具体的には、制御装置20は、通信ノード10-1に対して、フローF02に収容されるべきパケットを通信ノード10-2に転送すること、及び、当該パケットの宛先IPアドレスを書き換えること、を内容とするパケット処理規則を設定する。
 さらに、制御装置20は、通信ノード10-2に対しては、通信ノード10-1におけるヘッダ情報の書き換えに対応したパケット識別条件を設定すること、及び、フローF02に収容されるパケットを端末30-3に転送すること、を内容とするパケット処理規則を設定する。
 なお、通信ノード10-1が書き換えたヘッダ情報を復元する処理は、パケット識別条件の衝突が回避された後であれば、任意の通信ノードで実施することができる。例えば、図6(b)に示すように、通信ノード10-2において、パケットの復元を行ってもよい。即ち、図6(b)に示す例では、通信ノード10-2に対して、フロー結合規則とフロー復元規則が設定される。
 また、図5のステップS08において、通信ノード10-1に対するパケット処理規則の設定と、通信ノード10-2に対するパケット処理規則の設定を並列して行っている。しかし、フロー結合規則の設定を、フロー変換規則の設定に先立って行えば、通信ノード10-1におけるフローの変換(ヘッダ情報の書き換え)が最初に実行されることが防止され、通信ノード10-2から制御装置20に対する問い合わせを削減できる。
 さらに、図6(b)において、通信ノード10-2にフロー復元規則を設定したが、端末30-3が、ヘッダ情報の書き換えられたパケットを正常に受信できる(パケットを破棄しない)場合には、ヘッダ情報の復元は不要となる。
 本実施形態に係る通信システムは、共通の通信インフラ上に複数のネットワークを仮想的に構築し、仮想ネットワーク上に個別にサービス環境を構築する際、特にIaaS(インフラストラクチャ・アズ・ア・サービス)やNaaS(ネットワーク・アズ・ア・サービス)のようなクラウドサービスの提供する場合に有益である。
 以上のように、本実施形態に係る制御装置20は、本来異なるフローに収容されるべきパケットが、類似する特徴を持つために、フローの混合を生じさせる場合であっても、各フローを正確に識別可能となる。その結果、本実施形態に係る通信システムでは、フローの混合を防止できる。
[第2の実施形態]
 続いて、第2の実施形態について図面を参照して詳細に説明する。
 なお、本実施形態に係る制御装置20aの構成については、第1の実施形態に係る制御装置20と同一である。そのため、制御装置20aに関する図3に相当する説明は省略する。
 制御装置20と制御装置20aとの相違点は、フロー計算部23におけるパケット識別条件の計算方法である。本実施形態に係る制御装置20aでは、設定済みのパケット識別条件と競合しないようなパケット識別条件を計算する際、フローを一意に識別可能な識別子を定義することで計算処理を簡略化する。
 制御装置20aは、ネットワークにフローを設定する際、フローを一意に識別可能なフロー識別子を、フローに割り当てる。このフロー識別子は、フローの発生順序に基づく番号でもよいし、当該フローに対応するパケット識別条件(パケットヘッダ)やその他情報から計算されたハッシュ値であってもよい。即ち、フローを一意に識別可能な値であれば、任意の方法で識別子を決定できる。
 制御装置20aは、第1の実施形態において説明したフロー変換規則及びフロー結合規則の計算におけるパケットヘッダの変更ルールとして、上記のフロー識別子を用いる。つまり、制御装置20aは、ネットワークにおいて新たにフローを設定する際、新たに設定するフローと設定済みのフローの間に、パケット識別条件の衝突が生じる場合に、フロー変換規則として、パケットヘッダ内部にフロー識別子を書き込むようなパケット処理規則を設定する。
 さらに、フロー結合規則として、フロー識別子をパケット識別条件として含むパケット処理規則を、フロー変換規則が設定された通信ノードの次転送先ノードに設定する。なお、新たに設定するフローと既存のフローとの間で、パケット識別条件の衝突が生じる場合だけではなく、ネットワークの運用開始の当初からフロー識別子を設定してもよい。
 以上のように、本実施形態に係る制御装置20aでは、パケット識別条件の計算に代えて、フロー識別子によりフローを識別する。その結果、フロー変換規則及びフロー結合規則の計算を簡略化できる。
[第3の実施形態]
 続いて、第3の実施形態について図面を参照して詳細に説明する。
 図7は、本実施形態に係る通信システムの構成の一例を示す図である。
 図7を参照すると、通信ノード10-1~10-3及びこれらの通信ノードを制御する制御装置40-1を含むネットワーク50と、通信ノード10-4~10-6及びこれらの通信ノードを制御する制御装置40-2を含むネットワーク51と、を含む構成が示されている。制御装置40-1は通信ノード10-1~10-3と図中の点線で示される制御用の通信チャネルで接続されている。同様に、制御装置40-2は通信ノード10-4~10-6と図中の点線で示される制御用の通信チャネルで接続されている。なお、以降の説明において、制御装置40-1及び40-2を特に区別する必要のないときは「制御装置40」と表記する。同様に、通信ノード10-1~10-6を特に区別する必要のないときは「通信ノード10」と表記する。
 通信ノード10-3と10-4はリンクによってネットワーク間を接続している。また、通信ノード10-1、10-2、10-5及び10-6は、それぞれ、端末30-1~30-4と接続されている。なお、図7に示す通信システムは例示であって、通信ノードの数や通信ノード間の接続等を限定する趣旨ではない。通信ノードの数等は、任意に選択できる。
 図8は、制御装置40の内部構成の一例を示す図である。なお、図8において図3と同一の構成要素には同一の符号を付し、その説明を省略する。制御装置20と制御装置40の相違点は、フロー変換規則通信部29を備える点と、フロー計算部23の動作が異なる点である。
 フロー変換規則通信部29は、フロー計算部23によって計算されるフロー変換規則を、他のネットワークを制御する制御装置に対して通知する手段である。また、フロー変換規則通信部29は、他の制御装置が通知するフロー変換規則を受信する手段でもある。フロー変換規則通信部29は、通信ノード10を介して他の制御装置40と通信するが、制御装置40同士で直接、通信しても良い。
 フロー計算部23は、第1の実施形態において説明した機能に加えて、隣接するネットワークにおいてヘッダ情報が書き換えられたパケット(フロー変換規則により処理されたパケット)を、自らが制御対象とするネットワークにて転送可能とするようにパケット識別条件を計算する機能を備える。さらに、フロー計算部23は、フロー変換規則が通知された他の制御装置が、当該フロー変換規則は既に、他の制御装置が制御対象とするネットワークに含まれる通信ノードに設定されている旨の応答(後述するエラー通知)を受け取った場合には、フロー変換規則を再計算する機能を備える。
 なお、トポロジ管理部21が収集し、管理するトポロジ情報は、制御装置40が制御対象とするネットワークのトポロジ情報に限定してもよいし、他の制御装置が制御対象とするネットワークのトポロジ情報にまで拡張してもよい。さらに、経路決定部22が決定するパケット転送経路は、制御装置40が制御対象とするネットワーク内のパケット転送経路に限定しも良いし、他の制御装置が制御対象とするネットワークまで含めてパケット転送経路を計算してもよい。
 次に、本実施形態に係る通信システムの動作について説明する。
 ここでは、図7における端末30-1から端末40-4に特定のトラフィックを転送するためのフローが既に設定されている状況下において、同様の特徴を持つトラフィックを新たに、端末30-2から端末30-3に転送するためのフローを設定する場合を例に取り、通信システムの動作を説明する。なお、端末30-1から端末30-4へのフローをフローF03、端末30-2から端末30-3へのフローをフローF04とする。また、通信ノード10-2~10-5において、それぞれのフローにおけるパケット識別条件は、第1の実施形態と同様に、同一とする。
 図7において、端末30-1から端末30-4へのパケット転送に用いられるパケット転送経路は、通信ノード10-1~10-6である。また、通信ノード10-6が受信したパケットは、端末30-4と接続しているインターフェイスに出力される。一方、端末30-2から端末30-3へパケット転送に用いられるパケット転送経路は、通信ノード10-2~10-5である。通信ノード10-5が受信したパケットは、端末30-3と接続しているインターフェイスに出力される。
 これら2つのパケット転送経路に含まれる通信ノードの一部は、それぞれフローF03とF04にて共用される。即ち、通信ノード10-1~10-5は、2つのパケット転送経路が共に使用する通信ノードである。また、これらの通信ノードにおけるパケット識別条件が同一であるため、通信ノード10-2~10-5では、フローF03とF04が識別できず、パケットはどちらかのフローに混合される可能性がある。
 これらの通信ノードのうち、通信ノード10-2及び10-3においては、制御装置40-1が、入力地点の異なる同種のフローを識別し、転送可能なパケット処理規則を通信ノード10-2に設定することでフローの混合を回避できる。より具体的には、第1の実施形態において説明したヘッダ情報を書き換える方法を適用してもよいし、他の方法を用いてもよい。あるいは、例えば、各ネットワークへのパケット入力時にパケットヘッダの先頭にさらに別種のパケットヘッダを付加するカプセル化の技術や、パケットヘッダの内部に転送に使用すべきパケット転送経路の情報を埋め込むソースルーティングのような技術を適用することもできる。
 しかし、通信ノード10-3と通信ノード10-4を接続するリンクは、異なるネットワークを接続するリンクであり、制御装置40-1は通信ノード10-4にパケット処理規則を設定する権限を有さない。
 そこで、制御装置40-1は、通信ノード10-3に設定されているパケット識別条件と、新たに設定しようとするパケット識別条件と、が衝突するか否かを判定する。パケット識別条件が衝突するパケット処理規則が存在する場合には、新たにフローを設定するとフローの混合が発生する。そのような場合に、制御装置40-1は、通信ノード10-3に、パケットのヘッダ情報を書き換えさせ、フローを変換する。
 図9は、本実施形態に係る通信システムの動作の一例を示すシーケンス図である。図10は、通信ノード10-3~10-5に設定されるパケット処理規則の一例を示す図である。ここでは、制御装置40-1及び40-2が、フローF04を実現するパケット処理規則を通信ノード10-3及び10-4に設定する場合について説明する。なお、フロー変換規則及びフロー復元規則におけるパケット識別条件は、ネットワーク毎に異なる場合がある。これは、ネットワーク毎に異なる方法でフロー制御を実行する場合があり、それに伴ってパケット識別条件も異なるからである。ネットワークの内部の制御方法としては、VLANタグによりパケットを識別するネットワークや、SourceFlowを採用するネットワーク、パケットをカプセル化するネットワーク、エッジの通信ノードだけにオープンフローを採用し、コアの通信ノードにはMPLSを使用するネットワークなどがある。
 また、パケットのヘッダ情報の変更に用いる値をラベルと呼称すると、制御装置は、例えば、ネットワークの境界の通信ノードではネットワーク間用のラベルを用いてパケットのヘッダ情報を変更し、ネットワーク内部の通信ノードではネットワーク内部のラベルを用いてパケットのヘッダ情報を変更することにより、フローエントリの衝突回避を実行してもよい。この場合も、ネットワークのエッジの通信ノードの処理規則のパケット識別条件と、ネットワーク内部の通信ノードの処理規則のパケット識別条件とが異なることとなる。
 図10(a)では、制御装置40-1が通信ノード10-3に設定するフローF04を実現するパケット処理規則のパケット識別条件を、フローF04と示す。また、図10(c)では、制御装置40-2が通信ノード10-5に設定するフローF04を実現するパケット処理規則のパケット識別条件を、フローF04と示す。なお、図10(a)と図10(c)とに示すフローF04を実現するパケット処理規則のパケット識別条件は、フローF04と同じ記号で示しているが、上記のとおりネットワークが異なるとフロー制御の方法が異なる場合があり、それに伴ってパケット識別条件も異なる場合があるため、その内容は異なる場合がある。
 図9を参照すると、初めに、制御装置40-1は自らが制御対象とするネットワークに設定済みのフローに関する情報をフローDB24から取得する。その後、第1の実施形態において説明したように、新たに設定しようとするパケット識別条件が、既に設定済みのパケット処理規則と衝突するか否かを判定する。パケット識別条件が衝突していれば、パケット識別条件の衝突を回避するパケット識別条件を計算する(ステップS101)。
 その後、制御装置40-1は、計算したパケット識別条件を、フロー変換規則通信部29を介して、自らが制御するネットワーク50に含まれる通信ノードに設定することを予定するフロー変換規則として制御装置40-2に通知する(ステップS102)。即ち、制御装置40-1は、制御装置40-2に対して、通知したパケット識別条件を、通信ノード10-4に設定するパケット処理規則のパケット識別条件として使用するように依頼する。
 制御装置40-2では、制御装置40-1から通知されたフロー変換規則により計算されるパケット識別条件が、通信ノード10-4に設定されているパケット識別条件と衝突するか否かを判定する(ステップS201)。
 パケット識別条件が衝突していれば、制御装置40-2は、制御装置40-1に対してエラー通知を行う(ステップS202)。パケット識別条件が衝突していなければ、制御装置40-2は、制御装置40-1に対して成功通知を行う(ステップS203)。
 制御装置40-2からエラー通知を受けた制御装置40-1は、パケット識別条件を再計算(ステップS103)し、再計算したパケット識別条件を変換ルールとして制御装置40-2に通知する(ステップS102)。
 制御装置40-2から成功通知を受けた制御装置40-1は、通信ノード10-3に設定するフロー変換規則を計算する(ステップS104)。その後、フロー変換規則は通信ノード10-3に設定される(ステップS105)。例えば、図10(a)を参照すると、制御装置40-1は、通信ノード10-3に対して、フローF04に収容されるパケットを通信ノード10-4に転送する共に、ヘッダ情報を書き換えるパケット処理方法を設定する。
 制御装置40-2は、制御装置40-1から通知されたパケット識別条件が衝突していなければ、当該パケット識別条件を通信ノード10-4に設定するパケット識別条件とし、フロー結合規則を計算する(ステップS204)。その後、フロー結合規則は通信ノード10-4に設定される(ステップS205)。例えば、図10(b)を参照すると、フローF04に対応するパケット識別条件において、宛先IPアドレスがxx.yy.zz.1に設定される。
 なお、通信ノード10-4において、フローF03及びF04のパケット識別条件が異なって設定されているため、これらを異なるフローとして取り扱うことができる。また、通信ノード10-4に対して、第1の実施形態において説明したように、フロー復元規則を設定してもよい。その場合には、制御装置40-1は、ステップS101において計算したパケット識別条件の通知(ステップS102)の際に、又は、ステップS102とは異なるタイミングで、変更前のヘッダ情報の値を制御装置40-2に通知する。但し、上述のように、フロー復元規則を設定する通信ノードは、通信ノード10-4に限定されず、他の通信ノードに設定してもよい。例えば、図10(c)のように、通信ノード10-5に対してフロー復元規則を設定してもよい。このように、ネットワーク51に含まれる通信ノード、又は、ネットワーク51の境界に位置する通信ノードにおいて、ヘッダ情報を復元できる。あるいは、ヘッダ情報の復元に係る処理を、ネットワーク50及び51とは異なるネットワークにおいて実行してもよい。
 本実施形態では、第1の実施形態において説明した方法を用いて、ネットワークの境界においてパケット識別条件が衝突する場合の動作について、このような衝突を回避する方法を説明した。しかし、第2の実施形態において説明した方法を用いて、フローを一意に識別可能な識別子を割り当て、当該識別子をフロー変換規則及びフロー結合規則の計算に用いてもよい。
 また、本実施形態では、2つの異なるネットワーク50及び51を例示して、通信システムの説明を行ったが、ネットワークの数を限定する趣旨ではない。通信システムは、3以上のネットワークと、これらのネットワークを制御する制御装置を含んで構成されてもよい。その場合には、物理的には同一の制御装置が、上述した制御装置40-1及び40-2の役割を担うことがある。例えば、制御装置40-2は、制御装置40-1からフロー変換規則を受信し、自らが制御対象とするネットワーク51に含まれる通信ノードにパケットを処理規則する共に、他のネットワークを制御する制御装置に対してフロー変換規則を通知する。
 さらに、フロー変換規則、フロー結合規則及びフロー復元規則の計算に用いる値は制御装置間の通知によって決定したが、別途、調整機構を持つ装置を用意してもよい。さらに、制御装置間の通知や調整装置との通信にはノードを経由したデータプレーンでの通信を行ってもよいし、別途管理用のネットワークを用意してもよい。
 さらにまた、隣接するネットワークの制御装置間でフロー変換規則、フロー結合規則及びフロー復元規則の計算に用いる値を通知せず、パケットを最初に受け取るネットワークの制御装置など特定のネットワークの制御装置が、代表して値を決定し、通知してもよい。例えば、図7において、制御装置40-1が、制御装置40-2が制御対象とするネットワーク51に含まれる通信ノード104~10-6に設定するフロー変換規則、フロー結合規則又はフロー復元規則を計算し、制御装置40-2に通知してもよい。即ち、制御装置40-1は、複数のネットワーク50及び51に含まれる複数の通信ノード10-1~10-6の少なくとも1つに設定されるパケット処理規則であって、パケットのヘッダ情報を変更するための処理規則(フロー変換規則及びフロー復元規則)やヘッダ情報が書き換えられた後のパケットを処理するための処理規則(フロー結合規則)を、制御装置40-2に通知してもよい。このように、特定の制御装置(例えば、制御装置40-1)が、代表して処理規則を計算し、他の制御装置(例えば、制御装置40-2)に通知することで、それぞれの制御装置で使用される処理規則を通知元である制御装置が制御できる。
 以上のように、本実施形態に係る通信システムでは、同様の特徴を持つトラフィックを個別に制御したい場合において、ネットワークを跨がった制御が可能となる。本実施形態に係る通信システムは、例えば、複数の拠点をまたがる共通の通信インフラ上に、複数のネットワークを仮想的に構築し、仮想ネットワーク上に個別にサービス環境を構築する場合、特に広域クラウドサービスを提供する際に有益である。
 上記の実施形態の一部又は全部は、以下のようにも記載され得るが、以下には限られない。
 [形態1]
 上述の第1の視点に係る通信システムのとおりである。
 [形態2]
 前記複数の通信ノードのそれぞれは、パケットのヘッダ情報と照合するための照合規則を有する処理規則に応じて、受信したパケットを処理し、
 前記制御装置は、前記パケットのヘッダ情報を変更するための第1の処理規則を前記第1の通信ノードに設定したことに応じて、前記変更後のヘッダ情報を照合規則とする前記第2の処理規則を前記第2の通信ノードに設定する形態1の通信システム。
 [形態3]
 前記第1及び第2の通信ノードは、前記パケットの転送経路に含まれ、
 前記第2の通信ノードは、前記転送経路において、前記第1の通信ノードの次の転送先の通信ノードである形態1又は2の通信システム。
 [形態4]
 前記制御装置は、変更後のヘッダ情報を含む前記パケットを前記転送経路に転送するための第2の処理規則を、前記第2の通信ノードに設定する形態3の通信システム。
 [形態5]
 前記制御装置は、
 前記パケットのヘッダ情報を変更するための第1の処理規則を前記第1の通信ノードに設定する第1の設定部(第1の設定手段)と、
 前記第1の設定部が前記第1の処理規則を設定したことに応じて、前記第2の処理規則を前記第2の通信ノードに設定する第2の設定部(第2の設定手段)と、
 を備える形態1乃至4のいずれか一に記載の通信システム。
 [形態6]
 前記制御装置は、前記パケットに含まれる前記変更後のヘッダ情報を、変更前のヘッダ情報に戻すための第3の処理規則を、第3の通信ノードに設定する形態1乃至5のいずれか一に記載の通信システム。
 [形態7]
 前記制御装置は、前記第1の処理規則として、前記パケットのヘッダ情報を、前記照合規則として利用されているヘッダ情報とは異なるヘッダ情報に変更するための処理規則を、前記第1の通信ノードに設定する形態2乃至6のいずれか一に記載の通信システム。
 [形態8]
 上述の第2の視点に係る通信システムのとおりである。
 [形態9]
 前記複数の通信ノードのそれぞれは、パケットのヘッダ情報と照合するための照合規則を含む処理規則に応じて、受信したパケットを処理し、
 前記第2の制御装置は、前記第1の制御装置が前記第1の処理規則を設定したことに応じて、前記変更後のヘッダ情報を照合規則とする前記第2の処理規則を前記第2の通信ノードに設定する形態8の通信システム。
 [形態10]
 前記第1及び第2の通信ノードは、それぞれ前記第1及び第2のネットワークの端点に位置する通信ノードであり、
 前記第1の通信ノードと前記第2の通信ノードとは、互いに接続している形態8又は9の通信システム。
 [形態11]
 前記第1のネットワークに含まれる第1の制御装置に、前記第1の処理規則を前記第1の通信ノードに設定させる第1の設定部(第1の設定手段)と、
 前記第2のネットワークに含まれる第2の制御装置に、前記第2の処理規則を前記第2の通信ノードに設定させる第2の設定部(第2の設定手段)と、
 を備える設定装置をさらに含む形態8乃至10のいずれか一に記載の通信システム。
 [形態12]
 前記第2の制御装置は、前記第2のネットワークに含まれる少なくとも1つの通信ノードに対して、前記パケットに含まれる前記変更後のヘッダ情報を変更前のヘッダ情報に戻すための第3の処理規則を設定する形態8乃至11のいずれか一に記載の通信システム。
 [形態13]
 前記第2の制御装置は、前記第2のネットワークに含まれる通信ノードであって、第3のネットワークに含まれる第3の通信ノードと互いに接続する通信ノードに対して、前記第3の処理規則を設定する形態12の通信システム。
 [形態14]
 前記第1の制御装置は、前記第1の処理規則として、前記パケットのヘッダ情報を、前記第2のネットワークにおいて前記照合規則として利用されているヘッダ情報とは異なるヘッダ情報に変更するための処理規則を設定する形態9の通信システム。
 [形態15]
 前記変更後のヘッダ情報は、前記複数のネットワークにおいて前記パケットが属するフローを一意に識別するための識別子を含む形態8乃至14のいずれか一に記載の通信システム。
 [形態16]
 前記第1の制御装置は、前記複数のネットワークのそれぞれに含まれる複数の通信ノードの少なくとも1つに設定される処理規則であって、前記パケットのヘッダ情報を変更するための処理規則を、通信ノードに設定する制御装置に対して通知する形態8乃至15のいずれか一に記載の通信システム。
 [形態17]
 前記第1の制御装置は、前記複数のネットワークのそれぞれに含まれる複数の通信ノードの少なくとも1つに設定される処理規則であって、変更後のヘッダ情報を含む前記パケットを処理するための処理規則を、前記処理規則を通信ノードに設定する制御装置に対して通知する形態8乃至16のいずれか一に記載の通信システム。
 [形態18]
 前記第1の制御装置は、前記複数のネットワークのそれぞれに含まれる複数の通信ノードの少なくとも1つに設定される処理規則であって、前記パケットに含まれる前記変更後のヘッダ情報を変更前のヘッダ情報に戻すための処理規則を、前記処理規則を通信ノードに設定する制御装置に対して通知する形態8乃至17のいずれか一に記載の通信システム。
 [形態19]
 上述の第3の視点に係る通信方法のとおりである。
 [形態20]
 前記パケットに含まれる前記変更後のヘッダ情報を、変更前のヘッダ情報に戻すための第3の処理規則を、第3の通信ノードに設定する工程をさらに含む形態19の通信方法。
 [形態21]
 上述の第4の視点に係る制御装置のとおりである。
 [形態22]
 前記制御装置は、前記第2の通信ノードに設定されている、パケットを識別するための第1の識別条件と、前記第2の通信ノードに対して新たに設定しようとする、パケットを識別するための第2の識別条件と、が一致する場合に、前記第1及び第2のパケット処理規則を前記第1及び第2の通信ノードに設定する形態21の制御装置。
 [形態23]
 前記制御装置は、前記第2の通信ノードを含む通信ノードに、前記第1の処理規則により書き換えられたヘッダ情報を、書き換え前のヘッダ情報に戻す第3のパケット処理規則を設定する形態21又は22の制御装置。
 [形態24]
 前記制御装置は、前記第1のネットワークと異なる第2のネットワークを制御する制御装置に対して、前記第1のパケット処理規則により書き換えられるヘッダ情報を通知する形態21乃至23のいずれか一に記載の制御装置。
 [形態25]
 上述の第5の視点に係る制御装置の制御方法のとおりである。
 [形態26]
 前記第2の通信ノードに設定されている、パケットを識別するための第1の識別条件と、前記第2の通信ノードに対して新たに設定しようとする、パケットを識別するための第2の識別条件と、が一致するか否かを判定する工程をさらに含み、
 前記第1及び第2の識別条件が一致する場合に、前記第1及び第2のパケット処理規則は前記第1及び第2の通信ノードに設定される形態25の制御装置の制御方法。
 [形態27]
 前記第2の通信ノードを含む通信ノードに、前記第1の処理規則により書き換えられたヘッダ情報を、書き換え前のヘッダ情報に戻す第3のパケット処理規則を設定する工程をさらに含む形態25又は26の制御装置の制御方法。
 [形態28]
 前記第1のネットワークと異なる第2のネットワークを制御する制御装置に対して、前記第1のパケット処理規則により書き換えられるヘッダ情報を通知する工程をさらに含む形態25乃至27のいずれか一に記載の制御装置の制御方法。
 [形態29]
 上述の第6の視点に係るプログラムのとおりである。
 [形態30]
 前記第2の通信ノードに設定されている、パケットを識別するための第1の識別条件と、前記第2の通信ノードに対して新たに設定しようとする、パケットを識別するための第2の識別条件と、が一致するか否かを判定する処理をさらに実行させ、
 前記第1及び第2の識別条件が一致する場合に、前記第1及び第2のパケット処理規則は前記第1及び第2の通信ノードに設定される形態29のプログラム。
 [形態31]
 前記第2の通信ノードを含む通信ノードに、前記第1の処理規則により書き換えられたヘッダ情報を、書き換え前のヘッダ情報に戻す第3のパケット処理規則を設定する処理をさらに実行させる形態29又は30のプログラム。
 [形態32]
 前記第1のネットワークと異なる第2のネットワークを制御する制御装置に対して、前記第1のパケット処理規則により書き換えられるヘッダ情報を通知する処理をさらに実行させる形態29乃至31のいずれか一に記載のプログラム。
 なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
10、10-1~10-6、100-1、100-2 通信ノード
20、20a、40、40-1、40-2、101 制御装置
21 トポロジ管理部
22 経路決定部
23 フロー計算部
24 フローデータベース(DB)
25 処理規則計算部
26 処理規則設定部
27 制御メッセージ処理部
28 ノード通信部
29 フロー変換規則通信部
30-1~30-4 端末
50、51 ネットワーク
231 フロー判定部
232 フロー変換部
233 フロー結合部
234 フロー復元部

Claims (32)

  1.  パケットを処理するための処理規則に応じて、受信したパケットを処理する複数の通信ノードと、
     前記複数の通信ノードに対して、前記処理規則を設定する制御装置と、を含み、
     前記制御装置は、パケットのヘッダ情報を変更するための第1の処理規則を第1の通信ノードに設定したことに応じて、変更後のヘッダ情報を含むパケットを処理するための第2の処理規則を第2の通信ノードに設定する通信システム。
  2.  前記複数の通信ノードのそれぞれは、パケットのヘッダ情報と照合するための照合規則を有する処理規則に応じて、受信したパケットを処理し、
     前記制御装置は、前記パケットのヘッダ情報を変更するための第1の処理規則を前記第1の通信ノードに設定したことに応じて、前記変更後のヘッダ情報を照合規則とする前記第2の処理規則を前記第2の通信ノードに設定する請求項1の通信システム。
  3.  前記第1及び第2の通信ノードは、前記パケットの転送経路に含まれ、
     前記第2の通信ノードは、前記転送経路において、前記第1の通信ノードの次の転送先の通信ノードである請求項1又は2の通信システム。
  4.  前記制御装置は、変更後のヘッダ情報を含む前記パケットを前記転送経路に転送するための第2の処理規則を、前記第2の通信ノードに設定する請求項3の通信システム。
  5.  前記制御装置は、
     前記パケットのヘッダ情報を変更するための第1の処理規則を前記第1の通信ノードに設定する第1の設定部と、
     前記第1の設定部が前記第1の処理規則を設定したことに応じて、前記第2の処理規則を前記第2の通信ノードに設定する第2の設定部と、
     を備える請求項1乃至4のいずれか一項に記載の通信システム。
  6.  前記制御装置は、前記パケットに含まれる前記変更後のヘッダ情報を、変更前のヘッダ情報に戻すための第3の処理規則を、第3の通信ノードに設定する請求項1乃至5のいずれか一項に記載の通信システム。
  7.  前記制御装置は、前記第1の処理規則として、前記パケットのヘッダ情報を、前記照合規則として利用されているヘッダ情報とは異なるヘッダ情報に変更するための処理規則を、前記第1の通信ノードに設定する請求項2乃至6のいずれか一項に記載の通信システム。
  8.  複数の通信ノードに対して、パケットを処理するための処理規則を設定する複数の制御装置を含むネットワークを複数有し、
     第1のネットワークに含まれる第1の制御装置が、前記第1のネットワークに含まれる第1の通信ノードに、パケットのヘッダ情報を変更するための第1の処理規則を設定し、
     第2のネットワークに含まれる第2の制御装置が、前記第1の制御装置が前記第1の処理規則を設定したことに応じて、前記第2のネットワークに含まれる第2の通信ノードに、変更後のヘッダ情報を含む前記パケットを処理するための第2の処理規則を設定する通信システム。
  9.  前記複数の通信ノードのそれぞれは、パケットのヘッダ情報と照合するための照合規則を含む処理規則に応じて、受信したパケットを処理し、
     前記第2の制御装置は、前記第1の制御装置が前記第1の処理規則を設定したことに応じて、前記変更後のヘッダ情報を照合規則とする前記第2の処理規則を前記第2の通信ノードに設定する請求項8の通信システム。
  10.  前記第1及び第2の通信ノードは、それぞれ前記第1及び第2のネットワークの端点に位置する通信ノードであり、
     前記第1の通信ノードと前記第2の通信ノードとは、互いに接続している請求項8又は9の通信システム。
  11.  前記第1のネットワークに含まれる第1の制御装置に、前記第1の処理規則を前記第1の通信ノードに設定させる第1の設定部と、
     前記第2のネットワークに含まれる第2の制御装置に、前記第2の処理規則を前記第2の通信ノードに設定させる第2の設定部と、
     を備える設定装置をさらに含む請求項8乃至10のいずれか一項に記載の通信システム。
  12.  前記第2の制御装置は、前記第2のネットワークに含まれる少なくとも1つの通信ノードに対して、前記パケットに含まれる前記変更後のヘッダ情報を変更前のヘッダ情報に戻すための第3の処理規則を設定する請求項8乃至11のいずれか一項に記載の通信システム。
  13.  前記第2の制御装置は、前記第2のネットワークに含まれる通信ノードであって、第3のネットワークに含まれる第3の通信ノードと互いに接続する通信ノードに対して、前記第3の処理規則を設定する請求項12の通信システム。
  14.  前記第1の制御装置は、前記第1の処理規則として、前記パケットのヘッダ情報を、前記第2のネットワークにおいて前記照合規則として利用されているヘッダ情報とは異なるヘッダ情報に変更するための処理規則を設定する請求項9の通信システム。
  15.  前記変更後のヘッダ情報は、前記複数のネットワークにおいて前記パケットが属するフローを一意に識別するための識別子を含む請求項8乃至14のいずれか一項に記載の通信システム。
  16.  前記第1の制御装置は、前記複数のネットワークのそれぞれに含まれる複数の通信ノードの少なくとも1つに設定される処理規則であって、前記パケットのヘッダ情報を変更するための処理規則を、通信ノードに設定する制御装置に対して通知する請求項8乃至15のいずれか一項に記載の通信システム。
  17.  前記第1の制御装置は、前記複数のネットワークのそれぞれに含まれる複数の通信ノードの少なくとも1つに設定される処理規則であって、変更後のヘッダ情報を含む前記パケットを処理するための処理規則を、前記処理規則を通信ノードに設定する制御装置に対して通知する請求項8乃至16のいずれか一項に記載の通信システム。
  18.  前記第1の制御装置は、前記複数のネットワークのそれぞれに含まれる複数の通信ノードの少なくとも1つに設定される処理規則であって、前記パケットに含まれる前記変更後のヘッダ情報を変更前のヘッダ情報に戻すための処理規則を、前記処理規則を通信ノードに設定する制御装置に対して通知する請求項8乃至17のいずれか一項に記載の通信システム。
  19.  パケットを処理するための処理規則に応じて、受信したパケットを処理する複数の通信ノードを含む通信システムにおける通信方法であって、
     パケットのヘッダ情報を変更するための第1の処理規則を第1の通信ノードに設定する工程と、
     前記第1の処理規則の設定に応じて、変更後のヘッダ情報を含むパケットを処理するための第2の処理規則を第2の通信ノードに設定する工程と、
     を含む通信方法。
  20.  前記パケットに含まれる前記変更後のヘッダ情報を、変更前のヘッダ情報に戻すための第3の処理規則を、第3の通信ノードに設定する工程をさらに含む請求項19の通信方法。
  21.  第1の通信ノードから第2の通信ノードへパケットが転送される第1のネットワークを制御する制御装置であって、
     前記第1の通信ノードが受信したパケットのヘッダ情報を書き換える第1のパケット処理規則を前記第1の通信ノードに設定すると共に、前記書き換えられたヘッダ情報を含むパケットを処理するための第2のパケット処理規則を前記第2の通信ノードに設定する制御装置。
  22.  前記制御装置は、前記第2の通信ノードに設定されている、パケットを識別するための第1の識別条件と、前記第2の通信ノードに対して新たに設定しようとする、パケットを識別するための第2の識別条件と、が一致する場合に、前記第1及び第2のパケット処理規則を前記第1及び第2の通信ノードに設定する請求項21の制御装置。
  23.  前記制御装置は、前記第2の通信ノードを含む通信ノードに、前記第1の処理規則により書き換えられたヘッダ情報を、書き換え前のヘッダ情報に戻す第3のパケット処理規則を設定する請求項21又は22の制御装置。
  24.  前記制御装置は、前記第1のネットワークと異なる第2のネットワークを制御する制御装置に対して、前記第1のパケット処理規則により書き換えられるヘッダ情報を通知する請求項21乃至23のいずれか一項に記載の制御装置。
  25.  第1の通信ノードから第2の通信ノードへパケットが転送される第1のネットワークを制御する制御装置の制御方法であって、
     前記第1の通信ノードが受信したパケットのヘッダ情報を書き換える第1のパケット処理規則を前記第1の通信ノードに設定する工程と、
     前記書き換えられたヘッダ情報を含むパケットを処理するための第2のパケット処理規則を前記第2の通信ノードに設定する工程と、
     を含む制御装置の制御方法。
  26.  前記第2の通信ノードに設定されている、パケットを識別するための第1の識別条件と、前記第2の通信ノードに対して新たに設定しようとする、パケットを識別するための第2の識別条件と、が一致するか否かを判定する工程をさらに含み、
     前記第1及び第2の識別条件が一致する場合に、前記第1及び第2のパケット処理規則は前記第1及び第2の通信ノードに設定される請求項25の制御装置の制御方法。
  27.  前記第2の通信ノードを含む通信ノードに、前記第1の処理規則により書き換えられたヘッダ情報を、書き換え前のヘッダ情報に戻す第3のパケット処理規則を設定する工程をさらに含む請求項25又は26の制御装置の制御方法。
  28.  前記第1のネットワークと異なる第2のネットワークを制御する制御装置に対して、前記第1のパケット処理規則により書き換えられるヘッダ情報を通知する工程をさらに含む請求項25乃至27のいずれか一項に記載の制御装置の制御方法。
  29.  第1の通信ノードから第2の通信ノードへパケットが転送される第1のネットワークを制御する制御装置を制御するコンピュータに実行させるプログラムであって、
     前記第1の通信ノードが受信したパケットのヘッダ情報を書き換える第1のパケット処理規則を前記第1の通信ノードに設定する処理と、
     前記書き換えられたヘッダ情報を含むパケットを処理するための第2のパケット処理規則を前記第2の通信ノードに設定する処理と、
     を実行させるプログラム。
  30.  前記第2の通信ノードに設定されている、パケットを識別するための第1の識別条件と、前記第2の通信ノードに対して新たに設定しようとする、パケットを識別するための第2の識別条件と、が一致するか否かを判定する処理をさらに実行させ、
     前記第1及び第2の識別条件が一致する場合に、前記第1及び第2のパケット処理規則は前記第1及び第2の通信ノードに設定される請求項29のプログラム。
  31.  前記第2の通信ノードを含む通信ノードに、前記第1の処理規則により書き換えられたヘッダ情報を、書き換え前のヘッダ情報に戻す第3のパケット処理規則を設定する処理をさらに実行させる請求項29又は30のプログラム。
  32.  前記第1のネットワークと異なる第2のネットワークを制御する制御装置に対して、前記第1のパケット処理規則により書き換えられるヘッダ情報を通知する処理をさらに実行させる請求項29乃至31のいずれか一項に記載のプログラム。
PCT/JP2014/053171 2013-02-13 2014-02-12 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム WO2014126094A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015500251A JPWO2014126094A1 (ja) 2013-02-13 2014-02-12 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
US14/763,116 US20150381775A1 (en) 2013-02-13 2014-02-12 Communication system, communication method, control apparatus, control apparatus control method, and program
CN201480008742.7A CN104995879A (zh) 2013-02-13 2014-02-12 通信系统、通信方法、控制装置、控制装置控制方法和程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-025407 2013-02-13
JP2013025407 2013-02-13

Publications (1)

Publication Number Publication Date
WO2014126094A1 true WO2014126094A1 (ja) 2014-08-21

Family

ID=51354094

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/053171 WO2014126094A1 (ja) 2013-02-13 2014-02-12 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム

Country Status (4)

Country Link
US (1) US20150381775A1 (ja)
JP (1) JPWO2014126094A1 (ja)
CN (1) CN104995879A (ja)
WO (1) WO2014126094A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016143338A1 (ja) * 2015-03-12 2016-09-15 日本電気株式会社 ネットワークシステム、制御装置、制御方法及びプログラム記録媒体
WO2016143339A1 (ja) * 2015-03-12 2016-09-15 日本電気株式会社 ネットワークシステム、制御装置、制御方法及びプログラム記録媒体

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105471609B (zh) 2014-09-05 2019-04-05 华为技术有限公司 一种用于配置业务的方法和装置
US11483238B2 (en) * 2019-10-14 2022-10-25 Cisco Technology, Inc. Centralized path computation for information-centric networking

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023292A1 (en) * 2010-08-20 2012-02-23 Nec Corporation Communication system, controller, node controlling method and program
WO2012023604A1 (ja) * 2010-08-20 2012-02-23 日本電気株式会社 通信システム、制御装置、通信方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023292A1 (en) * 2010-08-20 2012-02-23 Nec Corporation Communication system, controller, node controlling method and program
WO2012023604A1 (ja) * 2010-08-20 2012-02-23 日本電気株式会社 通信システム、制御装置、通信方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016143338A1 (ja) * 2015-03-12 2016-09-15 日本電気株式会社 ネットワークシステム、制御装置、制御方法及びプログラム記録媒体
WO2016143339A1 (ja) * 2015-03-12 2016-09-15 日本電気株式会社 ネットワークシステム、制御装置、制御方法及びプログラム記録媒体

Also Published As

Publication number Publication date
JPWO2014126094A1 (ja) 2017-02-02
US20150381775A1 (en) 2015-12-31
CN104995879A (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
US11134012B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
JP5850068B2 (ja) 制御装置、通信システム、通信方法およびプログラム
JP5674107B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP5440691B2 (ja) パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム
JP5800019B2 (ja) 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム
JP5994851B2 (ja) 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム
JP5585660B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP5861772B2 (ja) ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム
WO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
JP5534033B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
JP6440191B2 (ja) スイッチ装置、vlan設定管理方法及びプログラム
WO2016068238A1 (ja) ネットワークの制御システム、制御装置、ネットワーク情報の管理方法及びプログラム
JP5854488B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP6314970B2 (ja) 通信システム、制御装置、通信方法およびプログラム
US9860178B2 (en) Control message relay apparatus, control message relay method, and program
WO2014142081A1 (ja) 転送ノード、制御装置、通信システム、パケット処理方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14752008

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14763116

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2015500251

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

Country of ref document: EP

Kind code of ref document: A1