On Fri, 17 Dec 2004, Iljitsch van Beijnum wrote:
As for TCP, it would be very useful if someone were to run the following experiment: +-------+ |router2| +-------+ / \ +------+ +-------+ +-------+ +------+ |host a+---+router1| |router4+---+host b| +------+ +-------+ +-------+ +------+ \ / +-------+ |router3| +-------+
(Assuming the links to the hosts are (for instance) gigabit and the ones between the routers fast ethernet. If they're all the same speed you're only going to see out of order packets when the later packet is smaller than the earlier packet, which is inconsistent with a TCP session running at full blast.)
Now, let's say that your path through router 2 is several hundred, or maybe a few thousand, miles longer than your path through router 3. You are, after all, arguing that the paths are different enough that the packets are going to end up at different anycast hosts, which is generally equivalent to going into another network via a different exchange point. Have you just come up with a way to overcome the speed of light, or are you arguing that doing per packet load balancing over paths with differences in latency of tens or hundreds of milliseconds wouldn't result in out of order packets? -Steve