TCP理论带宽计算

TCP理论上的有效带宽计算(即每秒可以传输多少负载数据)

  • 以千兆网为例,首先要明确千兆网的速度为1000Mbps,即每秒可传输1000M个bit,且这儿1M = 1000 K = 1000000。那么千兆网的速度就是125MB/s,即每秒传输125000000个字节。(如果按MiB计算,就是119MiB/s)
  • 在TCP/IP网络,一般使用以太网传输,在以太网中传输的是以太网帧。而TCP段是封装在IP包中然后封装在以太网帧中的。所以需要计算每秒中能传输多少个以太网帧。
  • 通常以太网帧的最大长度是1518字节(不考虑jumbo frame),而以太网传输时需要在帧前传输7个字节的preamble和一个字节的SFD,帧之间还需要96 bit的IFG(Inter-Frame Gap),即12字节,这样千兆网每秒可以传输的以太网帧的数量至少为 125000000/(1518+7+1+12)=81274个。(另外,由于以太网帧最小为64字节,所以千兆网每秒最多能传输的以太网帧数量为125000000/(64+20)=1488095,这个值是帧速率)
  • 回到TCP带宽的计算,带宽是针对负载的,所以要去掉TCP,IP头,加上TCP的timestamp option,共52字节,那么千兆网的TCP带宽 = 81274*(1500-52) = 117684752,约为117MB/s (或112 MiB/s)。

你可能感兴趣的:(Linux,&,网络编程)