Sometimes, when you surf the web, access to a website gets
"stuck". I believe that this is due to lost TCP SYN or SYN/ACK packets,
which are normally retransmitted only after expiry of a conservatively set (typically
3 second) timer. Indeed, this problem sometimes happens, as Benjamin Kaser found
and documented in his first bachelor thesis (German) ![]()
You could improve your web surfing experience by configuring
your TCP/IP stack, or, if you want a general (not-necessarily per-host) solution,
by transparently retransmitting the SYN (client side) or SYN/ACK (server side)
packet. A software for doing this was developed by Benjamin Kaser for his second
bachelor thesis (German)
If the SYN/ACK packet was lost, a server side installation will help, and a
client side installation will help in any case.
The tool is called syn_optimizer (can be used on both sides,
depending on command line arguments), and is available right here: ![]()
The syn_optimizer must run as a root process in Linux, and requires libpcap developer edition (version >= 0.97) and tcpreplay version >= 3.2.3.
Note: while this was developed for better web surfing, it actually has nothing to do with the web and (automatically) applies to any TCP based application (e.g. FTP). Have fun!
Update: measurement results and the tool are now also documented in:
Dragana Damjanovic, Philipp Gschwandtner, Michael Welzl: "Why is this
Web Page coming up so slow? Investigating the Loss of SYN Packets", IFIP/TC6
NETWORKING 2009, 11-15 May 2009, Aachen, Germany.