Qu'est-ce que le protocole de message de contrôle Internet?
Le protocole ICMP (Internet Control Message Protocol) est un utilitaire utilisé pour signaler les erreurs et à des fins de diagnostic dans les réseaux informatiques. Le protocole ICMP fait partie de la suite de protocole Internet (IP) et consiste en des messages prédéfinis ayant des objectifs variés. La plupart des aspects du protocole de message de contrôle Internet passent inaperçus aux utilisateurs finaux, mais quelques outils réseau tels que traceroute et ping s'appuient sur les messages ICMP pour leur fonctionnalité.
Un ensemble de protocoles appelé IP Suite est au cœur d'Internet et des réseaux informatiques plus petits. Ces protocoles spécifient les formats des messages échangés entre les périphériques réseau et établissent des règles sur la manière dont ces messages sont envoyés et reçus. Les protocoles sont également stratifiés, chaque couche s'appuyant sur celle située en dessous. Le protocole ICMP fait partie de la deuxième couche la plus élevée, la couche Internet. Cette couche comprend le protocole Internet bien connu responsable de la transmission de groupes de données individuels, appelés paquets, sur un ou plusieurs réseaux.
ICMP est utilisé pour envoyer des messages d'erreur ou des informations de diagnostic entre des périphériques ou des hôtes à l'aide du protocole Internet. Les messages ICMP sont prédéfinis et peuvent être désignés par leur nom ou leur numéro de type. La plupart de ces messages concernent différents types de rapports d'erreur. Par exemple, lorsqu'un hôte particulier ne peut pas être atteint, un message ICMP est souvent généré indiquant le problème spécifique empêchant la transmission des données. D'autres types de messages sont envoyés si des paquets sont corrompus ou si un routeur ou un hôte d'un réseau est encombré.
La taille maximale d'un paquet n'est pas prédéfinie, mais dictée par l'unité de transmission maximale (MTU) d'un lien réseau particulier. Différentes liaisons peuvent avoir différents MTU, mais un paquet doit être plus petit que le plus petit MTU le long d'un chemin donné pour pouvoir terminer son voyage. Une technique appelée Path MTU Discovery (PMTUD) utilise des messages ICMP pour notifier un expéditeur lorsque les paquets sont trop volumineux pour un segment de chemin particulier.
Un protocole associé appelé IRDP (protocole de découverte de routeur ICMP) peut faciliter la configuration automatique du réseau pour les hôtes qui le prennent en charge. IRDP utilise deux types de messages du protocole de message de contrôle Internet pour annoncer et découvrir les routeurs à proximité, à savoir les hôtes connectant deux réseaux ou plus. Un routeur prenant en charge IRDP diffusera périodiquement un message d'annonce de routeur ICMP annonçant sa présence aux hôtes. Les hôtes peuvent également envoyer un message de sollicitation demandant à tous les routeurs à proximité de s'identifier.
Certains utilitaires réseau courants utilisent également le protocole de message de contrôle Internet. Un outil, traceroute, utilise le message ICMP généré lorsqu'un paquet a expiré ou a dépassé son «temps de vie» (TTL). En définissant une valeur TTL délibérément basse pour un paquet, traceroute recevra un message Délai dépassé ICMP du dernier routeur auquel le paquet a atteint avant son expiration. En répétant ce processus et en augmentant la valeur TTL, vous obtiendrez en théorie une liste de tous les paquets hôtes qui transitent.
Un autre outil appelé ping s'appuie sur le message de demande d'écho ICMP, auquel répond un message de réponse d'écho ICMP. Malheureusement, il est également possible d’abuser de ping dans une "attaque de smurf" lorsqu'un pirate informatique envoie des demandes d'écho avec des informations d'expéditeur falsifiées, auxquelles répondent de nombreuses autres machines. Cela peut encombrer un réseau au point où aucun paquet légitime ne peut passer, une situation connue sous le nom de déni de service.