The present disclosure relates to a communication apparatus, a communication system, and a communication method.
In general, in a communication apparatus that transfers packets such as a switch and a router, a plurality of packets to be transmitted are temporarily stored in a buffer and then these packets are serially transmitted from a transmitting port. Therefore, when there is a packet that has already started to be transmitted from the transmitting port, transmission of the next packet starts after waiting for the completion of the transmission of the above packet. Therefore, there are cases in which even a specific packet that should be preferentially transmitted is put into a transmission waiting state in the buffer and hence the transmission delay is increased by an amount equivalent to that transmission waiting time. For example, a time necessary for outputting a long packet having a packet length of 9,600 bytes (i.e., a jumbo packet) from a transmitting port having a transmission rate of 1 Gbps is about 80 microseconds. Therefore, even for a specific packet, a transmission waiting time (=a transmission delay time) of about 80 microseconds could occur in a random manner. Further, the so-called delay variation (PDV: Packet Delay Variation) in which a transmission delay time changes from one packet to another because some packet is put in a transmission waiting state could occur. In recent years, a function of synchronizing a clock or a time by transmitting/receiving a predetermined packet between a master and a slave has been specified (e.g., IEEE (Institute of Electrical and Electronic Engineers) 1588). However, for this function, the above-described packet transmission delay and the delay variation could cause a serious problem.
The packet transmission delay and the delay variation are explained hereinafter with reference to
Incidentally, in recent years, in ITU-T (International Telecommunication Union-Telecommunication Standardization Sector) 802.1AX, a technique called a Link Aggregation (LAG) in which a plurality of physical links are virtually bundled and used as one logical link has been standardized. To implement the LAG, a plurality of transmitting ports constituting the LAG are provided in a communication apparatus on a transmitting side and packets to be transmitted that have been temporarily stored in a buffer are distributed to any of the plurality of transmitting ports. In the case of the LAG, packets are serially transmitted from each of the plurality of transmitting ports. Therefore, when a packet having a long packet length is distributed to a transmitting port to which a specific packet is also distributed, a transmission delay and/or a delay variation for the specific packet could occur.
Patent Literature 1 discloses an example technique related to the packet distribution in the LAG. In the technique disclosed in Patent Literature 1, packets to be transmitted are divided into high-priority packets and low-priority packets, and the high-priority packets are preferentially transmitted. Further, in the technique disclosed in Patent Literature 1, when a radio transmission link to which a high-priority packet is distributed is selected, the radio transmission link is selected by applying a hush function to a value of a header of the high-priority packet. Alternatively, a radio transmission link having the best condition (e.g., a radio transmission link having the highest reception level) is selected.
Patent Literature 1: International Patent Publication No. WO2013/111772
However, the technique disclosed in Patent Literature 1 cannot eliminate a possibility that a low-priority packet may be distributed to a radio transmission link to which a high-priority packet has already been distributed. It should be noted that in the technique disclosed in Patent Literature 1, a low-priority packet is divided into cells (i.e., packets having a fixed length) and then transmitted. Therefore, even if a low-priority packet is distributed to a radio transmission link to which a high-priority packet has already been distributed, the low-priority packet has the fixed packet length, i.e., a short packet length. Therefore, it is considered that even if the high-priority packet is put in a transmission waiting state for waiting for the transmission of the low-priority packet, the duration of this transmission waiting state is not long.
However, in the technique disclosed in Patent Literature 1, it is necessary to uniformly divide low-priority packets into cells. This cell dividing process includes not only simply dividing a low-priority packet into cells, but also temporarily storing each cell into a buffer and assigning a sequence number to each cell. Therefore, the processing load of this cell dividing process is very large.
Accordingly, one of the objects of the present disclosure is to provide a communication apparatus, a communication system, and a communication method capable of solving the above-described problem and reducing a transmission delay and a delay variation for specific packets without dividing other packets.
In an aspect, a communication apparatus includes a plurality of transmitting ports constituting a link aggregation, and an input port. The communication apparatus transmits a specific packet input from the input port from a specific transmitting port among the plurality of transmitting ports, and transmits a first non-specific packet input from the input port from a transmitting port other than the specific transmitting port among the plurality of transmitting ports, the first non-specific packet being a packet other than the specific packet and having a predetermined packet length or longer.
In an aspect, a communication system includes first and second communication apparatuses connected to each other by a link aggregation. The first communication apparatus includes a plurality of transmitting ports constituting a link aggregation, and an input port. The second communication apparatus includes a plurality of receiving ports constituting a link aggregation. The first communication apparatus transmits a specific packet input from the input port from a specific transmitting port among the plurality of transmitting ports, and transmits a first non-specific packet input from the input port from a transmitting port other than the specific transmitting port among the plurality of transmitting ports, the first non-specific packet being a packet other than the specific packet and having a predetermined packet length or longer.
In an aspect, a communication method is a communication method performed by a communication apparatus. The communication apparatus includes a plurality of transmitting ports constituting a link aggregation, and an input port. The communication method includes transmitting a specific packet input from the input port from a specific transmitting port among the plurality of transmitting ports, and transmitting a first non-specific packet input from the input port from a transmitting port other than the specific transmitting port among the plurality of transmitting ports, the first non-specific packet being a packet other than the specific packet and having a predetermined packet length or longer.
In another aspect, a communication method is a communication method performed by a communication system including first and second communication apparatuses connected to each other by a link aggregation. The first communication apparatus includes a plurality of transmitting ports constituting a link aggregation, and an input port, and the second communication apparatus includes a plurality of receiving ports constituting a link aggregation. The communication method includes transmitting, by the first communication apparatus, a specific packet input from the input port from a specific transmitting port among the plurality of transmitting ports, and transmitting, by the first communication apparatus, a first non-specific packet input from the input port from a transmitting port other than the specific transmitting port among the plurality of transmitting ports, the first non-specific packet being a packet other than the specific packet and having a predetermined packet length or longer.
According to the above-described aspect, it is possible to achieve an advantageous effect that a transmission delay and a delay variation for specific packets can be reduced without dividing other packets.
Embodiments according to the present disclosure are explained hereinafter with reference to the drawings.
In this embodiment, the communication apparatus 100 transmits specific packets input from the input port 102-1 from a specific transmitting port among the transmitting ports 101-1 to 101-3. The specific packet is a packet that is defined in advance as a packet that should be preferentially transmitted. Examples of the specific packet include a packet that is transmitted/received in order to synchronize a clock or a time between a master and a slave specified in IEEE1588, and a packet having a high priority in QoS (Quality of Service) control. Further, the communication apparatus 100 transmits packets other than the specific packets (first non-specific packets) that are input from the input port 102-1 and have a predetermined packet length or longer from a transmitting port other than the specific transmitting port among the transmitting ports 101-1 to 101-3. For example, when the transmitting port 101-3 is defined as a specific transmitting port, the communication apparatus 100 transmits specific packets from the transmitting port 101-3 and transmits packets that are other than the specific packets and have the predetermined packet length or longer from the transmitting port 101-1 or 101-2, i.e., from a transmitting port other than the transmitting port 101-3.
As described above, in this embodiment, the communication apparatus 100 transmits specific packets from a specific transmitting port and transmits packets that are other than the specific packets and have the predetermined packet length or longer from a transmitting port other than the specific transmitting port. Therefore, since no packet that is not a specific packet and has a long packet length is transmitted from the specific transmitting port from which a specific packet is transmitted, a transmission waiting time for the specific packet is reduced. As a result, it is possible to achieve an advantageous effect that a transmission delay and a delay variation for specific packets can be reduced without dividing other packets that are not specific packets.
In this embodiment, a configuration and an operation of the communication apparatus 100 according to the first embodiment are described in a more concrete manner.
Packets to be transmitted are input from the input port 102-1.
The switch 103 determines a transmitting port from which a packet to be transmitted input from the input port 102-1 is transmitted based on a destination of that packet to be transmitted. However, when a packet to be transmitted is transmitted to the communication apparatus 200, the switch 103 determines only that the packet should be transmitted from a port included in the LAG constituted by the transmitting ports 101-1 to 101-3. That is, as described later, the final determination as to which of the transmitting ports 101-1 to 101-3 becomes the distribution destination is made by the distribution destination determination unit 107. Further, the switch 103 temporarily stores the packet to be transmitted in either a high-priority queue or a low-priority queue provided between the aforementioned determined transmitting port and the switch 103 depending on whether the packet to be transmitted is a specific packet (a packet indicated by a check pattern in the figure) or not. For example, in the case where the switch 103 determines that the packet to be transmitted should be transmitted from the transmitting ports 101-1 to 101-3 constituting the LAG, when the packet to be transmitted is a specific packet, the switch 103 temporarily stores the packet to be transmitted in the high-priority queue 105. On the other hand, when the packet to be transmitted is a packet other than the specific packet, the switch 103 temporarily stores the packet to be transmitted in the low-priority queue 104. Note that in the case where the switch 103 determines that the packet should be transmitted from a transmitting port that is not shown in the figure, the switch 103 stores the packet in either a low-priority queue or a high-priority queue provided between that transmitting port and the switch 103 that are not shown in the figure.
The low-priority queue 104 is a queue in which packets other than specific packets are temporarily stored, while the high-priority queue 105 is a queue in which the specific packets are temporarily stored. Note that the low-priority queue 104 and the high-priority queue 105 are disposed in a buffer that is not shown in the figure.
The packet identifier assignment unit 106 assigns identifiers to packets to be transmitted stored in the low-priority and high-priority queues 104 and 105 according to whether they are specific packets or not. Further, when the packets to be transmitted are packets other than the specific packets, the packet identifier assignment unit 106 assigns identifiers according to whether or not they have a predetermined packet length or longer. Specifically, for a packet to be transmitted, the packet identifier assignment unit 106 assigns an identifier C when that packet is a specific packet, assigns an identifier B when that packet is a packet other than the specific packet and has a predetermined packet length or longer (a first non-specific packet), and assigns an identifier A when that packet is a packet other than the specific packet and has a packet length shorter than the predetermined packet length (a second non-specific packet). In the figure, an identifier is shown to the left of each packet.
The distribution destination determination unit 107 determines distribution destination transmitting ports for the packets to be transmitted stored in the low-priority and high-priority queues 104 and 105 based on the identifiers assigned to these packets to be transmitted, and distributes the packets to be transmitted to the determined distribution destination transmitting ports. Specifically, a specific transmitting port among the transmitting ports 101-1 to 101-3 is determined as the distribution destination of the packet to which the identifier C is assigned. At least one transmitting port should be determined as the specific transmitting port. Further, one of the transmitting ports 101-1 to 101-3 other than the specific transmitting port is determined as the distribution destination of the packet to which the identifier B is assigned. Further, one of the transmitting ports 101-1 to 101-3 is determined as the distribution destination of the packet to which the identifier A is assigned. In this embodiment, it is assumed that the transmitting port 101-3 is defined as the specific transmitting port. Therefore, the transmitting port 101-3 is determined as the distribution destination of the packet to which the identifier C is assigned, and either of the transmitting ports 101-1 and 101-2, i.e., a transmitting port other than the transmitting port 101-3 is randomly determined as the distribution destination of the packet to which the identifier B is assigned. Further, one of the transmitting ports 101-1 to 101-3 is randomly determined as the distribution destination of the packet to which the identifier A is assigned. Note that when the distribution destination of the packet to which the identifier B or C is assigned is randomly determined, it is possible to determine the distribution destination by, for example, performing hash calculation by using a value of a MAC header of that packet and determining the distribution destination based on the obtained hash value.
The transmitting ports 101-1 to 101-3 transmit the packets, which have been distributed to these ports, to the communication apparatus 200, which is an apparatus on the other side, through physical links corresponding to these ports.
The receiving ports 201-1 to 201-3 receive the packets from the communication apparatus 100, which is the apparatus on the other side, through physical links corresponding to these ports.
Note that when the communication apparatus 200 receives the packets through the receiving ports 201-1 to 201-3, the communication apparatus operates so as to output these packets from a transmitting port that is not shown in the figure based on the destinations of these packets. However, this operation is the same as the existing operation performed by an existing communication apparatus equipped with an LAG function and therefore its explanation is omitted.
An example of an operation performed by the communication apparatus 100 according to this embodiment is explained hereinafter with reference to
As described above, in this embodiment, the communication apparatus 100 assigns an identifier C to specific packets and transmits them from a specific transmitting port. Further, the communication apparatus 100 assigns an identifier B to packets that are packets other than the specific packet and have the predetermined packet length or longer and transmits them from a transmitting port other than the specific transmitting port. Therefore, since no packet that is not a specific packet and has a long packet length is transmitted from the specific transmitting port from which a specific packet is transmitted, a transmission waiting time for the specific packet is reduced. As a result, it is possible to achieve an advantageous effect that a transmission delay and a delay variation for specific packets can be reduced without dividing other packets that are not specific packets.
Further, in this embodiment, all the necessary modifications to the operation of an existing communication apparatus equipped with an LAG function is the modification to the operation for distributing packets to transmitting ports performed in the communication apparatus 100.
Therefore, there is an advantageous effect that as to the communication apparatus 200, an existing communication apparatus equipped with an LAG function can receive packets from the communication apparatus 100 without making any modification thereto.
In the second embodiment, packets to which the identifier B is assigned (i.e., packets that are other than the specific packets and have the predetermined packet length or longer) are not distributed to the specific transmitting port. Therefore, there is a high possibility that the amount of data transmission (the amount of flow) in the specific transmitting port could be relatively small compared to those of the other transmitting ports. Therefore, it is conceivable that the frequency band of the physical link is not effectively used.
In this embodiment, the frequency band of the physical link is effectively used by adjusting the distribution destination of packets to which the identifier A is assigned (packets that are other than the specific packets and have a packet length shorter than the predetermined packet length) based on the amount of data transmission (hereinafter referred to as a “data transmission amount”) in each of the transmitting ports 101-1 to 101-3.
In this embodiment, the following operations are performed when the distribution destinations for packets to which the identifier A is assigned are adjusted. That is, the calculation units 108-1 to 108-3 calculate data transmission amounts per unit time in the transmitting ports 101-1, 101-2 and 101-3, respectively, and feed back the calculated data transmission amounts to the distribution destination determination unit 107. It is assumed that as a result, the ratio among the data transmission amounts per unit time in the transmitting ports 101-1, 101-2 and 101-3 is 2:2:1 and the data transmission amount in the transmitting port 101-3, which is defined as the specific transmitting port, is smaller as shown in
Note that packets to which the identifier A is assigned may be adjusted at regular intervals.
As described above, in this embodiment, the communication apparatus 100 distributes packets to which the identifier A is assigned to the transmitting ports 101-1 to 101-3 in a distribution ratio that is determined based on the data transmission amount in each of the transmitting ports 101-1 to 101-3, and transmits the packets. Therefore, there is an advantageous effect that the data transmission amount in the specific transmitting port can be prevented from becoming relatively small and hence the frequency band of the physical link can be effectively used. Other advantageous effects are similar to those in the second embodiment.
In the second embodiment, specific packets to which the identifier C is assigned are transmitted from the specific transmitting port. However, it is conceivable that a failure may occur in the transmitting port that is defined as the specific transmitting port.
In this embodiment, when a failure occurs in the transmitting port that is defined as the specific transmitting port, a different transmitting port is defined as the specific transmitting port.
The distribution destination determination unit 107 sets a specific transmitting port based on a failure occurrence state and a priority of each of the transmitting ports 101-1 to 101-3. For example, the distribution destination determination unit 107 can define a transmitting port having the highest priority order among transmitting ports in which no failure has occurred among the transmitting ports 101-1 to 101-3 as a specific transmitting port. In this way, it is ensured that a transmitting port in which no failure has occurred is used as the specific transmitting port to which the distribution destination determination unit 107 distributes specific packets. Further, the distribution destination determination unit 107 determines the distribution destinations of packets to which the identifiers A and B are assigned (i.e., packets other than the specific packets) from among transmitting ports in which no failure has occurred.
In this embodiment, it is assumed that as a priority order among the transmitting ports 101-1 to 101-3: the transmitting port 101-3 has the highest priority; the transmitting port 101-2 has the second highest priority; and the transmitting port 101-1 has the lowest priority. In a situation where no failure occurs in any of the transmitting ports 101-1 to 101-3, the distribution destination determination unit 107 defines the transmitting port 101-3 having the highest priority order as a specific transmitting port. Here, it is assumed that a failure occurs in the transmitting port 101-3, which is defined as the specific transmitting port, as shown in
Note that the specific transmitting port may be set at regular intervals. Alternatively, the specific transmitting port may be set when a failure occurs in one of the transmitting ports 101-1 to 101-3 or when the failure is solved.
As described above, in this embodiment, the communication apparatus 100 sets a specific transmitting port based on a failure occurrence state and a priority of each of the transmitting ports 101-1 to 101-3. Therefore, when a failure occurs in a transmitting port that is defined as the specific transmitting port, a different transmitting port can be defined as the specific transmitting port. As a result, there is an advantageous effect that the effect of reducing a transmission delay and a delay variation for specific packets can be maintained. Other advantageous effects are similar to those in the second embodiment.
Although the present disclosure has been explained with reference to certain embodiments so far, the present disclosure is not limited to the above-described embodiments. Those skilled in the art can make various modifications to the configuration and details of the present disclosure without departing from the purpose of the present disclosure. For example, although examples in which the number of specific transmitting ports is one are shown in the above-described embodiments, the number of specific transmitting ports is not limited to one. That is, the number of specific transmitting ports may be two or more. Further, although the third and fourth embodiments are separately explained, they may be combined with each other.
Further, the processes in the communication apparatus 100 can be implemented by causing a CPU (Central Processing Unit) to execute a computer program. The program can be stored in various types of non-transitory computer readable media and thereby supplied to computers. The non-transitory computer readable media includes various types of tangible storage media. Examples of the non-transitory computer readable media include a magnetic recording medium (such as a flexible disk, a magnetic tape, and a hard disk drive), a magneto-optic recording medium (such as a magneto-optic disk), a CD-ROM (Compact Disk-Read Only Memory), a CD-R (CD-Recordable), and a CD-R/W (CD-ReWritable), and a semiconductor memory (such as a mask ROM, a PROM (Programmable ROM), an EPROM (Erasable PROM), a flash ROM, and a RAM (Random Access Memory)). Further, the program can be supplied to computers by using various types of transitory computer readable media. Examples of the transitory computer readable media include an electrical signal, an optical signal, and an electromagnetic wave. The transitory computer readable media can be used to supply programs to computer through a wire communication path such as an electrical wire and an optical fiber, or wireless communication path.
This application is based upon and claims the benefit of priority from Japanese patent applications No. 2015-030445, filed on Feb. 19, 2015, the disclosure of which is incorporated herein in its entirety by reference.
Number | Date | Country | Kind |
---|---|---|---|
2015-030445 | Feb 2015 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2016/000196 | 1/15/2016 | WO | 00 |