Il protocollo di risoluzione degli indirizzi (ARP) è un protocollo di rete utilizzato per mappare Gli indirizzi IP agli indirizzi MAC (media access control) fisici all'interno di un segmento di rete locale.

Che cosa è ARP?
Il protocollo di risoluzione degli indirizzi (ARP) opera all'interno del livello di collegamento del modello OSI e svolge un ruolo fondamentale nelle reti IPv4, traducendo gli indirizzi IP logici in indirizzi MAC fisici. Quando un dispositivo desidera inviare dati a un altro dispositivo sullo stesso rete locale (LAN), controlla prima la sua cache ARP per vedere se ha già una registrazione dell'indirizzo MAC del dispositivo di destinazione corrispondente al suo indirizzo IP.
Se la mappatura non viene trovata, il dispositivo trasmette un pacchetto di richiesta ARP a tutti i dispositivi sulla rete, chiedendo quale detiene l'indirizzo IP specificato. Il dispositivo con l'indirizzo IP corrispondente risponde con una risposta ARP contenente il suo Indirizzo MACQueste informazioni vengono quindi memorizzate nell'ARP nascondiglio per le comunicazioni future, riducendo la necessità di ripetute trasmissioni.
ARP è essenziale per il funzionamento delle reti Ethernet perché mentre i protocolli di livello superiore come IP operano con indirizzi logici, quelli effettivi trasmissione dati ancora Ethernet si basa sugli indirizzi MAC. ARP funziona solo entro i confini di un singolo dominio di broadcast e non opera attraverso router o diversi sottoreti, dove altri meccanismi, come proxy ARP o instradamento, sono necessari per risolvere gli indirizzi.
Tipi di ARP
Esistono diverse varianti di ARP, ciascuna progettata per gestire diverse situazioni nelle reti IP. Queste tipologie si basano sul meccanismo ARP di base, ma svolgono ruoli specifici a seconda dell'architettura e dei requisiti di rete:
- ARP standard (o semplicemente ARP) è la forma originale utilizzata per risolvere un IPv4 indirizzo in un indirizzo MAC all'interno dello stesso segmento di rete locale. Un host invia una richiesta ARP e il dispositivo con l'IP corrispondente risponde con il suo indirizzo MAC.
- ARP proxy consente a un router di rispondere alle richieste ARP per conto di un dispositivo che risiede su una subnet diversa. Il router finge di essere l'host di destinazione rispondendo con il proprio indirizzo MAC, consentendo ai dispositivi su subnet diverse di comunicare senza una configurazione di routing esplicita, sebbene ciò possa introdurre modulabilità e problemi di sicurezza.
- ARP inverso (RARP) è stato progettato per consentire a un dispositivo che conosce il suo indirizzo MAC di richiedere il suo indirizzo IP da un server centrale serverQuesto veniva utilizzato principalmente dalle workstation senza disco durante stivale ma ora è obsoleto, sostituito da DHCP.
- ARP gratuito Si verifica quando un dispositivo invia una richiesta ARP per il proprio indirizzo IP o invia una risposta ARP non richiesta. Viene utilizzato per aggiornare le tabelle ARP in altri dispositivi, rilevare conflitti IP o annunciare modifiche all'indirizzo IP.
- ARP inverso (InARP) viene utilizzato principalmente nelle reti Frame Relay e ATM. Invece di risolvere un IP in un hardware indirizzo, risolve un identificatore di circuito virtuale noto (ad esempio un DLCI) in un indirizzo di livello di rete.
- ARP dinamico Si riferisce alle voci ARP che vengono apprese automaticamente e mantenute temporaneamente nella cache ARP. Queste voci scadono dopo un periodo di tempo prestabilito, a meno che non vengano aggiornate.
- ARP statico Si riferisce a voci ARP configurate manualmente che rimangono nella cache in modo permanente e non scadono. Questo può essere utilizzato per motivi di sicurezza o prestazioni, ma richiede una manutenzione manuale.
Come funziona l'ARP?

Quando un dispositivo su una rete locale deve inviare dati a un altro dispositivo, verifica innanzitutto se conosce già l'indirizzo MAC corrispondente all'indirizzo IP di destinazione, consultando la propria cache ARP.
Se la mappatura esiste, utilizza l'indirizzo MAC memorizzato per inviare i dati direttamente. Se la mappatura non viene trovata, il dispositivo invia una richiesta ARP a tutti i dispositivi sulla rete locale, chiedendo essenzialmente: "Chi ha questo indirizzo IP?". Tutti i dispositivi sulla rete ricevono la richiesta, ma solo il dispositivo con l'indirizzo IP corrispondente risponde con una risposta ARP che include il suo indirizzo MAC.
Dopo aver ricevuto la risposta, il mittente memorizza la nuova mappatura IP-MAC nella sua cache ARP per un utilizzo futuro e procede a trasmettere i dati alla destinazione utilizzando l'indirizzo MAC risolto. L'intero processo garantisce che i dispositivi sulla stessa subnet locale possano comunicare utilizzando le proprie interfacce di rete fisiche, mentre protocolli IP di livello superiore gestiscono l'indirizzamento e il routing su reti più ampie.
Qual è un esempio di ARP?
Ad esempio, supponiamo che un computer con indirizzo IP 192.168.1.10 voglia inviare dati a un altro computer sulla stessa rete locale con indirizzo IP 192.168.1.20. Il computer mittente controlla innanzitutto la propria cache ARP per verificare se conosce già l'indirizzo MAC di 192.168.1.20. In caso contrario, invia una richiesta ARP broadcast a tutti i dispositivi della rete, chiedendo: "Chi ha l'indirizzo IP 192.168.1.20?". Il computer con indirizzo IP 192.168.1.20 riceve la richiesta e risponde con il proprio indirizzo MAC, ad esempio 00-14-22-01-23-45. Il computer mittente riceve questa risposta, aggiorna la propria cache ARP con la nuova mappatura IP-MAC e utilizza tale indirizzo MAC per inviare i dati direttamente sulla rete locale.
Strumenti ARP
Ecco un elenco degli strumenti ARP più comuni.
arp (strumento da riga di comando)
Disponibile sulla maggior parte sistemi operativi (Finestre, Linux, macOS), questo Da riga di comando Lo strumento consente agli utenti di visualizzare, aggiungere ed eliminare voci nella cache ARP. Aiuta a risolvere i problemi di comunicazione della rete locale visualizzando le mappature IP-MAC correnti o forzando mappature specifiche.
Arping
Utilizzato principalmente su UNIXSistemi simili, arping invia richieste ARP a un indirizzo IP specifico e segnala se è stata ricevuta una risposta. Funziona in modo simile a un ping ma opera a livello di collegamento, rendendolo utile per verificare se un host è raggiungibile sul segmento di rete locale e per rilevare indirizzi IP duplicati.
netstat -arp (o netstat -an su alcuni sistemi)
In alcuni sistemi, netstat può visualizzare la cache ARP insieme ad altre statistiche di rete, aiutando a diagnosticare i problemi di rete mostrando le voci ARP attive e il loro stato.
vicino IP (Linux)
Fa parte della suite di comandi ip nei moderni sistemi Linux. Mostra e manipola la tabella dei vicini, che funziona in modo simile alla cache ARP per IPv4 (e ND per IPv6), consentendo agli amministratori di controllare e aggiornare le mappature degli indirizzi MAC.
Wireshark
Un analizzatore di protocollo di rete che cattura e visualizza il traffico di rete, incluse richieste e risposte ARP. Wireshark consente un'analisi dettagliata dei pacchetti ARP, rendendolo prezioso per la diagnosi di problemi relativi ad ARP, come lo spoofing o la risoluzione errata degli indirizzi.
Nmap (con scansione ARP)
Nmap può eseguire scansioni ARP per identificare rapidamente gli host attivi su una subnet locale. Poiché le richieste ARP non si basano sulle risposte a livello IP, la scansione ARP è spesso più affidabile per rilevare dispositivi all'interno dello stesso broadcast. dominio.
arpwatch
Uno strumento di monitoraggio di rete che tiene traccia del traffico ARP su una rete e registra le mappature degli indirizzi IP-MAC. Può inviare avvisi amministratori a modifiche nelle mappature, che potrebbero indicare potenziali problemi di rete o attacchi di spoofing ARP.
Come funziona la cache ARP?
La cache ARP è una tabella memorizzata nella memoria di un dispositivo che tiene traccia delle mappature degli indirizzi IP-MAC risolte di recente per ridurre la necessità di richieste ARP ripetute.
Quando un dispositivo deve inviare dati, controlla innanzitutto la cache ARP per verificare se l'indirizzo IP di destinazione ha già un indirizzo MAC corrispondente. Se la mappatura esiste, il dispositivo la utilizza per inviare direttamente il frame, evitando trasmissioni ARP non necessarie. Se la voce manca, viene inviata una richiesta ARP per risolvere l'indirizzo e la risposta viene memorizzata nella cache.
Ogni voce nella cache ARP ha un tempo di vita (TTL) valore, dopo il quale scade per garantire che le mappature obsolete vengano rimosse, soprattutto se i dispositivi cambiano indirizzo IP o abbandonano la rete. Alcune voci ARP possono anche essere configurate manualmente come statiche, nel qual caso rimangono nella cache a tempo indeterminato finché non vengono eliminate o modificate manualmente.
La cache ARP aiuta a migliorare l'efficienza e le prestazioni della rete riducendo al minimo il traffico di rete e latenza nella risoluzione degli indirizzi.
A cosa serve l'ARP?
ARP viene utilizzato per abilitare la comunicazione tra dispositivi sulla stessa rete locale traducendo gli indirizzi IP in indirizzi MAC fisici. Poiché i dispositivi utilizzano gli indirizzi IP per l'indirizzamento logico a livello di rete, ma richiedono gli indirizzi MAC per recapitare fisicamente i frame a livello di collegamento dati, ARP fornisce il meccanismo per eseguire questa risoluzione degli indirizzi.
Senza ARP, i dispositivi non sarebbero in grado di determinare dove inviare i pacchetti all'interno della subnet locale. È essenziale per le funzioni di rete di base, come l'avvio di connessioni, il trasferimento di dati e il mantenimento di una corretta comunicazione di rete. Inoltre, ARP svolge un ruolo nella diagnostica di rete, nell'individuazione dei dispositivi e in alcuni tipi di attacchi o difese di rete, come il rilevamento dell'ARP spoofing.
I vantaggi e gli svantaggi dell'ARP
Ecco una tabella che riassume i vantaggi e gli svantaggi dell'ARP:
| Vantaggi | Svantaggi |
| Meccanismo semplice ed efficiente per risolvere gli indirizzi IP in indirizzi MAC all'interno di una rete locale. | Limitato alla subnet locale; non funziona su router o domini di broadcast diversi. |
| Funziona automaticamente senza richiedere configurazione manuale nella maggior parte degli ambienti. | Vulnerabile agli attacchi ARP spoofing e man-in-the-middle, poiché ARP non ha autenticazione. |
| Risoluzione rapida tramite cache per ridurre il sovraccarico di rete e la latenza dopo la risoluzione iniziale. | Le voci della cache ARP possono diventare obsolete, causando potenziali problemi di connettività se i dispositivi cambiano indirizzo IP o MAC. |
| Supporta ambienti di rete dinamici in cui i dispositivi si uniscono o escono frequentemente dalla rete. | Può generare traffico di trasmissione non necessario, soprattutto in reti grandi o trafficate. |
| Ampiamente supportato su tutti i sistemi di rete basati su IPv4. | Non supporta IPv6; sostituito dal Neighbor Discovery Protocol (NDP) negli ambienti IPv6. |
ARP contro MAC contro IP contro DNS
Ecco una tabella comparativa che distingue ARP, MAC, IP e DNS:
| Aspetto | ARP (protocollo di risoluzione degli indirizzi) | MAC (indirizzo di controllo dell'accesso al supporto) | IP (indirizzo del protocollo Internet) | DNS (sistema dei nomi di dominio) |
| Funzione | Risolve gli indirizzi IP in indirizzi MAC sulle reti locali. | Identifica un'interfaccia di rete fisica su una rete locale. | Fornisce l'indirizzamento logico per i dispositivi sulle reti. | Risolve i nomi di dominio in indirizzi IP. |
| Strato | Livello di collegamento (interazione tra livelli 2/3) | Livello di collegamento dati (Livello 2) | Livello di rete (Livello 3) | Livello dell'applicazione |
| Obbiettivo | Funziona all'interno di subnet locali. | Univoco per interfaccia di rete; ambito di rete locale. | Ambito globale; instradabile attraverso le reti. | Portata globale di Internet. |
| Tipo di Indirizzo | Protocollo per la mappatura degli indirizzi. | Indirizzo fisso a 48 bit assegnato tramite hardware o software. | Indirizzo logico a 32 bit (IPv4) o 128 bit (IPv6). | Nomi di dominio leggibili. |
| Persistenza | La cache ARP memorizza le mappature temporanee. | Solitamente statico (hardware); può essere riassegnato. | Assegnazione dinamica o statica tramite DHCP o configurazione. | Statico o dinamico; gestito tramite DNS servers. |
| Caso d'uso chiave | Consente la consegna locale di pacchetti in base all'IP. | Identifica la scheda di rete che riceve i frame. | Identifica la posizione del dispositivo nelle reti globali o private. | Traduce i nomi di facile utilizzo in IP per l'accesso alla rete. |
| Rischi per la sicurezza | Vulnerabile agli attacchi di spoofing. | Generalmente sicuro ma può essere clonato. | Sensibile allo spoofing e al dirottamento dell'IP. | Vulnerabile a spoofing DNS e avvelenamento della cache. |
Quale futuro per l'ARP?
Con l'adozione diffusa di IPv6, ARP sta venendo sostituito dal protocollo NDP (Neighbor Discovery Protocol), più sicuro ed efficiente. Sebbene ARP rimanga essenziale nelle reti basate su IPv4, la sua mancanza di funzionalità di sicurezza lo rende vulnerabile a spoofing e attacchi man-in-the-middle, stimolando lo sviluppo di alternative più sicure e misure di protezione come l'ispezione ARP dinamica (DAI) nelle reti moderne.
Con la crescita dell'adozione di IPv6 e l'aumento delle richieste di sicurezza della rete, il ruolo di ARP diminuirà gradualmente, rimanendo principalmente in sistemi legacy e ambienti IPv4 che continuano a persistere insieme alle tecnologie più recenti.