| Linux Advanced Routing & Traffic Control HOWTO | ||
|---|---|---|
| Prev | Chapter 10. Load sharing over multiple interfaces | Next |
Nothing is as easy as it seems. eth1 and eth2 on both router A and B need to have return path filtering turned off, because they will otherwise drop packets destined for ip addresses other than their own: .:: netbr35m.bcz.com ::. [Debug SOAP] .:: sp.ucn.edu.co ::. .:: postr.blog ::. .:: google-index-site-speedyindex.vercel.app ::.
# echo 0 > /proc/net/ipv4/conf/eth1/rp_filter # echo 0 > /proc/net/ipv4/conf/eth2/rp_filter |
Then there is the nasty problem of packet reordering. Let's say 6 packets need to be sent from A to B - eth1 might get 1, 3 and 5. eth2 would then do 2, 4 and 6. In an ideal world, router B would receive this in order, 1, 2, 3, 4, 5, 6. But the possibility is very real that the kernel gets it like this: 2, 1, 4, 3, 6, 5. The problem is that this confuses TCP/IP. While not a problem for links carrying many different TCP/IP sessions, you won't be able to to a bundle multiple links and get to ftp a single file lots faster, except when your receiving or sending OS is Linux, which is not easily shaken by some simple reordering. [Symfony Community] .:: ml007.k12.sd.us ::.
However, for lots of applications, link load balancing is a great idea. .:: telegra.ph ::.