TCP FIN & RST –
TCP FIN and RST are 2 ways in which TCP connection may be terminated. While TCP FIN is a pretty softer and graceful way of terminating the TCP connection, TCP RST is pretty straightforward and tends to immediately terminate the connection (TCP RST being less chatty than TCP FIN packet)
Related >> TCP/IP Port Numbers
After establishing TCP 3-way handshake and successful data transfer, A FIN packet is usually sent from server or client to terminate a connection.
An RST packet is sent either in the middle of the 3-way handshake when the server rejects the connection or is unavailable OR in the middle of data transfer when either the server or client rejects further communication bypassing the formal 4-way TCP connection termination process.
Below table articulates the difference between both FIN and RST packet types as part of the TCP connection termination process –
FIN Packet vs RST Packet Comparison –
|PARAMETER||FIN PACKET||RST PACKET
|Connection Termination Type||Graceful connection termination||Immediate connection termination
|Confirmation||In case of FIN hosts get a confirmation.||RST causes immediate connection termination without any confirmation
|Condition For Sending ||Fin is sent when the application tells TCP that it wants to close so TCP does 4 way handshake and closes the connection gracefully||1. Connection to a non-existent port
2. Server/Host is busy
Download the difference table here.
For more information of TCP FIN & RST Flags watch this video –