In questo documento viene descritto come il protocollo ARP (Proxy Address Resolution Protocol) aiuti gli host a raggiungere subnet remote senza route di host o gateway predefinito.
Questo documento richiede la conoscenza degli ambienti ARP ed Ethernet.
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Cisco IOS® Software Release 12.2 (10b)
Cisco serie 2600 Router
Nota: Il comportamento descritto in questo documento non si limita a questi componenti. Il proxy ARP è disponibile su più piattaforme Cisco IOS e Cisco IOS XE. La disponibilità delle funzionalità, il comportamento predefinito e il supporto dei comandi possono variare a seconda della piattaforma e della versione software in uso.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Nel protocollo proxy ARP, un host, in genere un router, risponde alle richieste ARP destinate a un'altra macchina. Il router risponde con il proprio indirizzo MAC e instrada i pacchetti verso la destinazione effettiva. Il proxy ARP può aiutare le macchine di una subnet a raggiungere le subnet remote senza configurare il routing o un gateway predefinito. Il proxy ARP è definito nella RFC 1027.
Questo è un esempio di come funziona il proxy ARP:
Esempio di rete
L'host A (172.16.10.100) sulla subnet A deve inviare i pacchetti all'host D (172.16.20.200) sulla subnet B. Come mostrato nel diagramma reticolare, l'host A ha una subnet mask /16. Ciò significa che l'host A ritiene di essere connesso direttamente a tutta la rete 172.16.0.0. Quando l'host A deve comunicare con un dispositivo che ritiene sia connesso direttamente, invia una richiesta ARP alla destinazione. Riepilogando, quando l'host A deve inviare un pacchetto all'host D, suppone che quest'ultimo sia connesso direttamente e gli invia una richiesta ARP.
Per raggiungere l'host D (172.16.20.200), l'host A richiede l'indirizzo MAC associato all'indirizzo IP di destinazione.
Quindi, l'host A trasmette una richiesta ARP sulla subnet A, come mostrato:
| Indirizzo MAC mittente | Indirizzo IP mittente | Indirizzo MAC di destinazione | Target IP address |
|---|---|---|---|
| 00-00-0c-94-36-aa | 172.16.10.100 | 00-00-00-00-00-00 | 172.16.20.200 |
In questa richiesta ARP, l'host A (172.16.10.100) chiede che l'host D (172.16.20.200) gli invii l'indirizzo MAC. Il pacchetto della richiesta ARP viene quindi incapsulato in un frame Ethernet con l'indirizzo MAC dell'host A come indirizzo di origine e l'indirizzo di broadcast (FFFF.FFFF.FFFF) come indirizzo di destinazione. Poiché la richiesta ARP è una trasmissione, raggiunge tutti i nodi sulla subnet A, compresa l'interfaccia Ethernet 0 (e0) del router, ma non l'host D. La trasmissione non raggiunge l'host D perché i router, per impostazione predefinita, non inoltrano i frame di trasmissione di livello 2 tra le interfacce.
Poiché il proxy ARP è abilitato sull'interfaccia ricevente e il router ha un percorso all'host D (172.16.20.200) tramite un'altra interfaccia, il router risponde all'host A con il proprio indirizzo MAC.
| Indirizzo MAC mittente | Indirizzo IP mittente | Indirizzo MAC di destinazione | Target IP address |
|---|---|---|---|
| 00-00-0c-94-36-ab | 172.16.20.200 | 00-00-0c-94-36-aa | 172.16.10.100 |
Questa è la risposta proxy ARP che il router invia all'host A. Il pacchetto di risposta proxy ARP è incapsulato in un frame Ethernet il cui indirizzo di origine è l'indirizzo MAC del router e il cui l'indirizzo di destinazione è l'indirizzo MAC dell'host A. La risposta ARP proxy in questo scambio è unicast al richiedente originale. Alla ricezione di questa risposta ARP, l'host A aggiorna la tabella ARP, come mostrato:
| Indirizzo IP | Indirizzo MAC |
|---|---|
| 172.16.20.200 | 00-00-0c-94-36-ab |
Fino a quando la voce ARP non scade o non viene modificata, l'host A invia i pacchetti per 172.16.20.200 (ID host) all'indirizzo MAC 00-00-0c-94-36-ab, che appartiene al router. Poiché il router sa come raggiungere l'host D, inoltra il pacchetto all'host D. La cache ARP di un host sulla subnet A contiene l'indirizzo MAC del router per ciascuna destinazione remota per la quale il router fornisce una risposta ARP proxy. Pertanto, tutti i pacchetti destinati alla subnet B vengono inviati al router. Il router inoltra tali pacchetti agli host della subnet B.
Nella tabella viene mostrata la cache ARP dell'host A:
| Indirizzo IP | Indirizzo MAC |
|---|---|
| 172.16.20.200 | 00-00-0c-94-36-ab |
| 172.16.20.100 | 00-00-0c-94-36-ab |
| 172.16.10.200 | 00-00-0c-94-36-bb |
Nota: Più indirizzi IP vengono mappati su un singolo indirizzo MAC, che è l'indirizzo MAC di questo router. In questa topologia, questo modello può indicare che il Proxy ARP è in uso.
Affinché il router risponda per conto delle destinazioni remote, il proxy ARP deve essere abilitato su un'interfaccia di router Cisco. Su Cisco IOS, il proxy ARP è abilitato per impostazione predefinita sulle interfacce con supporto ARP. Prima di disabilitare il protocollo ARP proxy, verificare che gli host interessati dispongano di una route valida o di un gateway predefinito. Su un'interfaccia dove non è richiesto il Proxy ARP, disabilitarlo senza ip proxy-arp:
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface ethernet 0 Router(config-if)#no ip proxy-arp Router(config-if)#^Z Router#
Per abilitare il protocollo ARP proxy su un'interfaccia, eseguire il comando di configurazione dell'interfaccia ip proxy-arp. Eseguire show ip interface <interface> per verificare che l'output segnali che il proxy ARP è abilitato.
Nota: Quando l'host B (172.16.10.200/24) sulla subnet A tenta di inviare i pacchetti all'host D (172.16.20.200) sulla subnet B, controlla la relativa tabella di routing IP. L'host B non invia una richiesta ARP per l'host D perché la destinazione è esterna alla subnet configurata sull'interfaccia Ethernet dell'host B. L'host B invia il pacchetto all'hop successivo configurato. Senza una route corrispondente o un gateway predefinito, la comunicazione non riesce.
Il vantaggio principale del proxy ARP è che può essere abilitato su un singolo router della rete e non modifica le tabelle di routing degli altri router della rete.
Il proxy ARP può essere utilizzato su una rete in cui gli host IP non dispongono di un gateway predefinito o di un'altra route verso la destinazione remota.
Gli host non hanno visibilità nella topologia della rete fisica e trattano la rete come un segmento piatto in cui una richiesta ARP può risolvere qualsiasi indirizzo di destinazione.
Il comportamento ARP proxy presenta diversi svantaggi:
La quantità di traffico ARP sul segmento aumenta.
Gli host hanno bisogno di tabelle ARP più grandi per gestire la mappatura tra indirizzi IP e indirizzi MAC.
La sicurezza può essere compromessa. Una macchina può affermare di essere un'altra per intercettare i pacchetti, un atto chiamato spoofing.
Non funziona per le reti che non utilizzano il protocollo APR per la risoluzione degli indirizzi.
Può produrre una selezione imprevedibile dell'hop successivo quando più router forniscono risposte ARP proxy per la stessa destinazione.
| Revisione | Data di pubblicazione | Commenti |
|---|---|---|
6.0 |
09-Sep-2026
|
Collegamento fisso e controllo ortografia/grammatica. |
5.0 |
29-May-2025
|
Sono stati risolti alcuni problemi di formattazione. |
4.0 |
06-Mar-2025
|
È stato corretto un errore di battitura |
3.0 |
02-Jun-2023
|
Certificazione |
2.0 |
28-Mar-2022
|
Collegamenti interrotti corretti o rimossi. |
1.0 |
02-Dec-2013
|
Versione iniziale |