Por que o ICMP é classificado como um protocolo de camada 3? [fechadas]

11

O ICMP é classificado como um protocolo de camada 3 no modelo OSI, mas, tanto quanto posso dizer, não atende à definição de um protocolo de camada de rede.

Ele não fornece endereçamento ou roteamento de pacotes (usa IP para isso); portanto, tudo o que faz é enviar informações de um nó para outro, como um protocolo de transporte. Então, considerando isso, por que o ICMP é classificado como um protocolo de camada 3?

Robbie Mckennie
fonte
Pode também dizer-lhe o caminho que o tráfego vai, confirmar a existência de exércitos, informar o remetente de problemas, e acima de tudo, ao trabalho, ele precisa de endereço IP
NickW
todas as coisas que você mencionou que acredito serem meras formas de movimentação de informações. Concordo que ele precisa de IP, mas certamente esse é um motivo para ser colocado em uma camada acima do IP na pilha.
Robbie Mckennie
1
Há muitas camadas de qualquer maneira :)
NickW
1
Suponho que eu errei quando disse que DEVE estar na camada de transporte. Eu quis dizer que parece estar fora do lugar na camada de rede, então qual é a explicação para isso? Claro que presumo que tudo tenha um motivo, às vezes estou errado.
Robbie Mckennie
7
É importante que você perceba que a Internet não se encaixa na limpeza no modelo OSI. De fato, as RFCs (3439 2.4) mencionam que consideram as camadas prejudiciais quando as pessoas tentam ser rigorosas demais. O ICMP é basicamente necessário para IP, portanto, pode-se argumentar que ele pertence como parte do IP. O ICMP é basicamente o recurso de notificação de erro do IP. O TCP / UDP usa IP para mensagens de erro (porta inacessível). PMTU é feito pelo ICMP. Portanto, o ICMP certamente diminui o TCP / UDP. Você precisa simplesmente aceitar que no TCP / IP não há bordas rígidas entre as camadas . Só importa que algo funcione.
Zoredache

Respostas:

15

Na verdade, o ICMP está no "topo" da camada 3. Ele usa o protocolo IP para entregar dados a um host remoto. Em outras palavras, as mensagens ICMP devem ser encapsuladas em pacotes IP.

Considere-o como semelhante ao ARP, que pode ser considerado "no topo" da camada 2, enquanto estiver usando o protocolo Ethernet para realmente enviar pacotes.

O ICMP é implementado como parte da camada IP, para que o processamento do ICMP possa ser visto como ocorrendo paralelamente ao processamento IP ou como parte dele. Portanto, no tópico rede em camadas baseada em TCP / IP, o ICMP é mostrado como um protocolo da camada 3.

@Robbie Mckennie

A qual camada o ICMP pertence é objeto de intenso debate. O cabeçalho do ICMP está na camada 4, assim como o TCP e o UDP, de modo que as pessoas argumentam que ele pertence à camada 4. Outros, no entanto, argumentam que o ICMP é um protocolo da camada 3, pois auxilia o IP e não tem conceito de portas.

Para mim, a classificação de um protocolo como pertencente a uma determinada camada no modelo OSI depende de como o protocolo funciona. Um exemplo:

O BGP é usado para rotear na camada 3, mas o próprio BGP é transportado pelo TCP (e, é claro, pelo IP)

cuonglm
fonte
Então, você está dizendo que é classificado como um protocolo de camada 3 por causa da maneira como é processado na pilha, não por causa do que faz?
Robbie Mckennie
3
Não, Ele funciona na camada 3. Por tudo o que faz, é na camada 3. A coisa importante que você deve perguntar a si próprio,What is the "data unit of layer 4 protocol"?
cuonglm
Eu nem sei o que essa pergunta significa. Eu só estava pensando ao longo das linhas das definições que eu li para as diferentes camadas, talvez a minha ideia de como o modelo OSI funciona é incorreta
Robbie Mckennie
1
Ops, apenas uma dica. data unit of layer 1 is bits, data unit of layer 2 is frames, data unit of layer 3 is packets. O que é sobre a camada 4?
cuonglm
A resposta cuonglm: a PDU de camada 4 é um "segmento"
lobi
6

O ICMP (e o ICMPv6, IGMP, etc) gerenciam as conexões da camada de rede. Eles não são (normalmente) usados ​​pelos usuários finais, mas pelo sistema operacional. Por esse motivo, ele pertence à Camada 3 (Rede), apesar de depender do IP para endereçamento e determinação de caminho (roteamento).

O modelo OSI é amplamente escrito a partir da perspectiva de conectar usuários (pessoas reais ou servidores de aplicativos). Todos os protocolos de gerenciamento e outros enfeites ainda se encaixam no modelo OSI, mas parecem não corresponder exatamente ao idioma porque eles não (normalmente) atendem diretamente aos usuários.

Chris S
fonte