TCP四次分手过程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP四次分手过程相关的知识,希望对你有一定的参考价值。
- A发送FIN包(FIN = 1,seq = u = 上次传输的最大的字节序号+1,进入FIN-WAIT-1状态)
- B收到FIN包,回复ACK包(ACK = 1,ack = u + 1,进入CLOSE-WAIT状态)
- A收到ACK包,进入FIN-WAIT-2状态
此时TCP连接处于半关闭状态,B若还有数据发给A,A仍可接收.
- 若B没有数据要发给A,发送FIN包(FIN = 1,seq = v = 上次传输的最大的字节序号+1,进入LAST-ACK状态)
- A发送ACK包(ACK = 1,ack = v + 1,进入TIME-WAIT状态)
- B收到ACK包后关闭连接
- A等待两个最长报文段寿命时间后,关闭
发现:A先提出的关闭,但是最终B先关闭的.第三次握手后,A没直接关闭,而是等待两个最长报文段寿命才关闭,原因如下:(1)如果第三次握手发送的ACK包失效,B无法关闭.(2)两个最长报文段寿命内,能使当前即将关闭的连接运输的报文段全部从网络中消失,不会造成本次的报文段出现在A的下一次连接中.
以上是关于TCP四次分手过程的主要内容,如果未能解决你的问题,请参考以下文章