Hacker News new | ask | show | jobs
by jkarneges 3107 days ago
Wow that multiple TCP connection trick is very interesting. Each additional idle connection would theoretically be capable of firing off a single packet instantly with no congestion control getting in the way. I'm getting flashbacks of services that would allow multiple pending HTTP long-polling requests at once, so the server could push faster than the round trip time.

I wonder what the ideal number of connections would be. It could certainly be 2 of course; I've never thought about this problem before.

1 comments

Valve mentioned that in practice packets are dropped about 5% of the time, so two connections might theoretically reduce that to 5%^2, or 0.25%. Meaning out of every 1,000 seconds of playtime, only 2 seconds would be disrupted rather than 50s.

It seems unlikely to be as clear-cut as this, since two connections from the same host to the same endpoint will probably use the same route to get there. So why would using two connections avoid retransmission? But it's worth checking whether it works.

It can be worse than that since TCP/IP will do exp backoff depending on your packet loss. Which is awesome for file transfers but pretty awful for real-time data.

There's a great article way back about X-Wing vs Tie Fighter and all the pain they went through with TCP/IP[1].

[1] https://www.gamasutra.com/view/feature/131781/the_internet_s...