In che modo uno switch impara un indirizzo MAC non nella sua tabella di ricerca?


12

Ho una domanda relativamente stupida. Supponiamo che lo Switch sia appena stato avviato e che abbia ricevuto un frame che contiene un indirizzo MAC di destinazione per un dispositivo di rete non presente nella sua tabella degli indirizzi MAC.

Cosa succede allora? Trasmette (indirizzo MAC ff:ff:ff:ff:ff:ff) e riceve risposte dai dispositivi collegati o esiste un protocollo dedicato a ciò che viene utilizzato? Non credo che lo switch utilizzi l'ARP (Address Resolution Protocol)?


1
Se ci pensate, quando uno switch non può effettivamente cambiare un frame (perché non ha l'indirizzo necessario nella sua tabella, per esempio), di solito deve considerare quel frame come farebbe un hub per motivi di compatibilità.
Todd Wilcox,

Davvero grazie a tutti per le risposte.

Risposte:


28

Buona domanda. Ti risponderò con un'animazione:

inserisci qui la descrizione dell'immagine

Quando l'host A invia il frame, lo switch non ha nulla nella sua tabella degli indirizzi MAC. Dopo aver ricevuto il telaio, registra host di un indirizzo MAC alla porta dello switch mappatura. Poiché non sa dove si trova l'indirizzo MAC di destinazione, inonda tutte le porte del frame.

Questo assicura che se esiste l'host B (che a questo punto lo switch non conosce ancora), che lo riceverà. Si spera che, al ricevimento del frame, l'host B genererà un frame di risposta, che consentirà allo Switch di apprendere il mapping degli indirizzi MAC dal frame di ritorno.

Puoi leggere di più su come funziona uno Switch qui (da dove ho preso l'animazione). Vorrei anche suggerire di leggere l'intera serie di articoli per uno sguardo più da vicino a come un pacchetto si muove attraverso una rete .

Un'ultima nota riguardante i termini Flooding vs Broadcast . Uno switch non trasmette mai frame, una trasmissione non è un'azione che uno switch può intraprendere. Un interruttore può solo inondare un frame. Una trasmissione è semplicemente un frame con un indirizzo MAC di destinazione di ffff.ffff.ffff. Questo è spesso confuso perché l'effetto finale è lo stesso, ma in realtà sono diversi .


La principale differenza tra allagamento e trasmissione è come reagiranno i nodi successivi
Ferrybig,

2
@Ferrybig Correct. Ma lo definirei leggermente diverso ... La differenza principale tra un interruttore che inonda un frame unicast e un interruttore che inonda un frame di trasmissione è come reagiranno i nodi successivi. Non esiste un interruttore che trasmette un frame. (Questo commento, e la mia risposta, parla del traffico di transito, non del traffico di gestione da / verso lo switch)
Eddie

5

Lo switch non utilizza ARP, ma ARP può aiutare a prevenire che questa situazione si verifichi in primo luogo, per due motivi:

  1. Se il nodo A sta inviando un pacchetto IP al nodo B che non si trova nella sua cache ARP, invierà prima una richiesta ARP (che è un pacchetto di trasmissione e verrà automaticamente invaso a tutte le porte dallo switch). Quando il nodo B invia la sua risposta ARP, lo switch imparerà il suo indirizzo MAC. Quindi, quando si verifica il trasferimento effettivo dei dati, lo switch conosce già gli indirizzi MAC dei partecipanti e non ha bisogno di inondare i pacchetti di dati.

  2. Molti dispositivi, quando il loro collegamento sale, invierà un pacchetto ARP gratuito . Oltre ad aggiornare le cache ARP di altri nodi sulla rete, GARP riempirà anche la tabella degli indirizzi MAC dello switch.

IPv6 non utilizza ARP, ma NDP soddisfa uno scopo simile.

Dunque, nel complesso, anche se gli interruttori certamente saranno invaderanno i frame per indirizzi unicast non hanno imparato, non è necessario tutte le volte che si potrebbe pensare, perché di solito hanno l'opportunità di imparare gli indirizzi nodi da frame broadcast in anticipo. Tuttavia, puoi sicuramente osservarlo con uno switch che ha avuto il overflow della sua tabella MAC o che è appena stato riavviato.


4

Quando uno switch riceve un frame, aggiorna la sua tabella degli indirizzi MAC con l'indirizzo MAC di origine e la porta su cui ha ricevuto il frame. Se l'indirizzo MAC di destinazione non si trova nella sua tabella degli indirizzi MAC (unicast sconosciuto), inoltra il frame a tutte le porte, tranne la porta su cui è stato ricevuto il frame.


Tranne quando si allaga, non fa tornare il frame alla porta da cui ha ricevuto il frame, giusto?
Todd Wilcox,

1
Giusto. non lo invia alla porta da cui è stato ricevuto il frame.
Ron Maupin

3
Aggiungerò semplicemente che lo switch non impara il nuovo indirizzo MAC (destinazione) fino a quando il dispositivo non risponde.
Ron Trunk,

Inondando il frame su tutte le porte, c'è rischio per la sicurezza?

3
Può essere. Ed è per questo che alcuni / molti switch supportano la disabilitazione del flooding unicast di unicast sconosciuto (oltre che multicast). In tre decenni di networking, non ho mai avuto bisogno di usarlo.
Ricky Beam,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.