Jeff> How well does the Nagle Algorithm hold up over links that
Jeff> drop a lot of packets?
The nagle algorihm just tries to avoid you to send many small packets
so it will help you on congestioned links since it will reduce the
header overhead for the data you need to send.
Jeff> About five hops upstream, router was dropping 30% of
Jeff> packets. I use IP masquerading with Nagle enabled. As I
Jeff> understand it, the algorithm only lets one tiny-fragment out
Jeff> until it is ACKed and collects other tiny-fragments until
Jeff> then, sending it out as a nice size one.
Yes. Only one small datagram in flight...
Jeff> What if that first small packet is one that is dropped? Am
Jeff> I then in limbo until one of the sides figures it out?
Actually, acording to the specs if further data is pushed it can be sent
(assuming the window allows it, which it does usually).
Jeff> Is there anyway to disable Nagle for a short period of time,
Jeff> or is it a compile and live with it option?
compile and live with it.
Jeff> Or a way to set
Jeff> TCP_NODELAY on certain sockets? I'm just throwing out terms
Jeff> I don't understand. :-)
sure. TCP_NODELAY can be set per socket.
Jeff> It seems when I've come across problem links like this
Jeff> before (before linux), I would keep on typing in my telnet
Jeff> session, and it would sort of jump start the socket, except
Jeff> it can not happen because the algorithm is storing my
Jeff> packets.
That reminds me i have a
/* FIXME: if we are nagling we should send the packet */
to look at...
regards,
./Pedro.