In this post, we will look at the differences between teaming and bonding implementation in Linux.
Teaming driver is introduced with RHEL 7 and is considered before bonding.
Let us have a look how it overcomes bonding.
Bonding:- Bonding refers to create a bond or aggregation of two or more links into one in order to provide failover and redundancy to the network.
Teaming:- Is a new way implementation of bonding and provides a separate driver. We have both drivers available as of now, and can implement either of them as per requirement.
Advantages of Teaming
1. Support for IPv6 (NA/NS) link monitoring
2. Teaming has a small kernel module which provides the same implementation with more features.
3. Less performance overhead
4. By default, Teamed interface is capable of working with D-Bus and Unix Domain Sockets.
5. Full userspace runtime control
6. Modular design allows function extensible option in future
7. Load balancing feature added for LACP support
8. Use of NetworkManager(nmcli) to manage our network connections
Teaming provides more features and a way towards automation as network manager can handle the interfaces with modular design and hence considered a modern way of handing the interfaces.
The official documentation of Teaming and bonding comparison can be found here: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-comparison_of_network_teaming_to_bonding