小于其链路的全部带宽的 TCP 数据包会以相同的速度传输吗?

网络工程 联网 潜伏
2022-02-08 11:48:25

如果我通过 1mbps 连接发送 5 个字节,其传输速度将超过 500 个字节。或者由于数据包小于 1mb,传播后的延迟是否会保持不变?

如果您因为认为我没有充分研究这个问题而投反对票,我理解您这样做,但我做到了。我无法将我的大脑包裹在这个问题上,也无法找到以这种方式解释数据速率的东西。

2个回答

链接/特定路径中的所有位都以相同的整体速度行进。数据包大小无关紧要。

较大的数据包具有较长的序列化延迟,因为 1000 字节需要 500 字节时间的两倍。但是,如果您发送 2x 500 字节,它将与 1x 1000 字节几乎相同。(只是“几乎相同”,因为较小的数据包会导致更多开销。)

TCP 通过使用滑动窗口来调节数据速率吞吐量。这是为了流量控制,并为客户端提供时间重新发送在传输中丢失的数据包。当它 ACK 是一个段时,窗口向前移动。

TCP 数据作为流传输,这意味着如果客户端发送 1000 字节,则无法知道 TCP 将执行 10 个 100 字节段还是 1 个 1000 字节段。

发送 1 个大数据包会比发送 10 个小数据包更快。

但是,1 个大数据包与 1 个小数据包将是相同的时间或相同的整体速度。