The connectivity is based on a mechanism for achieving higher bandwidth on the connection, as close as possible to the multiplication of the port's bandwidth, along with redundancy between the ports. In this chapter, the mechanism is referred to as bonding (the term typically used in Linux/Unix platforms).
Other terms for the same mechanism exist.
Bonding is a mechanism that groups interfaces in layer 2 (on the Ethernet layer), while the whole group gets a single IP address. This mechanism can work in several common ways, including the following:
The first two methods are topologies that are switchless, which means that the switch does not have to support any specific standard. In the last method, the switches in the topology must support the 802.3ad standard, or in some cases the Cisco Etherchannel implementation.
In redundant mode, one of the adapters is active and one is passive. When the active adapter fails, the passive takes its place.
In transmit mode, the server adapter usually works in the following way:
This standard does not mandate any particular distribution algorithm. However, no distribution algorithm shall cause the following:
The standard suggests, but does not mandate, that the algorithm can assign one or more conversations to the same port. However, it must not allocate some of the frames of a given conversation to one port and the remainder to different ports. The information used to assign conversations to ports can include any combination of the following:
The policy that determines how the bond distributes the frame across the ports is referred to as hash algorithm or hash policy. The hash policy specifies which parameters are used to decide how frames are distributed. For example, when a server exchanges information with several hosts on the same subnet, configuring a source/destination MAC hash usually gives a reasonable load distribution. On the other hand, load balancing is used over a router, a layer-3 hash does not help, because the server sees only one IP address (that of the router), and therefore all traffic is sent over the same interface. In this case, layer-4 hash must be used.