Re: Connection Establishment

Bob Braden <braden@ISI.EDU> Wed, 06 February 2002 16:51 UTC

From: Bob Braden <braden@ISI.EDU>
Date: Wed, 6 Feb 2002 16:51:18 GMT
Message-Id: <200202061651.QAA20772@gra.isi.edu>
To: tcp-impl@grc.nasa.gov, S.Zimmermann@tu-harburg.de
Subject: Re: Connection Establishment
X-Sun-Charset: US-ASCII
Sender: owner-tcp-impl@grc.nasa.gov
Precedence: bulk
Status: RO
Content-Length: 1131
Lines: 36

  *> Hello,
  *> 
  *> I would like to ask for some help with correct connection establishment:
  *> 
  *> 1st case: the client does the active open, server sends data (payload)
  *> 
  *>     - client sends SYN
  *>     - server sends SYN-ACK
  *>     - client sends ACK
  *>     - server sends data
  *> 
  *> I assume, that this is correct. But what happens in the
  *> 
  *> 2nd case: the server does the active open and sends data
  *> 
  *>     - server sends SYN
  *>     - client sends SYN+ACK
  *>     - server sends ACK
  *> 
  *> And now the question:
  *> 
  *>     May the server send the data already with the final ACK of the 
  *> connection establishment (piggyback), or must it send two packets (ACK 
  *> and data), or must it wait for the clients ACK of the ACK (and then send 
  *> data)?
  *> 
  *> Thanks for your help
  *> 
  *>    Sebastian
  *> 

Without even reading your question, I can tell you that anything
in the TCP state diagram that is not forbidden is allowed, and
packetization may be done in any way the implementor desires.
(But of course some strategies work better than others.)

Bob Braden