TCP三次握手和四次挥手
面向连接的,安全可靠的连接。
客户端:你在线吗?
服务器:我在,你在线吗?
客户端:我在
客户端:我数据传完了,我要下线了
服务器:知道了,我还有点数据,你等下
一段时间后...
服务器:我数据发完了,你可以下线了
客户端:好的
为什么要进行3次握手
在第二次服务器给客户端发送ACK位致1,ack=seq+1后,客户端收到了,但是服务端不知道客户端是否收到数据,需要客户端再次握手,达到双工的效果。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oktib7qK-1680854680079)(E:\mtdocument\mtdocument#图片存放\2022-06-28-11-10-38-image.png)]](https://i-blog.csdnimg.cn/blog_migrate/fda12156f813661deabb8351166545b8.png)
为什么要进行4次挥手
首先注意一点,seq不是随机生成的,是在发报文过程中慢慢增长上来的;由于客户端主动发送断开请求,此时服务端还有部分数据没有发送,所以只回复了ACK位,剩余数据发送完毕后后才可断开连接。
回复了ACK位,剩余数据发送完毕后后才可断开连接。

TCP协议通过三次握手建立安全可靠的连接,确保双方在线并同步序号。而在关闭连接时,由于四次挥手的机制,允许服务器在发送完剩余数据后才能断开,保证数据完整性。

被折叠的 条评论
为什么被折叠?



