3

What is the difference between balance-rr and 802.3ad with xmit_hash_policy set to layer3+4.

https://www.kernel.org/doc/Documentation/networking/bonding.txt

layer3+4: This algorithm is not fully 802.3ad compliant. A single TCP or UDP conversation containing both fragmented and unfragmented packets will see packets striped across two interfaces. This may result in out of order delivery. Most traffic types will not meet this criteria, as TCP rarely fragments traffic, and most UDP traffic is not involved in extended conversations. Other implementations of 802.3ad may or may not tolerate this noncompliance.

kubanczyk
  • 14,252
FaxMax
  • 175

2 Answers2

5

802.3ad with xmit_hash_policy set to layer3+4 is a bonding mode that is one of the standard, sensible, and widely used ones. Like many others it doesn't allow >100% throughput for a single TCP connection. In practice the fragmented packet disclaimer you quoted is not relevant as far as I've seen.

balance-rr is a very specific and rarely used balancing mode. It's mainly useful for a dedicated backup-restore subnet. When maintained with the joint network and system admin staff, with the switch specifically set up and all the servers/routers specifically set up, with a little bit of testing, you could achieve >100% throughput for a single TCP connection. Don't expect 200% though. (Remember to test both directions, unless you like your restores very slow). If a link gets down, the remaining one(s) will function.

You've already linked to a detailed technical description, so I've figured out you'd like a high-level answer.

kubanczyk
  • 14,252
0

Link aggregation group (LAG) is used not only to increase bandwidth, also it used to link backup. If one link of LAG will down the balance-rr  LAG won't work properly, but the 802.3ad LAG will work good with reduced bandwidth.

The balance-rr  LAG allows to use full LAG's bandwidth for one TCP/UDP connection, but the 802.3ad  LAG allows to use only one link bandwidth for it. The balance-rr  LAG isn't support backup-restore. It perfect works with Cisco Etherchannel LAG. Many Cisco switches support only Etherchannel LAG and don't support 802.3ad LACP.