Le protocole ICMP

Article de blog | Finger In The Net

Le protocole ICMP

Le protocole ICMP (Internet Control Message Protocol) est un protocole essentiel de la couche 3 du modèle OSI, utilisé pour la gestion et le diagnostic des réseaux IP. Pour les ingénieurs réseau préparant les certifications CISCO, la maîtrise du protocole ICMP est fondamentale.

Informations techniques

  • Norme : RFC 792 (ICMPv4), RFC 4443 (ICMPv6)
  • Couche OSI : Couche 3 (Réseau)
  • Protocole IP : Numéro 1
  • Port : N/A (ICMP ne fonctionne pas avec des ports TCP/UDP)
  • Versions : ICMPv4 (IPv4) et ICMPv6 (IPv6)
  • Encapsulation : Directement dans IP
  • Types de messages principaux :
    • Type 0 : Echo Reply
    • Type 3 : Destination Unreachable
    • Type 5 : Redirect
    • Type 8 : Echo Request
    • Type 11 : Time Exceeded
  • Codes d’erreur : Chaque type possède des sous-codes spécifiques

Configuration ICMP sur les équipements CISCO

Commandes de diagnostic ICMP

Les commandes suivantes permettent de tester la connectivité et de tracer les routes :

R1> ping 192.168.1.1                    ! Test de connectivité basique
R1> ping 192.168.1.1 repeat 10          ! Envoie 10 paquets ICMP
R1> ping 192.168.1.1 size 1500          ! Définit la taille du paquet
R1> ping 192.168.1.1 source 10.1.1.1    ! Spécifie l'interface source

R1> traceroute 8.8.8.8                  ! Trace le chemin vers la destination
R1> traceroute 8.8.8.8 numeric          ! Affiche uniquement les adresses IP

Configuration des ACL pour ICMP

Les commandes de contrôle d’accès (ACL) permettent de filtrer le trafic ICMP :

R1(config)# access-list 100 permit icmp any any echo          ! Autorise ping
R1(config)# access-list 100 permit icmp any any echo-reply    ! Autorise les réponses
R1(config)# access-list 100 deny icmp any any                 ! Bloque tout ICMP
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip access-group 100 in

Configuration ICMP pour IPv6

R1(config)# ipv6 unicast-routing                              ! Active le routage IPv6
R1> ping ipv6 2001:db8::1                                     ! Ping IPv6
R1(config)# ipv6 access-list BLOCK_ICMPV6
R1(config-ipv6-acl)# deny icmp any any

ICMPv6 est crucial pour le fonctionnement d’IPv6, notamment pour la découverte de voisins (Neighbor Discovery).

Options avancées de debugging

R1# debug ip icmp                        ! Active le débogage ICMP
R1# show debugging                       ! Vérifie les débogages actifs
R1# undebug all                         ! Désactive tous les débogages

Le débogage ICMP permet d’analyser en temps réel les messages ICMP reçus et envoyés par le routeur.

Configuration des limites ICMP

R1(config)# ip icmp rate-limit unreachable 1000    ! Limite les messages unreachable
R1(config)# no ip unreachables                      ! Désactive l'envoi d'unreachables
R1(config-if)# no ip redirects                      ! Désactive les redirections ICMP

Commandes de vérification

R1# show ip traffic                     ! Affiche les statistiques de trafic IP/ICMP
R1# show access-lists                   ! Vérifie les ACL configurées
R1# show ip interface brief             ! Vérifie l'état des interfaces

Types de messages ICMP importants pour CISCO

Le protocole ICMP utilise différents types de messages, chacun ayant un rôle spécifique :

  • Echo Request/Reply (Type 8/0) : Utilisés par la commande ping pour tester la connectivité
  • Destination Unreachable (Type 3) : Signale qu’un paquet ne peut atteindre sa destination
  • Time Exceeded (Type 11) : Utilisé par traceroute quand le TTL atteint zéro
  • Redirect (Type 5) : Informe un hôte d’une meilleure route
  • Source Quench (Type 4) : Obsolète, utilisé pour le contrôle de congestion

Sécurité et bonnes pratiques

Sur les équipements CISCO, il est recommandé de :

  • Filtrer ICMP aux bordures du réseau avec des ACL
  • Limiter le taux de génération des messages ICMP
  • Désactiver les redirects ICMP sur les interfaces externes
  • Autoriser uniquement les types ICMP nécessaires au bon fonctionnement

Ce qu’il faut retenir pour les certifications CISCO

Pour réussir vos certifications CISCO (CCNA, CCNP), vous devez maîtriser :

  1. Les types de messages ICMP et leurs utilisations (Echo, Unreachable, Time Exceeded)
  2. Les commandes ping et traceroute avec toutes leurs options
  3. La configuration d’ACL pour filtrer le trafic ICMP
  4. Les différences entre ICMPv4 et ICMPv6, notamment le rôle crucial d’ICMPv6 dans IPv6
  5. Les commandes de limitation et de sécurisation ICMP
  6. L’impact d’ICMP sur le dépannage réseau et son utilisation dans les outils de diagnostic

Le protocole ICMP est un outil fondamental pour tout administrateur réseau. Sa compréhension approfondie est essentielle non seulement pour les certifications CISCO, mais aussi pour le dépannage quotidien des réseaux d’entreprise.

Pour approfondir vos connaissances et vous préparer efficacement aux certifications CISCO, je vous recommande la formation CCNA 200-301 qui couvre en détail le protocole ICMP et son utilisation pratique sur les équipements CISCO.

Noël NICOLAS

Auteur de l'article

Expert Réseau
15 ans d’expérience
CCNP Routing and Switching
Fondateur du site FingerInTheNet

Eric JOUFFRILLON

Co-auteur de l'article

Expert SATCOM
Technicien Réseau
17 ans d’éxpérience déploiement réseau SATCOM
Spécialisé LFN (Long Fat Network).Diffusion vidéo et QOS.

CURSUS DE FORMATION

Administrateur Réseau