¿Cómo manejan los switches administrados la difusión de multidifusión y unidifusión?

8

Bajo escenarios típicos, un conmutador de red necesita manejar mensajes de difusión, multidifusión y unidifusión al mismo tiempo.

Me gustaria entender

En un conmutador administrado típico (Ethernet de 1 Gb / Ethernet de 10 Gb),

a) ¿cómo se manejan los mensajes de difusión / multidifusión / unidifusión de manera diferente?

b) ¿Cuál es el ancho de banda y la latencia del manejo de mensajes de difusión / multidifusión / unidifusión?

c) ¿cómo se afectan entre sí la carga de diferentes tipos de mensajes?

d) ¿Por qué cambiar de transmisión a multidifusión reducirá (o es probable, si se hace correctamente) reducir la carga en el interruptor?

Anthony S.
fuente

Respuestas:

5

Esto depende en gran medida de la arquitectura del conmutador particular en cuestión. El amplio rango de precios para un "conmutador administrado" de 48 puertos (por ejemplo, menos de $ 300 a más de $ 10,000) debería decirle que hay algo fundamentalmente diferente en el interior. Si no pagó mucho por su conmutador (y espero que no lo haya hecho), es muy probable que la multidifusión (y otras funciones "empresariales") se descarguen al software (si es que son compatibles).

El reenvío de unidifusión básico se ha vuelto bastante económico en hardware, por lo que esperaría que cualquier conmutador Ethernet moderno funcione razonablemente bien en el reenvío de unidifusión básico bajo cargas ligeras.

Cuando comienza a agregar más funciones al hardware, el costo aumenta significativamente. Por ejemplo, el reenvío de tramas de unidifusión es muy diferente a la replicación de paquetes basada en el estado dinámico de multidifusión. Esas son tareas muy especializadas. Se necesitan bits específicos de hardware para hacer bien uno de los dos. La mayoría de los usuarios de conmutadores de gama baja no tienen grandes necesidades de multidifusión. Pagar por hardware específico de multidifusión es un desperdicio para estos usuarios.

Pero la mayoría de las redes usan un poco de multidifusión. En consecuencia, es común que los fabricantes implementen funciones de multidifusión y otras menos utilizadas en el software. Por ejemplo, se le pediría al hardware de reenvío de unidifusión que reenvíe cualquier cosa con una dirección MAC de multidifusión a un puerto interno donde los reciba un subsistema de CPU (o al menos un microcontrolador de algún tipo). Luego, un proceso de software puede mirar el marco, consultar la tabla de reenvío de multidifusión, replicar el marco y devolver varias copias al hardware, una por puerto a reenviar. Obviamente, se pueden agregar muchas características en este punto del software sin afectar significativamente el costo del cambio.

En dicho sistema, el rendimiento nunca estará cerca de lo que es para unidifusión. El rendimiento de la CPU obviamente tendrá algún impacto, pero si está enviando tanto tráfico de "excepción" que no puede reenviarse en el hardware, lo está haciendo mal . Necesita comprar un interruptor diferente.

En el peor de los casos, un conmutador realmente bajo no tendrá ninguna protección de recursos, por lo que la misma CPU que está siendo bloqueada con tráfico de multidifusión olvidará que también es responsable del cuidado y la alimentación de todo lo demás en el conmutador. Si la CPU está demasiado ocupada replicando el tráfico de multidifusión para mantener las tablas de unidifusión actualizadas en el hardware (o cualquier otra cosa que la CPU deba hacer), tendrá todo tipo de problemas.

comensal
fuente
2
  1. Lo mismo que los interruptores no administrados; posiblemente con la complejidad añadida de vLAN y similares.
  2. Esto es específico de la implementación, pero generalmente no hay diferencia. Las tormentas de paquetes pueden causar latencia, pero eso no está relacionado específicamente con el tipo de paquete.
  3. Igual que # 2: Implementación específica y generalmente no hay diferencia.
  4. "Cargar" no es un término bien definido, creo que te refieres a la utilización del puerto. La multidifusión solo se reenvía a los puertos suscritos al grupo donde se envía la transmisión a todos los puertos (sujeto aún a complejidades adicionales como las VLAN).
Chris S
fuente
Gracias Chris, estoy viendo una aplicación que causa una tormenta de transmisión, generada por una gran cantidad de mensajes de transmisión. Después de investigar un poco, descubrí que los mensajes de difusión y multidifusión se manejan por nivel de software en lugar de hardware, la alta carga de la CPU provoca la caída de paquetes. Es por eso que me gustaría saber cómo un conmutador (administrado / no administrado) maneja cada uno de los tipos de mensajes.
Anthony S.
Me refiero a la carga de la CPU en un interruptor.
Anthony S.
No hay CPU en un interruptor típico. Hay procesadores de conmutación, algunos conmutadores gestionados tienen un procesador de gestión dedicado, pero en la mayoría está integrado.
Chris S