Muchas veces, cuando trabajo en un tema, le pido a la gente que me envíe un rastreo de la red. Un rastreo de red a menudo apunta a la causa raíz del problema. Como mínimo, reduce el espacio del problema a algo que sea manejable. Por ejemplo, cuando una impresora de red comenzó a imprimir basura, pasamos varios días mirando los TTP; cuando finalmente obtuvimos un rastro de red descubrimos que estábamos enviando un texto perfectamente bueno; el problema estaba en la impresora. En otro caso, un problema de rendimiento de OSL entre los módulos a varios miles de kilómetros de distancia parecía ser un problema de red, pero un rastro mostró claramente que el problema estaba en el módulo del servidor. Todavía estaría trabajando en ambos problemas si no fuera por el rastro de la red.
¿Cómo se consigue un rastreo de la red? Hay tres posibilidades.
packet_monitor
El comando VOS packet_monitor, con algunas limitaciones, permite monitorear todo lo que el módulo envía y recibe de la red. Véase http://community.stratus.com/blog/openvos/getting-most-out-packetmonitor y http://stratadoc.stratus.com/vos/17.0.1/r419-09/wwhelp/wwhimpl/js/html/wwhelp.htm?context=r419-09&file=ch9r419-09i.html para más información.
El comando packet_monitor tiene varias limitaciones. No puedes estar 100% seguro de que una trama que es reportada como enviada fue realmente enviada. Por ejemplo, los errores en el adaptador pueden impedir que la trama sea enviada. Además, los tramas recibidas con errores, como un error CRC, no se enviarán aguas arriba para que packet_monitor pueda verlas. Debido a que packet_monitor no pone el adaptador en modo promiscuo, sólo los tramas dirigidas al adaptador o a la dirección de emisión se le pasarán en sentido ascendente. Un enlace puede estar ocupado en un 90% mientras que packet_monitor informa sólo 1 trama por segundo porque es la única trama dirigida al adaptador o a la dirección de difusión.
En general, los monitores basados en el host, como packet_monitor, sólo son útiles como complemento de otras formas de rastreo, o cuando no se dispone de ninguna otra forma de rastreo en la red.
Puerto de replicación, también conocido como puerto SPAN (Switch Port for ANalysis)
Un puerto espejo o span es un puerto en un conmutador que replica todo el tráfico visto en uno o más puertos (o incluso en una VLAN) del conmutador. El puerto espejo debe estar conectado a un dispositivo de monitorización de red. Este aparato puede ser un dispositivo de propósito especial o una PC con Linux o Microsoft Windows con un monitor basado en el host como Wireshark(http://www.wireshark.org/) o tcpdump. Los puertos espejo son fáciles de configurar, requiriendo teclear sólo unos pocos comandos en el conmutador.
Desafortunadamente, hay varias desventajas importantes en el uso de un puerto espejo. En primer lugar, el puerto debe estar correctamente configurado. Los puertos configurados incorrectamente pueden llevar a que se pierdan o se dupliquen tramas en el trazado de la red. En segundo lugar, los conmutadores no replicarán una trama con ningún tipo de error, por lo que estas tramas no serán rastreadas. Tercero, un conmutador ocupado puede dejar caer tramas en lugar de replicarlas en el puerto espejo. Cuarto, un puerto espejo que esté aceptando tramas de una VLAN completa, o de múltiples puertos de conmutadores, o incluso de un solo puerto dúplex completo, puede sobrecargarse y por lo tanto dejar caer algunas tramas. Quinto, los errores introducidos entre el conmutador y el host no pueden ser vistos por la aplicación de monitorización de red conectada a un puerto de conmutador completamente diferente. Del mismo modo, los errores introducidos entre el puerto espejo y la aplicación de red darán a la aplicación de red una visión distorsionada de lo que el host recibe realmente del conmutador.
Grifos de red
Los "Taps" son dispositivos pasivos que se conectan entre el conmutador y el host; literalmente se conectan a la conexión de la red. Al igual que un puerto espejo, deben conectarse a un aparato de red pero tienen menos desventajas que un puerto espejo.
En primer lugar, normalmente no hay configuración; sólo lo enchufas y funciona. Segundo, los grifos más avanzados dependen de la energía sólo para replicar cuadros en el puerto de monitoreo. y tienen fuentes de alimentación duales para asegurar que la actividad de replicación sea confiable. Si su energía falla, estos grifos continuarán reenviando tramas entre los puertos de la red; sólo la replicación se detiene. Tercero, un grifo tiene sólo una función, que es la de replicar y reenviar las tramas a la aplicación de monitorización de la red. Es mucho menos probable que un tap se vea abrumado por un alto volumen de tráfico. Además, los grifos agregadores tienen espacio de memoria intermedia para que puedan reenviar grandes volúmenes de tráfico en un enlace dúplex completo sin que caigan tramas. Por supuesto, una tasa alta y sostenida puede todavía abrumar el buffer. Los grifos de agregación también permiten combinar múltiples entradas. Por ejemplo, un dispositivo de dos puertos le permitirá monitorear tanto los adaptadores activos como los de reserva de un par de adaptadores dúplex. Esto asegura un monitoreo continuo incluso si hay un fallo en el adaptador. Por último, al conectar la derivación en el adaptador anfitrión, tiene la mejor garantía posible de que la aplicación de monitorización de red verá todas las tramas que salen del adaptador anfitrión y todas las tramas que llegan del conmutador al adaptador anfitrión.
Una desventaja que muchos grifos comparten con un puerto de espejo es que dejarán caer los marcos dañados. Dado que muchos aparatos de monitorización de redes, especialmente los que son sólo PC con hardware Ethernet estándar, también dejarán caer marcos dañados, los fabricantes de grifos no consideran que esto sea un fallo crítico.
Para más comentarios sobre los puertos taps versus switch, eche un vistazo a http://www.lovemytool.com/blog/2007/08/span-ports-or-t.html o http://taosecurity.blogspot.com/2009/01/why-network-taps.htm l o escriba "network taps and span ports" en su motor de búsqueda favorito.
Retos de la monitorización
El primer desafío es cuándo monitorear y por cuánto tiempo. Lo ideal sería que los enlaces de red críticos en un sistema de producción se supervisaran continuamente. Capturar un problema a la primera ocurrencia, y tener un rastreo de la red en la mano, es mucho más rápido que encontrar un problema, establecer la vigilancia, y tratar de duplicarlo o esperar a que suceda de nuevo. Los archivos de rastreo pueden ser grandes; una carga del 50% en un enlace gigabit produce aproximadamente 62,5 megabytes por segundo o 3,75 gigabytes por minuto. Los archivos de rastreo no tienen que ser guardados por más tiempo que el tiempo de respuesta en el peor de los casos. Si puede responder a un problema notificado en una hora, entonces sólo necesita mantener una hora de datos de rastreo. Cuantos más datos de rastreo guarde, mayor será su margen de maniobra para responder o reconocer que hubo un problema que debe investigarse. Los discos grandes son bastante baratos, al menos en comparación con el costo de una interrupción, así que considere la posibilidad de adquirir una o más unidades de disco de tamaño de terabyte para guardar los datos de rastreo.
Mantener este nivel de vigilancia puede ser difícil cuando se utiliza un puerto de extensión. En una red compleja, los administradores de la red son arrastrados en muchas direcciones y mantener un puerto span y una vigilancia continua en caso de que algo salga mal puede ser difícil.
Por otro lado, una toma de red instalada al lado del host está dedicada a ese host. Puede adquirir un sofisticado dispositivo de monitorización de red, o puede empezar utilizando un PC básico con un disco duro de 1 terabyte que funcione con Linux o Windows y que ejecute el programa tshark (la interfaz no GUI para wireshark). Esta configuración le dará 266 minutos de datos de rastreo (asumiendo una velocidad de datos de 500 mbps) y es perfectamente adecuada para la mayoría de los propósitos. Puede comprar una unidad de 1 terabyte por menos de 100 dólares si compra en cualquier sitio.
La salud de la red subyacente es vital para que la aplicación esté siempre disponible. Haga el esfuerzo de capturar un rastro exacto de la actividad de la red de forma rutinaria. Cuando surjan problemas, podrá resolverlos rápidamente sin esperar a que vuelvan a aparecer. Como ventaja adicional, también podrá analizar los datos de rastreo y aprender cosas sobre su red que antes estaban ocultas.