TCP的断开 --四次挥手
第一次挥手:客户端向服务器端发送断开 TCP 连接请求的FIN=1报文,在报文中随机生成一个序列号 SEQ=x,表示要断开 TCP 连接。
第二次挥手:当服务器端收到客户端发来的断开 TCP 连接的请求后,回复发送标志位ACK=1报文,表示已经收到断开请求。回复时,随机生成一个序列号 SEQ=y。由于回复的是客户端发来的请求,所以在客户端请求序列号 SEQ=x的基础上加 1,得到确认序列号ACK=x+1。
第三次挥手:服务器端在回复完客户端的 TCP 断开请求后,不会马上进行 TCP 连接的断开。服务器端会先确认断开前,所有传输到客户端的数据是否已经传输完毕。确认数据传输完毕后才进行断开,向客户端发送FIN=1报文。再次随机生成一个序列号 SEQ=z。由于还是对客户端发来的 TCP 断开请求序列号 SEQ=x 进行回复,因此确认序列号ACK依然为 x+1
第四次挥手:客户端收到服务器发来的 TCP 断开连接数据包后将进行回复,表示收到断开 TCP 连接数据包。向服务器发送标志位ACK=1 报文,生成一个序列号 SEQ=x+1。由于回复的是服务器,所以确认序列号ACK字段的值在服务器发来断开 TCP 连接请求序列号 SEQ=z 的基础上加 1,得到ACK=z+1
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!