NOTE

1.2 TCP四次挥手

1. 什么是四次挥手 所谓四次挥手,是指TCP断开连接时需要发送四个包 2. 四次挥手过程 最开始客户端服务端都处于ESTABLISHED的状态,假设由客户端开始关闭连接 记忆思路:置FIN/ACK为1,FIN伴随着SEQ Number,ACK伴随着ACK Number。发送完会进入什么状态 1.

计算机网络创建于 更新于 historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 什么是四次挥手

所谓四次挥手,是指TCP断开连接时需要发送四个包

2. 四次挥手过程

TCP-四次挥手

最开始客户端服务端都处于ESTABLISHED的状态,假设由客户端开始关闭连接

记忆思路:置FIN/ACK为1,FIN伴随着SEQ Number,ACK伴随着ACK Number。发送完会进入什么状态

  1. 第一次挥手

由客户端发送一个报文段 置FIN位为1,SEQ Numer为X

发送完毕后,客户端进入 FIN_WAIT_1 状态。

  1. 第二次挥手

由服务端回复一个报文段 置ACK位为1, ACK Sumber=x+1

服务器发送完毕后进入 CLOSE_WAIT 状态 客户端接收到这个确认包之后进入 FIN_WAIT_2 状态

  1. 第三次挥手

由服务器发送一个报文段 置FIN位为1,SEQ Numer为Y

发送完毕后,服务器端进入 LAST_ACK 状态

  1. 第四次挥手

由客户端回复一个报文段 置ACK位为1, ACK Sumber=Y+1

客户端发送完毕后进入 TIME_WAIT状态,等待可能出现的要求重传的 ACK 包 服务器端接收到这个确认包之后进入 CLOSED 状态。 客户端等待了某个固定时间(2MSL)之后,进入 CLOSED 状态。

3. 为什么挥手需要四次

前两次是断开客户端发送数据的通道,断开后服务器还可以往客户端发送消息 后两次才是断开服务器发送数据的通道

4. 挥手状态

4.1. TIME WAIT

TCP time wait.md(关联笔记尚未公开)

4.2. CLOSE WAIT

TCP close wait.md

5. 参考