Bond is a function that aggregates multiple Enis in the Linux kernel. This function aggregates multiple NICs in linux into one logical Nic in multiple ways to achieve redundancy or load balancing. It works in the following modes:
Bond0: Round Robin. Each interface is used in turn. Vswitch support is required. The switch must be configured as the aggregation port.
Bond1: active/standby. That is, only one interface is in use. When an interface is faulty, switch to another interface.
Bond2: xor. Calculate the port used based on the destination mac address of the data.
Bond3: broadcast. Copy all data in each interface
Bond4: lacp. Applicable to 802.3ad. Similar to bond2
Bond5: Balance outgoing traffic
Bond6: Implements Load Balancing by modifying ARP packets. That is to say, an invalid arp is used to reply to the incoming arp request based on a certain policy.
Summary: we can see that linux bond implements load balancing and redundancy at the Layer 2 link layer (that is, multiple bond interfaces are connected to the same network segment ). In addition, many bond models also require support from vswitches.
This article permanently updates the link address: