Penguin
Annotated edit history of FIN version 3, including all changes. View license author blame.
Rev Author # Line
2 MattBrown 1 __FIN__ - a flag set in a [TCP] packet indicating that one conversant in an current communication has finished sending data.
1 FooBar 2
2 MattBrown 3 An [ACK] flag will (almost) always be piggybacked onto a [TCP] packet with a FIN set. A recipient of a FIN packet MUST acknowledge the receipt of the FIN by ACKing the received packet and incrementing the sequence number by one (~SeqNum+1). Either side of the communicating pair can terminate their end of the communication first. The [TCP] State of the machine SENDING the FIN will change to FIN_WAIT1 once the FIN has been sent. Upon receipt of an [ACK], the [TCP] State of the sending machine will change to FIN_WAIT2 (indicating that the communication is half-closed.) Upon receipt of a final FIN from the other conversant, the state will change to Closing. Finally, once the final FIN has been ACK'd, the state will change to Closed.
4
3 JohnMcPherson 5 ----
6 See also TcpStates, and RFC:0793 - Transmission Control Protocol.