US20110317701A1 - Communication system, control device, processing rule setting method, packet transmission method, and program - Google Patents

Communication system, control device, processing rule setting method, packet transmission method, and program Download PDF

Info

Publication number
US20110317701A1
US20110317701A1 US13/137,168 US201113137168A US2011317701A1 US 20110317701 A1 US20110317701 A1 US 20110317701A1 US 201113137168 A US201113137168 A US 201113137168A US 2011317701 A1 US2011317701 A1 US 2011317701A1
Authority
US
United States
Prior art keywords
forwarding
control device
node
path
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/137,168
Inventor
Junichi Yamato
Takayuki Hama
Satoshi Hieda
Satoshi Uchida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Assigned to NEC CORPORATION reassignment NEC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HAMA, TAKAYUKI, HIEDA, SATOSHI, UCHIDA, SATOSHI, YAMATO, JUNICHI
Publication of US20110317701A1 publication Critical patent/US20110317701A1/en
Priority to US15/266,183 priority Critical patent/US10200307B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing

Definitions

  • 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 relates to a communication system, a control device, a processing rule setting method used in the forwarding, a packet transmission method, and a program, for realizing communication by forwarding a packet by forwarding nodes disposed in a network.
  • OpenFlow In recent years, technology known as OpenFlow has been proposed (refer to Non-Patent Document 1). In OpenFlow, communication is taken as end-to-end flow, and path control, recovery from failure, load balancing, and pptimization are performed in flow units.
  • An OpenFlow switch functioning as a forwarding node is provided with a secure channel for communication with an OpenFlow controller that is regarded as a control device, and operates according to a flow table in which appropriate addition or rewriting is instructed by the OpenFlow controller.
  • In the flow table are definitions of sets of rules for collation with packet headers, actions (Actions) defining processing content, and flow statistical information (Stats), for each flow (refer to FIG. 10 ).
  • FIG. 23 shows an example of action names and action content defined in Non-Patent Document 2.
  • OUTPUT is an action for outputting to a specific port (interface).
  • From SET_VLAN_VID to SET_TP_DST are actions for correcting fields of a packet header.
  • an OpenFlow switch when an OpenFlow switch receives a packet, an entry is searched for that has a rule (FlowKey) matching header information of the received packet, from the flow table. As a result of the search, in a case where an entry matching the received packet is found, the OpenFlow switch executes processing content described in an Actions field of the entry in question, for the received packet. On the other hand, as a result of the search, in a case where an entry matching the received packet is not found, the OpenFlow switch forwards the received packet to the OpenFlow controller via a secure channel, requests determination of a path of the packet based on source and destination of the received packet, receives a flow entry for realizing this, and updates the flow table. In this way, the OpenFlow switch uses the entry contained in the flow table as a processing rule to perform packet forwarding.
  • FlowKey FlowKey
  • Non-Patent Documents 1 and 2 are incorporated herein by reference thereto.
  • the following analysis is given by the present invention.
  • path calculations in an OpenFlow controller and the amount of processing required for allotment of entries in a flow table based on a result thereof increase, so that the time from receiving a request to create a path from an OpenFlow switch until a response is given becomes long.
  • Non-Patent Document 1 as an explanation of FIG. 2 thereof, has a description of “all the flow tables are managed by the same controller,” and merely describes that in an OpenFlow protocol a certain OpenFlow switch is allowed to be controlled by two or more controllers in order to improve performance and robustness.
  • Non-Patent Document 2 in “4.3 Connection Interruption,” merely describes that in a case where a certain OpenFlow switch misses a controller, an attempt is made to connect to a backup controller.
  • the present invention has been made in light of the abovementioned situations, and it is an object thereof to provide a configuration that can ensure performance not less than a predetermined level even in a case where a plurality of forwarding nodes exist, as in the example of abovementioned OpenFlow switches.
  • a communication system comprising a plurality of forwarding nodes and a plurality of control devices, wherein
  • each of the plurality of forwarding nodes comprises a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with an own forwarding node
  • the plurality of control devices includes a first control device that comprises: a correspondence management unit that stores correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices; and a path transmission unit that, in response to a predetermined trigger, refers to the correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices, and transmits, among forwarding path information, forwarding path information that includes at least a forwarding node associated with the own first control device, to an other second control device associated with a forwarding node that is not associated with the own first control device, among forwarding nodes on a forwarding path of a received packet.
  • a first control device which is connected to a plurality of forwarding nodes
  • each of the plurality of the forwarding nodes comprising a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with a forwarding node(s), wherein the first control device comprises: a correspondence management unit that stores a correspondence between each of a forwarding nodes group including the plurality of forwarding nodes and each of a plurality of control devices; and a path transmission unit that, in response to a predetermined trigger, refers to the correspondence between each of the forwarding nodes and each of the plurality of control devices, and transmits, among forwarding path information, forwarding path information that includes at least a forwarding node associated with an own first control device, to an other second control device associated with a forwarding node that is not associated with the own first control device, among forwarding nodes on a forwarding path of a received packet.
  • the first control device comprises: a correspondence management unit that stores a correspondence between each of a forwarding nodes group including the plurality of forwarding nodes
  • a second control device comprising:
  • a database that stores a network topology describing connection relationship among forwarding nodes including at least a forwarding node associated with an own second control device; a processing rule generation unit that, based on forwarding path information received from a path transmission unit of a first control unit, refers to the network topology and generates a processing rule for a forwarding node(s) in a forwarding path of a received packet among forwarding node(s) associated with the own second control device; and a transmission unit that transmits the generated processing rule to the forwarding node on the forwarding path of the received packet, among forwarding nodes associated with the own second control device, wherein the processing rule is generated and transmitted to a forwarding node on a forwarding path, among forwarding nodes connected to the own second control device, based on the forwarding path information received from the first control device described above.
  • a processing rule setting method in a communication system comprising a plurality of control devices and a plurality of forwarding nodes each comprising a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with an own forwarding node, the processing rule setting method comprising:
  • a first control device among the plurality of control devices in response to a predetermined trigger, referring to correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices, and transmitting, among forwarding path information, at least forwarding path information that includes a forwarding node associated with the own first control device, to a second control device associated with a forwarding node that is not associated with the first control device, among forwarding nodes on a forwarding path of the received packet; and by the second control device that receives the forwarding path information, generating a processing rule by referring to network topology describing connection among forwarding nodes including at least a forwarding node associated with the second control device and transmitting the processing rule to a forwarding node on a forwarding path of a received packet, among forwarding nodes associated with the own second control device.
  • the present method is linked with specific apparatuses, referred to as a forwarding node and a control device, as described above.
  • a program that is executed on a computer configuring the above mentioned first and second control devices. It is to be noted that this program can be recorded in a computer-readable storage medium. That is, the present invention can be embodied as a computer program product.
  • a communication system comprising a plurality of forwarding nodes and a plurality of control devices, wherein
  • each of the plurality of forwarding nodes comprises a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with an own forwarding node; each of the plurality of control devices comprises a correspondence management unit that stores correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices; when a received packet is forwarded from a certain forwarding node, a control device associated with a forwarding node on a forwarding path refers to the correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices to transmit the received packet; and a control device associated with a forwarding node at an end of the forwarding path transmits the received packet to the forwarding node at the end, and instructs the forwarding node at the end to output the received packet from a specified port.
  • a communication method being a method of transmitting a packet in a communication system comprising a plurality of control devices, and a plurality of forwarding nodes each comprising a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with an own forwarding node, the communication method comprising:
  • a control device associated with a forwarding node on a forwarding path when a received packet is forwarded from a certain forwarding node, referring to a correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices to transmit the received packet in turn, and by a control device associated with a forwarding node at an end of the forwarding path, transmitting the received packet to the forwarding node at the end, and instructing the forwarding node at the end to output the received packet from a specified port.
  • the present method is linked with specific instruments, referred to as a forwarding node and a control device, as described above.
  • FIG. 1 is a diagram for describing an outline of the present invention
  • FIG. 2 is a diagram for describing an outline configuration of a control device (a first control device) of FIG. 1 ;
  • FIG. 3 is a diagram for describing an outline configuration of a control device (a second control device) of FIG. 1 ;
  • FIG. 4 is another diagram for describing an outline of the present invention.
  • FIG. 5 is a diagram showing a configuration in a first exemplary embodiment of the present invention.
  • FIG. 6 is a diagram showing a configuration of an OpenFlow controller in the first exemplary embodiment of the present invention.
  • FIG. 7 is a table representing connection relationships of nodes and OpenFlow switches of FIG. 5 ;
  • FIG. 8 is a table representing correspondences between the OpenFlow switches and OpenFlow controllers of FIG. 5 ;
  • FIG. 9 is a diagram showing a configuration of an OpenFlow switch in the first exemplary embodiment of the present invention.
  • FIG. 10 is a diagram representing a configuration of a processing rule (flow entry) recorded in a flow table of an OpenFlow switch in the first exemplary embodiment of the present invention
  • FIG. 11 is a specific example of a processing rule (flow entry) recorded in the flow table of the OpenFlow switch of FIG. 5 ;
  • FIG. 12 is a sequence diagram illustrating an operation of the first exemplary embodiment of the present invention.
  • FIG. 13 is a diagram in which an operation according to a sequence of FIG. 12 is recorded in FIG. 5 ;
  • FIG. 14 is a second sequence diagram representing an operation of the first exemplary embodiment of the present invention.
  • FIG. 15 is a diagram in which an operation according to a sequence of FIG. 14 is recorded in FIG. 5 ;
  • FIG. 16 is a diagram showing a configuration of an OpenFlow controller in a second exemplary embodiment of the present invention.
  • FIG. 17 is a diagram showing a configuration of an OpenFlow controller in a third exemplary embodiment of the present invention.
  • FIG. 18 is a sequence diagram illustrating an operation of the third exemplary embodiment of the present invention.
  • FIG. 19 is a diagram showing a configuration of an OpenFlow controller in a fourth exemplary embodiment of the present invention.
  • FIG. 20 is a sequence diagram illustrating an operation of the fourth exemplary embodiment of the present invention.
  • FIG. 21 is a diagram for describing a fifth exemplary embodiment of the present invention.
  • FIG. 22 is a sequence diagram illustrating an operation of the fifth exemplary embodiment of the present invention.
  • FIG. 23 is a diagram showing an example of action names and action contents.
  • a communication system comprises as shown in FIG. 1 , a plurality of control devices 100 A to 100 C that generate and transmit, to forwarding node(s) on a calculated forwarding path, among forwarding nodes connected to each of the control devices, a processing rule determining a forwarding destination of a received packet, by referring to a network topology in which connection of the forwarding nodes are described, and a plurality of forwarding nodes 301 A to 303 A, 301 B to 303 B, and 301 C to 303 C, each of which is connected to any of the plurality of control devices 100 A to 100 C and comprises a packet processing unit that performs processing of a received packet based on a processing rule received from a control device associated with an own forwarding node.
  • reference symbols in the drawings noted in this outline are examples shown solely in order to assist understanding, and are not intended to limit the present invention
  • At least one of the plurality of control devices 100 A to 100 C (for example, control device 100 A), as shown in FIG. 2 , comprises an correspondence management unit 16 A that stores correspondences between the forwarding nodes 301 A to 303 A, 301 B to 303 B, and 301 C to 303 C, and the control devices 100 A to 100 C, and a path transmission unit 13 that, in response to a predetermined trigger such as reception of a packet for which a processing rule is unknown from a forwarding node, refers to correspondence between each of the forwarding nodes and each of the control devices, and transmits, among forwarding path information, forwarding path information that includes at least a forwarding node associated with the at least own control device, to an other control device(s) (for example, a control device 100 B or 100 C) associated with a forwarding node that is/are not associated with the own control device, among forwarding nodes on a forwarding path of a received packet.
  • a predetermined trigger such as reception of a packet for which a processing
  • a control device that is on a receiving side of the forwarding path information (for example, a control device 100 B or 100 C), as shown in FIG. 3 , comprises a database (topology DB) 15 that stores a network topology in which are described connection relationship among forwarding nodes including at least a forwarding node(s) associated with the own control device; a processing rule generation unit 18 A that generates a processing rule by referring to a network topology, with regard to a forwarding node on a forwarding path of a received packet, among forwarding nodes associated with the control deviqe, based on received forwarding path information; and a transmission unit 17 A that transmits the generated processing rule to a forwarding node(s) in the forwarding path of the received packet, among forwarding nodes associated with the own control device.
  • topology DB database
  • the control device 100 A in response to a request from a certain client node connected to the forwarding node 302 A, calculates a forwarding path in which a packet is forwarded via forwarding nodes 302 A, 303 A, 302 B, 303 B, 302 C, and 303 C, as shown by a broken line in FIG. 1 .
  • the control device 100 A generates and transmits a processing rule implementing the forwarding path, for the forwarding nodes 302 A and 303 A that are connected to the own control device 100 A.
  • control device 100 A refers to a correspondence between each of the forwarding nodes and each of the control devices, and transmits forwarding path information for generating a processing rule, to the control devices 100 B and 100 C that are associated with the forwarding nodes 301 B to 303 B, and 301 C to 303 C that are not connected to the own control device 100 A.
  • the control devices 100 B and 100 C that received the forwarding path information generate and transmit the processing rule to the forwarding nodes 302 B, 303 B, 302 C, and 303 C on the forwarding path, among the forwarding nodes connected to the own control device(s) ( 100 B, 100 C), based on the forwarding path information.
  • control devices 100 B and 100 C use a forwarding path received from the control device 100 A, and by generating and transmitting a processing rule, a processing rule is set for all forwarding nodes in the forwarding path.
  • the control device 100 A calculates a forwarding path for forwarding a packet via the forwarding nodes 302 A, 303 A, 302 C, and 303 C shown by a broken line in FIG. 4 .
  • the control device 100 A generates and transmits a processing rule implementing the forwarding path, to the forwarding nodes 302 A and 303 A that are connected to the control device 100 A.
  • the control device 100 A refers to correspondences between respective forwarding nodes and respective control devices, and transmits forwarding path information to the control device 100 C that is associated with the forwarding nodes 301 C to 303 C that are not connected to the own control device 100 A.
  • the control device 100 C that received the forwarding path information generates and transmits the processing rule to the forwarding nodes 302 C and 303 C in the forwarding path, among the forwarding nodes connected to the own control device 100 C, based on the forwarding path information.
  • the control device 100 C generates and transmits a processing rule, using the forwarding path received from the control device 100 A whereby the processing rule is set for all forwarding nodes in the forwarding path.
  • the communication system according to the first aspect.
  • each of the plurality of control devices may further comprise:
  • a database that stores a network topology describing connection among forwarding nodes including at least a forwarding node associated with the own control device; a processing rule generation unit that, based on forwarding path information received from the path transmission unit, refers to the network topology and generates the processing rule for a forwarding node in a forwarding path of a received packet among forwarding nodes associated with the own control device; and a transmission unit that transmits the generated processing rule to the forwarding node on the forwarding path of the received packet, among forwarding nodes associated with the own control device.
  • the first control device comprising the path transmission unit may further comprise:
  • a database that stores a network topology describing connection among forwarding nodes including at least a forwarding node associated with the own first control device; and a path calculation unit that, when receiving from a forwarding node connected to the first control device a request to transmit a processing rule concerning a new packet, refers to the network topology and calculates a forwarding path.
  • a control device associated with a forwarding node(s) on the forwarding path may forward the new packet independently of transmission processing of a processing rule
  • a control device associated with a forwarding node at an end of the forwarding path may transmit the new packet to the forwarding node at the end, and instruct the forwarding node at the end to output the new packet from a specified port.
  • the forwarding path information may include a processing rule for transmission to a forwarding node that is not associated with the own first control device, and
  • a second control device that received the forwarding path information may transmit a processing rule included in the forwarding path information to a forwarding node associated with the own second control device, among forwarding nodes on a forwarding path of a received packet.
  • the forwarding path may be a forwarding path calculated in advance for a combination of a start point node and an end point node that are arbitrarily selected.
  • the forwarding path may be cached for a predetermined time period, and calculation of a forwarding path may be omitted when a combination of an identical start point node and end point node is cached.
  • each of the plurality of control devices may comprise: the path transmission unit and a path calculation unit that, when receiving from a forwarding node connected to the own control device a request to transmit a processing rule concerning a new packet, refers to the network topology and calculates a forwarding path,
  • the path transmission unit of a first control device may transmit, to a second control device associated with a forwarding node that received a packet from a forwarding node on the forwarding path, connected to the own first control device, the new packet and a start point for calculating a forwarding path for a forwarding node associated with the second control device, instead of the forwarding path information;
  • the second control device that received the start point and the new packet may recalculate a forwarding path based on the start point and the new packet, and generates and transmits a processing rule.
  • control device may comprise a data synchronization unit that obtains information of a plurality of forwarding nodes connected to the own control device, and based on the obtained data updates at least one of connection relationship of each of the plurality of forwarding nodes, and correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices.
  • the first control device according to the second aspect.
  • the second control device according to the third aspect.
  • first and second control devices, the processing rule setting method, the program, the communication system, and the communication method as described in the abovementioned second to seventh aspects, similar to the communication system of Mode 1, can be expanded to the contents of Mode 2 to Mode 9, with regard to respective elements and steps.
  • FIG. 5 is a diagram showing a configuration of the first exemplary embodiment of the present invention.
  • OFSs OpenFlow switches
  • 301 A OpenFlow switches
  • 302 A 302 A
  • 301 B OpenFlow controllers
  • OFCs OpenFlow controllers
  • FIG. 5 is illustrative; there is no limitation to the number of OFSs or OFCs, and there is no necessity for the same number of OFSs to be connected to each of the respective OFCs.
  • node A and node D are devices for transmitting and receiving a packet, such as a user terminal, various types of service server, or the like.
  • OFSs 301 A, 302 A, 301 B, and 302 B correspond to the forwarding nodes described above, hold flow entries (rule+action) set by OFCs 100 A and 100 B in respective flow tables, and execute actions of flow entries that have a rule matching a received packet.
  • the OFS 301 A and 302 A are connected to the OFC 100 A, and operate according to a control from the OFC 100 A.
  • the OFSs 301 B and 302 B are connected to the OFC 100 B, and operate according to a control from the OFC 100 B. More specifically, in a case where a rule matching a received packet cannot be found in a flow table, the OFSs 301 A and 302 A request the OFC 100 A to generate a forwarding path for the received packet and transmit (set) a flow entry (rule+action) for realizing the forwarding path.
  • the OFSs 301 B and 302 B request the OFC 100 B to generate a forwarding path for the received packet and transmit (set) a flow entry (rule+action) for realizing the forwarding path.
  • These types of OFS can be configured by adding functions described above to switches of respective vendors, as described in Non-Patent Documents 1 and 2.
  • the OFCs 100 A and 100 B correspond to the abovementioned control devices, and by transmitting (setting) flow entries (rule+action) to the OFSs 301 A, 302 A, 301 B and 302 B respectively connected thereto, control the later. Furthermore, the OFCs 100 A and 100 B of the present exemplary embodiment are connected, and as described later, forwarding path information generated by one thereof can be transmitted to the other.
  • FIG. 6 is a diagram showing a configuration of an OFC of the first exemplary embodiment.
  • the OFC 100 comprises a packet forwarding unit 11 , a path calculation unit 12 , a path transmission unit 13 , an inter-OFC communication unit 14 , a topology DB 15 , an OFS-OFC correspondence management unit 16 , an OFS communication unit 17 , a flow generation unit 18 , and a path acceptance unit 19 .
  • the packet forwarding unit 11 When there is no relevant flow entry in the OFS and a request for transmission (setting) of a processing rule (flow entry) is received, the packet forwarding unit 11 performs an operation of transmitting, to another OFC, a packet to which is attached a request for transmission (setting) of the processing rule (flow entry), via the inter-OFC communication unit 14 .
  • the path calculation unit 12 Based on a switch ID of a source of the request for transmission (setting) of the processing rule (flow entry) and a packet outputted from the OFS communication unit 17 , the path calculation unit 12 refers to the network topology describing connection between forwarding nodes recorded in the topology DB 15 , and calculates a forwarding path in a sequential flow including the packet forwarded from the OFS. This path calculation can exploit, for example, Dijkstra's shortest path algorithm. Furthermore, in the path calculation, it is also possible to include consideration of traffic conditions in the network.
  • the path transmission unit 13 outputs a received packet and a forwarding path calculated in the path calculation unit 12 , to the OFS-OFC correspondence management unit 16 . Furthermore, the path transmission unit 13 refers to a correspondence between an OFS recorded in the OFS-OFC correspondence management unit 16 and an OFC connected to the OFS, and performs an operation of transmitting, via the inter-OFC communication unit 14 , forwarding path information including the received packet and the forwarding path calculated in the path calculation unit 12 , to an OFC (OFC associated with a certain OFS in the forwarding path) connected to a certain OFS in the forwarding path calculated in the path calculation unit 12 .
  • OFC OFC associated with a certain OFS in the forwarding path
  • the inter-OFC communication unit 14 is connected to an inter-OFC communication unit 14 of an other OFC, and performs giving and receiving of forwarding path information and packets attached to requests for transmission (setting) of the flow entry in question as described above.
  • the topology DB (database) 15 records network topology describing connection relationships of nodes (various types of service server and external network) including OFSs.
  • FIG. 7 describes connection relationship of nodes including the OFCs of FIG. 5 in a table format.
  • “OFS; 302 A” and the like in actuality contain an IP address or MAC address of the OFS; 302 A.
  • the OFCs 100 A and 100 B each hold the topology DB 15 , but a configuration is also possible in which the OFC 100 A and 100 B share the topology DB 15 .
  • the OFS-OFC correspondence management unit 16 records correspondences between the OFS and the OFC connected to the OFS(s), and outputs a forwarding path and received packet outputted from the path transmission unit 13 and information of the OFS(s) connected to the OFC, to the flow generation unit 18 .
  • FIG. 8 describes connections between the OFSs and OFCs of FIG. 5 in a table format. It is to be noted that in the present exemplary embodiment, the OFS-OFC correspondence management unit 16 is provided independently of the topology DB 15 , but it is also possible to merge the topology DB 15 and the OFS-OFC correspondence management unit 16 . For example, in addition to connections of the OFSs shown in FIG. 7 , fields describing connected OFCs 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 request for transmission (setting) of a flow entry together with the received packet transmitted from the OFS, to the path calculation unit 12 .
  • the OFS communication unit 17 transmits a processing rule (flow entry) generated in the flow generation unit 18 to a certain OFS in the forwarding path, among OFSs (OFSs associated with the OFC) connected to the OFC, and directs setting of a processing rule (flow entry).
  • the flow generation unit 18 based on the received packet and the forwarding path (information) and outputted from the OFS-OFC correspondence management unit 16 or the path acceptance unit 19 , refers to the information of an OFS connected to the OFC and network topology of the topology DB 15 , and generates a processing rule (flow entry) to be set in a certain OFS (an OFS associated with OFC) on the forwarding path, among OFSs connected to the OFC.
  • the path acceptance unit 19 outputs the forwarding path information including the received packet received from an other OFC to the flow generation unit 18 , and performs an operation to generate the processing rule (flow entry).
  • the abovementioned packet forwarding unit 11 , the path calculation unit 12 , the path transmission unit 13 , the inter-OFC communication unit 14 , the topology DB 15 , the OFS-OFC correspondence management unit 16 , the OFS communication unit 17 , the flow generation unit 18 , and the path acceptance unit 19 can be realized by a storage device or devices provided in a computer configuring the respective OFCs and a computer program using the storage device(s) as hardware.
  • FIG. 9 is a diagram showing a configuration of an OFS of the first exemplary embodiment described above.
  • an OFS 300 comprises an OFC communication unit 31 , a flow setting unit 32 , a packet processing unit 33 , and a flow table 34 . Furthermore, in the OFS 300 , an OFC to which the OFS 300 is connected (associated with the OFS 300 ) is set in advance.
  • the OFC communication unit 31 receives a processing rule (flow entry) from the OFS communication unit 17 of the OFC, and in addition to outputting to the flow setting unit 32 , in a case where there is no flow entry corresponding to a received packet from the packet processing unit 33 , requests the OFC to generate a processing rule (flow entry) for calculation of a forwarding path to be applied to the received packet and for realization of the forwarding path.
  • a processing rule flow entry
  • the flow setting unit 32 performs an operation to record or update 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 matching header information of the received packet received from a node including an other OFS, and executes processing content described in an Actions field of the processing rule (flow entry) matching the received packet.
  • the flow table 34 is a table containing processing rules (flow entries) transmitted from an OFC via the OFC communication unit 31 .
  • FIG. 10 is a diagram showing a field configuration of the flow table 34 .
  • IP SA source IP address field
  • IP DA destination IP address field
  • FIG. 11 is an example of a processing rule (flow entry) set in the OFSs 301 A, 302 A, 301 B and 302 B.
  • a forwarding path for forwarding a packet between node A and node D via the OFSs 301 A, 302 A, 301 B and 302 B is set.
  • an action for forwarding a packet from node A to node D as a destination in a forward direction (interface 2 (connected to OFS 302 A; refer to FIG. 7 )
  • an action for forwarding a packet from node D to node A as a destination in a reverse direction are set in OFS 301 A.
  • OFSs 302 A, 301 B and 302 B by setting processing rules (flow entries) in a forward direction and a reverse direction, packet forwarding between node A and node D is performed in the above described forwarding path.
  • FIG. 12 is a sequence diagram representing the operation of the present exemplary embodiment.
  • a packet (new packet) with a destination of node D that does not match any processing rule (flow entry) stored in the flow table 34 of the OFS 301 A is transmitted from node A that is connected to the OFS 301 A.
  • the OFS 301 A On receiving a new packet (step S 001 ), the OFS 301 A makes a request to the OFC 100 A, which is connected to the OFS 301 A, for transmission (setting) of a processing rule (flow entry) including the new packet (step S 002 ). It is to be noted that in step S 001 , in a case of receiving a packet that matches a processing rule (flow entry) stored in the flow table 34 of the OFS 301 A, the following processing is not performed, but packet forwarding processing according to a node processing rule is performed, as shown in the lowest portion of FIG. 12 .
  • the OFC 100 A to which a request is made for transmission (setting) of the processing rule (flow entry), refers to the network topology of the topology DB 15 , based on the OFS 301 A that is a request source and node D that is a destination of the new packet, in the path calculation unit 12 , to calculate a forwarding path in a sequential flow including the packet forwarded from the OFS 301 A (step S 003 ).
  • a forwarding path is calculated, in which a packet from node A with a destination of node D is forwarded in a sequence of OFS 301 A, 302 A, 301 B and 302 B.
  • the OFC 100 A refers to a correspondence between OFS and OFC, stored in the OFS-OFC correspondence management unit 16 , and searches for an OFC associated with an OFS not connected to the OFC 100 A, among OFSs in the calculated forwarding path (step S 004 ).
  • the OFC 100 B that is connected to the OFSs 301 B and 302 B which are not connected to the OFC 100 A of FIG. 5 , is retrieved.
  • the OFC 100 A transmits forwarding path information including the received packet and forwarding path calculated in step S 003 , to the retrieved OFC 100 B.
  • the OFC 100 A refers to the network topology of the topology DB 15 and information of the OFS connected to the own OFC 100 A, generates a processing rule (flow entry) to be set in an OFS in the forwarding path, among OFSs connected to the OFC 100 A, and performs transmission (setting) with respect to the OFSs 301 A and 302 A (step S 006 - 1 ).
  • the OFC 100 B also refers to the network topology of the topology DB 15 and information of the OFS connected to the own OFC 100 B, generates a processing rule (flow entry) to be set in an OFS in the forwarding path, among OFSs connected to the own OFC 100 B, and performs transmission (setting) with respect to the OFSs 301 B and 302 B (step S 006 - 2 ).
  • processing is performed to record or update the received processing rule (flow entry) in the flow table 34 (step S 007 ).
  • the OFC performs transmission (setting) of a processing rule (flow entry) at the same time in an OFS in the forwarding path, among OFSs connected to the own OFC, but among these, an arrangement is possible in which transmission (setting) of the processing rule (flow entry) in a portion of the OFSs among these is performed, (for example, an OFS or OFSs on an upstream side of the forwarding path).
  • each OFC performs transmission (setting) of a processing rule (flow entry) after receiving a request for transmission (setting) of a processing rule (flow entry) from respective OFSs.
  • FIG. 13 is a diagram in which an operation according to a sequence of FIG. 12 is recorded in a configuration diagram of FIG. 5 .
  • the OFC 100 A With receipt of a request for transmission (setting) of a processing rule of a certain packet as a trigger from the OFS 301 A, the OFC 100 A performs calculation of the forwarding path, and sets a result thereof as a processing rule (flow entry) with respect to the OFSs 301 A and 302 A. Furthermore, by the OFC 100 A transmitting forwarding path information to the OFC 100 B, setting of a processing rule (flow entry) for the OFSs 301 B and 302 B is performed. As is clear also from FIG.
  • the number of OFS/OFC is not particularly limited, and in a case where an other OFS is present in the forwarding path, it is possible to transmit the forwarding path information to an OFC concerned connected to the OFS, and to set a processing rule (flow entry).
  • both OFCs 100 A and 100 B of FIG. 13 do not need to be provided with the path calculation unit 12 and the path acceptance unit 19 ; for example, a configuration can be used in which, if the OFC 100 A receives a new packet, the path calculation unit 12 is disposed in the OFC 100 A and the path acceptance unit 19 is disposed in the OFC 100 B.
  • FIG. 14 is a sequence diagram representing flow of bypass forwarding of a new packet in the present exemplary embodiment. Since the flow of steps S 001 to S 003 of FIG. 14 is the same as steps S 001 to S 003 of FIG. 12 , a description is given below concerning sequential flow performed after forwarding path calculation.
  • the OFC 100 A that has calculated a forwarding path searches for an OFS (an OFS located at the end of the forwarding path) that is connected to a destination node on the calculated forwarding path, then refers to correspondences between OFS and OFC, stored in the OFS-OFC correspondence management unit 16 , and retrieves an OFC associated with the OFS concerned (step S 104 ).
  • a forwarding path is calculated in which a packet from node A to a destination of node D is forwarded in a sequence of OFS 301 A, 302 A, 301 B and 302 B.
  • the OFS at the end of the forwarding path is the OFS 302 B, and the OFC 100 B connected to the OFS 302 B is retrieved.
  • the OFC 100 A transmits a new packet received in step S 001 , to the retrieved OFC 100 B, and requests a transmission from a specified interface of the subordinate OFS 302 B (step S 105 ).
  • the OFC 100 B requests the subordinate OFS 302 B to transmit the new packet from a specified interface (step S 106 ).
  • the OFS 302 B transmits the new packet from the specified interface in accordance with an instruction from the OFC 100 B (step S 107 ).
  • Various methods can be considered as an arrangement in which the OFS 302 B transmits the new packet to a specified interface; a processing rule (flow entry) for outputting a packet having specified header information from a specified interface may be stored in each OFS, and processing for writing the header information in a new packet may be performed by the OFC 100 B.
  • the number of OFS/OFC is not particularly limited and it is possible to transmit a packet without going through an OFS along the forwarding path.
  • the forwarding path is not limited to the above description.
  • operation is approximately the same as the above description.
  • FIG. 16 is a diagram showing a configuration of the OFC 101 of the second exemplary embodiment of the present invention.
  • a point of difference from the OFC 100 of the first exemplary embodiment shown in FIG. 6 is the addition of a data synchronization unit 20 for obtaining information of nodes connected to the OFC 100 .
  • the data synchronization unit 20 specifically, collects information of devices and configurations thereof coming from various nodes on a network using LLDP (Link Layer Discovery Protocol) or various types of vendor protocol, acquires physical connections between nodes, and performs an operation to reflect results thereof in a topology DB 15 or OFS-OFC correspondence management unit 16 .
  • LLDP Link Layer Discovery Protocol
  • the data synchronization unit 20 is not installed in all OFCs, but a data synchronization unit 20 of a certain OFC updates a topology DB 15 and an OFS-OFC correspondence management unit 16 of an other OFC, via an inter-OFC communication unit 14 .
  • FIG. 17 is a diagram showing a configuration of the OFC 102 of the third exemplary embodiment of the present invention.
  • a point of difference from the OFC 100 of the first exemplary embodiment shown in FIG. 6 is the addition of a path recording unit 22 to the path calculation unit 12 .
  • the path recording unit 22 is used in order to record a forwarding path calculated in a path calculation unit 12 until a predetermined timing has been reached.
  • FIG. 18 is a sequence diagram representing the operation of the present exemplary embodiment.
  • a packet (new packet) with a destination of node D that does not match any processing rule (flow entry) stored in a flow table 34 of an OFS 301 A is transmitted from node A that is connected to the OFS 301 A.
  • step S 001 Operation as far as where the OFS 301 A receives a new packet (step S 001 ) and requests an OFC 100 A, which is connected to the own OFS 301 A, to transmit (set) a processing rule (flow entry) including the new packet (step S 002 ) is the same as in the first exemplary embodiment. It is to be noted that also in the present exemplary embodiment, in step S 001 , in a case of receiving a packet that matches a processing rule (flow entry) stored in the flow table 34 of the OFS 301 A, the following processing is not performed but packet forwarding processing according to a node processing rule is performed, as shown in the lowest portion of FIG. 18 .
  • the OFC 100 A Before calculating a forwarding path in the path calculation unit 12 , the OFC 100 A, to which a request is made for transmission (setting) of the processing rule (flow entry), refers to the path recording unit 22 , and searches forwarding path information having a characteristic that is the same as the new packet (for example, a packet having a destination of node D, from the OFS 301 A) (step S 201 ).
  • the OFC 100 A omits calculation of the forwarding path and performs operation of step S 004 and following.
  • the OFC 100 A in a case of not finding forwarding path information having a characteristic that is the same as the new packet (for example, a packet having a destination of node D, from the OFS 301 A), the OFC 100 A, based on node D that is the destination of the new packet and the OFS 301 A that is the origin of the request, refers to network topology of the topology DB 15 and calculates a forwarding path in a sequential flow including the packet forwarded from the OFS 301 A (step S 202 ). After that, the OFC 100 A stores the calculated forwarding path together with a characteristic of the new packet in the path recording unit 22 (step S 203 ).
  • FIG. 19 is a diagram showing a configuration of an OFC 103 of the fourth exemplary embodiment of the present invention. Points of difference from the OFC 100 of the first exemplary embodiment shown in FIG. 6 are the addition of a path recording unit 22 to the path calculation unit 12 , and the addition of a speculative path calculation unit 23 that generates and stores a forwarding path in the path recording unit 22 .
  • the path recording unit 22 is used in order to store a forwarding path calculated in the path calculation unit 12 until a predetermined timing has been reached.
  • the speculative path calculation unit 23 refers to a topology DB 15 , calculates a forwarding path from a certain OFS to a certain node, and records in the path recording unit 22 .
  • “speculative” means not waiting for a transmission (setting) request regarding a processing rule (flow entry), but preemptively generating a processing rule (flow entry).
  • FIG. 20 is a sequence diagram representing the operation of the present exemplary embodiment.
  • a packet (new packet) with a destination of node D that does not match any processing rule (flow entry) stored in a flow table 34 of an OFS 301 A is transmitted from node A that is connected to the OFS 301 A.
  • the speculative path calculation unit 23 of OFCs 100 A and 100 B performs calculation of a speculative forwarding path (steps S 300 - 1 and S 300 - 2 ).
  • step S 001 Operation as far as where the OFS 301 A receives a new packet (step S 001 ) and requests the OFC 100 A, which is connected to the OFS 301 A, to transmit (set) a processing rule (flow entry) including the new packet (step S 002 ), is the same as in the first exemplary embodiment. It is to be noted that in the present exemplary embodiment, in step S 001 , in a case of receiving a packet that matches a processing rule (flow entry) stored in the flow table 34 of the OFS 301 A, the following processing is not performed but packet forwarding processing according to a node processing rule is performed, as shown in the lowest portion of FIG. 20 .
  • the OFC 100 A Before calculating a forwarding path in the path calculation unit 12 , the OFC 100 A, to which a request is made for transmission (setting) of the processing rule (flow entry), refers to the path recording unit 22 , and searches forwarding path information having a characteristic that is the same as the new packet (for example, a packet having a destination of node D, from the OFS 301 A) (step S 301 ).
  • the OFC 100 A omits calculation of the forwarding path to perform operation of step S 004 and following.
  • the OFC 100 A in a case of not finding forwarding path information having a characteristic that is the same as the new packet (for example, a packet having a destination of node D, from the OFS 301 A), the OFC 100 A, based on node D that is the destination of the new packet and the OFS 301 A that is the origin of the request, refers to network topology of the topology DB 15 and calculates a forwarding path in a sequential flow including the packet transmitted from the OFS 301 A (step S 302 ). After that, the OFC 100 A stores the calculated forwarding path together with a characteristic of the new packet in the path recording unit 22 (step S 303 ).
  • FIG. 21 is a diagram representing an outline operation of the fifth exemplary embodiment of the present invention.
  • a point is that an OFC 100 A transmits a new packet and an OFS ( 301 B) that is a start point for which an OFC 100 B calculates a forwarding path, not forwarding path information.
  • the OFC 100 B generates a forwarding path from the OFS 301 B that has been specified as the start point, as far as a destination node (node D), and performs transmission (setting) of a processing rule (flow entry) corresponding thereto to an OFS connected to the OFC 100 B.
  • FIG. 22 is a sequence diagram representing the operation of the present exemplary embodiment.
  • step S 001 receives a new packet (step S 001 ) and requests the OFC 100 A, which is connected to the OFS 301 A, to transmit (set) a processing rule (flow entry) including the new packet (step S 002 ) is the same as in the first exemplary embodiment.
  • step S 001 in a case of receiving a packet that matches a processing rule (flow entry) stored in a flow table 34 of the OFS 301 A, the following processing is not performed but packet forwarding processing according to a node processing rule is performed, as shown in the lowest portion of FIG. 22 .
  • the OFC 100 A to which a request for transmission (setting) of the processing rule (flow entry) is made, refers to network topology of a topology DB 15 , based on the request source OFS 301 A and node D that is a destination of the new packet, in the path calculation unit 12 , and calculates a forwarding path in a sequential flow including the packet forwarded from the OFS 301 A (step S 403 ).
  • the OFC 100 A does not calculate all forwarding paths from node A to node D, but calculates a partial forwarding path showing which OFS connected to the own OFC ( 100 A) is to be passed through in the forwarding and from which interface output is to made.
  • the OFC 100 A refers to a correspondence between OFS and OFC, stored in an OFS-OFC correspondence management unit 16 , and searches for an OFC connected to an OFS (a start point OFS of a segment for which a forwarding path has not been calculated) that is connected to an output interface of an OFS that is an end of the calculated forwarding path (step S 404 ).
  • the OFC 100 B that is connected to the OFS 301 B of FIG. 21 is retrieved.
  • the OFC 100 A transmits, to the OFC 100 B, an OFS (a start point OFS of a segment for which a forwarding path has not been calculated) that is connected to an output interface of an OFS that is an end of the calculated forwarding path, and a new packet received in step S 001 (step S 405 ).
  • an OFS a start point OFS of a segment for which a forwarding path has not been calculated
  • the OFS that is a start point OFS of the segment for which a forwarding path has not been calculated and the OFC 100 B that receives a new packet received in step S 001 refer to the network topology of the topology DB 15 , based on the OFS 301 B that is specified as start point and node D that is a destination of the new packet, in the path calculation unit 12 , to calculate a forwarding path according to an OFS group connected to the OFC 100 B (step S 406 ).
  • the OFC 100 B calculates a forwarding path for forwarding from the OFS 301 B to the OFS 302 B, and forwarding from an interface # 2 of the OFS 302 B to node D.
  • the OFC 100 A refers to the network topology of the topology DB 15 and information of the OFS connected to the OFC 100 A, generates a processing rule (flow entry) to be set in an OFS in the forwarding path, among OFSs connected to the OFC 100 A, and performs transmission (setting) with respect to the OFSs 301 A and 302 A (step S 407 - 1 ).
  • the OFC 100 B also refers to the network topology of the topology DB 15 and information of the OFS connected to the OFC 100 B, generates a processing rule (flow entry) to be set in an OFS in the forwarding path, among OFSs connected to the own control device OFC ( 100 B), and performs transmission (setting) to the OFSs 301 B and 302 B (step S 407 - 2 ).
  • processing is performed to register or update the received processing rule (flow entry) in the flow table 34 (step S 007 ).
  • the present exemplary embodiment it is possible to perform the forwarding path calculation by distributing the calculation to several OFCs. Furthermore, since the abovementioned configuration is used, it is possible to dispose the topology DB 15 in a distributed manner.
  • the present exemplary embodiment can be configured in a combination with the second to the fourth exemplary embodiments as described above.
  • a modified embodiment is possible in which the OFC 100 A uses a cached forwarding path, and path calculation is performed by the OFC 100 B and following.
  • a modified embodiment is possible in which the OFC 100 A uses a speculative forwarding path calculated in advance, and path calculation is performed by the OFC 100 B and following.
  • each OFC is respectively provided with a path calculation unit 12 .
  • forwarding path calculation processing does not occur in OFCs on a side receiving forwarding path information. Therefore, the path calculation unit 12 in OFCs where the forwarding path calculation processing does not occur regularly can be omitted. For a similar reason, it is possible to omit a path acceptance unit 19 from OFCs that do not receive the forwarding path information.

Abstract

A communication system comprises control devices, and forwarding nodes each includes packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from control device associated with the node. First control device among the control devices, in response to a predetermined trigger, refers to correspondence between forwarding nodes and control devices, and transmits, among forwarding path information, at least forwarding path information that includes a forwarding node associated with the first control device, to second control device associated with a forwarding node that is not associated with first control device, among forwarding nodes on a forwarding path of the received packet. Second control device generates and sends the processing rule to a forwarding node on the forwarding path, among forwarding nodes associated with the second control device, based on the forwarding path information.

Description

    REFERENCE TO RELATED APPLICATION
  • This application is a continuation of International Application No. PCT/JP2011/050009, filed on Jan. 4, 2011, and claims priority to Japanese Patent Application No. 2010-000740 filed on Jan. 5, 2010, both of which are incorporated herein by reference in their entireties.
  • TECHNICAL FIELD
  • 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 relates to a communication system, a control device, a processing rule setting method used in the forwarding, a packet transmission method, and a program, for realizing communication by forwarding a packet by forwarding nodes disposed in a network.
  • BACKGROUND
  • In recent years, technology known as OpenFlow has been proposed (refer to Non-Patent Document 1). In OpenFlow, communication is taken as end-to-end flow, and path control, recovery from failure, load balancing, and pptimization are performed in flow units. An OpenFlow switch functioning as a forwarding node is provided with a secure channel for communication with an OpenFlow controller that is regarded as a control device, and operates according to a flow table in which appropriate addition or rewriting is instructed by the OpenFlow controller. In the flow table are definitions of sets of rules for collation with packet headers, actions (Actions) defining processing content, and flow statistical information (Stats), for each flow (refer to FIG. 10).
  • FIG. 23 shows an example of action names and action content defined in Non-Patent Document 2. OUTPUT is an action for outputting to a specific port (interface). From SET_VLAN_VID to SET_TP_DST are actions for correcting fields of a packet header.
  • For example, when an OpenFlow switch receives a packet, an entry is searched for that has a rule (FlowKey) matching header information of the received packet, from the flow table. As a result of the search, in a case where an entry matching the received packet is found, the OpenFlow switch executes processing content described in an Actions field of the entry in question, for the received packet. On the other hand, as a result of the search, in a case where an entry matching the received packet is not found, the OpenFlow switch forwards the received packet to the OpenFlow controller via a secure channel, requests determination of a path of the packet based on source and destination of the received packet, receives a flow entry for realizing this, and updates the flow table. In this way, the OpenFlow switch uses the entry contained in the flow table as a processing rule to perform packet forwarding.
  • [Non-Patent Document 1]
    • Nick McKeown, and 7 others, “OpenFlow: Enabling Innovation in Campus Networks,” [online], [search conducted Dec. 14, 2009] Internet URL: http://www.openflowswitch.org//documents/openflow-wp-latest.pdf
    [Non-Patent Document 2]
    • “OpenFlow: Switch Specification” Version 0.9.0. (Wire Protocol 0x98), [search conducted Dec. 14, 2009] Internet URL: http://www.openflowswitch.org/documents/openflow-spec-v0.9.0.pdf
    SUMMARY
  • The entire disclosures of the abovementioned Non-Patent Documents 1 and 2 are incorporated herein by reference thereto. The following analysis is given by the present invention. In a case where multiple OpenFlow switches are connected to a network, however, there is a problem in that path calculations in an OpenFlow controller and the amount of processing required for allotment of entries in a flow table based on a result thereof increase, so that the time from receiving a request to create a path from an OpenFlow switch until a response is given becomes long.
  • With regard to this point, Non-Patent Document 1, as an explanation of FIG. 2 thereof, has a description of “all the flow tables are managed by the same controller,” and merely describes that in an OpenFlow protocol a certain OpenFlow switch is allowed to be controlled by two or more controllers in order to improve performance and robustness. Furthermore, Non-Patent Document 2, in “4.3 Connection Interruption,” merely describes that in a case where a certain OpenFlow switch misses a controller, an attempt is made to connect to a backup controller.
  • The present invention has been made in light of the abovementioned situations, and it is an object thereof to provide a configuration that can ensure performance not less than a predetermined level even in a case where a plurality of forwarding nodes exist, as in the example of abovementioned OpenFlow switches.
  • According to a first aspect of the present invention, there is provided a communication system, comprising a plurality of forwarding nodes and a plurality of control devices, wherein
  • each of the plurality of forwarding nodes comprises a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with an own forwarding node, and
    the plurality of control devices includes a first control device that comprises:
    a correspondence management unit that stores correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices; and
    a path transmission unit that, in response to a predetermined trigger, refers to the correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices, and transmits, among forwarding path information, forwarding path information that includes at least a forwarding node associated with the own first control device, to an other second control device associated with a forwarding node that is not associated with the own first control device, among forwarding nodes on a forwarding path of a received packet.
  • According to a second aspect of the present invention, there is provided a first control device, which is connected to a plurality of forwarding nodes,
  • each of the plurality of the forwarding nodes comprising a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with a forwarding node(s), wherein
    the first control device comprises:
    a correspondence management unit that stores a correspondence between each of a forwarding nodes group including the plurality of forwarding nodes and each of a plurality of control devices; and
    a path transmission unit that, in response to a predetermined trigger, refers to the correspondence between each of the forwarding nodes and each of the plurality of control devices, and transmits, among forwarding path information, forwarding path information that includes at least a forwarding node associated with an own first control device, to an other second control device associated with a forwarding node that is not associated with the own first control device, among forwarding nodes on a forwarding path of a received packet.
  • According to a third aspect of the present invention, there is provided a second control device, comprising:
  • a database that stores a network topology describing connection relationship among forwarding nodes including at least a forwarding node associated with an own second control device;
    a processing rule generation unit that, based on forwarding path information received from a path transmission unit of a first control unit, refers to the network topology and generates a processing rule for a forwarding node(s) in a forwarding path of a received packet among forwarding node(s) associated with the own second control device; and
    a transmission unit that transmits the generated processing rule to the forwarding node on the forwarding path of the received packet, among forwarding nodes associated with the own second control device, wherein
    the processing rule is generated and transmitted to a forwarding node on a forwarding path, among forwarding nodes connected to the own second control device, based on the forwarding path information received from the first control device described above.
  • According to a fourth aspect of the present invention, there is provided a processing rule setting method, in a communication system comprising a plurality of control devices and a plurality of forwarding nodes each comprising a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with an own forwarding node, the processing rule setting method comprising:
  • by a first control device among the plurality of control devices, in response to a predetermined trigger, referring to correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices, and transmitting, among forwarding path information, at least forwarding path information that includes a forwarding node associated with the own first control device, to a second control device associated with a forwarding node that is not associated with the first control device, among forwarding nodes on a forwarding path of the received packet; and
    by the second control device that receives the forwarding path information, generating a processing rule by referring to network topology describing connection among forwarding nodes including at least a forwarding node associated with the second control device and transmitting the processing rule to a forwarding node on a forwarding path of a received packet, among forwarding nodes associated with the own second control device. The present method is linked with specific apparatuses, referred to as a forwarding node and a control device, as described above.
  • According to a fifth aspect of the present invention, there is provided a program that is executed on a computer configuring the above mentioned first and second control devices. It is to be noted that this program can be recorded in a computer-readable storage medium. That is, the present invention can be embodied as a computer program product.
  • According to a sixth aspect of the present invention there is provided a communication system comprising a plurality of forwarding nodes and a plurality of control devices, wherein
  • each of the plurality of forwarding nodes comprises a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with an own forwarding node;
    each of the plurality of control devices comprises a correspondence management unit that stores correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices;
    when a received packet is forwarded from a certain forwarding node, a control device associated with a forwarding node on a forwarding path refers to the correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices to transmit the received packet; and
    a control device associated with a forwarding node at an end of the forwarding path transmits the received packet to the forwarding node at the end, and instructs the forwarding node at the end to output the received packet from a specified port.
  • According to a seventh aspect of the present invention there is provided a communication method being a method of transmitting a packet in a communication system comprising a plurality of control devices, and a plurality of forwarding nodes each comprising a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with an own forwarding node, the communication method comprising:
  • by a control device associated with a forwarding node on a forwarding path, when a received packet is forwarded from a certain forwarding node, referring to a correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices to transmit the received packet in turn, and
    by a control device associated with a forwarding node at an end of the forwarding path, transmitting the received packet to the forwarding node at the end, and instructing the forwarding node at the end to output the received packet from a specified port. The present method is linked with specific instruments, referred to as a forwarding node and a control device, as described above.
  • EFFECTS OF THE INVENTION
  • According to the present invention, it is possible to ensure performance not less than a predetermined level even in a case where a large number of (multiple) OpenFlow switches are present. A reason for this is that a configuration is used in which, in addition to using a plurality of control devices, processing is distributed over among the control devices.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a diagram for describing an outline of the present invention;
  • FIG. 2 is a diagram for describing an outline configuration of a control device (a first control device) of FIG. 1;
  • FIG. 3 is a diagram for describing an outline configuration of a control device (a second control device) of FIG. 1;
  • FIG. 4 is another diagram for describing an outline of the present invention;
  • FIG. 5 is a diagram showing a configuration in a first exemplary embodiment of the present invention;
  • FIG. 6 is a diagram showing a configuration of an OpenFlow controller in the first exemplary embodiment of the present invention;
  • FIG. 7 is a table representing connection relationships of nodes and OpenFlow switches of FIG. 5;
  • FIG. 8 is a table representing correspondences between the OpenFlow switches and OpenFlow controllers of FIG. 5;
  • FIG. 9 is a diagram showing a configuration of an OpenFlow switch in the first exemplary embodiment of the present invention;
  • FIG. 10 is a diagram representing a configuration of a processing rule (flow entry) recorded in a flow table of an OpenFlow switch in the first exemplary embodiment of the present invention;
  • FIG. 11 is a specific example of a processing rule (flow entry) recorded in the flow table of the OpenFlow switch of FIG. 5;
  • FIG. 12 is a sequence diagram illustrating an operation of the first exemplary embodiment of the present invention;
  • FIG. 13 is a diagram in which an operation according to a sequence of FIG. 12 is recorded in FIG. 5;
  • FIG. 14 is a second sequence diagram representing an operation of the first exemplary embodiment of the present invention;
  • FIG. 15 is a diagram in which an operation according to a sequence of FIG. 14 is recorded in FIG. 5;
  • FIG. 16 is a diagram showing a configuration of an OpenFlow controller in a second exemplary embodiment of the present invention;
  • FIG. 17 is a diagram showing a configuration of an OpenFlow controller in a third exemplary embodiment of the present invention;
  • FIG. 18 is a sequence diagram illustrating an operation of the third exemplary embodiment of the present invention;
  • FIG. 19 is a diagram showing a configuration of an OpenFlow controller in a fourth exemplary embodiment of the present invention;
  • FIG. 20 is a sequence diagram illustrating an operation of the fourth exemplary embodiment of the present invention;
  • FIG. 21 is a diagram for describing a fifth exemplary embodiment of the present invention;
  • FIG. 22 is a sequence diagram illustrating an operation of the fifth exemplary embodiment of the present invention; and
  • FIG. 23 is a diagram showing an example of action names and action contents.
  • PREFERRED MODES
  • First, a description is given concerning an outline of the present invention, making reference to FIG. 1 to FIG. 4. A communication system according to the present invention comprises as shown in FIG. 1, a plurality of control devices 100A to 100C that generate and transmit, to forwarding node(s) on a calculated forwarding path, among forwarding nodes connected to each of the control devices, a processing rule determining a forwarding destination of a received packet, by referring to a network topology in which connection of the forwarding nodes are described, and a plurality of forwarding nodes 301A to 303A, 301B to 303B, and 301C to 303C, each of which is connected to any of the plurality of control devices 100A to 100C and comprises a packet processing unit that performs processing of a received packet based on a processing rule received from a control device associated with an own forwarding node. It is to be noted that reference symbols in the drawings noted in this outline are examples shown solely in order to assist understanding, and are not intended to limit the present invention to modes described in the drawings.
  • At least one of the plurality of control devices 100A to 100C (for example, control device 100A), as shown in FIG. 2, comprises an correspondence management unit 16A that stores correspondences between the forwarding nodes 301A to 303A, 301B to 303B, and 301C to 303C, and the control devices 100A to 100C, and a path transmission unit 13 that, in response to a predetermined trigger such as reception of a packet for which a processing rule is unknown from a forwarding node, refers to correspondence between each of the forwarding nodes and each of the control devices, and transmits, among forwarding path information, forwarding path information that includes at least a forwarding node associated with the at least own control device, to an other control device(s) (for example, a control device 100B or 100C) associated with a forwarding node that is/are not associated with the own control device, among forwarding nodes on a forwarding path of a received packet.
  • Among the plurality of control devices 100A to 100C, a control device that is on a receiving side of the forwarding path information (for example, a control device 100B or 100C), as shown in FIG. 3, comprises a database (topology DB) 15 that stores a network topology in which are described connection relationship among forwarding nodes including at least a forwarding node(s) associated with the own control device; a processing rule generation unit 18A that generates a processing rule by referring to a network topology, with regard to a forwarding node on a forwarding path of a received packet, among forwarding nodes associated with the control deviqe, based on received forwarding path information; and a transmission unit 17A that transmits the generated processing rule to a forwarding node(s) in the forwarding path of the received packet, among forwarding nodes associated with the own control device.
  • Here, for example, the control device 100A, in response to a request from a certain client node connected to the forwarding node 302A, calculates a forwarding path in which a packet is forwarded via forwarding nodes 302A, 303A, 302B, 303B, 302C, and 303C, as shown by a broken line in FIG. 1. In this case, the control device 100A generates and transmits a processing rule implementing the forwarding path, for the forwarding nodes 302A and 303A that are connected to the own control device 100A. Furthermore, the control device 100A refers to a correspondence between each of the forwarding nodes and each of the control devices, and transmits forwarding path information for generating a processing rule, to the control devices 100B and 100C that are associated with the forwarding nodes 301B to 303B, and 301C to 303C that are not connected to the own control device 100A. The control devices 100B and 100C that received the forwarding path information generate and transmit the processing rule to the forwarding nodes 302B, 303B, 302C, and 303C on the forwarding path, among the forwarding nodes connected to the own control device(s) (100B, 100C), based on the forwarding path information.
  • From the above, the control devices 100B and 100C use a forwarding path received from the control device 100A, and by generating and transmitting a processing rule, a processing rule is set for all forwarding nodes in the forwarding path.
  • Similarly, as shown in FIG. 4, assume that in response to a request from another client node, the control device 100A calculates a forwarding path for forwarding a packet via the forwarding nodes 302A, 303A, 302C, and 303C shown by a broken line in FIG. 4. In this case, the control device 100A generates and transmits a processing rule implementing the forwarding path, to the forwarding nodes 302A and 303A that are connected to the control device 100A. Furthermore, the control device 100A refers to correspondences between respective forwarding nodes and respective control devices, and transmits forwarding path information to the control device 100C that is associated with the forwarding nodes 301C to 303C that are not connected to the own control device 100A. The control device 100C that received the forwarding path information generates and transmits the processing rule to the forwarding nodes 302C and 303C in the forwarding path, among the forwarding nodes connected to the own control device 100C, based on the forwarding path information.
  • As described above, in a case where a forwarding path has been generated that does not pass through the control device 100B, transmission of the forwarding path information to the control device 100B is omitted. In this case, too, the control device 100C generates and transmits a processing rule, using the forwarding path received from the control device 100A whereby the processing rule is set for all forwarding nodes in the forwarding path.
  • The following modes are possible in the present invention.
  • (Mode 1)
  • The communication system according to the first aspect.
  • (Mode 2)
  • In the communication system, each of the plurality of control devices may further comprise:
  • a database that stores a network topology describing connection among forwarding nodes including at least a forwarding node associated with the own control device;
    a processing rule generation unit that, based on forwarding path information received from the path transmission unit, refers to the network topology and generates the processing rule for a forwarding node in a forwarding path of a received packet among forwarding nodes associated with the own control device; and
    a transmission unit that transmits the generated processing rule to the forwarding node on the forwarding path of the received packet, among forwarding nodes associated with the own control device.
  • (Mode 3)
  • In the communication system, the first control device comprising the path transmission unit may further comprise:
  • a database that stores a network topology describing connection among forwarding nodes including at least a forwarding node associated with the own first control device; and
    a path calculation unit that, when receiving from a forwarding node connected to the first control device a request to transmit a processing rule concerning a new packet, refers to the network topology and calculates a forwarding path.
  • (Mode 4)
  • In the communication system, with the first control device comprising the path calculation unit as a start point, a control device associated with a forwarding node(s) on the forwarding path may forward the new packet independently of transmission processing of a processing rule, and
  • a control device associated with a forwarding node at an end of the forwarding path may transmit the new packet to the forwarding node at the end, and instruct the forwarding node at the end to output the new packet from a specified port.
  • (Mode 5)
  • In the communication system, the forwarding path information may include a processing rule for transmission to a forwarding node that is not associated with the own first control device, and
  • a second control device that received the forwarding path information may transmit a processing rule included in the forwarding path information to a forwarding node associated with the own second control device, among forwarding nodes on a forwarding path of a received packet.
  • (Mode 6)
  • In the communication system, the forwarding path may be a forwarding path calculated in advance for a combination of a start point node and an end point node that are arbitrarily selected.
  • (Mode 7)
  • In the communication system, the forwarding path may be cached for a predetermined time period, and calculation of a forwarding path may be omitted when a combination of an identical start point node and end point node is cached.
  • (Mode 8)
  • In the communication system, each of the plurality of control devices may comprise: the path transmission unit and a path calculation unit that, when receiving from a forwarding node connected to the own control device a request to transmit a processing rule concerning a new packet, refers to the network topology and calculates a forwarding path,
  • the path transmission unit of a first control device may transmit, to a second control device associated with a forwarding node that received a packet from a forwarding node on the forwarding path, connected to the own first control device, the new packet and a start point for calculating a forwarding path for a forwarding node associated with the second control device, instead of the forwarding path information; and
  • the second control device that received the start point and the new packet may recalculate a forwarding path based on the start point and the new packet, and generates and transmits a processing rule.
  • (Mode 9)
  • In the communication system, the control device may comprise a data synchronization unit that obtains information of a plurality of forwarding nodes connected to the own control device, and based on the obtained data updates at least one of connection relationship of each of the plurality of forwarding nodes, and correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices.
  • (Mode 10)
  • The first control device according to the second aspect.
  • (Mode 11)
  • The second control device according to the third aspect.
  • (Mode 12)
  • The processing rule setting method according to the fourth aspect.
  • (Mode 13)
  • The program according to the fifth aspect.
  • (Mode 14)
  • The communication system according to the sixth aspect.
  • (Mode 15)
  • The communication method according to the seventh aspect.
  • It is to be noted that the first and second control devices, the processing rule setting method, the program, the communication system, and the communication method, as described in the abovementioned second to seventh aspects, similar to the communication system of Mode 1, can be expanded to the contents of Mode 2 to Mode 9, with regard to respective elements and steps.
  • First Exemplary Embodiment
  • Next, a detailed description is given concerning a first exemplary embodiment of the present invention, making reference to the drawings. FIG. 5 is a diagram showing a configuration of the first exemplary embodiment of the present invention. Referring to FIG. 5, four OpenFlow switches (referred to as OFSs below) 301A, 302A, 301B, and 302B, and OpenFlow controllers (referred to below as OFCs) 100A and 100B are shown. It is to be noted that in order to describe the present invention simply, the configuration of FIG. 5 is illustrative; there is no limitation to the number of OFSs or OFCs, and there is no necessity for the same number of OFSs to be connected to each of the respective OFCs. Furthermore, node A and node D are devices for transmitting and receiving a packet, such as a user terminal, various types of service server, or the like.
  • OFSs 301A, 302A, 301B, and 302B correspond to the forwarding nodes described above, hold flow entries (rule+action) set by OFCs 100A and 100B in respective flow tables, and execute actions of flow entries that have a rule matching a received packet.
  • Among the OFSs, the OFS 301A and 302A are connected to the OFC 100A, and operate according to a control from the OFC 100A. Similarly, among the OFSs, the OFSs 301B and 302B are connected to the OFC 100B, and operate according to a control from the OFC 100B. More specifically, in a case where a rule matching a received packet cannot be found in a flow table, the OFSs 301A and 302A request the OFC 100A to generate a forwarding path for the received packet and transmit (set) a flow entry (rule+action) for realizing the forwarding path. In the same way, in a case where a rule matching a received packet cannot be found in a flow table, the OFSs 301B and 302B request the OFC 100B to generate a forwarding path for the received packet and transmit (set) a flow entry (rule+action) for realizing the forwarding path. These types of OFS can be configured by adding functions described above to switches of respective vendors, as described in Non-Patent Documents 1 and 2.
  • The OFCs 100A and 100B correspond to the abovementioned control devices, and by transmitting (setting) flow entries (rule+action) to the OFSs 301A, 302A, 301B and 302B respectively connected thereto, control the later. Furthermore, the OFCs 100A and 100B of the present exemplary embodiment are connected, and as described later, forwarding path information generated by one thereof can be transmitted to the other.
  • FIG. 6 is a diagram showing a configuration of an OFC of the first exemplary embodiment. Referring to FIG. 6, the OFC 100 comprises a packet forwarding unit 11, a path calculation unit 12, a path transmission unit 13, an inter-OFC communication unit 14, a topology DB 15, an OFS-OFC correspondence management unit 16, an OFS communication unit 17, a flow generation unit 18, and a path acceptance unit 19.
  • When there is no relevant flow entry in the OFS and a request for transmission (setting) of a processing rule (flow entry) is received, the packet forwarding unit 11 performs an operation of transmitting, to another OFC, a packet to which is attached a request for transmission (setting) of the processing rule (flow entry), via the inter-OFC communication unit 14.
  • Based on a switch ID of a source of the request for transmission (setting) of the processing rule (flow entry) and a packet outputted from the OFS communication unit 17, the path calculation unit 12 refers to the network topology describing connection between forwarding nodes recorded in the topology DB 15, and calculates a forwarding path in a sequential flow including the packet forwarded from the OFS. This path calculation can exploit, for example, Dijkstra's shortest path algorithm. Furthermore, in the path calculation, it is also possible to include consideration of traffic conditions in the network.
  • The path transmission unit 13 outputs a received packet and a forwarding path calculated in the path calculation unit 12, to the OFS-OFC correspondence management unit 16. Furthermore, the path transmission unit 13 refers to a correspondence between an OFS recorded in the OFS-OFC correspondence management unit 16 and an OFC connected to the OFS, and performs an operation of transmitting, via the inter-OFC communication unit 14, forwarding path information including the received packet and the forwarding path calculated in the path calculation unit 12, to an OFC (OFC associated with a certain OFS in the forwarding path) connected to a certain OFS in the forwarding path calculated in the path calculation unit 12. It is to be noted that, as the forwarding path information used here, as long as it is possible for the flow generation unit 18 of another OFC to generate a processing rule (flow entry), any format is possible, and, for example, content is possible in which another OFC makes a list of processing rules (flow entries) to be set in respective OFSs.
  • The inter-OFC communication unit 14 is connected to an inter-OFC communication unit 14 of an other OFC, and performs giving and receiving of forwarding path information and packets attached to requests for transmission (setting) of the flow entry in question as described above.
  • The topology DB (database) 15 records network topology describing connection relationships of nodes (various types of service server and external network) including OFSs. FIG. 7 describes connection relationship of nodes including the OFCs of FIG. 5 in a table format. In FIG. 7, “OFS; 302A” and the like, in actuality contain an IP address or MAC address of the OFS; 302A. It is to be noted that in the present exemplary embodiment, the OFCs 100A and 100B each hold the topology DB 15, but a configuration is also possible in which the OFC 100A and 100B share the topology DB 15.
  • The OFS-OFC correspondence management unit 16 records correspondences between the OFS and the OFC connected to the OFS(s), and outputs a forwarding path and received packet outputted from the path transmission unit 13 and information of the OFS(s) connected to the OFC, to the flow generation unit 18. FIG. 8 describes connections between the OFSs and OFCs of FIG. 5 in a table format. It is to be noted that in the present exemplary embodiment, the OFS-OFC correspondence management unit 16 is provided independently of the topology DB 15, but it is also possible to merge the topology DB 15 and the OFS-OFC correspondence management unit 16. For example, in addition to connections of the OFSs shown in FIG. 7, fields describing connected OFCs may be provided.
  • Since there is no flow entry corresponding to the received packet, the OFS communication unit 17 outputs a request for transmission (setting) of a flow entry together with the received packet transmitted from the OFS, to the path calculation unit 12. The OFS communication unit 17 transmits a processing rule (flow entry) generated in the flow generation unit 18 to a certain OFS in the forwarding path, among OFSs (OFSs associated with the OFC) connected to the OFC, and directs setting of a processing rule (flow entry).
  • The flow generation unit 18, based on the received packet and the forwarding path (information) and outputted from the OFS-OFC correspondence management unit 16 or the path acceptance unit 19, refers to the information of an OFS connected to the OFC and network topology of the topology DB 15, and generates a processing rule (flow entry) to be set in a certain OFS (an OFS associated with OFC) on the forwarding path, among OFSs connected to the OFC.
  • The path acceptance unit 19 outputs the forwarding path information including the received packet received from an other OFC to the flow generation unit 18, and performs an operation to generate the processing rule (flow entry).
  • It is to be noted that the abovementioned packet forwarding unit 11, the path calculation unit 12, the path transmission unit 13, the inter-OFC communication unit 14, the topology DB 15, the OFS-OFC correspondence management unit 16, the OFS communication unit 17, the flow generation unit 18, and the path acceptance unit 19 can be realized by a storage device or devices provided in a computer configuring the respective OFCs and a computer program using the storage device(s) as hardware.
  • FIG. 9 is a diagram showing a configuration of an OFS of the first exemplary embodiment described above. Referring to FIG. 9, an OFS 300 comprises an OFC communication unit 31, a flow setting unit 32, a packet processing unit 33, and a flow table 34. Furthermore, in the OFS 300, an OFC to which the OFS 300 is connected (associated with the OFS 300) is set in advance.
  • The OFC communication unit 31 receives a processing rule (flow entry) from the OFS communication unit 17 of the OFC, and in addition to outputting to the flow setting unit 32, in a case where there is no flow entry corresponding to a received packet from the packet processing unit 33, requests the OFC to generate a processing rule (flow entry) for calculation of a forwarding path to be applied to the received packet and for realization of the forwarding path.
  • The flow setting unit 32 performs an operation to record or update 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 matching header information of the received packet received from a node including an other OFS, and executes processing content described in an Actions field of the processing rule (flow entry) matching the received packet.
  • The flow table 34 is a table containing processing rules (flow entries) transmitted from an OFC via the OFC communication unit 31. FIG. 10 is a diagram showing a field configuration of the flow table 34. For example, with regard to a flow having a characteristic such that an IP address of a node A is described in a source IP address field (IP SA), and an IP address of a node D is described in a destination IP address field (IP DA), by setting an action (OUTPUT in FIG. 23) that is forwarding from an interface (port) for transmission to an OFS following a forwarding path, among neighboring OFSs, forwarding according to a forwarding path of a flow from the node A to the node D is realized. Otherwise, by setting various types of action of FIG. 23, or having an Actions field empty, it is possible to change a MAC address or an IP address of a specific flow, or to drop a specific flow.
  • FIG. 11 is an example of a processing rule (flow entry) set in the OFSs 301A, 302A, 301B and 302B. Here, a forwarding path for forwarding a packet between node A and node D via the OFSs 301A, 302A, 301B and 302B is set. For example, an action for forwarding a packet from node A to node D as a destination in a forward direction (interface 2 (connected to OFS 302A; refer to FIG. 7)), and an action for forwarding a packet from node D to node A as a destination in a reverse direction (interface 1 (connected to node A; refer to FIG. 7)) are set in OFS 301A. In the same way, in OFSs 302A, 301B and 302B, by setting processing rules (flow entries) in a forward direction and a reverse direction, packet forwarding between node A and node D is performed in the above described forwarding path.
  • (Method of Setting a Processing Rule (Flow Entry))
  • Next, a detailed description is given concerning an operation of the present exemplary embodiment, making reference to the drawings. FIG. 12 is a sequence diagram representing the operation of the present exemplary embodiment. In an example of FIG. 12, a packet (new packet) with a destination of node D that does not match any processing rule (flow entry) stored in the flow table 34 of the OFS 301A is transmitted from node A that is connected to the OFS 301A.
  • First, on receiving a new packet (step S001), the OFS 301A makes a request to the OFC 100A, which is connected to the OFS 301A, for transmission (setting) of a processing rule (flow entry) including the new packet (step S002). It is to be noted that in step S001, in a case of receiving a packet that matches a processing rule (flow entry) stored in the flow table 34 of the OFS 301A, the following processing is not performed, but packet forwarding processing according to a node processing rule is performed, as shown in the lowest portion of FIG. 12.
  • The OFC 100A, to which a request is made for transmission (setting) of the processing rule (flow entry), refers to the network topology of the topology DB 15, based on the OFS 301A that is a request source and node D that is a destination of the new packet, in the path calculation unit 12, to calculate a forwarding path in a sequential flow including the packet forwarded from the OFS 301A (step S003). Here, it is assumed that a forwarding path is calculated, in which a packet from node A with a destination of node D is forwarded in a sequence of OFS 301A, 302A, 301B and 302B.
  • Next, the OFC 100A refers to a correspondence between OFS and OFC, stored in the OFS-OFC correspondence management unit 16, and searches for an OFC associated with an OFS not connected to the OFC 100A, among OFSs in the calculated forwarding path (step S004). Here, the OFC 100B that is connected to the OFSs 301B and 302B which are not connected to the OFC 100A of FIG. 5, is retrieved.
  • Next, the OFC 100A transmits forwarding path information including the received packet and forwarding path calculated in step S003, to the retrieved OFC 100B.
  • Thereafter, the OFC 100A refers to the network topology of the topology DB 15 and information of the OFS connected to the own OFC 100A, generates a processing rule (flow entry) to be set in an OFS in the forwarding path, among OFSs connected to the OFC 100A, and performs transmission (setting) with respect to the OFSs 301A and 302A (step S006-1).
  • In the same way, the OFC 100B also refers to the network topology of the topology DB 15 and information of the OFS connected to the own OFC 100B, generates a processing rule (flow entry) to be set in an OFS in the forwarding path, among OFSs connected to the own OFC 100B, and performs transmission (setting) with respect to the OFSs 301B and 302B (step S006-2).
  • Thereafter, in each of the OFSs 301A, 302A, 301B and 302B, processing is performed to record or update the received processing rule (flow entry) in the flow table 34 (step S007).
  • From the above, in each of the OFSs 301A, 302A, 301B and 302B, a processing rule corresponding to the calculated forwarding path is set (refer to FIG. 11), and packet forwarding between node A and node B becomes possible.
  • It is to be noted that in the abovementioned steps S006-1 and S006-2, the OFC performs transmission (setting) of a processing rule (flow entry) at the same time in an OFS in the forwarding path, among OFSs connected to the own OFC, but among these, an arrangement is possible in which transmission (setting) of the processing rule (flow entry) in a portion of the OFSs among these is performed, (for example, an OFS or OFSs on an upstream side of the forwarding path). In this case, each OFC performs transmission (setting) of a processing rule (flow entry) after receiving a request for transmission (setting) of a processing rule (flow entry) from respective OFSs.
  • FIG. 13 is a diagram in which an operation according to a sequence of FIG. 12 is recorded in a configuration diagram of FIG. 5. With receipt of a request for transmission (setting) of a processing rule of a certain packet as a trigger from the OFS 301A, the OFC 100A performs calculation of the forwarding path, and sets a result thereof as a processing rule (flow entry) with respect to the OFSs 301A and 302A. Furthermore, by the OFC 100A transmitting forwarding path information to the OFC 100B, setting of a processing rule (flow entry) for the OFSs 301B and 302B is performed. As is clear also from FIG. 13, in the present invention, the number of OFS/OFC is not particularly limited, and in a case where an other OFS is present in the forwarding path, it is possible to transmit the forwarding path information to an OFC concerned connected to the OFS, and to set a processing rule (flow entry).
  • Furthermore, both OFCs 100A and 100B of FIG. 13 do not need to be provided with the path calculation unit 12 and the path acceptance unit 19; for example, a configuration can be used in which, if the OFC 100A receives a new packet, the path calculation unit 12 is disposed in the OFC 100A and the path acceptance unit 19 is disposed in the OFC 100B.
  • (Bypass Transfer of New Packet)
  • Next, a description is given concerning a bypass forwarding method of a new packet performed in parallel, independent of the abovementioned processing rule (flow entry). FIG. 14 is a sequence diagram representing flow of bypass forwarding of a new packet in the present exemplary embodiment. Since the flow of steps S001 to S003 of FIG. 14 is the same as steps S001 to S003 of FIG. 12, a description is given below concerning sequential flow performed after forwarding path calculation.
  • Referring to FIG. 14, the OFC 100A that has calculated a forwarding path searches for an OFS (an OFS located at the end of the forwarding path) that is connected to a destination node on the calculated forwarding path, then refers to correspondences between OFS and OFC, stored in the OFS-OFC correspondence management unit 16, and retrieves an OFC associated with the OFS concerned (step S104). Here, a forwarding path is calculated in which a packet from node A to a destination of node D is forwarded in a sequence of OFS 301A, 302A, 301B and 302B. At this time, the OFS at the end of the forwarding path is the OFS 302B, and the OFC 100B connected to the OFS 302B is retrieved.
  • Next, the OFC 100A transmits a new packet received in step S001, to the retrieved OFC 100B, and requests a transmission from a specified interface of the subordinate OFS 302B (step S105).
  • The OFC 100B requests the subordinate OFS 302B to transmit the new packet from a specified interface (step S106).
  • The OFS 302B transmits the new packet from the specified interface in accordance with an instruction from the OFC 100B (step S107). Various methods can be considered as an arrangement in which the OFS 302B transmits the new packet to a specified interface; a processing rule (flow entry) for outputting a packet having specified header information from a specified interface may be stored in each OFS, and processing for writing the header information in a new packet may be performed by the OFC 100B.
  • From the above, it is possible to have bypass forwarding of a packet, where, with calculation of a forwarding path as a trigger, a packet (new packet) is forwarded via an OFC, without going through an OFS on the way, and is outputted from the end. It is to be noted that the abovementioned procedure sequence, as shown in FIG. 15, can be performed independently from transmission (setting) of the processing rule (flow entry), and there is an effect of being able to transmit a new packet to a destination node without waiting for setting of the processing rule (flow entry) by the unit. However, this may be performed in parallel to transmission (setting) of the processing rule (flow entry) shown in FIG. 13. For example, it is possible to insert processing of steps S104 and S105 of FIG. 14 before or after processing of steps S004 to S006-1 of FIG. 12, to perform execution in OFC 100A.
  • As is clear from FIG. 15, in the present invention, the number of OFS/OFC is not particularly limited and it is possible to transmit a packet without going through an OFS along the forwarding path.
  • A description has been given above of a first exemplary embodiment of the present invention by showing an example of a forwarding (i.e., normal) path in which a packet from node A to a destination of node D is forwarded in the sequence of OFSs 301A, 302A, 301B and 302B (termed as “normal direction”). However, the forwarding path is not limited to the above description. For example, in a case of calculation of a forwarding path for forwarding a packet to a node connected to OFS 302B from OFS 301A, via OFSs 302A and 302B, operation is approximately the same as the above description. In addition, for example, in a case of calculation of a forwarding path for forwarding a packet to a node A, from the OFS 302B, via OFSs 301B, 302A and 301A also, by only switching the OFC 100B and the OFC 100A operation is approximately the same as the above description.
  • Second Exemplary Embodiment
  • Next, a detailed description is given concerning a second exemplary embodiment of the present invention, in which a modification has been added to an OFC described above, making reference to the drawings. In the present exemplary embodiment, since only an OFC configuration is different from the first exemplary embodiment, the description below is centered on points of difference thereof.
  • FIG. 16 is a diagram showing a configuration of the OFC 101 of the second exemplary embodiment of the present invention. A point of difference from the OFC 100 of the first exemplary embodiment shown in FIG. 6 is the addition of a data synchronization unit 20 for obtaining information of nodes connected to the OFC 100.
  • The data synchronization unit 20, specifically, collects information of devices and configurations thereof coming from various nodes on a network using LLDP (Link Layer Discovery Protocol) or various types of vendor protocol, acquires physical connections between nodes, and performs an operation to reflect results thereof in a topology DB 15 or OFS-OFC correspondence management unit 16. In addition, it is possible to use a configuration in which the data synchronization unit 20 is not installed in all OFCs, but a data synchronization unit 20 of a certain OFC updates a topology DB 15 and an OFS-OFC correspondence management unit 16 of an other OFC, via an inter-OFC communication unit 14.
  • As described above, according to the present exemplary embodiment that uses the OFC provided with the data synchronization unit 20, in a case where a modification is added to a network configuration or a case where a failure of respective nodes occurs, it is possible to generate an appropriate forwarding path and to perform distribution of processing rules (flow entries) based on the forwarding path.
  • Third Exemplary Embodiment
  • Next, a detailed description is given concerning a third exemplary embodiment of the present invention in which a modification has been added to the OFC described above, making reference to the drawings. In the present exemplary embodiment a cache function of a forwarding path is added to an OFC of the first exemplary embodiment, and a description below is centered on points of difference thereof.
  • FIG. 17 is a diagram showing a configuration of the OFC 102 of the third exemplary embodiment of the present invention. A point of difference from the OFC 100 of the first exemplary embodiment shown in FIG. 6 is the addition of a path recording unit 22 to the path calculation unit 12.
  • The path recording unit 22 is used in order to record a forwarding path calculated in a path calculation unit 12 until a predetermined timing has been reached.
  • (Method of Setting a Cache Processing Rule (Flow Entry))
  • Next, a detailed description is given concerning an operation of the present exemplary embodiment, making reference to the drawings. FIG. 18 is a sequence diagram representing the operation of the present exemplary embodiment. In an example of FIG. 18, a packet (new packet) with a destination of node D that does not match any processing rule (flow entry) stored in a flow table 34 of an OFS 301A is transmitted from node A that is connected to the OFS 301A.
  • Operation as far as where the OFS 301A receives a new packet (step S001) and requests an OFC 100A, which is connected to the own OFS 301A, to transmit (set) a processing rule (flow entry) including the new packet (step S002) is the same as in the first exemplary embodiment. It is to be noted that also in the present exemplary embodiment, in step S001, in a case of receiving a packet that matches a processing rule (flow entry) stored in the flow table 34 of the OFS 301A, the following processing is not performed but packet forwarding processing according to a node processing rule is performed, as shown in the lowest portion of FIG. 18.
  • Before calculating a forwarding path in the path calculation unit 12, the OFC 100A, to which a request is made for transmission (setting) of the processing rule (flow entry), refers to the path recording unit 22, and searches forwarding path information having a characteristic that is the same as the new packet (for example, a packet having a destination of node D, from the OFS 301A) (step S201).
  • As a result of the search, in a case of finding forwarding path information having a characteristic that is the same as the new packet (for example, a packet having a destination of node D, from the OFS 301A), the OFC 100A omits calculation of the forwarding path and performs operation of step S004 and following.
  • On the other hand, as a result of the search, in a case of not finding forwarding path information having a characteristic that is the same as the new packet (for example, a packet having a destination of node D, from the OFS 301A), the OFC 100A, based on node D that is the destination of the new packet and the OFS 301A that is the origin of the request, refers to network topology of the topology DB 15 and calculates a forwarding path in a sequential flow including the packet forwarded from the OFS 301A (step S202). After that, the OFC 100A stores the calculated forwarding path together with a characteristic of the new packet in the path recording unit 22 (step S203).
  • Subsequent operations are the same as in the first exemplary embodiment described above. According to the present exemplary embodiment, with regard to a packet for which a forwarding path is generated, as long as content thereof is stored in the path recording unit 22, since generating a forwarding path can be omitted, it is possible to reduce OFC load and to improve responsiveness as far as transmitting (setting) a processing rule (flow entry).
  • Furthermore, in the present exemplary embodiment, it is also possible to execute a bypass forwarding procedure for a new packet shown in FIG. 14 in parallel. In this case also, it is possible to insert processing of steps S104 and S105 of FIG. 14 before or after processing of steps S004 to S006-1 of FIG. 18, to perform execution in OFC 100A.
  • Fourth Exemplary Embodiment
  • Next, a detailed description is given concerning a fourth exemplary embodiment of the present invention in which a modification has been added to an OFC described above, making reference to the drawings. In the present exemplary embodiment a forwarding path cache function and a speculative path calculation function are added to the OFC of the first exemplary embodiment, and a description below is centered on points of difference thereof.
  • FIG. 19 is a diagram showing a configuration of an OFC 103 of the fourth exemplary embodiment of the present invention. Points of difference from the OFC 100 of the first exemplary embodiment shown in FIG. 6 are the addition of a path recording unit 22 to the path calculation unit 12, and the addition of a speculative path calculation unit 23 that generates and stores a forwarding path in the path recording unit 22.
  • The path recording unit 22 is used in order to store a forwarding path calculated in the path calculation unit 12 until a predetermined timing has been reached.
  • When an OFC is first started up or when load is low, when a change occurs in a network topology, or at a predetermined timing such as at a fixed time interval or the like, the speculative path calculation unit 23 refers to a topology DB 15, calculates a forwarding path from a certain OFS to a certain node, and records in the path recording unit 22. Here, “speculative” means not waiting for a transmission (setting) request regarding a processing rule (flow entry), but preemptively generating a processing rule (flow entry).
  • It is to be noted that as a combination of a node and an OFS for which the speculative path calculation unit 23 calculates the forwarding path, it is desirable to make a selection that is not stored in the path storing unit 22. By this type of arrangement, it is possible to curtail generation of a cache miss when a request for transmission (setting) of a processing rule (flow entry) is generated.
  • (Method of Setting Processing Rule (Flow Entry) using Speculative Transfer Path)
  • Next, a detailed description is given concerning an operation of the present exemplary embodiment, making reference to the drawings. FIG. 20 is a sequence diagram representing the operation of the present exemplary embodiment. In an example of FIG. 20, a packet (new packet) with a destination of node D that does not match any processing rule (flow entry) stored in a flow table 34 of an OFS 301A is transmitted from node A that is connected to the OFS 301A.
  • First, when an OFC is first started up or when load is low, when a change occurs in a network topology, or at a predetermined timing such as at a fixed time interval or the like, the speculative path calculation unit 23 of OFCs 100A and 100B performs calculation of a speculative forwarding path (steps S300-1 and S300-2).
  • Operation as far as where the OFS 301A receives a new packet (step S001) and requests the OFC 100A, which is connected to the OFS 301A, to transmit (set) a processing rule (flow entry) including the new packet (step S002), is the same as in the first exemplary embodiment. It is to be noted that in the present exemplary embodiment, in step S001, in a case of receiving a packet that matches a processing rule (flow entry) stored in the flow table 34 of the OFS 301A, the following processing is not performed but packet forwarding processing according to a node processing rule is performed, as shown in the lowest portion of FIG. 20.
  • Before calculating a forwarding path in the path calculation unit 12, the OFC 100A, to which a request is made for transmission (setting) of the processing rule (flow entry), refers to the path recording unit 22, and searches forwarding path information having a characteristic that is the same as the new packet (for example, a packet having a destination of node D, from the OFS 301A) (step S301).
  • As a result of the search, in a case of finding forwarding path information having a characteristic that is the same as the new packet (for example, a packet having a destination of node D, from the OFS 301A), the OFC 100A omits calculation of the forwarding path to perform operation of step S004 and following.
  • On the other hand, as a result of the search, in a case of not finding forwarding path information having a characteristic that is the same as the new packet (for example, a packet having a destination of node D, from the OFS 301A), the OFC 100A, based on node D that is the destination of the new packet and the OFS 301A that is the origin of the request, refers to network topology of the topology DB 15 and calculates a forwarding path in a sequential flow including the packet transmitted from the OFS 301A (step S302). After that, the OFC 100A stores the calculated forwarding path together with a characteristic of the new packet in the path recording unit 22 (step S303).
  • Subsequent operations are the same as in the first exemplary embodiment described above. According to the present exemplary embodiment, with regard to a packet for which a forwarding path was generated and a forwarding path calculated in a statistical path calculation unit, as long as contents thereof are stored in the path recording unit 22, since it is possible to omit generating a forwarding path, a response up to reducing OFC load and transmission (setting) of a processing rule (flow entry) can be improved.
  • Furthermore, in the present exemplary embodiment it is also possible to execute a bypass forwarding procedure for a new packet shown in FIG. 14 in parallel. In this case also, it is possible to insert processing of steps S104 and S105 of FIG. 14 before or after processing of steps S004 to S006-1 of FIG. 18, to perform execution in the OFC 100A.
  • Fifth Exemplary Embodiment
  • Next, a detailed description is given, making reference to the drawings, concerning a fifth exemplary embodiment of the present invention, in which OFCs as described above do not carry out an exchange of forwarding path information between themselves, and calculation of forwarding path is distributed among the respective OFCs. Since the present exemplary embodiment can be realized by a configuration equivalent to an OFC of the first exemplary embodiment, the description below is centered on points of difference thereof.
  • FIG. 21 is a diagram representing an outline operation of the fifth exemplary embodiment of the present invention. With regard to FIG. 13 used in the description of the first exemplary embodiment, a point is that an OFC 100A transmits a new packet and an OFS (301B) that is a start point for which an OFC 100B calculates a forwarding path, not forwarding path information. The OFC 100B generates a forwarding path from the OFS 301B that has been specified as the start point, as far as a destination node (node D), and performs transmission (setting) of a processing rule (flow entry) corresponding thereto to an OFS connected to the OFC 100B.
  • (Method of Setting a Distributed Processing Rule (Flow Entry))
  • Next, a detailed description is given concerning an operation of the present exemplary embodiment, making reference to the drawings. FIG. 22 is a sequence diagram representing the operation of the present exemplary embodiment.
  • Operation as far as where the OFS 301A receives a new packet (step S001) and requests the OFC 100A, which is connected to the OFS 301A, to transmit (set) a processing rule (flow entry) including the new packet (step S002) is the same as in the first exemplary embodiment. It is to be noted that in the present exemplary embodiment, in step S001, in a case of receiving a packet that matches a processing rule (flow entry) stored in a flow table 34 of the OFS 301A, the following processing is not performed but packet forwarding processing according to a node processing rule is performed, as shown in the lowest portion of FIG. 22.
  • The OFC 100A, to which a request for transmission (setting) of the processing rule (flow entry) is made, refers to network topology of a topology DB 15, based on the request source OFS 301A and node D that is a destination of the new packet, in the path calculation unit 12, and calculates a forwarding path in a sequential flow including the packet forwarded from the OFS 301A (step S403). Here, the OFC 100A does not calculate all forwarding paths from node A to node D, but calculates a partial forwarding path showing which OFS connected to the own OFC (100A) is to be passed through in the forwarding and from which interface output is to made.
  • Next, the OFC 100A refers to a correspondence between OFS and OFC, stored in an OFS-OFC correspondence management unit 16, and searches for an OFC connected to an OFS (a start point OFS of a segment for which a forwarding path has not been calculated) that is connected to an output interface of an OFS that is an end of the calculated forwarding path (step S404). Here, the OFC 100B that is connected to the OFS 301B of FIG. 21 is retrieved.
  • The OFC 100A transmits, to the OFC 100B, an OFS (a start point OFS of a segment for which a forwarding path has not been calculated) that is connected to an output interface of an OFS that is an end of the calculated forwarding path, and a new packet received in step S001 (step S405).
  • The OFS that is a start point OFS of the segment for which a forwarding path has not been calculated and the OFC 100B that receives a new packet received in step S001 refer to the network topology of the topology DB 15, based on the OFS 301B that is specified as start point and node D that is a destination of the new packet, in the path calculation unit 12, to calculate a forwarding path according to an OFS group connected to the OFC 100B (step S406). Here, the OFC 100B calculates a forwarding path for forwarding from the OFS 301B to the OFS 302B, and forwarding from an interface # 2 of the OFS 302B to node D.
  • Thereafter, the OFC 100A refers to the network topology of the topology DB 15 and information of the OFS connected to the OFC 100A, generates a processing rule (flow entry) to be set in an OFS in the forwarding path, among OFSs connected to the OFC 100A, and performs transmission (setting) with respect to the OFSs 301A and 302A (step S407-1).
  • In the same way, the OFC 100B also refers to the network topology of the topology DB 15 and information of the OFS connected to the OFC 100B, generates a processing rule (flow entry) to be set in an OFS in the forwarding path, among OFSs connected to the own control device OFC (100B), and performs transmission (setting) to the OFSs 301B and 302B (step S407-2).
  • Thereafter, in each of the OFSs 301A, 302A, 301B and 302B, processing is performed to register or update the received processing rule (flow entry) in the flow table 34 (step S007).
  • From the above, in each of the OFSs 301A, 302A, 301B and 302B, a processing rule corresponding to the calculated forwarding path is set (refer to FIG. 11), and packet forwarding between node A and node B becomes possible.
  • As described above, according to the present exemplary embodiment, it is possible to perform the forwarding path calculation by distributing the calculation to several OFCs. Furthermore, since the abovementioned configuration is used, it is possible to dispose the topology DB 15 in a distributed manner.
  • In addition, the present exemplary embodiment can be configured in a combination with the second to the fourth exemplary embodiments as described above. For example, if a combination is made with the third exemplary embodiment, a modified embodiment is possible in which the OFC 100A uses a cached forwarding path, and path calculation is performed by the OFC 100B and following. In the same way, if a combination is made with the fourth exemplary embodiment, a modified embodiment is possible in which the OFC 100A uses a speculative forwarding path calculated in advance, and path calculation is performed by the OFC 100B and following.
  • A description has been given above of preferred exemplary embodiments of the present invention and specific operations thereof, but the present invention is not limited to the abovementioned exemplary embodiments, and further modifications, substitutions, and adjustments can be added within a scope that does not depart from a fundamental technological concept of the present invention.
  • For example, in the abovementioned respective exemplary embodiments, a description was given citing examples using OFCs and OFSs, making use of technology of Non-Patent Documents 1 and 2, but realization is possible with various types of forwarding nodes and control devices that respectively perform equivalent operations.
  • For example, in the first to fourth exemplary embodiments described above, a description was given in which each OFC is respectively provided with a path calculation unit 12. However, as may be understood from the abovementioned description, forwarding path calculation processing does not occur in OFCs on a side receiving forwarding path information. Therefore, the path calculation unit 12 in OFCs where the forwarding path calculation processing does not occur regularly can be omitted. For a similar reason, it is possible to omit a path acceptance unit 19 from OFCs that do not receive the forwarding path information.

Claims (14)

1. A communication system, comprising a plurality of forwarding nodes and a plurality of control devices, wherein
each of the plurality of forwarding nodes comprises a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with an own forwarding node, and
the plurality of control devices includes a first control device that comprises:
a correspondence management unit that stores correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices; and
a path transmission unit that, in response to a predetermined trigger, refers to the correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices, and transmits, among forwarding path information, forwarding path information that includes at least a forwarding node associated with the own first control device, to an other second control device associated with a forwarding node that is not associated with the own first control device, among forwarding nodes on a forwarding path of a received packet.
2. The communication system according to claim 1, wherein each of the plurality of control devices further comprises:
a database that stores a network topology describing connection among forwarding nodes including at least a forwarding node associated with the own control device;
a processing rule generation unit that, based on forwarding path information received from the path transmission unit, refers to the network topology and generates the processing rule for a forwarding node in a forwarding path of a received packet among forwarding nodes associated with the own control device; and
a transmission unit that transmits the generated processing rule to the forwarding node on the forwarding path of the received packet, among forwarding nodes associated with the own control device.
3. The communication system according to claim 1, wherein the first control device comprising the path transmission unit further comprises:
a database that stores a network topology describing connection among forwarding nodes including at least a forwarding node associated with the own first control device; and
a path calculation unit that, when receiving from a forwarding node connected to the own first control device a request to transmit a processing rule concerning a new packet, refers to the network topology and calculates a forwarding path.
4. The communication system according to claim 3, wherein,
with the first control device comprising the path calculation unit as a start point, a control device associated with a forwarding node(s) on the forwarding path forwards the new packet independently of transmission processing of a processing rule, and
a control device associated with a forwarding node at an end of the forwarding path transmits the new packet to the forwarding node at the end, and instructs the forwarding node at the end to output the new packet from a specified port.
5. The communication system according to claim 1, wherein
the forwarding path information includes a processing rule for transmission to a forwarding node that is not associated with the own first control device, and
a second control device that receives the forwarding path information transmits a processing rule included in the forwarding path information to a forwarding node associated with the own second control device, among forwarding nodes on a forwarding path of a received packet.
6. The communication system according to claim 1, wherein the forwarding path is comprises a forwarding path calculated in advance for a combination of a start point node and an end point node that are arbitrarily selected.
7. The communication system according to claim 3, wherein the forwarding path is cached for a predetermined time period, and calculation of a forwarding path is omitted when a combination of an identical start point node and end point node is cached.
8. The communication system according to claim 2, wherein
each of the plurality of control devices comprises: the path transmission unit and a path calculation unit that, when receiving from a forwarding node connected to the own control device a request to transmit a processing rule concerning a new packet, refers to the network topology and calculates a forwarding path;
the path transmission unit of a first control device transmits, to a second control device associated with a forwarding node that received a packet from a forwarding node on the forwarding path, connected to the own first control device the new packet and a start point for calculating a forwarding path for a forwarding node associated with the second control device, instead of the forwarding path information; and
the second control device that received the start point and the new packet recalculates a forwarding path based on the start point and the new packet, and generates and transmits a processing rule.
9. The communication system according to claim 1, wherein
the first control device comprises a data synchronization unit that obtains information of a plurality of forwarding nodes connected to the own first control device, and based on the obtained data updates
at least one of connection relationship of each of the plurality of forwarding nodes, and correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices.
10. A communication system, comprising a plurality of forwarding nodes and a plurality of control devices, wherein
each of the plurality of forwarding nodes comprises a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with an own forwarding node;
each of the plurality of control devices comprises a correspondence management unit that stores correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices;
when a received packet is forwarded from a certain forwarding node, a control device associated with any forwarding node(s) on a forwarding path refers to the correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices, to transmit the received packet in turn; and
a control device associated with a forwarding node at an end of the forwarding path transmits the received packet to the forwarding node at the end, and instructs the forwarding node at the end to output the received packet from a specified port.
11. A first control device, which is connected to a plurality of forwarding nodes,
each of the plurality of the forwarding nodes comprising a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with a forwarding node(s), wherein
the first control device comprises:
a correspondence management unit that stores correspondence between each of a forwarding nodes group including the plurality of forwarding nodes and each of a plurality of control devices; and
a path transmission unit that, in response to a predetermined trigger, refers to the correspondence between each of the forwarding nodes and each of the plurality of control devices, and transmits, among forwarding path information, forwarding path information that includes at least a forwarding node associated with an own first control device, to an other second control device associated with a forwarding node that is not associated with the own first control device, among forwarding nodes on a forwarding path of a received packet.
12. A processing rule setting method in a communication system comprising a plurality of control devices and a plurality of forwarding nodes each comprising a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with an own forwarding node, the processing rule setting method, comprising:
by a first control device among the plurality of control devices, in response to a predetermined trigger, referring to correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices, and transmitting, among forwarding path information, at least forwarding path information that includes a forwarding node associated with the own first control device, to a second control device associated with a forwarding node that is not associated with the first control device, among forwarding nodes on a forwarding path of the received packet; and
by the second control device that receives the forwarding path information, generating a processing rule by referring to network topology describing connection among forwarding nodes including at least a forwarding node associated with the second control device and transmitting the processing rule to a forwarding node on a forwarding path of a received packet, among forwarding nodes associated with the own second control device.
13. A communication method being a method of transmitting a packet in a communication system comprising a plurality of control devices, and a plurality of forwarding nodes each comprising a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with an own forwarding node, the communication method comprising:
by a control device associated with a forwarding node on a forwarding path, when a received packet is forwarded from a certain forwarding node, referring to a correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices to transmit the received packet in turn, and
by a control device associated with a forwarding node at an end of the forwarding path, transmitting the received packet to the forwarding node at the end, and instructing the forwarding node at the end to output the received packet from a specified port.
14. A computer-readable medium recorded thereon a program causing a computer making up a first control device, connected to a plurality of forwarding nodes each comprising a packet processing unit that performs processing of a received packet based on a processing rule set in advance or received from a control device associated with the own forwarding node, and which comprises a correspondence management unit that stores a correspondence between each of a forwarding nodes group including the plurality of forwarding nodes and each of a plurality of control devices, the program causing the computer to execute:
in response to a predetermined trigger, generating and transmitting a processing rule to a forwarding node on a forwarding path of a received packet, among forwarding nodes associated with an own first control device; and
referring to a correspondence between each of the plurality of forwarding nodes and each of the plurality of control devices, and transmitting, among forwarding path information, forwarding path information that includes at least a forwarding node associated with the own first control device, to an other second control device associated with a forwarding node that is not associated with the own first control device, among forwarding nodes on the forwarding path of the received packet.
US13/137,168 2010-01-05 2011-07-25 Communication system, control device, processing rule setting method, packet transmission method, and program Abandoned US20110317701A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
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 (3)

Application Number Priority Date Filing Date Title
JP2010-000740 2010-01-05
JP2010000740 2010-01-05
PCT/JP2011/050009 WO2011083780A1 (en) 2010-01-05 2011-01-04 Communication system, control apparatus, processing rule setting method, packet transmitting method and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/050009 Continuation WO2011083780A1 (en) 2010-01-05 2011-01-04 Communication system, control apparatus, processing rule setting method, packet transmitting method and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/266,183 Continuation US10200307B2 (en) 2010-01-05 2016-09-15 Communication system, control device, processing rule setting method, packet transmission method, and program

Publications (1)

Publication Number Publication Date
US20110317701A1 true US20110317701A1 (en) 2011-12-29

Family

ID=44305516

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/137,168 Abandoned US20110317701A1 (en) 2010-01-05 2011-07-25 Communication system, control device, processing rule setting method, packet transmission method, and program
US15/266,183 Active US10200307B2 (en) 2010-01-05 2016-09-15 Communication system, control device, processing rule setting method, packet transmission method, and program

Family Applications After (1)

Application Number Title Priority Date Filing Date
US15/266,183 Active US10200307B2 (en) 2010-01-05 2016-09-15 Communication system, control device, processing rule setting method, packet transmission method, and program

Country Status (5)

Country Link
US (2) US20110317701A1 (en)
EP (1) EP2523402A4 (en)
JP (3) JPWO2011083780A1 (en)
CN (2) CN102714628B (en)
WO (1) WO2011083780A1 (en)

Cited By (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120051346A1 (en) * 2010-08-24 2012-03-01 Quantenna Communications, Inc. 3-address mode bridging
EP2765751A1 (en) * 2012-12-24 2014-08-13 Huawei Technologies Co., Ltd. Software defined network based data processing method, node and system
WO2014126387A1 (en) * 2013-02-14 2014-08-21 Samsung Electronics Co., Ltd. Sdn-based network sharing method and apparatus for supporting multiple operators
US20140269683A1 (en) * 2013-03-14 2014-09-18 International Business Machines Corporation Synchronization of OpenFlow controller devices via OpenFlow switching devices
CN104185972A (en) * 2012-03-05 2014-12-03 日本电气株式会社 Network system, switch, and network building method
US20150036538A1 (en) * 2012-02-10 2015-02-05 Takahisa Masuda Computer system and visualization method of virtual network
CN104365068A (en) * 2012-05-31 2015-02-18 日本电气株式会社 Control device, communication system, switch control method and program
US20150055654A1 (en) * 2013-08-23 2015-02-26 Futurewei Technologies, Inc. Segmented Source Routing in a Network
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
US8989199B1 (en) * 2014-02-24 2015-03-24 Level 3 Communications, Llc Control device discovery in networks having separate control and forwarding devices
US20150110107A1 (en) * 2012-05-25 2015-04-23 Nec Corporation Packet forwarding system, control apparatus, packet forwarding method, and program
CN104734988A (en) * 2013-12-23 2015-06-24 杭州华为数字技术有限公司 Route control method and open flow controller in software defined network
CN104734964A (en) * 2013-12-24 2015-06-24 华为技术有限公司 Message processing method, node and system
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)
WO2015113191A1 (en) * 2014-01-28 2015-08-06 华为技术有限公司 Processing rule modification method, device and apparatus
US9166869B2 (en) 2013-01-14 2015-10-20 International Business Machines Corporation Management of distributed network switching cluster
US20150304218A1 (en) * 2013-01-06 2015-10-22 Huawei Technologies Co., Ltd. Control Channel Establishing Method, Forwarding Point, and Controller
CN105027513A (en) * 2013-03-07 2015-11-04 日本电气株式会社 Communication system, integrated controller, packet transfer method and program
EP2829026A4 (en) * 2012-03-23 2015-11-18 Nec Corp System and method for communication
US9203748B2 (en) 2012-12-24 2015-12-01 Huawei Technologies Co., Ltd. Software defined network-based data processing method, node, and system
EP2955886A1 (en) * 2012-04-18 2015-12-16 Nicira Inc. Using transactions to compute and propagate network forwarding state
US20150372902A1 (en) * 2013-02-26 2015-12-24 Telefonaktiebolaget L M Ericsson (Publ) Traffic Recovery in Openflow Networks
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
US20160050654A1 (en) * 2013-03-26 2016-02-18 Nec Corporation Control apparatus, communication system, control information transmission method and program
US20160094357A1 (en) * 2013-04-24 2016-03-31 Nec Corporation Control apparatus, computer system, communication control method, and program
US20160127272A1 (en) * 2013-07-02 2016-05-05 Hangzhou H3C Technologies Co., Ltd. Virtual network
US20160134534A1 (en) * 2013-07-19 2016-05-12 Huawei Technologies Co., Ltd. Switching device, controller, method for configuring switching device, and method and system for processing packet
US20160218957A1 (en) * 2013-08-27 2016-07-28 Zte Corporation Method and system for sending flow table in SDN, of controller, and of switch
CN105830402A (en) * 2013-12-19 2016-08-03 日本电气株式会社 Packet transfer system, controller, and method and program for controlling relay device
US20160269325A1 (en) * 2013-11-22 2016-09-15 Huawei Technologies Co., Ltd. Method, apparatus, and system for controlling forwarding of service data in virtual network
US9521071B2 (en) * 2015-03-22 2016-12-13 Freescale Semiconductor, Inc. Federation of controllers management using packet context
US20170063675A1 (en) * 2015-08-25 2017-03-02 Fujitsu Limited Flow switch, controller and relay apparatus
US9602421B2 (en) 2011-10-25 2017-03-21 Nicira, Inc. Nesting transaction updates to minimize communication
EP3142303A4 (en) * 2014-05-30 2017-05-31 Huawei Technologies Co. Ltd. Network control method and apparatus
US9801031B2 (en) 2013-01-21 2017-10-24 Huawei Technologies Co., Ltd. Method, apparatus and system for group session
US9923760B2 (en) 2015-04-06 2018-03-20 Nicira, Inc. Reduction of churn in a network control system
US20180367457A1 (en) * 2017-06-16 2018-12-20 Fujitsu Limited Communication control apparatus and communication control method
US20190020582A1 (en) * 2013-09-03 2019-01-17 Level 3 Communications, Llc Buffer-Less Virtual Routing
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US10284464B2 (en) * 2012-12-17 2019-05-07 Marvell World Trade Ltd. Network discovery apparatus
US10454805B2 (en) 2012-03-28 2019-10-22 Nec Corporation Communication system, communication apparatus, control apparatus, communication apparatus control method and program
US10491522B2 (en) 2016-05-13 2019-11-26 Cisco Technology, Inc. Data plane integration
US10498607B2 (en) 2014-04-29 2019-12-03 Huawei Technologies Co., Ltd. SDN network system, controller, and controlling method
US10536398B2 (en) * 2016-05-12 2020-01-14 Cisco Technology, Inc. Plug and play in a controller based network
US10791059B2 (en) * 2016-07-07 2020-09-29 Huawei Technologies Co., Ltd FlowSpec message processing method and system, and apparatus
US10887280B2 (en) 2015-08-07 2021-01-05 New H3C Technologies Co., Ltd Cloud platform security achievement
US10951732B2 (en) * 2015-09-25 2021-03-16 Huawei Technologies Co., Ltd. Service processing method and device
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
US11701313B2 (en) 2019-03-28 2023-07-18 Lg Household & Health Care Ltd. Toothpaste composition

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5488979B2 (en) * 2010-02-03 2014-05-14 日本電気株式会社 Computer system, controller, switch, and communication method
JP5488980B2 (en) * 2010-02-08 2014-05-14 日本電気株式会社 Computer system and communication method
CN103166876B (en) * 2011-12-08 2018-05-04 中兴通讯股份有限公司 Data transmission method for uplink and device between OpenFlow network domains
JP5967109B2 (en) * 2012-02-10 2016-08-10 日本電気株式会社 Computer system and virtual network visualization method
CN102594689B (en) * 2012-02-22 2015-06-10 中兴通讯股份有限公司 Distributed network control method and device
US8923296B2 (en) * 2012-02-23 2014-12-30 Big Switch Networks, Inc. System and methods for managing network packet forwarding with a controller
JP5889122B2 (en) * 2012-06-15 2016-03-22 株式会社Nttドコモ Control node and communication control method
WO2014019196A1 (en) * 2012-08-02 2014-02-06 华为技术有限公司 Topology information processing method and device
CN103051539B (en) 2012-12-14 2015-09-16 中兴通讯股份有限公司 A kind of net control implementation method based on DHT, System and Network controller
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
CN103580909B (en) * 2013-05-22 2018-06-19 新华三技术有限公司 A kind of hardware resource method for customizing and device
CN104796344B (en) * 2014-01-16 2020-01-14 中兴通讯股份有限公司 Method and system for realizing message forwarding based on SDN, Openflow switch and server
JP6266484B2 (en) * 2014-09-26 2018-01-24 アラクサラネットワークス株式会社 COMMUNICATION DEVICE AND COMMUNICATION DEVICE CONTROL METHOD
CN104363173A (en) * 2014-10-31 2015-02-18 武汉烽火网络有限责任公司 Forwarding router information generation method, controller and software-defined networking system
KR20160099890A (en) * 2015-02-13 2016-08-23 한국전자통신연구원 Method of link discovery between domains and apparatus thereof
JP6033393B2 (en) * 2015-12-25 2016-11-30 株式会社Nttドコモ Control node and communication control method
WO2017184758A1 (en) * 2016-04-20 2017-10-26 Brocade Communications Systems, Inc. Communication framework for a federation of network controllers
JP6938944B2 (en) * 2016-05-26 2021-09-22 富士通株式会社 Information processing device and load balancing control method
CN109818867B (en) * 2017-11-21 2020-10-27 华为技术有限公司 Configuration method and device
US20220124033A1 (en) * 2020-10-21 2022-04-21 Huawei Technologies Co., Ltd. Method for Controlling Traffic Forwarding, Device, and System
CN114143259A (en) * 2021-11-26 2022-03-04 中徽建技术有限公司 Mass network data processing method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20050111356A1 (en) * 2003-11-25 2005-05-26 Whittaker Stewart Mark A. Connection controller

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805072A (en) * 1994-12-12 1998-09-08 Ultra-High Speed Network VC connection method
JP2004129156A (en) 2002-10-07 2004-04-22 Ntt Docomo Inc System, device and method for controlling path and transfer device
JP2005012317A (en) * 2003-06-17 2005-01-13 Nec Corp Communication system
JP3777185B2 (en) * 2004-02-05 2006-05-24 日本電信電話株式会社 GMPLS + IP / MPLS network and nodes
JP4488248B2 (en) * 2004-08-31 2010-06-23 日本電気株式会社 Failure recovery method, network device, and program
US8996722B2 (en) * 2004-11-01 2015-03-31 Alcatel Lucent Softrouter feature server
US8068408B2 (en) * 2004-11-01 2011-11-29 Alcatel Lucent Softrouter protocol disaggregation
JP4508984B2 (en) * 2005-08-26 2010-07-21 富士通株式会社 Path setting method and communication apparatus in network divided into a plurality of areas
CN100454841C (en) * 2006-06-02 2009-01-21 华为技术有限公司 Multi-domain routing computation method and system
JP4598789B2 (en) * 2007-02-22 2010-12-15 日本電信電話株式会社 Route calculation control method, route calculation control program, and route calculation control device
EP2193630B1 (en) * 2007-09-26 2015-08-26 Nicira, Inc. Network operating system for managing and securing networks
CN101471853B (en) * 2007-12-29 2012-02-29 华为技术有限公司 Route calculation method, unit and system
CN101415023A (en) * 2008-08-08 2009-04-22 西安瑞友信息技术资讯有限公司 Intelligent dynamic load equilibrium technology for server
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20050111356A1 (en) * 2003-11-25 2005-05-26 Whittaker Stewart Mark A. Connection controller

Cited By (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120051346A1 (en) * 2010-08-24 2012-03-01 Quantenna Communications, Inc. 3-address mode bridging
US10505856B2 (en) 2011-10-25 2019-12-10 Nicira, Inc. Chassis controller
US11669488B2 (en) 2011-10-25 2023-06-06 Nicira, Inc. Chassis controller
US9602421B2 (en) 2011-10-25 2017-03-21 Nicira, Inc. Nesting transaction updates to minimize communication
US9425987B2 (en) * 2012-02-10 2016-08-23 Nec Corporation Computer system and visualization method of virtual network
US20150036538A1 (en) * 2012-02-10 2015-02-05 Takahisa Masuda Computer system and visualization method of virtual network
US9548933B2 (en) * 2012-03-05 2017-01-17 Nec Corporation Network system, switch, and methods of network configuration
CN104185972A (en) * 2012-03-05 2014-12-03 日本电气株式会社 Network system, switch, and network building method
US20150009828A1 (en) * 2012-03-05 2015-01-08 Takahiko Murakami Network System, Switch and Method of Network Configuration
EP2829026A4 (en) * 2012-03-23 2015-11-18 Nec Corp System and method for communication
US9515868B2 (en) 2012-03-23 2016-12-06 Nec Corporation System and method for communication
US10454805B2 (en) 2012-03-28 2019-10-22 Nec Corporation Communication system, communication apparatus, control apparatus, communication apparatus control method and program
US9843476B2 (en) 2012-04-18 2017-12-12 Nicira, Inc. Using transactions to minimize churn in a distributed network control system
EP2955886A1 (en) * 2012-04-18 2015-12-16 Nicira Inc. Using transactions to compute and propagate network forwarding state
CN107566271A (en) * 2012-04-18 2018-01-09 Nicira股份有限公司 Calculated and communication network forwarding state using affairs
US10033579B2 (en) 2012-04-18 2018-07-24 Nicira, Inc. Using transactions to compute and propagate network forwarding state
US10135676B2 (en) 2012-04-18 2018-11-20 Nicira, Inc. Using transactions to minimize churn in a distributed network control system
US9832114B2 (en) * 2012-05-25 2017-11-28 Nec Corporation Packet forwarding system, control apparatus, packet forwarding method, and program
US20150110107A1 (en) * 2012-05-25 2015-04-23 Nec Corporation Packet forwarding system, control apparatus, packet forwarding method, and program
EP2858317A4 (en) * 2012-05-31 2016-01-13 Nec Corp Control device, communication system, switch control method and program
CN104365068A (en) * 2012-05-31 2015-02-18 日本电气株式会社 Control device, communication system, switch control method and program
US9967177B2 (en) 2012-05-31 2018-05-08 Nec Corporation Control apparatus, communication system, switch control method and program
US10284464B2 (en) * 2012-12-17 2019-05-07 Marvell World Trade Ltd. Network discovery apparatus
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
EP2765751A1 (en) * 2012-12-24 2014-08-13 Huawei Technologies Co., Ltd. Software defined network based data processing method, node and system
EP3293935A1 (en) * 2012-12-24 2018-03-14 Huawei Technologies Co., Ltd. Software defined network-based data processing method, and system
US10250502B2 (en) 2012-12-24 2019-04-02 Huawei Technologies Co., Ltd. Software defined network-based data processing method, node, and system
EP2765751A4 (en) * 2012-12-24 2014-10-29 Huawei Tech 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
US9203748B2 (en) 2012-12-24 2015-12-01 Huawei Technologies Co., Ltd. Software defined network-based data processing method, node, and system
US20150304218A1 (en) * 2013-01-06 2015-10-22 Huawei Technologies Co., Ltd. Control Channel Establishing Method, Forwarding Point, and Controller
US9692697B2 (en) * 2013-01-06 2017-06-27 Huawei Technologies Co., Ltd. Control channel establishing method, forwarding point, and controller
US9166869B2 (en) 2013-01-14 2015-10-20 International Business Machines Corporation Management of distributed network switching cluster
US9801031B2 (en) 2013-01-21 2017-10-24 Huawei Technologies Co., Ltd. Method, apparatus and system for group session
US9667524B2 (en) 2013-01-25 2017-05-30 Argela Yazilim Ve Bilism Teknolojileri San. Ve Tic. A.S. Method to check health of automatically discovered controllers in software defined networks (SDNs)
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)
WO2014126387A1 (en) * 2013-02-14 2014-08-21 Samsung Electronics Co., Ltd. Sdn-based network sharing method and apparatus for supporting multiple operators
US9215179B2 (en) 2013-02-14 2015-12-15 Samsung Electronics Co., Ltd. SDN-based network sharing method and apparatus for supporting multiple operators
US20150372902A1 (en) * 2013-02-26 2015-12-24 Telefonaktiebolaget L M Ericsson (Publ) Traffic Recovery in Openflow Networks
US9722917B2 (en) * 2013-02-26 2017-08-01 Telefonaktiebolaget Lm Ericsson (Publ) Traffic recovery in openflow networks
US9614758B2 (en) * 2013-03-07 2017-04-04 Nec Corporation Communication system, integrated controller, packet forwarding method and program
CN105027513A (en) * 2013-03-07 2015-11-04 日本电气株式会社 Communication system, integrated controller, packet transfer method and program
EP2966814A4 (en) * 2013-03-07 2016-11-16 Nec Corp Communication system, integrated controller, packet transfer method and program
US20160006652A1 (en) * 2013-03-07 2016-01-07 Nec Corporation Communication system, integrated controller, packet forwarding method and program
US9137174B2 (en) * 2013-03-14 2015-09-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Synchronization of OpenFlow controller devices via OpenFlow switching devices
US20140269683A1 (en) * 2013-03-14 2014-09-18 International Business Machines Corporation Synchronization of OpenFlow controller devices via OpenFlow switching devices
US20160050654A1 (en) * 2013-03-26 2016-02-18 Nec Corporation Control apparatus, communication system, control information transmission method and program
US20160094357A1 (en) * 2013-04-24 2016-03-31 Nec Corporation Control apparatus, computer system, communication control method, and program
US10298519B2 (en) * 2013-07-02 2019-05-21 Hewlett Packard Enterprise Development Lp Virtual network
US10791066B2 (en) 2013-07-02 2020-09-29 Hewlett Packard Enterprise Development Lp Virtual network
US20160127272A1 (en) * 2013-07-02 2016-05-05 Hangzhou H3C Technologies Co., Ltd. Virtual network
US10103988B2 (en) * 2013-07-19 2018-10-16 Huawei Technologies Co., Ltd. Switching device, controller, method for configuring switching device, and method and system for processing packet
US20160134534A1 (en) * 2013-07-19 2016-05-12 Huawei Technologies Co., Ltd. Switching device, controller, method for configuring switching device, and method and system for processing packet
CN111107001A (en) * 2013-08-23 2020-05-05 华为技术有限公司 Method for segmenting source routing in a network and storage medium
US20150055654A1 (en) * 2013-08-23 2015-02-26 Futurewei Technologies, Inc. Segmented Source Routing in a Network
US9325609B2 (en) * 2013-08-23 2016-04-26 Futurewei Technologies, Inc. Segmented source routing in a network
US9998352B2 (en) * 2013-08-27 2018-06-12 Zte Corporation Method and system for sending flow table in SDN, of controller, and of switch
US20160218957A1 (en) * 2013-08-27 2016-07-28 Zte Corporation Method and system for sending flow table in SDN, of controller, and of switch
US10666563B2 (en) * 2013-09-03 2020-05-26 Level 3 Communications, Llc Buffer-less virtual routing
US20190020582A1 (en) * 2013-09-03 2019-01-17 Level 3 Communications, Llc Buffer-Less Virtual Routing
US10104018B2 (en) * 2013-11-22 2018-10-16 Huawei Technologies Co., Ltd. Method, apparatus, and system for controlling forwarding of service data in virtual network
US20160269325A1 (en) * 2013-11-22 2016-09-15 Huawei Technologies Co., Ltd. Method, apparatus, and system for controlling forwarding of service data in virtual network
EP3086516A4 (en) * 2013-12-19 2017-09-13 Nec Corporation Packet transfer system, controller, and method and program for controlling relay device
US10516604B2 (en) 2013-12-19 2019-12-24 Nec Corporation Packet forwarding system, control apparatus, and control method and program for relay device
CN105830402A (en) * 2013-12-19 2016-08-03 日本电气株式会社 Packet transfer system, controller, and method and program for controlling relay device
US20160301607A1 (en) * 2013-12-23 2016-10-13 Huawei Technologies Co., Ltd. Routing control method in software defined networking and openflow controller
US10757021B2 (en) 2013-12-23 2020-08-25 Huawei Technologies Co., Ltd. Routing control method in software defined networking and OpenFlow controller
EP3618373A1 (en) * 2013-12-23 2020-03-04 Huawei Technologies Co., Ltd. Routing control method in software defined networking and openflow controller
CN104734988A (en) * 2013-12-23 2015-06-24 杭州华为数字技术有限公司 Route control method and open flow controller in software defined network
US10237181B2 (en) * 2013-12-23 2019-03-19 Huawei Technologies Co., Ltd. Routing control method in software defined networking and openflow controller
EP3073690A4 (en) * 2013-12-23 2016-11-23 Huawei Tech Co Ltd Routing control method in software defined network and open flow controller
US10148573B2 (en) 2013-12-24 2018-12-04 Huawei Technologies Co., Ltd. Packet processing method, node, and system
EP3076612A4 (en) * 2013-12-24 2016-12-14 Huawei Tech Co Ltd Packet processing method, node and system
CN104734964A (en) * 2013-12-24 2015-06-24 华为技术有限公司 Message processing method, node and system
US10715426B2 (en) 2014-01-28 2020-07-14 Huawei Technologies Co., Ltd. Processing rule modification method, apparatus and device
WO2015113191A1 (en) * 2014-01-28 2015-08-06 华为技术有限公司 Processing rule modification method, device and apparatus
US9985878B2 (en) 2014-01-28 2018-05-29 Huawei Technologies Co., Ltd. Processing rule modification method, apparatus and device
US20180359174A1 (en) * 2014-02-24 2018-12-13 Level 3 Communications, Llc Control device discovery in networks having separate control and forwarding devices
US10673741B2 (en) 2014-02-24 2020-06-02 Level 3 Communications, Llc Control device discovery in networks having separate control and forwarding devices
US8989199B1 (en) * 2014-02-24 2015-03-24 Level 3 Communications, Llc Control device discovery in networks having separate control and forwarding devices
US9374296B2 (en) 2014-02-24 2016-06-21 Level 3 Communications, Llc Control device discovery in networks having separate control and forwarding devices
US10057158B2 (en) 2014-02-24 2018-08-21 Level 3 Communications, Llc Control device discovery in networks having separate control and forwarding devices
US10972357B2 (en) 2014-04-29 2021-04-06 Huawei Technologies Co., Ltd. SDN network system, controller, and controlling method
US11637755B2 (en) 2014-04-29 2023-04-25 Huawei Technologies Co., Ltd. SDN network system, controller, and controlling method
US10498607B2 (en) 2014-04-29 2019-12-03 Huawei Technologies Co., Ltd. SDN network system, controller, and controlling method
EP3142303A4 (en) * 2014-05-30 2017-05-31 Huawei Technologies Co. Ltd. Network control method and apparatus
US10587494B2 (en) 2014-05-30 2020-03-10 Huawei Technologies Co., Ltd. Network control method and apparatus
US9521071B2 (en) * 2015-03-22 2016-12-13 Freescale Semiconductor, Inc. Federation of controllers management using packet context
US9923760B2 (en) 2015-04-06 2018-03-20 Nicira, Inc. Reduction of churn in a network control system
US9967134B2 (en) 2015-04-06 2018-05-08 Nicira, Inc. Reduction of network churn based on differences in input state
US10887280B2 (en) 2015-08-07 2021-01-05 New H3C Technologies Co., Ltd Cloud platform security achievement
US10237170B2 (en) * 2015-08-25 2019-03-19 Fujitsu Limited Flow switch, controller and relay apparatus
US20170063675A1 (en) * 2015-08-25 2017-03-02 Fujitsu Limited Flow switch, controller and relay apparatus
US10951732B2 (en) * 2015-09-25 2021-03-16 Huawei Technologies Co., Ltd. Service processing method and device
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US11288249B2 (en) 2015-09-30 2022-03-29 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US11601521B2 (en) 2016-04-29 2023-03-07 Nicira, Inc. Management of update queues for network controller
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
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
US10791059B2 (en) * 2016-07-07 2020-09-29 Huawei Technologies Co., Ltd FlowSpec message processing method and system, and apparatus
US20220263764A1 (en) * 2016-07-07 2022-08-18 Huawei Technologies Co., Ltd. Flowspec message processing method and system, and apparatus
US11290386B2 (en) * 2016-07-07 2022-03-29 Huawei Technologies Co., Ltd. FlowSpec message processing method and system, and apparatus
US20180367457A1 (en) * 2017-06-16 2018-12-20 Fujitsu Limited Communication control apparatus and communication control method
US11701313B2 (en) 2019-03-28 2023-07-18 Lg Household & Health Care Ltd. Toothpaste composition

Also Published As

Publication number Publication date
EP2523402A1 (en) 2012-11-14
JP2017063506A (en) 2017-03-30
CN102714628B (en) 2015-11-25
CN105245449B (en) 2019-07-30
CN102714628A (en) 2012-10-03
WO2011083780A1 (en) 2011-07-14
JP6075416B2 (en) 2017-02-08
US20170005950A1 (en) 2017-01-05
JPWO2011083780A1 (en) 2013-05-13
CN105245449A (en) 2016-01-13
EP2523402A4 (en) 2017-10-18
US10200307B2 (en) 2019-02-05
JP2015201891A (en) 2015-11-12
JP6358347B2 (en) 2018-07-18

Similar Documents

Publication Publication Date Title
US10200307B2 (en) Communication system, control device, processing rule setting method, packet transmission method, and program
US8605622B2 (en) Route setup server, route setup method and route setup program
EP2911348B1 (en) Control device discovery in networks having separate control and forwarding devices
JP5722455B2 (en) Reducing message and computational overhead in the network
EP2897327B1 (en) Communication system, node, control device, communication method, and program
WO2011118585A1 (en) Information system, control apparatus, method of controlling virtual network, and program
JP5850068B2 (en) Control device, communication system, communication method, and program
WO2011155510A1 (en) Communication system, control apparatus, packet capture method and program
RU2612599C1 (en) Control device, communication system, method for controlling switches and program
US10171352B2 (en) Communication system, node, control device, communication method, and program
KR20130109208A (en) Flow communication system
US20150256407A1 (en) Control apparatus, control method thereof, and program
US20150207675A1 (en) Path Control System, Control Apparatus, Edge Node, Path Control Method, And Program
WO2011118574A1 (en) Communications system, control device, delay measuring method, and program
JPWO2013147193A1 (en) Network appliance redundancy system, control device, network appliance redundancy method and program
EP3076611B1 (en) Communication system, communication method, network information combination apparatus, and network information combination program
US20160301595A1 (en) Communication system, communication method, network information combination apparatus, processing rule conversion method, and processing rule conversion program
JP6042838B2 (en) Management system, management server, and management method
CN108390780B (en) Method and apparatus for processing information
WO2014123194A1 (en) Communication system, control apparatus, communication control method and program
JP2015531552A (en) Flow information collection system, method and program

Legal Events

Date Code Title Description
AS Assignment

Owner name: NEC CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YAMATO, JUNICHI;HAMA, TAKAYUKI;HIEDA, SATOSHI;AND OTHERS;REEL/FRAME:026705/0358

Effective date: 20110713

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION