Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Internet Control Message Protocol

Un article de Wikipédia, l'encyclopédie libre.
Page d’aide sur l’homonymie

Pour les articles homonymes, voirICMP.

Internet Control Message Protocol (ICMP, Protocole de message de contrôle sur Internet) est l’un desprotocoles fondamentaux constituant lasuite des protocoles Internet. C'est un protocole decouche réseau (coucheno 3 dumodèle OSI), au même niveau que leprotocole Internet (IP). Le protocole IP ne gérant que le transport des paquets et ne permettant pas l'envoi de messages d'erreur, on lui associe ICMP pour contrôler les erreurs de transmission. ICMP permet de transporter des messages de contrôle et d’erreur pour qu'une machine émettrice sache qu'il y a eu un incident deréseau, par exemple lorsqu’un service ou un hôte est inaccessible. La commandePing est un exemple d'application utilisant des messages de contrôle ICMP.

Cet article traite d’ICMP version 4 qui accompagneIPv4, détaillé dans laRFC 792[1]. La versionIPv6 du protocole,RFC 4443[2], est présentée dans l’articleInternet Control Message Protocol V6.

Format des paquets

[modifier |modifier le code]

Bien qu'il soit à un niveau équivalent au protocole IP (si l'on tente de rapprocher le modèle OSI au modèleTCP/IP), un paquet ICMP est néanmoins encapsulé dans un paquetIP. Dans le cadre de l'IPv4, la forme générale d'un tel paquet est la suivante :

Bit 0 - 7Bit 8 - 15Bit 16 - 23Bit 24 - 31
Version et IHLType de serviceLongueur totale
Identification (fragmentation)flags etoffset (fragmentation)
Durée de vie (TTL)ProtocoleSomme de contrôle de l'en-tête
Adresse IP source
Adresse IP destination
Type de messageCodeSomme de contrôle
Bourrage ou données
Données (optionnel et de longueur variable)


Avec :

  • Un en-tête IP (en bleu), avecVersion valant 4,Protocole valant 1 etType de Service valant 0.
  • Le type de message ICMP (8 bits).
  • Le code de l'erreur (8 bits).
  • Unesomme de contrôle (16 bits), calculée sur la partie spécifique à ICMP (sans l'en-tête IP).
  • Une partie (en jaune) aménagée pour des données relatives aux différents types de réponses (32 bits). Si elle n'est pas utilisée, on procède à un bourrage (cette partie peut correspondre aux Identifiant et Numéro de séquence pour un paquet de typePing par exemple, pour plus d'informations se référer à laRFC 792[1][3])
  • Le message à transmettre (en jaune)

Les différents incidents possibles sont reportés ci-dessous, avec le type de message et le code d'erreur correspondant.

Les différents messages de contrôle

[modifier |modifier le code]
Messages ICMP
TypeCodeDescription
0 - Réponse d'echoRéponse d'ECHO (Réponse au message de type 8)
1 et 2 - RéservésReservés
3 – Destinataire inaccessible0Le réseau n'est pas accessible
1La machine n'est pas accessible
2Le protocole n'est pas accessible
3Le port n'est pas accessible
4Fragmentation nécessaire mais impossible à cause du drapeau (flag) DF
5Le routage a échoué
6Réseau inconnu
7Machine inconnue
8Machine non connectée au réseau (inutilisé)
9Communication avec le réseau interdite
10Communication avec la machine interdite
11Réseau inaccessible pour ce service
12Machine inaccessible pour ce service
13Communication interdite (filtrage)
14Priorité d'hôte violée
15Limite de priorité atteinte
4 – Extinction de la source0Extinction de la source (source quench)
5 – Redirection0Redirection pour un réseau
1Redirection pour un hôte
2Redirection pour un réseau et un service
3Redirection pour un hôte et un service
8 – Demande d'echo0Demande d'ECHO (utilisé par la commandeping)
11 – Temps dépassé0Temps de vie du datagramme dépassé
1Temps de ré-assemblage des fragments dudatagramme dépassé
12 – En-tête erroné0Le pointeur indique l'erreur
1Absence d'une option obligatoire
2Mauvaise longueur
13 – Demande heure0Timestamp request
14 – Réponse heure0Timestamp reply
15 – Demande adresse IP0Demande d'adresse réseau
16 – Réponse adresse IP0Réponse d'adresse réseau
17 – Demande masque sous-réseau0Demande de masque de sous-réseau
18 – Réponse masque sous-réseau0Réponse de masque de sous-réseau

Signification du type 4 (extinction de la source)

[modifier |modifier le code]

Unrouteur de transit ou la machine d'extrémité demande à l'émetteur de ralentir le rythme des envois de trame. Les routeurs de transit stockent les trames reçues dans untampon (buffer) avant de les router (store and forward). Si ce tampon venait à être plein ou si la chargeCPU du routeur dépassait un seuil (ou toute autre motif de congestion) il ne pourrait plus assumer le routage des paquets à venir. Ils seraient alors perdus silencieusement. Afin que cela ne se produise pas, n'importe quel nœud de transit peut ainsi informer l'émetteur de ralentir la cadence. Et cela pour n'importe quel protocole de la couche 4 (UDP, TCP…).

Ce mécanisme n'est pas redondant avec celui d'annonce de la taille de la fenêtre glissante d'une connexion TCP car cette dernière ne peut être contrôlée que par le destinataire (saufproxification) or ici il s'agit des routeurs de transit.

Ce type de message a été rendu obsolète par laRFC 6633[4] en 2012.

Signification du type 5 (redirection)

[modifier |modifier le code]

Le routeur remarque que la route qu'a choisie l'ordinateur émetteur n'est pas optimale car le prochain routeur à passer pour atteindre le destinataire se trouve sur le même réseau que celui de l'ordinateur émetteur. Le routeur envoie l'adresse du prochain routeur à ajouter dans latable de routage de l'ordinateur émetteur de façon que le prochain envoi vers le même destinataire ne passe pas inutilement par lui. Cette option est souvent bloquée dans les réseaux des entreprises parce qu'elle peut être utilisée par un attaquant pour rediriger le flux de données d'une victime vers sa propre machine.

Failles dans le protocole ICMP

[modifier |modifier le code]

Il existe plusieurs attaques connues contre ICMP[5],[6],[7]. Parmi elles, on peut citer :

  • ICMP Sweep : En envoyant une série de requêtes ICMP sur un réseau, il est possible d'analyser les réponses et en déduire la structure.
  • ICMP Redirect : Les messages ICMP de type 5 (redirection) peuvent être utilisés de manière malhonnête pour traverser unpare-feu. L'attaque consiste à faire passer un ordinateur par un chemin détourné qui va éviter le pare-feu. La solution consiste à configurer l'ordinateur pour ignorer ce genre de message.
  • Les messages ICMP de type 3 pour les codes 2 ou 3 (voire 4) peuvent clore une connexion TCP.
  • Un envoi répété de message ICMP de type 4 (code 0) ralentit grandement le débit d'une connexion.
  • Le message ICMP de type 3 pour le code 4 ralentit une connexion en passant leMTU au minimum (68 octets) puis en l'augmentant progressivement.

Notes et références

[modifier |modifier le code]
  1. a etb(en)Request for commentsno 792
  2. (en) « Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification »,Request for commentsno 4443,
  3. Internet Control Message Protocol
  4. (en) « Deprecation of ICMP Source Quench Messages »,Request for commentsno 6633,
  5. « ICMP Attacks Illustrated », surwww.sans.org,(consulté le)
  6. MadalinaBaltatu, AntonioLioy, FabioMaino et DanieleMazzocchi, « Security issues in control, management and routing protocols »,Computer Networks, pioneering Tomorrow's Internet: Selected papers from the TARENA Networking Conference 2000,vol. 34,‎1er décembre 2000,p. 881-894(DOI 10.1016/S1389-1286(00)00159-6,lire en ligne, consulté le)
  7. OpenBSDKernelTrap article

Voir aussi

[modifier |modifier le code]

Article connexe

[modifier |modifier le code]

Liens externes

[modifier |modifier le code]
v ·m
7.Application
6.Présentation
5.Session
4.Transport
3.Réseau
2.Liaison
1.Physique
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Internet_Control_Message_Protocol&oldid=223660640 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp