计算1G链路的吞吐量

时间:2015-01-22 15:39:25

标签: networking performance-testing

我想计算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吞吐量,因为我必须考虑报头开销。

感谢。

1 个答案:

答案 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))*链接比特率

请注意,这些都是乐观的计算。即实际上,您可能在标头数据中有额外的选项会增加标头的大小,从而降低有效负载吞吐量。您也可能会丢包导致性能下降。

查看以太网框架上的维基百科文章,特别是“最大吞吐量”部分:

http://en.wikipedia.org/wiki/Ethernet_frame