Experimental Study on the Performance of Linux Ethernet Bonding
Linux bonding is a feature allowing to group multiple physical network interfaces into a logical one on Linux machines. Known as a low-cost method to improve fault tolerance and network throughput, the Linux bonding with seven supported modes is increasingly deployed in various scenarios such as datacenters, home networks, etc. However, the strengths and weaknesses of different modes have not been well investigated. While previous works mostly pay attention on the performance of the popular round-robin mode, this work extensively and additionally evaluates other modes based on three major criteria: throughput improvement, load balancing, and fault tolerance. To the best of our knowledge, this is the first work investigating the capabilities of fault tolerance using Linux bonding. The evaluation results show that the active-backup mode achieves the flow switch-over time, which is the duration of traffic flow discontinuation due to a network failure, as small as 10 milliseconds. Moreover, in the round-robin mode with two bonded network interfaces, Linux machines can achieve the maximum throughput close to double of that in case of non-bonding. However, the out-of-order and switch compatibility issues may limit the utilisation of the round-robin mode in certain scenarios. In the 802.3ad mode, the out-of-order issue can be avoided, although load balancing is not always optimal.
KeywordsLinux bonding Link aggregation Fault tolerance Switch-over Throughput improvement Load balancing
Unable to display preview. Download preview PDF.
- 2.Ford, A., Raiciu, C., Handley, M., Bonaventure, O., et al.: TCP Extensions for Multipath Operation with Multiple Addresses. RFC6824 (IETF) (2013)Google Scholar
- 3.Barré, S., Paasch, C., Bonaventure, O.: MultiPath TCP: From Theory to Practice. In: IFIP Networking, Valencia (May 2011)Google Scholar
- 5.Cisco EtherChannel - White Paper (accessed January 18, 2014), http://www.cisco.com/en/US/tech/tk389/tk213/tech_white_papers_list.html.
- 6.IEEE Std 802.3ad-2000 (2000)Google Scholar
- 7.Davis T., et al.: Linux Ethernet Bonding Driver HOWTO (2011), http://www.kernel.org/doc/Documentation/networking/bonding.txt
- 8.Yu, Y., Pan, J., Lu, M., Cai, L., Hoffman, D.: Evaluating no-new-wires home networks. In: 33rd IEEE Conference on Local Computer Networks, pp. 869–875. IEEE (2008)Google Scholar
- 9.Cope, J., Oberg, M., Tufo, H.M., Woitaszek, M.: Shared parallel filesystems in heterogeneous Linux multi-cluster environments. In: Proceedings of the 6th International Conference on Linux Clusters (2005)Google Scholar
- 11.Zhai, E., Cummings, G.D., Dong, Y.: Live migration with pass-through device for Linux VM. In: Proceedings of the 2008 Ottawa Linux Symposium, pp. 261–268 (2008)Google Scholar
- 12.Aust, S., Kim, J.-O., Davis, P., Yamaguchi, A., Obana, S.: Evaluation of Linux Bonding Features. In: Proceedings of IEEE International Conference on Communication Technology, pp. 1–6 (2006)Google Scholar
- 13.Jayasuriya, A., Aust, S., Davis, P., Yamaguchi, A., Obana, S.: Aggregation of Wi-Fi links: When does it work? In: Proceedings of IEEE 15th International Conference on Networks, pp. 318–323 (2007)Google Scholar
- 14.Iperf: The TCP/UDP bandwidth measurement tool (2014)Google Scholar
- 15.Wireshark - a network protocol analyzer (2014)Google Scholar