【RFC3390 增加TCP初始窗口】(翻译)

原文 https://datatracker.ietf.org/doc/html/rfc3390 Increasing TCP's Initial Window 增加TCP初始窗口

本文档为 TCP 指定了一个可选标准,将允许的初始窗口从一个或两个段增加到大约 4K 字节,以取代 RFC 2414。它讨论了更高初始窗口的优缺点,并包括对实验和模拟的讨论表明较高的初始窗口不会导致拥塞崩溃。最后,本文提供了有关实施问题的指导。

1.TCP修改


本文档废弃 [RFC2414] 并更新 [RFC2581],并规定将 TCP 初始窗口的允许上限从一个或两个段增加到两个到四个段之间。在大多数情况下,此更改导致初始窗口的上限约为 4K 字节(尽管给定大段大小,两个段的允许初始窗口可能明显大于 4K 字节)。

初始窗口的上限在
   (1):
         最小(4*MSS,最大(2*MSS,4380 字节))(1)

注意:发送 1500 字节的数据包表示最大分段大小 (MSS) 为 1460 字节(假设没有 IP 或 TCP 选项)。因此,在使用 1500 字节数据包的常见情况下,将初始窗口的 MSS 限制为 4380 字节允许发送方最初传输三个段。

等效地,初始窗口大小的上限基于 MSS,如下所示:

这个增加的初始窗口是可选的:TCP 可以从更大的初始窗口开始。然而,我们预计大多数通用 TCP 实现会选择使用上面等式 (1) 中给出的更大的初始拥塞窗口。

这个初始窗口大小的上限代表了 RFC 2581 [RFC2581] 的变化,它指定拥塞窗口被初始化为一个或两个段。

此更改适用于 TCP 三次握手后数据传输的第一个往返时间 (RTT) 中的连接初始窗口。三次握手中的 SYN/ACK 及其确认 (ACK) 都不应该将初始窗口大小增加到高于等式 (1) 中概述的大小。如果 SYN 或 SYN/ACK 丢失,则在正确传输 SYN 之后发送方使用的初始窗口必须是由 MSS 字节组成的一个段。

TCP 实现以三种不同的方式使用慢启动: (1) 启动一个新连接(初始窗口); (2) 长时间空闲后重新开始传输(重新启动窗口); (3) 在重传超时(丢失窗口)后重新开始传输。本文档中指定的更改会影响初始窗口的值。可选地,TCP 可以将重启窗口设置为用于初始窗口的值和 cwnd 的当前值中的最小值(换句话说,对重启窗口使用更大的值不应增加 cwnd 的大小)。这些更改不会更改丢失窗口,丢失窗口必须保留 1 个 MSS 字节段(以在严重拥塞的情况下允许最小的窗口大小)。

2. 实施问题


当更大的初始窗口与路径 MTU 发现 [RFC1191] 一起实现时,并且

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值