Sign In to Follow Application
View All Documents & Correspondence

Communication System Control Device Forwarding Node Communication Control Method And Program

Abstract: A communication system includes a control device that determines packet processing rules; a 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; a comparison unit that compares a first value with a second value wherein 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; and a confirmation unit that confirms if the forwarding node and the control device are synchronized based on the comparison result.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
01 August 2013
Publication Number
50/2014
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application

Applicants

NEC CORPORATION
7 1 Shiba 5 chome Minato ku Tokyo 1088001

Inventors

1. CHIBA Yasunobu
c/o NEC CORPORATION 7 1 Shiba 5 chome Minato ku Tokyo 1088001

Specification

Description Title of Invention: COMMUNICATION SYSTEM, CONTROL DEVICE, FORWARDING NODE, COMMUNICATION CONTROL METHOD, AND PROGRAM Technical Field [000 1] (CROSS-REFERENCE TO RELATED APPLICATIONS) The present invention claims priority from Japanese Patent Application 201 1-016322 (filed on January 28, 201 1) 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 p ar ticularly 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 com munication control method, and a program. Background Art [0002] 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. [0003] 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 commu nications 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. In the flow table, a set of the following three is defined for each flow: a matching rule (Header Fields) against which a packet header is matched, flow statistical information (Counters), and an action(s) (Actions) that defines processing contents (see FIG. 18). [0004] For example, when a packet is received, 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 in formation (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. On the other hand, if an entry matching the received packet is not found as a result of the search, 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. [0005] However, 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. [0006] In addition, 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. According to this literature, 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 synchro nization 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 syn chronization confirmation. Citation List Patent Literature [0007] PTL 1: International Publication No. WO2008/095010A1 PTL 2: JP Patent Kohyo Publication No. JP-P2009-510566A Non Patent Literature [0008] NPL 1: Nick McKeown and seven other authors, "OpenFlow: Enabling Innovation in Campus Networks", [online], [Searched on December 22, 2010], Internet NPL 2: "Openflow Switch Specification" Version 1.0.0. (Wire Protocol 0x01) [Searched on December 22, 2010], Internet Summary of Invention Technical Problem [0009] The following analysis is given by the present invention. As described above, 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. [0010] The technology disclosed in 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. [001 1] In a communication system where a control device integrally controls forwarding nodes, 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. In addition, it should be taken into consideration that an increase in the number of forwarding nodes to be controlled or an increase in the number of processing rules (subdivision of control granularity) per user will result in an exponential increase in the load of the control device. In particular, the method described in Patent Literature 2 generates network traffic for confirming the synchro nization of each piece of data and, therefore, the synchronization confirmation traffic is increased and the load of the control device is further increased. [0012] In view of the foregoing, it is an object of the present invention to provide an efficient method for confirming synchronization between a forwarding node and the control device in a communication system where the control device integrally controls the forwarding nodes for communication. Solution to Problem [0013] According to a first aspect of the present invention, there is provided a commu nication 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. [0014] According to a second aspect of the present invention, there is provided 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 synchro nization with the forwarding node by comparison with a first value calculated from a first processing rule group held in the forwarding node. [0015] According to a third aspect of the present invention, there is provided 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 de termined by the control device for transmission to the forwarding node. [0016] According to a fourth aspect of the present invention, there is provided a commu nication 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. [0017] According to a fifth aspect of the present invention, there is provided 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 de termined 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 computerreadable storage medium, which may be non-transmit. That is, the present invention may be implemented as a computer program product. Advantageous Effects of Invention [0018] The present invention allows synchronization confirmation to be performed e f ficiently 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). Brief Description of Drawings [0019] [fig. 1]FIG. 1 is a diagram showing the outline of (a mode of) the present invention. [fig.2]FIG. 2 is a diagram showing an example of the method for calculating first and second values. [fig.3]FIG. 3 is a diagram showing the configuration of a first exemplary embodiment. [fig.4]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]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]FIG. 6 is a diagram showing an example of synchronization confirmation in formation held in the synchronization confirmation information storage unit of the forwarding node in the first exemplary embodiment. [fig.7]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]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 em bodiment. [fig.9]FIG. 9 is a flowchart showing the calculation operation of synchronization con firmation information in the control device in the first exemplary embodiment [fig. 10]FIG. 10 is a flowchart showing the calculation operation of synchronization confirmation information in the forwarding node in the first exemplary embodiment. [fig.ll]FIG. 1 1 is a flowchart showing the synchronization confirmation operation performed by the control device in the first exemplary embodiment [fig. 12]FIG. 12 is a diagram showing an example of the operation sequence in the first exemplary embodiment. [fig.l3]FIG. 13 is a diagram continued from FIG. 12. [fig. 14]FIG. 14 is a diagram showing an example of synchronization confirmation in formation of in the forwarding node in a second exemplary embodiment. [fig.l5]FIG. 15 is a diagram showing an example of a table held in the control device in the second exemplary embodiment. [fig. 16]FIG. 16 is a diagram showing an example of the comparison operation using generation management information. [fig.l7]FIG. 17 is a diagram showing another example of the comparison operation using generation management information. [fig.l8]FIG. 18 is a diagram showing the configuration of a flow entry described in Non-Patent Literature 2. Description of Embodiments [0020] First, the outline of a mode of the present invention will be described below with reference to FIG. 1 and FIG. 2. Note that the drawing reference numerals in the outline are attached to the elements for convenience as an example to help understanding of the present invention but do not limit the present invention to the mode shown in the figures. [0021] As shown in FIG. 1, 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. [0022] In addition, the control device 20 comprises a comparison unit 25a and a con firmation 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 synchro nization state of the processing rules between the forwarding node and the control device based on the comparison result. Although FIG. 1 shows an example of the con figuration 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. As described above, 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. [0023] The following describes an example of how to calculate the first value and the second value described. 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. Similarly, 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. [0024] 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. In the example in FIG. 2, for the processing rules held in the processing rule storage unit 14 of the forwarding node 10 and in the processing rule storage unit 28 of the control device 20, the values (hl,h2,h3, ... ,hx) representing each of the predetermined parts (denoted as partitions in FIG. 2) 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. Similarly, for the control device 20, the value (fourth value) representing each part cor responding to the part of the forwarding node 10 is calculated. In the example in FIG. 2, the values obtained in this way (hl,h2,h3, ... hx) are assigned to the predetermined function (hash(hl,h2,h3, ... ,hx) in FIG. 2) to calculate the first value (or second value). By comparing the first value (or second value) obtained in this way, not only the syn chronization state between the forwarding node 10 and the control device 20 may be confirmed but also, if a mismatch is found and an out-of-synchronization is detected, a mismatch position may be narrowed in stages by comparing the values (third or fourth values) calculated for each part. Even if a mismatch is found between the first value and the 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. [0025] Although the 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. [0026]

Documents