A cosa serve esattamente un indirizzo MAC?
Ogni componente hardware della rete locale ha un indirizzo MAC oltre all'indirizzo IP assegnato dal router o server locale. Per cosa è esattamente questo indirizzo MAC?
La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte basato sulla comunità.
La domanda
Il lettore SuperUser Vishnu Vivek è incuriosito dagli indirizzi MAC e dalla loro funzione:
Capisco che gli indirizzi IP sono gerarchici, in modo che i router su Internet sappiano in quale direzione inoltrare un pacchetto. Con gli indirizzi MAC, non esiste una gerarchia, e quindi l'inoltro dei pacchetti non sarebbe possibile. Pertanto, gli indirizzi MAC non vengono utilizzati per il trasferimento di pacchetti.
Non penso che rimanga lì senza motivo. Quindi la mia domanda è, dove esattamente un indirizzo MAC entra in gioco durante un trasferimento di pacchetti?
Dove effettivamente? Qual è la funzione specifica dell'indirizzo MAC?
La risposta
Il collaboratore di SuperUser Werner Henze offre alcune informazioni sulla funzione dell'indirizzo MAC:
Per cosa sono utilizzati gli indirizzi MAC?
Gli indirizzi MAC sono le basi di basso livello che fanno funzionare la rete basata su Ethernet.
Le schede di rete hanno ciascuna un indirizzo MAC univoco. I pacchetti inviati su Ethernet provengono sempre da un indirizzo MAC e inviati a un indirizzo MAC. Se una scheda di rete sta ricevendo un pacchetto, sta confrontando l'indirizzo MAC di destinazione del pacchetto con l'indirizzo MAC della scheda stessa. Se gli indirizzi corrispondono, il pacchetto viene elaborato, altrimenti viene scartato.
Esistono indirizzi MAC speciali, uno per esempio è ff: ff: ff: ff: ff: ff, che è l'indirizzo di broadcast e indirizza ogni scheda di rete nella rete.
Come funzionano gli indirizzi IP e gli indirizzi MAC?
IP è un protocollo che viene utilizzato su uno strato sopra Ethernet. Un altro protocollo, ad esempio, sarebbe IPX.
Quando il tuo computer vuole inviare un pacchetto ad un indirizzo IP x.x.x.x, il primo controllo è se l'indirizzo di destinazione si trova nella stessa rete IP del computer stesso. Se x.x.x.x si trova nella stessa rete, è possibile raggiungere direttamente l'IP di destinazione, altrimenti il pacchetto deve essere inviato al router configurato.
Fino ad ora le cose sembrano peggiorate, perché ora abbiamo due indirizzi IP: uno è l'indirizzo di destinazione del pacchetto IP originale, l'altro è l'IP del dispositivo a cui dobbiamo inviare il pacchetto (il salto successivo, o il finale destinazione o il router).
Poiché ethernet utilizza gli indirizzi MAC, il mittente deve ottenere l'indirizzo MAC dell'hop successivo. C'è uno speciale protocollo ARP (protocollo di risoluzione degli indirizzi) che viene usato per quello. Una volta che il mittente ha recuperato l'indirizzo MAC dell'hop successivo, scrive quell'indirizzo MAC di destinazione nel pacchetto e invia il pacchetto.
Come funziona l'ARP?
ARP stesso è un protocollo sopra Ethernet, come IP o IPX. Quando un dispositivo desidera conoscere l'indirizzo MAC per un dato indirizzo IP, invia un pacchetto all'indirizzo MAC broadcast chiedendo "Chi ha l'indirizzo IP sì?" Tutti i dispositivi ricevono quel pacchetto, ma solo quello con l'indirizzo IP yyyy risponderà con un pacchetto "Sono io". Il dispositivo che chiede riceve la risposta e ora sa che l'indirizzo MAC di origine è l'indirizzo MAC corretto da utilizzare. Ovviamente il risultato verrà memorizzato nella cache, quindi il dispositivo non ha bisogno di risolvere ogni volta l'indirizzo MAC.
Routing
Ho quasi dimenticato di menzionare: non esiste un routing basato su indirizzi MAC. Gli indirizzi Ethernet e MAC di basso livello possono raggiungere solo tutti i dispositivi su stesso rete (cablata o wireless). Se ci sono due reti con un router intermedio, non è possibile avere un dispositivo nella rete A inviare un pacchetto all'indirizzo MAC di un dispositivo nella rete B. Nessun dispositivo nella rete A ha l'indirizzo MAC del dispositivo nella rete B, quindi un il pacchetto per questo indirizzo MAC verrà scartato da tutti i dispositivi nella rete A (anche dal router).
Il routing avviene a livello IP. Semplicemente visto il router sta solo facendo quello che ho descritto sopra nella sezione "Come funzionano gli indirizzi IP e gli indirizzi MAC?". Il router riceverà i pacchetti per il proprio indirizzo MAC ma per un diverso indirizzo IP. Verificherà quindi se può raggiungere direttamente l'indirizzo IP di destinazione. Se è così, invia il pacchetto al bersaglio. In caso contrario, il router stesso ha anche configurato un router upstream e invierà il pacchetto a quel router.
Ovviamente è possibile configurare più router. Il tuo router di casa avrà un solo router upstream configurato, ma nel backbone di Internet i grandi router hanno grandi tabelle di routing in modo che sappiano il modo migliore per tutti i pacchetti.
Altri casi d'uso per indirizzi MAC
- Gli switch di rete memorizzano un elenco di indirizzi MAC visualizzati su ogni porta e inoltrano solo i pacchetti alle porte che devono vedere il pacchetto.
- I punti di accesso wireless spesso utilizzano gli indirizzi MAC per il controllo degli accessi. Consentono l'accesso solo per i dispositivi noti (l'indirizzo MAC è univoco e identifica i dispositivi) con la passphrase corretta.
- I server DHCP utilizzano l'indirizzo MAC per identificare i dispositivi e fornire ad alcuni dispositivi indirizzi IP fissi.
Hai qualcosa da aggiungere alla spiegazione? Sound off nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.