Páginas

miércoles, 25 de septiembre de 2013

Medir el ancho de banda de una conexión VPN

Hola

Supongamos que todo un grupo de usuarios tienen que conectar al escritorio remoto de sus máquinas de la oficina a través de la VPN de la empresa, pero no tenemos muy claro cual es el ancho de banda disponible en la VPN ni cual será el límite impuesto para cada conexión.

Sin éste dato es difícil asegurar qué herramientas de acceso remoto no serán adecuadas por el consumo de ancho de banda que implican sus protocolos:
  • VNC (protocolo RFB)
  • Terminal Server (protocolo RDP)
  • NX (protocolo X11)
Para medir el ancho de banda de la conexión VPN podemos usar la utilidad iperf. Ésta utilidad deberá ser instalada en dos máquinas, la primera sería nuestro portatil (en casa) y la segunda nuestra máquina de la oficina a la que nos debemos conectar de forma remota.

Para instalarlo lanzamos el mismo comando en ambas máquinas:

    sudo apt-get install iperf

Primero configuramos iperf en la máquina de la oficina para que actúe como servidor:

    iperf -s -p XXXXX -f KBytes

    Donde -p XXXXX define el puerto de escucha, por defecto 5001.
    Donde -f KBytes define que los resultados sea generen en KBytes.

Seguidamente configuramos iperf en el portatil para que actúe como cliente y lance las pruebas:

    iperf -c XXX.XXX.XXX.XXX -p XXXXX -t 100 -P 1

    Donde -c XXX.XXX.XXX.XXX define la dirección IP de la máquina 'servidor'.
    Donde -p XXXXX define el puerto donde iperf escucha en el servidor.
    Donde -t 100 define el tiempo que dura el test, por defecto 10 segundos.
    Donde -P 1 define el número de clientes concurrentes, por defecto 1.

Por defecto, es el cliente es el que manda datos al servidor durante 10 segundos.

Nota 1. Éstas medidas varían dependiendo del tráfico de la VPN y del tráfico en la red de la oficina. Es interesante repetirlas a distintas horas para observar las diferencias.

Nota 2. Si queremos realizar pruebas de velocidad en el otro sentido (subida desde el server al cliente) podemos intercambiar los roles de ambas máquinas.

Nota 3. Evidentemente podemos usar iperf para medir el ancho de banda disponible en cualquier conexión entre dos máquinas, ésto es sólo un ejemplo de uso.

Ejemplo.

Se puede jugar con la herramienta en local para probar los distintos parámetros (iperf --help). Veamos un ejemplo:

1) En un terminal de nuestro portatil levantamos el servidor iperf escuchando en el puerto 9999:

eduardo@Dune:~$ iperf -s -p 9999 -f KBytes
------------------------------------------------------------
Server listening on TCP port 9999
TCP window size: 85.3 KByte (default)
------------------------------------------------------------


2) En un segundo terminal de nuestro portatil lanzamos el cliente, simulando 10 usuarios concurrentes y durante un tiempo de 100 segundos:

eduardo@Dune:~$ iperf -c 127.0.0.1 -p9999 -t 100 -P 10
------------------------------------------------------------
Client connecting to 127.0.0.1, TCP port 9999
TCP window size:  167 KByte (default)
------------------------------------------------------------
[  4] local 127.0.0.1 port 48966 connected with 127.0.0.1 port 9999
[  5] local 127.0.0.1 port 48967 connected with 127.0.0.1 port 9999
[  7] local 127.0.0.1 port 48969 connected with 127.0.0.1 port 9999
[  8] local 127.0.0.1 port 48970 connected with 127.0.0.1 port 9999
[  9] local 127.0.0.1 port 48971 connected with 127.0.0.1 port 9999
[  6] local 127.0.0.1 port 48968 connected with 127.0.0.1 port 9999
[ 10] local 127.0.0.1 port 48972 connected with 127.0.0.1 port 9999
[  3] local 127.0.0.1 port 48965 connected with 127.0.0.1 port 9999
[ 11] local 127.0.0.1 port 48973 connected with 127.0.0.1 port 9999
[ 12] local 127.0.0.1 port 48974 connected with 127.0.0.1 port 9999
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-100.0 sec  13.2 GBytes  1.13 Gbits/sec
[  7]  0.0-100.0 sec  11.1 GBytes   950 Mbits/sec
[  8]  0.0-100.0 sec  11.9 GBytes  1.02 Gbits/sec
[  6]  0.0-100.0 sec  16.6 GBytes  1.43 Gbits/sec
[  3]  0.0-100.0 sec  11.8 GBytes  1.02 Gbits/sec
[  5]  0.0-100.0 sec  12.0 GBytes  1.03 Gbits/sec
[  9]  0.0-100.0 sec  10.9 GBytes   940 Mbits/sec
[ 10]  0.0-100.0 sec  13.0 GBytes  1.12 Gbits/sec
[ 11]  0.0-100.0 sec  13.0 GBytes  1.11 Gbits/sec
[ 12]  0.0-100.0 sec  10.8 GBytes   924 Mbits/sec
[SUM]  0.0-100.0 sec   124 GBytes  10.7 Gbits/sec


Qué buen canuto ¿verdad? ;-)

Un saludo

No hay comentarios:

Publicar un comentario