What ever happened with this? "eXperimental bandwidthdelayproduct code"

Terry Lambert tlambert2 at mindspring.com
Thu Jul 10 02:54:22 PDT 2003


Dan Nelson wrote:
> In the last episode (Jul 09), Max Clark said:
> > > 6000000/8*.220 = 165Kbytes or 1.32Mbit/s
> >
> > I understand the BDP concept and the calculation to then generate the
> > tcp window sizes. What I don't understand is this...
> >
> > How in the world is a windows 2000 box running commercial software
> > able to push this link to 625KByte/s (5Mbit/s)????
> 
> Perhaps it defaults to a larger window size?  You can easily verify
> this with tcpdump or ethereal.

It's a guarantee that they default to a smaller default MSL
than the standard permits.  It's smaller by a factor of 10;
to get the same effect in FreeBSD:

	sysctl net.inet.tcp.msl=3000

I *do not* recommend mucking with this timer in order to
reduce latency; there are a number of nasty session restart
and other attacks you can do using this and taking advantage
of intimate knowledge of the TCP state machine implementation
of state transitions, and it's easier to DOS attack your
machine because it's a 10 times shorter trip to run you up
past your tolerable latency.  I would much more recommend the
approaches referenced by my other posting, and listed in the
recent FreeBSD-performance mailing list discussion.

Note that one of the things Microsoft is specifically required
to do when running certain benchmarks is set their registry
values to push the MSL back to the standards mandated value.

-- Terry


More information about the freebsd-hackers mailing list