Monitoreo

Las redes de computadoras (y las inalámbricas en particular) son invenciones increíblemente entretenidas y útiles. Excepto, por supuesto, cuando no funcionan. Sus usuarios se pueden quejar de que la red es “lenta” o “no funciona” ¿pero qué significa esto realmente? Sin comprender qué es lo que realmente está pasando, administrar una red puede ser muy frustrante.

Para ser un administrador de red efectivo, necesita tener acceso a herramientas que le muestren exactamente qué es lo que está sucediendo en su red. Existen varias clases diferentes de herramientas de monitoreo. Cada una le muestra un aspecto diferente de lo que “está pasando”, desde la interacción física del radio a las formas en que las aplicaciones de los usuarios interactúan entre ellas. Al observar el desempeño de la red a través del tiempo se puede tener una idea de lo que es “normal” para ella, y ser notificado automáticamente cuando las cosas están fuera de orden. Las herramientas que presentamos en esta sección son bastante poderosas, y se pueden descargar gratuitamente de las fuentes listadas.

Detección de redes

Las herramientas de monitoreo comunes, simplemente proveen una lista de redes disponibles con información básica (tales como intensidad de la señal y canal). Le permiten detectar rápidamente redes cercanas y determinar si están dentro de su alcance o si están causando interferencia.

  • Las incorporadas en el cliente. Todos los sistemas operativos modernos proveen soporte incorporado para redes inalámbricas. En general este incluye la habilidad de explorar en búsqueda de redes disponibles, permitiéndole al usuario elegir una red de la lista. Si bien prácticamente todos los dispositivos inalámbricos incluyen una utilidad simple de exploración, las funcionalidades puede variar ampliamente entre implementaciones. En general, son útiles solamente para configurar una computadora en su hogar o en la oficina. Tienden a proveer poca información además de los nombres de las redes y la señal disponible para el punto de acceso en uso actualmente.
  • Netstumbler (http://www.netstumbler.com/). Es la herramienta más popular para detectar redes inalámbricas utilizando Microsoft Windows. Soporta una variedad de tarjetas inalámbricas, y es muy sencilla de utilizar. Detecta redes abiertas y encriptadas, pero no puede detectar redes inalámbricas “cerradas”. También ofrece un medidor de señal/ruido que grafica la señal recibida a lo largo del tiempo. También se puede integrar con una variedad de dispositivos GPS, para registrar ubicaciones precisas e información sobre la potencia de la señal. Todo esto hace que Netstumbler sea una herramienta accesible para realizar una prospección informal de la zona.
  • Ministumbler (http://www.netstumbler.com/). De los realizadores de Netstumbler, Ministumbler provee muchas de las mismas funcionalidades que la versión de Windows, pero funciona en las plataformas Pocket PC. Ministumbler se puede correr en PDAs portátiles con una tarjeta inalámbrica para detectar puntos de acceso en la zona.
  • Macstumbler (http://www.macstumbler.com/). Si bien no está relacionado directamente con Netstumbler, Macstumbler brinda muchas de sus funcionalidades pero para la plataforma Mac OS X. Funciona con todas las tarjetas Apple Airport.
  • Wellenreiter (http://www.wellenreiter.net/). Wellenreiter es un buen detector gráfico de redes inalámbricas para Linux. Requiere Perl y GTK, y soporta tarjetas inalámbricas Prism2, Lucent, y Cisco.

Analizadores de protocolos

Los analizadores de protocolos de redes una gran cantidad de detalles de la información que fluye por una red, permitiendo inspeccionar paquetes individualmente. Para las redes cableadas, pueden inspeccionar paquetes en la capa de enlace de datos o en una superior. Para el caso de las redes inalámbricas, se puede inspeccionar información hasta las tramas 802.11. Aquí hay varios analizadores de protocolos de redes populares (y gratuitas):

  • Ethereal (http://www.ethereal.com/). Ethereal probablemente sea el analizador de protocolos más popular de los que tenemos a disposición. Funciona con Linux, Windows, Mac OS X, y con varios sistemas BSD. Ethereal capturara los paquetes directamente “del cable” y los despliega en una interfaz gráfica intuitiva. Puede decodificar más de 750 protocolos, desde las tramas 802.11 a los paquetes HTTP. Fácilmente reensambla los paquetes fragmentados y sigue las sesiones TCP por completo, aún si otros datos se han intercalado en la muestra. Ethereal es muy importante para resolver problemas difíciles de la red, y averiguar que es exactamente lo que está sucediendo cuando dos computadoras conversan “en el cable”.
  • Kismet (http://www.kismetwireless.net/). Kismet es un poderoso analizador de protocolos inalámbrico para Linux, Mac OS X, y la distribución Linux embebida OpenWRT. Funciona con cualquier tarjeta inalámbrica que soporte el modo monitor pasivo. Además de la detección básica de redes, Kismet registra pasivamente todas las tramas 802.11 al disco o la red en el formato estándar PCAP, para su futuro análisis con herramientas como Ethereal. Kismet también ofrece información asociada del cliente, impresión digital del modelo del AP, detección con Netstumbler, e integración GPS.

Como es un monitor pasivo de la red también puede detectar redes inalámbricas “cerradas”, analizando el tráfico enviado por los clientes. Se puede instalar Kismet en varias computadoras al mismo tiempo, y hacer que todas reporten a través de la red a una misma interfaz de usuario. Esto permite realizar un monitoreo inalámbrico sobre grandes áreas, tales como un campus universitario o corporativo. Como utiliza el modo de monitoreo pasivo, hace todo esto sin transmitir ningún dato.

  • KisMAC (http://kismac.binaervarianz.de/). Desarrollado exclusivamente para la plataforma Mac OS X, KisMAC puede hacer mucho de lo que Kismet hace, pero con una interfaz gráfica Mac OS X muy elaborada. Es un rastreador pasivo que registra datos al disco en un formato PCAP compatible con Ethereal. No soporta un rastreo pasivo con tarjetas AirportExtreme (debido a las limitaciones en el manejador inalámbrico), pero soporta el modo pasivo con una variedad de tarjetas inalámbricas USB.
  • Driftnet y Etherpeg. Estas herramientas decodifican datos gráficos (como los archivos GIF y JPEG) y los despliegan como un collage. Como mencionamos anteriormente, herramientas como ésta tienen un uso limitado en la resolución de problemas, pero tienen mucho valor para demostrar la inseguridad de los protocolos sin encriptación. Etherpeg está disponible en http://www.etherpeg.org/, y Driftnet puede descargarse en http://www.ex-parrot.com/~chris/driftnet/.

Monitoreo del ancho de banda

La red está lenta. ¿Quién está acaparando todo el ancho de banda? Utilizando una buena herramienta de monitoreo, puede determinar fácilmente la fuente que inunda su red de correo no deseado y de virus. Dichas herramientas también lo pueden ayudar a planificar los incrementos de capacidad requeridos para mantener los usuarios satisfechos. Al mismo tiempo le dan una representación visual de cómo fluye el tráfico en la red, incluyendo el que proviene de una computadora o servicio en particular.

  • MRTG (http://people.ee.ethz.ch/~oetiker/webtools/mrtg/). La mayoría de los administradores de red se han encontrado con MRTG en algún punto de su carrera. Escrito originalmente en 1995, MRTG posiblemente sea la aplicación de monitoreo de ancho de banda más usada. Utilizando Perl y C, construye una página web llena de gráficos detallando el tráfico saliente y entrante en un dispositivo de red en particular. Con MRTG es muy sencillo consultar conmutadores de red, puntos de acceso, servidores, así como otros dispositivos, y desplegar los resultados como gráficos en función

del tiempo.

  • RRDtool (http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/). Desarrollado por la misma gente que escribió mrtg, rrdtool es una aplicación de monitoreo genérica más poderosa. RRD es una abreviatura de base de datos de recorrido circular (Round-Robin Database por su nombre en inglés). Este es un formato de datos genérico que le permite seguir cualquier punto de datos como un conjunto promediado en el tiempo. Si bien rrdtool no monitorea directamente interfaces o dispositivos, muchos paquetes de monitoreo confían en él para almacenar y desplegar los datos que colectan. Con unos pocos programas de consola, puede monitorear fácilmente los conmutadores y puntos de acceso de su red, y trazar de forma gráfica en una página web el ancho de banda utilizado.
  • ntop (http://www.ntop.org/). Para realizar un análisis histórico del tráfico y del uso de la red, seguramente usted va a querer investigar ntop. Este programa construye un reporte detallado en tiempo real de lo que observa en el tráfico de la red, y lo despliega en su navegador web. Se integra con rrdtool, y realiza gráficos y cuadros visuales que representan cómo está siendo usada la red. En redes muy pesadas ntop puede consumir mucha capacidad de la CPU y espacio del disco, pero le brinda un extensivo análisis de cómo está siendo utilizada su red. Funciona en Linux, BSD,

Mac OS X, y Windows.

  • iptraf (http://iptraf.seul.org/). Si necesita tomar una instantánea de la actividad de la red en un sistema Linux, inténtelo con iptraf. Ésta es una utilidad de línea de comando que le brinda en segundos una mirada sobre las conexiones y el flujo de su red, incluyendo puertos y protocolos. Puede ser muy buena para determinar quién está usando un enlace inalámbrico en particular, y cuanta carga se le está imponiendo. Por ejemplo, al mostrar una estadística detallada acerca de una interfaz, usted puede encontrar instantáneamente los usuarios de programas de intercambio entre pares (P2P o peer-to-peer como se les conoce en inglés) y determinar exactamente cuánto ancho de banda están utilizando en cierto momento.

Resolución de problemas

¿Qué hace cuando la red se daña? Si no puede acceder a una página web o a un servidor de correo electrónico, y el problema no se soluciona presionando el botón de “actualizar”, ustedes hace necesario aislar la ubicación exacta del problema. Estas herramientas lo van a ayudar a determinar dónde se encuentra exactamente un problema de la conexión.

  • ping. Casi todos los sistemas operativos (incluyendo Windows, Mac OS X, y por supuesto Linux y BSD) incluyen una versión de la utilidad ping. Utiliza paquetes ICMP para intentar contactar un servidor específico y le informa a usted cuánto tiempo lleva obtener una respuesta.

Saber qué contactar es tan importante como saber cómo hacerlo. Si usted no puede conectarse a un servicio en su navegador web (por ejemplo, http://yahoo.com/), puede intentar contactarlo:

$ ping yahoo.com
PING yahoo.com (66.94.234.13): 56 data bytes
64 bytes from 66.94.234.13: icmp_seq=0 ttl=57 time=29.375 ms
64 bytes from 66.94.234.13: icmp_seq=1 ttl=56 time=35.467 ms
64 bytes from 66.94.234.13: icmp_seq=2 ttl=56 time=34.158 ms
^C
--- yahoo.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 29.375/33.000/35.467/2.618 ms

Presione control-C cuando haya terminado de colectar datos. Si los paquetes se toman mucho tiempo en regresar, puede haber una congestión en la red. Si el retorno de los paquetes de contacto tiene un ttl inusualmente bajo, puede que haya problemas de enrutamiento entre su computadora y el extremo remoto. ¿Pero qué sucede si el contacto no regresa ningún dato? Si está contactando un nombre en lugar de una dirección IP, puede que tenga problemas de DNS.

Intente contactar una dirección IP en Internet. Si no puede acceder a ella, es una buena idea observar si puede contactar su enrutador por omisión:

$ ping 216.231.38.1
PING 216.231.38.1 (216.231.38.1): 56 data bytes
64 bytes from 216.231.38.1: icmp_seq=0 ttl=126 time=12.991 ms
64 bytes from 216.231.38.1: icmp_seq=1 ttl=126 time=14.869 ms
64 bytes from 216.231.38.1: icmp_seq=2 ttl=126 time=13.897 ms
^C
--- 216.231.38.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 12.991/13.919/14.869/0.767 ms

Si no puede contactar a su enrutador por omisión, entonces lo más probable es que tampoco pueda acceder a Internet. Si tampoco puede contactar otras direcciones IP en su LAN local, es tiempo de verificar su conexión. Si está utilizando cable Ethernet, ¿está enchufado? Si está utilizando una conexión inalámbrica, ¿esta usted conectado a la red correcta, y está la red dentro de su alcance?

El diagnóstico de problemas de la red con ping es casi un arte, pero es muy útil. Ya que probablemente usted va a encontrar ping en casi cualquier computadora con la que trabaje, es una buena idea aprender cómo usarlo apropiadamente.

  • traceroute y mtr (http://www.bitwizard.nl/mtr/). Como sucede con ping, traceroute está en la mayoría de los sistemas operativos (en algunas versiones de Microsoft Windows se le denomina tracert). Si corre traceroute, puede rastrear la ubicación de los problemas entre su computadora y cualquier punto en Internet:
$ traceroute -n google.com
traceroute to google.com (72.14.207.99), 64 hops max, 40 byte packets
1 10.15.6.1 4.322 ms 1.763 ms 1.731 ms
2 216.231.38.1 36.187 ms 14.648 ms 13.561 ms
3 69.17.83.233 14.197 ms 13.256 ms 13.267 ms
4 69.17.83.150 32.478 ms 29.545 ms 27.494 ms
5 198.32.176.31 40.788 ms 28.160 ms 28.115 ms
6 66.249.94.14 28.601 ms 29.913 ms 28.811 ms
7 172.16.236.8 2328.809 ms 2528.944 ms 2428.719 ms
8 * * *

La opción -n le dice a traceroute que no se preocupe por resolver los nombres en el DNS, y hace que el programa corra más rápido. Usted puede ver que en el salto siete, el tiempo de recorrido de ida y vuelta se dispara a más de dos segundos, mientras que los paquetes parece que se desechan en el salto ocho. Esto puede indicar un problema en ese punto de la red. Si esta parte de la red está bajo su control, vale la pena comenzar sus esfuerzos para resolver el problema por allí.

My TraceRoute (mtr) es un programa que combina ping y traceroute en una sola herramienta. Corriendo mtr, puede obtener un promedio de la latencia y la pérdida de paquetes hacia un servidor en cierto lapso, en lugar de la visión instantánea que ofrecen ping y traceroute.

                              My traceroute [v0.69]
tesla.rob.swn (0.0.0.0)         (tos=0x0 psize=64 bitpatSun Jan 8 20:01:26 2006
Keys:   Help   Display mode   Restart statistics   Order of fields   quit
                                        Packets               Pings
Host                                  Loss%   Snt   Last   Avg  Best  Wrst StDev
1. gremlin.rob.swn                     0.0%     4    1.9   2.0   1.7   2.6   0.4
2. er1.sea1.speakeasy.net              0.0%     4   15.5  14.0  12.7  15.5   1.3
3. 220.ge-0-1-0.cr2.sea1.speakeasy.    0.0%     4   11.0  11.7  10.7  14.0   1.6
4. fe-0-3-0.cr2.sfo1.speakeasy.net     0.0%     4   36.0  34.7  28.7  38.1   4.1
5. bas1-m.pao.yahoo.com                0.0%     4   27.9  29.6  27.9  33.0   2.4
6. so-1-1-0.pat1.dce.yahoo.com         0.0%     4   89.7  91.0  89.7  93.0   1.4
7. ae1.p400.msr1.dcn.yahoo.com         0.0%     4   91.2  93.1  90.8  99.2   4.1
8. ge5-2.bas1-m.dcn.yahoo.com          0.0%     4   89.3  91.0  89.3  93.4   1.9

Los datos van a ser actualizados y promediados continuamente. Al igual que con ping, cuando haya terminado de observar los datos debe presionar control-C. Tenga en cuenta que para usar mtr debe tener privilegios de administrador (root).

Si bien estas herramientas no van a revelar exactamente qué es lo que está funcionando mal en una red, pueden darle información suficiente para saber por dónde continuar en la resolución de problemas.

Prueba de rendimiento

¿Cuán rápido puede funcionar la red? ¿Cuál es la capacidad real utilizable en un enlace específico de la red? Puede obtener una muy buena estimación de su capacidad de rendimiento inundando el enlace con tráfico y midiendo cuánto demora en transferir los datos. Aunque existen páginas web que pueden hacer una “prueba de velocidad” en su navegador (como http://www.dslreports.com/stest), esas pruebas son altamente inexactas si usted está lejos de la fuente de prueba. Aún peor, no le permiten medir la velocidad de un enlace en particular, sino solamente la velocidad de su enlace a Internet. Le presentamos dos herramientas que le van a permitir realizar una prueba de rendimiento en su propia red.

  • ttcp (http://ftp.arl.mil/ftp/pub/ttcp/). Actualmente es una parte estándar de la mayoría de los sistemas tipo Unix. ttcp es una simple herramienta de prueba de red. Se corre en cualquier lado del enlace que usted quiera probar. El primer nodo actúa en modo receptor, y el otro transmite:
node_a$ ttcp -r -s

node_b$ ttcp -t -s node_a
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> node_a
ttcp-t: socket
ttcp-t: connect
ttcp-t: 16777216 bytes in 249.14 real seconds = 65.76 KB/sec +++
ttcp-t: 2048 I/O calls, msec/call = 124.57, calls/sec = 8.22
ttcp-t: 0.0user 0.2sys 4:09real 0% 0i+0d 0maxrss 0+0pf 7533+0csw

Después de recolectar los datos en una dirección, debe invertir el par de transmisión y recepción para probar el enlace en la otra dirección. Puede probar flujos UDP así como TCP, alterar varios parámetros TCP y el largo de la memoria intermedia (buffer) para probar la red bajo fuertes exigencias. Además, el usuario puede especificar los datos a enviar en la prueba, en lugar de enviar datos generados aleatoriamente. Recuerde que la velocidad de lectura está en kilobytes, no en kilobits. Multiplique el resultado por 8 para encontrar la velocidad en kilobits por segundo.

La única desventaja real de ttcp, es que hace años que no ha sido actualizado. Afortunadamente, el código es de dominio público y está disponible gratuitamente. Al igual que ping y traceroute, ttcp es una herramienta estándar en muchos sistemas.

  • iperf (http://dast.nlanr.net/Projects/Iperf/). Al igual que ttcp, iperf es una herramienta de línea de comandos para estimar el rendimiento de una conexión de red. Soporta muchas de las mismas características que ttcp, pero utiliza un modelo “cliente” y uno “servidor” en lugar del par “receptor” y “transmisor”. Para correr iperf, inicie un servidor en un lado y un cliente en el otro:
node_a$ iperf -s

node_b$ iperf -c node_a
------------------------------------------------------------
Client connecting to node_a, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  5] local 10.15.6.1 port 1212 connected with 10.15.6.23 port 5001
[ ID] Interval       Transfer     Bandwidth
[  5]  0.0-11.3 sec   768 KBytes   558 Kbits/sec

El lado del servidor continuará escuchando y aceptando conexiones del cliente en el puerto 5001 hasta que usted presione control-C para detenerlo. Esto puede ser útil si corremos varias tandas de pruebas desde diferentes lugares.

La mayor diferencia entre ttcp e iperf es que iperf está siendo desarrollado activamente, y tiene muchas características nuevas (incluyendo soporte IPv6). Esto lo hace una buena elección cuando construimos redes nuevas.

Salud de la red

Siguiendo la información a través del tiempo, usted puede tener una idea general de la salud de la red y sus servicios. Estas herramientas muestran las tendencias de su red y pueden incluso notificar a las personas cuando se presenten problemas. Muy a menudo, los sistemas van a notar el problema aún antes de que una persona llame solicitando soporte técnico.

  • cacti (http://www.cacti.net/). Como mencionamos anteriormente, muchas herramientas utilizan RRDtool como programa de soporte (back-end) para armar gráficos con los datos que ellas recolectan. Cacti es una herramienta de ese tipo. Es una herramienta de gestión de redes basada en PHP que simplifica la recolección de datos y la generación de gráficos. Almacena su configuración en una base de datos MySQL, y está integrada con SNMP. Cacti hace muy sencillo el mapeo de todos los dispositivos en su red y monitorea todo, desde el flujo de la red hasta la carga del CPU. Tiene un esquema extensible de recolección de datos que le permite captar casi cualquier tipo de datos que se le ocurra (tales como señales de radio, ruido, o usuarios asociados) y desplegarlos en un gráfico en función del tiempo. Representaciones pequeñas (thumbnails) de sus gráficos pueden combinarse en una única página. Esto le permite observar el estado global de su red de una sola ojeada.
  • SmokePing (http://people.ee.ethz.ch/~oetiker/webtools/smokeping/). Otra de las herramientas desarrollada por Tobias Oetiker es SmokePing. Está escrita en Perl y muestra la pérdida de paquetes y la latencia en un único gráfico. Es muy útil correr SmokePing en un servidor con buena conectividad a toda su red. Con el tiempo, revela tendencias que pueden apuntar a todo tipo de problemas de red. Combinado con MRTG o Cacti, puede observar el efecto que tiene la congestión de la red en la pérdida de paquetes y en la latencia. SmokePing puede enviar alertas cuando se encuentran ciertas condiciones, como cuando se observa una pérdida excesiva de paquetes en un enlace por un período de tiempo largo.
  • Nagios (http://www.nagios.org/). Nagios es una herramienta de monitoreo de servicio. Además de seguir el desempeño de simples contactos (como con SmokePing), Nagios puede observar el desempeño de los servicios reales en varias máquinas. Por ejemplo, puede consultar periódicamente su servidor web, y estar seguro de que devuelve una página web válida. Si una verificación falla, Nagios puede notificar a una o varias personas vía correo electrónico, mensaje de texto al celular (SMS) o mensajería instantánea (IM).

Aunque Nagios ciertamente ayuda a un único administrador a monitorear una red grande, sus funciones se destacan cuando usted tiene personal de soporte, con responsabilidades divididas entre varios de sus miembros. La detección de problemas puede ser configurada para ignorar problemas pasajeros, y sólo cuando se amerite enviar las notificaciones únicamente a las personas responsables de solucionarlos. Si el problema sigue por un período de tiempo predeterminado sin ser atendido, se puede notificar adicionalmente a otras personas. Esto permite que los problemas temporales sean simplemente registrados sin molestar al personal, y que sólo los problemas reales tengan que ser atendidos por el equipo.


 
manuales/libros/wndw/capitulo_6/monitoreo.txt · Última modificación: 2007/02/11 21:25 (editor externo)
 
Recent changes RSS feed Creative Commons License Powered by PHP Driven by DokuWiki