TCP 中超时重传机制

目的

保证 TCP 协议可靠的机制

示例

背景:我给老板发微信

  • 场景一:
    我:老板,我想删库!

    等了 15 分钟,老板没回复我。
    于是我又发了一条消息给老板。
    我:老板,我想删库!
    老板:滚!

这就是超时重传,我等了一段时间老板没有回复我,我也不能贸然删库对吧!

  • 场景二:
    我:老板,我想删库!
    老板:滚!
    但是我并没有收到老板的回复。
    于是又过了 15 分钟,我再次给老板发消息。
    我:老板,我想删库!
    老板:滚!

我第一次没有收到了老板的回复,其实老板回复了,于是有发送了一条信息给老板,老板回复我,我知道自己不能删库。这也是超时重传!(我觉得老板可能准备把我删了)

实际上第二种情况只是老板的 ACK 丢了,但是我重复发送一条消息,老板觉得我指定有毛病,但是在 TCP 协议中,已经处理了这种重复发送数据的情况。
TCP 有一个接收缓冲区,也就是一块内存。TCP 会自己检查接收缓冲区中有没有重复的数据。
而之前说过 TCP 报文中有一个 32 位序号 对数据进行编号,根据这个序号就能去重。

连续丢包

丢包会出发超时重传,而连续丢包后,超时重传的时间间隔会越来越长。
而重传到一定的次数会尝试断开连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值