[p2p-hackers] UDP file transfer link speed identification

Daniel Stutzbach agthorr at cs.uoregon.edu
Thu Jul 21 21:59:20 UTC 2005


On Thu, Jul 21, 2005 at 01:49:01PM -0700, David Barrett wrote:
> However, I'm finding this surprisingly tricky.  Either I ramp up too 
> slow, or I ramp up and down erratically.  I've considered some FSM 
> approaches, and some formulaic approaches, and I still haven't come up 
> with something I like.  I've read the TCP RFC for guidance, but it 
> leaves the specifics left as an exercise to the reader.  Other than 
> that, I'm not sure where else to read for inspiration.

TCP ramps up and down erratically.  To a certain extent that's OK.

Make sure to read *all* the TCP RFCs; there are several of them.  I
recommend reading in the following order:

Van Jacobson, "Congestion Avoid and Control", SIGCOMM 1988.
http://www-nrg.ee.lbl.gov/papers/congavoid.pdf

RFC 2581

RFC 3782

RFC 3517

There's a standard experiment to test whether your implementation is
"TCP-friendly" (i.e., that it won't starve TCP, nor will it be starved
by TCP).

Setup a network configuration like this:


           host  ------ router ------------ router ----------- host

Where the link between the two routers is the bottleneck link, and the
host connections are much faster.

Then, start up a large TCP flow between the two hosts (transfer a
gigabyte file, for instance with HTTP/FTP), and start up a flow using
your protocol.

Plot the bandwidth each flowing is using as a function of time.  They
should stabilize so that both flows get around half the bottleneck
bandwidth.

-- 
Daniel Stutzbach                           Computer Science Ph.D Student
http://www.barsoom.org/~agthorr                     University of Oregon



More information about the P2p-hackers mailing list