Objectifs de certification

CCNA 200-301

  • 1.6 Configurer et vérifier l’adressage et le sous-réseautage (subnetting) IPv4

  • 1.10 Vérifier les paramètres IP des OS clients (Windows, Mac OS, Linux)


Protocoles ARP et ICMP

1. Introduction

1.1. ARP, ICMP, ICMPv6

IPv4 est aidé par deux protocoles pour la résolution d’adresses et le contrôle : ARP et ICMP.

En IPv6, c’est ICMPv6 qui remplit ces deux fonctions.

Couche Internet du modèle TCP/IP

1.2. Protocoles de résolution d’adresses et de découverte du voisinage

  • Afin d’encapsuler un paquet IP dans une trame, l’hôte d’origine a besoin de connaître l’adresse physique (MAC) de la destination.
  • En IPv4, c’est le protocole ARP (Address Resolution Protocol) qui remplit cette fonction. Les hôtes IPv4 maintiennent une table de correspondance entre les adresses IPv4 à joindre et leur adresse physique (MAC). Cette table est appelée “cache ARP”.
  • En IPv6, c’est le protocole ND (Neighbor Discovery), sous-protocole ICMPv6, qui reprend cette fonction. Les hôtes IPv6 maintiennent une table de correspondance entre les adresses IPv6 à joindre et leur adresse physique. Elle est appelée “table de voisinage”.

Commandes utiles

Table ARP sous Windows et Linux

  • arp -a

Table de voisinage sous Linux

  • ip -6 neigh

Table de voisinage sous Windows

  • netsh interface ipv6 show neighbors

2. Résolution d’adresse ARP

La résolution d’adresse est utile dans les réseaux IPv4 pour obtenir l’adresse physique à laquelle une adresse IP correspond.

On peut obtenir le cache ARP sur un système avec la commande :

arp -a

Ce processus permet à l’hôte émetteur de trouver l’adresse de livraison physique du trafic.

Il permet à l’hôte d’encapsuler le trafic au niveau de la couche Accès Réseau (Liaison de données) en ajoutant l’adresse MAC du destinataire dans l’en-tête de la trame.

2.1. Address Resolution Protocol

ARP est le protocole de résolution d’adresse utilisé par IPv4.

  • Il est directement encapsulé par la couche 2.
  • Il est donc indépendant d’IP.
  • Il est formalisé par le RFC 826.

2.2. Résolution d’adresses en IPv4

Au moment de l’encapsulation d’un paquet IPv4 dans une trame Ethernet ou Wi-Fi par exemple, l’hôte émetteur connaît d’avance l’adresse IP de destination. Mais comment peut-il connaître son adresse physique correspondante (l’adresse MAC de destination par exemple) afin de placer le trafic sur le support ?

Un hôte TCP/IP ne peut connaître l’adresse de destination sans qu’elle ne s’annonce elle-même de manière gratuite ou de manière sollicitée.

Dans le but de maintenir une correspondance entre des adresses IP à joindre et leur adresse physique de destination, les hôtes TCP/IP entretiennent une “table ARP” pour les adresses IPv4 et une “table de voisinage” pour les adresses IPv6.

ARP est un protocole indépendant d’IPv4 qui offre ce service de résolution d’adresses.

En IPv6, ce sont des paquets ICMPv6 appelés Neighbor Discovery (ND) qui sont utilisés selon un mode sensiblement différent. En IPv6, les fonctions d’informations et de contrôle (ICMPv6) ont été améliorées et renforcées.

La requête ARP émane en Broadcast et la réponse est envoyée en unicast. ND (IPv6) aura un fonctionnement similaire en utilisant une adresse Multicast spéciale en lieu et place du Broadcast.

Résolution d'adresse par ARP

On trouvera une capture de trafic de ce processus de résolution d’adresse par ARP : http://www.cloudshark.org/captures/96a2bb5fe747?filter=arp

Ce trafic émane en Broadcast et se termine en Unicast.

2.3. Variantes ARP

  • ARP Probe
  • Gratuitous ARP : annonces sans état
  • Inverse ARP : obtenir l’IP à partir l’adresse L2 (Frame-Relay)
  • Reverse ARP : attribution d’adresse IP
  • Proxy ARP : mandataire ARP (routeur), fonction que l’on conseille de désactiver.

2.4. Processus ARP

Processus ARP dans un environnement commuté

2.5. Empoisonnement de cache ARP

Attaque ARP Poison Routing (APR)

3. ICMP

En IPv4, ICMP “aide” IP par des messages de contrôle et d’erreur. ICMP est formalisé dans le RFC792.

Communément, il y a deux classes de messages ICMP :

  • Les messages d’erreur dont le type est de 0 à 127.
  • Les messages d’information dont le type est de 128 à 255.

Les différents types ICMP sont précisés par des codes.

3.1. Liste de messages ICMP

Voici une liste non exhaustive des types de messages ICMP :

TypeMessage
Type 0réponse d’écho
Type 1 et 2réservés
Type 3destinataire inaccessible
Type 4extinction de la source
Type 5redirection
Type 8écho
Type 11temps dépassé
Type 12en-tête erroné
Type 13demande heure
Type 14réponse heure
Type 15demande adresse IP
Type 16réponse adresse IP
Type 17demande masque sous-réseau
Type 18réponse masque sous-réseau

3.2. ICMP Types 8 Echo Request - 0 Echo Reply

Le programme ping qui permet entre autre de vérifier la connectivité, envoie un paquet “ICMP Echo request” (type 8 code 0), peut recevoir un paquet “ICMP Echo Reply” (type 0 code 0).

Capture de paquets ICMP à la suite de la commande >ping www.google.com : https://www.cloudshark.org/captures/f1b5fba6f83f

Message ICMP type 8

3.3. ICMP Type 3 Destination Unreachable

Les messages “ICMP Type 3 Destination Unreachable” ont des codes qui ne sont pas toujours rendus par les logiciels.

CodeSignification
0Destination network unreachable
1Destination host unreachable
2Destination protocol unreachable
3Destination port unreachable
4Fragmentation required, and DF flag set
5Source route failed
6Destination network unknown
7Destination host unknown
8Source host isolated
9Network administratively prohibited
10Host administratively prohibited
11Network unreachable for ToS
12Host unreachable for ToS
13Communication administratively prohibited
14Host Precedence Violation
15Precedence cutoff in effect

3.4. Type 11 Time exceeded

A la suite de la commande traceroute -m 1 www.google.com, on un message “ICMP Type 11 Time exceeded” revenant du premier saut :

Capture : https://www.cloudshark.org/captures/f751ade6b3f1

Message ICMP type 11

3.5. Conclusions

  • Quand du trafic TCP/IP doit être envoyé, l’hôte encapsule le trafic à destination de l’adresse MAC apprise par ARP.
  • Les messages “ARP Reply” peuvent être gratuits.
  • ICMP complète IPv4 en terme de contrôle et de messages d’erreurs.