我想计算1G以太网链路上的最大网络吞吐量。我理解如何估计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链接:
1,000,000,000 bits/sec * 8 bits/byte => 1,488,096 fps
据我了解,这是一个数据链接性能,对吗? 但是如何计算不同数据包大小的吞吐量(以兆比特/秒为单位),即64,128 ... 1518?另外,如何计算UDP / TCP吞吐量,因为我必须考虑报头开销。
感谢。
答案 0 :(得分:1)
以太网上的最大吞吐量=(Payload_size /(Payload_size + 38))*链接比特率
即。如果发送50字节的有效载荷数据,1G链路的最大吞吐量为(50/88)* 1,000,000,000,或约为568 Mbit / s。如果发送1000字节的有效负载,则最大吞吐量为(1000/1038)* 1,000,000,000 = 963 Mbit / s。
IP + UDP添加了28个字节的标头,因此如果您要查找UDP上的数据吞吐量,则应使用以下公式:
UDP上的最大吞吐量=(Payload_size /(Payload_size + 66))*链接比特率
IP + TCP添加了40个字节的标头,因此它将是:
TCP上的最大吞吐量=(Payload_size /(Payload_size + 78))*链接比特率
请注意,这些都是乐观的计算。即实际上,您可能在标头数据中有额外的选项会增加标头的大小,从而降低有效负载吞吐量。您也可能会丢包导致性能下降。
查看以太网框架上的维基百科文章,特别是“最大吞吐量”部分: