TCP四次挥手

时间:2021-10-15 作者:qvyue

半双工/全双工

Full-duplex(全双工)全双工是在通道中同时双向数据传输的能力。
Half-duplex(半双工)在通道中同时只能沿着一个方向传输数据。

由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。

四次挥手

TCP四次挥手
image.png

1.第一次挥手
客户端发送的标志位FIN和ACK为1,FIN位表示关闭连接的请求。此时序列号是上一次服务端ACK应答的确认序列号,ACK序列号则是上次数据传输序列号加数据大小。服务端检测FIN是否为1,ACK的作用是告诉对方之前的数据接收了多少

2.第二次挥手
服务端向客户端回应ACK包,确认序列号为上次序列号加数据大小加1,这里就是1011

3.第三次挥手
服务端再次向客户端发送包,此次就是服务端去主动断开与客户端的连接。FIN与ACK标志位都为1,此时序列号是上一次客户端ACK应答的确认序列号,ACK的确认序列号就是上次ACK的确认序列号

4.第四次挥手
客户端向服务端回应ACK包,确认序列号为上次序列号加数据大小加1,这里就是221

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。