[successivo] [precedente] [indice]

Address Resolution Protocol

Il protocollo ARP fornisce il mappaggio tra due tipi diversi di indirizzi: l'indirizzo internet a 32 bit e l'indirizzo fisico a livello data link. La sua specifica e' data nel documento RFC826.

Arp e'un protocollo dinamico, che fornisce automaticamente tale mappaggio. ARP e' progettato per reti che supportano il broadcast.

Il caso piu' tipico e' la necessita' di trasformare un indirizzo internet in indirizzo Ethernet (IEEE 802) a 48 bit.

ARP invia un pacchetto di richiesta broadcast contenebte l'indirizzo internet di destinazione, e i propri indirizzi internet ed Ethernet. La stazione della rete che riconosce il proprio indirizzo internet nel pacchetto di richiesta invia un pacchetto di responso contenente il proprio indirizzo Ethernet.

Struttura dei Pacchetti

I pacchetti ARP di richiesta e di responso hanno la seguente struttura:

Il pacchetto vero e proprio e' preceduto da una testata di trama Ethernet. In questa il tipo di trama e' 0x0806.

Il campo Tipo Hardware vale 1 nel caso Ethernet. Il campo Tipo Protocollo specifica il protocollo mappato e vale 0x0800 per un indirizzo IP. I campi Dimensione Hardware e Dimensione Protocollo specificano la lunghezza in byte dei campi seguenti contenenti gli indirizzi Ethernet e IP.

Il campo Operazione specifica se si tratti di una richiesta ARP (1), di un responso ARP (2), o anche di una richiesta RARP (3) o di un responso RARP (4).

Le richieste ARP contengono zero nel campo Indirizzo Ethernet Mittente. I responsi ARP contengono valori per tutti i campi, con il mittente e ricevente invertiti.

ARP mantiene una cache degli indirizzi risolti, i cui campi diventano invalidi dopo un tempo di 20 minuti.

In caso di fallimento da parte della stazione chiamante di contattare la stazione cercata, ARP crea una entry incompleta nella cache. Il protocollo ARP di per se' non ritenta un contatto fallito. Sono i protocolli a livello superiore (p.es. TCP) che ritentano ad intervalli regolari di contattare una stazione che non risponde, fino ad un loro timeout massimo. ARP viene quindi da essi invocato piu' volte in caso di fallimento iniziale. ARP mantiene la entry incompleta nella cache per 3 minuti.

Varianti

Proxy ARP

Il Proxy ARP fa si' che un router emetta responsi ARP su una delle sue reti per conto di una stazione su un altra delle sue reti. La stazione chiamante crede quindi che la stazione ricevente ed il router coincidano. Il router si incarica di recapitare i pacchetti a destinazione correttamente.

La funzione Proxy ARP si attiva di solito su un router collegato da una parte ad una rete broadcast e dall'altra ad una rete punto-punto che collega un'altro router ed un'altra rete broadcast. I due router possiedono tabelle di routing aggiornate per entrambe le reti. Le altre stazioni di ciascuna rete broadcast non devono preoccuparsi di considerare il router come router di default ed evitano possibili messaggi ICMP Redirect.

Il Proxy ARP viene chiamato anche ARP Promiscuo o ARP Hack e puo' servire anche a nascondere due reti tra loro, per esempio quando usino versioni diverse ed incompatibili di protocolli, o quando le due reti usino lo stesso indirizzo di rete.

ARP Gratuito

Questo avviene quando una stazione invia una richiesta ARP per il proprio indirizzo Ethernet. Questo puo' avere vantaggi in due situazioni: