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?
7
Respostas:
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".
fonte
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.
fonte
Da Wikipedia :
Cada camada suporta as camadas, é assim que o modelo OSI é projetado.
fonte
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:.
fonte