From van@lbl-csam.arpa  Sat Dec  5 21:57:30 1987
Posted-Date: Sat, 05 Dec 87 21:59:12 PST
Received-Date: Sat, 5 Dec 87 21:57:30 PST
Received: from LBL-CSAM.ARPA by venera.isi.edu (5.54/5.51)
        id AA28544; Sat, 5 Dec 87 21:57:30 PST
Received: by lbl-csam.arpa (5.58/1.18)
        id AA10961; Sat, 5 Dec 87 21:59:14 PST
Message-Id: <8712060559.AA10961@lbl-csam.arpa>
To: braden@venera.isi.edu
Cc: end2end-interest@venera.isi.edu
Subject: Re: TCP Wide Windows 
In-Reply-To: Your message of Tue, 24 Nov 87 09:25:06 PST.
Date: Sat, 05 Dec 87 21:59:12 PST
From: Van Jacobson <van@lbl-csam.arpa>

> Exactly what is the status of the effort to define a new TCP option to
> multiply the window size by a power to 2?

Still on my todo list.  I'll send a proposal to the task force
tonight.

> Have you any reason to recant your claim sometime ago that TCP could
> out-perform NETBLT in all cases?

Surely I never made such a claim.  I think we can make a tcp that
will perform as well as or better than the current (non-adaptive)
netblt over a wide range of media (say, up to bandwidth-delay
products of a megabyte -- if the error rate is low enough).

But netblt does too many things right for a tcp to beat it for
long.  Its buffering and acknowledgement mechanisms are much
better than tcp's.  And I think rate-based flow control is the
good way to do bulk data transfer, as soon as we learn how to
make it adaptive and tolerant of congestion. 

I still think adaptive rate control is a hard problem.  I can
see ways for netblt to reliably learn the bandwidth-delay of its
channel, if the channel doesn't change quickly.  But I don't see
how it scales up to Internet dimensions:  What do the controls look
like for three netblts running simultaneously?  What happens when
you include topological effects (say three netblts at each of
1, 2 & 3 hops from a common destination)?

Since tcp controls via amplitude modulation, most of the network
interactions show up as frequency modulation of the acks.  In a
control based on frequency modulation, more of the interactions
would show up as phase modulation.  E.g., say those 9
simultaneous netblts have learned about each other and the
available bandwidth.  The gateway can still see a queue of 0
packets if the netblts are phased 40 degrees apart and 8 packets
if they are 0 degrees apart.  So even when computer manufacturers
start giving us decent clocks (something that hasn't shown up in
the current or next generation of workstations), we're faced with
the problem that phase is harder than frequency to recover from a
noisy signal and is harder to control. 

But, back to the original question: if I ever made such a claim I
recant it.  While netblt is still developing, I think we can do
as well with tcp over fat, benign channels (but to handle even
the 1% error rate Karen said to expect of the Wideband, I'll have
to put in some kind of rate control or our tcp will blow 70% of
the channel bandwidth slow-starting) and tcp can probably do
better over skinny, grotesque channels (like the Arpanet).  But
I wouldn't bet my money on tcp in the long run.

 - Van
