0.PCATTCP简介
PCATTCP的前身为Test TCP,Test TCP是BSD操作系统的原生工具,该工具通过控制台输入参数,用于测试TCP或者UDP的通信速度。该项目于1984年启动,现在该工具的源代码早已开放。PCATTCP是Test TCP的windows移植版本,是一个用于测试TCP和UDP通信速度的windows控制台程序。
【1】下载可执行文件和源代码包,下载网址
【2】解压可执行文件到某文件件,例如D:\tools
【3】把D:\tools加入环境变量PATH中
测试需要两台设备参与,开始之前需记录两台设备的IP地址。例如在本例中的两台设备。
设备A 服务器端 IP地址为192.168.1.103
设备B 客户端 IP地址为192.168.1.102
其中设备A通过网线接入路由器,设备B通过Wifi接入路由器。
【设备A】控制台中输入
pcattcp -r -c
参数-r表示服务器端模式,该设备处于接收状态。
参数-c表示该设备工作于连续模式。
控制的输出入下图所示,从图中的反馈信息可以看出,pcattcp工作于5001端口。也可通过-p参数修改指定端口。
图1 设备A工作于服务器模式
【设备B】控制台中输入
pcattcp -t 192.168.1.103
-t 客户端模式,发送。
图2 设备B工作于客户端模式
输入命令之后,PCATTCP工具通过网络发送一些列数据包,默认情况下,单个数据包的大小为8192,数据包的个数为2048。此时,从设备B到设备A的TCP传输速度为2311.71KB/s。
在一般测试过程中往往存在限制,例如数据包的长度的限制或者数据包个数的限制,此时便可利用-l和-n参数。
pcattcp -t -l 1024 -n 1024 192.168.1.103
-t 客户端模式,发送。
-l 被传输的数据包大小,此时单个数据包的长度为1024,默认大小为8192。
-n 发送数据包个数,此时重复数据包的个数为1024,默认数据包个数为2048。
图3 修改数据包长度和数据包个数
【1】
官方介绍和使用说明
【2】pcattcp指令活命
pcattcp -h
PCAUSA Test TCP Utility V2.01.01.13 (IPv4/IPv6)
Usage: pcattcp -t [-4|-6] [-options] host [ < in ]
pcattcp -r [-4|-6] [-options > out]
Common options:
-4 use IPv4 (default)
-6 use IPv6
-l ## length of bufs read from or written to network (default 8192)
-u use UDP instead of TCP
-p ## port number to send to or listen at (default 5001)
Can specify multiple sequential ports two ways:
-p #first-#last
-p #first+#additional
-s toggle sinkmode (enabled by default)
sinkmode enabled:
-t: source (transmit) fabricated pattern
-r: sink (discard) all received data
sinkmode disabled:
-t: reads data to be transmitted from stdin
-r: writes received data to stdout
-A align the start of buffers to this modulus (default 16384)
-O start buffers at this offset from the modulus (default 0)
-v verbose: print more statistics
-d set SO_DEBUG socket option
-b ## set socket buffer size (if supported)
-f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga
-c -t: send continuously
-r: accept multiple connections sequentially
-a bind to local host interface IP address
Options specific to -t:
-n ## number of source bufs written to network (default 2048)
-D don't buffer TCP writes (sets TCP_NODELAY socket option)
-w ## milliseconds of delay before each write (default 0)
-R ## desired transmit data rate in bytes/second
Options specific to -r:
-M concurrent TCP/UDP multithreaded receiver
-B for -s, only output full blocks as specified by -l (for TAR)
-T "touch": access each byte as it's read