¿Cómo aprende un switch una dirección MAC que no está en su tabla de búsqueda?

12

Tengo una pregunta relativamente tonta. Supongamos que el Switch acaba de iniciarse y recibe una trama que contiene una dirección MAC de destino para un dispositivo de red que no está en su tabla de direcciones MAC.

¿Qué pasa entonces? ¿Transmite (dirección MAC ff:ff:ff:ff:ff:ff) y recibe respuestas de los dispositivos conectados, o hay un protocolo dedicado para lo que se utiliza? ¿No creo que el conmutador use el ARP (Protocolo de resolución de direcciones)?

Ron Maupin
fuente
1
Si lo piensa, cuando un conmutador no puede cambiar un marco (porque no tiene la dirección necesaria en su tabla, por ejemplo), generalmente tiene que tratar ese marco como lo haría un concentrador por razones de compatibilidad.
Todd Wilcox
Realmente gracias a todos por las respuestas.

Respuestas:

28

Buena pregunta. Lo responderé con una animación:

ingrese la descripción de la imagen aquí

Cuando el Host A envía la trama, el conmutador no tiene nada en su tabla de direcciones MAC. Al recibir la trama, registra la dirección MAC del host A para mapear el puerto del conmutador . Como no sabe dónde está la dirección MAC de destino, inunda el marco de todos los puertos.

Esto asegura que si el host B existe (que en este momento, el conmutador aún no sabe), lo recibirá. Afortunadamente, al recibir la trama, el Host B generará una trama de respuesta, lo que permitirá que el Switch aprenda la asignación de la dirección MAC de la trama de retorno.

Puede leer más sobre cómo funciona un Switch aquí (de donde tomé la animación). También sugeriría leer la serie completa de artículos para ver más de cerca cómo se mueve un paquete a través de una red .

Una última nota sobre los términos Flooding vs Broadcast . Un interruptor nunca transmite cuadros, una transmisión no es una acción que un interruptor puede tomar. Un interruptor solo puede inundar un marco. Una transmisión es simplemente una trama con una dirección MAC de destino ffff.ffff.ffff. Esto a menudo se confunde porque el efecto final es el mismo, pero en realidad son diferentes .

Eddie
fuente
La principal diferencia entre inundaciones y transmisiones es cómo reaccionarán los siguientes nodos
Ferrybig
2
@Ferrybig Correcto. Pero lo diría un poco diferente ... La diferencia principal entre un interruptor que inunda una trama de unidifusión y un interruptor que inunda una trama de difusión es cómo reaccionarán los siguientes nodos. No hay tal cosa como un interruptor que transmite una trama. (Este comentario, y mi respuesta, está hablando del tráfico de tránsito, no del tráfico de administración hacia / desde el interruptor)
Eddie
4

Cuando un conmutador recibe una trama, actualiza su tabla de direcciones MAC con la dirección MAC de origen y el puerto en el que recibió la trama. Si la dirección MAC de destino no está en su tabla de direcciones MAC (unidifusión desconocida), inunda la trama a todos los puertos, excepto el puerto en el que se recibió la trama.

Ron Maupin
fuente
Excepto cuando se inunda, no inunda el marco de nuevo al puerto desde el que recibió el marco, ¿verdad?
Todd Wilcox
1
Derecha. no lo envía al puerto desde el que se recibió la trama.
Ron Maupin
3
Solo agregaré que el interruptor no aprende la nueva dirección MAC (destino) hasta que el dispositivo responde.
Ron Trunk
Al inundar el marco en todos los puertos, ¿existe un riesgo de seguridad?
3
Puede ser. Y es por eso que algunos / muchos conmutadores admiten la desactivación de la inundación de unidifusión de unidifusión desconocida (así como multidifusión). En tres décadas de conexión en red, nunca he tenido la necesidad de usarlo.
Ricky Beam
4

El conmutador no usa ARP, pero ARP puede ayudar a prevenir que esta situación ocurra en primer lugar, por dos razones:

  1. Si el nodo A está enviando un paquete IP al nodo B que no está en su caché ARP, primero enviará una solicitud ARP (que es un paquete de difusión, y el conmutador lo inundará automáticamente en todos los puertos). Cuando el nodo B envía su respuesta ARP, el conmutador aprenderá su dirección MAC. Entonces, para cuando se produce la transferencia de datos real, el conmutador ya conoce las direcciones MAC de los participantes y no necesita inundar los paquetes de datos.

  2. Muchos dispositivos, cuando su enlace se activa, enviarán un paquete ARP gratuito . Además de actualizar los cachés ARP de otros nodos en la red, el GARP también completará la tabla de direcciones MAC del conmutador.

IPv6 no usa ARP, pero NDP cumple un propósito similar.

Así que en general, aunque los interruptores sin duda serán inundar los marcos de las direcciones unicast que no han aprendido, no es necesaria tan a menudo como se podría pensar, ya que por lo general tienen la oportunidad de aprender las direcciones de los nodos de tramas de difusión de antemano. Sin embargo, definitivamente puede observarlo con un interruptor que ha desbordado su tabla MAC o que se acaba de reiniciar.

hobbs
fuente