Por que a camada IP está ciente das camadas mais altas da pilha de rede?

7

No cabeçalho do pacote IP, há um campo Protocolo de 8 bits (no deslocamento 9) que contém o "protocolo de próximo nível", com números atribuídos na RFC 790. Por exemplo, TCP é 6. Minha pergunta é: por que o IP camada ciente de camadas mais altas na pilha de rede?

insira a descrição da imagem aqui

IJ Kennedy
fonte
11
Alguma resposta o ajudou? Nesse caso, você deve aceitar a resposta para que a pergunta não apareça para sempre, procurando uma resposta. Como alternativa, você pode fornecer e aceitar sua própria resposta.
Ron Maupin

Respostas:

7

Todo "cabeçalho" possui algum tipo de campo de identificação "Próximo protocolo". Isso é necessário porque, na conexão, os dados não passam de uma sequência de 1 e 0. O terminal de destino deve ter uma maneira de interpretar a que os próximos bits se referem.

Se não fosse por um campo que indica definitivamente como interpretar o próximo conjunto de 1 e 0, não haveria maneira de determinar se os próximos 32 bits eram um número de sequência TCP ou o endereço de origem IP (por exemplo). Ambos os campos são de fato 32 bits, portanto não há como determinar programaticamente o que esses 1 e 0 realmente significam - além de algum tipo de campo "Próximo Protocolo".

Eddie
fonte
Isso não é 100% correto, nem todos os protocolos possuem isso, certamente não explicitamente. por exemplo, em tcp / udp, é derivado do protocolo e possui apenas significado local. a porta 17782 pode primeiro ser usada por um navegador para HTTP e na próxima vez por um cliente de download usando FTP. Além disso, o MPLS, por exemplo, não possui esse campo, é tudo definido pelo contexto.
KillianDS
@KillianDS Entendo o seu ponto. Você poderia argumentar que, uma vez que o TCP / UDP tenha chegado ao seu respectivo destino, nesse ponto, basta que o aplicativo simplesmente receba / envie o fluxo de bits ... e, nesse ponto, cabe ao Aplicativo determinar se é necessária uma identificação adicional do encapsulamento / sessão. E quanto ao MPLS, é verdade, ele não está no cabeçalho, mas as interfaces estão configuradas para esperar explicitamente uma tag MPLS, portanto, eu consideraria isso mais uma exceção do que uma regra. No entanto, vejo e reconheço o seu ponto - fique à vontade para editar e melhorar minha resposta.
Eddie
2

O campo do protocolo IPv4 permite que o terminal determine que tipo de dados está no pacote. A camada IP do nó de extremidade usa o campo de protocolo para determinar para qual protocolo entregar o pacote.

Mike Pennington
fonte
0

Da Wikipedia :

Camada 3: camada de rede

A camada de rede fornece os meios funcionais e procedimentais de transferência de seqüências de dados de comprimento variável (chamadas datagramas) de um nó para outro conectado à mesma rede. Uma rede é um meio ao qual muitos nós podem ser conectados, nos quais cada nó tem um endereço e que permite que nós conectados a ela transfiram mensagens para outros nós conectados a ela, fornecendo apenas o conteúdo de uma mensagem e o endereço do destino nó e deixando a rede encontrar a maneira de entregar ("rota") a mensagem para o nó de destino. Além do roteamento de mensagens, a rede pode (ou não) implementar a entrega de mensagens dividindo a mensagem em vários fragmentos, entregando cada fragmento por uma rota separada e remontando os fragmentos, relatando erros de entrega etc.

A entrega de datagramas na camada de rede não é garantida como confiável. Vários protocolos de gerenciamento de camadas, uma função definida no anexo de gerenciamento, ISO 7498/4, pertencem à camada de rede. Isso inclui protocolos de roteamento, gerenciamento de grupos multicast, informações e erros da camada de rede e atribuição de endereços da camada de rede. É a função da carga útil que faz com que eles pertençam à camada de rede, não ao protocolo que os carrega.

Cada camada suporta as camadas, é assim que o modelo OSI é projetado.

insira a descrição da imagem aqui

LAReid
fonte
6
Bem-vindo à comunidade NE. Fui em frente e citei o conteúdo que parece vir diretamente da Wikipedia para você. Nos sites da Stack Exchange, gostamos de garantir que o crédito seja concedido no vencimento e evitar acusações de plágio. É bom citar conteúdo de outros sites, mas forneça as referências de onde ele se originou no futuro.
YLearn
0

Os protocolos que podem encapsular vários protocolos da camada superior precisam de alguma maneira de indicar o que é esse protocolo da camada superior. A Ethernet usa um campo Ethertype, com 0x0800 indicando IP e 0x0806 representando ARP. O TCP usa números de porta conhecidos, com, por exemplo, 80 representando HTTP. O HTTP usa o campo de cabeçalho Content-Type:.

Wrolf
fonte