[e2e] TCP implementations in various OS's

Detlef Bosau detlef.bosau at web.de
Wed May 12 13:29:42 PDT 2010

sthaug at nethelp.no wrote:
>> To do this with normal TCP, you need to know the reason for the 35 ms RTT.
> Please assume that I am aware of this. The 35 ms I am talking about is
> mostly due to speed of light in optical fiber. 35 ms RTT corresponds 
> to a fiber path length of 3000+ km, and a few ms of forwarding delay,
> which is perfectly reasonable in my country (Norway).


Another consideration is the number of flows. Are those long distance 
fibers common for backbone connections or for connections with only some 
few flows?

>> That's what my criticism is all about. In order to achieve reasonable 
>> fairness, either _all_ competing users use window scaling - or none.
> Here again we have different goals. For my *core* network links, one
> of my primary goals is to ensure sufficient capacity. In a normal
> situation there is *no* congestion (throw bandwidth at the problem) -
> and as far as I can see fairness doesn't enter the picture at all.

I don't see a conflict here. However, when we enable window scaling for 
_all_ competing flows, there may a moderate level of congestion here, 
because the flows' windows must achieve an equilibrium somehow.

> For my *customer* network links, the customer is paying for a certain
> capacity. How the customer shares the capacity between different flows
> is none of my business. Fairness is none of my concerns here either.

And it's not your business whether or not the customer utilizes or 
underutilizes the line, I see.

> However, I *do* care about the customer having the possibility of using
> the capacity he's paying for - and that means the customer needs to be
> told about window scaling if expects decent TCP throughput on high RTT
> paths.
I admit that I missed the situation of long distance _customer_ lines. 
That's an actual shortcoming in my rationale.

However, can we agree that a good measure to prevent misbehaviour (which 
_can_ result from a single flow using window scaling while the 
competitors don't) is to enable window scaling actually on _all_ flows 
or on _no_ flows? Although this might lead to some moderate level of 
congestions even in lines with comparably moderate load?

Detlef Bosau            Galileistraße 30        70565 Stuttgart
phone: +49 711 5208031  mobile: +49 172 6819937 skype: detlef.bosau     
ICQ: 566129673          detlef.bosau at web.de     http://www.detlef-bosau.de                      

More information about the end2end-interest mailing list