Ir al contenido principal

Muchas veces, cuando estoy trabajando en un problema, pido a la gente que me envíe un trazo de red. Un trazo de red suele señalar la causa raíz del problema. Como mínimo, reduce el alcance del problema a algo manejable. Por ejemplo, cuando una impresora de red empezó a imprimir caracteres aleatorios, pasamos varios días analizando los TTP; cuando por fin obtuvimos un trazo de red, descubrimos que estábamos enviando un texto perfectamente válido; el problema estaba en la impresora. En otro caso, un problema de rendimiento de OSL entre módulos separados por varios miles de kilómetros parecía ser un problema de red, pero un rastreo mostró claramente que el problema estaba en el módulo del servidor. Si no fuera por el rastreo de red, todavía estaría trabajando en ambos problemas.

¿Cómo se obtiene un trazo de red? Hay tres posibilidades.

monitor de paquetes

El comando `packet_monitor` de VOS, con algunas limitaciones, permite supervisar todo lo que el módulo envía y recibe de la red. Consulte stratus y stratusfile=ch9r419-09i.html para obtener más información.

El comando `packet_monitor` tiene varias limitaciones. No se puede estar 100 % seguro de que una trama que se indica como enviada se haya enviado realmente. Por ejemplo, los errores en el adaptador pueden impedir que se envíe la trama. Además, las tramas recibidas con errores, como un error de CRC, no se enviarán hacia arriba para que packet_monitor pueda verlas. Dado que packet_monitor no pone el adaptador en modo promiscuo, solo se le pasarán hacia arriba aquellas tramas dirigidas al adaptador o a la dirección de difusión. Un enlace puede estar ocupado al 90 % mientras que packet_monitor informa de solo 1 trama por segundo, ya que esta 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, solo resultan útiles como complemento de otros métodos de rastreo, o cuando no se dispone de ningún otro método de rastreo de red.
Duplicación de puertos, también conocida como SPAN (Switch Port for ANalysis)

Un puerto espejo o de replicación es un puerto de un conmutador que replica todo el tráfico que se registra en uno o varios puertos (o incluso en una VLAN) del conmutador. El puerto espejo debe conectarse a un dispositivo de monitorización de red. Este dispositivo puede ser un equipo específico para tal fin o un ordenador que ejecute Linux o Microsoft Windows con un monitor de red basado en el host, como Wireshark (http://www.wireshark.org/) o tcpdump. Los puertos espejo son fáciles de configurar, ya que solo hay que introducir unos pocos comandos en el conmutador.

Por desgracia, el uso de un puerto espejo presenta varias desventajas importantes. En primer lugar, el puerto debe estar correctamente configurado. Los puertos mal configurados pueden provocar que se pierdan o se dupliquen tramas en el rastreo de la red. En segundo lugar, los conmutadores no replican las tramas que contienen algún tipo de error, por lo que estas tramas no se rastrearán. En tercer lugar, un conmutador saturado puede descartar tramas en lugar de replicarlas al puerto espejo. En cuarto lugar, un puerto espejo que acepte tramas de toda una VLAN, de varios puertos de conmutador o incluso de un solo puerto full dúplex puede sobrecargarse y, por lo tanto, descartar algunas tramas. En quinto lugar, los errores introducidos entre el conmutador y el host no pueden ser detectados 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 proporcionarán a esta última una visión distorsionada de lo que el host recibe realmente del conmutador.
Taps de red

Los dispositivos de derivación son dispositivos pasivos que se conectan entre el conmutador y el host; literalmente, se conectan a la conexión de red. Al igual que un puerto de duplicación, deben conectarse a un dispositivo de red, pero presentan menos inconvenientes que este.

En primer lugar, normalmente no requieren configuración; basta con enchufarlos y ya funcionan. En segundo lugar, los tap más avanzados solo necesitan alimentación eléctrica para replicar tramas en el puerto de monitorización y cuentan con dos fuentes de alimentación para garantizar la fiabilidad de la actividad de replicación. Si se produce un corte de corriente, estos tap seguirán reenviando tramas entre los puertos de red; solo se detiene la replicación. En tercer lugar, un tap tiene una única función: replicar y reenviar tramas a la aplicación de monitorización de red. Es mucho menos probable que un tap se vea desbordado por un gran volumen de tráfico. Además, los taps agregadores disponen de espacio de búfer para poder reenviar grandes volúmenes de tráfico en un enlace full dúplex sin perder tramas. Por supuesto, una tasa elevada y sostenida aún podría desbordar el búfer. Los taps agregadores también permiten combinar múltiples entradas. Por ejemplo, un dispositivo de dos puertos le permitirá supervisar tanto el adaptador activo como el de reserva de un par de adaptadores dúplex. Esto garantiza una supervisión continua incluso si se produce una conmutación por error de un adaptador. Por último, al conectar el tap al adaptador del host, se tiene la mejor garantía posible de que la aplicación de supervisión de red verá todas las tramas que salen del adaptador del host y todas las tramas que llegan desde el conmutador al adaptador del host.

Una desventaja que comparten muchos tap con un puerto espejo es que descartan los tramas dañadas. Dado que muchos dispositivos de monitorización de redes, especialmente aquellos que no son más que ordenadores con hardware Ethernet estándar, también descartan las tramas dañadas, los fabricantes de tap no consideran que esto sea un fallo crítico.

Si quieres más información sobre los tap y los puertos de conmutación, echa 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, o escribe «network taps and span ports» en tu motor de búsqueda favorito.
Retos de la monitorización

El primer reto es decidir cuándo realizar la supervisión y durante cuánto tiempo. Lo ideal es que los enlaces de red críticos de un sistema de producción se supervisen de forma continua. Detectar un problema en cuanto surge y disponer de un rastreo de red es mucho más rápido que encontrarse con un problema, configurar la supervisión e intentar reproducirlo o esperar a que vuelva a ocurrir. Los archivos de rastreo pueden ser grandes; una carga del 50 % en un enlace de gigabit produce aproximadamente 62,5 megabytes por segundo o 3,75 gigabytes por minuto. No es necesario conservar los archivos de rastreo durante más tiempo que el tiempo de respuesta en el peor de los casos. Si puede responder a un problema notificado en una hora, solo necesita conservar una hora de datos de rastreo. Cuantos más datos de rastreo guarde, más margen tendrá para responder o para reconocer que hubo un problema que debe investigarse. Los discos de gran capacidad son bastante económicos, al menos en comparación con el coste de una interrupción del servicio, así que considere la posibilidad de adquirir una o varias unidades de disco de un terabyte para almacenar los datos de rastreo.

Mantener este nivel de supervisión puede resultar complicado cuando se utiliza un puerto de span. En una red compleja, los administradores de red deben ocuparse de muchas tareas a la vez, por lo que mantener un puerto de span y una supervisión continua por si surge algún problema puede resultar complicado.

Por otro lado, un tap de red instalado junto al host está dedicado exclusivamente a ese host. Puedes adquirir un dispositivo sofisticado de monitorización de red, o puedes empezar utilizando un ordenador básico con un disco duro de 1 terabyte que ejecute Linux o Windows y en el que se ejecute el programa tshark (la interfaz sin interfaz gráfica de usuario de Wireshark). Esta configuración le proporcionará 266 minutos de datos de rastreo (suponiendo una velocidad de datos de 500 Mbps) y es perfectamente adecuada para la mayoría de los fines. Puede adquirir un disco de 1 terabyte por menos de 100 dólares si busca bien.

El buen funcionamiento de la red subyacente es fundamental para que una aplicación esté disponible de forma continua. Esfuérzate por recopilar periódicamente un registro preciso de la actividad de la red. Cuando surjan problemas, podrás resolverlos rápidamente sin tener que esperar a que vuelvan a ocurrir. Además, podrás analizar los datos de los registros y descubrir aspectos de tu red que antes pasaban desapercibidos.paquetes