测试两台server之间的网络情况

通常我们想要测试两台服务器之间的网络链接状况时,我们可能使用ftp,scp等协议传输一个文件来估计网络情况,但是由于会涉及到硬盘的转速和CPU的计算能力,所以并不能真正完全的表现出网络状况

下面介绍5个用来测试网络状况的命令

一:IPERF

基本介绍


iperf是NLANR/DAST开发的,用来测试TCP/UDP带宽情况,此命令有一些参数和udp字符.Iperf可以显示网络带宽,延迟抖动,数据亏损

下面介绍测试网络链接情况的几个标准:

  • 延迟(响应时间或者RTT):可以用ping来测试
  • 抖动(时延变化):可以通过Iperf 的UDP测试
  • 数据包丢失:可以通过Iperf UDP测试
  • 带宽情况可以用TCP测试

    TCP和UDP不同之处在于:TCP会检测每一个包是否都被正确的传送到了目的地,而UDP不会检测数据包,这也使得UDP比TCP更快

    Iperf利用TCP和UDP不同特点来提供网络链接情况

使用方法:

需要有一台server有Iperf允许在某个监听端口上,需要另外一台client机来发送数据消息

例子:

安装:

sudo apt-get install iperf

基本使用方法:

server端:

#iperf -s

  ———————————————————— Server listening on TCP port 5001 TCP window size: 8.00 KByte (default) ———————————————————— [852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 54355 [ ID] Interval Transfer Bandwidth [852] 0.0-10.1 sec 1.15 MBytes 956 Kbits/sec ———————————————————— Client connecting to 10.6.2.5, TCP port 5001 TCP window size: 8.00 KByte (default) ———————————————————— [824] local 10.1.1.1 port 1646 connected with 10.6.2.5 port 5001 [ ID] Interval Transfer Bandwidth [824] 0.0-10.0 sec 73.3 MBytes 61.4 Mbits/sec

client端:

#iperf -c 10.1.1.1 -d

  ———————————————————— Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ———————————————————— ———————————————————— Client connecting to 10.1.1.1, TCP port 5001 TCP window size: 16.0 KByte (default) ———————————————————— [ 5] local 10.6.2.5 port 60270 connected with 10.1.1.1 port 5001 [ 4] local 10.6.2.5 port 5001 connected with 10.1.1.1 port 2643 [ 4] 0.0-10.0 sec 76.3 MBytes 63.9 Mbits/sec [ 5] 0.0-10.1 sec 1.55 MBytes 1.29 Mbits/sec

iperf也能在windows上使用,iperf的主页及更多的参数说明:<a href="http://openmaniak.com/iperf.php">http://openmaniak.com/iperf.php</a>

二:NETCAT

基本介绍: netcat被称为功能丰富的网络调试和勘探工具.许多linux发行版都自带这一工具 基本使用方法: 一台server机,一台client机 server端: nc -v -v -l -n 2222 >/dev/null listening on [any] 2222 … client端: time yes|nc -v -v -n 10.1.1.1 2222 >/dev/null 大概10s之后,在client端用Ctrl+C来停止,观察输出 Client端: sent 87478272, rcvd 0

real 0m9.993s
user 0m2.075s
sys 0m0.939s
Server端:(单位字节)
sent 0, rcvd 87478392 然后用87478392乘以8,再除以10s即可,得出网速70m/s</span></span>

参考:http://deice.daug.net/netcat_speed.html

三:Bandwitdth Test Controller(BWCTL)

基本介绍:

BWCTL是个命令行的程序,可以做为daemon运行。可以测试TCP和UDP的性能。

BWCTL在两个终点上运行,当两个终端都提出测试的请求时,BWCTL开始运行,得出测试数据,分享给两个终端

基本使用方法:

参考官方主页:http://www.internet2.edu/performance/bwctl/manpages.html

四:nuttcp

基本介绍:

类似于iperf的工具,可以用来测试tcp和udp

安装:

sudo apt-get install nuttcp

基本使用方法:

1:

server端:

nuttcp -S

client端:

nuttcp serverip

2:

还可以测试任意两个站点的网络链接情况

nuttcp host1 host2

注:man nuttcp获得更多的参数

参考:http://www.wcisd.hpc.mil/nuttcp/Nuttcp-HOWTO.html

五:thrulay

基本介绍:

检测网络的负载情况,延时等其他网络性能,对于tcp和udp都有很好的检测,有易读的输出结果

参考:http://e2epi.internet2.edu/thrulay/thrulayd.man.html

个人觉得thrulay,iperf需要好好研究下