Protocollo ARP
E' un protocollo di livello rete (livello 3) e si affianca a ICMP e IP. E' necessario per il funzionamento di IP, poichè ha il compito di assegnare ad ogni indirizzo IP, il MAC corrispondente tra host di una stessa rete. Il MAC appartiene alla macchina, mentre IP è assegnato dalla rete. Ogni macchina IP ha al suo interno un Arp Register in cui sono memorizzate tutte le associazioni conosciute IP-MAC. Se A deve inviare un pacchetto a B, di cui conosce solo l'indirizzo IP:
-A invia in Broadcast una richiesta ARP con indirizzo IP di cui vuole conoscere il MAC
-tutti ricevono la richiesta e controllano se qualcuno ha quella associazione IP-MAC
-B risponde ad A con una ARP Reply e con l'indirizzo MAC di B. Se non risponde nessuno, risponde il router con il proprio MAC, in quanto si scoprirebbe che B non fa parte della rete.
-A salva coppia IP-MAC nel proprio registro per un TTL predefinito.
ARP è quindi plug and play, in quanto non ha bisogno di interventi esterni. ARP è supportato da qualunque protocollo di livello 2 e risolve qualunque indirizzo di livello 3 di qualunque genere. E' così strutturato:
| 16 Byte | 16 Byte |
| Hw Type | Protocol Type |
| HLEN + PLEN | Operation |
| Sender HW address | |
| Sender HW address | Sender IP address |
| Sender IP address | Target HW address |
| Target HW address | |
| Target IP address | |
HW type: definisce il protocollo di livello 2 usato (1 per ethernet)
Protocol type: definisce il protocollo di livello 3 utilizzato (0x800 per IP)
HLEN, PLEN: lunghezza dei protocolli 2, 3 usati
Operation: indica il tipo di operazione richiesta (ARP request, reply...)
Protocollo RARP
Ha lo stesso formato di ARP, calmbia solo il campo operation. E' un protocollo broadcast ti tipo solicitation, che a partire da un MAC cerca di trovare l'IP corrispondente. Ethernet gli assegna un protocol type 0x8035. Se a vuole conoscere indirizzo IP di B e conosce il suo MAC:
-A invia in broadcast un pacchetto di livello due di tipo RARP request
-I Rarp server rispondono con un pacchetto unicast di livello 2
-A riceve la risposta e tiene conto della prima.
| < Prec. | Succ. > |
|---|






