Subject: [tcpm] keepalive probing in FIN_WAIT_2 state

From: Mahesh M <[email-masked]>
Date: Tue, 27 Jan 2009 14:27:17 +0530

Hi,

For keep alive probing last sequence will be retransmitted with len <= 1. In FIN_WAIT_2 state, if we want to do keep alive probe, the last sequence number is FIN sequence. In this kind of situation how should the receiver interpret the packet, should it be treated as FIN retransmission or as keep alive probe. Even though both the events results in ACK packet with latest ACK number, it makes difference in the spliced connections. One of the spliced connections can be reused and FIN from one side is not mapped to the other side.
I would like to know if there is a way to distinguish between FIN retransmission and keep alive probe during CLOSE_WAIT state.

Regards,
Mahesh

_______________________________________________
tcpm mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/tcpm

---

From: David Borman <[email-masked]>
Date: Tue, 27 Jan 2009 09:51:48 -0600

Mahesh,

Keep-alives are not part of the TCP protocol.  A keep-alive packet is  
a hand-crafted TCP packet, designed to guarantee an ACK response from  
the other side.  So, if a retransmitted FIN and a keep-alive probe  
while in CLOSE-WAIT look identical, in the absence of any other  
information I would say treat it as a retransmitted FIN.

Alternatively, if I am the receiver side and am continuing to send new  
data after I received the FIN, then since that data will contain a  
cumulative ACK including the FIN, if I receive an ACK for the new  
data, I will know that the other side has received my ACK for his FIN,  
and any additional FINs that I receive would probably be keep-alive  
probes.  But if I haven't sent any data packets with a cumulative ACK  
that includes the FIN, then I can't be sure and should treat it as a  
retransmitted FIN.

			-David Borman

On Jan 27, 2009, at 2:57 AM, Mahesh M wrote:

> Hi,
>
> For keep alive probing last sequence will be retransmitted with len  
> <= 1. In FIN_WAIT_2 state, if we want to do keep alive probe, the  
> last sequence number is FIN sequence. In this kind of situation how  
> should the receiver interpret the packet, should it be treated as  
> FIN retransmission or as keep alive probe. Even though both the  
> events results in ACK packet with latest ACK number, it makes  
> difference in the spliced connections. One of the spliced  
> connections can be reused and FIN from one side is not mapped to the  
> other side.
> I would like to know if there is a way to distinguish between FIN  
> retransmission and keep alive probe during CLOSE_WAIT state.
>
> Regards,
> Mahesh
>