9/6/17

Medición de Broadcast con Wireshark

Uno de los beneficios de utilizar switches administrables que soportan VLANs, es reducir los broadcast en una red, por su forma de operar un broadcast en una red se propaga por todo el dominio de capa 2, los routers (que operan en capa 3) efectivamente limitan el dominio de broadcast, otra manera de limitarlo es implementando VLANs, el objetivo de este post, no es explicar que es un dominio de broadcast, o como implementar VLANs, sino, asumiendo que se entienden estos términos, como podemos tener una estimación del tráfico de broadcast en una LAN.

Precisamente esta es la duda que planteaba un estimado lector la pregunta literalmente es la siguiente: Como se podría medir que el broadcast se esta reduciendo en la red gracias a la ayuda de las VLAN? mi sugerencia fue utilizar wireshark, para tomar un estimado de la cantidad de broadcast, idealmente antes de implementar VLANs y luego después de implementadas, en este post me gustaría ampliar estos conceptos proponiendo un método con el que podríamos obtener un estimado de la cantidad de broadcast en una LAN y específicamente en un escenario como el planteado por el lector, validar si efectivamente el nivel de broadcast se esta reduciendo.



Imaginemos un escenario como el planteado en la Figura 1, en este caso todo el dominio de broadcast esta representado por un switch (este dominio podría consistir de varios switches, sin segmentación en VLANs).

 
Figura 1.  Dominio de broadcast
 
 
Con referencia a la figura 1, si por ejemplo la PC en la parte inferior derecha, hace una solicitud de ARP (ilustrado con la flecha color verde), esto se convertirá en un broadcast que se propagará por todo el dominio de broadcast.  Si por ejemplo en la laptop que se muestra en la parte superior izquierda, tenemos instalado Wireshark, podríamos capturar este broadcast.

Siempre con referencia a la laptop de la figura 1, si tengo Wireshark instalado e inicio una captura, de manera predeterminada voy a poder observar todo el tráfico hacia y desde esta laptop y adicional todo el broadcast que se está generando en la LAN. 

Capturando por unos minutos podríamos tener una estimación del nivel de broadcast, en ese momento en particular, para tener una estimación más completa, deberíamos realizar estas capturas en días repetidos en diferentes horarios, de particular interés en horarios de mayor tráfico en la red, típicamente la hora en la que todos los usuarios están conectándose a la red al iniciar la jornada laboral sería un momento oportuno. Esta medición se debería repetir luego de implementar VLANs o algún mecanismo de segmentación de LAN, y luego establecer las comparaciones para validar el resultado de la segmentación.

A continuación los pasos para realizar la captura, y visualizar los resultados, las pantallas abajo fueron realizadas con Wireshark versión 2.2.4.

Paso 1:  Conectarse a cualquier puerto del switch (si no existen VLANs en cualquier puerto, si estamos midiendo el tráfico en una VLAN en particular, un puerto que este configurado en la VLAN que queremos observar).


Figura 2.  Pantalla de captura en Wireshark

Paso 2:  Ejecutar Wireshark e inicar captura, este paso esta ilustrado en la Figura 2, luego de iniciar Wireshark vemos la pantalla, en el área de captura ubicamos la tarjeta de red (en mi caso es la que esta encerrada en el cuadro rojo), damos doble click sobre esta tarjeta ya automáticamente se iniciara la captura sin ningún filtro de captura (deseamos capturar sin aplicación de ningún filtro).

Paso 3:  Mantener la captura por algunos minutos, y luego detenerla, cuanto tiempo?, dependerá del nivel de tráfico en la red, si es una red grande con mucho tráfico será mejor no utilizar mucho tiempo, ya que entonces quedará un archivo muy grande difícil de manejar, será de realizar diferentes pruebas, en general entre más tiempo se captura, mejor, 5 o 10 minutos podría ser suficiente, pero como indique previamente, hay que repetir el proceso a diferentes horas del día, y en varios días consecutivos.

 Paso 4: Analizar los datos, luego de detener la captura, vamos a tener una cantidad de paquetes capturados, para observar la cantidad de broadcast podemos hacerlo en la ventana de conversaciones, esto lo encontramos bajo el menú de estadísticas como se ilustra en la figura 3.

 
Figura 3.  Menú, Statistics, Conversations

En la figura 4, se muestra la pantalla de conversaciones, en la que se ha resaltado los packetes de broadcast.  En esta figura en particular se despliega la pestaña Ethernet.


Figura 4. Ventana de Conversaciones.

Como nota adicional, la dirección broadcast de capa 2, es FF:FF:FF:FF:FF:FF, habilitando la opción de resolución de nombres, vemos que nos confirma que efectivamente estas son dirección de broadcast, esto esta ilustrado en la figura 5.

 
Figura 5.  Ventana de conversaciones, habilitando Name resolution.

Paso 5:  Calcular la cantidad de broadcast.  En las pasos anteriores logramos determinar la cantidad de broadcast que se observan en un segmento en particular, ahora, como calcular el porcentaje de broadcast?, muy sencillo, contamos la cantidad de paquetes de broadcast y la cantidad de paquetes totales capturados, la captura de ejemplo ilustrada aca, fue de 1053 paquetes (esto lo podemos ver en la pantalla principal de wireshark, desplazándonos hasta el final de la captura), y en total son 12 paquetes de broadcast, al aplicar regla de 3 (100x12/1053), vemos que en este caso el porcentaje de broadcast es de 1.13% esto fue hecho en mi casa, con pocos equipos conectados, por lo que es un valor esperado, en una red en producción el valor podría ser mucho mayor.

Paso 6: El dato anterior por si solo no tiene mucho sentido por si solo, al realizar el proceso a varias horas del día y documentarlo sistemáticamente tendríamos una mejor aproximación a los niveles de broadcast observados en la red, así que el último paso es precisamente este, establecer un proceso sistemático de medición que nos permita recolectar datos en un periodo específico de tiempo.

Limitaciones

Vale la pena mencionar que con esta medición no tomamos en cuenta un tipo particular de tráfico de broadcast que generan los switches, me refiero a lo que se conoce como Unicast Flooding, el proceso por el que el switch llena su tabla de direcciones MAC, mas detalles de este proceso lo pueden ver en el post sobre funciones básicas del switch, de manera resumida, cada vez que llega un frame al switch para el que la dirección de destino no esta en su tabla mac, el switch envía una copia del tráfico por todos los puertos excepto el puerto donde se recibió, si han llegado hasta el final de este post les dejo el reto de determinar de que manera podríamos contabilizar este tráfico en Wireshark? 



1 comentario:

Sergio Aguirre dijo...

Excelente post estimado