Tips en Trucs 2012

De snelheid van een netwerkverbinding tussen twee computers meten

Na een probleemmelding of na een aanpassing van de netwerkinfrastructuur is het bepalen van de snelheid tussen twee servers een waardevolle test. Het gebruik van ftp, scp of een ander protocol om bestanden te verzenden geeft een indicatie over de snelheid van de verbinding. De snelheid van bestandsoverdracht is echter ook afhankelijk van de snelheid van de harde schijf en de processor.

Iperf

Iperf is ontworpen door NLANR/DAST als een modern alternatief om de maximale TCP en UDP doorvoer te meten. Iperf laat u toe verschillende parameters en UDP karakteristieken perfect af te regelen. Iperf rapporteert de bandbreedte (doorvoersnelheid), delay jitter (vertraging bij het afleveren van een datapakket) en datagram loss (niet aangekomen datapakketten).

De kwaliteit van een verbinding kan als volgt getest worden:

De bandbreedte wordt gemeten met TCP testen.

Het verschil tussen TCP (Transmission Control Protocol) en UDP (User Datagram Protocol) is dat TCP controleert of de pakketten goed naar de ontvanger verzonden zijn, bij UDP worden de pakketten zonder controle verzonden. Dit zorgt er voor dat UDP sneller is dan TCP. Iperf gebruikt de verschillende mogelijkheden van TCP en UDP om gegevens over een netwerkverbinding te verzamelen.

Een voorbeeld

ipref labo
Op de server
dany@linux-ezca:~> iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 36394
------------------------------------------------------------
Client connecting to 10.6.2.5, TCP port 5001
TCP window size: 98.6 KByte (default)
------------------------------------------------------------
[  6] local 10.1.1.1 port 51649 connected with 10.6.2.5 port 5001
Waiting for server threads to complete. Interrupt again to force quit.
[ ID] Interval       Transfer     Bandwidth
[  6]  0.0-10.0 sec  1.06 GBytes   911 Mbits/sec
[  4]  0.0-10.0 sec   503 MBytes   421 Mbits/sec
Op de client
dany@linux-bxth:~> 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:  126 KByte (default)
------------------------------------------------------------
[  5] local 10.6.2.5 port 36394 connected with 10.1.1.1 port 5001
[  4] local 10.6.2.5 port 5001 connected with 10.1.1.1 port 51649
[ ID] Interval       Transfer     Bandwidth
[  5]  0.0-10.0 sec   503 MBytes   421 Mbits/sec
[  4]  0.0-10.0 sec  1.06 GBytes   909 Mbits/sec

Aangezien poort 5001 voor de test gebruikt wordt, moet op beide computers TCP poort 5001 in de firewall geopend worden. In openSUSE gebruik je daarvoor de opdracht:
sudo /sbin/yast2 firewall services add zone=EXT tcpport=5001

De bandbreedte van een netwerkverbinding tussen twee computers bepaal je dus met Iperf (met de juiste argumenten).

Een complete gids vind je op de site http://openmaniak.com/iperf.php.