Siempre medimos la velocidad con Speedtest ya que consideramos que su modelo de expansión es acertado, es como una franquicia, sin contar de que ellos iniciaron con aplicaciones Flashplayer y con el tiempo corrigieron y ahora es puro HTML5 además que en Linux tienen una aplicación sólida por ventana terminal, es decir, sin interfaz gráfica.
Todo esto bien pero… ¿Qué tal si queremos tener nuestras propias medidas?
Tabla de contenido:
iperf
Historia
En realidad el nombre correcto es iperf2 y el original iperf fue escrito originalmente por Mark Gates y Alex Warshavsky. Siguieron con la batuta Ajay Tirumala, Jim Ferguson, Jon Dugan, Feng Qin, Kevin Gibbs, John Estabrook, Andrew Gallatin, Stephen Hemminger, Tim Auckland y Robert J. McMahon. Su código fuente reposa en SourceForge, aquí evaluamos la versión 2.0.10 liberada el 2 de junio de 2018 pero existe una versión 3.0 (código fuente en GitHub) que no es compatible con esta versión. iperf3 tiene su propio sitio oficial el cual pueden visitar en este enlace.
Instalación
La herramienta iperf el cual puede funcionar tanto como servidor y también como cliente. En cualquier distribución Debian (la probamos sobre Ubuntu 18.04 y Lubuntu 18.04) instalamos de manera sencilla:
sudo apt install iperf
Ejecutando el servidor
Simplemente utilizamos la opción –server o con su forma abreviada -s sin más. El puerto por defecto es el 5000 pero podemos especificar uno diferente con el parámetro -p o -port; vale recordar que si utilizamos algún muro de fuego (generalmente ufw) debemos hacer la excepción para lograr comunicación.
Si deseamos configurar como un servidor fijo para medir velocidad deberemos usar la opción -D o –daemon y fijarlo para que se ejecute automáticamente al arrancar nuestro ordenador; si tenemos direcciones IPv6 usaremos el comando -V o –ipv6_domain (sin dejar de usar IPv4).
Ejecutando el cliente
En el lado del cliente utilizaremos algunas opciones específicas:
- -c o –client: la dirección IP o el dominio de nuestro servidor.
- -i o–interval: el número de segundos para mostrar resultados parciales de la prueba de velocidad.
- -t o –time: el número de segundos para nuevas conexiones, dado el caso haya algún inconveniente, por defecto 10 segundos.
Otras opciones que pueden ser útiles son:
- -F o -fileinput: especificar un archivo para transmitir y medir con esos datos específicos.
- -R o –reverse: para cuando tenemos un muro de fuego.
- -L o –listenport: para hacer pruebas bidireccionales, establecer un puerto alterno.
IPv6
Actualizado el viernes 13 de septiembre de 2019
Realizamos unas pruebas con un servidor en Reino Unido y un cliente en Canadá: en ambos reinos están actualizados con IPv6 y como nuestra curiosidad es maratónica pues nos propusimos probar no sin antes realizar una prueba, primero, con IPv4 desde acá, desde Valencia, Venezuela (ofuscamos las direcciones IP, hay mucho cracker suelto por ahí, para hacker con nosotros basta y sobra).
IPv4 desde Venezuela
A esta fecha CANTV cumple con la décima parte del plan que contratamos, 10 megabits por segundo…
IPv4 desde Canadá hasta Reino Unido
iperf IPv6 desde cliente Canadá a servidor en Reino Unido
En esta prueba verificamos que la misma velocidad promedio de 300 megabits fue obtenida, siempre por TCP… lo curioso del asunto es que con UDP nunca sobrepasamos poco más allá de 1 megabit por segundo (en teoría debería ser más rápido porque este protocolo no requiere confirmación de recepción), así que ese es el asunto pendiente para el siguiente experimento; mientras tanto acá los valores recabados:
Configurando UFW
Actualizado el sábado 3 de septiembre de 2022
Montando un servidor FTP en un servidor HP, antes de ponerlo a funcionar me dio por medir la velocidad tanto por cable como por inalámbrico y recordé que se debe habilitar iperf para UFW…
El asunto es que el programa no trae un perfil que describa al menos algo muy importante: el número de puerto a habilitar. Obvio, se le puede ordenar a UFW que abra tal puerto pero para propósitos administrativos lo mejor es ser explícitos:
Esto se logra creando el siguiente fichero que he tomado de la lista de correos de reporte de errores de Debian:
Guardar con el siguiente nombre y ruta:
Fuentes consultadas
En idioma inglés
- «Increase your Linux server Internet speed with TCP BBR congestion control».
- «Benchmarking 10G Networking With Iperf».
- «Testing 10G network with iperf».
- «How to test IPv6 with iperf».
<Eso es todo, por ahora>.