Comment deux machines se retrouvent-elles sur un réseau local ?
Imaginons qu'Alice connaisse l'adresse IPv4 de Bob. Est-ce suffisant pour lui envoyer une trame Ethernet ?
Une adresse ne suffit pas toujours
Alice (192.168.1.10) veut envoyer un paquet IPv4 à Bob (192.168.1.20) sur le même réseau Ethernet. Pour construire la trame, elle a besoin d'une adresse MAC de destination. Elle connaît l'IPv4 de Bob, mais pas sa MAC.
Il faut donc pouvoir répondre à une question : « Qui utilise cette adresse IPv4 sur le réseau local ? »
Une question à tous, une réponse de Bob
Si Alice ne connaît pas la MAC, elle peut diffuser une question sur le réseau local. La machine concernée répond. C'est le principe d'ARP (*Address Resolution Protocol*).
- Étape 1 : Alice ne connaît pas la MAC de Bob.
- Étape 2 : Alice diffuse une requête ARP.
- Étape 3 : Bob répond avec son adresse MAC.
La requête est envoyée en diffusion Ethernet (broadcast). Bob répond normalement directement à Alice. Alice peut ensuite mémoriser temporairement cette correspondance dans son cache ARP.
Et si Bob est sur un autre réseau ?
Dans ce cas, Alice n'utilise pas ARP pour chercher directement la MAC de Bob. Elle cherche généralement celle de sa passerelle locale, puis lui remet la trame. Le routeur prend le relais pour acheminer le paquet IP.
ARP est donc un mécanisme local de résolution IPv4 vers MAC, pas un annuaire mondial des machines.