WO2011083780A1 - 通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム - Google Patents
通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム Download PDFInfo
- Publication number
- WO2011083780A1 WO2011083780A1 PCT/JP2011/050009 JP2011050009W WO2011083780A1 WO 2011083780 A1 WO2011083780 A1 WO 2011083780A1 JP 2011050009 W JP2011050009 W JP 2011050009W WO 2011083780 A1 WO2011083780 A1 WO 2011083780A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- transfer
- node
- forwarding
- packet
- route
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
Definitions
- the present invention is based on the priority claim of Japanese patent application: Japanese Patent Application No. 2010-000740 (filed on Jan. 5, 2010), the entire contents of which are incorporated herein by reference. Shall.
- the present invention relates to a communication system, a control device, a processing rule setting method, a packet transmission method, and a program, and in particular, a communication system, a control device, and a communication device that realize communication by transferring a packet by a transfer node arranged in a network.
- the present invention relates to a method for setting processing rules used for transfer, a packet transmission method, 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 includes a secure channel for communication with the OpenFlow controller positioned as a control device, and operates according to a flow table that is appropriately added or rewritten from the OpenFlow controller.
- a flow table for each flow, a set of a rule that collates with a packet header, an action (Actions) that defines processing contents, and flow statistical information (Stats) is defined (see FIG. 10).
- FIG. 23 illustrates action names and action contents defined in Non-Patent Document 2.
- OUTPUT is an action to be output to a designated port (interface).
- SET_VLAN_VID to SET_TP_DST are actions for modifying the field of the packet header.
- the OpenFlow switch when it receives a 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 the source / destination of the received packet. To request the determination of the route of the packet based on the above, receive the flow entry that realizes this, and update the flow table. As described above, the OpenFlow switch performs packet transfer using an entry stored in the flow table as a processing rule.
- FlowKey a rule that matches the header information of the received packet.
- Non-Patent Documents 1 and 2 are incorporated herein by reference.
- the analysis according to the invention is given below.
- the time from receiving a request to responding increases.
- Non-Patent Document 1 describes, as an explanation of FIG. 2, that “all flow tables are managed by the same controller”, and there is an open flow protocol for improving performance and robustness. It is only described that the OpenFlow switch is allowed to receive control from two or more controllers (upper right of page 3). Also, Non-Patent Document 2 only describes that in “4.3 Connection Interruption”, when a certain OpenFlow switch loses sight of the controller, it tries to connect to the backup controller.
- the present invention has been made in view of the above-described circumstances, and the object of the present invention is to achieve a certain level of performance even when there are a large number of forwarding nodes as in the example of the OpenFlow switch. It is to provide a configuration that can be secured.
- a plurality of forwarding nodes including a packet processing unit configured to process a received packet based on a processing rule set in advance or received from a control device associated with the own device.
- a correspondence management unit that stores correspondence relationships between the plurality of forwarding nodes and the plurality of control devices, and a correspondence between the forwarding nodes and the control devices according to a predetermined trigger, and transfer of received packets.
- the other control devices associated with the forwarding nodes not associated with the own device include at least the forwarding nodes associated with the own device among the information on the forwarding route.
- a communication system having a plurality of control devices including a control device including a route transmission unit that transmits transfer route information.
- a plurality of forwarding nodes including a packet processing unit configured to process a received packet based on a processing rule set in advance or received from a control device associated with the own device.
- a correspondence management unit that stores a correspondence relationship between a plurality of forwarding nodes connected and a plurality of forwarding nodes, and a plurality of control devices, and a correspondence between each forwarding node and each control device according to a predetermined trigger. Refers to other control devices associated with the forwarding node that is not associated with the own device among the forwarding nodes on the forwarding route of the received packet, and corresponds to at least the own device among the forwarding route information.
- a first control device comprising: a path transfer unit that transmits transfer path information including the attached transfer node.
- a database storing a network topology in which a connection relationship between forwarding nodes including at least a forwarding node associated with the own device is described, and a path of the first control device
- a rule generation unit and a transmission unit configured to transmit the created processing rule to a transfer node on a transfer path of a received packet among transfer nodes associated with the own device.
- a packet processing unit for processing a received packet based on a plurality of control devices and a processing rule received in advance from a control device set in advance or associated with the own device.
- a processing rule setting method in a communication system including a plurality of forwarding nodes, wherein the first control device of the plurality of control devices is configured to perform the forwarding node and the control according to a predetermined trigger. Referring to the correspondence relationship with the device, out of the forwarding path information, the forwarding node on the forwarding path of the received packet is transferred to another control device associated with the forwarding node that is not associated with the own device.
- a step of transmitting transfer path information including at least a transfer node associated with the own apparatus, and a second control apparatus receiving the transfer path information includes a transfer node associated with the own apparatus.
- Create a processing rule for the forwarding nodes on the forwarding path of received packets by referring to the network topology that describes the connection relationship between each forwarding node including at least the forwarding nodes associated with the local device.
- a processing rule setting method including a transmission step. The method is tied to a specific machine, the controller and forwarding node described above.
- a program that is executed by a computer that constitutes the first and second control devices described above.
- This program can be recorded on a computer-readable storage medium. That is, the present invention can be embodied as a computer program product.
- a plurality of forwarding nodes including a packet processing unit configured to process a received packet based on a processing rule set in advance or received from a control device associated with the own device.
- a plurality of control devices including a correspondence management unit that stores correspondence relationships between the plurality of forwarding nodes and the plurality of control devices, and when receiving a received packet from a certain forwarding node, The control device associated with the forwarding node refers to the correspondence relationship between the plurality of forwarding nodes and the plurality of control devices, forwards the received packet, and corresponds to the terminal forwarding node on the forwarding path.
- a communication system is provided in which the attached control device transmits the new packet to a transfer node at the end of the transfer path and instructs the output of the new packet from a specified port.
- a packet processing unit for processing a received packet based on a plurality of control devices and a processing rule received in advance from a control device set in advance or associated with the own device.
- a packet transmission method in a communication system including a plurality of forwarding nodes, and when a received packet is forwarded from a certain forwarding node, a control device associated with the forwarding node on the forwarding path includes the plurality of forwarding nodes
- the transfer node is referred to and the control device associated with the terminal transfer node on the transfer path is configured to transfer the received packet with reference to the correspondence relationship between the transfer node and the plurality of control devices. Transmitting the new packet to a terminal forwarding node and instructing output of the new packet from a designated port.
- the method is tied to a specific machine, the controller and forwarding node described above.
- the present invention even when there are a large number of open flow switches, it is possible to ensure a certain level of performance.
- the reason is that a configuration in which a plurality of control devices are used and processing is distributed among the control devices is employed.
- FIG. 5 is a diagram in which an operation according to the sequence of FIG. 12 is added. It is a 2nd sequence diagram showing operation
- FIG. 5 is a diagram in which an operation according to the sequence of FIG. 14 is added.
- the communication system is a network in which the connection relationship of the forwarding nodes is described with respect to the forwarding nodes on the calculated forwarding path among the forwarding nodes connected to the own device.
- a plurality of control devices 100A to 100C that create and transmit a processing rule that determines a transfer destination of the received packet are connected to any of the plurality of control devices 100A to 100C, and are connected to the own device.
- a plurality of forwarding nodes 301A to 303A, 301B to 303B, and 301C to 303C each including a packet processing unit that processes a received packet based on a processing rule received from an associated control device.
- the reference numerals of the drawings attached to this summary are merely examples for facilitating understanding, and are not intended to be limited to the illustrated modes.
- At least one of the plurality of control devices 100A to 100C includes transfer nodes 301A to 303A, 301B to 303B, 301C to 303C, and control devices 100A to 100C.
- the correspondence management unit 16A that stores the correspondence relationship and a predetermined trigger such as reception of a packet whose processing rule is unknown from the forwarding node refers to the correspondence relationship between each forwarding node and each control device, and Among the transfer nodes on the transfer path, at least the self of the transfer path information with respect to other control apparatuses (for example, the control apparatuses 100B and 100C) associated with the transfer node that is not associated with the own apparatus.
- a route transfer unit 13 that transmits transfer route information including a transfer node associated with the device.
- a control device (for example, the control devices 100B and 100C) on the transfer path information receiving side has at least a transfer node associated with the own device as shown in FIG. Transfer of received packets among the transfer nodes associated with the own device based on the database (topology DB) 15 storing the network topology in which the connection relation between the transfer nodes is included and the received transfer path information
- a processing rule generation unit 18A that creates the processing rule with reference to the network topology with respect to a forwarding node on the route, and a forwarding node on the forwarding route of the received packet among forwarding nodes associated with the own device
- a transmission unit 17A that transmits the created processing rule is provided.
- the control device 100A in response to a request from a client node connected to the forwarding node 302A, the control device 100A sends a packet via the forwarding nodes 302A, 303A, 302B, 303B, 302C, and 303C indicated by the broken lines in FIG. Assume that the transfer path for transferring is calculated. At this time, the control device 100A creates and transmits a processing rule for realizing the transfer path to the transfer nodes 302A and 303A connected to the control device 100A.
- control device 100A refers to the correspondence relationship between each transfer node and each control device, and corresponds to the transfer nodes 301B to 303B and 301C to 303C that are not connected to the own device among the transfer nodes on the transfer path.
- Transfer route information for creating a processing rule is transmitted to the attached control devices 100B and 100C.
- the control devices 100B and 100C that have received the transfer route information, with respect to the transfer nodes 302B, 303B, 302C, and 303C on the transfer route among the transfer nodes connected to the own device based on the transfer route information, Create and send.
- control rules are set in all transfer nodes on the transfer route by the control devices 100B and 100C creating and transmitting the processing rule using the transfer route received from the control device 100A.
- the control device 100A transfers a packet via the transfer nodes 302A, 303A, 302C, and 303C indicated by broken lines in FIG. Is calculated.
- the control device 100A creates and transmits a processing rule for realizing the transfer path to the transfer nodes 302A and 303A connected to the control device 100A.
- the control device 100A refers to the correspondence relationship between each transfer node and each control device, and among the transfer nodes on the transfer path, controls associated with the transfer nodes 301C to 303C not connected to the own device.
- the transfer path information is transmitted to the device 100C.
- the control device 100C that has received the transfer route information creates and transmits the processing rule to the transfer nodes 302C and 303C on the transfer route among the transfer nodes connected to the own device based on the transfer route information. .
- control device 100B when a transfer route that does not pass through the control device 100B is created, transmission of transfer route information to the control device 100B is omitted. Also in this case, the control device 100C creates and transmits a processing rule using the transfer path received from the control device 100A, so that the processing rule is set for all transfer nodes on the transfer path.
- the following modes are possible. [Form 1] As in the communication system according to the first aspect.
- the plurality of control devices further includes: A database for storing a network topology in which a connection relationship between each forwarding node including at least a forwarding node associated with the own device is described; Based on the transfer route information received from the route transfer unit, the processing rule is created by referring to the network topology for the transfer node on the transfer route of the received packet among the transfer nodes associated with the own device.
- a processing rule generator to A transmission unit that transmits the created processing rule to a forwarding node on a forwarding path of a received packet among forwarding nodes associated with the own device; It is preferable to provide.
- a control device provided with the path transmission unit, A database for storing a network topology in which a connection relationship between each forwarding node including at least a forwarding node associated with the own device is described; It is preferable to include a route calculation unit that calculates a transfer route with reference to the network topology when a transmission request for a processing rule for a new packet is received from a transfer node connected to the own device.
- the control device associated with the forwarding node on the forwarding route forwards the new packet independently of the processing rule transmission processing, It is preferable that the control device associated with the transfer node at the end on the transfer path transmits the new packet to the transfer node at the end on the transfer path and instructs the output of the new packet from a designated port.
- the forwarding route information includes a processing rule to be transmitted to a forwarding node that is not associated with the own device, The control device that has received the transfer route information transmits the processing rule included in the transfer route information to the transfer node associated with the own device among the transfer nodes on the transfer route of the received packet. It is preferable.
- the transfer route is preferably a transfer route calculated by a combination of an arbitrarily selected start node and end node.
- [Form 7] When the transfer path is cached for a predetermined period and the same combination of the start node and the end node is cached, it is preferable to omit the transfer path calculation.
- [Form 8] When each of the plurality of control devices receives a transmission request for a processing rule for a new packet from the route transfer unit and a transfer node connected to the own device, the control devices refer to the network topology and transfer routes A route calculation unit for calculating The route transfer unit replaces the transfer route information with respect to the control device associated with the transfer node that receives the packet from the transfer node connected to the own device on the transfer route.
- the control device includes a data synchronization unit that obtains information of a node connected to the own device, It is preferable to update at least one of the connection relationship of each node or the correspondence relationship between each transfer node and each control device based on the obtained data.
- [Mode 10] As in the first control device according to the second aspect.
- [Form 11] As in the second control device according to the third aspect.
- FIG. 5 is a diagram showing a configuration of the first exemplary embodiment of the present invention.
- four open flow switches hereinafter referred to as “OFS”) 301A, 302A, 301B, and 302B and open flow controllers (hereinafter referred to as “OFC”) 100A and 100B are illustrated.
- OFS open flow switches
- OFC open flow controllers
- FIG. 5 is a schematic diagram for the sake of simple explanation of the present invention, and there is no limit to the number of OFSs and OFCs, and the same number of OFSs are connected to each OFC. There is no need to be.
- Node A and node D are devices such as user terminals and various service servers that transmit and receive packets.
- OFS 301A, 302A, 301B, 302B correspond to the forwarding nodes described above, and flow entries (rules + actions) set from OFCs 100A, 100B are held in the respective flow tables, and flow entries having rules that match the received packets. Perform the action.
- OFS 301A and 302A are connected to the OFC 100A and operate according to control from the OFC 100A.
- OFS 301B and 302B are connected to OFC 100B and operate in accordance with control from OFC 100B. More specifically, the OFS 301A and 302A, when no rule that matches the received packet is found in the flow table, creates a transfer path for the received packet and the flow entry (rule) for realizing the transfer path for the OFC 100A. + (Action) transmission (setting) is requested.
- the OFS 301B and 302B create a transfer route for the received packet and the flow entry (rule + action) for realizing the transfer route for the OFC 100B. Request transmission (setting).
- Such an OFS can be configured by adding the above function to each vendor's switch, as described in Non-Patent Documents 1 and 2.
- the OFCs 100A and 100B correspond to the control devices described above, and control them by transmitting (setting) flow entries (rules + actions) to the OFSs 301A, 302A, 301B, and 302B connected thereto. Further, it is assumed that the OFCs 100A and 100B of the present embodiment are connected and can transmit the transfer path information created by one to the other, as will be described later.
- FIG. 6 is a diagram illustrating a configuration of the OFC according to the first embodiment.
- the OFC 100 includes a packet transfer unit 11, a route calculation unit 12, a route transfer unit 13, an OFC communication unit 14, a topology DB 15, an OFS-OFC correspondence management unit 16, and an OFS communication unit. 17, a flow generation unit 18, and a route acceptance unit 19.
- the packet transfer unit 11 When there is no corresponding flow entry in OFS and the packet transfer unit 11 receives a processing rule (flow entry) transmission (setting) request, the packet transfer unit 11 transmits the processing rule (flow entry) of the processing rule (flow entry) via the inter-OFC communication unit 14. An operation of transmitting the packet attached to the transmission (setting) request to another OFC is performed.
- the route calculation unit 12 describes the connection relationship of the forwarding nodes stored in the topology DB 15 based on the packet output from the OFS communication unit 17 and the switch ID of the processing rule (flow entry) transmission (setting) request source.
- a transfer path of a series of flows including packets transferred from the OFS is calculated.
- Dijkstra's shortest route algorithm can be used. It is also possible to take into account the network traffic situation in the route calculation.
- the path transmission unit 13 outputs the transfer path and the received packet calculated by the path calculation unit 12 to the OFS-OFC correspondence management unit 16. Further, the path transmission unit 13 refers to the correspondence relationship between the OFS stored in the OFS-OFC correspondence management unit 16 and the OFC connected to the OFS, and transfers the path on the transfer path calculated by the path calculation unit 12. For the OFC connected to the OFS in the network (the OFC associated with the OFS on the transfer path), transfer path information including the transfer path calculated by the path calculation unit 12 and the received packet is transmitted between OFCs. The operation of transmitting via the unit 14 is performed.
- the transfer path information used here may be of any format as long as the flow generation unit 18 of another OFC can generate a processing rule (flow entry). It is also possible to list the processing rules (flow entries) to be set in the OFS.
- the inter-OFC communication unit 14 is connected to the inter-OFC communication unit 14 of another OFC, and exchanges packets and transfer path information attached to the flow entry transmission (setting) request.
- the topology DB (database) 15 stores a network topology that describes connection relationships of nodes (various service servers and external networks) including the OFS.
- FIG. 7 describes the connection relation of nodes including the OFC of FIG. 5 in a table format.
- “OFS; 302A” and the like actually store the MAC address, IP address, and the like of OFS; 302A.
- the OFCs 100A and 100B each hold the topology DB 15. However, the OFCs 100A and 100B may share the topology DB 15.
- the OFS-OFC correspondence management unit 16 stores the correspondence between the OFS and the OFC connected to the OFS, and transfers the transfer route and the received packet output from the route transfer unit 13 and the OFS connected to the own device. Information is output to the flow generator 18.
- FIG. 8 describes the correspondence between OFS and OFC in FIG. 5 in a table format.
- the OFS-OFC correspondence management unit 16 is provided independently of the topology DB 15, but the topology DB 15 and the OFS-OFC correspondence management unit 16 can be integrated.
- a field describing the OFC to be connected may be provided.
- the OFS communication unit 17 Since there is no flow entry corresponding to the received packet, the OFS communication unit 17 outputs a flow entry transmission (setting) request to the route calculation unit 12 together with the received packet transmitted from the OFS.
- the OFS communication unit 17 transfers the processing rule (flow entry) generated by the flow generation unit 18 to the OFS on the transfer path among the OFS (OFS associated with the own device) connected to the own device. Send and instruct the setting of processing rules (flow entry).
- the flow generation unit 18 Based on the transfer route (information) output from the OFS-OFC correspondence management unit 16 or the route acceptance unit 19 and the received packet, the flow generation unit 18 obtains information on the OFS connected to the own device and the network topology of the topology DB 15. Referring to the OFS connected to the own device, a processing rule (flow entry) to be set in the OFS (OFS associated with the own device) on the transfer path is generated.
- the route acceptance unit 19 outputs the transfer route information including the received packet received from another OFC to the flow generation unit 18 and performs an operation for generating a processing rule (flow entry).
- the unit 18 and the path acceptance unit 19 can be realized by a storage device provided in a computer constituting the OFC and a computer program that uses the storage device as hardware.
- FIG. 9 is a diagram showing a configuration of the OFS according to the first embodiment.
- the OFS 300 includes an OFC communication unit 31, a flow setting unit 32, a packet processing unit 33, and a flow table 34.
- OFS 300 is pre-set with an OFC to which the own device is connected (associated with the own device).
- the OFC communication unit 31 receives a processing rule (flow entry) from the OFC communication unit 17 of the OFC and outputs the processing rule to the flow setting unit 32. If there is no flow entry corresponding to the received packet from the packet processing unit 33, the OFC communication unit 31 Requesting the calculation of the transfer route to be applied to the received packet and the generation of a processing rule (flow entry) for realizing the transfer route.
- the flow setting unit 32 performs an operation of registering or updating the processing rule (flow entry) transmitted from the OFC via the OFC communication unit 31 in the flow table 34.
- the packet processing unit 33 refers to the flow table 34, searches for a processing rule (flow entry) having a rule that matches the header information of the received packet received from a node including another OFS, and processes that match the received packet.
- a processing rule flow entry having a rule that matches the header information of the received packet received from a node including another OFS.
- the processing content described in the action field of the rule (flow entry) is executed.
- the flow table 34 is a table that stores processing rules (flow entries) transmitted from the OFC via the OFC communication unit 31.
- FIG. 10 is a diagram showing the field configuration of the flow table 34. For example, for a flow having a feature in which the IP address of node A is described in the source IP address field (IP SA) and the IP address of node D is described in the destination IP address field (IP DA), the adjacent OFS Among these, by setting an action (“OUTPUT” in FIG. 23) to transfer from the interface (port) that transmits to the OFS according to the transfer path, the flow according to the flow path from the node A to the node D is set. Transfer is realized. In addition, it is possible to change the MAC address or IP address of a specific flow or to drop a specific flow by setting various actions in FIG. 23 or leaving the action field blank. .
- FIG. 11 is an example of processing rules (flow entries) set in OFS 301A, 302A, 301B, 302B.
- a transfer path for transferring a packet between the node A and the node D via the OFS 301A, 302A, 301B, 302B is set.
- the action of transferring the packet addressed from the node A to the node D in the forward direction (interface 2 (connected to the OFS 302A; see FIG. 7)) and the packet addressed from the node D to the node A are reversed.
- An action to be transferred in the direction (interface 1 (connected to node A; see FIG. 7)) is set.
- the processing rule (flow entry) in the forward direction and the reverse direction is set so that the packet transfer between the node A and the node D is performed on the transfer path described above. become.
- FIG. 12 is a sequence diagram showing the operation of the present embodiment.
- a packet (new packet) destined to node D that does not match any of the processing rules (flow entries) held in the flow table 34 of OFS 301A is transmitted from node A connected to OFS 301A. It is assumed that
- the OFS 301A when receiving a new packet (step S001), the OFS 301A requests the OFC 100A connected to the own apparatus to transmit (set) a processing rule (flow entry) including the new packet (step S002).
- a processing rule (flow entry) held in the flow table 34 of the OFS 301A is received in step S001, the following processing is not performed and is shown at the bottom of FIG. As described above, packet transfer processing according to node processing rules is performed.
- the OFC 100A requested to transmit (set) the processing rule (flow entry) refers to the network topology in the topology DB 15 based on the node D that is the destination of the new packet and the OFS 301A that is the request source. Then, a transfer path of a series of flows including the packet transferred from the OFS 301A is calculated (step S003). Here, it is assumed that a transfer path for transferring packets addressed from node A to node D in the order of OFS 301A, 302A, 301B, 302B is calculated.
- the OFC 100A refers to the correspondence relationship between the OFS and the OFC stored in the OFS-OFC correspondence management unit 16, and determines the OFS that is not connected to the own device among the OFS on the calculated transfer path.
- the associated OFC is searched (step S004).
- the OFCs 100B connected to the OFSs 301B and 302B not connected to the OFC 100A in FIG. 5 are searched.
- the OFC 100A transmits the transfer path information including the transfer path calculated in step S003 and the received packet to the searched OFC 100B (step S005).
- the OFC 100A refers to the information of the OFS connected to the own device and the network topology of the topology DB 15, and among the OFS connected to the own device, the processing rule (flow entry) to be set in the OFS on the transfer path ) And transmitted (set) to the OFS 301A, 302A (step S006-1).
- the OFC 100B refers to the information of the OFS connected to the own device and the network topology of the topology DB 15, and the processing rule (flow) to be set in the OFS on the transfer path among the OFS connected to the own device. Entry) is generated and transmitted (set) to the OFS 301B, 302B (step S006-2).
- the OFS 301A, 302A, 301B, 302B performs processing for registering or updating the received processing rule (flow entry) in the flow table 34 (step S007).
- the processing rule corresponding to the calculated transfer path is set in each OFS 301A, 302A, 301B, 302B (see FIG. 11), and packet transfer between node A and node B becomes possible.
- the OFC transmits (sets) the processing rule (flow entry) simultaneously to the OFS on the transfer path among the OFS connected to the own device.
- processing rules (flow entries) may be transmitted (set) only to some OFS (for example, upstream OFS on the transfer path).
- each OFC transmits (sets) a processing rule (flow entry) after receiving a transmission (setting) request for the processing rule (flow entry) from each OFS.
- FIG. 13 is a diagram in which the operation according to the sequence of FIG. 12 is added to the configuration diagram of FIG.
- the OFC 100A calculates a transfer path in response to reception of a processing rule transmission (setting) request for a packet from the OFS 301A, and sets the result as a processing rule (flow entry) for the OFS 301A and 302A. Further, the OFCs 301A and 302B process rules (flow entry) are set by the OFC 100A transmitting the transfer path information to the OFC 100B.
- the number of OFS / OFCs is not particularly limited, and when there is another OFS on the transfer path, the transfer path to the OFC connected to the OFS Information can be transmitted and processing rules (flow entries) can be set.
- both of the OFCs 100A and 100B in FIG. 13 do not have to include the route calculation unit 12 and the route acceptance unit 19.
- the OFC 100A receives a new packet, the OFC 100A includes the route calculation unit 12 in the OFC 100A. It is also possible to adopt a configuration in which the route acceptance unit 19 is arranged in the OFC 100B.
- FIG. 14 is a sequence diagram showing a flow of bypass transfer of a new packet in the present embodiment. Since the flow from step S001 to S003 in FIG. 14 is the same as that from step S001 to S003 in FIG. 12, a series of flow performed after calculating the transfer path will be described below.
- the OFC 100A that has calculated the transfer path searches for the OFS connected to the destination node on the calculated transfer path (the end OFS on the transfer path), and then the OFS-OFC correspondence management unit The OFC associated with the OFS is searched with reference to the correspondence relationship between the OFS and the OFC held in FIG. 16 (step S104).
- a transfer path for transferring packets addressed from node A to node D in the order of OFS 301A, 302A, 301B, 302B is calculated.
- the OFS at the end of the transfer path is the OFS 302B, and the OFC 100B connected to the OFS 302B is searched.
- the OFC 100A requests the searched OFC 100B to transmit the new packet received in Step S001 and transmit it from the designated interface of the subordinate OFS 302B (Step S105).
- the OFC 100B requests the subordinate OFS 302B to transmit the new packet from the designated interface (step S106).
- the OFS 302B transmits the new packet from the designated interface in accordance with the instruction from the OFC 100B (step S107).
- Various methods are conceivable as a mechanism for sending a new packet to the designated interface by the OFS 302B.
- a processing rule (flow entry) for outputting a packet having specific header information from the designated interface is registered in each OFS. Then, the OFC 100B may perform the process of writing the header information in the new packet.
- the packet (new packet) that triggers the calculation of the transfer path can be transferred via OFC without going through the OFS on the way, and the packet can be bypassed and output at the end.
- the above-described series of procedures can be performed independently of transmission (setting) of processing rules (flow entries) as shown in FIG. 15, and does not wait for setting of processing rules (flow entries) by itself.
- the new packet can be transmitted to the destination node, but it may be performed in parallel with the transmission (setting) of the processing rule (flow entry) shown in FIG.
- the processing of steps S104 and S105 of FIG. 14 can be inserted before and after the processing of steps S004 to S006-1 of FIG. 12, and can be executed by the OFC 100A.
- the number of OFS / OFC is not particularly limited, and packets can be transmitted without going through OFS in the middle of the transfer path.
- the first embodiment of the present invention has been described above by exemplifying the transfer path in which packets addressed from the node A to the node D are transferred in the order of the OFS 301A, 302A, 301B, 302B. It is not limited to. For example, when a transfer path for transferring a packet from the OFS 301A to the node connected to the OFS 302B via the OFS 302A and 302B is calculated, the operation is substantially the same as described above.
- FIG. 16 is a diagram illustrating the configuration of the OFC 101 according to the second embodiment of this invention. The difference from the OFC 100 of the first embodiment shown in FIG. 6 is that a data synchronization unit 20 for obtaining information of nodes connected to the own apparatus is added.
- the data synchronization unit 20 collects devices and configuration information transmitted from each node on the network using LLDP (Link Layer Discovery Protocol) and various vendor protocols, and connects between the nodes. The physical connection relationship is obtained, and the result is reflected on the topology DB 15 and the OFS-OFC correspondence management unit 16. Furthermore, instead of mounting the data synchronization unit 20 on all OFCs, the data synchronization unit 20 of a certain OFC can change the topology DB 15 of other OFCs and the OFS-OFC correspondence management unit 16 via the OFC communication unit 14. A configuration for updating can also be adopted.
- LLDP Link Layer Discovery Protocol
- an appropriate transfer path is set even when a change is made to the network configuration or when a failure of each node occurs. It is possible to create and distribute a processing rule (flow entry) based on the transfer route.
- FIG. 17 is a diagram illustrating a configuration of the OFC 102 according to the third embodiment of this invention. A difference from the OFC 100 of the first embodiment shown in FIG. 6 is that a route storage unit 22 is added to the route calculation unit 12.
- the route storage unit 22 is used to store the transfer route calculated by the route calculation unit 12 until a predetermined timing arrives.
- FIG. 18 is a sequence diagram showing the operation of the present embodiment.
- a packet (new packet) destined for node D that does not match any of the processing rules (flow entries) held in the flow table 34 of OFS 301A is transmitted from node A connected to OFS 301A. It is assumed that
- step S001 The operation until the OFS 301A receives a new packet (step S001) and requests the OFC 100A connected to the own apparatus to transmit (set) a processing rule (flow entry) including the new packet (step S002).
- step S001 a packet that conforms to the processing rule (flow entry) held in the flow table 34 of the OFS 301A is received in step S001, the following processing is not performed.
- packet transfer processing is performed in accordance with node processing rules.
- the OFC 100A requested to transmit (set) the processing rule (flow entry) refers to the path storage unit 22 before calculating the transfer path by the path calculation unit 12, and has the same characteristics ( For example, transfer path information having a packet destined for node D from OFS 301A is searched (step S201).
- the OFC 100A determines the transfer path information. The calculation is omitted and the operations after step S004 are performed.
- the OFC 100A Based on the node D as the destination of the new packet and the OFS 301A of the request source, the transfer path of a series of flows including the packet transferred from the OFS 301A is calculated with reference to the network topology of the topology DB 15 (step S202).
- the OFC 100A stores the calculated transfer path along with the characteristics of the new packet in the path storage unit 22 (step S203).
- the new packet bypass transfer procedure shown in FIG. 14 can be executed in parallel. Also in this case, the processing of steps S104 and S105 of FIG. 14 can be inserted before and after the processing of steps S004 to S006-1 of FIG. 18 and can be executed by the OFC 100A.
- FIG. 19 is a diagram showing the configuration of the OFC 103 according to the fourth embodiment of the present invention. 6 differs from the OFC 100 of the first embodiment shown in FIG. 6 in that a route storage unit 22 is added to the route calculation unit 12 and a speculation for creating and registering a transfer route in the route storage unit 22 This is the point that an automatic route calculation unit 23 is added.
- the route storage unit 22 is used to store the transfer route calculated by the route calculation unit 12 until a predetermined timing arrives.
- the speculative path calculation unit 23 refers to the topology DB 15 at a predetermined timing such as when the OFC is activated for the first time or when the load is low, when the network topology changes, or at a predetermined time interval, and is from a certain OFS.
- the transfer route to the node is calculated and registered in the route storage unit 22.
- “speculative” means that a processing rule (flow entry) is generated in advance without waiting for a transmission (setting) request for the processing rule (flow entry).
- FIG. 20 is a sequence diagram showing the operation of the present embodiment.
- a packet (new packet) destined for node D that does not match any of the processing rules (flow entries) held in the flow table 34 of OFS 301A is transmitted from node A connected to OFS 301A. It is assumed that
- the speculative path calculation unit 23 of the OFCs 100A and 100B performs the speculative transfer path at a predetermined timing such as when the OFC is activated for the first time, when the load is low, when the network topology is changed, or at regular intervals. Is calculated (steps S300-1 and S300-2).
- step S001 The operation until the OFS 301A receives a new packet (step S001) and requests the OFC 100A connected to the own apparatus to transmit (set) a processing rule (flow entry) including the new packet (step S002).
- step S001 a packet that conforms to the processing rule (flow entry) held in the flow table 34 of the OFS 301A is received in step S001, the following processing is not performed.
- packet transfer processing is performed according to the node processing rules.
- the OFC 100A requested to transmit (set) the processing rule (flow entry) refers to the path storage unit 22 before calculating the transfer path by the path calculation unit 12, and has the same characteristics ( For example, transfer path information having a packet destined for node D from OFS 301A is searched (step S301).
- the OFC 100A determines the transfer path information. The calculation is omitted and the operations after step S004 are performed.
- the OFC 100A Based on the node D as the destination of the new packet and the OFS 301A of the request source, the transfer path of a series of flows including the packet transferred from the OFS 301A is calculated with reference to the network topology of the topology DB 15 (step S302).
- the OFC 100A stores the calculated transfer path along with the characteristics of the new packet in the path storage unit 22 (step S303).
- the new packet bypass transfer procedure shown in FIG. 14 can be executed in parallel. Also in this case, it is possible to insert the processes of steps S104 and S105 of FIG. 14 before and after the processes of steps S004 to S006-1 of FIG. 18 and cause the OFC 100A to execute them.
- FIG. 21 is a diagram showing a schematic operation of the fifth embodiment of the present invention.
- 13 used in the description of the first embodiment is that the OFC 100A transmits not a transfer path information but an OFS (301B) from which the OFC 100B calculates a transfer path and a new packet.
- the OFC 100B creates a transfer path from the OFS 301B designated as the start point to the destination node (node D), and transmits (sets) a transfer storage (flow entry) corresponding to the transfer path to the OFS connected to the own apparatus. .
- FIG. 22 is a sequence diagram showing the operation of the present embodiment.
- step S001 The operation until the OFS 301A receives a new packet (step S001) and requests the OFC 100A connected to the own apparatus to transmit (set) a processing rule (flow entry) including the new packet (step S002).
- step S001 a packet that conforms to the processing rule (flow entry) held in the flow table 34 of the OFS 301A is received in step S001, the following processing is not performed.
- packet transfer processing is performed according to the node processing rules.
- the OFC 100A requested to transmit (set) the processing rule (flow entry) refers to the network topology in the topology DB 15 based on the node D that is the destination of the new packet and the OFS 301A that is the request source. Then, a transfer path of a series of flows including the packet transferred from the OFS 301A is calculated (step S403).
- the OFC 100A partially shows which OFS connected to the own device transfers and outputs from which interface without calculating all the transfer routes from the node A to the node D. A simple transfer path.
- the OFC 100A refers to the correspondence relationship between the OFS and the OFC stored in the OFS-OFC correspondence management unit 16, and determines the OFS (connected to the output interface of the OFS serving as the termination on the transfer path.
- the OFC connected to the transfer path uncalculated section start point OFS) is searched (step S404).
- the OFC 100B connected to the OF 301B in FIG. 21 is searched.
- the OFC 100A transmits to the OFC 100B the OFS connected to the output interface of the OFS that is the end of the calculated transfer path (the start point OFS of the transfer path non-calculated section) and the new packet received in step S001 ( Step S405).
- the OFC 100B that has received the start point OFS of the transfer route non-calculated section and the new packet received in step S001 is based on the node D that is the destination of the new packet and the OFS 301B that is designated as the start point by the route calculation unit 12.
- a transfer route by the OFS group connected to the own device is calculated (step S 406).
- the OFC 100B calculates a transfer path for transferring from the OFS 301B to the OFS 302B and transferring from the interface # 2 of the OFS 302B to the node D.
- the OFC 100A refers to the information of the OFS connected to the own device and the network topology of the topology DB 15, and among the OFS connected to the own device, the processing rule (flow entry) to be set in the OFS on the transfer path ) And transmitted (set) to the OFS 301A, 302A (step S407-1).
- the OFC 100B refers to the information of the OFS connected to the own device and the network topology of the topology DB 15, and the processing rule (flow) to be set in the OFS on the transfer path among the OFS connected to the own device. Entry) is generated and transmitted (set) to the OFS 301B, 302B (step S407-2).
- the OFS 301A, 302A, 301B, 302B performs processing for registering or updating the received processing rule (flow entry) in the flow table 34 (step S007).
- the processing rule corresponding to the calculated transfer path is set in each OFS 301A, 302A, 301B, 302B (see FIG. 11), and packet transfer between node A and node B becomes possible.
- the topology DB 15 can be distributed and arranged.
- this embodiment can be configured in combination with the second to fourth embodiments described above.
- the OFC 100A when combined with the third embodiment, can use a cached transfer route, and the OFC 100B and the subsequent embodiments can perform a modified route calculation.
- the OFC 100A in combination with the fourth embodiment, can use a speculative transfer path calculated in advance, and can be modified such that the OFC 100B or later performs path calculation.
- each OFC has been described as including the path calculation unit 12.
- OFC does not generate a transfer path calculation process. Therefore, the OFC route calculation unit 12 in which the transfer route calculation process does not occur regularly can be omitted. For the same reason, the path accepting unit 19 can be omitted from the OFC that does not receive the transfer path information.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
多数の転送ノードが存在する場合においても、一定以上のパフォーマンスを確保できる構成の提供。通信システムは、複数の制御サーバと、予め設定され、または、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノードと、を含む。前記複数の制御装置のうちの第1の制御装置は、所定の契機により、前記各転送ノードと前記各制御装置との対応関係を参照し、当該受信パケットの転送経路上の転送ノードのうち、自装置に対応付けられていない転送ノードに対応付けられた他の制御装置に対して、転送経路の情報のうち、少なくとも自装置に対応付けられた転送ノードを含む転送経路情報を送信する。前記転送経路情報を受信した第2の制御サーバは、前記転送経路情報に基づいて自装置に対応付けられた転送ノードのうち前記転送経路上の転送ノードに対し、前記処理規則を作成して送信する。
Description
[関連出願についての記載]
本発明は、日本国特許出願:特願2010-000740号(2010年1月5日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラムに関し、特に、ネットワークに配置された転送ノードによりパケットを転送して通信を実現する通信システム、制御装置、前記転送に用いる処理規則の設定方法、パケットの送信方法およびプログラムに関する。
本発明は、日本国特許出願:特願2010-000740号(2010年1月5日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラムに関し、特に、ネットワークに配置された転送ノードによりパケットを転送して通信を実現する通信システム、制御装置、前記転送に用いる処理規則の設定方法、パケットの送信方法およびプログラムに関する。
近年、オープンフロー(OpenFlow)という技術が提案されている(非特許文献1参照)。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。転送ノードとして機能するオープンフロースイッチは、制御装置と位置付けられるオープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルールと、処理内容を定義したアクション(Actions)と、フロー統計情報(Stats)との組が定義される(図10参照)。
図23に、非特許文献2に定義されているアクション名とアクションの内容を例示する。OUTPUTは、指定ポート(インタフェース)に出力するアクションである。SET_VLAN_VIDからSET_TP_DSTは、パケットヘッダのフィールドを修正するアクションである。
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルール(FlowKey)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを処理規則として用いてパケット転送を行っている。
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成21年12月14日検索]、インターネット〈URL:http://www.openflowswitch.org//documents/openflow-wp-latest.pdf〉
"OpenFlow Switch Specification" Version 0.9.0. (Wire Protocol 0x98) [平成21年12月14日検索] 、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-spec-v0.9.0.pdf〉
上記非特許文献1及び2の全開示内容はその引用をもって本書に繰込み記載する。以下に本発明による分析を与える。
しかしながら、ネットワークに多数のオープンフロースイッチが接続されている場合、オープンフローコントローラにおける経路の計算およびその結果を踏まえたフローテーブルのエントリの配布に要する処理量が大きくなり、オープンフロースイッチからの経路作成要求を受けてから応答までの時間が増大してしまうという問題点がある。
しかしながら、ネットワークに多数のオープンフロースイッチが接続されている場合、オープンフローコントローラにおける経路の計算およびその結果を踏まえたフローテーブルのエントリの配布に要する処理量が大きくなり、オープンフロースイッチからの経路作成要求を受けてから応答までの時間が増大してしまうという問題点がある。
この点に関し、非特許文献1には、そのFigure2の説明として、「すべてのフローテーブルは同一のコントローラーによって管理される」と記載され、オープンフロープロトコルでは、パフォーマンスやロバスト性を向上させるため、あるオープンフロースイッチが、2以上のコントローラから制御を受けることも許容されていると記載されているに止まっている(3頁右上)。また、非特許文献2にも、「4.3 Connection Interruption」において、あるオープンフロースイッチがコントローラを見失ってしまったような場合に、バックアップのコントローラに接続を試みることが記載されているに止まる。
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、上記オープンフロースイッチの例のように、多数の転送ノードが存在する場合においても、一定以上のパフォーマンスを確保できる構成を提供することにある。
本発明の第1の視点によれば、予め設定され、または、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノードと、前記複数の転送ノードと、複数の制御装置との対応関係を記憶する対応管理部と、所定の契機により、前記各転送ノードと前記各制御装置との対応関係を参照し、受信パケットの転送経路上の転送ノードのうち、自装置に対応付けられていない転送ノードに対応付けられた他の制御装置に対して、転送経路の情報のうち、少なくとも自装置に対応付けられた転送ノードを含む転送経路情報を送信する経路伝達部と、を備える制御装置を含む複数の制御装置と、を有する通信システムが提供される。
本発明の第2の視点によれば、予め設定され、または、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノードと接続され、前記複数の転送ノードを含む転送ノード群と、複数の制御装置との対応関係を記憶する対応管理部と、所定の契機により、前記各転送ノードと前記各制御装置との対応関係を参照し、受信パケットの転送経路上の転送ノードのうち、自装置に対応付けられていない転送ノードに対応付けられた他の制御装置に対して、転送経路の情報のうち、少なくとも自装置に対応付けられた転送ノードを含む転送経路情報を送信する経路伝達部と、を備える第1の制御装置が提供される。
本発明の第3の視点によれば、少なくとも自装置に対応付けられた転送ノードを含む各転送ノード間の接続関係が記述されたネットワークトポロジを記憶するデータベースと、前記第1の制御装置の経路伝達部から受信した転送経路情報に基づいて、自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対し、前記ネットワークトポロジを参照して前記処理規則を作成する処理規則生成部と、前記作成した処理規則を自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対して送信する送信部と、を備え、上記した第1の制御装置から受信した前記転送経路情報に基づいて自装置に接続された転送ノードのうち転送経路上の転送ノードに対し、前記処理規則を作成して送信する第2の制御装置が提供される。
本発明の第4の視点によれば、複数の制御装置と、予め設定され、または、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノードと、を含む通信システムにおける前記処理規則の設定方法であって、前記複数の制御装置のうちの第1の制御装置が、所定の契機により、前記各転送ノードと前記各制御装置との対応関係を参照し、受信パケットの転送経路上の転送ノードのうち、自装置に対応付けられていない転送ノードに対応付けられた他の制御装置に対して、転送経路の情報のうち、少なくとも自装置に対応付けられた転送ノードを含む転送経路情報を送信するステップと、前記転送経路情報を受信した第2の制御装置が、自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対して、少なくとも自装置に対応付けられた転送ノードを含む各転送ノード間の接続関係が記述されたネットワークトポロジを参照して処理規則を作成し、送信するステップとを含む処理規則の設定方法が提供される。本方法は、上記した制御装置および転送ノードという、特定の機械に結びつけられている。
本発明の第5の視点によれば、上記した第1、第2の制御装置を構成するコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
本発明の第6の視点によれば、予め設定され、または、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノードと、前記複数の転送ノードと、複数の制御装置との対応関係を記憶する対応管理部を備える複数の制御装置と、を含み、ある転送ノードから受信パケットの転送を受けた場合、転送経路上の転送ノードに対応付けられた制御装置が、前記複数の転送ノードと複数の制御装置との対応関係を参照して、前記受信パケットを転送していき、前記転送経路上の終端の転送ノードに対応付けられた制御装置が、転送経路上の終端の転送ノードに前記新規パケットを送信し、指定のポートから前記新規パケットの出力を指示する通信システムが提供される。
本発明の第7の視点によれば、複数の制御装置と、予め設定され、または、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノードと、を含む通信システムにおけるパケットの送信方法であって、ある転送ノードから受信パケットの転送を受けた場合、転送経路上の転送ノードに対応付けられた制御装置が、前記複数の転送ノードと複数の制御装置との対応関係を参照して、前記受信パケットを転送していくステップと、前記転送経路上の終端の転送ノードに対応付けられた制御装置が、転送経路上の終端の転送ノードに前記新規パケットを送信し、指定のポートから前記新規パケットの出力を指示するステップと、を含む通信方法が提供される。本方法は、上記した制御装置および転送ノードという、特定の機械に結びつけられている。
本発明によれば、多数のオープンフロースイッチが存在する場合においても、一定以上のパフォーマンスを確保することが可能になる。その理由は、複数の制御装置を用いるとともに、当該制御装置間に処理を分散させる構成を採用したことにある。
はじめに本発明の概要について、図1~図4を参照して説明する。本発明に係る通信システムは、図1に示すように、それぞれ自装置に接続された転送ノードのうち、算出された転送経路上の転送ノードに対し、前記転送ノードの接続関係が記述されたネットワークトポロジを参照して、受信パケットの転送先を定めた処理規則を作成して送信する複数の制御装置100A~100Cと、それぞれが前記複数の制御装置100A~100Cのいずれかと接続され、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノード301A~303A、301B~303B、301C~303Cと、を含んで構成される。なお、この概要に付記した図面参照符号は、専ら理解を助けるための例示であり、図示の態様に限定することを意図するものではない。
前記複数の制御装置100A~100Cの少なくとも一つ(例えば、制御装置100A)は、図2に示すように、転送ノード301A~303A、301B~303B、301C~303Cと、制御装置100A~100Cとの対応関係を記憶する対応管理部16Aと、転送ノードからの処理規則が不明なパケットの受信等の所定の契機により、前記各転送ノードと前記各制御装置との対応関係を参照し、受信パケットの転送経路上の転送ノードのうち、自装置に対応付けられていない転送ノードに対応付けられた他の制御装置(例えば、制御装置100B、100C)に対して、転送経路の情報のうち、少なくとも自装置に対応付けられた転送ノードを含む転送経路情報を送信する経路伝達部13と、を備える。
前記複数の制御装置100A~100Cのうち、転送経路情報の受信側となる制御装置(例えば、制御装置100B、100C)は、図3に示すように、少なくとも自装置に対応付けられた転送ノードを含む各転送ノード間の接続関係が記述されたネットワークトポロジを記憶するデータベース(トポロジDB)15と、受信した転送経路情報に基づいて、自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対し、前記ネットワークトポロジを参照して前記処理規則を作成する処理規則生成部18Aと、自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対して、前記作成した処理規則を送信する送信部17Aと、を備える。
ここで例えば、制御装置100Aが、転送ノード302Aに接続されたあるクライアントノードからの要求に応じて、図1の破線に示す転送ノード302A、303A、302B、303B、302C、303Cを経由してパケットを転送する転送経路が算出されたものとする。このとき、制御装置100Aは、自装置に接続されている転送ノード302A、303Aに対し、前記転送経路を実現する処理規則を作成して送信する。さらに、制御装置100Aは、各転送ノードと各制御装置との対応関係を参照し、前記転送経路上の転送ノードのうち、自装置に接続されていない転送ノード301B~303B、301C~303Cに対応付けられた制御装置100B、100Cに対して、処理規則を作成するための転送経路情報を送信する。転送経路情報を受信した制御装置100B、100Cは、前記転送経路情報に基づいて自装置に接続された転送ノードのうち前記転送経路上の転送ノード302B、303B、302C、303Cに対し、前記処理規則を作成して送信する。
以上により、制御装置100B、100Cが、制御装置100Aから受け取った転送経路を用いて、処理規則を作成・送信することで、転送経路上のすべての転送ノードに処理規則が設定される。
同様に図4に示すように、別のクライアントノードからの要求に応じて、制御装置100Aが、図4の破線に示す転送ノード302A、303A、302C、303Cを経由してパケットを転送する転送経路が算出したものとする。このとき、制御装置100Aは、自装置に接続されている転送ノード302A、303Aに対し、前記転送経路を実現する処理規則を作成して送信する。さらに、制御装置100Aは、各転送ノードと各制御装置との対応関係を参照し、前記転送経路上の転送ノードのうち、自装置に接続されていない転送ノード301C~303Cに対応付けられた制御装置100Cに対して、転送経路情報を送信する。転送経路情報を受信した制御装置100Cは、前記転送経路情報に基づいて自装置に接続された転送ノードのうち前記転送経路上の転送ノード302C、303Cに対し、前記処理規則を作成して送信する。
以上のように、制御装置100Bを経由しない転送経路が作成された場合には、制御装置100Bに対する転送経路情報の送信は省略される。この場合も、制御装置100Cが、制御装置100Aから受け取った転送経路を用いて、処理規則を作成・送信することで、転送経路上のすべての転送ノードに処理規則が設定される。
本発明において以下の形態が可能である。
[形態1]
前記第1の視点に記載の通信システムのとおり。
[形態2]
前記複数の制御装置は、さらに、
少なくとも自装置に対応付けられた転送ノードを含む各転送ノード間の接続関係が記述されたネットワークトポロジを記憶するデータベースと、
前記経路伝達部から受信した転送経路情報に基づいて、自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対し、前記ネットワークトポロジを参照して前記処理規則を作成する処理規則生成部と、
自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対して、前記作成した処理規則を送信する送信部と、
を備えることが好ましい。
[形態3]
前記経路伝達部を備える制御装置は、
少なくとも自装置に対応付けられた転送ノードを含む各転送ノード間の接続関係が記述されたネットワークトポロジを記憶するデータベースと、
自装置に接続されている転送ノードから、新規パケットについての処理規則の送信要求を受けた場合、前記ネットワークトポロジを参照して、転送経路を算出する経路算出部とを備えることが好ましい。
[形態4]
前記経路算出部を備える制御装置を起点として、前記転送経路上の転送ノードに対応付けられた制御装置が、処理規則の送信処理とは独立して、前記新規パケットを転送していき、
前記転送経路上の終端の転送ノードに対応付けられた制御装置が、転送経路上の終端の転送ノードに前記新規パケットを送信し、指定のポートから前記新規パケットの出力を指示することが好ましい。
[形態5]
前記転送経路情報には、前記自装置に対応付けられていない転送ノードに送信する処理規則が含まれており、
前記転送経路情報を受信した制御装置は、受信パケットの転送経路上の転送ノードのうち、自装置に対応付けられた転送ノードに対して、前記転送経路情報に含まれている処理規則を送信することが好ましい。
[形態6]
前記転送経路は、任意に選択した起点ノードと終点ノードの組み合わせで算出しておいた転送経路とすることが好ましい。
[形態7]
前記転送経路を所定期間キャッシュし、同一の起点ノードと終点ノードの組み合わせがキャッシュされている場合、転送経路の算出を省略することが好ましい。
[形態8]
前記複数の制御装置は、それぞれ、前記経路伝達部と、自装置に接続されている転送ノードから、新規パケットについての処理規則の送信要求を受けた場合、前記ネットワークトポロジを参照して、転送経路を算出する経路算出部と、を備えており、
前記経路伝達部は、前記転送経路上の自装置に接続されている転送ノードから、パケットを受信することになる転送ノードに対応付けられている制御装置に対して、前記転送経路情報に代えて、前記制御装置に対応付けられている転送ノードによる転送経路を計算するための始点と、前記新規パケットを送信し、
前記始点および新規パケットを受信した制御装置において、前記始点および新規パケットによる転送経路の再計算と処理規則の作成・送信を行わせることが好ましい。
[形態9]
前記制御装置は、自装置に接続されているノードの情報を入手するデータ同期部を備え、
前記入手したデータに基づいて、各ノードの接続関係または各転送ノードと各制御装置との対応関係の少なくとも一方を更新することが好ましい。
[形態10]
前記第2の視点に記載の第1の制御装置のとおり。
[形態11]
前記第3の視点に記載の第2の制御装置のとおり。
[形態12]
前記第4の視点に記載の処理規則の設定方法のとおり。
[形態13]
前記第5の視点に記載のプログラムのとおり。
[形態14]
前記第6の視点に記載の通信システムのとおり。
[形態15]
前記第7の視点に記載の通信方法のとおり。
なお、上記第2~第7の視点に記載の第1、第2の制御装置、処理規則の設定方法、プログラム、通信システムおよび通信方法は、形態1の通信システムと同様に、それぞれの構成要素ないしステップについて、形態2~形態9の内容に展開することが可能である。
本発明において以下の形態が可能である。
[形態1]
前記第1の視点に記載の通信システムのとおり。
[形態2]
前記複数の制御装置は、さらに、
少なくとも自装置に対応付けられた転送ノードを含む各転送ノード間の接続関係が記述されたネットワークトポロジを記憶するデータベースと、
前記経路伝達部から受信した転送経路情報に基づいて、自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対し、前記ネットワークトポロジを参照して前記処理規則を作成する処理規則生成部と、
自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対して、前記作成した処理規則を送信する送信部と、
を備えることが好ましい。
[形態3]
前記経路伝達部を備える制御装置は、
少なくとも自装置に対応付けられた転送ノードを含む各転送ノード間の接続関係が記述されたネットワークトポロジを記憶するデータベースと、
自装置に接続されている転送ノードから、新規パケットについての処理規則の送信要求を受けた場合、前記ネットワークトポロジを参照して、転送経路を算出する経路算出部とを備えることが好ましい。
[形態4]
前記経路算出部を備える制御装置を起点として、前記転送経路上の転送ノードに対応付けられた制御装置が、処理規則の送信処理とは独立して、前記新規パケットを転送していき、
前記転送経路上の終端の転送ノードに対応付けられた制御装置が、転送経路上の終端の転送ノードに前記新規パケットを送信し、指定のポートから前記新規パケットの出力を指示することが好ましい。
[形態5]
前記転送経路情報には、前記自装置に対応付けられていない転送ノードに送信する処理規則が含まれており、
前記転送経路情報を受信した制御装置は、受信パケットの転送経路上の転送ノードのうち、自装置に対応付けられた転送ノードに対して、前記転送経路情報に含まれている処理規則を送信することが好ましい。
[形態6]
前記転送経路は、任意に選択した起点ノードと終点ノードの組み合わせで算出しておいた転送経路とすることが好ましい。
[形態7]
前記転送経路を所定期間キャッシュし、同一の起点ノードと終点ノードの組み合わせがキャッシュされている場合、転送経路の算出を省略することが好ましい。
[形態8]
前記複数の制御装置は、それぞれ、前記経路伝達部と、自装置に接続されている転送ノードから、新規パケットについての処理規則の送信要求を受けた場合、前記ネットワークトポロジを参照して、転送経路を算出する経路算出部と、を備えており、
前記経路伝達部は、前記転送経路上の自装置に接続されている転送ノードから、パケットを受信することになる転送ノードに対応付けられている制御装置に対して、前記転送経路情報に代えて、前記制御装置に対応付けられている転送ノードによる転送経路を計算するための始点と、前記新規パケットを送信し、
前記始点および新規パケットを受信した制御装置において、前記始点および新規パケットによる転送経路の再計算と処理規則の作成・送信を行わせることが好ましい。
[形態9]
前記制御装置は、自装置に接続されているノードの情報を入手するデータ同期部を備え、
前記入手したデータに基づいて、各ノードの接続関係または各転送ノードと各制御装置との対応関係の少なくとも一方を更新することが好ましい。
[形態10]
前記第2の視点に記載の第1の制御装置のとおり。
[形態11]
前記第3の視点に記載の第2の制御装置のとおり。
[形態12]
前記第4の視点に記載の処理規則の設定方法のとおり。
[形態13]
前記第5の視点に記載のプログラムのとおり。
[形態14]
前記第6の視点に記載の通信システムのとおり。
[形態15]
前記第7の視点に記載の通信方法のとおり。
なお、上記第2~第7の視点に記載の第1、第2の制御装置、処理規則の設定方法、プログラム、通信システムおよび通信方法は、形態1の通信システムと同様に、それぞれの構成要素ないしステップについて、形態2~形態9の内容に展開することが可能である。
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図5は、本発明の第1の実施形態の構成を示す図である。図5を参照すると、4つのオープンフロースイッチ(以下、「OFS」とする。)301A、302A、301B、302Bと、オープンフローコントローラ(以下、「OFC」とする。)100A、100Bとが示されている。なお、図5の構成は、本発明を簡単に説明するために、模式化したものであり、OFSやOFCの数に制限はなく、また、各OFCに、それぞれ同一数のOFSが接続されている必要もない。また、ノードA、ノードDは、ユーザ端末、各種のサービスサーバ等のパケットを送受信する機器である。
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図5は、本発明の第1の実施形態の構成を示す図である。図5を参照すると、4つのオープンフロースイッチ(以下、「OFS」とする。)301A、302A、301B、302Bと、オープンフローコントローラ(以下、「OFC」とする。)100A、100Bとが示されている。なお、図5の構成は、本発明を簡単に説明するために、模式化したものであり、OFSやOFCの数に制限はなく、また、各OFCに、それぞれ同一数のOFSが接続されている必要もない。また、ノードA、ノードDは、ユーザ端末、各種のサービスサーバ等のパケットを送受信する機器である。
OFS301A、302A、301B、302Bは、上記した転送ノードに相当し、それぞれのフローテーブルにOFC100A、100Bから設定されたフローエントリ(ルール+アクション)を保持し、受信パケットに適合するルールを持つフローエントリのアクションを実行する。
OFSのうち、OFS301A、302Aは、OFC100Aに接続され、OFC100Aからの制御に従って動作する。同様にOFS301B、302Bは、OFC100Bに接続され、OFC100Bからの制御に従って動作する。より具体的には、OFS301A、302Aは、フローテーブルに受信パケットに適合するルールが見当たらない場合、OFC100Aに対し、受信パケットについての転送経路の作成と、転送経路を実現するためのフローエントリ(ルール+アクション)の送信(設定)を要求する。同様にOFS301B、302Bは、フローテーブルに受信パケットに適合するルールが見当たらない場合、OFC100Bに対し、受信パケットについての転送経路の作成と、転送経路を実現するためのフローエントリ(ルール+アクション)の送信(設定)を要求する。このようなOFSは、非特許文献1、2に記載されているように、各ベンダのスイッチに、上記機能を追加することにより構成できる。
OFC100A、100Bは、上記した制御装置に相当し、それぞれ接続されているOFS301A、302A、301B、302Bに対し、フローエントリ(ルール+アクション)を送信(設定)することにより、これらを制御する。また、本実施形態のOFC100A、100Bは、接続され、後記するように、一方が作成した転送経路情報を他方に送信できるようになっているものとする。
図6は、上記第1の実施形態のOFCの構成を示す図である。図6を参照すると、OFC100は、パケット転送部11と、経路算出部12と、経路伝達部13と、OFC間通信部14と、トポロジDB15と、OFS-OFC対応管理部16と、OFS通信部17と、フロー生成部18と、経路受諾部19とを備えて構成される。
パケット転送部11は、OFSにて該当するフローエントリが無く処理規則(フローエントリ)の送信(設定)要求を受けた際に、OFC間通信部14を介して、当該処理規則(フローエントリ)の送信(設定)要求に添付されたパケットを他のOFCに送信する動作を行う。
経路算出部12は、OFS通信部17から出力されたパケットと処理規則(フローエントリ)の送信(設定)要求元のスイッチIDを元に、トポロジDB15に記憶された転送ノードの接続関係を記述したネットワークトポロジを参照して、OFSから転送されたパケットを含む一連のフローの転送経路を計算する。この経路計算には、例えば、ダイクストラの最短経路アルゴリズムを用いることができる。また、経路計算において、ネットワークのトラヒック状況を考慮に入れることも可能である。
経路伝達部13は、OFS-OFC対応管理部16に経路算出部12にて算出された転送経路および受信パケットを出力する。また、経路伝達部13は、OFS-OFC対応管理部16に記憶されたOFSと、該OFSと接続されたOFCとの対応関係を参照して、経路算出部12にて算出された転送経路上にあるOFSに接続されたOFC(転送経路上にあるOFSに対応付けられているOFC)に対し、経路算出部12にて算出された転送経路と受信パケットを含む転送経路情報を、OFC間通信部14を介して送信する動作を行う。なお、ここで用いる転送経路情報としては、他のOFCのフロー生成部18が処理規則(フローエントリ)を生成することができるものであれば形式は問われないが、例えば、他のOFCが個々のOFSに設定すべき処理規則(フローエントリ)を羅列した内容とすることもできる。
OFC間通信部14は、他のOFCのOFC間通信部14と接続され、上記した当該フローエントリの送信(設定)要求に添付されたパケットや、転送経路情報の授受を行う。
トポロジDB(データベース)15は、OFSを含むノード(各種のサービスサーバや外部ネットワーク)の接続関係を記述したネットワークトポロジを記憶する。図7は、図5のOFCを含むノードの接続関係をテーブル形式で記述したものである。図7中の「OFS;302A」等は、実際にはOFS;302AのMACアドレスやIPアドレス等が格納される。なお、本実施形態では、OFC100A、100BがそれぞれトポロジDB15を保持するものとしているが、OFC100A、100BがトポロジDB15を共有する構成であってもよい。
OFS-OFC対応管理部16は、OFSと、該OFSと接続されたOFCとの対応関係を記憶し、経路伝達部13から出力された転送経路および受信パケットと、自装置に接続されたOFSの情報をフロー生成部18に出力する。図8は、図5のOFSとOFCの対応関係をテーブル形式で記述したものである。なお、本実施形態では、トポロジDB15と独立してOFS-OFC対応管理部16を設けているが、トポロジDB15とOFS-OFC対応管理部16とを統合することも可能である。例えば、図7に示した個々のOFSの接続関係に加えて、接続するOFCを記述するフィールドを設けてもよい。
OFS通信部17は、受信パケットに該当するフローエントリが無いため、OFSから送信された受信パケットとともにフローエントリの送信(設定)要求を、経路算出部12に出力する。OFS通信部17は、フロー生成部18にて生成された処理規則(フローエントリ)を自装置に接続されたOFS(自装置に対応付けられているOFS)のうち、転送経路上にあるOFSに送信し、処理規則(フローエントリ)の設定を指示する。
フロー生成部18は、OFS-OFC対応管理部16または経路受諾部19から出力された転送経路(情報)および受信パケットを元に、自装置に接続されたOFSの情報およびトポロジDB15のネットワークトポロジを参照して、自装置に接続されたOFSのうち、転送経路上にあるOFS(自装置に対応付けられているOFS)に設定すべき処理規則(フローエントリ)を生成する。
経路受諾部19は、他のOFCから受信した受信パケットを含む転送経路情報をフロー生成部18に出力して、処理規則(フローエントリ)を生成させる動作を行う。
なお、上記したパケット転送部11と、経路算出部12と、経路伝達部13と、OFC間通信部14と、トポロジDB15と、OFS-OFC対応管理部16と、OFS通信部17と、フロー生成部18と、経路受諾部19とは、それぞれOFCを構成するコンピュータに備えられた記憶装置および該記憶装置をハードウェアとして利用するコンピュータ・プログラムにより実現することができる。
図9は、上記第1の実施形態のOFSの構成を示す図である。図9を参照すると、OFS300は、OFC通信部31と、フロー設定部32と、パケット処理部33と、フローテーブル34とを備えて構成される。また、OFS300には、自装置が接続する(自装置に対応付けられた)OFCが予め設定されているものとする。
OFC通信部31は、OFCのOFS通信部17から処理規則(フローエントリ)を受け取って、フロー設定部32に出力するとともに、パケット処理部33から受信パケットに該当するフローエントリが無い場合に、OFCに受信パケットに適用すべき、転送経路の算出および当該転送経路を実現する処理規則(フローエントリ)の生成を要求する。
フロー設定部32は、OFC通信部31を介してOFCから送信された処理規則(フローエントリ)をフローテーブル34に登録または更新する動作を行う。
パケット処理部33は、フローテーブル34を参照して、他のOFSを含むノードから受信した受信パケットのヘッダ情報に適合するルールを持つ処理規則(フローエントリ)を検索し、受信パケットに適合する処理規則(フローエントリ)のアクションフィールドに記述された処理内容を実施する。
フローテーブル34は、OFC通信部31を介してOFCから送信された処理規則(フローエントリ)を格納するテーブルである。図10は、フローテーブル34のフィールド構成を表した図である。例えば、送信元IPアドレスフィールド(IP SA)に、ノードAのIPアドレスが記述され、宛先IPアドレスフィールド(IP DA)に、ノードDのIPアドレスが記述された特徴を持つフローについて、隣接するOFSのうち、転送経路に従ったOFSに送信するインタフェース(ポート)から転送するというアクション(図23の「OUTPUT」)を設定することで、前記ノードAからノードDへのフローの転送経路に従った転送が実現される。その他、図23の各種アクションを設定し、あるいは、アクションフィールドを空欄とすることで、特定のフローのMACアドレスやIPアドレスを変更したり、特定のフローを廃棄(drop)させることが可能である。
図11は、OFS301A、302A、301B、302Bに設定される処理規則(フローエントリ)の例である。ここでは、OFS301A、302A、301B、302Bを経由してノードAとノードDとの間のパケットを転送する転送経路が設定されているものとする。例えば、OFS301Aには、ノードAからノードDに宛てられたパケットを順方向(インタフェース2(OFS302Aに接続;図7参照))に転送するアクションと、ノードDからノードAに宛てられたパケットを逆方向(インタフェース1(ノードAに接続;図7参照))に転送するアクションが設定されている。同様に、OFS302A、301B、302Bにも、順方向と逆方向の処理規則(フローエントリ)が設定されることで、ノードAとノードDとの間のパケット転送が上記した転送経路で行われることになる。
[処理規則(フローエントリ)の設定方法]
続いて、本実施形態の動作について図面を参照して詳細に説明する。図12は、本実施形態の動作を表したシーケンス図である。図12の例では、OFS301Aに接続されたノードAから、OFS301Aのフローテーブル34に保持されている処理規則(フローエントリ)のいずれにも適合しないノードDを宛先とするパケット(新規パケット)が送信されたものとしている。
続いて、本実施形態の動作について図面を参照して詳細に説明する。図12は、本実施形態の動作を表したシーケンス図である。図12の例では、OFS301Aに接続されたノードAから、OFS301Aのフローテーブル34に保持されている処理規則(フローエントリ)のいずれにも適合しないノードDを宛先とするパケット(新規パケット)が送信されたものとしている。
まず、OFS301Aは、新規パケットを受信すると(ステップS001)、自装置に接続されているOFC100Aに対し、当該新規パケットを含む処理規則(フローエントリ)の送信(設定)を要求する(ステップS002)。なお、ステップS001にて、OFS301Aのフローテーブル34に保持されている処理規則(フローエントリ)に適合するパケットを受信した場合には、以下の処理は行われることなく、図12の最下段に示したように、ノード処理規則に従ったパケット転送処理が行われる。
前記処理規則(フローエントリ)の送信(設定)を要求されたOFC100Aは、経路算出部12にて、新規パケットの宛先であるノードDと要求元のOFS301Aを元に、トポロジDB15のネットワークトポロジを参照して、OFS301Aから転送されたパケットを含む一連のフローの転送経路を計算する(ステップS003)。ここでは、ノードAからノードDに宛てられたパケットを、OFS301A、302A、301B、302Bの順に転送していく転送経路が算出されたものとする。
次に、OFC100Aは、OFS-OFC対応管理部16に保持された、OFSとOFCとの対応関係を参照して、前記算出した転送経路上のOFSのうち、自装置に接続されていないOFSに対応付けられたOFCを検索する(ステップS004)。ここでは、図5のOFC100Aに接続されていないOFS301B、302Bに接続されているOFC100Bが検索されることになる。
次に、OFC100Aは、前記検索したOFC100Bに対し、ステップS003で計算した転送経路と受信パケットを含む転送経路情報を送信する(ステップS005)。
その後、OFC100Aは、自装置に接続されたOFSの情報およびトポロジDB15のネットワークトポロジを参照して、自装置に接続されたOFSのうち、転送経路上にあるOFSに設定すべき処理規則(フローエントリ)を生成し、OFS301A、302Aに対し、送信(設定)する(ステップS006-1)。
同様に、OFC100Bも、自装置に接続されたOFSの情報およびトポロジDB15のネットワークトポロジを参照して、自装置に接続されたOFSのうち、転送経路上にあるOFSに設定すべき処理規則(フローエントリ)を生成し、OFS301B、302Bに対し、送信(設定)する(ステップS006-2)。
その後は、各OFS301A、302A、301B、302Bにて、受信した処理規則(フローエントリ)をフローテーブル34に登録または更新する処理が行われることになる(ステップS007)。
以上により、各OFS301A、302A、301B、302Bに、算出した転送経路に対応する処理規則が設定され(図11参照)、ノードA-ノードB間のパケット転送が可能となる。
なお、上記ステップS006-1、S006-2では、OFCが自装置に接続されたOFSのうち、転送経路上にあるOFSに同時に処理規則(フローエントリ)を送信(設定)するものとしているが、これらのうち、一部のOFS(たとえば、転送経路上の上流側のOFS)だけに処理規則(フローエントリ)を送信(設定)するものとしてもよい。この場合、各OFSから処理規則(フローエントリ)の送信(設定)要求を受けてから各OFCが処理規則(フローエントリ)を送信(設定)することになる。
図13は、図5の構成図に、図12のシーケンスによる動作を追記した図である。OFC100Aは、OFS301Aから、あるパケットの処理規則の送信(設定)要求の受信を契機として、転送経路の算出を行い、その結果をOFS301A、302Aに対して、処理規則(フローエントリ)として設定する。また、OFC100AがOFC100Bに対して、転送経路情報を送信することで、OFS301B、302Bの処理規則(フローエントリ)の設定が行われる。図13からも明らかなように、本発明においては、OFS/OFCの数は、特に制限されず、転送経路上にその他のOFSが存在する場合には、当該OFSに接続されたOFCに転送経路情報を送信し、処理規則(フローエントリ)を設定させることができる。
また、図13のOFC100A、100Bの双方が、経路算出部12および経路受諾部19を備えている必要は無く、例えば、新規パケットを受信するのがOFC100Aであれば、OFC100Aに経路算出部12を配置し、OFC100Bに経路受諾部19を配置するといった構成も採用可能である。
[新規パケットのバイパス転送]
続いて、上記処理規則(フローエントリ)と独立して、並行的に行われる新規パケットのバイパス転送方法について説明する。図14は、本実施形態における新規パケットのバイパス転送の流れを表したシーケンス図である。図14のステップS001~S003までの流れは図12のステップS001~S003と同じあるので、以下、転送経路算出後に行われる一連の流れについて説明する。
続いて、上記処理規則(フローエントリ)と独立して、並行的に行われる新規パケットのバイパス転送方法について説明する。図14は、本実施形態における新規パケットのバイパス転送の流れを表したシーケンス図である。図14のステップS001~S003までの流れは図12のステップS001~S003と同じあるので、以下、転送経路算出後に行われる一連の流れについて説明する。
図14を参照すると、転送経路を算出したOFC100Aは、前記算出した転送経路上の宛先ノードに接続されているOFS(転送経路上の終端のOFS)を検索し、次にOFS-OFC対応管理部16に保持された、OFSとOFCとの対応関係を参照して、当該OFSに対応付けられたOFCを検索する(ステップS104)。ここでは、ノードAからノードDに宛てられたパケットを、OFS301A、302A、301B、302Bの順に転送していく転送経路が算出されたものとする。このとき、転送経路上の終端のOFSは、OFS302Bであり、OFS302Bに接続されているOFC100Bが検索されることになる。
次に、OFC100Aは、前記検索したOFC100Bに対し、ステップS001で受信した新規パケットを送信し、配下のOFS302Bの指定インタフェースから送信させるように要求する(ステップS105)。
OFC100Bは、配下のOFS302Bに対し、前記新規パケットを指定インタフェースから送信するよう要求する(ステップS106)。
OFS302Bは、OFC100Bからの指示に従って前記新規パケットを指定インタフェースから送信する(ステップS107)。前記OFS302Bが新規パケットを指定インタフェースに送信する仕組みとしては、種々の方法が考えられるが、各OFSに特定のヘッダ情報を持つパケットを指定インタフェースから出力する処理規則(フローエントリ)を登録しておき、OFC100Bで新規パケットに当該ヘッダ情報を書き込む処理を行わせればよい。
以上により、転送経路の算出の契機となったパケット(新規パケット)を、途中のOFSを経由せずに、OFCを介して転送し、終端で出力する、パケットのバイパス転送が可能となる。なお、上記一連の手順は、図15に示す如く、処理規則(フローエントリ)の送信(設定)と独立して行うことが可能であり、それ自体で処理規則(フローエントリ)の設定を待たずに新規パケットを宛先ノードに送信できるという効果があるが、図13に示した処理規則(フローエントリ)の送信(設定)と平行して行うようにしてもよい。例えば、図12のステップS004~S006-1の処理の前後に、図14のステップS104、S105の処理を挿入し、OFC100Aに実行させることが可能である。
図15からも明らかなように、本発明においては、OFS/OFCの数は、特に制限されず、転送経路の途中のOFSを介さずに、パケットを送信させることができる。
以上、ノードAからノードDに宛てられたパケットを、OFS301A、302A、301B、302Bの順に転送していく転送経路を例示して本発明の第1の実施形態を説明したが、転送経路は上記に限られるものではない。例えば、OFS301Aから、OFS302A、302Bを経由して、OFS302Bに接続されたノードにパケットを転送する転送経路が算出された場合も、上記と略同様に動作する。また例えば、OFS302Bから、OFS301B、302A、301Aを経由して、ノードAにパケットを転送する転送経路が算出された場合も、OFC100Aと、OFC100Bが入れ替わるのみで上記と略同様に動作する。
[第2の実施形態]
続いて、上記したOFCに変更を加えた本発明の第2の実施形態について図面を参照して詳細に説明する。本実施形態は、第1の実施形態とはOFCの構成が異なるのみであるので、以下、その相違点を中心に説明する。
続いて、上記したOFCに変更を加えた本発明の第2の実施形態について図面を参照して詳細に説明する。本実施形態は、第1の実施形態とはOFCの構成が異なるのみであるので、以下、その相違点を中心に説明する。
図16は、本発明の第2の実施形態のOFC101の構成を示す図である。図6に示した第1の実施形態のOFC100と相違する点は、自装置に接続されているノードの情報を入手するデータ同期部20が追加されている点である。
データ同期部20は、具体的には、LLDP(Link Layer Discovery Protocol)や各種ベンダのプロトコルを用いてネットワーク上の各ノードから発せられている機器やその構成情報を収集して、各ノード間の物理的接続関係を入手し、その結果を、トポロジDB15やOFS-OFC対応管理部16に反映する動作を行う。さらに、すべてのOFCにデータ同期部20を搭載するのではなく、あるOFCのデータ同期部20が、OFC間通信部14を介して、他のOFCのトポロジDB15およびOFS-OFC対応管理部16を更新する構成も採用可能である。
以上のように、データ同期部20を備えたOFCを用いる本実施形態によれば、ネットワーク構成に変更が加えられた場合や、各ノードの故障等が生じた場合にも、適切な転送経路を作成し、当該転送経路に基づいた処理規則(フローエントリ)の配布を行うことが可能になる。
[第3の実施形態]
続いて、上記したOFCに変更を加えた本発明の第3の実施形態について図面を参照して詳細に説明する。本実施形態は、第1の実施形態のOFCに転送経路のキャッシュ機能を追加したものであり、以下、その相違点を中心に説明する。
続いて、上記したOFCに変更を加えた本発明の第3の実施形態について図面を参照して詳細に説明する。本実施形態は、第1の実施形態のOFCに転送経路のキャッシュ機能を追加したものであり、以下、その相違点を中心に説明する。
図17は、本発明の第3の実施形態のOFC102の構成を示す図である。図6に示した第1の実施形態のOFC100と相違する点は、経路算出部12に、経路記憶部22が追加されている点である。
経路記憶部22は、経路算出部12にて算出された転送経路を所定のタイミングが到来するまで記憶するために使用される。
[キャッシュ付き処理規則(フローエントリ)の設定方法]
続いて、本実施形態の動作について図面を参照して詳細に説明する。図18は、本実施形態の動作を表したシーケンス図である。図18の例では、OFS301Aに接続されたノードAから、OFS301Aのフローテーブル34に保持されている処理規則(フローエントリ)のいずれにも適合しないノードDを宛先とするパケット(新規パケット)が送信されたものとしている。
続いて、本実施形態の動作について図面を参照して詳細に説明する。図18は、本実施形態の動作を表したシーケンス図である。図18の例では、OFS301Aに接続されたノードAから、OFS301Aのフローテーブル34に保持されている処理規則(フローエントリ)のいずれにも適合しないノードDを宛先とするパケット(新規パケット)が送信されたものとしている。
OFS301Aが新規パケットを受信し(ステップS001)、自装置に接続されているOFC100Aに対し、当該新規パケットを含む処理規則(フローエントリ)の送信(設定)を要求する(ステップS002)までの動作は、第1の実施形態と同様である。なお、本実施形態においても、ステップS001にて、OFS301Aのフローテーブル34に保持されている処理規則(フローエントリ)に適合するパケットを受信した場合には、以下の処理は行われることなく、図18の最下段に示したように、ノード処理規則に従ったパケット転送処理が行われる。
前記処理規則(フローエントリ)の送信(設定)を要求されたOFC100Aは、経路算出部12にて転送経路を算出する前に、経路記憶部22を参照して、前記新規パケットと同一の特徴(例えば、OFS301Aからの、ノードDを宛先とするパケット。)を持つ転送経路情報を検索する(ステップS201)。
前記検索の結果、経路記憶部22に、前記新規パケットと同一の特徴(例えば、OFS301Aからの、ノードDを宛先とするパケット。)を持つ転送経路情報が見つかった場合、OFC100Aは、転送経路の算出を省略してステップS004以下の動作を行う。
一方、前記検索の結果、経路記憶部22に、前記新規パケットと同一の特徴(例えば、OFS301Aからの、ノードDを宛先とするパケット。)を持つ転送経路情報が見つからなかった場合、OFC100Aは、新規パケットの宛先であるノードDと要求元のOFS301Aを元に、トポロジDB15のネットワークトポロジを参照して、OFS301Aから転送されたパケットを含む一連のフローの転送経路を計算する(ステップS202)。次いで、OFC100Aは、計算した転送経路を前記新規パケットの特徴とともに、経路記憶部22に記憶する(ステップS203)。
以降の動作は、上記した第1の実施形態と同様である。本実施形態によれば、転送経路を作成したことのあるパケットについては、その内容が経路記憶部22に保持されている限り、転送経路の作成を省略できるため、OFCの負荷を低減し、かつ、処理規則(フローエントリ)の送信(設定)までの応答性を向上させることが可能になる。
また、本実施形態においても、図14に示した新規パケットのバイパス転送手順を平行して実行することも可能である。この場合も、図18のステップS004~S006-1の処理の前後に、図14のステップS104、S105の処理を挿入し、OFC100Aに実行させることも可能である。
[第4の実施形態]
続いて、上記したOFCに変更を加えた本発明の第4の実施形態について図面を参照して詳細に説明する。本実施形態は、第1の実施形態のOFCに転送経路のキャッシュ機能と投機的経路算出機能を追加したものであり、以下、その相違点を中心に説明する。
続いて、上記したOFCに変更を加えた本発明の第4の実施形態について図面を参照して詳細に説明する。本実施形態は、第1の実施形態のOFCに転送経路のキャッシュ機能と投機的経路算出機能を追加したものであり、以下、その相違点を中心に説明する。
図19は、本発明の第4の実施形態のOFC103の構成を示す図である。図6に示した第1の実施形態のOFC100と相違する点は、経路算出部12に、経路記憶部22が追加されている点と、経路記憶部22に転送経路を作成して登録する投機的経路算出部23が追加されている点である。
経路記憶部22は、経路算出部12にて算出された転送経路を所定のタイミングが到来するまで記憶するために使用される。
投機的経路算出部23は、OFCの初回起動時や負荷が低いとき、ネットワークトポロジに変更が生じたとき、あるいは、一定時間おきなどの所定のタイミングで、トポロジDB15を参照し、あるOFSからあるノードに到る転送経路を算出し、経路記憶部22に登録する。ここで「投機的」というのは、処理規則(フローエントリ)の送信(設定)要求を待たずに、先取りして処理規則(フローエントリ)を生成してしまうという意味である。
なお、投機的経路算出部23が転送経路を算出するOFSとノードの組み合わせとしては、経路記憶部22に記憶されていないものを選択することが望ましい。このようにすることで、処理規則(フローエントリ)の送信(設定)要求が発生した際にキャッシュミスの発生を抑えることが可能になる。
[投機的転送経路を用いた処理規則(フローエントリ)の設定方法]
続いて、本実施形態の動作について図面を参照して詳細に説明する。図20は、本実施形態の動作を表したシーケンス図である。図20の例では、OFS301Aに接続されたノードAから、OFS301Aのフローテーブル34に保持されている処理規則(フローエントリ)のいずれにも適合しないノードDを宛先とするパケット(新規パケット)が送信されたものとしている。
続いて、本実施形態の動作について図面を参照して詳細に説明する。図20は、本実施形態の動作を表したシーケンス図である。図20の例では、OFS301Aに接続されたノードAから、OFS301Aのフローテーブル34に保持されている処理規則(フローエントリ)のいずれにも適合しないノードDを宛先とするパケット(新規パケット)が送信されたものとしている。
まず、OFC100A、100Bの投機的経路算出部23は、OFCの初回起動時や負荷が低いとき、ネットワークトポロジに変更が生じたとき、あるいは、一定時間おきなどの所定のタイミングで、投機的転送経路の算出を行う(ステップS300-1、S300-2)。
OFS301Aが新規パケットを受信し(ステップS001)、自装置に接続されているOFC100Aに対し、当該新規パケットを含む処理規則(フローエントリ)の送信(設定)を要求する(ステップS002)までの動作は、第1の実施形態と同様である。なお、本実施形態においても、ステップS001にて、OFS301Aのフローテーブル34に保持されている処理規則(フローエントリ)に適合するパケットを受信した場合には、以下の処理は行われることなく、図20の最下段に示したように、ノード処理規則に従ったパケット転送処理が行われる。
前記処理規則(フローエントリ)の送信(設定)を要求されたOFC100Aは、経路算出部12にて転送経路を算出する前に、経路記憶部22を参照して、前記新規パケットと同一の特徴(例えば、OFS301Aからの、ノードDを宛先とするパケット。)を持つ転送経路情報を検索する(ステップS301)。
前記検索の結果、経路記憶部22に、前記新規パケットと同一の特徴(例えば、OFS301Aからの、ノードDを宛先とするパケット。)を持つ転送経路情報が見つかった場合、OFC100Aは、転送経路の算出を省略してステップS004以下の動作を行う。
一方、前記検索の結果、経路記憶部22に、前記新規パケットと同一の特徴(例えば、OFS301Aからの、ノードDを宛先とするパケット。)を持つ転送経路情報が見つからなかった場合、OFC100Aは、新規パケットの宛先であるノードDと要求元のOFS301Aを元に、トポロジDB15のネットワークトポロジを参照して、OFS301Aから転送されたパケットを含む一連のフローの転送経路を計算する(ステップS302)。次いで、OFC100Aは、計算した転送経路を前記新規パケットの特徴とともに、経路記憶部22に記憶する(ステップS303)。
以降の動作は、上記した第1の実施形態と同様である。本実施形態によれば、転送経路を作成したことのあるパケットおよび統計的経路算出部にて算出した転送経路については、その内容が経路記憶部22に保持されている限り、転送経路の作成を省略できるため、OFCの負荷を低減し、かつ、処理規則(フローエントリ)の送信(設定)までの応答性を向上させることが可能になる。
また、本実施形態においても、図14に示した新規パケットのバイパス転送手順を平行して実行することも可能である。この場合も、図18のステップS004~S006-1の処理の前後に、図14のステップS104、S105の処理を挿入し、OFC100Aに実行させることが可能である。
[第5の実施形態]
続いて、上記したOFC同士が転送経路情報をやり取りするのではなく、各OFCに転送経路の算出を分散させるようにした本発明の第5の実施形態について図面を参照して詳細に説明する。本実施形態は、第1の実施形態のOFCと同等の構成にて実現できるので、以下、その相違点を中心に説明する。
続いて、上記したOFC同士が転送経路情報をやり取りするのではなく、各OFCに転送経路の算出を分散させるようにした本発明の第5の実施形態について図面を参照して詳細に説明する。本実施形態は、第1の実施形態のOFCと同等の構成にて実現できるので、以下、その相違点を中心に説明する。
図21は、本発明の第5の実施形態の概略動作を表した図である。第1の実施形態の説明にて使用した図13とは、OFC100Aが、転送経路情報でなく、OFC100Bが転送経路を計算する始点となるOFS(301B)と、新規パケットを送信する点である。OFC100Bは、前記始点として指定されたOFS301Bから宛先ノード(ノードD)に到る転送経路を作成し、これに対応する転送記憶(フローエントリ)を自装置に接続されたOFSに送信(設定)する。
[分散型処理規則(フローエントリ)の設定方法]
続いて、本実施形態の動作について図面を参照して詳細に説明する。図22は、本実施形態の動作を表したシーケンス図である。
続いて、本実施形態の動作について図面を参照して詳細に説明する。図22は、本実施形態の動作を表したシーケンス図である。
OFS301Aが新規パケットを受信し(ステップS001)、自装置に接続されているOFC100Aに対し、当該新規パケットを含む処理規則(フローエントリ)の送信(設定)を要求する(ステップS002)までの動作は、第1の実施形態と同様である。なお、本実施形態においても、ステップS001にて、OFS301Aのフローテーブル34に保持されている処理規則(フローエントリ)に適合するパケットを受信した場合には、以下の処理は行われることなく、図22の最下段に示したように、ノード処理規則に従ったパケット転送処理が行われる。
前記処理規則(フローエントリ)の送信(設定)を要求されたOFC100Aは、経路算出部12にて、新規パケットの宛先であるノードDと要求元のOFS301Aを元に、トポロジDB15のネットワークトポロジを参照して、OFS301Aから転送されたパケットを含む一連のフローの転送経路を計算する(ステップS403)。ここでは、OFC100Aは、ノードAからノードDに到るすべての転送経路を計算せずに、自装置に接続されたどのOFSを経由して転送し、どのインタフェースから出力するかを示した部分的な転送経路を算出する。
次に、OFC100Aは、OFS-OFC対応管理部16に保持された、OFSとOFCとの対応関係を参照して、前記算出した転送経路上の終端となるOFSの出力インタフェースに接続されたOFS(転送経路未算出区間の始点OFS)に接続されたOFCを検索する(ステップS404)。ここでは、図21のOF301Bに接続されているOFC100Bが検索されることになる。
OFC100Aは、OFC100Bに宛てて、前記算出した転送経路上の終端となるOFSの出力インタフェースに接続されたOFS(転送経路未算出区間の始点OFS)と、ステップS001で受信した新規パケットを送信する(ステップS405)。
前記転送経路未算出区間の始点OFSと、ステップS001で受信した新規パケットを受信したOFC100Bは、経路算出部12にて、新規パケットの宛先であるノードDと始点として指定されたOFS301Bを元に、トポロジDB15のネットワークトポロジを参照して、自装置に接続されたOFS群による転送経路を計算する(ステップS406)。ここでは、OFC100Bは、OFS301BからOFS302Bに転送し、OFS302Bのインタフェース#2からノードDに転送する転送経路を計算したものとする。
その後、OFC100Aは、自装置に接続されたOFSの情報およびトポロジDB15のネットワークトポロジを参照して、自装置に接続されたOFSのうち、転送経路上にあるOFSに設定すべき処理規則(フローエントリ)を生成し、OFS301A、302Aに対し、送信(設定)する(ステップS407-1)。
同様に、OFC100Bも、自装置に接続されたOFSの情報およびトポロジDB15のネットワークトポロジを参照して、自装置に接続されたOFSのうち、転送経路上にあるOFSに設定すべき処理規則(フローエントリ)を生成し、OFS301B、302Bに対し、送信(設定)する(ステップS407-2)。
その後は、各OFS301A、302A、301B、302Bにて、受信した処理規則(フローエントリ)をフローテーブル34に登録または更新する処理が行われることになる(ステップS007)。
以上により、各OFS301A、302A、301B、302Bに、算出した転送経路に対応する処理規則が設定され(図11参照)、ノードA-ノードB間のパケット転送が可能となる。
以上のように、本実施形態によれば、転送経路の計算をいくつかのOFCに分散して行わせることが可能になる。また、上記構成を採っているため、トポロジDB15を分散して配置することも可能になる。
また、本実施形態は、上記した第2~第4の実施形態と組み合わせて構成することも可能である。例えば、第3の実施形態と組み合わせれば、OFC100Aは、キャッシュされた転送経路を用い、OFC100B以降が、経路計算を行うといった変形実施が可能である。同様に、第4の実施形態と組み合わせれば、OFC100Aは、事前に計算された投機的転送経路を用い、OFC100B以降が、経路計算を行うといった変形実施が可能である。
以上、本発明の好適な実施形態およびその具体的な動作を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。
例えば、上記した各実施形態では、非特許文献1、2の技術を用いて、OFCとOFSを用いる例を挙げて説明したが、それぞれ同等の動作をする制御装置と各種の転送ノードにて実現することが可能である。
例えば、上記した第1~第4の実施形態では、各OFCがそれぞれ経路算出部12を備えているものとして説明したが、上記した説明からも理解されるように、転送経路情報を受けとる側のOFCでは転送経路算出処理は発生しない。従って、定常的に転送経路算出処理が発生しないOFCの経路算出部12は省略することができる。同様の理由から、転送経路情報を受けとることのないOFCからは、経路受諾部19を省略することができる。
11 パケット転送部
12 経路算出部
13 経路伝達部
14 OFC間通信部
15 トポロジDB
16 OFS-OFC対応管理部
16A 対応管理部
17 OFS通信部
17A 送信部
18 フロー生成部
18A 処理規則生成部
19 経路受諾部
20 データ同期部
22 経路記憶部
23 投機的経路算出部
31 OFC通信部
32 フロー設定部
33 パケット処理部
34 フローテーブル
100~103、100A、100B、100C 制御装置(OFC)
300、301A~303A、301B~303B、301C~303C 転送ノード(OFS)
12 経路算出部
13 経路伝達部
14 OFC間通信部
15 トポロジDB
16 OFS-OFC対応管理部
16A 対応管理部
17 OFS通信部
17A 送信部
18 フロー生成部
18A 処理規則生成部
19 経路受諾部
20 データ同期部
22 経路記憶部
23 投機的経路算出部
31 OFC通信部
32 フロー設定部
33 パケット処理部
34 フローテーブル
100~103、100A、100B、100C 制御装置(OFC)
300、301A~303A、301B~303B、301C~303C 転送ノード(OFS)
Claims (14)
- 予め設定され、または、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノードと、
前記複数の転送ノードと、複数の制御装置との対応関係を記憶する対応管理部と、
所定の契機により、前記各転送ノードと前記各制御装置との対応関係を参照し、受信パケットの転送経路上の転送ノードのうち、自装置に対応付けられていない転送ノードに対応付けられた他の制御装置に対して、転送経路の情報のうち、少なくとも自装置に対応付けられた転送ノードを含む転送経路情報を送信する経路伝達部と、を備える制御装置を含む複数の制御装置と、
を有する通信システム。 - 前記複数の制御装置は、さらに、
少なくとも自装置に対応付けられた転送ノードを含む各転送ノード間の接続関係が記述されたネットワークトポロジを記憶するデータベースと、
前記経路伝達部から受信した転送経路情報に基づいて、自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対し、前記ネットワークトポロジを参照して前記処理規則を作成する処理規則生成部と、
自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対して、前記作成した処理規則を送信する送信部と、
を備えることを特徴とする請求項1の通信システム。 - 前記経路伝達部を備える制御装置は、
少なくとも自装置に対応付けられた転送ノードを含む各転送ノード間の接続関係が記述されたネットワークトポロジを記憶するデータベースと、
自装置に接続されている転送ノードから、新規パケットについての処理規則の送信要求を受けた場合、前記ネットワークトポロジを参照して、転送経路を算出する経路算出部とを備える請求項1または2の通信システム。 - 前記経路算出部を備える制御装置を起点として、前記転送経路上の転送ノードに対応付けられた制御装置が、処理規則の送信処理とは独立して、前記新規パケットを転送していき、
前記転送経路上の終端の転送ノードに対応付けられた制御装置が、転送経路上の終端の転送ノードに前記新規パケットを送信し、指定のポートから前記新規パケットの出力を指示する請求項3の通信システム。 - 前記転送経路情報には、前記自装置に対応付けられていない転送ノードに送信する処理規則が含まれており、
前記転送経路情報を受信した制御装置は、受信パケットの転送経路上の転送ノードのうち、自装置に対応付けられた転送ノードに対して、前記転送経路情報に含まれている処理規則を送信する請求項1から4いずれか一の通信システム。 - 前記転送経路は、任意に選択した起点ノードと終点ノードの組み合わせで算出しておいた転送経路とする請求項1から5いずれか一の通信システム。
- 前記転送経路を所定期間キャッシュし、同一の起点ノードと終点ノードの組み合わせがキャッシュされている場合、転送経路の算出を省略する請求項3から6いずれか一の通信システム。
- 前記複数の制御装置は、それぞれ、前記経路伝達部と、自装置に接続されている転送ノードから、新規パケットについての処理規則の送信要求を受けた場合、前記ネットワークトポロジを参照して、転送経路を算出する経路算出部と、を備えており、
前記経路伝達部は、前記転送経路上の自装置に接続されている転送ノードから、パケットを受信することになる転送ノードに対応付けられている制御装置に対して、前記転送経路情報に代えて、前記制御装置に対応付けられている転送ノードによる転送経路を計算するための始点と、前記新規パケットを送信し、
前記始点および新規パケットを受信した制御装置において、前記始点および新規パケットによる転送経路の再計算と処理規則の作成・送信を行わせる請求項2から7いずれか一の通信システム。 - 前記制御装置は、自装置に接続されているノードの情報を入手するデータ同期部を備え、
前記入手したデータに基づいて、各ノードの接続関係または各転送ノードと各制御装置との対応関係の少なくとも一方を更新する請求項1から8いずれか一の通信システム。 - 予め設定され、または、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノードと、前記複数の転送ノードと、複数の制御装置との対応関係を記憶する対応管理部を備える複数の制御装置と、を含み、
ある転送ノードから受信パケットの転送を受けた場合、転送経路上の転送ノードに対応付けられた制御装置が、前記複数の転送ノードと複数の制御装置との対応関係を参照して、前記受信パケットを転送していき、
前記転送経路上の終端の転送ノードに対応付けられた制御装置が、転送経路上の終端の転送ノードに前記新規パケットを送信し、指定のポートから前記新規パケットの出力を指示する通信システム。 - 予め設定され、または、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノードと接続され、
前記複数の転送ノードを含む転送ノード群と、複数の制御装置との対応関係を記憶する対応管理部と、
所定の契機により、前記各転送ノードと前記各制御装置との対応関係を参照し、受信パケットの転送経路上の転送ノードのうち、自装置に対応付けられていない転送ノードに対応付けられた他の制御装置に対して、転送経路の情報のうち、少なくとも自装置に対応付けられた転送ノードを含む転送経路情報を送信する経路伝達部と、を備える第1の制御装置。 - 複数の制御装置と、
予め設定され、または、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノードと、を含む通信システムにおける前記処理規則の設定方法であって、
前記複数の制御装置のうちの第1の制御装置が、所定の契機により、前記各転送ノードと前記各制御装置との対応関係を参照し、当該受信パケットの転送経路上の転送ノードのうち、自装置に対応付けられていない転送ノードに対応付けられた他の制御装置に対して、転送経路の情報のうち、少なくとも自装置に対応付けられた転送ノードを含む転送経路情報を送信するステップと、
前記転送経路情報を受信した第2の制御装置が、自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対して、少なくとも自装置に対応付けられた転送ノードを含む各転送ノード間の接続関係が記述されたネットワークトポロジを参照して処理規則を作成し、送信するステップとを含む処理規則の設定方法。 - 複数の制御装置と、
予め設定され、または、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノードと、を含む通信システムにおけるパケットの送信方法であって、
ある転送ノードから受信パケットの転送を受けた場合、転送経路上の転送ノードに対応付けられた制御装置が、前記複数の転送ノードと複数の制御装置との対応関係を参照して、前記受信パケットを転送していくステップと、
前記転送経路上の終端の転送ノードに対応付けられた制御装置が、転送経路上の終端の転送ノードに前記新規パケットを送信し、指定のポートから前記新規パケットの出力を指示するステップと、を含む通信方法。 - 予め設定され、または、自装置に対応付けられた制御装置から受信した処理規則に基づいて受信パケットの処理を行うパケット処理部を備える複数の転送ノードと接続され、前記複数の転送ノードを含む転送ノード群と、複数の制御装置との対応関係を記憶する対応管理部を備える制御装置を構成するコンピュータに実行させるプログラムであって、
所定の契機により、自装置に対応付けられた転送ノードのうち、受信パケットの転送経路上の転送ノードに対し、処理規則を作成して送信する処理と、
前記各転送ノードと前記各制御装置との対応関係を参照し、前記受信パケットの転送経路上の転送ノードのうち、自装置に対応付けられていない転送ノードに対応付けられた他の制御装置に対して、転送経路の情報のうち、少なくとも自装置に対応付けられた転送ノードを含む転送経路情報を送信する処理と、
を実行させるプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11731778.4A EP2523402A4 (en) | 2010-01-05 | 2011-01-04 | Communication system, control apparatus, processing rule setting method, packet transmitting method and program |
JP2011548995A JPWO2011083780A1 (ja) | 2010-01-05 | 2011-01-04 | 通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム |
CN201180005536.7A CN102714628B (zh) | 2010-01-05 | 2011-01-04 | 通信系统、控制装置、处理规则设置方法和分组传输方法 |
US13/137,168 US20110317701A1 (en) | 2010-01-05 | 2011-07-25 | Communication system, control device, processing rule setting method, packet transmission method, and program |
US15/266,183 US10200307B2 (en) | 2010-01-05 | 2016-09-15 | Communication system, control device, processing rule setting method, packet transmission method, and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-000740 | 2010-01-05 | ||
JP2010000740 | 2010-01-05 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/137,168 Continuation US20110317701A1 (en) | 2010-01-05 | 2011-07-25 | Communication system, control device, processing rule setting method, packet transmission method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011083780A1 true WO2011083780A1 (ja) | 2011-07-14 |
Family
ID=44305516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/050009 WO2011083780A1 (ja) | 2010-01-05 | 2011-01-04 | 通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム |
Country Status (5)
Country | Link |
---|---|
US (2) | US20110317701A1 (ja) |
EP (1) | EP2523402A4 (ja) |
JP (3) | JPWO2011083780A1 (ja) |
CN (2) | CN105245449B (ja) |
WO (1) | WO2011083780A1 (ja) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011160363A (ja) * | 2010-02-03 | 2011-08-18 | Nec Corp | コンピュータシステム、コントローラ、スイッチ、及び通信方法 |
JP2011166384A (ja) * | 2010-02-08 | 2011-08-25 | Nec Corp | コンピュータシステム、及び通信方法 |
CN102594689A (zh) * | 2012-02-22 | 2012-07-18 | 中兴通讯股份有限公司 | 一种分布式网络控制方法及装置 |
CN102907052A (zh) * | 2012-08-02 | 2013-01-30 | 华为技术有限公司 | 拓扑信息处理方法及设备 |
WO2013082983A1 (zh) * | 2011-12-08 | 2013-06-13 | 中兴通讯股份有限公司 | OpenFlow网络域间的数据发送方法及装置 |
WO2013118690A1 (ja) * | 2012-02-10 | 2013-08-15 | 日本電気株式会社 | コンピュータシステム、及び仮想ネットワークの可視化方法 |
WO2013118687A1 (ja) * | 2012-02-10 | 2013-08-15 | 日本電気株式会社 | コンピュータシステム、及び仮想ネットワークの可視化方法 |
WO2013146785A1 (ja) * | 2012-03-28 | 2013-10-03 | 日本電気株式会社 | 通信システム、通信装置、制御装置、通信装置の制御方法及びプログラム |
JP2014003392A (ja) * | 2012-06-15 | 2014-01-09 | Ntt Docomo Inc | 制御ノード及び通信制御方法 |
CN103580909A (zh) * | 2013-05-22 | 2014-02-12 | 杭州华三通信技术有限公司 | 一种硬件资源定制方法及装置 |
WO2014136867A1 (ja) * | 2013-03-07 | 2014-09-12 | 日本電気株式会社 | 通信システム、統合コントローラ、パケット転送方法及びプログラム |
JP2015508622A (ja) * | 2012-12-24 | 2015-03-19 | 華為技術有限公司Huawei Technologies Co.,Ltd. | ソフトウェア定義ネットワーク・ベースのデータ処理方法、制御ノード、データ・ノード、及びシステム |
JP2015508967A (ja) * | 2012-02-23 | 2015-03-23 | ビッグ スウィッチ ネットワークス インコーポレイテッド | コントローラでネットワークパケット転送を管理するシステム及び方法 |
JP2015511074A (ja) * | 2012-03-23 | 2015-04-13 | 日本電気株式会社 | 通信のためのシステム及び方法 |
US9203748B2 (en) | 2012-12-24 | 2015-12-01 | Huawei Technologies Co., Ltd. | Software defined network-based data processing method, node, and system |
JP2016067053A (ja) * | 2015-12-25 | 2016-04-28 | 株式会社Nttドコモ | 制御ノード及び通信制御方法 |
JP2016066970A (ja) * | 2014-09-26 | 2016-04-28 | アラクサラネットワークス株式会社 | 通信装置及び、通信装置の制御方法 |
US9602421B2 (en) | 2011-10-25 | 2017-03-21 | Nicira, Inc. | Nesting transaction updates to minimize communication |
WO2017184758A1 (en) * | 2016-04-20 | 2017-10-26 | Brocade Communications Systems, Inc. | Communication framework for a federation of network controllers |
CN104170334B (zh) * | 2012-04-18 | 2017-11-07 | Nicira股份有限公司 | 一种用于管理网络的控制器的配置托管元件的方法及设备 |
JP2017215933A (ja) * | 2016-05-26 | 2017-12-07 | 富士通株式会社 | 情報処理装置、及び、負荷分散制御方法 |
US10204122B2 (en) | 2015-09-30 | 2019-02-12 | Nicira, Inc. | Implementing an interface between tuple and message-driven control entities |
US11019167B2 (en) | 2016-04-29 | 2021-05-25 | Nicira, Inc. | Management of update queues for network controller |
JP2022068125A (ja) * | 2020-10-21 | 2022-05-09 | 華為技術有限公司 | トラフィックフォワーディングを制御するための方法、装置及びシステム |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120051346A1 (en) * | 2010-08-24 | 2012-03-01 | Quantenna Communications, Inc. | 3-address mode bridging |
CN104185972A (zh) * | 2012-03-05 | 2014-12-03 | 日本电气株式会社 | 网络系统、交换机和网络构建方法 |
US9832114B2 (en) * | 2012-05-25 | 2017-11-28 | Nec Corporation | Packet forwarding system, control apparatus, packet forwarding method, and program |
CN104365068B (zh) * | 2012-05-31 | 2017-08-04 | 日本电气株式会社 | 控制装置、通信系统、交换机控制方法及非瞬态计算机可读存储介质 |
CN103051539B (zh) | 2012-12-14 | 2015-09-16 | 中兴通讯股份有限公司 | 一种基于dht的控制网络实现方法、系统和网络控制器 |
CN104871529B (zh) * | 2012-12-17 | 2018-09-18 | 马维尔国际贸易有限公司 | 网络发现装置 |
US9253117B1 (en) | 2012-12-18 | 2016-02-02 | Google Inc. | Systems and methods for reducing network hardware of a centrally-controlled network using in-band network connections |
US8989194B1 (en) * | 2012-12-18 | 2015-03-24 | Google Inc. | Systems and methods for improving network redundancy and for facile initialization in a centrally-controlled network |
US9065768B2 (en) * | 2012-12-28 | 2015-06-23 | Futurewei Technologies, Inc. | Apparatus for a high performance and highly available multi-controllers in a single SDN/OpenFlow network |
CN103067277B (zh) * | 2013-01-06 | 2016-06-22 | 华为技术有限公司 | 建立控制通道的方法、转发设备和控制设备 |
US9166869B2 (en) | 2013-01-14 | 2015-10-20 | International Business Machines Corporation | Management of distributed network switching cluster |
CN103945335B (zh) | 2013-01-21 | 2017-03-15 | 华为技术有限公司 | 一种群组会话的方法、装置和系统 |
US9094285B2 (en) | 2013-01-25 | 2015-07-28 | Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. | Automatic discovery of multiple controllers in Software Defined Networks (SDNs) |
KR102087226B1 (ko) | 2013-02-14 | 2020-03-10 | 삼성전자주식회사 | 다수의 사업자 지원을 위한 sdn 기반의 네트워크 공유 방법 |
US9722917B2 (en) * | 2013-02-26 | 2017-08-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Traffic recovery in openflow networks |
US9137174B2 (en) * | 2013-03-14 | 2015-09-15 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Synchronization of OpenFlow controller devices via OpenFlow switching devices |
RU2612610C1 (ru) * | 2013-03-26 | 2017-03-09 | Нек Корпорейшн | Устройство управления, система связи, способ передачи управляющей информации и программа |
US20160094357A1 (en) * | 2013-04-24 | 2016-03-31 | Nec Corporation | Control apparatus, computer system, communication control method, and program |
CN104283756B (zh) * | 2013-07-02 | 2017-12-15 | 新华三技术有限公司 | 一种实现分布式多租户虚拟网络的方法和装置 |
KR101864811B1 (ko) * | 2013-07-19 | 2018-06-05 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 교환 장치, 제어기, 및 교환 장치 구성 방법, 및 패킷 처리 방법 및 시스템 |
US9325609B2 (en) * | 2013-08-23 | 2016-04-26 | Futurewei Technologies, Inc. | Segmented source routing in a network |
CN104426815B (zh) * | 2013-08-27 | 2019-07-09 | 中兴通讯股份有限公司 | 一种sdn中流表下发的方法和系统、of控制器和of交换机 |
US8611355B1 (en) * | 2013-09-03 | 2013-12-17 | tw telecom holdings inc. | Buffer-less virtual routing |
WO2015074258A1 (zh) * | 2013-11-22 | 2015-05-28 | 华为技术有限公司 | 一种控制业务数据在虚拟网络中转发的方法、装置及系统 |
US10516604B2 (en) | 2013-12-19 | 2019-12-24 | Nec Corporation | Packet forwarding system, control apparatus, and control method and program for relay device |
CN104734988B (zh) * | 2013-12-23 | 2018-10-30 | 杭州华为数字技术有限公司 | 软件定义网络中路由控制的方法和开放流控制器 |
CN104734964B (zh) | 2013-12-24 | 2018-12-14 | 华为技术有限公司 | 报文处理方法、节点及系统 |
CN104796344B (zh) * | 2014-01-16 | 2020-01-14 | 中兴通讯股份有限公司 | 基于SDN实现报文转发的方法、系统、Openflow交换机及服务器 |
EP3091708B1 (en) | 2014-01-28 | 2019-01-23 | Huawei Technologies Co., Ltd. | Processing rule modification method and apparatus |
US8989199B1 (en) | 2014-02-24 | 2015-03-24 | Level 3 Communications, Llc | Control device discovery in networks having separate control and forwarding devices |
CN105099995B (zh) | 2014-04-29 | 2018-09-28 | 华为技术有限公司 | Sdn网络系统、控制器及控制方法 |
WO2015180154A1 (zh) | 2014-05-30 | 2015-12-03 | 华为技术有限公司 | 网络控制方法和装置 |
CN104363173A (zh) * | 2014-10-31 | 2015-02-18 | 武汉烽火网络有限责任公司 | 一种转发路由信息生成方法、控制器及软件定义网络系统 |
KR20160099890A (ko) * | 2015-02-13 | 2016-08-23 | 한국전자통신연구원 | 도메인들 간의 링크 감지 방법 및 그 방법을 수행하는 장치 |
US9521071B2 (en) * | 2015-03-22 | 2016-12-13 | Freescale Semiconductor, Inc. | Federation of controllers management using packet context |
US9967134B2 (en) | 2015-04-06 | 2018-05-08 | Nicira, Inc. | Reduction of network churn based on differences in input state |
CN106385365B (zh) | 2015-08-07 | 2019-09-06 | 新华三技术有限公司 | 基于开放流Openflow表实现云平台安全的方法和装置 |
JP6606919B2 (ja) * | 2015-08-25 | 2019-11-20 | 富士通株式会社 | フロースイッチ、コントローラ、及び、中継装置 |
CN106559439B (zh) * | 2015-09-25 | 2019-10-01 | 华为技术有限公司 | 一种业务处理方法及设备 |
US10536398B2 (en) * | 2016-05-12 | 2020-01-14 | Cisco Technology, Inc. | Plug and play in a controller based network |
US10491522B2 (en) | 2016-05-13 | 2019-11-26 | Cisco Technology, Inc. | Data plane integration |
CN107592270B (zh) * | 2016-07-07 | 2021-10-15 | 华为技术有限公司 | FlowSpec消息的处理方法和装置以及系统 |
JP6834795B2 (ja) * | 2017-06-16 | 2021-02-24 | 富士通株式会社 | 通信制御装置、通信制御方法、及び、通信制御プログラム |
CN112202673B (zh) * | 2017-11-21 | 2022-01-04 | 华为技术有限公司 | 一种配置方法及装置 |
CN113631143B (zh) | 2019-03-28 | 2024-04-12 | 株式会社Lg生活健康 | 牙膏组合物 |
CN114143259A (zh) * | 2021-11-26 | 2022-03-04 | 中徽建技术有限公司 | 一种海量网络数据处理方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007060461A (ja) * | 2005-08-26 | 2007-03-08 | Fujitsu Ltd | 複数エリアに分割されるネットワークにおけるパス設定方法及び通信装置 |
JP2008206095A (ja) * | 2007-02-22 | 2008-09-04 | Nippon Telegr & Teleph Corp <Ntt> | 経路計算制御方法、経路計算制御プログラムおよび経路計算制御装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805072A (en) * | 1994-12-12 | 1998-09-08 | Ultra-High Speed Network | VC connection method |
US5758083A (en) * | 1995-10-30 | 1998-05-26 | Sun Microsystems, Inc. | Method and system for sharing information between network managers |
US6671819B1 (en) * | 2000-04-06 | 2003-12-30 | Bbnt Solutions Llc | System and methods routing packets on alterate paths |
JP2004129156A (ja) * | 2002-10-07 | 2004-04-22 | Ntt Docomo Inc | 経路制御システム、経路制御装置、転送装置及び経路制御方法 |
JP2005012317A (ja) * | 2003-06-17 | 2005-01-13 | Nec Corp | 通信システム |
US20050111356A1 (en) * | 2003-11-25 | 2005-05-26 | Whittaker Stewart Mark A. | Connection controller |
JP3777185B2 (ja) * | 2004-02-05 | 2006-05-24 | 日本電信電話株式会社 | Gmpls+ip/mplsネットワークおよびノード |
US20070211623A1 (en) * | 2004-08-30 | 2007-09-13 | Nec Corporation | Failure recovery method, network device, and program |
US8068408B2 (en) * | 2004-11-01 | 2011-11-29 | Alcatel Lucent | Softrouter protocol disaggregation |
US8996722B2 (en) * | 2004-11-01 | 2015-03-31 | Alcatel Lucent | Softrouter feature server |
CN100454841C (zh) * | 2006-06-02 | 2009-01-21 | 华为技术有限公司 | 一种多域路由计算方法和系统 |
WO2009042919A2 (en) * | 2007-09-26 | 2009-04-02 | Nicira Networks | Network operating system for managing and securing networks |
CN101471853B (zh) * | 2007-12-29 | 2012-02-29 | 华为技术有限公司 | 一种路由计算方法、单元及系统 |
CN101415023A (zh) * | 2008-08-08 | 2009-04-22 | 西安瑞友信息技术资讯有限公司 | 服务器智能动态负载均衡技术 |
US8705513B2 (en) * | 2009-12-15 | 2014-04-22 | At&T Intellectual Property I, L.P. | Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks |
-
2011
- 2011-01-04 CN CN201510684232.8A patent/CN105245449B/zh active Active
- 2011-01-04 WO PCT/JP2011/050009 patent/WO2011083780A1/ja active Application Filing
- 2011-01-04 JP JP2011548995A patent/JPWO2011083780A1/ja active Pending
- 2011-01-04 CN CN201180005536.7A patent/CN102714628B/zh active Active
- 2011-01-04 EP EP11731778.4A patent/EP2523402A4/en not_active Withdrawn
- 2011-07-25 US US13/137,168 patent/US20110317701A1/en not_active Abandoned
-
2015
- 2015-07-06 JP JP2015135096A patent/JP6075416B2/ja active Active
-
2016
- 2016-09-15 US US15/266,183 patent/US10200307B2/en active Active
-
2017
- 2017-01-11 JP JP2017002443A patent/JP6358347B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007060461A (ja) * | 2005-08-26 | 2007-03-08 | Fujitsu Ltd | 複数エリアに分割されるネットワークにおけるパス設定方法及び通信装置 |
JP2008206095A (ja) * | 2007-02-22 | 2008-09-04 | Nippon Telegr & Teleph Corp <Ntt> | 経路計算制御方法、経路計算制御プログラムおよび経路計算制御装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2523402A4 * |
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011160363A (ja) * | 2010-02-03 | 2011-08-18 | Nec Corp | コンピュータシステム、コントローラ、スイッチ、及び通信方法 |
JP2011166384A (ja) * | 2010-02-08 | 2011-08-25 | Nec Corp | コンピュータシステム、及び通信方法 |
US12111787B2 (en) | 2011-10-25 | 2024-10-08 | Nicira, Inc. | Chassis controller |
US9602421B2 (en) | 2011-10-25 | 2017-03-21 | Nicira, Inc. | Nesting transaction updates to minimize communication |
US10505856B2 (en) | 2011-10-25 | 2019-12-10 | Nicira, Inc. | Chassis controller |
US11669488B2 (en) | 2011-10-25 | 2023-06-06 | Nicira, Inc. | Chassis controller |
WO2013082983A1 (zh) * | 2011-12-08 | 2013-06-13 | 中兴通讯股份有限公司 | OpenFlow网络域间的数据发送方法及装置 |
CN103166876A (zh) * | 2011-12-08 | 2013-06-19 | 中兴通讯股份有限公司 | OpenFlow网络域间的数据发送方法及装置 |
CN104137479A (zh) * | 2012-02-10 | 2014-11-05 | 日本电气株式会社 | 计算机系统和虚拟网络的可视化方法 |
JPWO2013118690A1 (ja) * | 2012-02-10 | 2015-05-11 | 日本電気株式会社 | コンピュータシステム、及び仮想ネットワークの可視化方法 |
WO2013118687A1 (ja) * | 2012-02-10 | 2013-08-15 | 日本電気株式会社 | コンピュータシステム、及び仮想ネットワークの可視化方法 |
CN104137479B (zh) * | 2012-02-10 | 2017-06-20 | 日本电气株式会社 | 计算机系统和虚拟网络的可视化方法 |
US9425987B2 (en) | 2012-02-10 | 2016-08-23 | Nec Corporation | Computer system and visualization method of virtual network |
WO2013118690A1 (ja) * | 2012-02-10 | 2013-08-15 | 日本電気株式会社 | コンピュータシステム、及び仮想ネットワークの可視化方法 |
JPWO2013118687A1 (ja) * | 2012-02-10 | 2015-05-11 | 日本電気株式会社 | コンピュータシステム、及び仮想ネットワークの可視化方法 |
CN102594689A (zh) * | 2012-02-22 | 2012-07-18 | 中兴通讯股份有限公司 | 一种分布式网络控制方法及装置 |
JP2015508967A (ja) * | 2012-02-23 | 2015-03-23 | ビッグ スウィッチ ネットワークス インコーポレイテッド | コントローラでネットワークパケット転送を管理するシステム及び方法 |
JP2015511074A (ja) * | 2012-03-23 | 2015-04-13 | 日本電気株式会社 | 通信のためのシステム及び方法 |
CN104221339A (zh) * | 2012-03-28 | 2014-12-17 | 日本电气株式会社 | 通信系统、通信装置、控制装置、通信装置的控制方法及程序 |
US10454805B2 (en) | 2012-03-28 | 2019-10-22 | Nec Corporation | Communication system, communication apparatus, control apparatus, communication apparatus control method and program |
WO2013146785A1 (ja) * | 2012-03-28 | 2013-10-03 | 日本電気株式会社 | 通信システム、通信装置、制御装置、通信装置の制御方法及びプログラム |
US10135676B2 (en) | 2012-04-18 | 2018-11-20 | Nicira, Inc. | Using transactions to minimize churn in a distributed network control system |
US10033579B2 (en) | 2012-04-18 | 2018-07-24 | Nicira, Inc. | Using transactions to compute and propagate network forwarding state |
CN104170334B (zh) * | 2012-04-18 | 2017-11-07 | Nicira股份有限公司 | 一种用于管理网络的控制器的配置托管元件的方法及设备 |
JP2014003392A (ja) * | 2012-06-15 | 2014-01-09 | Ntt Docomo Inc | 制御ノード及び通信制御方法 |
CN102907052A (zh) * | 2012-08-02 | 2013-01-30 | 华为技术有限公司 | 拓扑信息处理方法及设备 |
JP2017022770A (ja) * | 2012-12-24 | 2017-01-26 | 華為技術有限公司Huawei Technologies Co.,Ltd. | ソフトウェア定義ネットワーク・ベースのデータ処理方法、ノード、及びシステム |
US10250502B2 (en) | 2012-12-24 | 2019-04-02 | Huawei Technologies Co., Ltd. | Software defined network-based data processing method, node, and system |
US9787588B2 (en) | 2012-12-24 | 2017-10-10 | Huawei Technologies Co., Ltd. | Software defined network-based data processing method, node, and system |
JP2015508622A (ja) * | 2012-12-24 | 2015-03-19 | 華為技術有限公司Huawei Technologies Co.,Ltd. | ソフトウェア定義ネットワーク・ベースのデータ処理方法、制御ノード、データ・ノード、及びシステム |
US9203748B2 (en) | 2012-12-24 | 2015-12-01 | Huawei Technologies Co., Ltd. | Software defined network-based data processing method, node, and system |
WO2014136867A1 (ja) * | 2013-03-07 | 2014-09-12 | 日本電気株式会社 | 通信システム、統合コントローラ、パケット転送方法及びプログラム |
JP5950019B2 (ja) * | 2013-03-07 | 2016-07-13 | 日本電気株式会社 | 通信システム、統合コントローラ、パケット転送方法及びプログラム |
US9614758B2 (en) | 2013-03-07 | 2017-04-04 | Nec Corporation | Communication system, integrated controller, packet forwarding method and program |
CN103580909B (zh) * | 2013-05-22 | 2018-06-19 | 新华三技术有限公司 | 一种硬件资源定制方法及装置 |
CN103580909A (zh) * | 2013-05-22 | 2014-02-12 | 杭州华三通信技术有限公司 | 一种硬件资源定制方法及装置 |
JP2016066970A (ja) * | 2014-09-26 | 2016-04-28 | アラクサラネットワークス株式会社 | 通信装置及び、通信装置の制御方法 |
US11288249B2 (en) | 2015-09-30 | 2022-03-29 | Nicira, Inc. | Implementing an interface between tuple and message-driven control entities |
US10204122B2 (en) | 2015-09-30 | 2019-02-12 | Nicira, Inc. | Implementing an interface between tuple and message-driven control entities |
JP2016067053A (ja) * | 2015-12-25 | 2016-04-28 | 株式会社Nttドコモ | 制御ノード及び通信制御方法 |
WO2017184758A1 (en) * | 2016-04-20 | 2017-10-26 | Brocade Communications Systems, Inc. | Communication framework for a federation of network controllers |
US10855684B2 (en) | 2016-04-20 | 2020-12-01 | Avago Technologies International Sales Pte. Limited | Communication framework for a federation of network controllers |
US11019167B2 (en) | 2016-04-29 | 2021-05-25 | Nicira, Inc. | Management of update queues for network controller |
US11601521B2 (en) | 2016-04-29 | 2023-03-07 | Nicira, Inc. | Management of update queues for network controller |
JP2017215933A (ja) * | 2016-05-26 | 2017-12-07 | 富士通株式会社 | 情報処理装置、及び、負荷分散制御方法 |
JP2022068125A (ja) * | 2020-10-21 | 2022-05-09 | 華為技術有限公司 | トラフィックフォワーディングを制御するための方法、装置及びシステム |
JP7389091B2 (ja) | 2020-10-21 | 2023-11-29 | 華為技術有限公司 | トラフィックフォワーディングを制御するための方法、装置及びシステム |
US12068955B2 (en) | 2020-10-21 | 2024-08-20 | Huawei Technologies Co., Ltd. | Method for controlling traffic forwarding, device, and system |
Also Published As
Publication number | Publication date |
---|---|
JP6075416B2 (ja) | 2017-02-08 |
JP2017063506A (ja) | 2017-03-30 |
CN105245449B (zh) | 2019-07-30 |
JP2015201891A (ja) | 2015-11-12 |
CN102714628A (zh) | 2012-10-03 |
US20170005950A1 (en) | 2017-01-05 |
CN102714628B (zh) | 2015-11-25 |
JP6358347B2 (ja) | 2018-07-18 |
US20110317701A1 (en) | 2011-12-29 |
CN105245449A (zh) | 2016-01-13 |
US10200307B2 (en) | 2019-02-05 |
EP2523402A4 (en) | 2017-10-18 |
EP2523402A1 (en) | 2012-11-14 |
JPWO2011083780A1 (ja) | 2013-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6358347B2 (ja) | 通信システム、制御装置、ノードの制御方法 | |
JP6418261B2 (ja) | 通信システム、ノード、制御装置、通信方法及びプログラム | |
US8605622B2 (en) | Route setup server, route setup method and route setup program | |
JP5850068B2 (ja) | 制御装置、通信システム、通信方法およびプログラム | |
WO2011118585A1 (ja) | 情報システム、制御装置、仮想ネットワークの管理方法およびプログラム | |
JP5994851B2 (ja) | 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム | |
JP2013537769A (ja) | 通信システム、制御装置、ノード制御方法およびプログラム | |
JP5987971B2 (ja) | 通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラム | |
US10171352B2 (en) | Communication system, node, control device, communication method, and program | |
JPWO2012050071A1 (ja) | 通信システム、制御装置、処理規則の設定方法およびプログラム | |
JP2015530768A (ja) | 制御装置、その制御方法及びプログラム | |
WO2011118574A1 (ja) | 通信システム、制御装置、遅延測定方法およびプログラム | |
JP6954295B2 (ja) | 通信システム、エッジノード、通信方法及びプログラム | |
CA2867800A1 (en) | Control apparatus, communication system, node control method, and program | |
JPWO2013176262A1 (ja) | パケット転送システム、制御装置、パケット転送方法及びプログラム | |
WO2011118586A1 (ja) | 通信システム、制御装置、転送ノード、処理規則の更新方法およびプログラム | |
WO2013062070A1 (ja) | 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム | |
WO2014157609A1 (ja) | 制御装置、通信システム、通信ノードの制御方法及びプログラム | |
JP2013048364A (ja) | 通信システム、制御装置、パケット転送方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201180005536.7 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11731778 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011548995 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011731778 Country of ref document: EP |