[MUD-Dev] TCP Vegas
Bruce Mitchener
bruce at puremagic.com
Mon Oct 15 19:33:28 CEST 2001
Eli Stevens wrote:
> Is this something that could be switched out at the application
> level (presumably by a different set of libraries)? Or is this
> something closer to the OS / network driver level?
> If it is just the libraries one uses, does anyone have any
> pointers to free libraries that implement it (Linux in particular
> ;)?
This sort of thing isn't something that is visible in user space in
Linux. You can implement a TCP-like protocol on UDP of course, or
whatever your needs may be. Something that I don't think has
recently been mentioned on MUD-Dev is PGM, which has an open source
implementation around somewhere (called OpenPGM I think).
There was some work done up until sometime in 1999 on a Vegas patch
for the 2.2 and 2.3 kernels which seems to have died. A quick peek
at the 2.4.5 kernel source didn't show any signs that the patch had
been incorporated. And it looks like in general, the Vegas work
wasn't looked upon favorably by the IETF from random comments that
I'd seen around on the net in some quick google searches. (Which is
not to say that the ideas from the Vegas work wouldn't be useful in
a different/custom protocol in a stolen/borrowed form as Daniel
Harman said.)
Another interesting bit of work is "Almost TCP over UDP":
http://www.epm.ornl.gov/~dunigan/netperf/atou.html
-- begin quote --
As part of our efforts in improving bulk transfers over high
speed, high latency networks, we have developed an instrumented
and tunable version of TCP that runs over UDP. The UDP TCP-like
transport serves as a test-harness for experimenting with
TCP-like controls at the application level similar to TReno.
The implementation provides optional event logs and packet
traces and can provide feedback to the application to tune the
transport protocol, much in the spirit of Web100 but without the
attendant kernel modifications. Part of the motivation for
developing such a test harness arose from bugs in the AIX TCP
stack.
The experimental UDP protocol includes segment numbers, time
stamps, selective ACKs, optional delayed ACKs, sliding window,
timeout-retransmissions with rate-based restart, bigger initial
window, bigger MSS, burst avoidance, congestion avoidance (but
more aggressive, experimenting with initial window size and AIMD
parameters). The test harness consists of a configurable client
(transmitter) and an ACK-server (receiver). The transmitter
supports Reno, NewReno, and SACK/FACK. (For a quick review of
TCP, visit our bulk transfer page.
--- end quote ---
Near the end of that page, they mention that:
"We are working on a Vegas-version, though Vegas doesn't compete
well with standard congestion algorithms on the same link."
> More info! More info! :)
Hope that helped and provided some useful info. But there's a lot
of useful and informative research in this field from several
directions and sources. Some searching on google or citeseer ought
to turn up plenty of things.
- Bruce
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list