English

什么是吞吐量、带宽、包转发率

2016-05-10

1.吞吐量
       吞吐量是指对网络、设备、端口或其他设施在单位时间内成功地传送数据的数量(以比特、字节等测量单位),也就是说吞吐量是指在没有帧丢失的情况下,设备能够接收并转发的最大数据速率。
       吞吐量的大小主要由网络设备的内外网口硬件,及程序算法的效率决定,尤其是程序算法,对于像需要进行大量运算的设备来说,算法的低效率会使通信量大打折扣。


2.带宽
       吞吐量和带宽是很容易搞混的一个词。当讨论通信链路的带宽时,一般是指链路上每秒所能传送的比特数,它取决于链路时钟速率和信道编码在计算机网络中又称为线速,也就是可以说百兆以太网的带宽是100Mbps。
       但是需要区分链路上的可用带宽(带宽)与实际链路中每秒所能传送的比特数(吞吐量)。通常更倾向于用“吞吐量”一词来表示一个网络的性能表现。因为现实受各种低效率因素的影响(比如通信双发的网卡设备、链路状态等),所以由一段带宽为100Mbps的链路连接的一对节点可能只达到50Mbps的吞吐量。这样就意味着,一个主机上的应用只能够以50Mbps的速度向另外的一个主机发送数据。


3.包转发率
       对于网络设备而言,除了吞吐量这个重要指标外,还有一个主要指标是报文转发率,也就是常说的包转发率,包转发率一般是指以64字节数据包的全双工吞吐量,该指标既包括吞吐量指标也涵盖了报文转发率指标。
       线速端口的包转发率衡量标准是以IEEE802.3中最短以太网64byte的数据包 (第二层或第三层包) 作为计算基准,其公式如下:包转发率(pps) = 吞吐量 / ( 84byte × 8bit )
       所以:
       对于百兆以太网,一个线速端口的包转发率 = 100,000,000bps / 672bit = 0.148Mpps
       对于千兆以太网,一个线速端口的包转发率 = 1,000,000,000bps / 672bit = 1.488Mpps
       对于万兆SFP口(以太网口没有万兆的),一个线速端口的包转发率 = 10,000,000,000bps / 672bit = 14.88Mpps