COMMUNICATION DEVICE AND METHOD FOR CONTROLLING COMMUNICATION DEVICE

The communication device addresses the issue of port failure by pre-completing handshakes with standby ports, ensuring immediate transition and maintaining performance through advanced load distribution and priority management.

JP7800151B2Active Publication Date: 2026-01-16SUMITOMO ELECTRIC INDUSTRIES LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2022008710
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-01-24
Publication Date
2026-01-16
Estimated Expiration
2042-01-24

AI Technical Summary

Technical Problem

Existing communication devices with link aggregation fail to immediately switch to standby ports when a transmitting port fails, leading to reduced transmission capability until a handshake is completed, which can degrade communication performance.

Method used

A communication device with a protocol control unit that completes handshakes with all ports, including standby ports, allowing immediate transition to standby ports upon failure, and a load distribution unit that allocates frames based on priority and status, ensuring seamless communication.

Benefits of technology

Enables immediate frame transmission using standby ports, minimizing communication degradation and maintaining performance by completing handshakes in advance, even in multi-chassis link aggregation scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007800151000001
    Figure 0007800151000001
  • Figure 0007800151000002
    Figure 0007800151000002
  • Figure 0007800151000003
    Figure 0007800151000003
Patent Text Reader

Abstract

To immediately transmit a frame by using a stand-by port at fault occurrence time of a link.SOLUTION: A communication device comprises: a plurality of ports that are logically aggregated; a protocol control section; a load distribution section; and a load distribution control section that selects a first port group which transmits a frame to an opposite device and a second port group for a stand-by operation out of the plurality of ports. The protocol control section finishes handshake processing based on a control frame with each of the plurality of ports of the opposite device. The load distribution control section outputs an instruction of load distribution to the load distribution section. The load distribution section transmits a frame to the opposite device using a port included in the first port group on the basis of the instruction of the load distribution acquired from the load distribution control section. Any of ports, in which handshake processing included in the second port group has been finished, transmits a frame to the opposite device on the basis of a fact that abnormality occurs in any of the ports included in the first port group.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a communication device and a communication system having a link aggregation function. [Background technology]

[0002] Link aggregation is a technology that bundles multiple physical ports (hereinafter referred to as "ports") and treats them as a single logical link. The standard for link aggregation is described in IEEE Std 802.1AX (registered trademark)-2020 (Non-Patent Document 1).

[0003] Multiple ports bound together by link aggregation are called a link aggregation group (LAG). There are two types of LAG: static LAG and dynamic LAG. Dynamic LAG uses a protocol called LACP (Link Aggregation Control Protocol). LACP controls data communication between a device and a remote device by periodically exchanging control frames called LACPDUs (Link Aggregation Control Protocol Data Units) between the device and the remote device.

[0004] In actual operation, if you want to prevent frames from being transmitted that exceed the design value (transmission bandwidth) defined by QoS (Quality of Service), it is convenient to set a limit on the number of ports that can be used simultaneously. Specifically, a communication device sets some ports as standby ports and does not send or receive frames through these ports. By using this standard function, some ports can be put into standby mode to prevent the transmission bandwidth from exceeding the design value. [Prior art documents] [Non-patent literature]

[0005] [Non-Patent Document 1] IEEE Computer Society, IEEE Std 802.1AX-2020 "IEEE Standard for Local and Metropolitan Area Networks - Link Aggregation", p.84-85 Summary of the Invention [Problem to be solved by the invention]

[0006] According to Non-Patent Document 1, after the standby state is released, a standby port must exchange control frames with the port of the other device and complete a handshake before it can start communication. Therefore, for example, if a transmission port fails, the transmission capability of the communication device will be reduced until the alternative standby port can send and receive data.

[0007] Therefore, an object of the present disclosure is to provide a technology that enables a standby port to immediately start transmitting and receiving frames when a transmitting port fails. [Means for solving the problem]

[0008] A communication device according to the present disclosure includes a plurality of ports logically aggregated by link aggregation, a protocol control unit that transmits and receives link aggregation control frames to and from a remote device via the plurality of ports, a load distribution unit that allocates transmission frames to at least some of the plurality of ports, and a load distribution control unit that selects, from the plurality of ports, a first port group that transmits frames to the remote device and a second port group that is used as a standby port. The protocol control unit completes a handshake process using a control frame with each of the plurality of ports of the remote device at each of the plurality of ports. The load distribution control unit outputs a load distribution instruction to the load distribution unit. Based on the load distribution instruction received from the load distribution control unit, the load distribution unit transmits frames to the remote device using a port included in the first port group. One of the ports included in the second port group that has completed the handshake process transmits a frame to the remote device based on an abnormality occurring in one of the ports included in the first port group.

[0009] Another communication device according to the present disclosure is connected to an adjacent device via a network and includes a plurality of ports logically aggregated by multi-chassis link aggregation, and a port table including a status of each port indicating whether a frame can be transmitted and priority information for each port. The communication device completes a handshake process with each of a plurality of ports of the adjacent device at each of its own ports, exchanges port tables with the adjacent device, selects a port from among its own and adjacent device ports based on the port table of its own device and the port table of the adjacent device, updates the port table of its own device based on a change in the status of the port of its own device, transmits the updated port table of its own device to the adjacent device, and reselects a port from which to transmit the frame based on the updated port table of its own device or the adjacent device.

[0010] A control method for a communication device according to the present disclosure includes the steps of logically aggregating multiple ports by link aggregation, transmitting and receiving link aggregation control frames to and from a counterpart device via the multiple ports, selecting from the multiple ports a first group of ports for transmitting frames to the counterpart device and a second group of ports for standby, completing a handshake process using a control frame with each of the multiple ports of the counterpart device at each of the multiple ports, transmitting a frame to the counterpart device using a port included in the first group of ports, and, based on an abnormality occurring in one of the ports included in the first group of ports, transmitting a frame to the counterpart device using one of the ports included in the second group of ports for which the handshake process has been completed.

[0011] A control method for a communication device connected to an adjacent device via a network according to the present disclosure includes the steps of: logically aggregating multiple ports of the device itself and the adjacent device using multi-chassis link aggregation; creating a port table including the status of each port indicating whether a frame can be transmitted and priority information for each port; completing a handshake process using a control frame with each of multiple ports of the opposing device at each of the multiple ports of the device itself; exchanging port tables with the adjacent device; selecting a port from among ports of the device itself and the adjacent device based on the port table of the device itself and the port table of the adjacent device; updating the port table of the device itself based on a change in the status of the port of the device itself and transmitting the updated port table of the device itself to the adjacent device; and reselecting a port from which to transmit a frame based on the update of the port table of the device itself or the adjacent device. [Effects of the Invention]

[0012] According to the present disclosure, a communication device having a link aggregation function according to an embodiment can immediately transmit frames using a standby port when a link failure occurs. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 shows an example of the configuration of a communication device 100 having a link aggregation function according to the present embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of the operation of the communication device 100 when some of the transmission target ports fail. [Figure 3] FIG. 3 is a diagram showing an example of the configuration of a communication system 40 having a multi-chassis link aggregation function according to this embodiment. [Figure 4] FIG. 4 is a diagram showing an example of the transmission target lists 408, 428 of the communication system 40 at a first point in time. [Figure 5] FIG. 5 is a diagram showing an example of data managed by the communication device 400 after the communication devices 400 and 420 exchange their transmission target lists 408 and 428 with each other at a first point in time. [Figure 6] FIG. 6 is a diagram showing an example of data managed by the communication device 420 after the communication devices 400 and 420 exchange their transmission target lists 408 and 428 with each other at a first point in time. [Figure 7] FIG. 7 is a diagram showing an example of the transmission target lists 408, 428 of the communication system 40 at the second point in time. [Figure 8] FIG. 8 is a diagram showing an example of data managed by the communication device 400 after the communication devices 400 and 420 exchange their transmission target lists 408 and 428 with each other at the second point in time. [Figure 9] FIG. 9 is a diagram showing an example of data managed by the communication device 420 after the communication devices 400 and 420 exchange their transmission target lists 408 and 428 with each other at the second point in time. [Figure 10] FIG. 10 is a diagram showing an example of the transmission target lists 408, 428 of the communication system 40 at the third point in time. [Figure 11]FIG. 11 is a diagram showing an example of data managed by the communication device 400 after the communication devices 400 and 420 exchange their transmission target lists 408 and 428 with each other at a third point in time. [Figure 12] FIG. 12 is a diagram showing an example of data managed by the communication device 420 after the communication devices 400 and 420 exchange their transmission target lists 408 and 428 with each other at a third point in time. [Figure 13] FIG. 13 is a diagram showing an example of the transmission target lists 408, 428 of the communication system 40 at the fourth point in time. [Figure 14] FIG. 14 is a diagram showing an example of data managed by the communication device 400 after the communication devices 400 and 420 exchange their transmission target lists 408 and 428 with each other at a fourth point in time. [Figure 15] FIG. 15 is a diagram showing an example of data managed by the communication device 420 after the communication devices 400 and 420 exchange their transmission target lists 408 and 428 with each other at the fourth point in time. [Figure 16] FIG. 16 is a flowchart showing a first example of a processing procedure of the communication device 400 when a port of the device that was previously unable to transmit becomes able to transmit. [Figure 17] FIG. 17 is a flowchart showing a first example of a processing procedure of the communication device 400 when a port of the device that was previously capable of transmission becomes unavailable for transmission. [Figure 18] FIG. 18 is a flowchart showing a first example of a processing procedure of the communication device 400 when port information is received from an adjacent device (communication device 420). [Figure 19] FIG. 19 is a flowchart showing a second example of the processing procedure of the communication device 400 when the port of the device that was previously unable to transmit becomes able to transmit. [Figure 20] FIG. 20 is a flowchart showing a second example of the processing procedure of the communication device 400 when a port of the device that was previously capable of transmission becomes unavailable for transmission. [Figure 21]FIG. 21 is a flowchart showing a second example of the processing procedure of the communication device 400 when port information is received from an adjacent device (communication device 420). DETAILED DESCRIPTION OF THE INVENTION

[0014] [Description of the embodiments of the present disclosure] First, embodiments of the present disclosure will be listed and described.

[0015] (1) A communication device according to an embodiment of the present disclosure includes a plurality of ports logically aggregated by link aggregation, a protocol control unit that transmits and receives link aggregation control frames to and from a remote device via the plurality of ports, a load distribution unit that allocates transmission frames to at least some of the plurality of ports, and a load distribution control unit that selects, from the plurality of ports, a first port group that transmits frames to the remote device and a second port group that is used as a standby port. The protocol control unit completes a handshake process using a control frame with each of the plurality of ports of the remote device at each of the plurality of ports. The load distribution control unit outputs a load distribution instruction to the load distribution unit. Based on the load distribution instruction received from the load distribution control unit, the load distribution unit transmits frames to the remote device using a port included in the first port group. One of the ports included in the second port group that has completed the handshake process transmits a frame to the remote device based on an abnormality occurring in one of the ports included in the first port group.

[0016] According to the above, the communication device completes the handshake process in advance for each of the multiple ports, so that if an abnormality occurs in one of the communication ports, the communication device can immediately transmit a frame using the standby port for which the handshake process has been completed instead of the failed port.

[0017] (2) In one aspect, the communication device further includes a storage unit that stores priority information for each of the plurality of ports. When an abnormality occurs in one of the ports included in the first port group, the load distribution control unit selects, based on the priority information, a port that is determined based on the priority information from among ports included in the second port group that have completed handshake processing, as a port that transmits a frame to the opposing device.

[0018] According to the above, the communication device and the opposite device can determine which port is currently the transmission target port by sharing the priority of each port. This allows, for example, the communication device and the opposite device to realize a function such as not transmitting or receiving data through ports that are not the transmission target and presenting information about ports that are not the transmission target to a network administrator. In this case, for example, the network administrator can check the ports that are not the transmission target and clean the end faces of the optical fibers of the ports that are not the transmission target (ports that are not sending or receiving frames).

[0019] (3) In a certain situation, the number of ports for transmitting frames to a corresponding device is determined based on either the communication bandwidth reserved for transferring frames from a communication device upstream or downstream of the corresponding device, or a predetermined upper limit number of ports.

[0020] According to the above, the communication device can set the communication bandwidth of the link to a predetermined design value or less, thereby reducing the occurrence of discarding or delaying high-priority frames.

[0021] (4) Another communication device according to an embodiment of the present disclosure includes a plurality of ports connected to an adjacent device via a network and logically aggregated by multi-chassis link aggregation, and a port table including a status of each port indicating whether a frame can be transmitted and priority information for each port. The communication device completes a handshake process using a control frame with each of a plurality of ports of an opposing device at each of the plurality of ports of the communication device, exchanges port tables with the adjacent device, selects a port from among the ports of the communication device and the adjacent device based on the port table of the communication device and the port table of the adjacent device, updates the port table of the communication device based on a change in the status of the port of the communication device, transmits the updated port table of the communication device to the adjacent device, and reselects a port from which to transmit the frame based on the update of the port table of the communication device or the adjacent device.

[0022] According to the above, a communication device shares the latest status and priority of each port with neighboring devices. This allows the communication device to continue transmitting frames when a failure occurs, even in multi-chassis link aggregation, using a standby port that has completed a handshake.

[0023] (5) In a certain situation, the port for transmitting a frame to the opposite device is determined based on either the communication bandwidth reserved for the transfer of frames from the device itself and adjacent devices upstream or downstream of the opposite device, or a predetermined upper limit number of ports.

[0024] According to the above, the communication device can set the communication bandwidth of the link to a predetermined design value or less, thereby reducing the occurrence of discarding or delaying high-priority frames.

[0025] (6) In a certain situation, when a communication device has different frame transfer speeds for each of multiple ports, the device itself and an adjacent device, in the process of reselecting the port from which to transmit the frame, selects ports in order of priority so that the total transfer speed of the ports of the device itself and the adjacent device is less than or equal to the communication bandwidth reserved for frame transfer from the device itself and the adjacent device on the upstream or downstream side of the opposing device.

[0026] Based on the above, the communication device can flexibly select ports to be included in a link based on the communication bandwidth of the link and the communication bandwidth of each port.

[0027] (7) A control method for a communication device according to one embodiment of the present disclosure includes the steps of: logically aggregating multiple ports by link aggregation; transmitting and receiving link aggregation control frames to and from a counterpart device via the multiple ports; selecting, from the multiple ports, a first group of ports for transmitting frames to the counterpart device and a second group of ports for standby; completing, at each of the multiple ports, a handshake process using the control frame with each of the multiple ports of the counterpart device; transmitting a frame to the counterpart device using a port included in the first group of ports; and, based on an abnormality occurring in one of the ports included in the first group of ports, transmitting a frame to the counterpart device using one of the ports included in the second group of ports for which the handshake process has been completed.

[0028] According to the above-described control method, the handshake process is completed in advance for each of the plurality of ports, so that when an abnormality occurs in one of the communication ports, the communication device can immediately transmit a frame using the standby port that has completed the handshake process instead of the failed port.

[0029] (8) A control method for a communication device connected to an adjacent device via a network according to an embodiment of the present disclosure includes steps of logically aggregating a plurality of ports each possessed by the own device and the adjacent device by multi-chassis link aggregation, creating a port table including the state of each port indicating whether a frame can be transmitted and the priority information of each port, in each of the plurality of ports of the own device, completing a handshake process with each of the plurality of ports of the opposite device by a control frame, exchanging the port tables of each other with the adjacent device, selecting a port for transmitting a frame from among the ports of the own device and the adjacent device based on the port table of the own device and the port table of the adjacent device, updating the port table of the own device based on a change in the state of the port of the own device, and transmitting the updated port table of the own device to the adjacent device, and reselecting a port for transmitting a frame based on an update of the port table of the own device or the adjacent device.

[0030] According to the above, the control method shares the state and priority of each port in the latest state in the own device and the adjacent device. Thereby, the communication method can continue to transmit frames in case of a failure using a standby port for which the handshake has been completed even in multi-chassis link aggregation.

[0031] [Details of Embodiments of the Present Disclosure] Specific examples of the communication device and communication system of the present disclosure will be described below with reference to the drawings. Note that the present invention is not limited to these examples, and is intended to include all modifications within the meaning and scope equivalent to the claims, which are indicated by the claims.

[0032] [Link Aggregation by a Single Communication Device] First, referring to FIGS. 1 and 2, the configuration and functions of a communication device 100 having a link aggregation function according to the present embodiment will be described.

[0033] 1 is a diagram showing an example of the configuration of a communication device 100 having a link aggregation function according to the present embodiment. Communication device 100 includes a plurality of upstream ports 101, a downstream port 102, a load distribution unit 103, a load distribution control unit 104, a protocol control unit 105, a handshake status storage unit 106, a priority information storage unit 107, and a transmission target list 108. Communication device 100 is connected via the plurality of ports 101 to an opposing device 150 located upstream in the network.

[0034] The multiple ports 101 on the upstream side function logically as a single link using the link aggregation function. Hereinafter, a link logically configured using the link aggregation function may also be referred to as a "logical link." Each of the multiple ports 101 is connected to each of the multiple ports 151 on the downstream side of the opposing device 150. By using the link aggregation function, the communication device 100 can distribute the load to each port that configures the logical link and can increase the communication bandwidth compared to using a single port. Furthermore, by using the link aggregation function, the communication device 100 can improve the fault tolerance of the logical link.

[0035] On the other hand, the transmission bandwidth of a link consisting of multiple ports may exceed the design value defined by QoS. This design value is the maximum communication bandwidth of the logical link and may be determined by, for example, the QoS settings configured on the opposing device 150. For example, assume that the opposing device 150 is configured to limit the bandwidth to 5 Gbps for forwarding frames received from the communication device 100 to an upstream network. In this case, the communication device 100 is guaranteed to be able to transmit frames with a communication volume of 5 Gbps or less to the upstream network (a bandwidth of 5 Gbps is secured). However, if the communication device 100 has, for example, seven 1 Gbps ports to improve fault tolerance, the total transmission bandwidth of the seven ports will exceed the design value of 5 Gbps defined by QoS. Therefore, unless appropriate priority control is performed, high-priority frames may be discarded or delays may increase, resulting in a deterioration of communication quality.

[0036] That is, when considering fault tolerance, it is desirable to configure the ports of the communication device 100 so that their bandwidth is equal to or greater than the guaranteed communication bandwidth (e.g., a design value determined by QoS). However, if these ports simultaneously transmit frames, the communication volume may exceed the design value, potentially degrading communication quality. Therefore, the communication device 100 uses some ports for frame transmission and sets the remaining ports as standby ports, thereby limiting the communication volume of frames to be transmitted to or below the design value. Note that the opposite device 150 may be connected to a downstream network. That is, the communication device 100 selects a port for transmitting frames to the opposite device 150 based on either the communication bandwidth reserved for forwarding frames from the communication device 100 on the upstream or downstream side of the opposite device 150, or a predetermined upper limit number of ports. In some aspects, the design value may be the communication bandwidth or the number of ports for transmitting frames. For example, if the communication bandwidth of all ports is the same, processing can be simplified by using the "number of ports" as the design value (upper limit of the communication bandwidth). As another example, if the communication bandwidth of each port is different, the ports to be included in the link can be flexibly selected by using the "communication bandwidth" design value (upper limit of the communication bandwidth). Note that in the example of Figure 1, the communication device 100 has seven ports 101, but this is just one example, and the communication device 100 may have any number of ports 101.

[0037] The load distribution unit 103 allocates frames (loads) to each port constituting one link using the link aggregation function based on the load distribution instruction received from the load distribution control unit. In the example of Fig. 1, ports 101(1) to 101(5) are used for transmitting frames (selected as a first port group for transmission), and ports 101(6) and 101(7) are on standby as standby ports (selected as a second port group for standby). In this case, the load distribution unit 103 allocates frames received from downstream port 102 to ports 101(1) to 101(5), for example.

[0038] The load distribution control unit 104 selects a port for transmission from among the multiple ports 101, and transmits a command based on the selection result to the load distribution unit 103. For example, when the load distribution control unit 104 selects ports 101(1) to 101(5) as the transmission ports, it instructs the load distribution unit 103 to allocate frames to ports 101(1) to 101(5) (i.e., the load distribution control unit 104 outputs a load distribution command to the load distribution unit 103).

[0039] The protocol control unit 105 exchanges LACPDU control frames with the opposing device 150 through the multiple ports 101. More specifically, the protocol control unit 105 exchanges LACPDUs with the opposing device 150 at each of the ports 101(1) to 101(7), completes the handshake, and sets each port to the COLLECTING_DISTRIBUTING state. This enables all of the ports 101(1) to 101(7), including the standby port, to immediately transmit frames to the opposing device 150. The protocol control unit 105 stores information about the handshake state of each of the ports 101(1) to 101(7) in the handshake state storage unit 106. Furthermore, the protocol control unit 105 stores priority information about each of the ports 101(1) to 101(7) in the priority information storage unit 107.

[0040] For example, a different priority is set for each port 101, and the port 101 with the highest priority is used as a transmission / reception port. In the example of FIG. 1, ports 101(1) to 101(5) have higher priority than ports 101(6) and 101(7), and are therefore selected as transmission ports (first port group). Ports 101(6) and 101(7), which have lower priority, are selected as standby ports (second port group). Furthermore, for example, when port 101(6) has a higher priority than port 101(7), the communication device 100 first uses port 101(6) as a communication port when a failure occurs.

[0041] In one aspect, the priority of each port 101 may be determined by a system aggregation priority, a port aggregation priority, or a combination of these. In another aspect, the priority of each port 101 may be a priority obtained from the opposite device 150 by a handshake. Furthermore, in another aspect, the priority of each port 101 may be a priority determined by a user in any manner.

[0042] The load distribution control unit 104 refers to the handshake state stored in the handshake state storage unit 106 by the protocol control unit 105 and the priority information stored in the priority information storage unit 107 by the protocol control unit 105, selects a transmission port from among the ports 101 for which the handshake has been completed, in descending order of priority, and transmits a command based on the selection result to the load distribution unit 103. In the example of FIG. 1, the load distribution control unit 104 selects ports 101(1) to 101(5) as transmission ports. The load distribution control unit 104 stores information about the ports 101 selected as transmission ports in the transmission target list 108. In the present disclosure, a "transmission target (port)" refers to a communication port used to transmit a frame. Hereinafter, a port selected as a communication port will be referred to as a transmission target port. Conversely, a standby port is a port that is not a transmission target. In a certain aspect, the load distribution control unit 104 may store the transmission target port as a transmission target and the standby port as a non-transmission target in the transmission target list 108.

[0043] 2 is a diagram showing an example of the operation of the communication device 100 when some of the transmission target ports fail. The operation of the communication device 100 when port 101(5) fails will be described with reference to FIG. 2. For the sake of simplicity, the load distribution unit 103 and the load distribution control unit 104 will be referred to as the transmission side load distribution unit 300.

[0044] In one aspect, the load distribution unit 103 and the load distribution control unit 104 may be realized as separate program components or hardware. In another aspect, the load distribution unit 103 and the load distribution control unit 104 may be realized as a single program component or hardware as the transmission-side load distribution unit 300.

[0045] Initially, the communication device 100 uses ports 101(1) to 101(5) to transmit frames to the opposing device 150. Now, assume that port 101(5) fails. In this case, the protocol control unit 105 removes the failed port 101(5) from the COLLECTING_DISTRIBUTING state and notifies the transmitting side load distribution unit 300 (load distribution control unit 104) that port 101(5) has been removed from the COLLECTING_DISTRIBUTING state.

[0046] Next, the transmitting-side load distribution unit 300 refers to the handshake status and priority information of the standby ports and selects the port with the highest priority among the standby ports for which the handshake has been completed. In the example of FIG. 2, the transmitting-side load distribution unit 300 selects port 101(6) as a new transmission target port. The transmitting-side load distribution unit 300 adds information about port 101(6), which has been selected as the new transmission target port, to the transmission target list 108 and deletes information about port 101(5) from the transmission target list 108. Alternatively, the transmitting-side load distribution unit 300 may update the status (transmission target, non-transmission target, etc.) of ports 101(6) and 101(5) in the transmission target list 108. Because port 101(6) has completed a handshake with port 151(6) of the opposite device 150, the communication device 100 can immediately start transmitting and receiving frames using port 101(6) instead of port 101(5).

[0047] Conventional communication devices are designed not to complete the handshake on the standby port. Therefore, when the standby port is used as the transmission target port, frames cannot be sent or received until the handshake is completed, which can temporarily degrade the communication performance of the communication device.

[0048] In contrast, the communication device 100 according to the present embodiment completes a handshake at both the transmission target port and the standby port. This allows the communication device 100 to immediately start transmitting and receiving frames using the standby port without performing a new handshake process, even if a failure occurs at one of the transmission target ports. As a result, degradation in communication quality can be minimized compared to conventional communication devices. For example, conventional communication devices may require a transmission pause of about two seconds to switch ports, but the communication device 100 according to the present embodiment can significantly reduce this transmission pause.

[0049] Furthermore, the technology of the present disclosure operates based on the standard protocol defined in IEEE Std 802 and does not require the transmission and reception of proprietary control frames. Therefore, even if the opposite device 150 is a conventional communication device that uses the standard protocol defined in IEEE Std 802, the communication device 100 can communicate with the opposite device 150 without any problems, and further, when the transmission target port fails, the communication device 100 can immediately start transmitting and receiving frames using a standby port.

[0050] In a certain aspect, the communication device 100 may not need to limit the communication bandwidth of a received frame (a frame transmitted from the opposite device 150 to the communication device 100). This is because the design value determined by QoS mainly limits the communication bandwidth of the upstream network, and there are often no limits on the downstream network (port 102 side).

[0051] In another aspect, the communication device 100 may share the priority of each port 101 with the opposite device 150. By sharing the priority of each port 101, the communication device 100 and the opposite device 150 can determine which port is currently the transmission target port. For example, the communication device 100 and the opposite device 150 may have a function that prevents transmission and reception through ports that are not transmission targets and presents information about ports that are not transmission targets to a network administrator. In this case, for example, the network administrator can check ports that are not transmission targets and perform maintenance work such as cleaning the end faces of the optical fibers of ports that are not transmission targets (ports that are not sending or receiving frames).

[0052] Next, with reference to FIG. 3, a configuration of a communication system 40 including a plurality of communication devices 400 and 420 will be described.

[0053] <B.マルチシャーシ·リンクアグリケーション> 3 is a diagram showing an example of the configuration of a communication system 40 having a multi-chassis link aggregation function according to this embodiment. The configuration of communication system 40 will be described with reference to FIG.

[0054] IEEE802.1AX-2020 defines the Distributed Relay Control Protocol (DRCP) version 2, a protocol for multi-chassis link aggregation. DRCP enables multi-chassis link aggregation across two adjacent communication devices. DRCP defines a method for sharing the list of ports that can receive data and the system aggregation priority of each device between adjacent devices.

[0055] However, in a multi-chassis link aggregation spanning two adjacent communication devices, in order to keep the maximum transmission bandwidth of the link (or the number of transmission ports) always below the design value, the adjacent devices must share information that indicates the total maximum transmission bandwidth of the transmission target ports of each device (or the number of transmission target ports), such as a list of transmission target ports, the number of transmission target ports, the total maximum transmission bandwidth of the transmission target ports, etc. Therefore, communication system 40 according to the present embodiment provides a mechanism for sharing the above various types of information between adjacent devices in order to keep the maximum transmission bandwidth of the link (or the number of transmission ports) always below the design value in a multi-chassis link aggregation.

[0056] The communication system 40 includes a communication device 400 and a communication device 420. A plurality of ports 401 of the communication device 400 and a plurality of ports 421 of the communication device 420 belong to one multi-chassis link aggregation. That is, the plurality of ports 401 and the plurality of ports 421 form one logical link. Furthermore, each of the plurality of ports 401 and the plurality of ports 421 is connected to a plurality of ports 451 of a corresponding device 450. In one aspect, the communication device 400 and the communication device 420 located nearby (e.g., in the same rack, room, or building) may be connected to each other. In another aspect, the communication device 400 and the communication device 420 located in remote locations may be connected to each other. The communication device 400 and the communication device 420 may be connected to each other via any cable, any network device (e.g., a switch), or any network (e.g., a LAN or the Internet) regardless of the distance. Therefore, the communication device 400 and the communication device 420 can be said to be connected to each other via a network (including only a cable).

[0057] The communication device 400 includes multiple upstream ports 401, a downstream port 402, a load balancing unit 403, a load balancing control unit 404, a protocol control unit 405, a handshake status memory unit 406, a priority information memory unit 407, a transmission target list 408, an MC-LAG (Multi-Chassis Link-Aggregation) control unit 409, an adjacent device transmission target list 410, an adjacent device port priority information memory unit 411, a transfer port 412, and a control frame transfer port 413.

[0058] The communication device 420 includes multiple upstream ports 421, a load balancing unit 423, a load balancing control unit 424, a protocol control unit 425, a handshake status memory unit 426, a priority information memory unit 427, a transmission target list 428, an MC-LAG control unit 429, an adjacent device transmission target list 430, an adjacent device port priority information memory unit 431, a transfer port 432, and a control frame transfer port 433.

[0059] The upstream multiple ports 401, 421, downstream port 402, load distribution units 403, 423, protocol control units 405, 425, handshake status memory units 406, 426, priority information memory units 407, 427, and transmission target lists 408, 428 have the same configuration as the upstream multiple ports 101, downstream port 102, load distribution unit 103, load distribution control unit 104, protocol control unit 105, handshake status memory unit 106, priority information memory unit 107, and transmission target list 108 shown in Figure 1, so their description will not be repeated.

[0060] The MC-LAG control units 409, 429 exchange information required for multi-chassis link aggregation with adjacent devices via control frame forwarding ports 413, 433. The MC-LAG control units 409, 429 mainly exchange information related to adjacent device transmission target lists 410, 430 and adjacent device port priority information storage units 411, 431.

[0061] The adjacent device transmission target lists 410 and 430 include information on the transmission target ports of adjacent devices. For example, the adjacent device transmission target list 410 in the communication device 400 includes information on the transmission target port of the adjacent device, communication device 420. Conversely, the adjacent device transmission target list 430 in the communication device 420 includes information on the transmission target port of the adjacent device, communication device 400.

[0062] The adjacent device port priority information storage units 411 and 431 contain priority information for each port of an adjacent device. For example, the adjacent device port priority information storage unit 411 in the communication device 400 contains priority information for each port 421 of the adjacent communication device 420. Conversely, the adjacent device port priority information storage unit 431 in the communication device 420 contains priority information for each port 401 of the adjacent communication device 400.

[0063] The transfer ports 412 and 432 transfer normal frames (frames containing user data) to adjacent devices. For example, assume that ports 401(1) to 401(7) of the communication device 400 and port 421(8) of the communication device 420 are transmission target ports. In this case, when the load distribution unit 403 transmits a frame received from the downstream port 402 via port 421(8), the load distribution unit 403 can transfer the frame to the communication device 420 via the transfer ports 412 and 432.

[0064] The control frame forwarding ports 413, 433 forward information required for multi-chassis link aggregation to adjacent devices. A load balancing control unit 404 in the communication device 400 acquires information on a target port selected from the multiple ports 401 and priority information for each port 401. The load balancing control unit 404 instructs the MC-LAG control unit 409 to forward the acquired information on the target port and priority information for each port 401 to the adjacent device, the communication device 420. Similarly, a load balancing control unit 424 in the communication device 420 acquires information on a target port selected from the multiple ports 421 and priority information for each port 421. The load balancing control unit 424 instructs the MC-LAG control unit 429 to forward the acquired information on the target port and priority information for each port 421 to the adjacent device, the communication device 400.

[0065] In one aspect, the transfer port 412 and the control frame transfer port 413 may be realized as a single port. Similarly, the transfer port 432 and the control frame transfer port 433 may also be realized as a single port. In another aspect, the transfer port 412 and the control frame transfer port 413 may be realized as a plurality of ports bundled into a single logical link by link aggregation. Similarly, the transfer port 432 and the control frame transfer port 433 may be realized as a plurality of ports bundled into a single logical link by link aggregation.

[0066] The load balancing control unit 404 receives information about the transmission target port and priority information about each port 421 from the communication device 420 via the MC-LAG control unit 409. The load balancing control unit 404 stores the received information about the transmission target port of the communication device 420 (adjacent device) in an adjacent device transmission target list 410. The load balancing control unit 404 also stores the received priority information about each port 421 in an adjacent device port priority information storage unit 411. Similarly, the load balancing control unit 424 receives information about the transmission target port and priority information about each port 401 from the communication device 400 via the MC-LAG control unit 429. The load balancing control unit 424 stores the received information about the transmission target port of the communication device 400 (adjacent device) in an adjacent device transmission target list 430. The load balancing control unit 424 also stores the received priority information about each port 401 in an adjacent device port priority information storage unit 431.

[0067] The load balancing control unit 404 may select one of the ports 401 of its own device as a transmission target port by referring to the handshake status storage unit 406, the priority information storage unit 407, the transmission target list 408, the adjacent device port priority information storage unit 411, and the adjacent device transmission target list 410. Similarly, the load balancing control unit 424 may select one of the ports 421 of its own device as a transmission target port by referring to the handshake status storage unit 426, the priority information storage unit 427, the transmission target list 428, the adjacent device port priority information storage unit 431, and the adjacent device transmission target list 430. When the transmission target list 408 is updated, the load balancing control unit 404 transmits information about the updated transmission target list 408 to the communication device 420. Similarly, when the transmission target list 428 is updated, the load balancing control unit 424 transmits information about the updated transmission target list 428 to the communication device 400. Furthermore, when the priority information storage unit 407 is updated, the load distribution control unit 404 transmits the updated information in the priority information storage unit 407 to the communication device 420 via the MC-LAG control unit 409. Similarly, when the priority information storage unit 427 is updated, the load distribution control unit 424 transmits the updated information in the priority information storage unit 427 to the communication device 400 via the MC-LAG control unit 429.

[0068] In another aspect, the communication devices 400 and 420 may exchange information with each other using an Organization Specific TLV of a DRCPDU or a control frame of an ICCP (Inter-chassis Communication Protocol). In another aspect, the communication devices 400 and 420 may exchange priority information for up to N-th (N=upper limit of the number of ports that can be used for the link, K=number of ports currently included in the link, N=number of remaining ports that can be added to the link) ports determined to be available for transmission (ports for which handshake has been completed) of the communication devices 400 and 420, in order to reduce the amount of information exchanged.

[0069] Next, an example of operation of a communication system 40 including a plurality of communication devices 400, 420 will be described with reference to Figures 4 to 15. More specifically, with reference to Figures 4 to 12, data managed by and transmitted and received by each of the communication devices 400, 420 when the communication system 40 is operating normally will be described. With reference to Figures 13 to 15, data managed by and transmitted and received by each of the communication devices 400, 420 when a transmission target port of the communication system 40 fails will be described.

[0070] 4 is a diagram showing an example of the transmission target lists 408, 428 of the communication system 40 at a first time point. In the following description, as an example, the design value of the communication volume in the communication system 40 is 10 Gbps, and the communication capacity of each port is 1 Gbps. For simplicity of description, the load distribution unit 403 and the load distribution control unit 404 are represented as a transmitting-side load distribution unit 600. Similarly, the load distribution unit 423 and the load distribution control unit 424 are represented as a transmitting-side load distribution unit 620. It is assumed that the system aggregation priority of the communication devices 400, 420 is higher than the system aggregation priority of the opposite device 450.

[0071] At a first point in time, the protocol control unit 405 of the communication device 400 has completed an LACP handshake between ports 401(1) to 401(7). The protocol control unit 405 has notified the transmitting side load distribution unit 600 that ports 401(1) to 401(7) are in the COLLECTING_DISTRIBUTING state (handshake state). Furthermore, the transmitting side load distribution unit 600 has selected ports 401(1) to 401(7) as transmission target ports. Meanwhile, the protocol control unit 425 of the communication device 420 has not completed an LACP handshake between ports 421(8) to 421(14).

[0072] The transmission target list 408 includes list A and list B. List A lists ports selected as transmission targets among ports 401(1) to 401(7) of the communication device 400. List B lists handshake-completed ports that have not been selected as transmission targets among ports 401(1) to 401(7) of the communication device 400. In the example of FIG. 4, ports 401(1) to 401(7) are included in list A, and it can be seen that the communication device 400 has selected all of ports 401(1) to 401(7) as transmission target ports.

[0073] Similarly, the transmission target list 428 also includes list A and list B. List A lists ports selected as transmission targets among ports 421(8) to 421(14) of the communication device 420. List B lists handshake-completed ports that have not been selected as transmission targets among ports 421(8) to 421(14) of the communication device 420. In the example of FIG. 4, it can be seen that the communication device 420 has not yet assigned ports 421(8) to 421(14) to list A and list B.

[0074] 4 and other examples, the transmission target lists 408, 428 also include port priority information, but in reality, the port priority information may be stored in the priority information storage unit 407 and the adjacent device port priority information storage unit 411. Alternatively, the transmission target ports and the priority information of each port may be stored in one storage unit, one list, or one table.

[0075] Each time the transmission target list 408 is updated, the MC-LAG control unit 409 transmits a control frame including the updated transmission target list 408 to the MC-LAG control unit 429. Similarly, each time the transmission target list 428 is updated, the MC-LAG control unit 429 transmits a control frame including the updated transmission target list 428 to the MC-LAG control unit 409. Note that the contents of the transmission target lists 408 and 428 may be transmitted in multiple control frames. Because all ports have completed handshakes, the communication devices 400 and 420 can immediately select an alternative port (a standby port of the communication device or an adjacent device) as a new communication target port when the state of the communication device or an adjacent device changes (fails). In this way, the communication devices 400 and 420 can always keep and share the transmission target port and priority information of the communication device and adjacent device up to date.

[0076] In one aspect, the communication devices 400, 420 may share only the priority information of each port (such as the port ID of the port with the highest system aggregation priority), and may not need to share mapping information indicating which port each piece of priority information is associated with. For example, the transmission target lists 408, 428 may include only the priority information of each port.

[0077] At a first point in time, when the communication devices 400 and 420 exchange their transmission target lists 408 and 428, the data in the communication devices 400 and 420 are as shown in FIGS. 5 and 6, respectively.

[0078] 5 is a diagram showing an example of data managed by the communication device 400 after the communication devices 400 and 420 exchange their transmission target lists 408 and 428 at a first point in time. The communication device 400 manages a LAG management table 700, a local device port table 710, and an adjacent device port table 720.

[0079] The LAG management table 700 includes, as items, a maximum transmission bandwidth column 701 and a total transmission bandwidth column 702 for the transmission target port. The LAG management table 700 can be stored, for example, in memory within the communication device 400. Note that a column can refer to any attribute such as the data type or type of data of each element in the database.

[0080] The maximum transmission bandwidth column 701 indicates the maximum transmission bandwidth of the link in the multi-chassis link aggregation. The communication bandwidth of the link in the communication system 40 must be equal to or less than this maximum transmission bandwidth. The maximum transmission bandwidth column 701 may be expressed in communication volume (Gbps) or the number of ports.

[0081] The total transmission bandwidth column 702 of the transmission target ports indicates the transmission bandwidth that the current link can achieve. In the examples of FIGS. 4 and 5, ports 401(1) to 401(7) are selected as the transmission target ports, and it can be seen that the transmission bandwidth that the current link can achieve is 7 Gbps. The transmitting-side load balancer 600 can refer to the LAG management table 700 to select the transmission target ports so that the total transmission bandwidth of the links is equal to or less than the design value. In the example of FIG. 5, the maximum transmission bandwidth column 701 is "10 Gbps," while the total transmission bandwidth column 702 of the transmission target ports is "7 Gbps," so it can be seen that three more ports can be selected as transmission target ports.

[0082] The own device port table 710 includes, as items, a port column 711 , a transmission bandwidth column 712 , a transmission permission / prohibition column 713 , a priority information column 714 , and a transmission target column 715 .

[0083] The port column 711 contains identifiers for uniquely identifying each port of the device itself. For example, "1 to 7" in the port column 711 correspond to the ports 401(1) to 401(7).

[0084] The transmission bandwidth column 712 indicates the transmission bandwidth of each port of the device itself, that is, the frame transfer capacity. In the example of Fig. 5, it can be seen that the transmission bandwidth of ports 401(1) to 401(7) is all 1 Gbps.

[0085] The transmission availability column 713 indicates whether each port of the device is capable of transmitting frames, i.e., whether the handshake has been completed. In the example of Fig. 5, it can be seen that the handshake has been completed for all of ports 401(1) to 401(7), and therefore transmission is possible.

[0086] The priority information column 714 indicates the priority of each port of the device itself. The priority of each port may be determined by any item such as the port ID. In the example of Fig. 5, it can be seen that the priority is highest (smallest port ID) in the order from port 401(1) to port 401(7).

[0087] The transmission target column 715 indicates whether each port of the device itself has been selected as a transmission target port. In the example of Fig. 5, it can be seen that ports 401(1) to 401(7) have all been selected as transmission target ports.

[0088] Note that local device port table 710 is a logical representation of the information of the local device managed by communication device 400, and in reality, each item of local device port table 710 may be stored in handshake status storage unit 406, priority information storage unit 407, and transmission target list 408. In one aspect, communication device 400 may have local device port table 710 instead of the information in handshake status storage unit 406, priority information storage unit 407, and transmission target list 408.

[0089] The adjacent device port table 720 includes the following items: a port column 721, a transmission bandwidth column 722, a priority information column 723, and a transmission target column 724.

[0090] The port column 721 is an identifier for uniquely identifying each port of the neighboring device. At the first point in time, the communication device 420 has not completed a handshake with each port 421, and the transmission target list 428 is incomplete, so the port column 721 is empty.

[0091] The transmission bandwidth column 722 indicates the transmission bandwidth of each port of the neighboring device, i.e., the frame transfer capability. At the first time, the communication device 420 has not yet completed the transmission target list 428, so the transmission bandwidth column 722 is empty.

[0092] The priority information column 723 indicates the priority of each port of the neighboring device. The priority of each port may be determined by any item, such as a port ID. At the first point in time, the communication device 420 has not completed a handshake with each port 421, and the transmission target list 428 is incomplete, so the transmission bandwidth column 722 is empty.

[0093] The transmission target column 724 indicates whether each port of the neighboring device has been selected as a transmission target port. At the first point in time, the communication device 420 has not completed a handshake with each port 421, and the transmission target list 428 is incomplete, so the transmission target column 724 is empty.

[0094] 6 is a diagram showing an example of data managed by the communication device 420 after the communication devices 400, 420 exchange their transmission target lists 408, 428 at a first point in time. The communication device 420 manages a LAG management table 800, a local device port table 810, and an adjacent device port table 820.

[0095] The items in the LAG management table 800, the local device port table 810, and the adjacent device port table 820 are the same as the items in the LAG management table 700, the local device port table 710, and the adjacent device port table 720, so their descriptions will not be repeated.

[0096] 6, it can be seen that the handshake has not been completed for ports 421(8) to 421(14) and that none of them have been selected as the transmission target ports according to the local device port table 810. Furthermore, it can be seen from the adjacent device port table 820 that the communication device 420 has acquired the transmission target ports and the priority of each port from the communication device 400.

[0097] In the example of the present disclosure, it is assumed that the communication devices 400 and 420 have the link speeds of their respective ports (all 1 Gbps), but the communication devices 400 and 420 may exchange the link speeds of their respective ports using a control frame.

[0098] 7 is a diagram showing an example of the transmission target lists 408, 428 of the communication system 40 at a second time point. In the example shown in FIG. 7, the communication device 420 connects port 421 to port 151 of the opposite device 450 in order of decreasing priority (for example, increasing port ID) from a first time point, and executes a handshake. The second time point is the timing when the communication device 420 completes the handshake with ports 421(8) to 421(10) and selects these ports as transmission target ports. It can be seen that ports 421(8) to 421(10) have been added to list A of the transmission target list 428 at the second time point.

[0099] At the second point in time, when the communication devices 400 and 420 exchange their transmission target lists 408 and 428, the data in the communication devices 400 and 420 are as shown in FIGS. 8 and 9, respectively.

[0100] 8 is a diagram showing an example of data managed by communication device 400 after communication devices 400, 420 exchange their transmission target lists 408, 428 at a second point in time. Compared with adjacent device port table 720 in FIG. 5, it can be seen that information on ports 421(8) to 421(10) has been added to adjacent device port table 720 in FIG. 8. It can also be seen that total transmission bandwidth column 702 of transmission target ports in LAG management table 700 is 10 Gbps, the same value as maximum transmission bandwidth column 701.

[0101] At the second point in time, the load distribution control unit 404 recognizes that ports 421(8) to 421(10) are also target ports for transmission, and distributes frames (distributes the load) to ports 401(1) to 401(7) and ports 421(8) to 421(10).

[0102] 9 is a diagram showing an example of data managed by communication device 420 after communication devices 400, 420 exchange their transmission target lists 408, 428 at a second point in time. Compared with local device port table 810 in FIG. 6, local device port table 810 in FIG. 9 shows that the handshake between ports 421(8) to 421(10) has been completed, and that ports 421(8) to 421(10) have been selected as transmission targets. It can also be seen that total transmission bandwidth 802 of the transmission target ports in LAG management table 800 is 10 Gbps, which is the same value as maximum transmission bandwidth 801.

[0103] At the second point in time, the load distribution control unit 424 recognizes that ports 421(8) to 421(10) of its own device are the transmission target ports, and therefore distributes the frames transferred from the communication device 400 to ports 421(8) to 421(10).

[0104] 10 is a diagram showing an example of the transmission target lists 408, 428 of the communication system 40 at a third point in time. From the second point in time, the communication device 420 executes a handshake for the ports 421 in order of decreasing priority (for example, increasing port ID). The third point in time is the timing when the communication device 420 completes the handshake for ports 421(11) to 421(14). Since the total transmission bandwidth of the transmission target ports is already 10 Gbps, which is the same value as the maximum transmission bandwidth, the communication device 420 adds ports 421(11) to 421(14) to list B (non-transmission target).

[0105] At the third point in time, when the communication devices 400 and 420 exchange their transmission target lists 408 and 428, the data in the communication devices 400 and 420 are as shown in FIGS. 11 and 12, respectively.

[0106] 11 is a diagram showing an example of data managed by communication device 400 after communication devices 400 and 420 exchange their transmission target lists 408 and 428 at a third point in time. Compared to adjacent device port table 720 in FIG. 8, adjacent device port table 720 in FIG. 11 has added information on ports 421(11) to 421(114), and it can be seen that none of these are transmission targets.

[0107] Fig. 12 is a diagram showing an example of data managed by communication device 420 after communication devices 400 and 420 exchange their transmission target lists 408 and 428 at a third point in time. Compared with own device port table 810 in Fig. 9, own device port table 810 in Fig. 12 shows that the handshake between ports 421(11) to 421(14) has been completed and that ports 421(11) to 421(14) are not transmission targets.

[0108] FIG. 13 is a diagram showing an example of the transmission target lists 408, 428 of the communication system 40 at a fourth time point. The fourth time point is after the third time point, when the port 401(7) fails and is no longer able to send or receive frames. At the fourth time point, the transmission side load distribution unit 600 detects the failure of the port 401(7) and deletes the port 401(7) from list A of the transmission target list 408. Furthermore, the transmission side load distribution unit 600 transmits the updated transmission target list 408 to the communication device 420. The transmission side load distribution unit 620 references the received transmission target list 408 and detects that the port 401(7) is unavailable. Then, it adds port 421(12), which has the highest priority (smallest port ID) among ports 421(11) to (14) of its own device that are not a transmission target (standby), to list A. Because port 421(12) has already completed a handshake, it can immediately start transmitting frames.

[0109] At the fourth point in time, when the communication devices 400 and 420 exchange their transmission target lists 408 and 428, the data in the communication devices 400 and 420 are as shown in FIGS. 14 and 15, respectively.

[0110] Figure 14 is a diagram showing an example of data managed by communication device 400 after communication devices 400, 420 exchange their transmission target lists 408, 428 at a fourth point in time. Compared with local device port table 710 in Figure 11, local device port table 710 in Figure 14 shows that port 401(7) is not available for transmission and is not a transmission target. Also, compared with adjacent device port table 720 in Figure 11, adjacent device port table 720 in Figure 14 shows that port 421(12) is selected as a transmission target.

[0111] 15 is a diagram showing an example of data managed by communication device 420 after communication devices 400, 420 exchange their transmission target lists 408, 428 at a fourth point in time. Compared to local device port table 810 of FIG. 12, local device port table 810 of FIG. 15 selects port 421(12) as a transmission target. Also, compared to adjacent device port table 820 of FIG. 12, adjacent device port table 820 of FIG. 15 deletes port 401(7). In one aspect, instead of being deleted, port 401(7) may be included in adjacent device port table 820 with the content of transmission target 824 set as "not included."

[0112] <C.マルチシャーシ·リンクアグリケーションのフローチャート> Next, a processing procedure of the communication device 400 in the communication system 40 will be described with reference to Fig. 16 to Fig. 21. More specifically, a processing when the design value (communication capacity) of the communication system 40 is defined by the number of ports (for example, 10 ports) will be described with reference to Fig. 16 to Fig. 18. A processing when the design value of the communication system 40 is defined by the maximum transmission bandwidth (for example, 10 Gbps) will be described with reference to Fig. 19 to Fig. 21. Note that the communication device 420 can also operate in the same procedure as the communication device 400. Furthermore, the processing shown in Fig. 19 to Fig. 21 can be executed even when the communication capabilities (communication bandwidth) of the ports of the communication devices 400 and 420 are different.

[0113] 16 is a flowchart showing a first example of a processing procedure of the communication device 400 when a port of the device that was previously unable to transmit becomes capable of transmitting. Note that the case where a port of the device that was previously unable to transmit becomes capable of transmitting includes not only the processing when a faulty port is restored, but also the processing immediately after the communication device 400 is started up. This is because the port immediately after startup has not performed a handshake with the port of the opposite device and is in a state where communication is not possible.

[0114] In the following description of the flowcharts, when communication device 400 is the processing subject, the own device (α) indicates communication device 400, and adjacent device (β) indicates communication device 420. Furthermore, Kα indicates the number of transmission target ports in communication device 400, and Kβ indicates the number of transmission target ports in communication device 420. N indicates a design value of communication system 40 (maximum number of ports that can be included in a link). [List A]α is list A in transmission target list 408, [List B]α is list B in transmission target list 408, [List A]β is list A in transmission target list 428, and [List B]β is list B in transmission target list 428.

[0115] In step S1810, communication device 400 determines that port X of its own device (α), which was previously unable to transmit, is now able to transmit. In one aspect, communication device 400 may determine that port X is now able to transmit based on the completion of the handshake at port X.

[0116] In step S1820, communication device 400 determines whether Kα+Kβ is less than N. That is, communication device 400 determines whether the total number of transmission target ports in current communication devices 400, 420 is less than the maximum number of ports that can be included in the link. If communication device 400 determines that Kα+Kβ is less than N (YES in step S1820), it transfers control to step S1830. If not (NO in step S1820), communication device 400 transfers control to step S1850.

[0117] In step S1830, the communication device 400 adds port X to [list A]α and increments Kα. That is, the communication device 400 selects port X as the transmission target port and increments the number of transmission target ports in the communication device 400 by one.

[0118] In step S1840, communication device 400 transmits information indicating the change in [list A]α to adjacent device (β). Furthermore, communication device 400 updates transmission target list 408. This allows load distribution unit 403 to recognize that the number of transmission target ports in communication device 400 has increased (the number of ports to which frames (load) can be allocated has increased).

[0119] In step S1850, the communication device 400 adds port X to [list B]α.

[0120] In step S1860, communication device 400 transmits information indicating the change in [list B]α to neighboring device (β).

[0121] 17 is a flowchart showing a first example of a processing procedure of the communication device 400 when a port of the device that was previously enabled for transmission becomes disabled for transmission. Note that the case where a port of the device that was previously enabled for transmission becomes disabled for transmission includes a case where a transmission target port fails.

[0122] In step S1910, communication device 400 determines that port X of its own device (α), which was previously capable of transmission, is now unable to transmit. In one aspect, communication device 400 may determine that port X has become unable to transmit based on the fact that no LACPDU response is received from the opposing device at port X for a certain period of time or longer.

[0123] In step S1920, communication device 400 determines whether port X is included in [list A]α. If communication device 400 determines that port X is included in [list A]α (YES in step S1920), it transfers control to step S1930. If communication device 400 determines that port X is not included in [list A]α (NO in step S1920), it transfers control to step S1970.

[0124] In step S1930, the communication device 400 deletes port X from [list A]α and decrements Kα. That is, the communication device 400 excludes port X from the transmission target and decreases the number of transmission target ports in the communication device 400 by one.

[0125] In step S1940, the communication device 400 determines whether the highest-priority port Y in [List B]α has a higher priority than the highest-priority port in [List B]β. In other words, the communication device 400 determines whether the port that should be used as the transmission target port instead of port X is a port on the local device (α) or an adjacent device (β). If the communication device 400 determines that the highest-priority port Y in [List B]α has a higher priority than the highest-priority port in [List B]β (YES in step S1940), the communication device 400 transfers control to step S1950. If not (NO in step S1940), the communication device 400 transfers control to step S1960.

[0126] In step S1950, the communication device 400 deletes port Y from [List B]α and adds port Y to [List A]α. Furthermore, the communication device 400 increments Kα. That is, the communication device 400 selects port Y as the transmission target port and increases the number of transmission target ports in the communication device 400 by 1.

[0127] In step S1960, communication device 400 transmits information indicating changes in [List A]α and [List B]α to adjacent device (β). If there are no changes in [List A]α or [List B]α, communication device 400 does not need to transmit a control frame to adjacent device (β). Furthermore, communication device 400 updates transmission target list 408. This allows load distribution unit 403 to recognize that the transmission target port in communication device 400 has changed (that the port to which a frame (load) can be allocated has changed). If there are no changes in [List A]α or [List A]β, there is no need to update transmission target list 408.

[0128] In step S1970, the communication device 400 deletes the port X from [list B]α.

[0129] 18 is a flowchart showing a first example of a processing procedure of the communication device 400 when port information is received from an adjacent device (communication device 420). Note that the case where port information is received from the adjacent device (communication device 420) includes a case where a port that was previously unable to transmit in the adjacent device (communication device 420) becomes able to transmit, and a case where a port that was previously able to transmit in the adjacent device (communication device 420) becomes unable to transmit.

[0130] In step S2005, the communication device 400 receives port information from the adjacent device (β). That is, the communication device 400 detects that there has been a change in the port state in the adjacent device (β).

[0131] In step S2010, the communication device 400 updates [List A]β and [List B]β according to the received information. Furthermore, the communication device 400 assigns the number of elements in [List A]β (the number of transmission target ports of the communication device 420) to Kβ.

[0132] In step S2015, communication device 400 determines whether Kα+Kβ is less than N. That is, communication device 400 determines whether the total number of transmission target ports in current communication devices 400, 420 is less than the maximum number of ports that can be included in the link. If communication device 400 determines that Kα+Kβ is less than N (YES in step S2015), it transfers control to step S2020. If not (NO in step S2015), communication device 400 transfers control to step S2030.

[0133] In step S2020, communication device 400 deletes from [List B]α the ports of its own device (number = L) that are among the ports included in [List B]α and [List B]β and that are ranked up to (N-(Kα+Kβ))th in priority order, and adds them to [List A]α. Furthermore, communication device 400 adds L to Kα. That is, based on the fact that one or more transmission target ports in communication device 420 have failed, communication device 400 selects ports in descending order of priority from the standby ports of its own device and adjacent devices. L is the number of ports of its own device among the selected ports.

[0134] In step S2025, communication device 400 transmits information indicating changes in [List A]α and [List B]α to adjacent device (β). If there are no changes in [List A]α or [List B]α, communication device 400 does not need to transmit a control frame to adjacent device (β). Furthermore, communication device 400 updates transmission target list 408. This allows load distribution unit 403 to recognize that the transmission target port in communication device 400 has changed (that the port to which a frame (load) can be allocated has changed). If there are no changes in [List A]α or [List A]β, there is no need to update transmission target list 408.

[0135] In step S2030, communication device 400 determines whether Kα+Kβ exceeds N. That is, communication device 400 determines whether the total number of transmission target ports in the current communication devices 400, 420 exceeds the maximum number of ports that can be included in the link. If communication device 400 determines that Kα+Kβ exceeds N (YES in step S2030), it transfers control to step S2035. Otherwise (NO in step S2030), communication device 400 transfers control to step S2025.

[0136] In step S2035, the communication device 400 selects the port X with the lowest priority from [list A]α and [list A]β.

[0137] In step S2040, the communication device 400 determines whether port X is a port of the own device (α). If the communication device 400 determines that port X is a port of the own device (α) (YES in step S2040), the control is transferred to step S2045. If not (NO in step S2040), the communication device 400 transfers control to step S2050.

[0138] In step S2045, the communication device 400 decrements Kα and deletes port X from [list A]α, and also adds port X to [list B]α.

[0139] In step S2050, the communication device 400 decrements Kβ and deletes port X from [List A]β. The communication device 400 also adds port X to [List B]β. The communication device 400 repeatedly executes the process of step S2045 or step S2050 until Kα+Kβ exceeds N.

[0140] Fig. 19 is a flowchart showing a second example of the processing procedure of the communication device 400 when a port of the communication device that was previously unable to transmit becomes capable of transmitting. The processing procedure shown in Fig. 19 differs from the processing procedure shown in Fig. 16 in that it represents processing when the design value of the communication system 400 is defined as the maximum transmission bandwidth (for example, 10 Gbps). Note that the case where a port of the communication device that was previously unable to transmit becomes capable of transmitting includes not only processing when a faulty port is restored, but also processing immediately after the communication device 400 is started up. In the following description, BAα indicates the communication bandwidth of the communication device 400, BAβ indicates the communication bandwidth of the communication device 420, and MaxBW indicates the design value (maximum transmission bandwidth) of the communication system 40.

[0141] In step S2110, communication device 400 determines that port X of its own device (α), which was previously unable to transmit, is now able to transmit. In one aspect, communication device 400 may determine that port X is able to transmit based on the completion of the handshake at port X.

[0142] In step S2120, the communication device 400 determines whether the link speed of BAα+BAβ+port X is less than MaxBW. That is, the communication device 400 determines whether the link speed when port X is added to the transmission target port is less than the design value (maximum transmission bandwidth). If the communication device 400 determines that the link speed of BAα+BAβ+port X is less than MaxBW (YES in step S2120), it transfers control to step S2130. If not (NO in step S2120), the communication device 400 transfers control to step S2150.

[0143] In step S2130, the communication device 400 adds port X to [list A]α and adds the link speed of port X to BAα. That is, the communication device 400 selects port X as the transmission target port and adds the communication bandwidth of port X to BAα (the communication bandwidth of the communication device 400).

[0144] In step S2140, the communication device 400 transmits information indicating the change in [list A]α to the neighboring device (β). Furthermore, the communication device 400 updates the transmission target list 408. This allows the load distribution unit 403 to recognize that the number of transmission target ports has increased (the number of ports to which frames (load) can be allocated has increased).

[0145] In step S2150, the communication device 400 adds port X to [list B]α.

[0146] In step S2160, the communication device 400 transmits information indicating the change in [List B]α to the neighboring device (β). Note that, since the number of transmission target ports does not increase or decrease (since the number of ports to which frames (load) can be allocated does not increase or decrease), there is no need to update the transmission target list 408.

[0147] 20 is a flowchart showing a second example of the processing procedure of the communication device 400 when a port of the device that was previously enabled for transmission becomes disabled for transmission. Note that the case where a port of the device that was previously enabled for transmission becomes disabled for transmission includes the case where a transmission target port fails.

[0148] In step S2210, communication device 400 determines that port X of its own device (α), which was previously capable of transmission, is now unable to transmit. In one aspect, communication device 400 may determine that port X has become unable to transmit based on the fact that no LACPDU response is received from the opposing device at port X for a certain period of time or longer.

[0149] In step S2220, communication device 400 determines whether port X is included in [list A]α. If communication device 400 determines that port X is included in [list A]α (YES in step S2220), it transfers control to step S2230. If not (NO in step S2220), communication device 400 transfers control to step S2270.

[0150] In step S2230, the communication device 400 deletes port X from [list A]α and subtracts the link speed of port X from BAα. That is, the communication device 400 excludes port X from the transmission target and subtracts the communication bandwidth of port X from BAα (the communication bandwidth of the communication device 400).

[0151] In step S2240, communication device 400 selects ports from [List B]α and [List B]β (standby ports) whose link speed is equal to or less than diffBW (=MaxBW-(BAα+BAβ)). diffBW is the design value (maximum transmission bandwidth) minus the current transmission bandwidth, and represents the communication bandwidth that may be increased (the difference between the maximum communication bandwidth and the current transmission bandwidth).

[0152] Next, the communication device 400 arranges the selected ports in the order of "priority considering speed". Then, the communication device 400 adds up the communication bandwidths of the selected ports in the order of priority to calculate the total value addBW (where addBW < diffBW). In other words, the communication device 400 calculates the total of the communication bandwidths of the selected ports within a range that does not exceed the communication bandwidth (diffBW) that can be increased. The combination of ports selected during the calculation of addBW is a combination of ports that can be the transmission target ports.

[0153] In a certain situation, the "priority considering speed" may be defined as follows. The "priority considering speed" is a 64-bit unsigned number, and the smaller the value, the higher the priority. In this case, a value obtained by subtracting the port speed (e.g., Mbps) from 0x100000000 is mapped to the upper 32 bits of the "priority considering speed". As a result, the higher the port speed, the higher the priority (e.g., if it is 1 [Mbps], the upper 32 bits will be All1 (FFFFFFFF)). Next, when the port of the own device has a smaller number of system aggregation priorities representing the global and unique priorities of the system described in Section 6.7 of IEEE802.1AX-2020 than the port of the opposite device (that is, the port of the own device has a higher priority), the port aggregation priority representing the unique priority within the system of the port described in Section 6.7 of IEEE802.1AX-2020 of the own device is mapped to the lower 32 bits. Or, when the port of the own device has a larger number of system aggregation priorities than the port of the opposite device (that is, the port of the own device has a lower priority), the port aggregation priority of the opposite device is mapped to the lower 32 bits.

[0154] In step S2250, communication device 400 determines whether or not its own port is included among the ports selected when calculating addBW. That is, communication device 400 determines whether or not its own port is included among the combination of ports that can become transmission target ports. If communication device 400 determines that its own port is included among the ports selected when calculating addBW (YES in step S2250), communication device 400 transfers control to step S2260. If not (NO in step S2250), communication device 420 transfers control to step S2270.

[0155] In step S2260, communication device 400 deletes from [list B]α all of its own ports included in the ports selected when calculating addBW and adds them to [list A]α. That is, communication device 400 selects, as transmission target ports, one or more "ports of its own device" included in the "combination of ports that can become transmission target ports" selected in step S2240. Furthermore, the sum of the link speeds of the ports added to [list A]α is added to BAα.

[0156] In step S2270, communication device 400 transmits information indicating changes in [List A]α and [List B]α to adjacent device (β). If there are no changes in [List A]α or [List B]α, communication device 400 does not need to transmit a control frame to adjacent device (β). Furthermore, communication device 400 updates transmission target list 408. This allows load distribution unit 403 to recognize that the transmission target port in communication device 400 has changed (that the port to which a frame (load) can be allocated has changed). If there are no changes in [List A]α or [List A]β, there is no need to update transmission target list 408.

[0157] In step S2270, communication device 400 deletes port X from [list B]α. As described above, even if the communication bandwidth of each port is different, communication device 400 can flexibly select ports to be included in the link so that they are within the upper limit by using the "communication bandwidth" design value (upper limit of the communication bandwidth).

[0158] 21 is a flowchart showing a second example of the processing procedure of the communication device 400 when port information is received from an adjacent device (communication device 420). Note that the case where port information is received from an adjacent device (communication device 420) includes a case where a port that was previously unable to transmit in the adjacent device (communication device 420) becomes capable of transmission, and a case where a port that was previously capable of transmission in the adjacent device (communication device 420) becomes unable to transmit.

[0159] In step S2305, the communication device 400 receives port information from the neighboring device (β). The port information includes information indicating whether the port status of the neighboring device (β) has changed. Therefore, the communication device 400 detects that the port status of the neighboring device (β) has changed.

[0160] In step S2310, communication device 400 updates [List A]β and [List B]β according to the received information. Furthermore, communication device 400 assigns the sum of the link speeds of [List A]β (communication bandwidth of communication device 420) to BWβ.

[0161] In step S2315, communication device 400 determines whether BAα+BAβ is less than MaxBW. That is, communication device 400 determines whether the communication bandwidth of communication system 40 is less than the design value (maximum transmission bandwidth). If communication device 400 determines that BAα+BAβ is less than MaxBW (YES in step S2315), it transfers control to step S2320. If not (NO in step S2315), communication device 400 transfers control to step S2340.

[0162] In step S2320, the communication device 400 selects the port X with the lowest priority from [list A]α and [list A]β.

[0163] In step S2325, the communication device 400 determines whether port X is a port of the own device (α). If the communication device 400 determines that port X is a port of the own device (α) (YES in step S2325), the control is transferred to step S2330. If not (NO in step S2325), the communication device 400 transfers control to step S2335.

[0164] In step S2330, the communication device 400 deletes port X from [list A]α and adds port X to [list B]α. Furthermore, the communication device 400 subtracts the link speed of port X from BAα.

[0165] In step S2335, the communication device 400 deletes port X from [List A]β and adds port X to [List B]β. Furthermore, the communication device 400 subtracts the link speed of port X from BAβ. The communication device 400 repeatedly executes the process of step S2330 or step S2335 until BAα+BAβ becomes less than MaxBW.

[0166] In step S2340, communication device 400 selects ports from [List B]α and [List B]β (standby ports) whose link speed is equal to or less than diffBW (=MaxBW-(BAα+BAβ)). diffBW is the design value (maximum transmission bandwidth) minus the current transmission bandwidth, and represents the communication bandwidth that may be increased (the difference between the maximum communication bandwidth and the current transmission bandwidth).

[0167] Next, the communication device 400 arranges the selected ports in the order of "priority considering speed". Then, the communication device 400 adds up the communication bandwidths of the selected ports in the order of priority to calculate the total value addBW (where addBW < diffBW). In other words, the communication device 400 calculates the total of the communication bandwidths of the selected ports within the range that does not exceed the communication bandwidth (diffBW) that can be increased. The combination of ports selected during the calculation of addBW is the combination of ports that can be the transmission target ports.

[0168] In step S2345, the communication device 400 determines whether its own port is included among the ports selected during the calculation of addBW. That is, the communication device 400 determines whether its own port is included in the combination of ports that can be the transmission target ports. If the communication device 400 determines that its own port is included among the ports selected during the calculation of addBW (YES in step S2345), it transfers control to step S2350. Otherwise (NO in step S2345), the communication device 420 transfers control to step S2355.

[0169] In step S2350, the communication device 400 deletes all of its own ports included among the ports selected during the calculation of addBW from [List B]α and adds them to [List A]α. That is, the communication device 400 selects one or more "its own ports" included in the "combination of ports that can be the transmission target ports" selected in step S2340 as the transmission target ports. Further, the total link speed of the ports added to [List A]α is added to BAα.

[0170] In step S2355, communication device 400 transmits information indicating changes in [List A]α and [List B]α to adjacent device (β). If there are no changes in [List A]α or [List B]α, communication device 400 does not need to transmit a control frame to adjacent device (β). Furthermore, communication device 400 updates transmission target list 408. This allows load distribution unit 403 to recognize that the transmission target port in communication device 400 has changed (that the port to which a frame (load) can be allocated has changed). If there are no changes in [List A]α or [List A]β, there is no need to update transmission target list 408.

[0171] The communication system 40 of the present disclosure has been described assuming link aggregation using LACP. However, this is merely an example, and the technology of the present disclosure can be applied to systems other than link aggregation using LACP. In some aspects, the communication system 40 may have a static link aggregation function. In static link aggregation, the ports included in a logical link are statically determined based on the settings of a network administrator, rather than through a handshake via the exchange of control frames. Therefore, when the technology of the present disclosure is applied to a communication system with a static link aggregation function, the "COLLECTING_DISTRIBUTING state (transmission enabled state)" can be read as the "(statically determined) link up state (transmission enabled state)." When the technology of the present disclosure is applied to a communication system with a static link aggregation function, the control frame exchanged between adjacent devices may be a DRCPDU or any other control frame.

[0172] In another aspect, the "priority information" in the technology of the present disclosure is a priority set for each port, and may be an LACP port aggregation priority, or any other information such as an index exclusively assigned to ports of the device itself and adjacent devices.

[0173] 1 and 3 may be realized by a program executed by a CPU (Central Processing Unit). In this case, the communication devices 100 and 400 may include a control unit including a CPU and a memory. The CPU may be configured, for example, by at least one integrated circuit. The integrated circuit may be configured, for example, by at least one CPU, at least one FPGA (Field Programmable Gate Array), or a combination thereof. The memory may be realized by a DRAM (Dynamic Random Access Memory), an SRAM (Static Random Access Memory), or the like.

[0174] In some aspects, some or all of the components described in Figures 1 and 3 may be implemented in hardware. In this case, each component may be implemented by an FPGA, an ASIC (Application Specific Integrated Circuit), or a combination thereof.

[0175] In another aspect, the handshake state storage units 106, 406, 426, the priority information storage units 107, 407, 427, and the transmission target lists 108, 408, 428 may be realized by volatile memory or nonvolatile memory. As an example, the handshake state storage units 106, 406, 426, the priority information storage units 107, 407, 427, and the transmission target lists 108, 408, 428 may be realized by DRAM, SRAM, HDD (Hard Disk Drive), SSD (Solid State Drive), EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), flash memory, or the like. Furthermore, the communication devices 100 and 400 may store the handshake status storage units 106, 406, and 426, the priority information storage units 107, 407, and 427, and the transmission target lists 108, 408, and 428 in a single memory or in separate memories.

[0176] In another aspect, the data stored in the handshake status storage units 106, 406, 426, the priority information storage units 107, 407, 427, and the transmission target lists 108, 408, 428 may be represented as a relational database table or in any other data format such as JSON (JavaScript (registered trademark) Object Notation).

[0177] Furthermore, in other aspects, the disclosure described using the communication device 100 as an example and the disclosure described using the communication system 40 as an example may be used in appropriate combination.

[0178] As described above, the communication device 100 and the communication system 40 according to the present embodiment complete handshake processing in advance using a control frame not only for the port to be transmitted but also for the standby port. By doing so, even if the port to be transmitted fails, the communication device 100 and the communication system 40 can continue to provide services while minimizing degradation in communication quality by including the standby port, which is ready to transmit frames, in the logical link.

[0179] Furthermore, in the communication system 40, the communication devices 400 and 420 exchange port priority information and the latest port information with each other, and thus, even in multi-chassis link aggregation, when the port to be communicated with fails, a standby port that is ready to transmit frames can be included in the logical link, thereby minimizing degradation in communication quality and allowing services to be provided continuously.

[0180] The embodiments disclosed herein are illustrative in all respects and should not be considered limiting. The scope of the present invention is defined by the claims rather than the above-described embodiments, and it is intended to include any modifications within the scope of the claims and meanings equivalent to the claims. [Explanation of symbols]

[0181] 40 Communication Systems 100,400,420 Communication Equipment 101,102,151,401,402,421,451 ports 103,403,423 Load distribution unit 104,404,424 Load balancing control unit 105,405,425 Protocol control section 106,406,426,506 Handshake state memory 107,407,427 Priority information storage unit 108,408,428 Sending List 150,450 Opposite device 300,600,620 Sender load balancer 409,429 MC-LAG control unit 410,430 Neighboring device transmission list 411, 431 Adjacent device port priority information storage section 412,432 forwarding ports 413,433 Ports for transferring control frames 700,800 LAG management tables 701,801 Maximum Transmission Bandwidth 702,802 Total sending bandwidth of target ports 710,810 Local device port table 711,721,811,821 Port Column 712,722,812,822 Transmission Bandwidth Column 713,813 Send / Not Send column 714,723,814,823 Priority information column 715,724,815,824 Column to send 720,820 Neighbor Device Port Table

Claims

1. Multiple ports logically aggregated by link aggregation, a protocol control unit that transmits and receives control frames for the link aggregation to and from an upstream device via the plurality of ports; a load distribution unit that allocates transmission frames to at least some of the plurality of ports; a load balancing control unit that selects, from the plurality of ports, a first group of ports for transmitting frames to the opposite device and a second group of ports for standby use; the protocol control unit completes a handshake process using the control frame with each of the plurality of ports of the opposing device at each of the plurality of ports; After the handshake process is completed, the second group of ports become standby ports that maintain a state in which the handshake process is completed; the load distribution control unit outputs a load distribution instruction to the load distribution unit; the load distribution unit transmits the frame to the opposite device using the port included in the first port group based on the load distribution instruction acquired from the load distribution control unit; when an abnormality occurs in any of the ports included in the first port group, the load distribution control unit selects, based on a handshake state of each of the ports included in the second port group, one of the ports included in the second port group as a port that will transmit a frame to the opposing device; A communication device, wherein the port for transmitting the frame to the opposite device is determined based on a communication band reserved for transferring frames from the own device upstream of the opposite device.

2. a storage unit for storing priority information for each of the plurality of ports; 2. The communication device according to claim 1, wherein when an abnormality occurs in one of the ports included in the first port group, the load balancing control unit selects, based on the priority information, the port determined based on the priority information from among the ports included in the second port group for which handshake processing has been completed, as the port to transmit a frame to the opposing device.

3. connected to adjacent devices via a network, Multiple ports logically aggregated by multi-chassis link aggregation, a port table including a state of each of the ports indicating whether a frame can be transmitted and priority information of each of the ports; At each of the plurality of ports of the own device, a handshake process using a control frame is completed with each of the plurality of ports of an upstream opposing device; exchanging the port tables with the adjacent device; selecting a port for transmitting a frame to the opposite device from among the ports of the own device and the adjacent device based on the port table of the own device and the port table of the adjacent device; a port other than the port for transmitting the frame to the opposite device is set as a standby port for maintaining the completion state of the handshake process; updating the port table of the own device based on a change in the state of the port of the own device, and transmitting the updated port table of the own device to the adjacent device; reselecting the port to transmit the frame based on the update of the port table of the own device or the adjacent device; When an abnormality occurs in any of the ports that transmit frames to the opposite device, select one of the ports included in the standby port as a port that transmits frames to the opposite device based on a handshake state of each of the ports included in the standby port; A communication device, wherein a port for transmitting a frame to the opposite device is determined based on a communication band reserved for transferring frames from the own device and the adjacent device upstream of the opposite device.

4. 4. The communication device of claim 3, wherein when the frame transfer speeds of the multiple ports are different, the own device and the adjacent device, in the process of reselecting the port from which to transmit the frame, select the ports in order of priority so that the total transfer speed of the ports of the own device and the adjacent device is less than or equal to the communication bandwidth reserved for frame transfer from the own device and the adjacent device upstream of the opposite device.

5. A control method in a communication device, comprising: aggregating a plurality of ports logically by link aggregation; transmitting and receiving a control frame of the link aggregation to and from an upstream device via the plurality of ports; selecting, from the plurality of ports, a first group of ports for transmitting frames to the opposite device and a second group of ports for standby use; completing a handshake process using the control frame with each of the plurality of ports of the opposite device, at each of the plurality of ports; After the handshake process is completed, the second group of ports become standby ports that maintain a state in which the handshake process is completed; The control method further comprises: transmitting a frame to the opposite device using the port included in the first port group; when an abnormality occurs in any of the ports included in the first port group, selecting any of the ports included in the second port group as a port for transmitting a frame to the opposite device based on a handshake state of each of the ports included in the second port group; A control method, wherein the port for transmitting the frame to the remote device is determined based on a communication band reserved for transferring frames from the communication device upstream of the remote device.

6. A method for controlling a communication device connected to an adjacent device via a network, comprising: a step of logically aggregating a plurality of ports of the own device and the adjacent device by multi-chassis link aggregation; creating a port table including a status of each of the ports indicating whether a frame can be transmitted and priority information of each of the ports; completing a handshake process using a control frame with each of the plurality of ports of the own device and each of the plurality of ports of an upstream opposing device; exchanging the port tables with the neighboring devices; selecting a port for transmitting a frame to the opposite device from among the ports of the own device and the adjacent device based on the port table of the own device and the port table of the adjacent device; setting a port other than the port for transmitting a frame to the opposite device as a standby port that maintains a completed state of the handshake process; updating the port table of the own device based on a change in the state of the port of the own device, and transmitting the updated port table of the own device to the adjacent device; reselecting the port for transmitting the frame based on the update of the port table of the own device or the neighboring device; when an abnormality occurs in any of the ports that transmit frames to the opposite device, selecting one of the ports included in the standby port as a port that transmits frames to the opposite device based on a handshake state of each of the ports included in the standby port; A control method in which a port for transmitting a frame to the opposite device is determined based on a communication band reserved for transferring frames from the device itself and the adjacent device upstream of the opposite device.

Citation Information

Patent Citations

  • Band controller

    JP2002232427A

  • Communication system, route switchover method and communication device

    JP2014131130A

  • Communication device, communication method, and communication program

    JP2014170985A

  • Communication device and control method of communication device

    JP2020005153A

  • Method and apparatus for providing fast reroute of a unicast packet within a network element to an available port associated with a multi-link trunk

    US20100290469A1