martes, 17 de enero de 2012

Como medir el Ancho de Banda entre hosts mediante ICMP

Solo es un promedio y es un aproximado (No es preciso)

Por ejemplo, Conexión Directa de mi laptop a una PC de escritorio, ambos con una tarjeta 100 Base T.

Después de un:

% man ping

Tenemos que con:

ping -c 100 -s 10232 192.168.0.1

# ping -c 100 -s 10232 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 10232 data bytes
10240 bytes from 192.168.0.1: icmp_seq=99 ttl=128 time=2.263 ms
#Muchas Respuestas Omitidas...
--- 192.168.0.1 ping statistics ---
100 packets transmitted, 100 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 2.134/2.261/2.437/0.042 ms

Nota que la maquina tardo en responderme bastante tiempo bueno, eso pienso yo (Creo que por que la PC de Escritorio es WIndows Vista)

Igual no ocupábamos tantos paquetes con unos cuantos hubiese bastado, puse muchos para sacar un promedio.


100 packets transmitted, 100 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 2.134/2.261/2.437/0.042 ms

Entonces mandamos en el paquete IP 8 Bytes de ICMP-Header y 10232 de Datos, lo cual suma mas mas o menos 10240 + unos bytes adicionales del IP-Header + el Ethernet-Header, Para efectos de demostración lo dejaremos en 10240 o mas breve mente 10KB.

un Segundo Tiene 1000 mili segundos, si el tiempo de ida y vuelta promedio fue de 2.261 ms supongo que solo le tomo 1.1305 ms de ida.

Entonces tenemos que en 1 segundo puedo mandar 10KB o mas, unas 884.5 veces esa cantidad de información. Teóricamente son cerca de ~9057280 Bytes lo que se resume como 8845KB o ~8.65 MB que son cerca de 100 Mb que dan las tarjetas de red, me imagino que lo que hace falta para por que si Transformamos 100 Mb a MB tenemos que deberían de ser 12.5 MB lo cual es el máximo Teórico.

Ahora probamos el tiempo mínimo de ida y vuelta.

2.134 ms
1.067 ms de solo enviarlos

En 1 Segundos podremos mandar 937.2 veces esa información lo que da un total de ~95970001 Bytes o 9372 KB o 9.15 MB .

Ahora en mi sistema puedo mandar un icmp flood con la opción -f de ping

# ping -f -s 20480 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 20480 data bytes
..^C.
--- 192.168.0.1 ping statistics ---
19155 packets transmitted, 19153 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 3.736/3.999/10.512/0.142 ms


ping -f -s 20480 192.168.0.1

19155 packets transmitted, 19153 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 3.736/3.999/10.512/0.142 ms

Solo perdimos 2 Paquetes en esta ocasión de 20KB

3.736 / 2 = 1.868

En 1 Segundo 535 con lo que tenemos 10963597 Bytes o 10706 KB o10.45 MB lo cual es mas aproximado a los 12.5 MB/s Teóricos.

Publicar un comentario

Buscar en el Blog

Populares siempre