22 Jan 1986 21:50-EST
In theory, once both hosts have orignated SYN packets, they will treat
these as "occupying address space and therefore require ACKS and must
be retransmitted until ACK received." What this means is that the
host that went into SYN-RECEIVED state, when it gets another SYN,
can respond with the appropriate ACK (namely indicating what sequence
number it is expecting next). This is always a legitimate response.
The SYN that was lost will also have to be retransmitted by the host
that sent it (host B) upon finding by timeout, for instance, that the
original SYN (pun intended) was not acknowledged. I believe it is
correct that this retransmission of the lost SYN/ACK need not be correlated
with ACK responses to SYNs sent from host A. That is, Host B may send
ACKs for the packets it receives from Host A independently of retransmitting
its unacknowledged SYN.
The concept of the retransmitted SYN from HOST A being out of B's received
window sounds wrong-headed. Since ACKS are cumulative (acking all previously
received packets) an ACK from HOST B asserting what it is next expecting,
implicitly ACKs the SYN from A as well.
It has been a while since I looked carefully at the TCP state diagrams,
and I don't have the material at hand, so I may be missing something here,
but that's my recollection.
Perhaps one of the current internet gurus like Jon or Dave M or Dave C
might comment further.
This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:35:39 GMT