# Indirizzo MAC

In informatica e telecomunicazioni, un indirizzo MAC (dove MAC sta per Media Access Control), detto anche "indirizzo fisico" o "indirizzo Ethernet", è un codice di 48 bit associato ad ogni dispositivo di rete che implementa lo standard Ethernet. Il suo scopo principale è quello di attribuire un'identità univoca a ciascuno dei nodi collegati ad uno stesso segmento di rete, consentendo quindi comunicazioni locali di tipo unicast.

## Descrizione

Rappresenta in sostanza un identificativo per un particolare dispositivo di rete a livello di rete locale: ad es. due schede di rete in due diversi calcolatori avranno due diversi nomi (e quindi diversi indirizzi MAC), così come avranno nomi diversi una scheda Ethernet ed una scheda wireless posizionate nel medesimo computer.
La maggior parte dei protocolli di livello 2 usano uno dei tre spazi di numerazione regolati dall'IEEE: MAC-48, EUI-48, e EUI-64. Essi sono progettati per essere globalmente unici, anche se non tutti i protocolli di comunicazione richiedono tale caratteristica. L'IEEE rivendica i diritti sui nomi "EUI-48" e "EUI-64". (La sigla "EUI" sta per Extended Unique Identifier).
È distinto dall'indirizzo IP che è invece un indirizzo di livello 3 necessario per interconnettere (internetworking) i terminali di una sottorete locale con quelli di altre sottoreti eterogenee garantendo interoperabilità tra esse ovvero per l'instradamento indiretto tramite l'omonimo protocollo di rete IP all'interno del paradigma TCP-IP della rete Internet.

## Funzioni

L'indirizzo MAC è utilizzato invece per l'instradamento diretto in reti locali per raggiungere un host una volta raggiunta la sottorete finale di destinazione e quindi anche a livello di internetworking, cioè per indirizzamento indiretto con associato l'indirizzo IP, quando si tratta di attraversare una certa sottorete locale di transito verso la sottorete finale di destinazione.
Il compito della conversione o risoluzione degli indirizzi di livello 3, come appunto l'indirizzo IP, in indirizzi MAC di livello 2 è comunemente demandato al protocollo ARP, mentre la procedura opposta, ovvero l'assegnamento dell'indirizzo IP a partire dall'indirizzo fisico, da protocolli come RARP e DHCP. Nelle reti broadcast come l'Ethernet, il MAC address permette di identificare univocamente ciascun host e permette di contrassegnare i frame come destinati a specifici host. Esso costituisce perciò, all'interno del Livello datalink, la base su cui poggiano i protocolli superiori del modello OSI.
Tutti gli apparati che contengono una banale scheda di rete hanno un proprio indirizzo MAC: switch, router, firewall, console di giochi, qualsiasi dispositivo informatico o telematico, smart TV e impianti audio digitali, veicoli dotati di connessione wireless, terminali di servizi vari (ad esempio un comune lettore di accessi di edificio o una stazione di prelievo di carburante con pagamento POS), e tanti altri.

## Formato degli indirizzi

L'originale Indirizzo MAC IEEE 802, ora chiamato ufficialmente "MAC-48", deriva dalla specifica dell'Ethernet. Poiché chi inizialmente progettò l'Ethernet ebbe la previdenza di usare uno spazio indirizzi a 48-bit, adesso disponiamo potenzialmente di ben 2$^{48}$ (cioè 281.474.976.710.656) possibili indirizzi MAC, un numero che è praticamente impossibile raggiungere prima che le schede ethernet cambino standard.
In tale formato (quello attualmente più diffuso), i 48 bit del codice sono suddivisi in 12 cifre esadecimali: le prime 6 cifre individuano il produttore dell'interfaccia di rete mentre le successive corrispondono al numero di serie della scheda stessa. L'indirizzo MAC si scrive normalmente in 6 ottetti separati da un trattino (es. 00-50-FC-A0-67-2C) ed i primi 3 ottetti sono detti OUI (Organizationally Unique Identifier). Per questo tipo di indirizzi di solito si preferisce la notazione esadecimale anche per differenziarla dagli indirizzi IP che usano la notazione decimale.
I tre sistemi di numerazione utilizzano lo stesso formato, differendo soltanto nella lunghezza dell'identificatore. Gli indirizzi si dividono in "indirizzi universally administered" e "indirizzi locally administered".
Gli indirizzi universally administered vengono assegnati ai dispositivi dal loro produttore; e vengono talvolta chiamati "indirizzi burned-in". I primi tre ottetti (in ordine di trasmissione) identificano l'organizzazione o il produttore che ha emesso l'identificatore e rappresentano l'Organizationally Unique Identifier (OUI). I successivi tre (MAC-48 ed EUI-48) o cinque (EUI-64) ottetti sono assegnati dal produttore che deve rispettare il solo vincolo dell'univocità. L'IEEE prevede che lo spazio MAC-48 non sia esaurito prima dell'anno 2100, mentre non ci si aspetta l'esaurimento degli indirizzi EUI-64 in un futuro ragionevolmente vicino.
Gli indirizzi locally administered vengono assegnati ad un componente dall'amministratore di rete, annullando l'indirizzo burned-in. Gli indirizzi locally administered non contengono gli ottetti OUI.
Gli indirizzi universally administered e locally administered si distinguono per mezzo del settaggio del secondo bit meno significativo del byte più significativo dell'indirizzo (cioè il primo byte a sinistra dei 6 byte dell'indirizzo, come in figura). Se il bit è impostato a 0 identifica un indirizzo universally administered; se viceversa è impostato a 1, identifica un indirizzo locally administered. Tale bit vale quindi 0 in tutti gli OUI. Per esempio, 02-00-00-00-00-01 è un indirizzo locally administered.
Gli indirizzi MAC-48 ed EUI-48 vengono solitamente rappresentati in formato esadecimale, separando ciascun ottetto con un trattino o con i due punti. Un esempio di indirizzo MAC-48 è "00-08-74-4C-7F-1D". Confrontando i primi tre ottetti con le assegnazioni OUI dell'IEEE, si può osservare come esso appartenga alla Dell Corporation, mentre gli ultimi tre ottetti rappresentano il numero seriale assegnato al componente dal produttore.
Ogni scheda di rete ha, quindi, un indirizzo MAC univoco essendo i primi 24 bit identificativi del produttore e gli altri 24 utilizzati da quest'ultimo in modo univoco.
La conversione tra indirizzo MAC e indirizzo IP avviene mediante alcuni protocolli, il più conosciuto dei quali è Address Resolution Protocol (ARP).

## Visualizzazione e modifica

Per visualizzare l'indirizzo MAC della propria scheda di rete i sistemi operativi forniscono in genere un comando specifico da digitare su shell testuale; tale comando su Windows è ipconfig /all (ifconfig -a su Linux) mentre il comando arp -a visualizza l'intera Arp cache dell'eventuale rete locale a cui il PC è connesso.
Sebbene l'indirizzo MAC sia permanente di natura, esistono alcuni metodi che permettono di camuffarlo, operazione che in gergo tecnico viene detta MAC spoofing. La modifica può essere utile per motivi di privacy, ad esempio collegandosi ad una rete Wi-Fi libera, o per motivi di interoperabilità. In ogni caso queste modifiche sono puramente software e non permanenti: al riavvio del sistema viene ripristinato l'indirizzo MAC originale memorizzato all'interno del dispositivo hardware.