Pourquoi l'ICMP est-il classé comme un protocole de couche 3? [fermé]

11

ICMP est classé comme un protocole de couche 3 dans le modèle OSI, mais pour autant que je sache, il ne répond pas à la définition d'un protocole de couche réseau.

Il ne fournit pas d'adressage ou de routage de paquets (il utilise IP pour cela), donc tout ce qu'il fait est d'envoyer des informations d'un nœud à un autre nœud, comme un protocole de transport. Donc, étant donné cela, pourquoi l'ICMP est-il classé comme un protocole de couche 3?

Robbie Mckennie
la source
Il peut également vous dire dans quelle direction va le trafic, confirmer l'existence d'hôtes, informer l'expéditeur des problèmes, et surtout, pour fonctionner, il a besoin d' une adresse IP
NickW
Je pense que toutes les choses que vous avez mentionnées sont de simples formes de déplacement d'informations. je suis d'accord qu'il a besoin d'IP, mais c'est sûrement une raison pour qu'il soit placé dans une couche au-dessus d'IP dans la pile.
Robbie Mckennie
1
Il y a trop de couches de toute façon :)
NickW
1
Je suppose que je me suis trompé quand j'ai dit qu'il DEVRAIT être dans la couche transport. Je voulais dire qu'il semble être hors de propos dans la couche réseau, alors quelle est l'explication qu'il dit là-bas? Bien sûr, je suppose que tout a une raison, parfois je me trompe.
Robbie Mckennie
7
Il est important pour vous de réaliser qu'Internet ne rentre pas dans le nettoyage du modèle OSI. En fait, les RFC (3439 2.4) mentionnent qu'ils considèrent la superposition comme nuisible lorsque les gens essaient d'être trop stricts à ce sujet. ICMP est fondamentalement requis pour IP, donc on pourrait dire qu'il appartient à IP. ICMP est essentiellement la fonction de notification d'erreur d'IP. TCP / UDP utilise IP pour les messages d'erreur (port inaccessible). Le PMTU est effectué par l'ICMP. Donc ICMP abaisse certainement le TCP / UDP. Vous devez simplement accepter qu'en TCP / IP il n'y a pas de frontières rigides entre les couches . Il importe seulement que quelque chose fonctionne.
Zoredache

Réponses:

15

ICMP est en fait au "haut" de la couche 3. Il utilise le protocole IP pour fournir des données à un hôte distant. En d'autres termes, les messages ICMP doivent être encapsulés dans des paquets IP.

Considérez-le comme similaire à ARP qui pourrait être considéré comme "au sommet" de la couche 2, tout en utilisant le protocole Ethernet pour envoyer des paquets.

ICMP est implémenté en tant que partie de la couche IP afin que le traitement ICMP puisse être vu comme se produisant parallèlement ou en tant que partie du traitement IP. Par conséquent, dans la rubrique sur le réseau en couches basé sur TCP / IP, ICMP est présenté comme un protocole de couche 3.

@Robbie Mckennie

La couche à laquelle appartient ICMP fait l'objet d'un débat acharné. L'en-tête ICMP est à la couche 4, tout comme TCP et UDP, donc les gens soutiennent qu'il appartient à la couche 4. D'autres soutiennent cependant que ICMP est un protocole de couche 3, car il assiste IP et n'a aucun concept de ports.

Pour moi, la classification d'un protocole comme appartenant à une certaine couche du modèle OSI dépend du fonctionnement du protocole. Un exemple:

BGP est utilisé pour router à la couche 3, mais BGP lui-même est porté par TCP (et bien sûr IP)

cuonglm
la source
Vous dites donc qu'il est classé en tant que protocole de couche 3 en raison de la façon dont il est traité dans la pile, pas en raison de ce qu'il fait?
Robbie Mckennie
3
Non, cela fonctionne à la couche 3. Pour tout ce qu'il fait, c'est à la couche 3. La chose importante que vous devriez vous demander,What is the "data unit of layer 4 protocol"?
cuonglm
Je ne sais même pas ce que signifie cette question. Je pensais juste dans le sens des définitions que j'ai lues pour les différentes couches, peut-être que mon idée du fonctionnement du modèle de couche osi est incorrecte
Robbie Mckennie
1
Ops, juste un indice. data unit of layer 1 is bits, data unit of layer 2 is frames, data unit of layer 3 is packets. Qu'en est-il de la couche 4?
cuonglm
Pour répondre cuonglm: la PDU de la couche 4 est un "segment"
lobi
6

ICMP (et ICMPv6, IGMP, etc.) gèrent tous les connexions de la couche réseau. Ils ne sont pas (généralement) utilisés par les utilisateurs finaux, mais par le système d'exploitation. Pour cette raison, il appartient à la couche 3 (réseau) même s'il s'appuie sur IP pour l'adressage et la détermination du chemin (routage).

Le modèle OSI est largement rédigé à partir de la perspective de connecter des utilisateurs (personnes réelles ou serveurs d'applications). Tous les protocoles de gestion et ainsi de suite s'inscrivent toujours dans le modèle OSI, mais ne sembleront pas tout à fait correspondre au langage car ils ne servent pas (généralement) directement les utilisateurs.

Chris S
la source