Tester une liaison TCP/IP avec nttcp

Publié le 08 juin 2010 par Nicolargo

NTTcp est un petit utilitaire bien pratique, dans la lignée des IPerf, pour tester une liaison TCP/IP (ou UDP) en ligne de commande sous Linux. A ajouter à votre liste d'outils pour l'administrateur réseau...

Installation de NTTcp

Il faut installer le logiciel sur les deux machines (ou plus) entre lesquelles vous voulez tester votre réseau TCP/IP.

Sous Ubuntu:

sudo aptitude install nttcp

Utilisation de NTTcp

Sur la machine A ayant comme adresse IP 192.168.0.100 (d'un coté du réseau):

nttcp -i -v

Sur la machine B (de l'autre coté du réseau à tester):

nttcp -t -T 192.168.0.100

Par défaut, NTtcp va transférer 2048 "buffers" de 4 Kilo octets (4KB), soit un total de 8 Mo de B vers A.

Le résultat devrait ressembler à:

     Bytes  Real s   CPU s Real-MBit/s  CPU-MBit/s   Calls  Real-C/s   CPU-C/s
l  8388608    0.71    0.02     93.8840   3355.2754    2048   2865.11  102394.9
1  8388608    0.72    0.06     92.7279   1198.3084    5209   7197.55   93012.9

Les options disponibles

Pour inverser et effectuer un test de débit de A vers B, il faut utiliser l'option -r au lieu de l'option -t.

On peut notamment noter l'option -u pour forcer l'utilisation du protocole UDP en lieu et place de TCP.

Un petit coup de man:

Usage: nttcp [local options] host [remote options]
local/remote options are:
-t	transmit data (default for local side)
-r	receive data
-l#	length of bufs written to network (default 4k)
-m	use IP/multicasting for transmit (enforces -t -u)
-n#	number of source bufs written to network (default 2048)
-u	use UDP instead of TCP
-g#us	gap in micro seconds between UDP packets (default 0s)
-d	set SO_DEBUG in sockopt
-D	don't buffer TCP writes (sets TCP_NODELAY socket option)
-w#	set the send buffer space to #kilobytes, which is
dependent on the system - default is 16k
-T	print title line (default no)
-f	give own format of what and how to print
-c	compares each received buffer with expected value
-s	force stream pattern for UDP transmission
-S	give another initialisation for pattern generator
-p#   specify another service port
-i	behave as if started via inetd
-R#	calculate the getpid()/s rate from # getpid() calls
-v	more verbose output
-V	print version number and exit
-?    print this help
-N	remote number (internal use only)
default format is: %9b%8.2rt%8.2ct%12.4rbr%12.4cbr%8c%10.2rcr%10.1ccr