Ethernet link bonding overview
In some operational scenarios, it makes sense to group multiple physical links together to create a larger virtual link. Grouping offers a way to increase performance between two devices without having to pay for a higher-speed physical link, and to provide redundancy so that connectivity still exists if a link fails. In a WAN, multilink Point-to-Point Protocol (MLPPP) is used to bundle multiple PPP links; in a LAN, Ethernet link bonding is used to bundle multiple Ethernet links.
Many implementations of Ethernet link bonding are nonstandard. The IEEE 802.3ad specification (now called IEEE 802.1ax) attempts to increase standardization. The IEEE 802.3ad standard has been adopted to varying degrees by all manufacturers. This standard specifies the general properties of the link, and defines the Link Aggregation Control Protocol (LACP).
802.3ad LACP is an active protocol that runs on Ethernet links that are configured for bonding. LACP allows peers to negotiate the automatic bonding of multiple links and helps detect situations in which one side is not configured correctly for link bonding. LACP also actively tests all physical connections between configured devices. Link failures can be detected even if other physical devices are attached to either end (for example, physical media converters) and would otherwise not show a link as down if a fault occurs in the middle of the physical link. If a link fails, traffic is redistributed dynamically to the remaining links.
The 802.3ad standard specifies that all physical links composing the bonded virtual link are full-duplex and point-to-point. Violation of either assumption can cause unexpected behavior in the bonded link.
The 802.3ad standard specifies that all packets belonging to a “conversation” must travel across the same physical link and that no packets may be duplicated. However, the abstraction of a conversation and the algorithm for assigning conversations to each link are incompletely specified. As a result, specific implementations vary, even between the ends of the bonded virtual link. This variance can lead to asymmetric traffic flow.
The number of links that can be bonded is limited by system capacity, especially memory. The Ethernet links in a bonded link need not be all the same speed.
Physical links that are added to a bonded link do not have to be operational when they are added. In the configuration for the bonded link, only the maximum transmission unit (MTU) is inherited from the bundle. That is, if you change the MTU of the bonded link, the MTU of the underlying Ethernet links is overridden. The remaining configuration is always taken from the configuration that is specified for the individual Ethernet link. The exception is that a physical link cannot be assigned an IP address if it is to be added to a bond group.
You can include VLANs within a bonded link; however, bundling multiple VLANs together as a bonded trunk is not supported. Because the purpose of bonding is to improve availability and performance, the bonded link requires actual physical links as a base.
The following actions can cause unexpected behavior and are not supported:
- Deleting a member link from a bonding interface and adding it to a different bonding interface.
- Deleting a member link from a bonding interface and adding it to the same bonding interface.
- Deleting a member link from a bonding interface and using it as an unbonded dataplane interface.
- Deleting all member links from a bonding interface and deleting the bonding interface itself.