回复
画图带你理清TCP协议三次握手和四次挥手(一)
pivoteic
发布于 2022-6-14 16:31
浏览
0收藏
TCP 特性
1.确认应答机制 (ACK)
2.超时重传
3.建立连接 - 三次握手
4.断开连接 - 四次挥手
1.确认应答机制 (ACK)
确认应答是可靠传输的最核心机制,接收方反馈一个应答报文(ACK),表示已收到
假设现在 A 想去 B 家里玩游戏,于是 A 给 B 发消息,若消息没有出现错误且顺序正确
结果如下所示:
但网络传输比较复杂,由于数据的长度不同或者传输网络不同,可能存在一种情况"后发先至",也就是说先发送的数据不一定先到达,接收方接收到的数据可能是乱序的,如图:
当 B 回复 A 的消息时,若存在对应关系,那么即使出现了"后发先至"的情况,也能顺利的确立应答
上述方法,虽然可以顺利的确立应答,但额外的信息很多,占用的带宽很多
下面如图,针对发送的请求进行编号,应答的时候也针对编号进行应答,这样既能保证数据传输没有歧义,也不会浪费太多的空间和带宽
上述情况不严谨,真实的 TCP 还不一样,TCP 是面向字节流的,此处的编号并不是按照一条两条来编的,而是按照字节来编号的 (每个字节有一个编号)
确认应答是一种特殊的报文(ACK),所谓的应答报文,本质上就是 ACK 字段为1 的报文,此时报头中的"确认序号"字段才是生效的
初始序号是随机的,为了防止网络攻击;如果发送多个数据,每个数据都会带着一个序号
接收方收到数据后,是知道数据所带着的序号的,根据序号给出确认序号(告诉发送方下次给我发的序号),发送给发送方,发送方就知道接收方收到了哪些数据
文章转自公众号:三友的java日记
标签
已于2022-6-14 16:31:38修改
赞
收藏
回复
相关推荐