计算 1G 的吞吐量 link
calculate throughput for 1G link
我想计算 1G 以太网上的最大网络吞吐量 link。我了解如何以 packets/sec 为单位估算 64 字节帧的最大速率:
IFG 12 bytes
MAC Preamble 8 bytes
MAC DA 6 bytes
MAC SA 6 bytes
MAC type 2 bytes
Payload 46 bytes
FCS 4 bytes
Total Frame size -> 84 bytes
现在对于 1G link 我们得到:
1,000,000,000 bits/sec * 8 bits/byte => 1,488,096 fps
据我了解,这是数据 link 的表现,对吗?
但是如何计算不同数据包大小(即 64,128...1518)的每秒兆位吞吐量?另外,如何计算 UDP/TCP 吞吐量,因为我必须考虑 headers 开销。
谢谢。
以太网上的最大吞吐量 = (Payload_size / (Payload_size + 38)) * Link 比特率
即如果您发送 50 字节的有效负载数据,对于 1G link,最大吞吐量将为 (50 / 88) * 1,000,000,000,或大约 568 Mbit/s。如果发送 1000 字节的负载,最大吞吐量为 (1000/1038) * 1,000,000,000 = 963 Mbit/s.
IP+UDP 增加了 28 个字节的 headers,所以如果你正在寻找通过 UDP 的数据吞吐量,你应该使用这个公式:
UDP 上的最大吞吐量 = (Payload_size / (Payload_size + 66)) * Link 比特率
并且 IP+TCP 添加 40 个字节的 headers,因此将是:
TCP 上的最大吞吐量 = (Payload_size / (Payload_size + 78)) * Link 比特率
请注意,这些是乐观的计算。 IE。实际上,您可能在 header 数据中有额外的选项,这些选项会增加 header 的大小,从而降低负载吞吐量。您也可能有丢包导致性能下降。
查看有关以太网框架的维基百科文章,尤其是 "Maximum throughput" 部分:
我想计算 1G 以太网上的最大网络吞吐量 link。我了解如何以 packets/sec 为单位估算 64 字节帧的最大速率:
IFG 12 bytes
MAC Preamble 8 bytes
MAC DA 6 bytes
MAC SA 6 bytes
MAC type 2 bytes
Payload 46 bytes
FCS 4 bytes
Total Frame size -> 84 bytes
现在对于 1G link 我们得到:
1,000,000,000 bits/sec * 8 bits/byte => 1,488,096 fps
据我了解,这是数据 link 的表现,对吗? 但是如何计算不同数据包大小(即 64,128...1518)的每秒兆位吞吐量?另外,如何计算 UDP/TCP 吞吐量,因为我必须考虑 headers 开销。
谢谢。
以太网上的最大吞吐量 = (Payload_size / (Payload_size + 38)) * Link 比特率
即如果您发送 50 字节的有效负载数据,对于 1G link,最大吞吐量将为 (50 / 88) * 1,000,000,000,或大约 568 Mbit/s。如果发送 1000 字节的负载,最大吞吐量为 (1000/1038) * 1,000,000,000 = 963 Mbit/s.
IP+UDP 增加了 28 个字节的 headers,所以如果你正在寻找通过 UDP 的数据吞吐量,你应该使用这个公式:
UDP 上的最大吞吐量 = (Payload_size / (Payload_size + 66)) * Link 比特率
并且 IP+TCP 添加 40 个字节的 headers,因此将是:
TCP 上的最大吞吐量 = (Payload_size / (Payload_size + 78)) * Link 比特率
请注意,这些是乐观的计算。 IE。实际上,您可能在 header 数据中有额外的选项,这些选项会增加 header 的大小,从而降低负载吞吐量。您也可能有丢包导致性能下降。
查看有关以太网框架的维基百科文章,尤其是 "Maximum throughput" 部分: