¿Por qué se debe medir el tráfico de una red? Situación típica: Una red que estaba operando satisfactoriamente de repente, y sin aparente razón, se vuelve lenta. Todos los usuarios comienzan a protestar por el pobre servicio, pero nadie, ni tan siquiera el administrador de la red, sabe cuál es la causa del problema. Ante la presión de los usuarios, el administrador de la red comienza a dar palos a ciegas: Reasigna usuarios a distintos puertos en los switches. Verifica o cambia cables. Verifica la configuración en algunas de las PC’s. Verifica la configuración en los routers. Finalmente, cuando todos los anteriores intentos por corregir el problema han fallado, y el servicio sigue igual o peor, el administrador sencillamente trata de convencer a los usuarios que las redes son así, y a veces, por capricho, se vuelven lentas! 2 ¿Por qué se debe medir el tráfico de una red? En realidad, la situación no surge por capricho. Algunas posibles causas del problema pueden ser: Hay uno o más usuarios abusando de sus privilegios y están utilizando demasiado ancho de banda, ya sea para transmitir o para recibir información. Algún problema de hardware causó que una tarjeta de redes de alguna PC no cese de transmitir, inundando la red de tráfico innecesario. La configuración en los routers y los switches no es la óptima y la misma red está generando demasiado tráfico para su propia operación. Alguna de las PC’s adquirió un virus y está generando mucho más tráfico del que se supone genere. Algún puerto de algún switch o de algún router se dañó. Algún cable se dañó. Algún hacker entró a la red y de forma ilegal montó un server dentro de la misma red para la distribución de información o material de valor moral cuestionable. 3 ¿Por qué se debe medir el tráfico de una red? Si la red es pequeña, esto es, de 4 ó 5 PC’s, entonces es posible que dando palos a ciegas se logre identificar y resolver el problema. Sin embargo, si la red es grande, con decenas o cientos de PC’s, entonces dado que existen múltiples posibles causas del problema, ¿cómo podemos identificar la verdadera causa del problema? Para redes grandes se impone un enfoque más metódico, científico y analítico. ¡ Hay que medir tráfico ! ¿Cómo podemos medir el tráfico en una red? ¡ Utilizando un protocol analyzer ! 4 ¿Qué es un protocol analyzer? Un protocol analyzer es un dispositivo, en hardware, en software, o en ambos, que nos permite capturar y observar todos los paquetes de data en un segmento. Consideremos el siguiente arreglo: Hub PC#1 PC#2 PC#3 PC#4 Si la PC#1 le envía un mensaje a la PC#4, dicho mensaje tendrá como destination address el address de la PC#4. Como el mensaje pasa a través de un hub, la PC#2 y la PC#3 verán el mensaje y examinarán el destination address de dicho mensaje. La PC#2 y la PC#3 descubren que el mensaje no va dirigido a ellas y por lo tanto, lo descartan. En cambio, la PC#4 descubrirá que el mensaje es para ella y entonces procede a procesarlo. Las PC’s #1 a la #4 forman un segmento en donde el tráfico es común a todas ellas. Un protocol analyzer es un dispositivo capaz de observar, monitorear y almacenar todos los paquetes de data en un 5 segmento, aún los que no van dirigidos al protocol analyzer. Un protocol analyzer puede comprender un equipo de pruebas con su propio chasis y power supply. Lamentablemente dichas implementaciones tienden a ser caras. Una versión más económica de un protocol analyzer consiste de una tarjeta de redes operando en modo promiscuo, esto es, que examina todos los paquetes de data, aún los que no van dirigidos a ella, y un software que se encarga del interfase con el usuario. Dentro de todas las versiones económicas de protocol analyzers, la más barata, pero no por ello la menos útil, consiste de una tarjeta de redes PCI 10/100/1,000 Mbps (se consiguen desde aproximadamente $10) y el software gratuito Wireshark. Wireshark es gratuito y está disponible en versiones de Windows1, Linux y Unix. Wireshark se encarga de convertir la tarjeta de redes típica en una tarjeta promiscua. Wireshark no requiere de ninguna tarjeta de redes especial o costosa. 1 Incluye Windows XP, Vista-32 bits y Vista-64 bits. 6 ¿Cómo puedo construir un protocol analyzer portátil y de bajo costo? Es muy fácil, sencillo y económico construir un protocol analyzer portátil y de bajo costo. Tan sólo se necesita lo siguiente: 2 3 Laptop Se consiguen desde $400 Tarjeta de redes Hoy en día prácticamente todas las laptops incluyen tarjeta de redes y/o Wi-Fi. Wireshark software Se baja de Internet2 en forma gratuita pues es open source software. Hub3 portátil de 4 a 8 puertos Costo aproximado de $30. http://www.wireshark.org/download.html Como veremos próximamente, un hub resulta muy conveniente al conectar el protocol analyzer a una red existente. 7 Wireshark Protocol Analyzer El primer paso que debemos dar al momento de comenzar a medir tráfico es dónde medirlo. Por ejemplo, la siguiente figura muestra una forma incorrecta de medir tráfico si nuestro objetivo es observar el tráfico que entra o sale del server. En un switch el acceso es dedicado, no es compartido. Por lo tanto, el Ethereal/Wireshark4 laptop no va a ser capaz de observar el tráfico que entra o sale del server. Veamos ahora varias alternativas para poder observar el tráfico que entra o sale del server. 4 Ethereal es el predecesor de Wireshark. 8 Mirrored Port5 De esta forma, el protocol analyzer observa el tráfico pero sin afectarlo. El puerto del switch al que se conecta la laptop es un mirrored port del puerto del switch al que se conecta el server. Todo el tráfico que entre o salga del puerto del switch al que se conecta el server será duplicado en el puerto del switch al que la laptop se conecta. Ventaja de esta alternativa: 1. No se afecta el tráfico desde o hacia el server. Desventaja de esta alternativa: 1. Un switch con la opción de port mirroring es un "managed switch" que tiene un costo mayor que un switch sin capacidad de configuración alguna. 5 'Port mirroring' también es conocido como 'port monitoring', 'Roving Analysis' (3Com), or 'Switched Port Analyzer' o 'SPAN' (Cisco). 9 Hub Por definición, todo el tráfico que entra por cualquier puerto a un hub es retransmitido a todos los demás puertos. En un hub, el tráfico es compartido (shared), no es dedicado, como en el caso del switch. Esta opción sufre de las siguientes dos limitaciones: 1. Los hubs, aunque baratos, ya están obsoletos y no se consiguen tan fácilmente. 2. Un hub no puede transportar tráfico Ethernet full duplex, tan sólo puede transportar tráfico half duplex. 10 En este caso se hace uso de un tap permanente. En este caso, al igual que en el caso del hub, se requiere de equipo adicional, pero no hay que reconfigurar el switch para definir un mirrored port. Ventaja del switch + tap: 1. La configuración permite el manejo de tráfico Ethernet full duplex. 11 Desventajas del switch + tap: 1. El tap tiene que contar con 4 conectores, 2 para la línea existente, y dos salidas para ambas direcciones del tráfico Ethernet full duplex. 2. La PC o laptop deberá contar con dos interfaces o tarjetas de redes. Como hasta ahora Wireshark no es capaz de simultáneamente capturar el tráfico a través de dos interfaces, la PC o laptop deberá simultáneamente ejecutar dos versiones de la misma aplicación de Wireshark, y luego el usuario deberá unir o empatar los archivos capturados. En la mayoría de los sistemas Unix y Linux, incluyendo Red Hat, a nivel de sistema operativo dos puertos Ethernet pueden ser unidos, y Wireshark podría utilizar dicho interface, evitando tener que ejecutar dos versiones de la misma aplicación de Wireshark y luego tener que unir o empatar los archivos capturados. 12 Una laptop o PC con dos interfaces o tarjetas de redes colocada entre el switch y el server cuyo tráfico deseamos observar actúa como un bridge. El tráfico que entra por un interface sale por el otro. Ventajas: 1. El tráfico no se afecta. Desventajas: 1. La laptop o PC deberá contar con dos interfaces o tarjetas de redes. 2. Utilizando el sistema operativo hay que configurar la laptop o PC para que actúe como un bridge, cosa que posiblemente sea mucho más fácil de lograr en Linux que en Windows.