Internet Control Message Protocol

ÔĽŅ
Internet Control Message Protocol
Pile de protocoles
7.  Application
6.  Pr√©sentation
5.  Session
4.  Transport
3.  R√©seau
2.  Liaison
1.  Physique
Modèle Internet
Modèle OSI

Internet Control Message Protocol est l'un des protocoles fondamentaux constituant la suite de protocoles Internet. Il est utilis√© pour v√©hiculer des messages de contr√īle et d'erreur pour cette suite de protocoles, par exemple lorsqu'un service ou un h√īte est inaccessible.

ICMP se situe au même niveau que le protocole IP bien qu'il ne fournisse pas les primitives de service habituellement associées à un protocole de couche réseau. Son utilisation est habituellement transparente du point de vue des applications et des utilisateurs présents sur le réseau.

Cet article traite d'ICMP version 4 qui accompagne IPv4. Pour la version 6, voir Internet Control Message Protocol V6.

Sommaire

Présentation

ICMP (Internet Control Message Protocol - Protocole de message de contr√īle sur Internet) est un protocole de niveau 3 sur le mod√®le OSI, qui permet le contr√īle des erreurs de transmission. En effet, comme le protocole IP ne g√®re que le transport des paquets et ne permet pas l'envoi de messages d'erreur, c'est gr√Ęce √† ce protocole qu'une machine √©mettrice peut savoir qu'il y a eu un incident de r√©seau. Il est d√©taill√© dans la RFC 792.

Format d'un paquet ICMP

Bien qu'il soit √† un niveau √©quivalent au protocole IP (si l'on tente de rapprocher le mod√®le OSI au mod√®le TCP/IP), un paquet ICMP est n√©anmoins encapsul√© dans un datagramme IP. Dans le cadre de l'IPv4, la forme g√©n√©rale d'un tel paquet est la suivante :

Bit 0 - 7 Bit 8 - 15 Bit 16 - 23 Bit 24 - 31
Version/IHL Type de service Longueur totale
Identification (fragmentation) flags et offset (fragmentation)
Dur√©e de vie(TTL) Protocole Somme de contr√īle de l'en-t√™te
Adresse IP source
Adresse IP destination
Type de message Code Somme de contr√īle
Bourrage ou données
Données (optionnel et de longueur variable)


Un tel datagramme est compos√© :

  • d'un en-t√™te IP (en bleu), avec Protocole valant 1 et Type de Service valant 0.
  • du type de message ICMP (8 bits)
  • du code de l'erreur (8 bits)
  • d'une somme de contr√īle (16 bits), calcul√©e sur la partie sp√©cifique √† ICMP (sans l'en-t√™te IP)
  • d'une partie 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 type Ping par exemple, pour plus d'informations se r√©f√©rer √† la RFC[1])
  • du message

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

Les différents types

Type 0 (réponse echo)

Type : 0
Code : 0
Message : r√©ponse d'ECHO (echo-reply)
Signification : r√©ponse au message de type 8

Type 1 et 2 (réservés)

Type 3 (destinataire inaccessible)

Type : 3
Code : 0 √† 15
Message : destinataire inaccessible
Le code d√©pend de la cause du probl√®me, respectivement :

  • 0 : le r√©seau n'est pas accessible
  • 1 : la machine n'est pas accessible
  • 2 : le protocole n'est pas accessible
  • 3 : le port n'est pas accessible
  • 4 : fragmentation n√©cessaire mais impossible √† cause du drapeau (flag) DF
  • 5 : le routage a √©chou√©
  • 6 : r√©seau inconnu
  • 7 : machine inconnue
  • 8 : machine non connect√©e au r√©seau (inutilis√©)
  • 9 : communication avec le r√©seau interdite
  • 10 : communication avec la machine interdite
  • 11 : r√©seau inaccessible pour ce service
  • 12 : machine inaccessible pour ce service
  • 13 : communication interdite (filtrage)
  • 14 : priorit√© d'h√īte viol√©
  • 15 : limite de priorit√© atteinte

Type 4 (extinction de la source)

Type : 4
Code : 0
Message : extinction de la source (source quench)

Signification : Un routeur 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 un buffer avant de les router (store and forward). Si ce buffer venait √† √™tre plein ou si la charge CPU 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, ‚Ķ).

NB : Ce n'est pas redondant avec le m√©canisme 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 (sauf proxification) or ici il s'agit des routeurs de transit.

Type 5 (redirection)

Type : 5
Code : 0 √† 3
Message : redirection pour

  • un h√īte
  • un h√īte et un service
  • un r√©seau
  • un r√©seau et un service

Signification : le routeur remarque que la route qu'a choisi 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 la table de routage de l'ordinateur √©metteur de fa√ßon √† ce 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 parcequ'elle peut √™tre utilis√©e par un attaquant pour rediriger le flux de donn√©es d'une victime vers sa propre machine.

Type 8 (echo)

Type : 8
Code : 0
Message : demande d'ECHO (echo-request)
Signification : demande de renvoi d'informations, avec la commande ping par exemple

Type 11 (temps dépassé)

Type : 11
Code : 0 ou 1
Message : temps d√©pass√© ou temps de r√©-assemblage des fragments d'un datagramme d√©pass√©
Signification : ce message est envoy√© lorsque le temps de vie d'un datagramme ou le temps de r√©assemblage des parties d'un datagramme est d√©pass√©. L'en-t√™te du datagramme est renvoy√© pour que l'utilisateur sache quel datagramme a √©t√© d√©truit

Type 12 (en-tête erroné)

Type : 12
Code : 0
Message : en-t√™te erron√©
Signification : ce message est envoy√© lorsqu'un champ d'un en-t√™te est erron√©. La position de l'erreur est retourn√©e

Type 13 (demande heure)

Type : 13
Code : 0
Message : timestamp request
Signification : une machine demande √† une autre son heure et sa date syst√®me (universelle)

Type 14 (réponse heure)

Type : 14
Code : 0
Message : timestamp reply
Signification : la machine r√©ceptrice donne son heure et sa date syst√®me afin que la machine √©mettrice puisse d√©terminer le temps de transfert des donn√©es

Type 15 (demande adresse IP)

Type : 15
Code : 0
Message : demande d'adresse r√©seau
Signification : ce message permet de demander au r√©seau une adresse IP

Type 16 (réponse adresse IP)

Type : 16
Code : 0
Message : r√©ponse d'adresse r√©seau
Signification : ce message r√©pond au message pr√©c√©dent

Type 17 (demande masque sous-réseau)

Type : 17
Code : 0
Message : demande de masque de sous-r√©seau
Signification : ce message permet de demander au r√©seau un masque de sous-r√©seau

Type 18 (réponse masque sous-réseau)

Type : 18
Code : 0
Message : r√©ponse de masque de sous-r√©seau
Signification : ce message r√©pond au message pr√©c√©dent

Failles dans le protocole ICMP

Failles de Fernando Gont

L'argentin Fernando Gont, professeur, administrateur syst√®me et chercheur en r√©seau, a d√©couvert en ao√Ľt 2004 plusieurs failles de s√©curit√© dans le protocole ICMP. Il a tent√© d'alerter les organismes concern√©s (auteurs de syst√®me d'exploitation comme Microsoft Windows ou Linux), mais √©galement Cisco Systems (qui vend, entre autres, des routeurs), mais tous n'ont pas r√©pondu, et Cisco a m√™me tent√© de breveter ces failles[2].

Parmi les failles, on peut citer :

  • 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 le MTU au minimum (68 octets) puis en l'augmentant progressivement

ICMP Redirect

Les messages ICMP de type 5 (redirection) peuvent être utilisés de manière malhonnête pour traverser un pare-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.

Voir aussi

Article connexe

Liens externes

Notes et références


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Internet Control Message Protocol de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Internet control message protocol ‚ÄĒ Pile de protocoles 7 ‚ÄĘ Application 6 ‚ÄĘ Pr√©sentation 5 ‚ÄĘ Session 4 ‚ÄĘ ‚Ķ   Wikip√©dia en Fran√ßais

  • Internet Control Message Protocol ‚ÄĒ (ICMP) Familia: Familia de protocolos de Internet Funci√≥n: Control y notificaci√≥n de errores del Protocolo de Internet Ubicaci√≥n en la pila de protocolos Transporte ICMP ‚Ķ   Wikipedia Espa√Īol

  • Internet Control Message Protocol ‚ÄĒ Internet Control Message Protocol, ¬† ICMP ‚Ķ   Universal-Lexikon

  • Internet Control Message Protocol V6 ‚ÄĒ ICMPv6 (Internet Control Message Protocol Version 6) Familie: Internetprotokollfamilie Einsatzgebiet: Obligatorischer Zusatz zu IPv6, Fehlermeldungen, Diagnose, Autoconfiguration, Routing Internet Protokolle im TCP/IP Protokollstapel Internet… ‚Ķ   Deutsch Wikipedia

  • Internet Control Message Protocol ‚ÄĒ The Internet Control Message Protocol (ICMP) is one of the core protocols of the Internet Protocol Suite. It is chiefly used by networked computers operating systems to send error messages mdash;indicating, for instance, that a requested service… ‚Ķ   Wikipedia

  • Internet Control Message Protocol V6 ‚ÄĒ L‚ÄôICMP pour IPv6 (Internet Control Message Protocol Version 6) fait partie √† part enti√®re de l architecture IPv6 et doit √™tre compl√®tement support√©e par toutes les impl√©mentations d IPv6. ICMPv6 combine des fonctions ant√©rieurement subdivis√©es √†… ‚Ķ   Wikip√©dia en Fran√ßais

  • Internet Control Message Protocol ‚ÄĒ ICMP (Internet Control Message Protocol) Familie: Internetprotokollfamilie Einsatzgebiet: Obligatorischer Zusatz zum Internet Protocol, Fehlermeldungen, Diagnose ICMP im TCP/IP‚ÄĎProtokollstapel Internet ICMP IPv4 ‚Ķ   Deutsch Wikipedia

  • Internet Control Message Protocol ‚ÄĒ protocol used to send control messages and error messages during the transmission of IP type data packets, ICMP ‚Ķ   English contemporary dictionary

  • Internet Control Message Protocol ‚ÄĒ ¬†¬†¬†Abbreviated ICMP. An error reporting protocol that works with Internet Protocol (IP) and provides the functions used for networklayer management and control. Routers send ICMP messages to respond to undeliverable datagrams by placing an ICMP… ‚Ķ   Dictionary of networking

  • Internet Control Message Protocol ‚ÄĒ El Protocolo de Control de Mensajes de Internet (ICMP por sus siglas en ingl√©s) es uno de los protocolos centrales de la suite de protocolos de Internet. Es usado principalmente por los Sistemas operativos de las computadoras en una red para… ‚Ķ   Enciclopedia Universal


Share the article and excerpts

Direct link
… Do a right-click on the link above
and select ‚ÄúCopy Link‚ÄĚ

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.