[e2e] Data + FIN
John Border
border at hns.com
Tue Jan 23 11:34:31 PST 2001
Is it common practice for a TCP stack to send a FIN with the last segment of
data if the opportunity presents itself? We ran into the following
scenario...
SYN ------------->
<------------- SYN+ACK
ACK ------------->
X<----- DATA
<------------- FIN
ACK -------------> [Doesn't ACK the FIN]
Retransmission Timeout
<------------- DATA+FIN
We had not seen this before and were wondering if this is typical.
This uncovered a bug (easily fixed) in our code because we queued the first
FIN and ended up processing two FINs. (Since the FIN is included in the
sequence number space, there are some here who think adding the FIN to the
DATA segment is illegal because it makes the retransmitted segment bigger than
the original. I did a quick perusal of a few RFCs (but definitely not all of
the relevant RFCs) and didn't find anything which makes me think it is
illegal. Illegal or not, since it is happening in the real world, we need to
handle it.)
John
More information about the end2end-interest
mailing list