Estimados lectores en esta nueva entrada vamos a ver cómo medir el bandwidth usando iperf, una herramienta ligera que nos puede ayudar a identificar problemas de caudal en nuestro Networking LAN o también WAN si permitimos el tráfico el cual, de forma predeterminada, utiliza el puerto TCP 5001 (en el caso de iperf3, TCP 5201).
iperf mide el ancho de banda que existe entre dos puntos mediante una comunicación tipo Cliente-Servidor. Es por ello que la herramienta se ejecuta tanto en el origen (Servidor) como en el destino (Cliente) como podemos ver en siguiente ejemplo (asumimos que la herramienta iperf3 ha sido previamente instalada):
Servidor
root@servidor:~# iperf3 -s Server listening on 5201 Accepted connection from 192.168.111.254, port 8102 [ 5] local 192.168.111.1 port 5201 connected to 192.168.111.254 port 8103 [ ID] Interval Transfer Bandwidth [ 5] 0.00-1.00 sec 99.9 MBytes 838 Mbits/sec [ 5] 1.00-2.00 sec 104 MBytes 870 Mbits/sec [ 5] 2.00-3.00 sec 109 MBytes 916 Mbits/sec [ 5] 3.00-4.00 sec 109 MBytes 918 Mbits/sec [ 5] 4.00-5.00 sec 109 MBytes 912 Mbits/sec [ 5] 5.00-6.00 sec 112 MBytes 943 Mbits/sec [ 5] 6.00-7.00 sec 105 MBytes 879 Mbits/sec [ 5] 7.00-8.00 sec 112 MBytes 944 Mbits/sec [ 5] 8.00-9.00 sec 113 MBytes 944 Mbits/sec [ 5] 9.00-10.00 sec 106 MBytes 889 Mbits/sec [ 5] 10.00-10.04 sec 4.36 MBytes 944 Mbits/sec [ ID] Interval Transfer Bandwidth [ 5] 0.00-10.04 sec 0.00 Bytes 0.00 bits/sec sender [ 5] 0.00-10.04 sec 1.06 GBytes 905 Mbits/sec receiver
Cliente
C:\ClienteWindows>iperf3 -c 192.168.111.1 Connecting to host 192.168.111.1, port 5201 [ 4] local 192.168.111.254 port 8103 connected to 192.168.111.1 port 5201 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.00 sec 104 MBytes 871 Mbits/sec [ 4] 1.00-2.00 sec 104 MBytes 873 Mbits/sec [ 4] 2.00-3.00 sec 109 MBytes 917 Mbits/sec [ 4] 3.00-4.00 sec 109 MBytes 917 Mbits/sec [ 4] 4.00-5.00 sec 109 MBytes 912 Mbits/sec [ 4] 5.00-6.00 sec 112 MBytes 941 Mbits/sec [ 4] 6.00-7.00 sec 105 MBytes 881 Mbits/sec [ 4] 7.00-8.00 sec 112 MBytes 943 Mbits/sec [ 4] 8.00-9.00 sec 113 MBytes 944 Mbits/sec [ 4] 9.00-10.00 sec 106 MBytes 890 Mbits/sec [ ID] Interval Transfer Bandwidth [ 4] 0.00-10.00 sec 1.06 GBytes 909 Mbits/sec sender [ 4] 0.00-10.00 sec 1.06 GBytes 909 Mbits/sec receiver iperf Done.
En el ejemplo utilizamos como Servidor un equipo Linux (concretamente una instancia de OpenWrt/LEDE) mientras que en el otro extremo tenemos un Cliente Windows. Desde el cliente, con -R, podemos hacer la operación a la inversa: el servidor es quien envía los datos y el cliente quien los recibe (por defecto es a la inversa).
Para poder medir el ancho de banda desde y/o hacia Internet (abriendo los correspondientes puertos en nuestro perímetro) podemos usar como referencia esta lista de servidores públicos: https://speedtest.serverius.net
Otra herramienta interesante que podemos utilizar es el TCP Throughput calculator la cual nos da información teórica sobre los límites de red esperados que podemos comparar con los resultados del test realizado con iperf.
This Post by David Solé Pérez is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License