TCP-超时与重传

本文详细介绍了TCP的重传机制,包括基于时间的超时重传、快速重传以及SACK选择确认。通过RTT样本计算RTO,利用重传计时器和快速重传机制检测丢包,SACK则提供了更精确的数据确认,以优化重传策略。同时,文章提及了D-SACK在识别网络问题上的作用。
摘要由CSDN通过智能技术生成

主要内容:

  1. 超时与重传简单实例(见TCP/IP详解)
  2. 设置超时重传方法
  3. 基于计时器重传
  4. 快速重传
  5. 带选择确认的重传
  6. 伪超时与重传
  7. 包失序与包重复
  8. 目的度量
  9. 重新组包
  10. 与TCP重传相关的攻击

TCP重传机制

由于下层IP网络层或则路由器可能出现丢失、重复、失序包的情况、TCP要提供可靠数据传输服务必须cover住这些丢包重包异常情况并能够做出正常的处理。

注意,接收端给发送端的Ack确认只会确认最后一个连续的包,比如,发送端发了1,2,3,4,5一共五份数据,接收端收到了1,2,于是回ack 3,然后收到了4(注意此时3没收到),此时的TCP会怎么办?我们要知道,因为正如前面所说的,SeqNum和Ack是以字节数为单位,所以ack的时候,不能跳着确认,只能确认最大的连续收到的包,不然,发送端就以为之前的都收到了。

TCP的重传指:重传尚未确认的数据,TCP有两套独立的机制来完成重传:一是基于时间的,二是基于确认信息的构成。第二种比第一种更加高效。

(1)基于时间重传:TCP在发送数据的时候回设置一个计时器,若计时器超时任未收到数据的确认信息,则会引发相应的超时或则计时器的重传操作,计时器超时称为重传超时RTO(Retransmission Timeout)

(2)基于确认信息的构成重传称为快速重传:在没有发生延时的情况下,若TCP积累确认无法返回新的ACK或则当ACK包含的选择确认信息SACK表明出现失序报文段时,快速重传会推断出现丢失包。

1.设置超时重传RTO

TCP超时和重传的基础是:根据给定连接的数据传输往返延时RTT(Round-Trip Time)来设置RTO。

设置一个合理的RTO对于网络整体利用率至关重要。TCP会在传输过程中采样一些数据传输该确认信息所需要的时间的一些样本。每个此类的测量结果称为RTT样本。TCP首先根据一段时间内的样本值建立好的估计值,第二步是基于估计值设置RTO。RTO设置得当是保证TCP性能的关键。

下面主要介绍一些计算RTO的方法,只做概述ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值