The Linux channel bonding concept
The most important requirements of networking are availability and bandwidth. The modern Linux® distributions allow administrators to combine multiple network interfaces together into a single logical interface called a channel bonding interface. The network interfaces that are aggregated together are called slave devices, and the bonded logical interface is called the master device. Using channel bonding, the multiple slave devices act as if there is only one master device that is working with more bandwidth and network redundancy.
The Linux bonding driver is integrated as a loadable kernel module with the latest distributions, and usually it is loaded automatically when the Linux system is booting. The bonding devices are configured by means of module options, in the way that the driver determines how the bonding devices behave. The bonding driver periodically monitors the connectivities of the devices. If link failures are detected, the bonding interface will automatically handle the situation with the other slave devices. This avoids interfering with the whole network availability.
The bonding policy of a single bonding device is specified by the driver mode. The Linux bonding driver provides several modes to support different policies of load balancing and fault toleration. In this paper, setup examples only cover active-backup mode (mode 1) and 802.3ad mode (mode 4). For more details about the driver modes and the other bonding options, refer to Linux Ethernet Bonding Driver HOWTO
(https://www.kernel.org/doc/Documentation/networking/bonding.txt).