Control message relay apparatus, control message relay method, and program
A control message relay apparatus is arranged between a switch that processes a packet(s) based on externally set control information and a control apparatus that sets the control information in the switch. The control message relay apparatus comprises a control information storage unit that stores control information received from the control apparatus and information indicative of a setting status of the control information in the switch; and a control information conversion unit that reflects a control content(s) received from the control apparatus in control information held in the switch based on a predetermined control policy(ies).
Latest NEC CORPORATION Patents:
- METHOD AND APPARATUS FOR COMMUNICATIONS WITH CARRIER AGGREGATION
- QUANTUM DEVICE AND METHOD OF MANUFACTURING SAME
- DISPLAY DEVICE, DISPLAY METHOD, AND RECORDING MEDIUM
- METHODS, DEVICES AND COMPUTER STORAGE MEDIA FOR COMMUNICATION
- METHOD AND SYSTEM OF INDICATING SMS SUBSCRIPTION TO THE UE UPON CHANGE IN THE SMS SUBSCRIPTION IN A NETWORK
This application is a National Stage Entry of PCT/JP2014/056172 filed on Mar. 10, 2014, which claims priority from Japanese Patent Application 2013-048320 filed on Mar. 11, 2013, the contents of all of which are incorporated herein by reference, in their entirety.
The present invention relates to a control message relay apparatus, a control message relay method, and a program. In particular, it relates to a control message relay apparatus, a control message relay method, and a program for relaying control messages between a control apparatus(es) and a switch(es) in a centralized-control-type network.
BACKGROUNDNon-Patent Literatures 1 and 2 disclose a technique referred to as OpenFlow in which control and data planes are separated from each other. In OpenFlow, a control apparatus referred to as an OpenFlow controller sets control information (flow entries) that defines packet forwarding rules and/or header conversion rules in target switches, and these switches process received packets by referring to the control information.
Non-Patent Literature 3 proposes a switch virtualization technique referred to as FlowVisor, as an extended technique of the above OpenFlow. In FlowVisor, a relay apparatus referred to as a FlowVisor is arranged between a plurality of OpenFlow controllers and a plurality of switches. The FlowVisor intercepts a control message issued from an OpenFlow controller and determines whether to set information in a corresponding switch in accordance with a resource allocation policy. In addition, the FlowVisor forwards a control message issued from a switch to a corresponding network controller in accordance with a resource allocation policy.
Non-Patent Literature 1:
- Nick McKeown, and seven others, “OpenFlow: Enabling Innovation in Campus Networks,” [online], [searched on Jan. 9, 2013], Internet <URL: http://www.openflow.org/documents/openflow-wp-latest.pdf>.
Non-Patent Literature 2: - “OpenFlow Switch Specification” Version 1.3.1 (Wire Protocol 0x04), [online], [searched on Jan. 9, 2013], Internet <URL: https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf>.
Non-Patent Literature 3: - “FlowVisor: A Network Virtualization Layer,” [online], [searched on Jan. 9, 2013], Internet <http://www.openflow.org/downloads/technicalreports/openflow-tr-2009-1-flowvisor.pdf>.
The following analysis has been given by the present inventor. Switches in a centralized-control-type network as typified by OpenFlow hold control information received from a control apparatus and are expected to process packets at high speed. Thus, such switches in a centralized-control-type network include a CAM (Content Addressable Memory) for holding control information. However, since such a CAM is expensive, the capacity of the memory could be limited. In addition, the CAM capacity varies from switch to switch. Consequently, the number of control information entries that can be set could vary from switch to switch. This is a problem since the control algorithm of a control apparatus cannot accommodate such difference among the CAM capacities of these switches.
When the CAM of a switch is full as described above, if the switch receives a control message for setting new control information from a control apparatus, the switch transmits an error message as a response. Consequently, for example, the control apparatus may need to remove other control information set in the switch, causing burden on the control apparatus, which is counted as a problem.
In particular, when a resource-balancing broker such as the FlowVisor in Non-Patent Literature 3 is used, since each of the plurality of control apparatuses sets control information in a single switch, the number of control information entries that can be set could be further limited.
Therefore, there is a need in the art to facilitate setting of control information by a control apparatus(es) in a switch(es), without, for example, unifying the CAM capacities of the switches or the like.
According to a first aspect, there is provided a control message relay apparatus arranged between a switch that processes a packet(s) based on externally set control information and a control apparatus that sets the control information in the switch. The control message relay apparatus comprises a control information storage unit that stores control information received from the control apparatus and information indicative of a setting status of the control information in the switch. Further, the control message relay apparatus comprises a control information conversion unit that reflects a control content(s) received from the control apparatus in control information held in the switch based on a predetermined control policy(ies).
According to a second aspect, there is provided a control message relay method performed by a control message relay apparatus arranged between a switch that processes packets based on externally set control information and a control apparatus that sets the control information in the switch. The control message relay method comprises reflecting a control content(s) received from the control apparatus in control information held in the switch based on a predetermined control policy(ies). Further, the control message relay method comprises updating a control information storage unit that stores control information received from the control apparatus and information indicative of a setting status of the control information in the switch. This method is associated with a certain machine called a control message relay apparatus that relays a control message(s) between a switch(es) and a control apparatus(es).
According to a third aspect, there is provided a program for a computer arranged between a switch that processes packets based on externally set control information and a control apparatus that sets the control information in the switch. The program causes the computer to execute reflecting a control content(s) received from the control apparatus in control information held in the switch based on a predetermined control policy(ies). Further, the program causes the computer to execute updating a control information storage unit that stores control information received from the control apparatus and information indicative of a setting status of the control information in the switch. This program can be recorded in a computer-readable (non-transient) storage medium. Namely, the present invention can be embodied as a computer program product.
The present invention provides the following advantage, but not restricted thereto. According to the present invention, it is possible to facilitate setting of control information by a control apparatus(es) in switches.
In the present disclosure, there are various possible modes, which include the following, but not restricted thereto. First, an outline of an exemplary embodiment of the present invention will be described with reference to drawings. In the following outline, various components are denoted by reference characters for the sake of convenience. Namely, the following reference characters are merely used as examples to facilitate understanding of the present invention, not to limit the present invention to the illustrated modes.
As illustrated in
More specifically, this control message relay apparatus 200 includes a control information storage unit 210 in which control information received from the control apparatus 100 and control information set in the switch 300 are stored and a control information conversion unit 220 that reflects a control content received from the control apparatus 100 in control information held in the switch 300 based on a predetermined control policy.
For example, if control information for dropping packets whose source MAC address is B and a control policy for reducing the number of control information entries that are set in the switch 300 have already been set in the switch 300, the control message relay apparatus 200 performs the following operation. In such situation, there is a possibility that the control apparatus 100 transmits control information for instructing dropping of packets whose source MAC address is A to the switch 300 via the control message relay apparatus 200 as illustrated in
If the control message relay apparatus 200 has already acquired information indicating that a terminal whose source MAC is A and a terminal whose source MAC is B are connected to another switch connected to a port #N of the switch 300, instead of transmitting the control information received from the control apparatus 100 to the switch 300, the control message relay apparatus 200 performs an operation of rewriting the control information for instructing dropping of packets whose source MAC address is B, the control information being held in the switch 300, to control information for instructing dropping of packets received via the port #N. In this way, the control content intended by the control apparatus 100 can be realized without increasing the number of control information entries held in the switch.
In addition, according to the above exemplary embodiment, for example, even when the switch 300 cannot hold new control information because of its CAM capacity or the like, an error is not transmitted and the control apparatus can recognize that the control information has been set (setting of control information is facilitated).
First Exemplary EmbodimentNext, a first exemplary embodiment of the present invention will be described in detail with reference to the drawings.
The control message relay apparatus 20 includes a control communication mediation unit 21, a control message conversion unit 22, a control policy storage unit 23, a switch information storage unit 24, and a control information storage unit 25.
The control communication mediation unit 21 intercepts a control message between the network controller 10 and the switch 30 and transmits the control message to the control message conversion unit 22. In addition, the control communication mediation unit 21 transmits a control message determined by the control message conversion unit 22 to a target apparatus (the network controller 10 or the switch 30).
The control communication mediation unit 21 may intercept a control message by hooking a command. However, the interception method is not limited to such method. As long as the control communication mediation unit 21 can perform control communication with both the network controller 10 and the switch 30, the interception method may be realized by another method. For example, the control message relay apparatus 20 may temporarily serve as communication endpoints such as a load balancer or a cache server and intercept a control message. Namely, it is only necessary that the control message relay apparatus 20 have its own communication endpoints and perform control communication by using a combination of communications among its own communication endpoints and communication endpoints of the network controller 10 and the switch 30.
The control message conversion unit 22 corresponds to the above control information conversion unit. When receiving a control message from the control communication mediation unit 21, the control message conversion unit 22 refers to the control policy storage unit 23 and converts the control message. In addition, the control message conversion unit 22 transmits the control message to a target apparatus (the network controller 10 or the switch 30) via the control communication mediation unit 21.
When converting a control message, the control message conversion unit 22 can refer to not only the control policy storage unit 23 but also the switch information storage unit 24 and the control information storage unit 25.
When receiving a control message for establishing control communication between the network controller 10 and the switch 30 for the first time, the control message conversion unit 22 according to the present exemplary embodiment stores a correspondence relationship between the network controller 10 and the switch 30 in the switch information storage unit 24. The correspondence relationship between the network controller 10 and the switch 30 may be set in advance in the switch information storage unit 24.
The control policy storage unit 23 manages control message conversion rules (control policies). Examples of the conversion rules include a rule for rewriting a specified portion(s) in a certain control message or certain control information. For example, the control policy storage unit 23 may be realized as a module that performs input and output information corresponding to the conversion rules.
In the switch information storage unit 24, a correspondence relationship between the network controller 10 and the switch 30 is stored. In addition to the correspondence relationship, connection authority information between the network controller 10 and the switch 30 is stored in the switch information storage unit 24 according to the present exemplary embodiment.
While the switch information storage unit 24 holds the correspondence relationship between the network controller 10 and the switch 30, the control information storage unit 25 holds control information setting statuses recognized by the network controller 10 and the switch 30. For example, the control information storage unit 25 holds at least a group of items of control information that is instructed by the network controller 10 and additional information that is realized by flags or the like and that indicates statuses of the control information that is set in the switch 30.
Each unit (processing means) of the control message relay apparatus 20 illustrated in
Next, an operation of the control message relay apparatus 20 according to the present exemplary embodiment will be described in detail with reference to the drawings. First, a mediation operation performed when the control message relay apparatus 20 intercepts a control message for establishing control communication between the network controller 10 and the switch 30 (the control message which will hereinafter be referred to as a “control communication establishment message”) will be described.
When the control communication mediation unit 21 of the control message relay apparatus 20 intercepts a control communication establishment message issued from the network controller 10 or the switch 30, the control communication mediation unit 21 notifies the control message conversion unit 22 of the message. The control message conversion unit 22 refers to the control policy storage unit 23 and extracts a correspondence relationship rule between the network controller and the switch. In accordance with the correspondence relationship rule between the network controller and the switch, as needed, the control message conversion unit 22 refers to the switch information storage unit 24 and determines whether establishment of control communication between the network controller 10 and the switch 30 is authorized (step S1101 in
Examples of the correspondence relationship rule between the network controller and the switch include a rule “communication between any network controller and any switch is authorized.” As another example, correspondence relationships among network controllers and switches may be stored in advance in the switch information storage unit 24. In such case, the control message conversion unit 22 may refer to the switch information storage unit 24 and authorize only the communication between a network controller and a switch that have a correspondence relationship. As another example, correspondence relationships among network controllers and switches may also be stored in advance in the switch information storage unit 24. In such case, when the control message conversion unit 22 receives a control communication establishment request addressed to the control message relay apparatus 20, if the control message conversion unit 22 can determine a connection target by referring to the switch information storage unit 24, the control message conversion unit 22 may authorize the communication.
If establishment of control communication is authorized for the control communication establishment message (YES in step S1101 in
Based on the intercepted control communication establishment message, the control message conversion unit 22 of the control message relay apparatus 20 creates a new control communication establishment message for the establishment target and transmits the control communication establishment message to the establishment target via the control communication mediation unit 21 (step S1103 in
Instead of creating a new control communication establishment message for the establishment target, the intercepted control communication establishment message issued from the network controller 10 or the switch 30 may directly be used. Alternatively, the control message conversion unit 22 may create a new message for establishing control communication between a corresponding establishment peer and the control message relay apparatus 20 and transmits the message to the corresponding establishment peer.
By performing the above control, the control message relay apparatus 20 can mediate control communication between the network controller 10 and the switch 30 as a mediator.
If establishment of control communication is not authorized for the control communication establishment message (NO in step S1101 in
Next, a mediation operation performed when the control message relay apparatus 20 according to the present exemplary embodiment intercepts a control message other than a message requesting establishment of control communication between the network controller 10 and the switch 30 will be described with reference to a flowchart in
This flow is started when the control message relay apparatus 20 intercepts a control message (which will hereinafter be referred to as a “communication control message” as needed) other than a group of communication establishment request messages transmitted from the network controller 10 or the switch 30.
When the control communication mediation unit 21 of the control message relay apparatus 20 intercepts a communication control message issued from the network controller 10 or the switch 30, the control communication mediation unit 21 notifies the control message conversion unit 22 of the message. The control message conversion unit 22 refers to the switch information storage unit 24 and determines whether control communication has been established between the network controller 10 and the switch 30 (step S1201 in
If control communication has already been established between the network controller 10 and the switch 30 (YES in step S1201 in
If the control message conversion unit 22 creates a new communication control message or converts the communication control message based on the conversion rule (YES in step S1203 in
By performing the above control, the control message relay apparatus 20 realizes control of virtualized switch resources based on a conversion rule.
If control communication has not been established between the network controller 10 and the switch 30 (NO in step S1201 in
According to the present exemplary embodiment in which the control message relay apparatus 20 is arranged as described above, the dependence of the network controller 10 on the switch is lowered. This is because, since the control message relay apparatus 20 virtualizes operations of the switch based on predetermined conversion rules, the switch operations independent of physical or protocol-related limitations of the switch are realized. Consequently, the network controller can be developed independently of the limitations of the switch.
In addition, according to the present exemplary embodiment, concentration of load on the network controller 10 can be reduced. This is because, since the network controller 10 views the control message relay apparatus 20 according to the present exemplary embodiment as a switch having virtualized resources, control of errors generated by physical limitations can be absorbed. Thus, the management amount of the network controller (the number of manageable switches, the number of flow entries, etc.) can be improved.
Specific Exemplary EmbodimentsNext, more specific operations of the control message relay apparatus 20 according to the above first exemplary embodiment will be described. In the following specific examples, the OpenFlow protocol in Non-Patent Literature 2 is used for exchange of communication control messages. Thus, of all the control information setting control messages (“Flow-Mod” message in Non-Patent Literature 2), while the switch does not respond to an addition- or updating-related message, the switch responds to a removal-related message. It is clear that the switch can be configured to respond to an addition- or updating-related message by using a variation of a communication control conversion rule through acknowledgement.
First, conversion rule application processing performed when the control message relay apparatus 20 intercepts a control message other than a group of communication establishment request commands according to the first exemplary embodiment of the present invention will be described in detail (after step S1202 in the flowchart in
In addition, the following description assumes that various flags can be set to indicate setting statuses of the control information that is received from the network controller 10 and that is stored in the control information storage unit 25 of the control message relay apparatus 20. Examples of the flags include: a set flag indicating that control information is set in the switch 30; a removing flag indicating that the switch 30 is being requested to remove control information in accordance with an instruction from the network controller 10; a removing-for-exchange flag indicating that the switch 30 is being requested to remove control information for exchange of control information; and a waiting-for-exchange flag indicating that control information is waiting to be set in the switch 30 for exchange of control information.
Specific Example 1 of Application of a Conversion Rule (Upon Receiving a Control Information Operation Message)The control message conversion unit 22 determines whether the control information operation message is a removal request (step S2101 in
If the control information operation message is not a removal request (NO in step S2101 in
Next, the control message conversion unit 22 converts the control information operation message into a control message for instructing the switch 30 to set the control information therein (step S2106 in
In contrast, if the intercepted control information operation message is a removal request (YES in step S2101 in
If a set flag is already set (YES in step S2103 in
In step S2103, if the control message conversion unit 22 determines that a set flag is not set (NO in step S2103 in
By performing the above operation, the control message relay apparatus 20 stores the control information set and managed by the network controller 10 in the control information storage unit 25 and manages the request and setting statuses of the switch 30. In this way, the control message relay apparatus 20 can respond to communication control requests from the network controller 10 separately from actual control setting of the switch 30. In addition, viewed from the network controller 10, the switch can operate as a virtual switch having a virtualized CAM capacity.
Specific Example 2 of Application of a Conversion Rule (Upon Receiving a Control Information Setting Failure Notification)Next, a specific example of a conversion rule that the control message relay apparatus 20 applies when receiving a control information setting failure notification from the switch 30 will be described with reference to
When the control communication mediation unit 21 of the control message relay apparatus 20 intercepts a control information setting failure notification message issued from the switch 30, the control communication mediation unit 21 notifies the control message conversion unit 22 of the message. The control message conversion unit 22 refers to the control policy storage unit 23 and applies a conversion rule in accordance with the flow illustrated in
First, the control message conversion unit 22 extracts the reason of the failure from the control information setting failure notification message (step S2201 in
If the reason of the failure indicates insufficiency of the control information storage area in the switch 30 (YES in step S2201 in
Next, the control message conversion unit 22 extracts control information items which have a set flag but which do not have a removing flag and a removing-for-exchange flag from the control information storage unit 25. Among such control information entries, the control message conversion unit 22 selects an arbitrary control information entry other than the control information specified in the control information setting failure notification message (step S2203 in
The method for selecting the removal target control information is not limited. For example, a rule setting order or setting timing may be stored in advance. In this way, a rule set the earliest may be selected first. Alternatively, an expiration (expire) time may be set in each rule. In this way, a rule having the shortest or longest expiration time may be selected.
If the reason of the failure determined in step S2201 indicates a reason other than insufficiency of the control information storage area in the switch (NO in step S2201 in
As described above, when receiving a control information setting failure notification, the control message relay apparatus 20 detects insufficiency of the CAM capacity of the switch 30 and replaces other control information with the necessary control information. In this way, the control message relay apparatus 20 can hide the capacity of the flow table (CAM) from the network controller 10.
Specific Example 3 of Application of a Conversion Rule (Upon Receiving a Control Information Removal Notification)Next, a specific example of a conversion rule that the control message relay apparatus 20 applies when receiving a control information removal notification from the switch 30 will be described with reference to
When the control communication mediation unit 21 of the control message relay apparatus 20 intercepts a control information removal notification message issued from the switch 30, the control communication mediation unit 21 notifies the control message conversion unit 22 of the message. The control message conversion unit 22 refers to the control policy storage unit 23 and applies a conversion rule in accordance with the flow illustrated in
The control message conversion unit 22 refers to the control information removal notification message and determines whether the corresponding control information has been removed in response to a control information removal request from the network controller 10. If the corresponding control information has been removed in response to a removal request from the network controller 10, the control message conversion unit 22 refers to the control information storage unit 25 via the switch information storage unit 24 and determines whether the control information corresponding to the control information removal notification message is marked with a removing-for-exchange flag (step S2301 in
If the control information removal notification message has been issued in response to a removal request and if the removal target control information is marked with a removing-for-exchange flag (YES in step S2301 in
If the control information removal notification message has not been issued in response to a removal request (for example, if the control information removal notification message has been issued in response to time-out of control information in the switch 30) or if a removing-for-exchange flag is not set in the removal target control information (NO in step S2301 in
Next, since the network control message relay apparatus 20 has been notified of the removal of the control information in the switch 30, the network control message relay apparatus 20 sets control information that has been waiting for CAM space to be available after reception of a setting instruction from the network controller 10. The control message conversion unit 22 refers to the control information storage unit 25 and determines whether control information having a waiting-for-exchange flag exists (step S2305 in
By performing the above operation, the control message relay apparatus 20 can determine whether removal of control information in the switch 30 has been made as active removal for replacement with other control information (YES in step S2301) or passive removal based on, for example, a rule removal setting or expiration of validity of a rule (NO in step S2301). In addition, the control message relay apparatus 20 can hold information necessary for switch virtualization therein and remove unnecessary removal information, for example. In addition, if the control message relay apparatus 20 receives a notification of removal of control information that is not related to virtualization (NO in step S2301), the control message relay apparatus 20 transmits a control information setting removal notification message to the network controller 10. In this way, the network controller 10 can be notified of completion of removal of the control information. In addition, when notified of such removal of control information, the control message relay apparatus 20 can set control information having a waiting-for-exchange flag in the switch 30.
Specific Example 4 of Application of a Conversion Rule (Upon Receiving a Control Information Setting Request)Next, a specific example of a conversion rule that the control message relay apparatus 20 applies when receiving a control information setting request from the switch 30 will be described with reference to
When the control communication mediation unit 21 of the control message relay apparatus 20 intercepts a control information setting request message issued from the switch 30, the control communication mediation unit 21 notifies the control message conversion unit 22 of the message. The control message conversion unit 22 refers to the control policy storage unit 23 and applies a conversion rule in accordance with the flow illustrated in
The control message conversion unit 22 refers to the control information storage unit 25 via the switch information storage unit 24 and determines whether control information that matches the control information setting request message exists (step S2401 in
If control information that matches the control information setting request message exists (YES in step S2401 in
In contrast, if control information that matches the control information setting request message does not exist (NO in step S2401 in
Through the above operation, when receiving an unknown packet from the switch 30, the control message relay apparatus 20 sets control information being virtualized therein (control information having a waiting-for-exchange flag) or transmits a query to the network controller 10 for new control information to be set. In this way, the switch 30 can recognize presence of the network controller 10, and the control message relay apparatus 20 is prevented from requesting the network controller for control information that has already been stored in the control message relay apparatus 20 for virtualization.
Next, the above series of operations will be described along with statuses of the control information storage units of the control message relay apparatus 20 and the switch 30 with reference to
In addition, for simplicity, the following description will be made assuming that the number of control information entries that the switch 30 can store in its control information storage unit is two. In addition, while communication such as TCP (Transmission Control Protocol) communication is basically performed bidirectionally, the following description will be made without awareness of such bidirectionality. For example, the following description will be made assuming that one of the bidirectional control channels is formed by another path and that the switch 30 does not receive a response from a communication target node.
In addition, in
Various flags are indicated under Info-Marking in the control information storage unit 25 of the control message relay apparatus 20. For example, “Set” represents a set flag, and “Rem” represents a removing flag. In addition, “Exch” represents a removing-for-exchange flag, and “Wait” represents a waiting-for-exchange flag. In addition, instead of being simply represented by a marking, each flag is represented by a sequential number so that the setting order, the waiting order, etc. are determined.
In an initial state, each apparatus does not hold any communication-related information. To be controlled by the network controller 10, the switch 30 issues a control communication establishment message. The control message relay apparatus 20 intercepts the control communication establishment message. The control message conversion unit 22 of the control message relay apparatus 20 determines whether establishment of control communication with the network controller 10 is authorized from the communication establishment message (step S1101 in
First, the switch 30 receives a communication addressed to 192.168.0.100 from 192.168.0.1. The switch 30 transmits a control information setting request message to the network controller 10 (an arrow between the switch 30 and the control message relay apparatus 20 in
At this point, since the control information storage unit 25 does not include control information that matches the control information setting request message (step S2401 in
When receiving the control information setting request message, the network controller 10 creates control information to be set in the switch 30. The following description will be made assuming that the network controller 10 has created control information for outputting corresponding packets via Port 1. The network controller 10 transmits the control information setting control message for outputting the communication from 192.168.0.1 to 192.168.0.100 via Port 1 to the switch 30 (an arrow between the network controller 10 and the control message relay apparatus 20 in
Since the control information operation message does not instruct removal of control information (NO in step S2101 in
Likewise, if the switch 30 receives another communication, for example, a communication addressed to 192.168.0.101 from 192.168.0.1, the network controller 10 sets control information for instructing forwarding of corresponding packets via Port 2. In addition, the control message relay apparatus 20 stores the control information in the control information storage unit 25, and the switch 30 also stores the control information in its control information storage unit. This state is illustrated in
Next, if the switch 30 receives another communication, for example, a communication addressed to 192.168.0.102 from 192.168.0.1, the network controller 10 sets control information for forwarding corresponding packets via Port 3.
The network controller 10 issues the control information setting control message to the switch 30 (an arrow between the network controller 10 and the control message relay apparatus 20 in
Since the control information operation message does not instruct removal of control information (NO in step S2101 in
The switch 30 issues a control information setting failure notification message to the network controller 10, notifying that there is no space in the control information storage unit and the control information cannot be set (an arrow between the control message relay apparatus 20 and the switch 30 in
The control message relay apparatus 20 intercepts the control information setting failure notification message. The control message conversion unit 22 of the control message relay apparatus 20 refers to the switch information storage unit 24 and determines that a control communication correspondence relationship exists (YES in step S1201 in
Since the reason of the control information setting failure is insufficiency of the storage area (YES in step S2201 in
Next, the control message relay apparatus 20 starts to perform control information exchange processing. In this way, the control message relay apparatus 20 hides the control failure because of the insufficiency of the rule table area from the controller 10 and performs the required communication setting on the switch 30. The control message conversion unit 22 of the control message relay apparatus 20 refers to the control information storage unit 25 and selects exchange target control information. At this point, since the communication from 192.168.0.1 to 192.168.0.100 is the oldest, the control message conversion unit 22 selects the corresponding control information (step S2203 in
When receiving the control information removal control message, the switch 30 removes the corresponding control information from its own control information storage unit (removes the upper entry from the control information storage unit of the switch 30 in
The control message relay apparatus 20 intercepts the control information removal notification message. The control message conversion unit 22 of the control message relay apparatus 20 refers to the switch information storage unit 24 and determines that a control communication correspondence relationship exists (YES in step S1201 in
From the control information removal notification message, the control message conversion unit 22 determines that the control information has been removed in response to a removal request. In addition, the control message conversion unit 22 refers to the control information storage unit 25 and determines that the removal target control information is marked with a removing-for-exchange flag, namely, determines that the removal target control information is about to be removed for exchange of control information (YES in step S2301 in
The control message conversion unit 22 refers to the control information storage unit 25 and determines whether there is any control information waiting to be set. As illustrated in
Since the control message relay apparatus 20 performs the above operation, the network controller 10 views that the three control information entries have been set and does not recognize the insufficiency of the CAM. In addition, while the control message relay apparatus 20 exchanges control information, the switch 30 views as if the network controller 10 exchanged control information. Consequently, control information needed by the switch 30 can be set.
Next, an operation performed when the validity period of control information set in the switch 30 expires will be described. After control information is set, if a predetermine period of time elapses (hard timeout) or if the switch 30 has not received a packet matching the control information for a predetermined period of time or more (idle timeout), the switch 30 removes the control information from the control information storage unit (removes the lower entry from the control information storage unit of the switch 30 in
The control message relay apparatus 20 intercepts the control information removal notification message including the above reason. The control message conversion unit 22 of the control message relay apparatus 20 refers to the switch information storage unit 24 and determines that a control communication correspondence relationship exists (YES in step S1201 in
Since the control information removal notification message has not been issued in response to a removal request (NO in step S2301 in
By performing the above operation, the control message relay apparatus 20 detects expiration of the validity period of control information stored in the switch 30, updates information therein, and transmits necessary information to the network controller 10.
Next, another operation will be described. In this operation, if the switch 30 transmits a control information setting request again, the control message relay apparatus 20 sets corresponding control information stored therein and does not transmit a control information setting request to the network controller 10. As illustrated in
Based on the control information setting request message, the control message conversion unit 22 refers to the control information storage unit 25 and determines that control information that matches the communication from 192.168.0.1 to 192.168.0.100 exists (YES in step S2401 in
By performing the above operation, if the control message relay apparatus 20 receives a control information setting request from the switch 30 and holds corresponding control information, the control message relay apparatus 20 can set the communication control in the switch 30, without transmitting a query to the network controller 10. In addition, the switch 30 recognizes as if the network controller 10 responded to the control information setting request.
Next, an operation that the control message relay apparatus 20 performs when receiving an explicit control information removal instruction from the network controller 10 will be described. To remove the communication from 192.168.0.1 to 192.168.0.100, the network controller 10 issues a control information removal control message for removing the corresponding control information (an arrow between the network controller 10 and the control message relay apparatus 20 in
The control message conversion unit 22 determines that the received control message is a removal request (YES in step S2101 in
When receiving the control information removal control message, the switch 30 removes the control information and stops forwarding packets addressed to 192.168.0.100 from 192.168.0.1 (see the control information storage unit in the switch 30 in
Since the reason of the removal written in the control information removal notification message indicates a removal request, the control message conversion unit 22 refers to the control information storage unit 25 and determines whether the control information is marked with a removing-for-exchange flag (step S2301 in
Next, an operation performed when the network controller 10 explicitly instructs removal of control information and corresponding control information is not set in the switch 30 will be described in detail with reference to
To remove the communication from 192.168.0.1 to 192.168.0.100, the network controller 10 issues a control information removal control message (an arrow between the network controller 10 and the control message relay apparatus 20 in
When the control message conversion unit 22 determines that the received control message is a removal request (YES in step S2101 in
The control message conversion unit 22 removes the removal target control information from the control information storage unit 25 (see step S2108 in
As illustrated in the above operation, in the case of removal of control information that is set in the switch 30, the control message relay apparatus 20 transmits a control information removal notification message to the network controller 10 after the switch 30 removes the corresponding control information. In contrast, in the case of removal of control information that is not set in the switch 30, the control message relay apparatus 20 only performs internal processing and transmits a removal notification to the network controller 10. In this way, when removing control information as well, the control message relay apparatus 20 manages the removal by using virtualized control information in the control message relay apparatus 20.
As illustrated by the above series of operations, the control message relay apparatus 20 operates to achieve virtualization by physically separating the network controller 10 and the switch 30 from each other. Namely, the control message relay apparatus 20 can have the network controller 10 view that the network controller 10 is controlling a switch having a larger amount of resource and can have the switch 30 view that the switch 30 is being controlled consistently by the network controller 10. In other words, the network controller 10 views that the switch 30 can hold more control information entries than the switch 30 can actually hold. In addition, the switch 30 can receive consistent control information to be set therein, even if a control information setting request does not actually reaches the network controller 10.
Second Exemplary EmbodimentNext, a second exemplary embodiment will be described. In the second exemplary embodiment, the conversion rules according to the above first exemplary embodiment are changed. The second exemplary embodiment differs from the first exemplary embodiment in that not only exchange of control information but also integration (aggregation/abstraction) of control information is performed. In this way, the number of communications that a switch can simultaneously forward can be increased. Since other basic configurations are the same as those according to the first exemplary embodiment, the following description will be made with a focus on the difference.
According to the second exemplary embodiment of the present invention, the control message relay apparatus 20 performs the mediation operation differently when the control message relay apparatus 20 intercepts control messages other than a communication establishment request message. More specifically, when receiving a control information operation (setting/removal) message, a control information setting failure notification message, a control information removal notification message, or a control information setting request message, the control message relay apparatus 20 performs an additional operation that accompanies integration (aggregation/abstraction) of control information. Namely, a conversion rule applied depending on the message in step S1202 in the flowchart in
In addition, according to the present exemplary embodiment, in addition to the control information setting statuses (various flags) described in the first exemplary embodiment, the control information storage unit 25 stores an integration attribute that indicates integrated control information and dependence information that indicates a relationship as an integration target, as the control information setting statuses.
Specific Example 2-1 of Application of a Conversion Rule (Upon Receiving a Control Information Operation Message)The control message conversion unit 22 extracts control information from the control information operation message and refers to the control information storage unit 25 to determine whether conflicting integrated control information exists (step S3101 in
If such integrated control information that conflicts with the control information does not exist (NO in step S3101 in
If integrated control information that conflicts with the control information exists (YES in step S3101 in
If the action(s) in the integrated control information that conflicts with the control information does not match the action(s) in the operation target control information (NO in step S3102 in
If the confliction can be avoided by changing the priority level of the control information or the conflicting integrated control information (YES in step S3103 in
If the action(s) in the integrated control information that conflicts with the control information matches the action(s) in the operation target control information (YES in step S3102 in
If the control information operation message is a removal request (YES in step S3105 in
In contrast, if the control information operation message is not a removal request (NO in step S3105 in
After updating the control information in the control information storage unit 25, as needed, the control message conversion unit 22 creates a control information setting notification message to be transmitted to the network controller 10 (step S3108 in
If the confliction cannot be avoided by changing the priority level of the control information or the conflicting integrated control information (NO in step S3103 in
Next, since the confliction cannot be avoided, the control message conversion unit 22 deconstructs and cancels the integrated control information. The control message conversion unit 22 removes the integrated control information from the control information storage unit 25 and the corresponding relationship from a control information table (step S3110 in
In contrast, if the control information requested to be removed is the last control information of the control information in the corresponding integrated control information (YES in step S3106 in
In this way, a communication control message created by the conversion rule illustrated in
By performing the above operation, the control message relay apparatus 20 can store control information set by the network controller 10 in the control information storage unit 25 and can set control information consistent with the control information and integrated control information already set in the switch 30. In addition, as needed, by transmitting a setting response to the network controller 10, the control message relay apparatus 20 can notify the network controller 10 that the necessary control information has been set successfully.
Specific Example 2-2 of Application of a Conversion Rule (Upon Receiving a Control Information Setting Failure Notification)Next, a specific example of a conversion rule that the control message relay apparatus 20 applies when receiving a control information setting failure notification from switch 30 will be described with reference to
When the control communication mediation unit 21 of the control message relay apparatus 20 intercepts a control information setting failure notification message issued from the switch 30, the control communication mediation unit 21 notifies the control message conversion unit 22 of the message. The control message conversion unit 22 refers to the control policy storage unit 23 and applies the conversion rule in accordance with the flow illustrated in
First, the control message conversion unit 22 extracts the reason of the failure from the control information setting failure notification message and determines whether the reason of the failure indicates insufficiency of the storage area (step S3201 in
If the reason of the failure extracted from the control information setting failure notification message indicates insufficiency of the storage area (YES in step S3201 in
An example of the method of integrating two control information entries will be described. For example, if two control information entries have the same action(s), a range that can be separated by domain division is extracted in a match condition field. For example, in the case of 192.168.0.2/36 and 192.168.0.3/36, 192.168.0.2/35 is obtained. In this way, by increasing the abstraction level, the two control information entries can be integrated. Alternatively, if two control information entries have the same action(s), one control information entry having the smaller bit difference in Euclidean distance in a match condition field is selected. For example, if there is 192.168.1.1/36 for 192.168.0.1/36 and 192.168.1.2/36, since the Euclidean distance of the former is 1 and the Euclidean distance of the latter is 2, the former is integrated and 192.168.0.1/255.255.254.255 is obtained. In this way, the extent of the impact can be narrowed.
If the control message conversion unit 22 determines that there is control information or integrated control information that can be integrated with the control information that could not be set (YES in step S3202 in
If such control information that conflicts with the created integrated control information exists (YES in step S3203 in
As a result of the determination, if the control message conversion unit 22 determines that the confliction can be avoided by priority resolution (YES in step S3204 in
If the control message conversion unit 22 determines that control information that conflicts with the created integrated control information does not exist (NO in step S3203 in
The control message conversion unit 22 creates a control information removal control message for causing the switch 30 to remove the control information selected to be integrated with the control information that could not be set. In addition, the control message conversion unit 22 refers to the control information storage unit 25 and marks the selected control information with a removing-for-exchange flag (step S3207 in
In step S3201, if the control message conversion unit 22 determines that the reason of the failure in the communication control failure response message does not indicate insufficiency of the storage area (NO in step S3201 in
If the control information that could not be set is integrated control information (YES in step S3208 in
Simultaneously with the above step S3209, the control message conversion unit 22 refers to the control information storage unit 25 and determines control information that has triggered the corresponding integration processing (step S3213 in
As an example of the method of extracting control information that has triggered an integration operation, all the integration target control information entries may be selected. Alternatively, the order of the integration target control information entries may be stored, and the integration target control information entry that has been set last may be selected.
If the control message conversion unit 22 determines that the reason of the failure of setting the control information does not indicate insufficiency of the storage area and if the control information that could not be set is not integrated control information (NO in step S3208 in
As described in the above operation, when receiving a control information setting failure notification from the switch 30, the control message relay apparatus 20 integrates control information, creates integrated control information, and sets the integrated control information in the switch 30 or exchanges control information. In addition, the control message relay apparatus 20 can notify the network controller 10 of an error indicating termination of the communication or the like.
Specific Example 2-3 of Application of a Conversion Rule (Upon Receiving a Control Information Removal Notification)Next, a specific example of a conversion rule that the control message relay apparatus 20 applies when receiving a control information removal notification from the switch 30 will be described with reference to
When the control communication mediation unit 21 of the control message relay apparatus 20 intercepts a control information removal notification message issued from the switch 30, the control communication mediation unit 21 notifies the control message conversion unit 22 of the message. The control message conversion unit 22 refers to the control policy storage unit 23 and applies the conversion rule in accordance with the flow illustrated in
First, the control message conversion unit 22 refers to the control information storage unit 25 and determines whether the removal target control information indicated in the control information removal notification message is integrated control information (step S3301 in
If the removal target control information is integrated control information (YES in step S3301 in
If the integrated control information to be removed does not have a removing-for-exchange flag and is not in response to a removal request (NO in step S3302 in
Next, the control message conversion unit 22 applies a conversion rule to the control information to be removed or the extracted integration target control information in accordance with the flowchart in
As described in the above operation, when receiving a control information removal notification from the switch 30, the control message relay apparatus 20 exchanges the target information with control information or integrated control information. In addition, the control message relay apparatus 20 deconstructs integrated control information and realizes notification of removal of control information that matches the control information setting statuses grasped by the network controller 10.
As to application of a conversion rule that the control message conversion unit 22 performs when receiving a control information setting request, it is only necessary that the control message conversion unit 22 expand the scope of the search in the control information storage unit 25 so that integrated control information is also included. Thus, description of such processing will be omitted.
Next, the above series of operations will be described along with statuses of the control information storage units of the control message relay apparatus 20 and the switch 30 with reference to
In addition, for simplicity, the following description will be made assuming that the number of control information entries that the switch 30 can store in its control information storage unit is two. In addition, in
Various flags are indicated under Info-Marking in the control information storage unit 25 of the control message relay apparatus 20. For example, “Set” represents a set flag, and “Rem” represents a removing flag. In addition, “Exch” represents a removing-for-exchange flag, and “Wait” represents a waiting-for-exchange flag. In addition, instead of simply being represented by a marking, each flag is represented by a sequential number so that the setting order, the waiting order, etc. are determined. In addition, “Met” represents a correspondence integration number. When control information is integrated, a number is given to the integrated control information. In addition, the middle table in each of
The network controller 10 issues a control information setting control message for forwarding the communication addressed to 192.168.0.102/255.255.255.255 from 192.168.0.1/255.255.255.255 via Port 1 to the switch 30 (an arrow between the network controller 10 and the control message relay apparatus 20 in
As this point, since conflicting control information does not exist, the control message conversion unit 22 refers to the control policy storage unit 23 and applies the conversion rule that corresponds to the flow illustrated in
Since there is no space in the control information storage unit of the switch 30, the switch 30 issues a communication control failure notification message for the control information for the communication addressed to the 192.168.0.102/255.255.255.255 from 192.168.0.1/255.255.255.255 (an arrow between the switch 30 and the control message relay apparatus 20 in
From the communication control failure notification message, the control message conversion unit 22 detects that the reason of the failure is insufficiency of the storage area (YES in step S3201 in
Since exchange of control information is performed after integration of control information, the control message conversion unit creates a control information removal control message to be transmitted to the switch 30, to remove the control information for the communication addressed to 192.168.0.100/255.255.255.255 from 192.168.0.1/255.255.255.255, which is selected as the integration target. In addition, the control message conversion unit 22 sets a removing-for-exchange flag in the control information in the control information storage unit 25 (see step S3206 in
When receiving the control information setting message requesting removal of the control information for the communication addressed to 192.168.0.100/255.255.255.255 from 192.168.0.1/255.255.255.255, the switch 30 removes the control information from the control information storage unit (removes the top entry in the control information storage unit of the switch 30 in
In addition, by transmitting a control information removal notification message, the switch 30 notifies the network controller 10 that the control information for the communication addressed to 192.168.0.100/255.255.255.255 from 192.168.0.1/255.255.255.255 has been removed in response to the removal request (an arrow between the switch 30 and the control message relay apparatus 20 in
First, the control message conversion unit 22 refers to the control information removal notification message and determines that the removed control information is not integrated control information (NO in step S3301 in
The control message conversion unit 22 refers to the control information storage unit 25 and determines that the integrated control information addressed to 192.168.0.100/255.255.255.253 from 192.168.0.1/255.255.255.255 exists as control information having a waiting-for-exchange flag (see the control information storage unit (meta-control information) in
The control message conversion unit 22 creates a control information setting message for setting the integrated control information in the switch 30. In addition, by referring to the control information storage unit 25, the control message conversion unit 22 marks the integrated control information with a set flag and removes the waiting-for-exchange flag (see step S2307 in
As described above, the control message relay apparatus 20 integrates control information and exchanges control information. In this way, the network controller 10 can view that the control information has been successfully set and that the switch 30 enables a broader range of communication simultaneously.
Next, in the present exemplary embodiment in which integrated control information is handled, an operation that the control message relay apparatus 20 performs when receiving an explicit control information removal instruction from the network controller 10 will be described.
First, to cancel the communication addressed to 192.168.0.100/255.255.255.255 from 192.168.0.1/255.255.255.255, the network controller 10 issues a control information removal control message for removing corresponding control information (an arrow between the network controller 10 and the control message relay apparatus 20 in
The control message conversion unit 22 refers to the control information storage unit 25 and determines whether integrated control information that conflicts with the control information exists. In this example, as illustrated in
The control message conversion unit 22 determines whether the action in the control information instructed to be removed matches the action in the integrated control information that conflicts with the control information. The control message conversion unit 22 determines that these actions match (YES in step S3102 in
Since the received control message is a removal request (YES in step S3105 in
The control message conversion unit 22 updates, namely, removes the removal target control information from the control information storage unit 25 (see step S3107 in
Next, if the network controller 10 instructs removal of the control information addressed to 192.168.0.102/255.255.255.255 from 192.168.0.1/255.255.255.255, the network controller 10 transmits a control information setting message instructing removal of the control information to the switch 30 (an arrow between the network controller 10 and the control message relay apparatus 20 in
The control message conversion unit 22 refers to the control information storage unit 25 and determines whether integrated control information that conflicts with the control information exists. In this example, as illustrated in
The control message conversion unit 22 determines whether the action in the control information instructed to be removed matches the action in the conflicting integrated control information. The control message conversion unit 22 determines that the actions match (YES in step S3102 in
Since the received control message is a removal request (YES in step S3105 in
The control message conversion unit 22 creates a control information removal control message addressed to the switch 30, to remove the integrated control information. In addition, the control message conversion unit 22 marks the control information in the control information storage unit 25 with a removing flag (see step S3111 in
Based on the received control message for removing the control information, the switch 30 removes the control information addressed to 192.168.0.100/255.255.255.253 from the 192.168.0.1/255.255.255.255 and stops forwarding the corresponding packets (see the top entry in the control information storage unit of the switch 30 in
The control message relay apparatus 20 intercepts the control information removal notification message. The control message conversion unit 22 of the control message relay apparatus 20 refers to the switch information storage unit 24 and determines that a control communication correspondence relationship exists (YES in step S1201 in
The control message conversion unit 22 refers to the control information storage unit 25 and determines that the control information for the communication addressed to 192.168.0.100/255.255.255.253 from 192.168.0.1/255.255.255.255, the control information being written in the control information removal notification message, is integrated control information (YES in step S3301 in
The control message conversion unit 22 removes the corresponding integrated control information from the control information storage unit 25 (see the control information storage unit (meta-control information) in
Next, for the integration target control information, the control message conversion unit 22 refers to the control policy storage unit 23 and applies the conversion rule that corresponds to the flow illustrated in
As described above, according to the present exemplary embodiment, the control message relay apparatus 20 causes the network controller 10 to view as if more control information than actual were set in the switch 30. Namely, while the number of actually set control information entries differs from that viewed by the network controller 10, the network controller 10 recognizes that all the necessary control information is set. In addition, the switch 30 operates while recognizing that necessary control information is properly set by the network controller 10.
While the above first and second exemplary embodiments have been described assuming that the control message relay apparatus 20 is connected to a single network controller 10 and a single switch 30, the control message relay apparatus 20 may be connected to a plurality of network controllers 10 and a plurality of switches 30. In such case, an association between a network controller and a switch is stored and managed in the switch information storage unit 24. Thus, the control message relay apparatus 20 can determine forwarding destinations of communication control messages by referring to the switch information storage unit 24.
Third Exemplary EmbodimentNext, a third exemplary embodiment of the present invention will be described in detail with reference to the drawings. A control message relay apparatus 20a according to the third exemplary embodiment converts control messages so that a plurality of switches appear to be a single switch.
The union switch configuration setting unit 26 stores conditions for causing a plurality of switches to appear to be a single switch and a correspondence relationship rule. Hereinafter, a single virtual switch obtained by unifying a plurality of switches will be referred to as a union switch (or a VSW).
For example, as the conditions for configuring a union switch, aggregating configuration conditions of actual switches and how identifiers and ports are viewed as a union switch, which appears to be a single switch configured by a plurality of switches, may be used. For example, if there is a set of switches and if the number of ports that one switch shows to the outside is the same as the number of ports of another switch, the ports being connected to the one switch, the set of switches can be viewed as a single union switch configured by aggregating the ports shown to the outside.
In the conditions for configuring a union switch, it is preferable that identifiers and aggregating configuration conditions of actual switches, identifiers as a union switch, which appears to be a single switch configured by a plurality of switches, and port identifiers of the union switch be specified. For example, in the example in
In addition, a switch information storage unit 24a according to the present exemplary embodiment stores configuration information and a correspondence relationship about a union switch(es) in addition to a correspondence relationship(s) between a network controller(s) and a switch(es). Namely, the switch information storage unit 24a stores configuration information about an actually configured union switch(es) (see the “union switch configuration table” in each of
Next, an operation according to the present exemplary embodiment will be described in detail with reference to the drawings.
When the control communication mediation unit 21 of the control message relay apparatus 20a intercepts a control communication establishment message issued from the network controller 10 or the switch 30, the control communication mediation unit 21 notifies the control message conversion unit 22 of the message. The control message conversion unit 22 refers to the control policy storage unit 23 and extracts a correspondence relationship rule between the network controller and the switch. In accordance with the correspondence relationship rule between the network controller and the switch, as needed, the control message conversion unit 22 refers to the switch information storage unit 24 and determines whether establishment of communication between the network controller 10 and the switch 30, the communication corresponding to the intercepted control communication establishment message, is authorized (step S4101 in
If the communication between the network controller and the switch corresponding to the intercepted control communication establishment message is authorized (YES in step S4101 in
The control message conversion unit 22 refers to the union switch configuration setting unit 26 and determines whether the control communication establishment target switch is associated with a union switch (step S4103 in
If so (YES in step S4103 in
The control message conversion unit 22 refers to the switch information storage unit 24 and determines whether the union switch has already established communication control (step S4105 in
If the union switch with which the control communication establishment target switch is integrated has not established control communication yet (NO in step S4105 in
If the union switch with which the control communication establishment target switch is integrated has already established control communication (YES in step S4105 in
In addition, since the configuration status of the union switch is changed, as needed, the control message conversion unit 22 creates a message indicating change of the status of the union switch and transmits the message to the network controller 10 or the switch 30 via the control communication mediation unit 21 (step S4108 in
If the control message conversion unit 22 refers to the union switch configuration setting unit 26 and determines that there is control information that is permanently set at the time of the configuration of the union switch, the control message conversion unit 22 creates a control information setting message for setting the control information and transmits the message via the control communication mediation unit 21. In addition, in this operation, if there is necessary management information, the control message conversion unit 22 stores the information in the switch information storage unit 24 and the control information storage unit 25 (step S4109 in
If the control communication establishment target switch is not associated with a union switch (NO in step S4103 in
In addition, if establishment for the control communication establishment message is not authorized (NO in step S4101 in
As illustrated in the above control, the control message relay apparatus 20a can be inserted as a mediator in control communication between the network controller 10 and the switch 30. In addition, communication control between a union switch configured by virtualizing a plurality of switches as a single switch and a network controller can be established.
Next, a mediation operation that the control message relay apparatus 20a performs when intercepting a communication control message between the network controller 10 and the switch 30 will be described with reference to a flowchart in
This flow is started when the control message relay apparatus 20a intercepts a communication control message issued from the network controller 10 or the switch 30.
When the control communication mediation unit 21 of the control message relay apparatus 20a intercepts a communication control message issued from the network controller 10 or the switch 30, the control communication mediation unit 21 transmits the communication control message to the control message conversion unit 22.
The control message conversion unit 22 refers to the switch information storage unit 24 and determines whether control communication has been established between the network controller 10 and the switch 30 (step S4201 in
If control communication has been established between the network controller 10 and the switch 30 (YES in step S4201 in
The control message conversion unit 22 refers to the switch information storage unit 24 and determines whether the switch that has transmitted the communication control message or the control information setting target switch has been integrated in a union switch (step S4203 in
If so (YES in step S4203 in
If the control message conversion unit 22 creates a new communication control message or converts the communication control message based on the conversion rule (YES in step S4205 in
As illustrated by the above control, the control message relay apparatus 20a controls virtualized switch resources based on a conversion rule that accommodates integration.
In contrast, if the control message conversion unit 22 determines that control communication has not been established between the network controller 10 and the switch 30 in step S4201 in
As described above, according to the third exemplary embodiment of the present invention, the control message relay apparatus 20a can cause the network controller to recognize and manage a plurality of switches as a single switch. In addition, by causing a plurality of switches to appear to be a single switch in this way, use of the switch resources can be balanced. Consequently, operational limitations based on physical limitations of a switch(s) can be lessened.
In addition, since the network controller can be caused to recognize a plurality of switches as a single switch, the present exemplary embodiment contributes to reduction of the load on and of information about management of the switches handled by the network controller.
According to the third exemplary embodiment of the present invention, the control message relay apparatus 20a causes a higher-level network controller to recognize a plurality of switches as a single switch. Namely, an apparatus that corresponds to the upper-level network controller views as if the apparatus were handling a single switch. This signifies that a switch handled by a certain control message relay apparatus 20a may be a union switch virtualized by another control message relay apparatus 20a. Thus, the present exemplary embodiment can be realized by a configuration in which control message relay apparatuses 20a are arranged hierarchically. By hierarchically arranging control message relay apparatuses 20a, hierarchical management can be realized.
Next, the above series of operations will be described along with statuses of the control information storage units of the control message relay apparatus 20a and the switch 30 with reference to
The following description will be made assuming that a switch 30-1 (SW1) and a switch 30-2 (SW2) are virtually unified as illustrated in
In addition, in the following description, control communication conditions are represented as follows. Pp=>VS:Pv represents a case in which a union target switch PS transmits a packet to a logical port Pv of a union switch VS by using a port Pp. In addition, Pv=>PS:Pp represents a case in which a port Pv of a virtual switch VS is associated with a port of a union target switch PS. In addition, if a plurality of ports have sequential numbers and form a condition, the ports may be shortened and represented as Pi to Pj. In addition, in the following description, only the change of a corresponding table(s) will be illustrated. Illustration of the messages will be omitted.
The control message relay apparatus 20a intercepts the communication establishment message. The control message conversion unit 22 of the control message relay apparatus 20a receives the communication establishment message from the control communication mediation unit 21. The control message conversion unit 22 refers to the control policy storage unit 23, extracts a correspondence relationship rule between the network controller and the switch, and refers to the switch information storage unit 24 to determine whether communication between the network controller 10 and the switch 30-1 is authorized (step S4101 in
The control message conversion unit 22 refers to the union switch configuration setting unit 26 and determines that the switch 30-1 is associated with a union switch VSW (YES in step S4103 in
Since the union switch VSW has not established control communication yet, the control message conversion unit 22 creates a control communication establishment request message for allowing the union switch VSW to establish control communication with the network controller 10 and transmits the message to the network controller 10 via the control communication mediation unit 21 (step S4106 in
When receiving the control communication establishment request message, the network controller 10 transmits a message in response to the control communication establishment request message (transmission of a control communication establishment request message from the network controller 10). When intercepting the control communication establishment request message, the control communication mediation unit 21 of the control message relay apparatus 20a transmits the communication establishment message to the control message conversion unit 22. The control message conversion unit 22 refers to the control policy storage unit 23, extracts a correspondence relationship rule between the network controller and the switch, and refers to the switch information storage unit 24 to determine whether communication between the network controller 10 and the switch VSW is authorized (step S4101 in
Since control communication with the union switch VSW has not been established yet, the control message conversion unit 22 converts the message into a control communication establishment message addressed to the SW1 associated with the union switch and transmits the message to the switch 30-1 via the control communication mediation unit 21 (step S4106 in
Through the above processing, the network controller 10 recognizes the switch 30-1 as a union switch VSW having six ports.
Next, an operation in which the switch 30-2 connects to the control message relay apparatus 20a to connect to the network controller 10 will be described. First, the switch 30-2 transmits a control communication establishment message to the network controller 10. The control message relay apparatus 20a intercepts the communication establishment message. The control message conversion unit 22 of the control message relay apparatus 20a receives the communication establishment message from the control communication mediation unit 21. The control message conversion unit 22 refers to the control policy storage unit 23, extracts a correspondence relationship rule between the network controller and the switch, and refers to the switch information storage unit 24 to determine whether communication between the network controller 10 and the switch 30-2 is authorized (step S4101 in
The control message conversion unit 22 refers to the union switch configuration setting unit 26 and determines that the switch 30-2 is associated with the union switch VSW (YES in step S4103 in
Next, since the union switch VSW has already established control communication, the control message conversion unit 22 creates a control communication establishment response (control communication establishment message) addressed to the switch 30-2 and transmits the response to the switch 30-2 via the control communication mediation unit 21 (step S4107 in
Finally, the control message conversion unit 22 refers to the union switch configuration setting unit 26 and determines whether permanently set control information exists at the time of the configuration of the union switch. In this example, as illustrated in
Likewise, the control message conversion unit 22 makes a setting about the switch SW2 so that relevant packets are outputted to the switch SW1 (step S4109 in
Through the above processing, the network controller 10 recognizes the switch 30-2 as six additional ports of the union switch VSW. In this way, the preparation for operating the union switch VSW has been completed.
Next, an operation of the union switch VSW performed when a communication actually occurs will be described. The following description will be made assuming that a communication addressed to 192.168.0.100 from 192.168.0.1 has occurred at the port P1 of the switch 30-1. In addition, this example assumes that 192.168.0.100 is reachable via the port P2 of the switch 30-1.
The switch 30-1 transmits a control information setting request message for processing the packets addressed to 192.168.0.100 from 192.168.0.1 to the network controller 10.
The control message relay apparatus 20a intercepts the control information setting request message. The control communication mediation unit 21 of the control message relay apparatus 20a transmits the control information setting request message to the control message conversion unit 22.
The control message conversion unit 22 refers to the control policy storage unit 23 and applies the conversion rule that corresponds to the flow illustrated in
The control message conversion unit 22 refers to the switch information storage unit 24 and determines that the switch 30-1 is integrated with the union switch VSW (YES in step S4203 in
As a response to the control information setting request message from the union switch VSW, the network controller 10 creates control information for outputting the relevant packets to the port P2 of the union switch VSW and transmits this control information setting control message.
The control message relay apparatus 20a intercepts the control information setting control message. The control communication mediation unit 21 of the control message relay apparatus 20a transmits the intercepted control information setting message to the control message conversion unit 22.
The control message conversion unit 22 refers to the control policy storage unit 23 and applies the conversion rule that corresponds to the flow illustrated in
In addition, the control message conversion unit 22 refers to the switch information storage unit 24 and determines that the union switch VSW has been integrated (YES in step S4203 in
As illustrated in the above operation, it is seen that, even in an environment in which switches have been unified by the control message relay apparatus 20a, the control message relay apparatus 20a can perform accurate setting operations by defining conversion rules for converting communication control messages and accumulating management information for converting communication.
The following description will be made assuming that a communication addressed to 192.168.1.100 from 192.168.0.1 has occurred at the port P1 of the switch 30-1. In addition, this example assumes that 192.168.1.100 is reachable via the port P8 of the switch 30-2. In such case, the network controller 10 also performs the same operation as described above. More specifically, the network controller 10 creates and transmits control information that indicates that the packets addressed to 192.168.1.100 from 192.168.0.1 that are inputted via the port P1 of the union switch VSW are outputted via the port P8 of the union switch VSW. Accordingly, the control message relay apparatus 20a registers the corresponding control information in the control information storage unit 25 (see the second entry from the top in the (middle) control information storage unit in
Likewise, if a communication addressed to 192.168.0.100 from 192.168.1.1 and a communication addressed to 192.168.1.100 from 192.168.1.1 occur at the port P7 of the switch 30-2, the like processing as described above is performed, and control information is registered only in the switch 30-2 (see the control information storage unit of the switch 30-2 in
As described in the above example, it is seen that the control message relay apparatus 20a can cause a plurality of switches to appear to be a single union switch. In addition, it is seen that the control information storage unit of an individual switch is used while the load thereof is balanced. In this way, the limitation of the control information storage unit (CAM) of an individual switch can be improved. For example, in the above example, the number of control information entries in an individual switch is the sum of the number of communications transmitted from its own switch and the number of control information entries necessary for forwarding. In such case, the union switch VSW can handle up to 2036 communications ((1024 (=the maximum number of entries that can be stored in a control information storage unit)−6 (the number of forwarding control information entries in the union switch))×2 (the number of switches)). It is seen that this is larger than 1024 communications that can be achieved when a single switch is used as it is.
In addition, since the network controller 10 views only the union switch VSW, the network controller 10 recognizes that the network controller 10 is handling a single switch. This signifies that a network controller handling many switches can have a reduced switch management amount. Namely, the present exemplary embodiment contributes to reduction of the information amount.
Fourth Exemplary EmbodimentNext, a fourth exemplary embodiment of the present invention will be described. In the fourth exemplary embodiment, a validity period is set in an individual control information entry.
The control information timer count unit 27 stores information about validity periods (timer values) given to the control information stored in the control information storage unit 25. More specifically, when new control information is set or when additional information is registered or updated, the control information timer count unit 27 performs an operation of changing information about a validity period given to the control information back to a predetermined value based on information about the control information.
In addition, the control information timer count unit 27 regularly examines validity periods to determine whether any validity period has expired. If a count-up/count-down method is used for validity period information, the control information timer count unit 27 updates (counts up or counts down) the validity period information.
In addition, if control information whose validity period has expired exists and the control information does not have a set flag, the control information timer count unit 27 removes the control information from the control information storage unit 25 and requests the control message conversion unit 22 to perform an operation so that the corresponding control information is removed from the corresponding switch.
When requested by the control information timer count unit 27 to perform such control information removal operation, the control message conversion unit 22 performs processing for deleting the corresponding control information without performing an exchange operation.
Next, an operation according to the present exemplary embodiment will be described in detail with reference to the drawings.
If the control information does not correspond to cancellation of a removing-for-exchange flag in response to a removal response, the control information timer count unit 27 refers to validity period information specified in the communication control message and sets a validity period to the control information (step S5102 in
In contrast, if the control information corresponds to cancellation of a removing-for-exchange flag in response to a removal response, the control information timer count unit 27 extracts the remaining validity period from the control information removal response message. If the control information timer count unit 27 cannot extract the remaining validity period, the control information timer count unit 27 sets a basic validity time (initial value) of the control information. The control information timer count unit 27 sets the extracted remaining validity period as the validity period of the control information (step S5103 in
Through the above processing, the control message relay apparatus 20b can simulate a validity period for control information that is not actually set in a switch.
The timer processing in
As illustrated in
Next, after updating the timer values, the control information timer count unit 27 determines whether there is any control information whose validity period has expired (step S5202 in
If control information whose validity period has expired exists (YES in step S5202 in
In contrast, if the control information is not currently set (YES in step S5203 in
The control message conversion unit 22 creates a communication setting rule removal notification message as to the removed control information and transmits the message to the network controller 10 via the control communication mediation unit 21 (step S5205 in
Through the above processing, the control message relay apparatus 20b performs management (aging) on control information that exists in its own control information storage unit 25 and that is not set in the switch, by using the corresponding validity period.
Next, the above series of operations will be described along with statuses of control information storage units of the control message relay apparatus 20b and the switch 30 with reference to
In addition, hereinafter, information about an individual validity period stored in the control information timer count unit 27 will be described as a value in a remaining-validity-period information field (Exp) in the control information storage unit. In addition, for simplicity, the following description assumes that a basis value of a validity period given to each control information is 25 and that a count-down method is used.
The following description starts with a situation in which control information as illustrated in
The control message conversion unit 22 applies the conversion rule that corresponds to the flow illustrated in
The control message conversion unit 22 sets the control information for the communication addressed to 192.168.0.102 from 192.168.0.1, the control information having a waiting-for-exchange flag (YES in step S2305 to step S2307 in
The control information timer count unit 27 continues to regularly perform a count-down operation on the values of the respective control information entries and determines whether there is any control information whose validity period has expired (step S5201 in
Based on a control information removal notification rule, the control message conversion unit 22 removes the control information for the communication addressed to 192.168.0.100 from 192.168.0.1 from the control information storage unit 25. In this operation, the control information timer count unit 27 removes the validity period information of the corresponding control information (step S5204 in
The control message conversion unit 22 creates a communication setting rule removal notification message to notify the network controller 10 of the removal of the control information for the packets addressed to 192.168.0.100 from 192.168.0.1 and transmits the message via the control communication mediation unit 21 (step S5205 in
Thus, the control message conversion unit 22 handles the expiration of the validity period of the control information for the communication addressed to 192.168.0.100 from 192.168.0.1, without having to perform any resetting operation on the switch 30.
As described above, the control message relay apparatus 20b realizes validity period processing without having to perform any control information resetting operation on the actual switch 30.
According to the fourth exemplary embodiment having the configuration as described above, the control message relay apparatus 20b can realize control information validity period processing without having to perform any setting operation on an actual switch(es), unlike the control message relay apparatus 20 according to the first exemplary embodiment.
While exemplary embodiments of the present invention have thus been described, the present invention is not limited thereto. Further variations, substitutions, or adjustments can be made without departing from the basic technical concept of the present invention. For example, the configurations of the networks and elements illustrated in the drawings are used only as examples to facilitate understanding of the present invention. Namely, the present invention is not limited to the configurations illustrated in the drawings.
Finally, suitable modes of the present invention will be summarized as follows.
(Mode 1)
See the control message relay apparatus according to the above first aspect.
(Mode 2)
In the control message relay apparatus according to mode 1, upon receiving a message addressed to the control apparatus from the switch requesting transmission of control information, the control message relay apparatus refers to the control information storage unit and transmits the control information in place of the control apparatus.
(Mode 3)
In the control message relay apparatus according to mode 1 or 2, the control information conversion unit changes a match condition(s) that is included in control information transmitted from the control apparatus and that identifies a packet to which the control information is applied.
(Mode 4)
In the control message relay apparatus according to mode 3, the control information conversion unit changes an application range of the match condition(s) wider than that of the match condition(s) set by the control apparatus so that a number of control information entries held in the switch decreases.
(Mode 5)
The control message relay apparatus according to any one of modes 1 to 4, further comprising: a union switch configuration setting unit that stores correspondence information for allowing a plurality of switches to be recognized as a single union switch. The control information conversion unit refers to the union switch configuration setting unit and converts a control message(s) transmitted between the control apparatus and a switch(es) included in the union switch so that the control apparatus recognizes the plurality of switches as the single union switch.
(Mode 6)
In the control message relay apparatus according to any one of modes 1 to 5, the control message relay apparatus has a function(s) as the control apparatus or a switch and is hierarchically connected to another control message relay apparatus(es).
(Mode 7)
In the control message relay apparatus according to any one of modes 1 to 6, the control message relay apparatus holds a conversion rule(s) for a control message(s) addressed from one of the control apparatus and the switch(es) to the other, and the control message relay apparatus refers to the conversion rule(s) to convert a control message(s) between the control apparatus and the switch(es).
(Mode 8)
The control message relay apparatus according to any one of modes 1 to 7, further comprising: a control information timer count unit that manages validity period(s) of control information stored in the control information storage unit. The control message relay apparatus manages the validity period(s) of the control information in place of the switch(es).
(Mode 9)
See the control message relay method according to the above second aspect.
(Mode 10)
See the program according to the above third aspect.
The above modes 9 and 10 can be expanded in the same way as mode 1 is expanded to modes 2 to 8.
The disclosure of each of the above Non-Patent Literatures is incorporated herein by reference thereto. Modifications and adjustments of the exemplary embodiments and examples are possible within the scope of the overall disclosure (including the claims) of the present invention and based on the basic technical concept of the present invention. In addition, various combinations and selections of various disclosed elements (including the elements in each of the claims, exemplary embodiments, examples, drawings, etc.) are possible within the scope of the claims of the present invention. Namely, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the overall disclosure including the claims and the technical concept. In particular, the present description discloses numerical value ranges. However, even if the description does not particularly disclose arbitrary numerical values or small ranges included in the ranges, these values and ranges should be deemed to have been specifically disclosed.
- 10 network controller
- 20, 20a, 20b, 200 control message relay apparatus
- 21 control communication mediation unit
- 22 control message conversion unit
- 23 control policy storage unit
- 24, 24a switch information storage unit
- 25 control information storage unit
- 26 union switch configuration setting unit
- 27 control information timer count unit
- 30, 30-1, 30-2, 300 switch
- 100 control apparatus
- 210 control information storage unit
- 220 control information conversion unit
Claims
1. A control message relay apparatus arranged between a switch that processes a packet(s) based on externally set control information and a control apparatus that sets the control information in the switch, the control message relay apparatus comprising:
- a control information storage configured to store control information received from the control apparatus and information indicative of a setting status of the control information in the switch;
- at least one processor; and
- at least one storage, with a predetermined memory space, storing executable instructions that when executed by the at least one processor, cause the at least one processor to perform as: a control information conversion unit that reflects a control content(s) received from the control apparatus in control information held in the switch based on a predetermined control policy(ies) to prevent increase of an amount of the control information held in the switch, wherein the control information conversion unit causes the at least one processor to: change a match condition(s), wherein the match condition(s) is included in control information transmitted from the control apparatus and the match condition(s) identifies a packet to which the control information is applied, and change an application range of the match condition(s) wider than that of the match condition(s) set by the control apparatus so that a number of control information entries held in the switch decreases.
2. The control message relay apparatus according to claim 1, wherein
- upon receiving a message addressed to the control apparatus from the switch requesting transmission of control information, the control message relay apparatus refers to the control information storage and transmits the control information in place of the control apparatus.
3. The control message relay apparatus according to claim 1, further comprising instructions that when executed by the at least one processor, cause the at least one processor to perform as:
- a union switch configuration setting unit that stores correspondence information for allowing a plurality of switches to be recognized as a single union switch, wherein
- the control information conversion unit causes the at least one processor to refer to the union switch configuration setting unit and causes the at least one processor to convert a control message(s) transmitted between the control apparatus and a switch(es) included in the union switch so that the control apparatus recognizes the plurality of switches as the single union switch.
4. The control message relay apparatus according to claim 1, wherein
- the control message relay apparatus has a function(s) as the control apparatus or a switch and is hierarchically connected to another control message relay apparatus(es).
5. The control message relay apparatus according to claim 1, wherein
- the control message relay apparatus holds a conversion rule(s) for a control message(s) addressed from one of the control apparatus and the switch(es) to the other, and
- the control message relay apparatus refers to the conversion rule(s) to convert a control message(s) between the control apparatus and the switch(es).
6. A control message relay method, comprising:
- by a control message relay apparatus arranged between a switch that processes packets based on externally set control information and a control apparatus that sets the control information in the switch, reflecting a control content(s) received from the control apparatus in control information held in the switch based on a predetermined control policy(ies) to prevent increase of an amount of the control information held in the switch;
- updating a control information storage that stores control information received from the control apparatus and information indicative of a setting status of the control information in the switch, wherein
- the reflecting comprises changing a match condition(s) that is included in control information transmitted from the control apparatus and that identifies a packet(s) to which the control information is applied, and
- the reflecting comprises changing an application range of the match condition(s) wider than that of the match condition(s) set by the control apparatus so that a number of control information entries held in the switch decreases.
7. The control message relay method according to claim 6, comprising:
- upon receiving a message addressed to the control apparatus from the switch requesting transmission of control information, referring to the control information storage and transmitting the control information in place of the control apparatus.
8. The control message relay method according to claim 6, further comprising:
- storing correspondence information for allowing a plurality of switches to be recognized as a single union switch in a union switch configuration setting unit, wherein
- the reflecting comprises referring to the union switch configuration setting unit and converting a control message(s) transmitted between the control apparatus and a switch(es) included in the union switch so that the control apparatus recognizes the plurality of switches as the single union switch.
9. The control message relay method according to claim 6, further comprising:
- holding a conversion rule(s) for a control message(s) addressed from one of the control apparatus and the switch(es) to the other; and
- referring to the conversion rule(s) to convert a control message(s) between the control apparatus and the switch(es).
10. A non-transitory computer-readable recording medium storing a program that causes a computer, arranged between a switch that processes packets based on externally set control information and a control apparatus that sets the control information in the switch, to execute:
- reflecting a control content(s) received from the control apparatus in control information held in the switch based on a predetermined control policy(ies) to prevent increase of an amount of the control information held in the switch;
- updating a control information storage that stores control information received from the control apparatus and information indicative of a setting status of the control information in the switch, wherein
- the reflecting by the computer comprises changing a match condition(s) that is included in control information transmitted from the control apparatus and that identifies a packet(s) to which the control information is applied, and
- the reflecting executed by the computer comprises changing an application range of the match condition(s) wider than that of the match condition(s) set by the control apparatus so that a number of control information entries held in the switch decreases.
11. The non-transitory computer-readable recording medium according to claim 10, wherein the program causes the computer to execute:
- upon receiving a message addressed to the control apparatus from the switch requesting transmission of control information, referring to the control information storage and transmitting the control information in place of the control apparatus.
12. The non-transitory computer-readable recording medium according to claim 10, wherein the program causes the computer to execute:
- storing correspondence information for allowing a plurality of switches to be recognized as a single union switch in a union switch configuration setting unit, wherein
- the reflecting executed by the computer comprises referring to the union switch configuration setting unit and converting a control message(s) transmitted between the control apparatus and a switch(es) included in the union switch so that the control apparatus recognizes the plurality of switches as the single union switch.
13. The non-transitory computer-readable recording medium according to claim 10, wherein the program causes the computer to execute:
- holding a conversion rule(s) for a control message(s) addressed from one of the control apparatus and the switch(es) to the other; and
- referring to the conversion rule(s) to convert a control message(s) between the control apparatus and the switch(es).
20110078333 | March 31, 2011 | Jakubowski |
20130294249 | November 7, 2013 | Lin |
20140363163 | December 11, 2014 | Morper |
2012090058 | May 2012 | JP |
2013005087 | January 2013 | JP |
2011065268 | June 2011 | WO |
- Nick McKeown and seven others, “OpenFlow: Enabling Innovation in Campus Networks”, Mar. 14, 2008, Cited in the Specification.
- Open Networking Foundation,“OpenFlow Switch Specification” Version 1.3.1, Sep. 6, 2012, Cited in the Specification.
- Rob Sherwood et al,“FlowVisor: A Network Virtualization Layer”, Oct. 14, 2009, Cited in the Specification.
- Hiroaki Yamanaka et al . , “A Consideration of Flow Translation Enabling Arbitrary Flow Definition in Flow Space Virtualization”, IEICE Technical Report , Dec. 6, 2012 (Dec. 6, 2012) vol. 112 , No. 352 , pp. 33 to 38 , pp. 34 to 38 ' 2 . Open Flow Network no Kasoka ‘, ’3 . Teian Flow Henkanho ' English Abstract Cited in ISR.
- International Search Report for PCT Application No. PCT/JP2014/056172, dated Jun. 3, 2014.
Type: Grant
Filed: Mar 10, 2014
Date of Patent: Jan 2, 2018
Patent Publication Number: 20160021012
Assignee: NEC CORPORATION (Tokyo)
Inventor: Satoshi Uchida (Tokyo)
Primary Examiner: Brandon Renner
Application Number: 14/772,871
International Classification: H04L 12/26 (20060101); H04L 12/813 (20130101); H04L 12/717 (20130101); H04L 12/24 (20060101);