首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TCP连接段中的最大窗口大小是多少?

TCP连接段中的最大窗口大小是多少?
EN

Stack Overflow用户
提问于 2011-03-06 02:22:50
回答 3查看 18.6K关注 0票数 6

考虑使用10 Mbps链接的单个TCP (Reno)连接。假设此链路不缓冲数据,且接收方的接收缓冲区比拥塞窗口大得多。每个TCP段的大小为1500字节,发送方和接收方之间连接的双向传播延迟为200毫秒。另外,假设TCP连接始终处于拥塞避免阶段(忽略慢速启动)。

此TCP连接可以达到的段中的最大窗口大小是多少?

所以我们知道连接的吞吐量和延迟,我认为我们应该能够操作下面的公式,这样我们就能够找到窗口的大小。

吞吐量=窗口大小/ RTT

吞吐量* RTT =窗口大小

10 Mbps * 200 msec =窗口大小

我不确定这是否正确。除了这个公式外,我很难找到其他与窗口大小有关的东西。

EN

回答 3

Stack Overflow用户

发布于 2014-04-30 04:24:41

以段的形式表示的最大窗口大小可以达到2^30/ MSS,其中MSS是最大的段大小。2^30 = (2^16*2^14)就像Michael在回答中提到的那样。如果您的网络带宽和延迟产品超过TCP接收器窗口大小,则TCP连接将启用缩放选项,并且大多数OS都支持此功能。缩放支持窗口大小的14位乘法移位。您可以阅读以下内容以获得更好的解释:

http://en.wikipedia.org/wiki/TCP_window_scale_option

http://www.ietf.org/rfc/rfc1323.txt

票数 3
EN

Stack Overflow用户

发布于 2011-03-09 05:32:00

我想你要问的是,我如何才能在网上得到最终的数据。那样的话,你就很亲密了。吞吐量*RTT单元: B/S *S是电线容纳的数量。忽略PMTU、数据包开销、硬件编码等等,那么Throughput*RTT/PacketSize就会给出估计值。等等,我用的是RTT。我的接收窗口实际上是多少可以装在一个方向的电线上,所以把它分成两半。

如果您的实现不支持窗口缩放,则使用2^16最小化,如果支持,则使用2^30最小化。

票数 1
EN

Stack Overflow用户

发布于 2016-01-02 20:26:27

如果最大发送速率超过链路容量,将丢弃数据包。

(最大窗口大小*1段大小)/ RTT =链路容量

(max窗口大小* 1500*8) / 200* 10 ^-3 =10* 10^-6

您可以为最大窗口大小解决这个问题。

我们除以RTT,因为在这之后,一个ACK将被接收,这样发送者就可以发送更多的段,而不需要增加窗口大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5208215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档