【RFC5681 TCP拥塞控制】(翻译)

原文rfc5681 (ietf.org)TCP Congestion Control TCP拥塞控制概述本文档定义了 TCP 的四种相互交织的拥塞控制算法:慢启动、拥塞避免、快速重传和快速恢复。此外,该文档还规定了 TCP 在相对较长的空闲期后应如何开始传输,并讨论了各种确认生成方法。本文档废弃了 RFC2581。目录 1. 简介 2. 定义 3. 拥塞控制算法 3.1. 慢启动和拥塞避免 3.2. 快速重传/快速恢复 4. 其他注意事项...
摘要由CSDN通过智能技术生成

原文 rfc5681 (ietf.org) TCP Congestion Control TCP拥塞控制

概述


本文档定义了 TCP 的四种相互交织的拥塞控制算法:慢启动、拥塞避免、快速重传和快速恢复。此外,该文档还规定了 TCP 在相对较长的空闲期后应如何开始传输,并讨论了各种确认生成方法。本文档废弃了 RFC2581。

目录

   1. 简介
   2. 定义
   3. 拥塞控制算法
      3.1. 慢启动和拥塞避免
      3.2. 快速重传/快速恢复
   4. 其他注意事项
      4.1. 重新启动空闲连接
      4.2. 生成确认
      4.3. 损失恢复机制
   5. 安全考虑
   6. RFC 2001 和 RFC 2581 之间的变化
   7. 相对于 RFC 2581 的变化
   8. 致谢
   9. 参考文献
      9.1.规范参考
      9.2.参考资料

1. 简介

本文档规定了四种 TCP [RFC793] 拥塞控制算法:慢启动、拥塞避免、快速重传和快速恢复。这些算法是在 [Jac88] 和 [Jac90] 中设计的。它们与 TCP 的使用在 [RFC1122] 中标准化。 [CJ89] 中给出了在加法增加、乘法减少拥塞控制方面的其他早期工作。

请注意,[Ste94] 提供了这些算法的实例,[WS95] 提供了这些算法的 BSD 实现的源代码的解释。

除了指定这些拥塞控制算法之外,本文档还指定了 TCP 连接在相对较长的空闲期后应该做什么,以及指定和阐明与 TCP ACK 生成有关的一些问题。

本文档废弃了 [RFC2581],而后者又废弃了 [RFC2001]。

本文档组织如下。第 2 节提供了将在整个文档中使用的各种定义。第 3 节提供了拥塞控制算法的规范。第 4 节概述了与拥塞控制算法相关的问题,最后,第 5 节概述了安全注意事项。

2. 定义


本节提供了将在本文档的其余部分中使用的几个术语的定义。

SEGMENT段:段是任何 TCP/IP 数据或确认包(或两者)。

SENDER MAXIMUM SEGMENT SIZE (SMSS):SMSS 是发送方可以传输的最大段的大小。该值可以基于网络的最大传输单元、路径 MTU 发现 [RFC1191、RFC4821] 算法、RMSS(见下一项)或其他因素。该大小不包括 TCP/IP 头部和选项。

接收器最大段大小(RMSS):RMSS 是接收器愿意接受的最大段的大小。这是在连接启动期间接收方发送的 MSS 选项中指定的值。或者,如果不使用 MSS 选项,则为 536 字节 [RFC1122]。该大小不包括 TCP/IP 头部和选项。

FULL-SIZED SEGMENT:包含允许的最大数据字节数的段(即,包含 SMSS 字节数据的段)。

RECEIVER WINDOW 接收窗口(rwnd):最近通告的接收器窗口。

CONGESTION WINDOW 拥塞窗口 (cwnd):限制 TCP 可以发送的数据量的 TCP 状态变量。在任何给定时间,TCP 不得发送序列号大于最高确认序列号与 cwnd 和 rwnd 最小值之和的数据。

INITIAL WINDOW (IW):初始窗口是三次握手完成后发送方拥塞窗口的大小。

LOSS WINDOW (LW):丢失窗口是 TCP 发送方使用其重传计时器检测到丢失后拥塞窗口的大小。

RESTART WINDOW (RW):重启窗口是 TCP 在空闲期后重新开始传输后拥塞窗口的大小(如果使用慢启动算法;更多讨论见 4.1 节)。

FLIGHT SIZE:已发送但尚未累积确认的数据量。

DUPLICATE ACKNOWLEDGMENT:在以下算法中,当 (a) ACK 的接收方有未完成的数据,(b) 传入的确认不携带数据,(c) SYN 和 FIN 位都关闭时,确认被认为是“重复的”, (d) 确认编号等于在给定连接上接收到的最大确认(来自 [RFC793] 的 TCP.UNA)并且 (e) 传入确认中的通告窗口等于最后传入确认中的通告窗口。

或者,使用选择性确认 (SACK) [RFC2018,RFC2883] 的 TCP 可以利用 SACK 信息来确定传入的 ACK 何时是“重复的”(例如,如果 ACK 包含先前未知的 SACK 信息)。

3. 拥塞控制算法


本节定义了四种拥塞控制算法:慢启动、拥塞避免、快速重传和快速恢复,由 [Jac88] 和 [Jac90] 开发。在某些情况下,TCP 发送方比算法允许的更保守可能是有益的;但是,TCP 不得比以下算法允许的更激进(即,当由以下算法计算的 cwnd 值不允许发送数据时,不得发送数据)。

另请注意,本文档中指定的算法在使用损失作为拥塞信号方面起作用。也可以按照 [RFC3168] 中的规定使用显式拥塞通知 (ECN)。<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值