【发布时间】:2011-07-09 15:45:04
【问题描述】:
考虑使用 10 Mbps 链接的单个 TCP (Reno) 连接。 假设此链路不缓冲数据并且接收方的接收缓冲区比拥塞窗口大得多。 设每个 TCP 段的大小为 1500 字节,发送方和接收方之间连接的双向传播延迟为 200 毫秒。 另外,假设 TCP 连接始终处于拥塞避免阶段(忽略慢启动)。
此 TCP 连接可以达到的最大分段窗口大小是多少?
所以我们知道了连接的吞吐量和延迟, 我认为我们应该能够操纵以下公式,以便我们能够找到窗口大小。
吞吐量 = 窗口大小 / RTT
吞吐量 * RTT = 窗口大小
10 Mbps * 200 毫秒 = 窗口大小
我不确定这是否正确。除了这个公式之外,我很难找到与查找窗口大小相关的任何其他内容。
【问题讨论】:
-
我认为你是在正确的轨道上。不过有两个小细节。首先,您应该将带宽乘以单向传播延迟,而不是乘以 RTT。这将为您提供带宽*延迟产品,这表示可以“运行”多少位数据。其次,您应该将结果除以 1500 * 8 位以获得段数。因为您希望根据段来确定大小。
-
最大窗口大小由接收方的套接字接收缓冲区给出,您没有指定。您的问题无法以目前的形式回答。
标签: tcp network-protocols