摘要
- 累积 ACK 能证明 TCP 序号空间已经推进;发生重传以后,它不能指出究竟是原始报文段还是后发副本抵达。
- RFC 1122 与 RFC 6298 要求执行 Karn 规则:不得从已重传报文段取得 RTT 样本;RTO 到期后必须把计时器加倍。
- 协商过的 TCP 时间戳可以为被确认的发送实例补上标签,但它不证明路径、丢失原因、身份或民用时刻。
收据有效,故事却有两个版本
发送方发出一个报文段并启动计时器。ACK 尚未回来,计时器先到期,于是相同的序号再次上路。随后,一个 ACK 到达。
按照 RFC 793,确认号表示接收方下一步期待的字节。发送方因此能够推进窗口、释放已保存的数据。这张收据没有记载是哪一份物理副本触发了它:第一份可能只是迟到,第二份也可能是唯一成功者。
若从第一次发送起算,RTT 会显得很长;若从重传起算,RTT 会显得很短。同一 ACK 同时容得下两种互不相容的计时结果。证据足以处理交付状态,却不足以裁决因果历史。
时钟可能从自己的错误中继续学习
网络不承诺固定延迟,TCP 只能估计重传超时。RTO 太短,会制造不必要的副本;太长,则让能够修复的丢失空等。于是发送方用发送与确认之间的观测不断校准。
重传把观测的标签撕掉了。把含糊 ACK 归给第二次发送,可能得到过短的样本,使下一次超时更早,进而生产更多含糊样本;一律归给第一次发送,又可能把计时器推得过慢。再精巧的平均公式,也无法纠正一条被错误标注来源的数据。
Karn 把“不测量”写进正确性
RFC 1122 同时规定了两项不同的修正。Jacobson 算法把 RTT 方差纳入 RTO;Karn 算法负责挑选可以进入估计器的样本。前者改善计算,后者守住证据入口。
Karn 规则只拒绝一件事:不要从已经重传的数据取得 RTT 样本。RFC 6298 以 MUST NOT 保留这项禁令。ACK 仍可用于确认累计进度;它只是不能替某一次发送签署耗时证明。
因此,丢弃样本不是丢弃报文,不是在指控接收方,也不等于宣布路径故障。发送方只是承认:这项推断所需的副本身份并不存在。
退避让不确定性留下记忆
RFC 1122 还要求指数退避。RFC 2988 后来把步骤标准化,RFC 6298 继续规定:RTO 到期时,重传最早尚未确认的报文段,并执行 RTO <- RTO * 2。
加倍不是声称路径突然慢了一倍,而是防止发送方用越来越激进的尝试回应沉默。紧接着到来的含糊 ACK 不应抹去这份谨慎。等到新数据未经重传便得到确认,新的有效样本才可按正常估计器把 RTO 拉回去。
退避是一种可修订的克制。它让未知原因不会立刻转化为共享网络必须承受的流量。
时间戳提供了有限的例外
RFC 7323 定义了 TSval 与回显的 TSecr。双方协商启用该选项以后,回显值可以把 ACK 关联到带标签的发送实例;RFC 6298 因而允许在歧义已经消除时测量重传数据。
这里的“时间戳”不是民用时间证书。它不认证对端,不显示路由,不单独测量单向延迟,也不解释丢包。它只在一条连接内部提供有序且可回显的标签。
标签仍受条件约束。RFC 7323 规定,接收的回显值只有在报文使发送窗口左沿前进时,才可以更新平均 RTT。带着时间戳回来,并不自动取得进入估计器的资格。
样本太多也会让历史消失
时间戳使每个 RTT 内取得许多测量成为可能。但 RFC 6298 的权重以大致每轮一次采样为背景。如果把每个 ACK 都塞进同一估计器,旧的路径状态会过快退出记忆;当路径在数个 RTT 的尺度上变化时,短记忆反而容易制造虚假重传。
RFC 7323 因此建议保留原估计器对历史长度的本意。同一窗口内高度相关的十个回显,不是十段独立的路径时代。信息多少不仅取决于计数,也取决于来源和节奏。
ACK 的权限终于与知识对齐
ACK 依然能推进 SND.UNA、撤下已保存字节并唤醒应用。但它不能证明哪一份副本经过、延迟在哪里形成,或者丢失来自拥塞、重排还是其他原因。
Karn 留下的不只是一个计时技巧,而是一条共享系统的证据规则:让一项信号完成它真正支持的动作,不多做一步。TCP 可以相信 ACK 的交付进度,同时不相信它对耗时的归因。发送端保留本地模型的控制权,也无需虚构一座中央时钟。
来源与边界
封闭来源集为 RFC 793、RFC 1122、RFC 2988、RFC 6298 与 RFC 7323。它们确立语义和规范要求,不证明当今每种系统的默认值,也不解释某次真实超时。含糊样本可能碰巧等于真实 RTT;Karn 规则指出的是发送方没有办法知道哪一种解释正确。
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
