为什么TCP三次握手要有最后一个ACK

相信大家都有这样一个疑问,明明服务器(SERVER)和客户端(CLIENT)之间只要发送两次SYN,ACK就能建立连接并且协商完各自的参数(如窗口大小等),为什么还要有最后的ACK呢?

常见TCP建立连接如下图
常见连接图
那么可以假设如下情况
A首先向B发送一个连接请求,但是可能这个连接请求走了远路,等了很长时间,B都没有收到,那么A可能会再次发送,此时B收到并且回复SYN,ACK;在这个时候最先发送的那个连接请求到达B,那么B会回复一个SYN,ACK;但是A表示自己已经收到确认了,并不搭理这个回复,那么B可能陷入等待,如果这种情况多了,那么会导致B瘫痪,所以要发送第三个确认。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值