viernes, 20 de enero de 2012

Como usar un PING para ver el LAG


--> Este texto es un poco básico, pero algo es algo, lo importante es compartir el conocimiento ;)

Se denomina "LAG" a la lentitud de conexión que puede haber ya sea por interferencias (como en el WiFI), cuelgues (del servidor), saturacion de la red, etc. y una de las formas mas simples de calcular estos problemas es utilizando el comando PING desde el cmd de Windows (Símbolo de sistema) o la shell de Linux (terminal).

Por ahora explicare su funcionamiento en Windows, donde podremos acceder al símbolo de sistema de forma rapida presionando la tecla de windows + R (ejecutar) y luego escribiendo cmd (es la forma que yo uso :) .

El comando ping es imprescindible para saber nuestra verdadera velocidad de conexión con un sitio determinado, ya que si tenemos 10Mb de conexión pero el sitio al que nos conectamos tiene 3Mb nos vamos a quedar cortos ya que pocas conexiones son simetricas (por no decir ninguna xD), el formato para usar ping es: ping [dirección IP o dominio], como por ejemplo:
"ping www.google.com"

Esto dará como resultado lo siguiente:

Ping, Ventana cmd de ping

Se puede ver en la imagen anterior distintos apartados que yo dividiré en sectores:

1) El primer sector muestra la direccion del DNS y la IP original del dominio (que es google), con el detalle de ser un ping de 32 bytes de datos (256 bits) que vendría a ser el tamaño de cada paquete envidado al servidor (el cual contestara diciendo "pong" con otros paquetes del mismo tamaño).

2) El segundo sector muestra las 4 respuestas (4 paquetes de forma predeterminada) recibidas de la ip solicitada, del cual el tamaño (32 bytes) y el TTL (Time To Lite = Tiempo de vida) podemos excluir ya que lo mas importante es el tiempo en "ms" (milisegundos) que tardan los paquetes en ir y volver para calcular nuestra velocidad.

3) El ultimo sector muestra las estadisticas de recepción (donde no puede perderse ningún paquete), y los tiempos aproximados de ida y vuelta de todos los paquetes con una media en ms, el cual es sumamente importante y se explica abajo.

En sintesis: Cuanto mas alto sea el tiempo en ms, mas tarda el paquete en viajar y aquí agrego una pequeña tablita hecha por mi que mostraría (mas o menos) la velocidad de la red de acuerdo a los ms...

Tabla para Ping, Tablita de milisegundos

PD: Esta tabla esta hecha mas o menos para redes de adsl o banda ancha (1/10 Mbps), pero para otras redes como wifi o internas (intranets) puede que sean otros resultados. Ademas, si tenemos servicios de actualizaciones en segundo plano, programas P2P y otras aplicaciones, el hacer un ping nos permitira saber la velocidad real de nuestra PC.

Pasando de tema en el uso del ping, hay muchas opciones que conviene nombrar. Al usar el comando ping podemos agregar muchos parametros que nos pueden ser de ayuda:

Formato: "ping www.direccion.com -parametro"

-t = permite enviar un sinfin de pings hasta que preionemos la tecla Ctrl+C.
-a = resuelve direcciones de host dns (no es necesaria porque esta predeterminada).
-n = envia determinado numero de pings: www.google.com -n 10
-L = cambia el tamaño en bytes de los paquetes (muy util): www.google.com -L 128
-f = no fragmenta los paquetes
-i = indica el periodo de vida (TTL) del paquete de 1 a 255 para ver el tiempo de recepcion. El TTL predeterminado es de 50 y si el paquete muere en ese transcurso conviene aumentarlo.
-v = indica el tipo de servicio, de forma predeterminada TOS.
-r = indica la cuenta de saltos del 1 al 9 (casi nunca anda)
-s = especifica un tiempo en horas para la opcion anterior (ni lo intenten)
-w = indica el tiempo de espera en ms para cada respuesta (alternativa muy util a -i).

Los parametros -j y -k no los pude usar porque me rechaza siempre la "lista-de-host"; agradeceria a alguien que comente como usarlas bien.

Pueden ver todas estas opciones de ayuda escribiendo en el cmd "ping /?"

Para los que usen Linux es bastante parecido ya que Bill Gates y Paul Allen al crear MS-DOS 5 copiaron todos los comandos de red de Unix (que ya venian copiando desde MS-DOS 2.0) y que Bill perfecciono al morirse Paul cuando se copio el entorno (GUI) de Apple para hacer Windows. xD

lag

4 comentarios:

  1. ¿es posible colocar el comando ping en un archivo batch?... yo lo quise hacer asi en un archivo de nombre "ping.bat"

    @echo off
    ping www.google.com -t -L512 -f
    pause>nul

    pero se me hace 1 bucle y tengo que cerrar cmd con el taskmgr :(

    ¿alguna sugerencia?

    ResponderEliminar
    Respuestas
    1. Tu archivo Batch deberia funcionar correctamente... el problema radica en lo siguiente:

      LE COLOCASTES EL NOMBRE "PING" AL ARCHIVO .BAT

      ¿Que afecta esto?: cuando el archivo batch (ping.bat) tiene el mismo nombre del comando que convoca (ping.exe), aunque tenga distinta extencion va a buscar el programa solicitado comenzando por el directorio actual, en decir que se va a encontrar y abrir a si mismo lo que provocara un bucle :(

      para solucionarlo hay 2 formas:

      1) Le pones otro nombre al bat (ej: "mi_ping.bat")
      2) Le indicas la ruta donde se encuentra alojado el comando ping.exe de windows de las siguientes maneras:
      %systemroot%\system32\ping.exe
      %windir%\system32\ping.exe

      espero haberte ayudado :)

      salu2: nikos3194

      Eliminar
  2. Tu blog es muy original, la solicitud de dejar un comentario esta excelente!, como vez, surgio efecto. Excelentes tus citas. Te deseo la mejor de las suertes con tus emprendimientos.

    Marcelo

    ResponderEliminar
    Respuestas
    1. Gracias Marcelo por tu comentario. Eres el primero que hace esa observación respecto a la caricatura flotante de la esquina inferior derecha.

      Espero que este artículo haya sido de tu agrado.

      Eliminar