[PLUG] Bit-Torrent

Elliott Mitchell ehem at m5p.com
Fri Feb 4 22:29:17 UTC 2005


>From: Galen Seitz <galens at seitzassoc.com>
> I wonder whether this can really be blamed on the DSL hardware.  I think
> poor throughput in the un-traffic-shaped case may be due to high TCP ACK
> latency.  It seems that this would be likely to happen with any TCP
> connection with large buffers and a slow (relative to ethernet) bit
> rate.  In this case, getting the TCP ACK packets sent in a timely manner
> is certainly a software issue.

Possible, and a number of folks have suggested such a thing, but seems
strange to me. Notably TCP doesn't need a low RTT to work, and BitTorrent
doesn't care about latency at all only bandwidth.

The one bit of speculation that seems true is the observation that
because payload packets tend to be large, they crowd out the smaller ACK
packets in buffers. Depending on the buffering algorithm you end up, if
an ACK packet arrives first at your DSL/cable/modem box it gets into the
buffer and there is still room for a large packet so it will take a
payload packet if it arrives, if a payload packet arrives it will fill
the buffer to the point where it cannot accept a full packet so it will
drop anything that comes before it empties. This payload can follow ACK
but ACK cannot follow payload theory, might explain payload going through
and jamming the ACK packets. At least this is one theory I've seen, I'd
love for a network person to chime in and say this is or isn't true.

If the problem really is TCP ACKs, then traffic shaping could be very
effective. You don't so much want to limit upload, as ensure that ACK
packets get higher priority than payload packets. The easy way to
distinguish these would be to take packets smaller than 128 bytes (or so)
and give them higher priority.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \   (    |         EHeM at gremlin.m5p.com PGP 8881EF59         |    )   /
  \_  \   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
    \___\_|_/82 04 A1 3C C7 B1 37 2A*E3 6E 84 DA 97 4C 40 E6\_|_/___/





More information about the PLUG mailing list