This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-171241, filed on Aug. 31, 2015, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to a control method, a control device, and a storage medium.
An owner who owns communication lines uses some lines as protection lines in preparation for the occurrence of a failure or the like, in some cases. In a case where a failure or the like does not occurs the owner performs communication by using lines that are different from the protection lines and that are included in the lines owned by the owner. In this case, the protection lines are used for communication of a user other than the owner.
In a state illustrated in the network N1, a user A owns the line L1 and the line L2, and a user N owns the line L3. The line L1 contains communication of the user A. The line L2 is a protection line for communication of the user A. Since the user A owns the line, the type (service level agreement (SLA)) of communication of the user A is set to a guarantee type. In a guarantee type communication service, control is performed so that a communication speed or a communication quality becomes greater than or equal to a preliminarily set setting value. The line L2 is not used for the communication of the user A until a failure occurs in the line L1. Therefore, the line L2 contains communication of a user B who uses a best-effort (BE) type service. The line L3 is not used for communication of the user N and contains communication of a user C, a user D, and a user E who each perform best-effort type communication. Furthermore, even if containing the communication of the users C to E, the line L3 is further available for other communication. “X” illustrated in the line L3 in the network N1 is an example of a capacity available, in the line L3, for communication other than the communication contained in the line L3.
A network N2 illustrates an example of communication processing in a case where a failure occurs in the line L1. In the network N2, in association with the occurrence of the failure in the line L1, the communication of the user A is relayed via the line L2. In a case of being used for the communication of the user A, the line L2 does not a capacity sufficient to contain the communication of the user B. In this case, a transfer path of packets used for the communication of the user B is switched from a path utilizing the line L2 to a path utilizing the free capacity X in the line L3. In this regard, however, if a communication speed obtained by using the free capacity X in the line L3 is lower than a communication speed in a case where the communication of the user B is contained in the line L2, a communication speed available for the user B is reduced by switching a line used for the communication of the user B.
As a related technique, there is devised a system in which packets, which are difficult to subject to routing and which are included in packets from a user device, are temporarily accumulated by a buffer coupled to a packet exchange switch (for example, Japanese Laid-open Patent Publication No. 5-37561 or the like). There is proposed a method for updating information, in which conditions of detecting packets in individual interfaces and contents of transfer control applied to detected packets are associated with one another, if a relay device including the interfaces detects a change in a path state (for example, Japanese Laid-open Patent Publication No. 2014-158084 or the like). There is proposed a method for dynamically determining, at the time of the occurrence of a failure or at the time of a recovery from a failure, a transmission path to be used as a backup system, by using the quality and the priority of a transmission path at that point in time (for example, Japanese Laid-open Patent Publication No. 2001-339370 or the like).
Depending on timing between switching of a line to contain communication of a user and outputting of packets from a device such as a switch, a packet loss occurs in some cases. However, if any one of the techniques described as the related art is applied, it is difficult to avoid a packet loss associated with switching of a line. In, for example, the system in which packets difficult to subject to routing are temporarily accumulated by the buffer, packets of communication in which a line is changed is able to be subjected to routing. Therefore, the packets are not subjected to buffering and cause a packet loss.
According to an aspect of the invention, a control method executed by a processor included in a control device coupled to a first transfer device and a second transfer device, the first transfer device being coupled to the second transfer device via a plurality of lines, the control method includes detecting a notification to inform that switching of a line used for transferring packets by the first transfer device and the second transfer device, among the plurality of lines, is to be occurred; transmitting, to the first transfer device and the second transfer device, an instruction for requesting to transfer the packets to the control device; storing the packets received from the first transfer device and the second transfer device; transmitting, to the first transfer device and the second transfer device, a transfer rule for designating a line after the switching, among the plurality of lines, as an output destination of the packets to be transferred by the control device, when the switching occurred; reading the stored packets; and transmitting the read packets to the first transfer device and the second transfer device at a speed at which the read packets are transferable by using the line after the switching.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
In a case where switching of a line is generated, the monitoring device 3 notifies the control device 10 of the generation of switching of a line. Then, since a packet loss is liable to occur at the time of switching of a line, the control device 10 requests each of the transfer device 40a and the transfer device 40b to transmit, to the control device 10, packets for which a line used for transfer is changed. In response to the request from the control device 10, the transfer device 40a and the transfer device 40b each transfer, to the control device 10, packets to be transmitted by using a line to serve as a target of switching processing.
The control device 10 buffers packets received from the transfer device 40a and the transfer device 40b. If the switching processing finishes, the control device 10 transmits, to each of the transfer device 40a and the transfer device 40b, a transfer rule for designating a line after switching, as an output destination of packets transferred by the control device 10. After that, the control device 10 outputs the buffered packets to the transfer device 40a and the transfer device 40b. In accordance with the transfer rule, each of the transfer device 40a and the transfer device 40b outputs, to a line after switching, packets acquired from the control device 10.
In this way, in a method according to an embodiment, packets are buffered by the control device 10 at the time of switching of a line. Therefore, it is possible to avoid a packet loss associated with the switching of a line.
In the method according to an embodiment, it is possible to avoid a packet loss that may occur in a case where the communication speed of a user is reduced in association with switching of a line. A line to contain communication of a user who uses, for example, a best-effort type service is switched, and accordingly, the communication speed of the user becomes slower than that before the switching of the line, in some cases. In a case where a communication speed is reduced owing to switching of a line, a transmission source of packets does not recognize that a communication speed is changed in association with the switching of a line. Therefore, transmission packets are transmitted in the same way as before the switching of a line. Accordingly, in a case where the line used for the communication of the user who uses the best-effort type service is changed, if the method according to an embodiment is not used, a packet loss is highly likely to occur. However, in the method according to an embodiment, packets used for communication of a user, in which a communication speed is reduced owing to switching of a line, are able to be buffered by the control device 10. Therefore, it is possible to avoid a packet loss.
Based on communication with the monitoring device 3, the control device 10 detects that a line used for communication of a user is switched (S1). For each of uses serving as targets of the switching of the line, by using a result of comparing a current communication speed and a prediction value of a communication speed obtained after switching with each other, the control device 10 determines that there is a user for which a communication speed is reduced owing to the switching (S2). In a case where there is no user for which a communication speed is reduced owing to the switching, the control device 10 terminates the processing (S2: No).
On the other hand, in a case where there is a user for which a communication speed is reduced owing to the switching, the control device 10 requests the transfer device 40a and the transfer device 40b to transfer, to the control device 10, packets used for communication of the user for which a communication speed is reduced (S2: Yes, S3). The control device 10 buffers packets received from the transfer device 40a and the transfer device 40b (S4). After that, the control device 10 transmits buffered packets to each of the transfer devices 40 at a speed at which the packets are transferable by using a line after the switching (S5). In S5, the control device 10 notifies each of the transfer devices 40, which serves as a transfer destination of buffered packets, of information for designating, as an output destination, a line after switching, as the transfer rule.
In this way, in the method illustrated in
The transmission unit 11 transmits packets to another device. The reception unit 12 receives packets from another device. Based on communication with the monitoring device 3, the detection unit 21 detects switching of a line. By arbitrarily using information of the line information table 31 or the setting information table 33, the detection unit 21 detects communication in which a communication speed is reduced owing to switching of a line. The notification generation unit 22 generates a control packet for requesting each of the transfer devices 40 to transfer, to the control device 10, packets of a user for which a communication speed is reduced. The control packet is transmitted to each of the transfer devices 40 via the transmission unit 11. Packets transferred by the transfer devices 40 that each receives the control packet are buffered by the buffer 32. The delivery adjustment unit 23 transmits, to each of the transfer devices 40, packets buffered by the buffer 32, at a speed at which the packets are transferable by using a line after the switching. For each of lines used for communication, the setting information table 33 records therein information of a holder, an upper limit of a communication speed obtained by the relevant line, and so forth. The flow information table 34 stores therein information of flows transmitted and received by the transfer devices 40 serving as control targets of the control device 10. Specific examples of the line information table 31, the setting information table 33, and the flow information table 34 will be described later.
The control device 10 may be realized by, for example, a computer. The control device 10 operates as a controller of, for example, a software-defined network (SDN). On the other hand, the transfer devices 40 each operate as a switch in the SDN.
Hereinafter, communication processing performed in a system according to an embodiment will be described by dividing into a communication state before the generation of switching of a line, processing performed at the time of the switching of a line, and communication after the switching of a line.
(1) Communication State before Generation of Switching
In the system according to an embodiment, at the time of making a contract, each of users selects one of a guarantee type, a best-effort type, and a middle type, as quality (SLA) of communication performed by the relevant user. In a guarantee type communication service, a communication speed or a communication quality is controlled so as to become greater than or equal to a preliminarily set setting value. In the best-effort type, after securing the communication quality of a user who makes a guarantee type contract, communication utilizing an available line is performed. Therefore, depending on the availability of s communication line, a delay or a packet loss may occur. In the middle type, after securing the communication quality of a user who makes a guarantee type contract, communication utilizing an available line is performed. However, in, for example, a case where line allocation is changed, control is performed so as to avoid the occurrence of a packet loss. In the following description, the user A makes a guarantee type communication contract, the user B makes a middle type communication contract, and the users C to E make best-effort type communication contracts with a carrier.
The monitoring device 3 holds contract details of lines and contract details of users and arbitrarily uses these at the time of determining communication to be contained in each of the lines. As a method for determining communication to be contained in each of the lines, an arbitrary known method is used. In the example of
Since performing communication by using a transfer rule given notice of by the control device 10, each of the transfer device 40a and the transfer device 40b holds a flow table in which the transfer rule is recorded. The transfer device 40a holds, for example, a flow table FT1. In the flow table FT1, a transmission source address of a packet processed by the transfer device 40a and an identifier of a line used for communication are associated with each other. In
Hereinafter, specific examples of pieces of information held by the control device 10 in a case where the communication illustrated in
As described with reference to
In the example of
The destination to contain is an identifier of a line that contains communication of each of users. Regarding the information of a user who owns lines, information of a destination to contain is recorded while being associated with one of the lines, which contains communication. The user A owns the lines L1 and L2, and the communication of the user A is contained in, for example, the line L1. Therefore, while being associated with the owned line L1, it is recorded in the line information table 31 that the destination to contain the communication of the user A is the line L1. On the other hand, while the user A owns the line L2, the communication of the user A is not contained in the line L2 at the point of time when the communication in
Regarding users who each own no line in such a manner as the users B to E, pieces of information of the destinations to contain are recorded in the line information table 31. In the example of
In the flow table FT11, as information of a flow entry A, it is described that a packet in which the transmission source address thereof is “IPa” is to be transmitted to a destination via the line L1. Here, “IPa” is an IP address assigned to the terminal used by the user A. Therefore, in accordance with the flow table FT11, the transfer device 40a transfers, to the destination via the line L1, a packet transmitted by the terminal of the user A. In the same way, as information of a flow entry B, it is described that a packet in which the transmission source address thereof is “IPb” is to be transmitted to a destination via the line L2. Here, “IPb” is an IP address assigned to the terminal of the user B. Therefore, the transfer device 40a transfers, to the destination via the line L2, a packet transmitted by the terminal of the user B. Furthermore, in the flow table FT11, as flow entries C to E, it is described that a packet in which the transmission source address thereof is one of “IPc”, “IPd”, and “IPe” is to be transmitted to a destination via the line L3. Here, “IPc” is an IP address assigned to the terminal of the user C, and “IPd” is an IP address assigned to the terminal of the user D. Furthermore, “IPe” is an IP address assigned to the terminal of the user E. Therefore, the transfer device 40a transfers, to the destination via the line L3, a packet transmitted by the terminal of one of the users C to E.
A flow table FT12 is an example of a flow table held by the transfer device 40b in a case where the communication illustrated in
(2) Communication at Time of Generation of Switching
Data D1 in
The detection unit 21 in the control device 10 acquires, via the reception unit 12, a packet received from the monitoring device 3. By using the acquired packet, the detection unit 21 detects that a line to contain the communication of the user A is to be changed from the line L1 to the line L2. By using the information of the data D1, the setting information table 33 (
First, the detection unit 21 searches for a line having a free capacity. In other words, the detection unit 21 searches for a line in which a maximum value of a communication speed obtained by the line is higher than a total value of communication speeds of communication contained in individual current lines. Based on the setting information table 33, the detection unit 21 determines that communication of up to 80 Mbps is available in the line L3. On the other hand, in the line information table 31, it is recorded that the communication speed of the communication of each of the users C to E contained in the line L3 is 20 Mbps. Therefore, the detection unit 21 calculates that communication of 60 Mbps is currently performed in the line L3. In the line L3, communication of up to 80 Mbps is available. However, since, at present, communication of 60 Mbps is performed, the detection unit 21 determines that the line L3 has a free capacity of 20 Mbps. In a case where there are lines that each has a free capacity, the detection unit 21 performs, in the same way, processing for each of the lines that each has a free capacity.
Next, the detection unit 21 compares the free capacity of a line likely to serve as a switching destination and the communication speed of a user to serve as a switching target. Here, while the free capacity of the line L3 is 20 Mbps, the communication speed of the current user B is 80 Mbps. There is no other line having a free capacity between the transfer device 40a and the transfer device 40b. Accordingly, the detection unit 21 determines that, at the time of changing a destination to contain the communication of the user B, a communication speed is reduced and a packet loss is likely to occur. Therefore, the detection unit 21 requests the notification generation unit 22 to cause packets used for the communication of the user B to be transferred by the corresponding transfer device 40 to the control device 10 (arrow A2).
In an arrow A3, the detection unit 21 requests the delivery adjustment unit 23 to buffer packets used for the communication of the user B and to transfer, to a transfer source, the buffered packets at a speed at which the packets are transferable by using a line after the switching. Data D2 is an example of an information element of which the detection unit 21 notifies the delivery adjustment unit 23. The data D2 includes a target user to serve as a target of buffering, a quality level of the target user, a target IP address, a data amount, and a delivery threshold value. The target IP address is an IP address assigned to a terminal used by the target user. The data amount is the amount of packets stored in the buffer 32 at the time of outputting the data D2. The delivery threshold value is used for determining whether the amount of packets stored in the buffer 32 as packets used for communication of the target user reaches an amount to be delivered to the corresponding transfer device 40 that has transferred the packets. The delivery threshold value may be a specific value indicating a data amount or may be a ratio to the free capacity of a line set as a switching destination. In the example of
On the other hand, while the communication of the user B turns out not to be contained in the line L2, the detection unit 21 does not find a destination to contain, which is able to contain without change in a communication speed. Therefore, the control device 10 performs buffering and so forth, thereby controlling a communication speed. Therefore, in the line information table 31 illustrated in
After that, from among lines having free capacities, the detection unit 21 determines a line to contain communication in which the control device 10 transfers while buffering. In the line information table 31, the detection unit 21 records the information of the determined line, as the line to contain communication serving as a switching target.
As illustrated by the arrow A2 in
The notification generation unit 22 transmits a request message to the transfer device 40b via the transmission unit 11. In this case, a request message that requests to transfer, to the control device 10, packets in which the destination address thereof is set to “IPb” is transmitted to the transfer device 40b. The transfer device 40b processes the request message received from the control device 10, thereby recording it in a flow table that a packet addressed to “IPb” is to be transferred to the control device 10.
A flow table FT22 in
By using the line information table 31, the detection unit 21 reads line information within a network (S31). For communication of a user (target user) who has a contract for avoiding a packet loss, the detection unit 21 determines whether switching of a line causes a communication speed to be reduced (S32). In a case where a line used for communication of the target user is not switched or in a case where switching of a line does not cause the communication speed of the target user to be reduced, the detection unit 21 terminates the processing (S32: No). In a case where switching of a line used for the communication of the target user causes a communication speed to be reduced, the detection unit 21 informs the notification generation unit 22 to that effect (S32: Yes). By transmitting a request packet via the transmission unit 11, the notification generation unit 22 requests the corresponding transfer device 40 to transfer, to the control device 10, packets used for the communication of the target user (S33). After that, the detection unit 21 updates the line information table 31 (S34).
(3) Communication after Switching of Line
Upon receiving packets transmitted by the terminal of the user B, since the transmission source address of the packets is “IPb”, the transfer device 40a transfers the reception packets to the control device 10 in accordance with the flow table FT21 (arrow A6). In the example of
The reception unit 12 in the control device 10 outputs the Packet-In message to the delivery adjustment unit 23. The delivery adjustment unit 23 stores, in the buffer 32, packets that serve as transfer targets and that are included in the Packet-In message transferred by the corresponding transfer device 40. In the same way, in a case where the transfer device 40b transfers, to the control device 10, packets addressed to “IPb”, the delivery adjustment unit 23 stores, in the buffer 32, packets included in the Packet-In message received from the transfer device 40b.
By using the amount of packets periodically stored in the buffer 32 and the delivery threshold value, the delivery adjustment unit 23 determines whether to transfer packets to the corresponding transfer device 40 serving as a transfer source. In a case where the delivery adjustment unit 23 is notified of the data D2 in
Upon receiving the Packet-Out message through the arrow A7, the transfer device 40a extracts, as transfer targets, packets included in the Packet-Out message. Here, the transmission source address of packets extracted from the Packet-Out message is “IPb”. Therefore, in accordance with the flow table FT21 (
Upon detecting switching of a path, the monitoring device 3 transmits, to the control device 10, a switching detection notice for giving notice of the generation of switching of a path (S51, S52). The detection unit 21 determines whether to request the corresponding transfer device 40 to transfer, to the control device 10, packets used for communication by a user (target user) who has a contract for avoiding a packet loss (S53). In S53, it is determined whether switching of a line causes the communication speed of the terminal of the target user to be reduced. In a case where the switching of a line causes the communication speed of the terminal of the target user to be reduced, the notification generation unit 22 generates a FlowMod message for requesting the corresponding transfer device 40 to change a transfer destination and transmits the FlowMod message to the corresponding transfer device 40 via the transmission unit 11 (S54). The FlowMod message transmitted in S54 is a message for requesting the transfer device 40a to change, to the control device 10, the transfer destination of packets used for the communication of the target user. In the example of
After that, packets addressed to transmission destinations are transmitted by the terminal of the target user (S57). In accordance with a flow table after update, the transfer device 40a transfers reception packets to the control device 10 (S58). The delivery adjustment unit 23 outputs, to the buffer 32, the packets transferred by the transfer device 40a (S59). The buffer 32 stores therein input packets (S60).
By performing delivery adjustment processing by use of the delivery threshold value, the delivery adjustment unit 23 transmits, to the transfer device 40a, some of the packets transmitted by the terminal of the target user, at a speed slower than the communication speed of a line after switching (S61, S62). In accordance with a flow table, by using a line after switching, the transfer device 40a transmits, to destinations, the packets received from the control device 10 (S63).
In this way, in a case where a line used for the communication of the target user who has a contract for avoiding a packet loss is switched, thereby causing a communication speed to be reduced, the control device 10 changes transfer processing in the corresponding transfer device 40. The control device 10 buffers packets used for the communication of the target user and transfers, via the corresponding transfer device 40 serving as a transfer source of the packets, packets of the target user at a speed lower than a communication speed obtained by a path after switching. Therefore, a packet loss is avoided.
An embodiment is not limited to the above-mentioned embodiment and may be variously modified. Some of examples thereof will be described below.
For example, a recovery from a failure after execution of processing for switching of a line may cause the line to be switched to a state before switching of the line again. It is assumed that, in, for example, the network described by using
Then, the monitoring device 3 notifies the control device 10 that the line L1 is restored and that a destination to contain the communication of the user A is to be changed from the line L2 to the line L1. By using the line information table 31 and the setting information table 33, the detection unit 21 in the control device 10 detects that it is possible to switch a destination to contain the communication of the user B from the line L3 to the line L2. Since the communication speed of the user B is less than or equal to a communication speed obtained by using the line L2, the detection unit 21 determines that it is possible to perform communication not via the control device 10 but via the line L2. Then, the detection unit 21 requests the notification generation unit 22 to perform processing for stopping transferring, to the control device 10, packets used for the communication of the user B.
By using the flow information table 34, the notification generation unit 22 generates a request message for requesting to output, to the line L2, packets used for the communication of the user B while addressing the request message to each of the transfer device 40a and the transfer device 40b. The request message is transmitted via the transmission unit 11. By processing the request message, each of the transfer device 40a and the transfer device 40b changes a flow table. Therefore, the flow table is changed as illustrated in
The tables used in the above-mentioned description and information elements included in transmitted or received data may be changed in accordance with implementation. The delivery threshold value is set for each of used lines, and a setting method is arbitrary. The delivery threshold value may be determined by, for example, an owner of a line.
Timing when the control device 10 notifies the corresponding transfer device 40 of an output destination of packets after switching of a line may be changed in accordance with implementation. An output destination of packets after switching of a line is used as an output destination of packets output to the corresponding transfer device 40 by the control device 10 by using Packet-Out or the like. Processing of packets transferred to the corresponding transfer device 40 by the control device 10 may be included in, for example, Packet-Out. Each of the transfer devices 40 may be notified of a request to transfer packets to the control device 10 and an output destination of packets after switching of a line by using respective different FlowMod messages. Furthermore, in a case where, as described with reference to
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2015-171241 | Aug 2015 | JP | national |