最近,我在Solaris
系统上用tcpreplay
程序(sunfreeware
网站提供的3.4.4版本的安装包,目前sunfreeware
已经不再提供免费的Solaris
系统安装包下载了,但还是可以通过其它ftp
下载到)辅助测试。发现tcpreplay
输出是这样的:
Actual: 400000 packets (78200000 bytes) sent in 18.03 seconds. Rated: 4337216.0 bps, 33.09 Mbps, 22185.25 pps
如果Rated
显示的bps
和Mbps
里的b
都指的是byte
的话,那么它们应该相差(1000*1000)倍才对,但是很明显4337216.0
和33.09
没有相差那么多。
去github
上找了一下tcpreplay
3.4版本的源代码,发现了这个patch(https://github.com/appneta/tcpreplay/commit/42722b8945209dcbb850eef39e0dbbd582eccc3d)。可以看到第一个bps
里的b
指的是byte
,而第二个Mbps
里的b
指的是bit
。这个tcpreplay
安装包很显然没有包含这个patch,所以会让人产生误解。
P.S.打完patch后的tcpreplay
输出是这样的:
Actual: 2 packets (1532 bytes) sent in 0.015702 seconds.
Rated: 97567.1 Bps, 0.780 Mbps, 127.37 pps
看着很清晰。