link 速度与吞吐量

link speed vs throughput

我是网络新手。在对文件传输协议(有线连接)进行实验时,我必须计算将 1 个文件从源传输到目标所花费的时间。 为了计算文件传输时间,我需要文件大小以及 link 速度。

任何人都可以解释一下这个 link 速度是多少以及如何计算它? 它与PHY速率相同吗?

有线连接是否存在 PHY 速率,还是仅存在于无线连接中?

此外,请解释 PHY 速率、link 速度和吞吐量之间的区别。

提前致谢。

您需要考虑练习的整个协议栈:

  • FTP
  • TCP
  • IP
  • 以太网
  • PHY

这些层中的每一层都会降低原始 PHY 速率。

在Ethernet和IP层,很简单。这些协议上的每个帧都有一个最大大小 (MTU) 和一个固定大小,需要为每个帧的 header 分配。

减去 header 的开销后,您得到了通过 IP 的吞吐量。

对于 TCP,我们现在可以忽略数据开销,因为主要因素是额外添加的 round-trips。在这种情况下,我们现在只处理握手而忽略其他细节。这意味着对于 SYN-ACK-ACK 序列,我们将在从客户端建立 link 之前考虑两倍的延迟。

对于FTP,我们也假设最简单的情况,匿名登录,主动转账,不编码。这在实际数据传输开始之前增加了一次往返。

为什么我们选择忽略 FTP 和 TCP 协议中的数据大小?因为对于所有现代 link 速度,这完全被延迟掩盖了。

所以现在您的有效吞吐量总计为 PHY rate * Ethernet overhead * IP overhead + file size / (4 * Delay)

在 FTP 中选择不同的传输编码会在左侧增加另一个因素。考虑 TCP window 缩放、重新传输、通过 FTP 登录等将增加更多 round-trips。

该堆栈中还可能有其他协议,从而引入更多开销。例如。网络隧道。