WO2012101690A1 - Communication system, control device, forwarding node, communication control method, and program - Google Patents
Communication system, control device, forwarding node, communication control method, and program Download PDFInfo
- Publication number
- WO2012101690A1 WO2012101690A1 PCT/JP2011/005385 JP2011005385W WO2012101690A1 WO 2012101690 A1 WO2012101690 A1 WO 2012101690A1 JP 2011005385 W JP2011005385 W JP 2011005385W WO 2012101690 A1 WO2012101690 A1 WO 2012101690A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- control device
- forwarding node
- value
- processing rule
- processing
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0873—Checking configuration conflicts between network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0859—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
Definitions
- the present invention claims priority from Japanese Patent Application 2011-016322 (filed on January 28, 2011) the content of which is hereby incorporated in its entirety by reference into this specification.
- the present invention relates to a communication system, a control device, a forwarding node, a communication control method, and a program and more particularly to a communication system having a control device for integrally controlling forwarding node(s) arranged in a network, a control device, a forwarding node, a communication control method, and a program.
- the forwarding node(s) and the control device In a communication system where a control device integrally controls forwarding node(s) for carrying out communication, the forwarding node(s) and the control device must be synchronized with each other. This is because, if the control device and the forwarding node(s) are not synchronized, a packet-forwarding method instruction transmitted from the control device to a forwarding node becomes inconsistent with the packet forwarding processing performed by the forwarding node, with the result that the packet forwarding not intended by the control device is performed.
- OpenFlow As a communication system where the control device integrally controls the forwarding node(s) as described above, the technology called OpenFlow is known (see Patent Literature 1 and Non-Patent Literatures 1 and 2). OpenFlow identifies communications as end-to-end flows and performs path control, failure recovery, load balancing, and optimization on a per-flow basis.
- An OpenFlow switch which is specified in Non-Patent Literature 2, has a secure channel for communication with an OpenFlow controller that serves as a control device, and operates according to the flow table to which information is added, and whose contents are rewritten, according to an instruction from the OpenFlow controller as necessary.
- the OpenFlow switch searches the flow table for an entry that has a matching rule (see Header fields in FIG. 18) that matches the header information of the received packet. If an entry matching the received packet is found as a result of the search, the OpenFlow switch updates the flow statistical information (Counters) and, at the same time, performs the processing contents (packet transmission from a specified port, flooding, drop, etc.), described in the Actions field of the entry, for the received packet.
- a matching rule see Header fields in FIG. 18
- the OpenFlow switch forwards the received packet to the OpenFlow controller via the secure channel, requests the OpenFlow controller to determine a packet path based on the transmission source/destination of the received packet, receives a flow entry for the packet path, and updates the flow table. In this way, the OpenFlow switch forwards a packet using an entry, stored in the flow table, as the processing rule.
- Patent Literature 1 and Non-Patent Literatures 1 and 2 described above do not include a practical study on how to confirm the synchronization between the OpenFlow controller and the OpenFlow switch.
- Patent Literature 2 discloses the technology for confirming if data held in a mobile device and data stored in the database to which the mobile device is connected are synchronized.
- a mobile device generates a hash for each piece of data held in the mobile device and transmits the generated hash to the synchronization server to request it to confirm if the data is synchronized.
- the synchronization server generates a hash for each piece of data for which synchronization confirmation is requested.
- the synchronization server compares a plurality of hashes, transmitted from the mobile device, with a plurality of hashes generated by the synchronization server.
- the synchronization server confirms data synchronization based on the comparison result.
- the literature describes that the bandwidth required for synchronization may be reduced by generating a hash from each of multiple data pieces, for which synchronization confirmation is required, and by performing synchronization confirmation.
- Patent Literature 1 and non-Patent Literatures 1 and 2 describe a technology that only provides control messages, called Stats Request/Reply, for retrieving the contents of flow tables, or used to transmit the contents of flow entries as a response (see “5.3.5 Read State Messages" in Non-Patent Literature 2) but not a method for efficiently confirming synchronization between a forwarding node and the control device.
- Patent Literature 2 compares the hash values each of which represents a database (database hashes) and, if a mismatch is detected as a result of the comparison, generates the hash per each of data pieces held in a mobile device and confirms synchronization (compares record hashes). That is, for the purpose of synchronization confirmation, multiple hashes each corresponding to each piece of data for which synchronization is requested are exchanged over the network. Therefore, network traffic is generated for synchronization confirmation for each of multiple data pieces stored in the database.
- synchronization confirmation if performed by the method such as Stats Request/Reply disclosed in Non-Patent Literature 2 or by the method disclosed in Patent Literature 2, will bring about a problem that the load of the control device or the forwarding nodes will increase.
- the method described in Patent Literature 2 generates network traffic for confirming the synchronization of each piece of data and, therefore, the synchronization confirmation traffic is increased and the load of the control device is further increased.
- a communication system comprising: a control device that determines packet processing rules; at least one forwarding node that processes a received packet using a processing rule that is one of a plurality of processing rules transmitted from the control device and that corresponds to the received packet; and a comparison unit that compares a first value with a second value.
- the first value is calculated from a first processing rule group held in the forwarding node, and the second value is calculated from a second processing rule group determined by the control device for transmission to the forwarding node.
- the communication system further comprises a confirmation unit that confirms if the forwarding node and the control device are synchronized based on the comparison result.
- a control device comprising: means (a unit) that determines packet processing rules; and means (a unit) that transmits the determined processing rule to a forwarding node that processes a received packet according to a processing rule that is one of a plurality of processing rules and that corresponds to the received packet.
- the control device further comprises means (a unit) that calculates a second value from a second processing rule group determined for transmission to the forwarding node in order to confirm synchronization with the forwarding node by comparison with a first value calculated from a first processing rule group held in the forwarding node.
- a forwarding node comprising: means (a unit) that processes a received packet according to a processing rule that is one of a plurality of processing rules transmitted from a control device and that corresponds to the received packet; and means (a unit) that calculates a first value from a first processing rule group held in the forwarding node itself in order to confirm synchronization between the control device and the forwarding node by comparison with a second value calculated from a second processing rule group determined by the control device for transmission to the forwarding node.
- a communication control method that controls a communication system comprising: a control device that determines packet processing rules; and at least one forwarding node that processes a received packet using a processing rule that is one of a plurality of processing rules transmitted from the control device and that corresponds to the received packet.
- the communication control method comprises the steps of: comparing a first value with a second value, the first value calculated from a first processing rule group held in the forwarding node, the second value calculated from a second processing rule group determined by the control device for transmission to the forwarding node; and confirming if the forwarding node and the control device are synchronized based on the comparison result.
- This method is linked to a forwarding node(s) and to a special machine called a control device that integrally controls forwarding nodes.
- a program that causes a computer connected to a communication system, which comprises a control device that determines packet processing rules; and at least one forwarding node that processes a received packet using a processing rule that is one of a plurality of processing rules transmitted from the control device and that corresponds to the received packet, to perform processings of: comparing a first value with a second value, the first value calculated from a first processing rule group held in the forwarding node, the second value calculated from a second processing rule group determined by the control device for transmission to the forwarding node; and confirming if the forwarding node and the control device are synchronized based on the comparison result.
- This program may be recorded on (or embodied in) a computer-readable storage medium, which may be non-transmit. That is, the present invention may be implemented as a computer program product.
- the present invention allows synchronization confirmation to be performed efficiently between a forwarding node and a control device in a communication system where the control device integrally (or uniformly) controls the forwarding nodes for carrying out communication.
- the computer program processes physical and electrical data which represent technical parameters, i.e., bearing technical characters.
- the computer (and the program, too) itself is implemented as part of the communication system, control device and/or forwarding node(s), which constitutes (and qualifies as) a manufacture or product (communication apparatus or system or components thereof).
- FIG. 1 is a diagram showing the outline of (a mode of) the present invention.
- FIG. 2 is a diagram showing an example of the method for calculating first and second values.
- FIG. 3 is a diagram showing the configuration of a first exemplary embodiment.
- FIG. 4 is a block diagram showing the detailed configuration of a control device and a forwarding node in the first exemplary embodiment.
- FIG. 5 is a diagram showing an example of a table held in the processing rule storage unit of the forwarding node in the first exemplary embodiment.
- FIG. 6 is a diagram showing an example of synchronization confirmation information held in the synchronization confirmation information storage unit of the forwarding node in the first exemplary embodiment.
- FIG. 1 is a diagram showing the outline of (a mode of) the present invention.
- FIG. 2 is a diagram showing an example of the method for calculating first and second values.
- FIG. 3 is a diagram showing the configuration of a first exemplary embodiment.
- FIG. 4 is a block diagram showing the detailed configuration of
- FIG. 7 is a diagram showing an example of a table held in the processing rule storage unit of the control device in the first exemplary embodiment.
- FIG. 8 is a diagram showing an example of a table held in the synchronization confirmation information storage unit of the control device in the first exemplary embodiment.
- FIG. 9 is a flowchart showing the calculation operation of synchronization confirmation information in the control device in the first exemplary embodiment.
- FIG. 10 is a flowchart showing the calculation operation of synchronization confirmation information in the forwarding node in the first exemplary embodiment.
- FIG. 11 is a flowchart showing the synchronization confirmation operation performed by the control device in the first exemplary embodiment.
- FIG. 12 is a diagram showing an example of the operation sequence in the first exemplary embodiment.
- FIG. 13 is a diagram continued from FIG. 12.
- FIG. 12 is a diagram showing an example of the operation sequence in the first exemplary embodiment.
- FIG. 14 is a diagram showing an example of synchronization confirmation information of in the forwarding node in a second exemplary embodiment.
- FIG. 15 is a diagram showing an example of a table held in the control device in the second exemplary embodiment.
- FIG. 16 is a diagram showing an example of the comparison operation using generation management information.
- FIG. 17 is a diagram showing another example of the comparison operation using generation management information.
- FIG. 18 is a diagram showing the configuration of a flow entry described in Non-Patent Literature 2.
- the present mode may be implemented by the configuration ("arrangement") comprising a control device 20 that determines the processing rules of a packet and a forwarding node 10 that processes a received packet using a processing rule that corresponds to the received packet and that is one of the multiple processing rules received from the control devices 20 and stored in a processing rule storage unit 14.
- control device 20 comprises a comparison unit 25a and a confirmation unit 25b.
- the comparison unit 25a compares a first value, calculated from a first processing rule group held in the forwarding node side, with a second value calculated from a second processing rule group determined by the control device for transmission to the forwarding node.
- the confirmation unit 25b confirms the synchronization state of the processing rules between the forwarding node and the control device based on the comparison result.
- FIG. 1 shows an example of the configuration in which the control device 20 comprises the comparison unit 25a and the confirmation unit 25b, the configuration is not limited to this example.
- the comparison unit 25a and the confirmation unit 25b may be installed in one or both of the control device 20 and the forwarding node 10 or may be installed in a device other than the control device 20 and the forwarding node 10.
- the synchronization confirmation is performed, not by generating a first value representing each of the processing rules, but by generating a first value representing a processing rule group composed of multiple processing rules.
- This synchronization confirmation method reduces the amount of network traffic generated for confirming synchronization between the control device 20 and the forwarding node 10.
- the first value is calculated using a predetermined function (for example, a hash function such as Message Digest Algorithm 5 (MD5)) that uses, as its argument, a set of multiple processing rules, all processing rules, or the values of a particular field of the processing rules held in the processing rule storage unit 14 of the forwarding node 10. That is, the first value is a value representing the processing rule group held in the processing rule storage unit 14 at that time.
- the second value is calculated using the same function as the predetermined function described above using, as its argument, multiple processing rules, all processing rules, or the values of a particular field of the processing rules held in a processing rule storage unit 28 at that time. Because both values match if the forwarding node 10 and the control device 20 are synchronized, the comparison between the first value and the second value allows the arrangement to confirm the synchronization state between the forwarding node 10 and the control device 20.
- a predetermined function for example, a hash function such as Message Digest Algorithm 5 (MD5)
- MD5
- the first value and the second value may also be calculated, not by the entire set of processing rules, but hierarchically as shown in FIG. 2.
- the values (h1,h2,h3, ... ,hx) representing each of the predetermined parts are first calculated for each of the predetermined parts using a predetermined function (such as a hash function).
- the value (third value) representing each part may be calculated from the processing rule group included in each partition.
- the value (third value) representing each part may also be calculated by calculating the hash value for each processing rule included in each partition and by calculating the hash value of the partition from the hash values each corresponding to each processing rule.
- the value (fourth value) representing each part corresponding to the part of the forwarding node 10 is calculated.
- the values obtained in this way (h1,h2,h3, ... hx) are assigned to the predetermined function (hash(h1,h2,h3, ... ,hx) in FIG. 2) to calculate the first value (or second value).
- the method of the mode does not confirm the synchronization of each processing rule but narrows the mismatch position in stages, thus reducing the amount of network traffic generated for confirming the synchronization between the control device 20 and the forwarding node 10.
- control device 20 comprises the processing rule storage unit 28 in the example in FIG. 1, another configuration is also possible in which the control device 20 accesses an external processing rule storage unit to manage the processing rules that are set in the forwarding node 10.
- FIG. 3 is a diagram showing the configuration of a communication system in the first exemplary embodiment.
- three forwarding nodes 10, a control device 20, and hosts (Host(A), Host(B)) that communicate with each other via the forwarding nodes 10 are shown.
- the three forwarding nodes 10, control device 20, and two hosts (Host(A), Host(B)) are shown in the example in FIG. 3, the numbers of forwarding nodes, control devices, and hosts are exemplary only and any number of forwarding nodes, control devices, and hosts may be used.
- FIG. 4 is a block diagram showing the detailed configuration of the forwarding node 10 and the control device 20.
- the forwarding node 10 comprises a forwarding processing unit 11, a control device communication unit 12 that communicates with the control device 20, a processing rule management unit 13 that manages a processing rule storage unit 14, a packet buffer 15, a synchronization confirmation information storage unit 16, and a synchronization confirmation information calculation unit 17. Note that forwarding node 10 is not always required to comprise the packet buffer 15.
- FIG. 5 is a diagram showing an example of a processing rule storage table held in the processing rule storage unit 14.
- the Priority field indicates the priority of each processing rule.
- Matching Rule and Actions correspond respectively to Matching Rule (Matching rule) and Actions (Actions) of a flow entry of the OpenFlow switch shown in FIG. 18.
- the Partition # field indicates the number of a partition to which each entry belongs.
- the flow statistical information (Stats) field though omitted in the example in FIG. 5, may be added (Note that flow statistical information (Stats), which varies each time a packet is received, is not used for creating the synchronization confirmation information that will be described later). Therefore, the processing rule storage table in FIG.
- FIG. 5 is a table created by adding the Priority field and the Partition # field to a flow entry of the OpenFlow switch described in Non-Patent Literature 2. Note that the table in FIG. 5 is exemplary only and that the table format is not limited by the format of the OpenFlow technology described in Non-Patent Literature 2.
- the forwarding processing unit 11 comprises a processing rule search unit 111 and an action execution unit 112.
- the processing rule search unit 111 outputs the processing content (Actions) of a processing rule, which has a matching rule (matching rule) that matches a received packet, from the processing rule storage unit 14 with the configuration described above to the action execution unit 112.
- the action execution unit 112 executes the processing content (Actions) output from the processing rule search unit 111.
- the processing rule management unit 13 When a processing rule addition instruction, which has processing rule registration position information, is received from the control device 20 via the control device communication unit 12, the processing rule management unit 13 adds the specified processing rule to a position in the table in the processing rule storage unit 14 wherein the position corresponds to the processing rule registration position information. If there is a processing rule in the processing rule storage unit 14 for which a matching packet is not received for a predetermined time or longer, the processing rule management unit 13 deletes the processing rule and, at the same time, transmits the notification to the control device 20 (timeout processing) based on an advance instruction received from the control device 20. Whether to transmit a notification to the control device 20 when a processing rule is deleted, one of the options, Notification or Non-notification, may be specified by the advance instruction that is transmitted from the control device 20 as described above.
- FIG. 6 is a diagram showing an example of synchronization confirmation information calculated by the synchronization confirmation information calculation unit 17 and held in the synchronization confirmation information storage unit 16.
- Each of the Hp1-Hpx fields stores the hash value (hereinafter called “partition synchronization confirmation information”) calculated for each partition of the processing rule storage table described above with the processing rule as the argument.
- the Htable field stores the hash value (hereinafter called “table synchronization confirmation information”) calculated with the values of the Hp1-Hpx fields as the argument.
- the synchronization confirmation information uniquely identifies the processing rule groups held in a forwarding node and the processing rule groups belonging to each partition respectively.
- 0x1abf, 0xa87f, 0x29ca, ... , 0xa9ba are calculated from the processing rules in FIG. 5 as the partition synchronization confirmation information Hp1, Hp2, Hp3, ... , Hpx in FIG. 6 and that 0x1a86 is calculated from the partition synchronization confirmation information Hp1-Hpx in FIG. 6 as the table synchronization confirmation information Htable.
- the synchronization confirmation information calculation unit 17 calculates the synchronization confirmation information when the addition of a processing rule, specified by a processing rule addition instruction from the control device 20, is completed or when a processing rule held in the processing rule storage unit 14 is changed or moved, for example, when the processing rule timeout processing is performed.
- the forwarding node 10 described above may be implemented by adding the functions, corresponding to the processing rule management unit 13, synchronization confirmation information storage unit 16, and synchronization confirmation information calculation unit 17, to the OpenFlow switch described in Non-Patent Literature 2 and, at the same time, by changing the configuration of the flow table so that the partition number may be held for each processing rule as in the processing rule storage unit 14 described above.
- the functions corresponding to the processing rule management unit 13, synchronization confirmation information storage unit 16, and synchronization confirmation information calculation unit 17 are not limited to the functions based on the technology of OpenFlow.
- the functions corresponding to the processing rule management unit 13, synchronization confirmation information storage unit 16, and synchronization confirmation information calculation unit 17 of the forwarding node 10 described above may also be implemented by the programs executed by a computer that configures the forwarding node 10.
- the control device 20 comprises a node communication unit 21 that carries out communication with the forwarding node 10; a control message processing unit 22; a topology management unit 23 that creates network topology information based on the connection relation of the forwarding node 10 collected via the node communication unit 21; a path/action calculation unit 24 that determines a packet forwarding path and actions to be executed by the forwarding nodes 10 on the forwarding path based on the network topology information created by the topology management unit 23; a processing rule management unit 25 that performs management so that the contents of the processing rule storage unit 28 become consistent with the contents of the processing rule storage unit 14 of each forwarding node 10 when a processing rule is transmitted to, or set in, the forwarding node 10 or when a processing rule timeout notification is received from the forwarding node 10; a synchronization confirmation information storage unit 26; a synchronization confirmation information calculation unit 27; and the processing rule storage unit 28.
- control message processing unit 22 comprises a message analysis/processing unit 221 that analyzes a control message received from the forwarding node 10 and performs necessary processing; and a message generation unit 222 that generates a message to be transmitted to the forwarding node 10.
- the processing rule management unit 25 of this exemplary embodiment has the function corresponding to the comparison unit 25a and the confirmation unit 25b described in the outline of the present mode above.
- the processing rule management unit 25 has the function, which is triggered by the generation of a predetermined synchronization confirmation event such as the elapse of a predetermined time interval, to request the forwarding node 10 to transmit the table synchronization confirmation information and partition synchronization confirmation information, as well as the processing rule of a mismatching partition, via the control message processing unit 22 and the node communication unit 21 for performing the synchronization confirmation processing.
- a predetermined synchronization confirmation event such as the elapse of a predetermined time interval
- the comparison unit 25a and the confirmation unit 25b may be installed either in one of the control device 20 and the forwarding node 10 or in the control device 20 and forwarding node 10, one for each. Both or one of the comparison unit 25a and the confirmation unit 25b may be installed in a device in the system other than the control device 20 and the forwarding node 10.
- FIG. 7 is a diagram showing an example of the processing rule storage table held in the processing rule storage unit 28 of the control device 20.
- the processing rule storage unit 28 of the control device 20 holds all processing rules that are held in the processing rule storage units 14 of the forwarding nodes 10 controlled by the control device 20.
- the first to third entries from the top of the table in FIG. 7 indicate, for a flow where the matching rule is A, the processing rules that are set in the nodes whose DPIDs(identifier of node 10: Datapath Identifier) are 1-3 (the fourth to sixth entries from the top indicate the processing rules in the same way).
- the processing rules may also be stored with DPID or Partition# as the key.
- the node whose DPID is 1 performs the processing to output from the ninth port according to the Actions field.
- the node whose DPID is 1 for example, node #1 in FIG. 3
- the node whose DPID is 2 for example, node #2 in FIG. 3
- the node whose DPID is 3 (for example, node #3 in FIG. 3) performs the processing to output from the first port. In this way, the control processing is performed to forward a packet, corresponding to the matching rule "A", via a specified path.
- FIG. 8 is a diagram showing an example of the synchronization confirmation information storage table held in the synchronization confirmation information storage unit 26.
- the value of each field is equivalent to that described in FIG. 6.
- the change content field in FIG. 8, which describes a change in the synchronization confirmation information, may be omitted in the actual table.
- the table shown in FIG. 8 is the table for the node whose DPID is 1.
- the synchronization confirmation information storage unit 26 holds multiple tables each corresponding to the node corresponding to each DPID (The table having the format shown in FIG. 8 is provided for the node corresponding to each DPID).
- the partition synchronization confirmation information Hp1 calculated from partition #1 and the table synchronization confirmation information Htable calculated from the partition synchronization confirmation information Hp1-Hpx are changed.
- the partition synchronization confirmation information Hp1 calculated from partition #1 and the table synchronization confirmation information Htable calculated from the partition synchronization confirmation information Hp1-Hpx are returned to the values in the initial state.
- synchronization confirmation information storage unit 26 and the processing rule storage unit 28 are included in the control device 20 in the configuration shown in FIG. 4, another configuration may be employed in which the synchronization confirmation information storage unit 26 and the processing rule storage unit 28 are included in an external server provided separately.
- control device 20 described above may be implemented by adding the function and configuration corresponding to the processing rule management unit 25, synchronization confirmation information storage unit 26, synchronization confirmation information calculation unit 27, and processing rule storage unit 28 that calculate and manage the synchronization confirmation information when processing rules are changed or moved.
- control device 20 is not limited to the configuration based on the technology of OpenFlow.
- the functions corresponding to the processing rule management unit 25 and the synchronization confirmation information calculation unit 27 of the control device 20 described above may also be implemented by the program(s) executed by a computer that configures the control device 20.
- FIG. 9 is a flowchart showing the operation for calculating the synchronization confirmation information in the control device 20 of the first exemplary embodiment.
- step S001 when an operation (add, change, delete) of a processing rule held in the forwarding node 10 occurred or a notification to delete a processing rule from the forwarding node 10 is received (step S001), the control device 20 recalculates the corresponding partition synchronization confirmation information on the forwarding node in which the processing rule to be operated on or deleted is held (step S0002).
- the control device 20 recalculates the table synchronization confirmation information using the partition synchronization confirmation information including the calculated partition synchronization confirmation information described above (step S003).
- control device 20 saves the recalculated partition synchronization confirmation information and the table synchronization confirmation information in the synchronization confirmation information storage unit 26 (step S004).
- FIG. 10 is a flowchart showing the operation for calculating the synchronization confirmation information in the forwarding node 10 of the first exemplary embodiment.
- a processing rule operation add, change, delete
- the forwarding node 10 recalculates the partition synchronization confirmation information on the partition in which the processing rule to be operated on or deleted is included (step S102).
- the forwarding node 10 recalculates the table synchronization confirmation information using the partition synchronization confirmation information including the calculated partition synchronization confirmation information described above (step S103).
- the forwarding node 10 saves the recalculated partition synchronization confirmation information and the table synchronization confirmation information in the synchronization confirmation information storage unit 16 (step S104).
- FIG. 11 is a flowchart showing the synchronization confirmation operation performed by the control device 20 in the first exemplary embodiment.
- the control device 20 requests the forwarding node 10 to transmit the table synchronization confirmation information (step S201).
- the forwarding node 10 retrieves the table synchronization confirmation information Htable and transmits it to the control device 20.
- the control device 20 retrieves the corresponding table synchronization confirmation information Htable from the synchronization confirmation information storage unit 26 (step S203).
- control device 20 compares the table synchronization confirmation information Htable, received from the forwarding node 10, with the table synchronization confirmation information Htable calculated on the device side (step S204). If both match, the control device 20 determines that the forwarding node 10 and the control device 20 are synchronized. In this case, the synchronization confirmation processing is terminated (Yes in step S204).
- the control device 20 requests the forwarding node 10 to transmit the partition synchronization confirmation information (step S205).
- the forwarding node 10 retrieves the partition synchronization confirmation information Hp1-Hpx from the synchronization confirmation information storage unit 16 and transmits it to the control device 20.
- the control device 20 retrieves the corresponding partition synchronization confirmation information Hp1-Hpx from the synchronization confirmation information storage unit 26 (step S207).
- the control device 20 compares the partition synchronization confirmation information Hp1-Hpx, received from the forwarding node 10, with the partition synchronization confirmation information Hp1-Hpx calculated on the device side (step S208). If all pieces of partition synchronization confirmation information Hp1-Hpx match, the control device 20 determines that the forwarding node 10 and the control device 20 are synchronized. In this case, the synchronization confirmation processing is terminated (Yes in step S208).
- the control device 20 requests the forwarding node 10 to transmit the processing rules belonging to the mismatching partition (step S209).
- the forwarding node 10 retrieves the processing rules, corresponding to the partition number, from the processing rule storage unit 14 and transmits them to the control device 20.
- control device 20 retrieves the processing rules of the mismatching partition from the processing rule storage unit 28 (step S211).
- control device 20 compares the processing rules, received from the forwarding node 10, with the processing rules held on the device side (step S212). If all entries match, the control device 20 determines that the corresponding forwarding node 10 and the control device 20 are synchronized. In this case, the synchronization confirmation processing is terminated (Yes in step S212).
- control device 20 notifies the predetermined network administrator terminal that a synchronization failure is detected (step S213).
- FIG. 12 and FIG. 13 are diagrams showing an example of the operation sequence between the forwarding node 10 and the control device 20 in the first exemplary embodiment.
- the control device 20 requests the forwarding node 10 to transmit the configuration information on the processing rule storage table held in the processing rule storage unit 14 (S301 in FIG. 12).
- the forwarding node 10 responds with the configuration information on the processing rule storage table held in the processing rule storage unit 14 (S302 in FIG. 12).
- the configuration information on the processing rule storage table is, for example, size information on the processing rule storage table.
- the control device 20 determines the partition information, including the partition configuration and the number of divisions of the processing rule storage table, based on the configuration information on the processing rule storage table and transmits the partition information on the processing rule storage table to the forwarding node 10 (S303 in FIG. 12: request to transmit table partition information).
- the forwarding node 10 transmits a response to the control device 20 to indicate that the partition setting of the processing rule storage table is completed (S304 in FIG. 12: respond with table partition information).
- control device 20 and the forwarding node 10 each calculate the synchronization confirmation information according to the flows shown in FIG. 9 and FIG. 10 (S305 and S306 in FIG. 12).
- control device 20 creates a processing rule and performs the setting operation for the processing rules held in the forwarding node 10 to respond to a processing rule setting request from the forwarding node 10 or to establish an initial state path (S307 in FIG. 12)
- the control device 20 and the forwarding node 10 each recalculate the synchronization confirmation information according to the flows shown in FIG. 9 and FIG. 10 (S308 and S309 in FIG. 12).
- the forwarding node 10 deletes the processing rule and notifies the control device 20 about the deletion (S310 in FIG. 12). In this case, the control device 20 and the forwarding node 10 each recalculate the synchronization confirmation information according to the flows shown in FIG. 9 and FIG. 10 (S311 and S312 in FIG. 12).
- the forwarding node 10 retrieves the table synchronization confirmation information Htable from the synchronization confirmation information storage unit 16 and transmits it to the control device 20 (S314 in FIG. 12).
- the control device 20 compares the table synchronization confirmation information Htable, received from the forwarding node 10, with the corresponding table synchronization confirmation information Htable on the device side (S315 in FIG. 13). Because both match (OK) in the example in FIG. 13, the control device 20 once terminates the synchronization confirmation processing.
- the table synchronization confirmation information Htable received from the forwarding node 10
- the corresponding table synchronization confirmation information Htable on the device side do not match (NG). Therefore, the partition synchronization confirmation information Hp1-Hpx is compared between the control device 20 and the forwarding node 10 (S319-S321 in FIG. 13).
- a mismatching partition is identified as a result of the comparison of the partition synchronization confirmation information Hp1-Hpx in the example in FIG. 13, the processing rules of the mismatching partition are compared between the control device 20 and the forwarding node 10 (S322-S324 in FIG. 13).
- the synchronization state of processing rules between the forwarding node 10 and the control device 20, which controls the forwarding node 10 can be confirmed at low costs as described above. Even if an out-of-synchronization condition is detected, only a part of the processing rules need be compared.
- the control device 20 interacts with one forwarding node 10 for synchronization confirmation in the exemplary embodiment described above, the same procedure may also be used to confirm the synchronization with multiple forwarding nodes 10. In this case too, if the forwarding node 10 and the control device 20 are synchronized, the processing is completed simply by comparing the table synchronization confirmation information and, therefore, the exemplary embodiment is readily compatible with an increase in the number of synchronizing forwarding nodes 10 to be controlled.
- the load that will be generated when an out-of-synchronization condition is detected can be adjusted (amount of partition synchronization confirmation information to be compared and the number of processing rules).
- the synchronization confirmation information includes information for transaction generation management between a control device 20 and a forwarding node 10 (hereinafter called "generation management information").
- FIG. 14 is a diagram showing an example of synchronization confirmation information calculated by a synchronization confirmation information calculation unit 17 of the forwarding node 10 and held in a synchronization confirmation information storage unit 16.
- the synchronization confirmation information includes the Ct field and the St field as the generation management information.
- the Ct field indicates a transaction ID attached to a processing rule operation control message transmitted from the control device 20 to the forwarding node 10.
- the St field indicates a transaction ID attached to a processing rule operation control message transmitted from the forwarding node 10 to the control device 20.
- the Hp1-Hpx fields store partition synchronization confirmation information that is the hash value calculated for each partition of the above-described processing rule storage table with the processing rules as the argument.
- the Htable field stores the table synchronization confirmation information that is the hash value calculated with the values of the Hp1-Hpx fields as the argument.
- the example of the synchronization confirmation information shown in FIG. 14 uniquely identifies the processing rule group held in the forwarding node, as well as the processing rule group belonging to each partition, after each of the control device 20 and the forwarding node 10 has transmitted a processing rule operation control message two times.
- FIG. 15 is a diagram showing an example of the synchronization confirmation information storage table held in a synchronization confirmation information storage unit 26 of the control device 20.
- the values of the fields are the same as those described in FIG. 14 but are different from those in FIG. 14 in that the Ct field and the St field are used by the control device 20 as the generation management information to hold the synchronization confirmation information for multiple generations.
- the change content field in FIG. 15, which describes a change in the synchronization confirmation information, may be omitted in the actual table.
- the table in FIG. 15 is a table for a node whose DPID is 1.
- the synchronization confirmation information storage unit 26 holds multiple tables, one for a node corresponding to each DPID (The table with the format shown in FIG. 8 is provided for each node corresponding to each DPID).
- the control device 20 requests the forwarding node 10 to transmit the table synchronization confirmation information (step S201).
- the forwarding node 10 retrieves the generation management information Ct and St and the table synchronization confirmation information Htable from the synchronization confirmation information storage unit 16 and transmits them to the control device 20.
- the control device 20 retrieves the table synchronization confirmation information Htable, which contains the corresponding generation management information Ct and St, from the synchronization confirmation information storage unit 26 (step S203).
- control device 20 compares the table synchronization confirmation information Htable, received from the forwarding node 10, with the table synchronization confirmation information Htable calculated on the device side (step S204). If both match, the control device 20 determines that the forwarding node 10 and the control device 20 are synchronized. In this case, the synchronization confirmation processing is terminated (Yes in step S204).
- the control device 20 requests the forwarding node 10 to transmit the partition synchronization confirmation information (step S205).
- the forwarding node 10 retrieves the generation management information Ct and St and the partition synchronization confirmation information Hp1-Hpx from the synchronization confirmation information storage unit 16 and transmits them to the control device 20.
- the control device 20 retrieves the partition synchronization confirmation information Hp1-Hpx, which has the corresponding generation management information Ct and St, from the synchronization confirmation information storage unit 26 (step S207).
- the control device 20 compares the partition synchronization confirmation information Hp1-Hpx, received from the forwarding node 10, with the partition synchronization confirmation information Hp1-Hpx calculated on the own device side (step S208). If all pieces of partition synchronization confirmation information Hp1-Hpx match, the control device 20 determines that the forwarding node 10 and the control device 20 are synchronized. In this case, the synchronization confirmation processing is terminated (Yes in step S208).
- the control device 20 requests the forwarding node 10 to transmit the processing rules belonging to the mismatching partition (step S209).
- the forwarding node 10 retrieves the processing rules, corresponding to the partition number, from the processing rule storage unit 14 and transmits them to the control device 20.
- control device 20 retrieves the processing rules of the mismatching partition from the processing rule storage unit 28 (step S211).
- control device 20 compares the processing rules, received from the forwarding node 10, with the processing rules held on the own device side (step S212). If all entries match, the control device 20 determines that the corresponding forwarding node 10 and the control device 20 are synchronized. In this case, the synchronization confirmation processing is terminated (Yes in step S212).
- control device 20 notifies the predetermined network administrator terminal that a synchronization failure is detected (step S213).
- the control device 20 requests the forwarding node 10 to transmit the configuration information on the processing rule storage table held in the processing rule storage unit 14 (S301 in FIG. 12).
- the forwarding node 10 responds with the configuration information on the processing rule storage table held in the processing rule storage unit 14 (S302 in FIG. 12).
- the control device 20 determines the partition information, including the partition configuration and the number of divisions of the processing rule storage table, based on the configuration information on the processing rule storage table and transmits the partition information on the processing rule storage table to the forwarding node 10 (S303 in FIG. 12).
- the forwarding node 10 transmits a response to the control device 20 to indicate that the partition setting of the processing rule storage table is completed (S304 in FIG. 12).
- the control device 20 and the forwarding node 10 each calculate the synchronization confirmation information according to the flows shown in FIG. 9 and FIG. 10 (S305 and S306 in FIG. 12).
- the control device 20 creates a processing rule and performs the setting operation for the processing rules held in the forwarding node 10 to respond to a processing rule setting request from the forwarding node 10 or to establish an initial state path (S307 in FIG. 12)
- the control device 20 and the forwarding node 10 each recalculate the synchronization confirmation information according to the flows shown in FIG. 9 and FIG. 10 (S308 and S309 in FIG. 12).
- the forwarding node 10 deletes the processing rule and notifies the control device 20 about the deletion (S310 in FIG. 12).
- the control device 20 and the forwarding node 10 each recalculate the synchronization confirmation information according to the flows shown in FIG. 9 and FIG. 10 (S311 and S312 in FIG. 12).
- the control device 20 compares the table synchronization confirmation information Htable, received from the forwarding node 10, with the table synchronization confirmation information Htable on the device side having the corresponding generation management information (S315 in FIG. 13). Because both match (OK) in the example in FIG. 13, the control device 20 once terminates the synchronization confirmation processing.
- the table synchronization confirmation information Htable received from the forwarding node 10
- the table synchronization confirmation information Htable on the device side having the corresponding generation management information do not match (NG). Therefore, the partition synchronization confirmation information Hp1-Hpx is compared between the control device 20 and the forwarding node 10 (S319-S321 in FIG. 13).
- a mismatching partition is identified as a result of the comparison of the partition synchronization confirmation information Hp1-Hpx in the example in FIG. 13, the processing rules of the mismatching partition are compared between the control device 20 and the forwarding node 10 (S322-S324 in FIG. 13).
- control device 20 compares the synchronization confirmation information using the generation management information Ct and St. Therefore, even when a processing rule is newly created and set after a synchronization confirmation information request is issued as shown in FIG. 16, the synchronization state can be confirmed correctly.
- a situation may be created in which the synchronization confirmation information corresponding to the generation management information Ct and St may not be included in the synchronization confirmation information storage unit 26 of the control device 20 (the same situation will be created when a processing rule operation from the control device 20 does not reach the forwarding node 10).
- the comparison processing may be performed by comparing the synchronization confirmation information with the latest synchronization confirmation information in the range in which the generation management information Ct and St notified from the forwarding node 10 is not exceeded.
- hash values are used as an example of synchronization confirmation information.
- another example of synchronization confirmation information is used.
- the number of processing rules held in processing rule storage units 14 and 28 and the number of processing rules held in each partition are used as the synchronization confirmation information.
- a forwarding node calculates Ntable (number of processing rules in the table stored in the processing rule storage unit 14 of this forwarding node) and Np1, Np2, ... , Npx (number of processing rules of each partition of the table stored in the processing rule storage unit 14) and holds them in the table format.
- Ntable number of processing rules in the table stored in the processing rule storage unit 14 of this forwarding node
- Np1, Np2, ... , Npx number of processing rules of each partition of the table stored in the processing rule storage unit 14
- a control device 20 also calculates Ntable (for example, number of processing rules stored in the processing rule storage unit 28 for the forwarding node whose DPID is 1) and Np1, Np2, ... , Npx (for example, number of processing rules of each partition of the processing rule group for the forwarding node whose DPID is 1) and stores them in the table format.
- the control device 20 holds the table, which includes Ntable, Np1, Nps, ... , Npx, for each of the multiple forwarding nodes to be managed.
- the synchronization between the forwarding node 10 and the control device 20 can be confirmed based on the result of comparison between the number of processing rules held in the forwarding node 10 and the number of processing rules held in the control device 20.
- the load of the control device 20 and the forwarding node 10 can be further reduced by reducing the number of times the synchronization confirmation information is calculated using the hash value of processing rules (see first and second exemplary embodiments) or by delaying the comparison of the synchronization confirmation information (see first and second exemplary embodiments).
- hash values or the number of processing rules is used as an example of synchronization confirmation information.
- another example of synchronization confirmation information is used.
- the version information on the table held in processing rule storage units 14 and 28 and the version information on the partitions of the table are used as the synchronization confirmation information.
- a forwarding node calculates Rtable (for example, version information on the processing rule storage table of the forwarding node whose DPID is 1) and Rp1, Rp2, ... , Rpx (version information on each partition of the processing rule storage table) and holds them in the table format.
- Rtable for example, version information on the processing rule storage table of the forwarding node whose DPID is 1
- Rp1, Rp2, ... , Rpx version information on each partition of the processing rule storage table
- a control device 20 also calculates Rtable (for example, version information on the processing rule group stored in a processing rule storage unit 28 for the forwarding node whose DPID is 1) and Rp1, Rp2, ... , Rpx (for example, version information on each partition of the processing rules for the forwarding node whose DPID is 1) and stores them in the table format.
- the control device 20 holds the table, which includes Rtable, Rp1, Rp2, ... , Rpx, for each of the multiple forwarding nodes to be managed.
- Rtable is generated to include the values reflecting the version information (Rp1, Rp2, ... ,Rpx) on the partitions.
- each of the forwarding node 10 and the control device 20 updates the version information on the partition (one of Rp1, Rp2, ... , Rpx).
- the version information on a partition Rp1, Rp2, ... , Rpx
- the version information on the table itself Rtable is also updated.
- Rtable is updated to reflect which partition's version information is updated. For example, when the version information on partition 1 (Rp1) is updated, Rtable becomes a value reflecting the version information on partition 1 that is updated.
- the synchronization between the forwarding node 10 and the control device 20 can be confirmed based on the result of comparison between the version information on the processing rules held in the forwarding node 10 and the version information on the processing rules held in the control device 20.
- the load of the control device 20 and the forwarding node 10 can be further reduced by reducing the number of times the synchronization confirmation information is calculated using the hash value of processing rules (see first and second exemplary embodiments) or by delaying the comparison of the synchronization confirmation information (see first and second exemplary embodiments).
- the synchronization confirmation in this exemplary embodiment may be used in conjunction with the synchronization confirmation by means of the number of processing rules described in the third exemplary embodiment.
- control device 20 comparison unit 25a, and confirmation unit 25b are used to perform the comparison processing in the exemplary embodiments above, it is also possible to employ a configuration in which a device, which manages the synchronization confirmation information and performs the comparison operation independently of the control device 20, is provided.
- the method for calculating the synchronization confirmation information using a hash function typified by MD5
- a method for simply performing synchronization confirmation using the checksum algorithm may also be employed.
- the method described in the exemplary embodiments as a method for calculating the synchronization confirmation information is exemplary only and another method may also be used for the calculation.
- the partition synchronization confirmation information is calculated and, using the calculation result, the table synchronization confirmation information is calculated to reduce the recalculation cost involved in changing or moving processing rules.
- the partition synchronization confirmation information and the table synchronization confirmation information may also be calculated using separate algorithms.
- the synchronization confirmation information with the generation management information Ct and St is held in the control device 20 in the exemplary embodiments described above, another configuration may also be employed in which the synchronization confirmation information with the generation management information Ct and St is held in the forwarding node 10 and the synchronization confirmation processing is performed by the processing rule management unit.
- Patent Literatures and Non-Patent Literatures quoted above are hereby incorporated by reference into this disclosure.
- the exemplary embodiments and the examples may be changed and adjusted in the scope of the entire disclosure (including claims) of the present invention and based on the basic technological concept.
- various disclosed elements may be combined and selected in a variety of ways.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
The present invention claims priority from Japanese Patent Application 2011-016322 (filed on January 28, 2011) the content of which is hereby incorporated in its entirety by reference into this specification.
The present invention relates to a communication system, a control device, a forwarding node, a communication control method, and a program and more particularly to a communication system having a control device for integrally controlling forwarding node(s) arranged in a network, a control device, a forwarding node, a communication control method, and a program.
The computer program processes physical and electrical data which represent technical parameters, i.e., bearing technical characters. The computer (and the program, too) itself is implemented as part of the communication system, control device and/or forwarding node(s), which constitutes (and qualifies as) a manufacture or product (communication apparatus or system or components thereof).
Next, a first exemplary embodiment will be described more in detail with reference to the drawings. FIG. 3 is a diagram showing the configuration of a communication system in the first exemplary embodiment. Referring to FIG. 3, three forwarding
Next, a second exemplary embodiment will be described.
Next, a third exemplary embodiment will be described.
Next, a fourth exemplary embodiment will be described.
11 Forward processing unit
12 Control device communication unit
13 Processing rule management unit
14 Processing rule storage unit
15 Packet buffer
16 Synchronization confirmation information storage unit
17 Synchronization confirmation information calculation unit
20 Control device
21 Node communication unit
22 Control message processing unit
23 Topology management unit
24 Path/action calculation unit
25 Processing rule management unit
25a Comparison unit
25b Confirmation unit
26 Synchronization confirmation information storage unit
27 Synchronization confirmation information calculation unit
28 Processing rule storage unit
111 Processing rule search unit
112 Action execution unit
221 Message analysis/processing unit
222 Message generation unit
Claims (12)
- A communication system, comprising:
a control device that determines packet processing rules;
at least one forwarding node that processes a received packet using a processing rule that is one of a plurality of processing rules transmitted from said control device and that corresponds to the received packet;
a comparison unit that compares a first value with a second value, the first value calculated from a first processing rule group held in said forwarding node, the second value calculated from a second processing rule group determined by said control device for transmission to said forwarding node; and
a confirmation unit that confirms if said forwarding node and said control device are synchronized based on the comparison result. - The communication system as defined by claim 1, wherein
based on a result of the comparison between the first value and the second value, said confirmation unit detects whether or not said forwarding node and said control device are out of synchronization. - The communication system as defined by claim 1 or 2, wherein
if a mismatch between the first value and the second value is detected, said confirmation unit compares a third value with a fourth value to detect an out-of-synchronization position, the third value calculated from a first part selected from the first processing rule group, the fourth value calculated from a second part of the second processing rule group corresponding to the first part. - The communication system as defined by one of claims 1-3, wherein
the first value and the second value can be calculated using the third value and the fourth value respectively. - The communication system as defined by claim 3 or 4, wherein
the first part and the second part are parts each selected from a table that stores the processing rules. - The communication system as defined by one of claims 1-5, wherein
when a processing rule is set, said control device notifies said forwarding node about a position in the table in which the processing rule is to be stored, and
after the processing rule is set, said forwarding node recalculates the first value or the third value and the first value respectively. - The communication system as defined by one of claims 3-6, wherein
if the first value and the second value do not match or if the third value and the fourth value do not match, said confirmation unit compares processing rules included in the processing rule groups in which the mismatch was detected. - The communication system as defined by one of claims 2-7, wherein
at least one of said control device and said forwarding node manages a plurality of generations by assigning generation management information to first to fourth values according to a predetermined rule, and
said comparison unit compares the first/third values with the second/fourth values that have matching generation management information. - A control device, comprising:
means that determines packet processing rules;
means that transmits the determined processing rules to forwarding nodes that process a received packet according to processing rules that are one of a plurality of processing rules and that corresponds to the received packet; and
means that calculates a second value from a second processing rule group determined for transmission to said forwarding node in order to confirm synchronization with said forwarding node by comparison with a first value calculated from a first processing rule group held in said forwarding node. - A forwarding node, comprising:
means that processes a received packet according to a processing rule that is one of a plurality of processing rules transmitted from a control device and that corresponds to the received packet; and
means that calculates a first value from a first processing rule group held in the forwarding node itself in order to confirm synchronization between said control device and said forwarding node by comparison with a second value calculated from a second processing rule group determined by said control device for transmission to said forwarding node. - A communication control method that controls a communication system comprising a control device that determines packet processing rules; and at least one forwarding node that processes a received packet using a processing rule that is one of a plurality of processing rules transmitted from said control device and that corresponds to the received packet, said communication control method comprising the steps of:
comparing a first value with a second value, the first value calculated from a first processing rule group held in said forwarding node, the second value calculated from a second processing rule group determined by said control device for transmission to said forwarding node; and
confirming if said forwarding node and said control device are synchronized based on the comparison result. - A program that causes a computer connected to a communication system, which comprises a control device that determines packet processing rules; and at least one forwarding node that processes a received packet using a processing rule that is one of a plurality of processing rules transmitted from said control device and that corresponds to the received packet, to perform processings of:
comparing a first value with a second value, the first value calculated from a first processing rule group held in said forwarding node, the second value calculated from a second processing rule group determined by said control device for transmission to said forwarding node; and
confirming if said forwarding node and said control device are synchronized based on the comparison result.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/982,239 US9401772B2 (en) | 2011-01-28 | 2011-09-26 | Communication system, control device, forwarding node, communication control method, and program |
| EP11857314.6A EP2668752A4 (en) | 2011-01-28 | 2011-09-26 | Communication system, control device, forwarding node, communication control method, and program |
| JP2013534081A JP5854047B2 (en) | 2011-01-28 | 2011-09-26 | COMMUNICATION SYSTEM, CONTROL DEVICE, TRANSFER NODE, COMMUNICATION CONTROL METHOD, AND PROGRAM |
| CN201180066250.XA CN103339904B (en) | 2011-01-28 | 2011-09-26 | Communication system, control equipment, forward node and communication control method |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011016322 | 2011-01-28 | ||
| JP2011-016322 | 2011-01-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012101690A1 true WO2012101690A1 (en) | 2012-08-02 |
Family
ID=46580304
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2011/005385 Ceased WO2012101690A1 (en) | 2011-01-28 | 2011-09-26 | Communication system, control device, forwarding node, communication control method, and program |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US9401772B2 (en) |
| EP (1) | EP2668752A4 (en) |
| JP (1) | JP5854047B2 (en) |
| WO (1) | WO2012101690A1 (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2014111060A1 (en) * | 2013-01-21 | 2014-07-24 | 华为技术有限公司 | Method, apparatus and system for group session |
| JP2015142344A (en) * | 2014-01-30 | 2015-08-03 | 日本電気株式会社 | Communication system, control device, communication node, control information setting method and program |
| EP2938027A4 (en) * | 2012-12-19 | 2016-09-21 | Nec Corp | COMMUNICATION NODE, CONTROL DEVICE, COMMUNICATION SYSTEM, PACKET PROCESSING METHOD, COMMUNICATION NODE CONTROL METHOD, AND PROGRAM |
| WO2020059532A1 (en) * | 2018-09-20 | 2020-03-26 | 日本電信電話株式会社 | Network service system, event log recording device, event log management method and program |
| EP3761604A4 (en) * | 2018-03-26 | 2021-04-21 | Huawei Technologies Co., Ltd. | DATA PROCESSING PROCESS AND ASSOCIATED DEVICE |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015147859A1 (en) * | 2014-03-28 | 2015-10-01 | Hewlett-Packard Development Company, L.P. | Reconciling information in a controller and a node |
| US9935831B1 (en) | 2014-06-03 | 2018-04-03 | Big Switch Networks, Inc. | Systems and methods for controlling network switches using a switch modeling interface at a controller |
| US10361899B2 (en) * | 2015-09-30 | 2019-07-23 | Nicira, Inc. | Packet processing rule versioning |
| CN113206801B (en) | 2017-03-13 | 2024-06-07 | 华为技术有限公司 | Method and network device for processing packets |
| CN114079634B (en) * | 2020-08-21 | 2024-03-12 | 深圳市中兴微电子技术有限公司 | Message forwarding method and device and computer readable storage medium |
| CN118870398B (en) * | 2024-09-26 | 2024-12-03 | 浙江大华技术股份有限公司 | Network data transmission method and device |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5765172A (en) * | 1996-01-23 | 1998-06-09 | Dsc Communications Corporation | System and method for verifying integrity of replicated databases |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3654176B2 (en) * | 2000-11-22 | 2005-06-02 | 日本電気株式会社 | Routing table update method and method |
| ATE477540T1 (en) * | 2001-09-14 | 2010-08-15 | Nokia Inc | APPARATUS AND METHOD FOR PACKET FORWARDING |
| GB2420043B (en) * | 2004-11-03 | 2006-11-22 | 3Com Corp | Rules engine for access control lists in network units |
| WO2007036015A1 (en) | 2005-09-29 | 2007-04-05 | Research In Motion Limited | Efficient database synchronization by comparing representative information |
| US20080189769A1 (en) | 2007-02-01 | 2008-08-07 | Martin Casado | Secure network switching infrastructure |
| US7903665B2 (en) * | 2007-08-24 | 2011-03-08 | Fujitsu Limited | System and method for synchronizing packet forwarding information |
| US8260742B2 (en) * | 2009-04-03 | 2012-09-04 | International Business Machines Corporation | Data synchronization and consistency across distributed repositories |
| CN104067572A (en) * | 2012-01-16 | 2014-09-24 | 日本电气株式会社 | Network system and path information synchronization method |
-
2011
- 2011-09-26 WO PCT/JP2011/005385 patent/WO2012101690A1/en not_active Ceased
- 2011-09-26 US US13/982,239 patent/US9401772B2/en not_active Expired - Fee Related
- 2011-09-26 JP JP2013534081A patent/JP5854047B2/en not_active Expired - Fee Related
- 2011-09-26 EP EP11857314.6A patent/EP2668752A4/en not_active Withdrawn
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5765172A (en) * | 1996-01-23 | 1998-06-09 | Dsc Communications Corporation | System and method for verifying integrity of replicated databases |
Non-Patent Citations (2)
| Title |
|---|
| MCKEOWN N. ET AL.: "Openflow: Enabling Innovation in Campus Networks", ACM SIGCOMM COMPUTER COMMUNICATION REVIEW, vol. 38, no. 2, 14 March 2008 (2008-03-14), pages 69 - 74, XP055091294 * |
| See also references of EP2668752A4 * |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2938027A4 (en) * | 2012-12-19 | 2016-09-21 | Nec Corp | COMMUNICATION NODE, CONTROL DEVICE, COMMUNICATION SYSTEM, PACKET PROCESSING METHOD, COMMUNICATION NODE CONTROL METHOD, AND PROGRAM |
| WO2014111060A1 (en) * | 2013-01-21 | 2014-07-24 | 华为技术有限公司 | Method, apparatus and system for group session |
| US9801031B2 (en) | 2013-01-21 | 2017-10-24 | Huawei Technologies Co., Ltd. | Method, apparatus and system for group session |
| JP2015142344A (en) * | 2014-01-30 | 2015-08-03 | 日本電気株式会社 | Communication system, control device, communication node, control information setting method and program |
| EP3761604A4 (en) * | 2018-03-26 | 2021-04-21 | Huawei Technologies Co., Ltd. | DATA PROCESSING PROCESS AND ASSOCIATED DEVICE |
| US11477067B2 (en) | 2018-03-26 | 2022-10-18 | Huawei Technologies Co., Ltd. | Packet transmission method and apparatus |
| WO2020059532A1 (en) * | 2018-09-20 | 2020-03-26 | 日本電信電話株式会社 | Network service system, event log recording device, event log management method and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5854047B2 (en) | 2016-02-09 |
| CN103339904A (en) | 2013-10-02 |
| US9401772B2 (en) | 2016-07-26 |
| JP2014504047A (en) | 2014-02-13 |
| EP2668752A4 (en) | 2017-01-04 |
| US20130301658A1 (en) | 2013-11-14 |
| EP2668752A1 (en) | 2013-12-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9401772B2 (en) | Communication system, control device, forwarding node, communication control method, and program | |
| US11134012B2 (en) | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow | |
| US9479323B2 (en) | Communication system, forwarding node, control device, communication control method, and program | |
| KR101529950B1 (en) | Communication system, information processing device, communication node, communication method, and computer-readable storage medium storing program | |
| US10200307B2 (en) | Communication system, control device, processing rule setting method, packet transmission method, and program | |
| EP2897327B1 (en) | Communication system, node, control device, communication method, and program | |
| JP5850068B2 (en) | Control device, communication system, communication method, and program | |
| KR101434375B1 (en) | Flow communication system | |
| CN104158749A (en) | Message forwarding method in software defined networking, network equipment and software defined networking | |
| JP6055009B2 (en) | Packet processing method, apparatus and system | |
| JP2017516417A (en) | System and method for controlling a network switch using a switch modeling interface in a controller | |
| US20130286844A1 (en) | Information system, control apparatus, communication method, and program | |
| US10171352B2 (en) | Communication system, node, control device, communication method, and program | |
| US10122654B2 (en) | Divided hierarchical network system based on software-defined networks | |
| EP2698953A1 (en) | Network, data transfer node, communication method, and program | |
| JP2011160363A (en) | Computer system, controller, switch, and communication method | |
| US20150381775A1 (en) | Communication system, communication method, control apparatus, control apparatus control method, and program | |
| CN103339904B (en) | Communication system, control equipment, forward node and communication control method | |
| HK1181928B (en) | Communication system, node, control apparatus, communication method and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11857314 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2013534081 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 13982239 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2011857314 Country of ref document: EP |