TCP的三次握手与四次挥手(简化)

把我觉得比较有用的知识整合和简化了一下

报文头部
报文头部 ↑

每一次握手就是发送一次报文

在这里插入图片描述
1、同步SYN,在连接建立时用来同步序号。当SYN=1,ACK=0,表明是连接请求报文,若同意连接,则响应报文中应该使SYN=1,ACK=1;
2、确认ACK,仅当ACK=1时,确认号字段才有效。TCP规定,在连接建立后所有报文的传输都必须把ACK置1;
3、seq是数据包本身的序列号;ack是期望对方继续发送的那个数据包的序列号。

第一次握手 客户端:我要给你发消息,服务器你收到我的请求了吗?
第二次握手 服务器:我收到辣,客户端你收到我的请求了吗?
第三次握手 客户端:我也收到啦,我们开始通讯吧

为什么是三次握手?

如果是两次,服务器只知道自己能收到客户端的消息,不知道客户端能不能收到自己服务器的消息
如果是四次,可以三次硬要四次,浪费了计算机资源
在这里插入图片描述

第一次挥手 客户端 : 我要断开连接了,服务器你准备好了吗

第二次挥手 服务器 : 我收到你要断开连接了,客户端请等我准备好

第三次挥手 服务器:我准备好了,客户端你可以断开连接了

第四次挥手 客户端:我知道你准备好了,那我现在就断开辣!

第二次挥手与第三次挥手为什么不能一起挥?

因为服务器可能还在给客户端传输数据,只能先告诉客户端,我收到了你的断开请求,但此时断开会造成数据丢失,就违反了TCP的安全可靠传输的初衷,当服务器传输完数据后,再告诉客户端做好断开连接的准备了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值