[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ih] When was Go Back N adopted by TCP

Hi Detlef:

I don't keep the 4.3bsd code around anymore, but here's my recollection
of what the code did.

4.3BSD had one round-trip timeout (RTO) counter per TCP connection.

On round-trip timeout, send 1MSS of data starting at the lowest outstanding
sequence number.  Set the RTO counter to the next increment.

Once an ack is received, update the sequence numbers and begin slow start

What I don't remember is whether 4.3bsd kept track of multiple outstanding
losses and fixed all of them before slow start or not.  Others probably
remember (and may also have corrections to the above).



> Am 18.05.2014 16:03, schrieb Craig Partridge:
> >
> > TCP Tahoe was released in June 1988 and added the initial Van Jacobson
> > versions of slow start and the like.  So, in short, TCP Tahoe was never bas
> ed
> > on go back n.
> And that's what confuses me. Particularly as I thought for years, TCP
> would use GBN as "default procedure" when a timeout occurs,
> obviously I was wrong.
> I had a closer look at the ns2 sources today (I don't work with the ns2
> for about 5 years now, so I'm admittedly a bit out of practice) but as
> far as I see, the ns-2 uses GBN.
> So, we have (for the n-th time) the question: What is simulated at all
> in the ns-2?
> Unfortunately, I don't have the BSD 4.3 source code handy, when I can
> obtain it somewhere (under non disclosure agreement, if necessary) I
> would be interested in looking it up in the source code there.
> However, I'm more than confused that obviously the two dozens of
> industrial TCP flavours and the simulations in the ns-2 world simply
> talk at cross purposes for about two decades.
> Perhaps, we should correct our regulations that way, that PhD students
> are awarded a PhD in computer science - when they work with TCP, or
> a PhD in Cartoons und Urban Legends, when they work with the NS-2.
> (Yes, this sounds harsh. It doesn't only sound harsh. It IS harsh.)
> Computer scientists are engineers in the first.
> And for engineers, the only important thing are (and we keep it that way
> since the time of the Codex Hammurabi) proper standards and proper
> definitions. And I'm still to dig deeper into the NS2 code, because I
> simply cannot believe that TCP basically is not based on GBN
> - and AT THE SAME TIME the ns2 is.
> Unforatunately, I don't have a running ns2 version at the moment, this
> is my fault and I still think I have to spend some nights of work to
> keep up here.
> But at the moment, this possible divergence leaves me shocked. And
> that's decently spoken. But most likely, it is my own fault. And that
> leaves my angry about myself. If this is due to my negligence, this
> would be embarrassing for me :-(
> Detlef
> -- 
> ------------------------------------------------------------------
> Detlef Bosau
> Galileistra?e 30   
> 70565 Stuttgart                            Tel.:   +49 711 5208031
>                                            mobile: +49 172 6819937
>                                            skype:     detlef.bosau
>                                            ICQ:          566129673
> detlef.bosau at web.de                     http://www.detlef-bosau.de
Craig Partridge
Chief Scientist, BBN Technologies
E-mail: craig at aland.bbn.com or craig at bbn.com
Phone: +1 517 324 3425