Digamos que la mesa de interruptores está vacía. Si la computadora A envía una trama destinada a la computadora B, el conmutador emitirá preguntando quién tiene la dirección mac de B. ¿Qué pasa si C de repente envía una trama a A? ¿Cuál es el mecanismo para que el interruptor no piense erróneamente que la computadora C es la computadora B? ¿Es que recuerda la dirección mac del destino deseado por la computadora A, y cuando C intenta llegar a A también contiene su propia dirección mac y el conmutador ve que no es el mismo destino que la computadora A quería?
Básicamente, estoy preguntando, cuando un conmutador inunda una dirección MAC desconocida para una solicitud enviada por el host A, ¿cómo sabe que el destino está respondiendo al host A o si algún otro host simplemente está transmitiendo a A?
fuente
Respuestas:
Los conmutadores de capa 2 (puentes) tienen una tabla de direcciones MAC que contiene una dirección MAC y un número de puerto. Los conmutadores siguen este algoritmo simple para reenviar paquetes:
Cuando se recibe una trama, el conmutador compara la dirección MAC FUENTE con la tabla de direcciones MAC. Si se desconoce la FUENTE, el conmutador la agrega a la tabla junto con el número de puerto en el que se recibió el paquete. De esta manera, el conmutador aprende la dirección MAC y el puerto de cada dispositivo de transmisión.
Luego, el conmutador compara la dirección MAC DESTINO con la tabla. Si hay una entrada, el conmutador reenvía la trama al puerto asociado. Si no hay entrada, el conmutador envía el paquete a todos sus puertos, excepto el puerto en el que se recibió la trama (Inundación).
Tenga en cuenta que el conmutador no aprende el MAC de destino hasta que recibe una trama de ese dispositivo.
fuente
Su pregunta supone que el conmutador está involucrado en, o es consciente de, la comunicación / conversación entre dos hosts (¿Es esta una conversación entre A y B o entre A y C?). El interruptor no está involucrado en la comunicación / conversación entre dos hosts. Simplemente sabe (o aprende) qué dirección MAC está asociada con qué puerto y reenvía (o conmuta) el tráfico destinado a una dirección MAC particular al puerto asociado (una vez que ha aprendido qué puerto está asociado con la dirección MAC), independientemente de si la fuente es B, C o cualquier otro host conectado a cualquier otro puerto de conmutador.
Los switches funcionan en la capa 2. La gestión de la sesión es responsabilidad de las capas superiores.
fuente
No se llama tabla de interruptores; su mesa MAC. Ahora considere que la tabla MAC está vacía. Cuando A intenta enviar un paquete a B; el paquete contiene la dirección MAC de A y B. El conmutador actualiza la dirección MAC de A en la tabla MAC. Ahora, dado que no conoce el puerto al que está conectado B, transmite el paquete ARP en todos sus puertos y espera a que todos los hosts respondan.
Ahora, al mismo tiempo, si C intenta enviar un paquete a A, extrae la dirección MAC de C de ese paquete y la almacena en la tabla MAC. Ahora, dado que la dirección MAC de ya está presente en la tabla MAC, sabe a qué puerto A está conectado. Recuerde que los paquetes de datos contienen la dirección MAC de origen y destino. Por lo tanto, la dirección MAC de B & C son diferentes. Entonces el interruptor no se confunde. Ahora cambie el paquete de C a A (dado que ambos están presentes en la misma VLAN).
Para enviar el paquete de A a B, espera hasta que B responda al paquete ARP enviado por el conmutador. Cuando recibe respuesta de B, actualiza la dirección MAC de B en su tabla MAC. Luego, finalmente, el paquete se reenvía a B.
Por lo tanto, el conmutador no se confunde ya que los paquetes de datos (tcp / udp) contienen tanto la dirección MAC de origen como la de destino. Y su conmutador no reenviará un paquete en una interfaz cuya dirección MAC del host final no se sabe que conmuta. Tiene que esperar hasta que el host final responda a la transmisión ARP enviada por switch.
fuente