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

本文档规定TCP初始窗口从1-2个段增加到约4K字节,以改善网络性能。它讨论了优点,如减少传输时间和减少超时等待,以及潜在缺点,如增加丢包率。模拟和实验表明,较大的初始窗口在卫星链路和调制解调器链路上可提高TCP性能,但在高度拥塞的网络中可能导致更高的丢包率。安全考虑表明,此改动不会引入新的安全问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文 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 发现 [RFC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值