En el encabezado del paquete IP hay un campo de Protocolo de 8 bits (en el desplazamiento 9) que contiene el "protocolo de siguiente nivel", con números asignados en RFC 790. Por ejemplo, TCP es 6. Mi pregunta es, ¿por qué es IP? capa consciente de las capas superiores en la pila de red?
7
Respuestas:
Cada "encabezado" tiene algún tipo de campo de identificación "Próximo protocolo". Esto es necesario porque en el cable, los datos no son más que una cadena de 1 y 0. El punto final receptor debe tener una forma de interpretar a qué se refieren los siguientes bits.
Si no fuera por ese campo que indica definitivamente cómo interpretar el siguiente conjunto de 1 y 0, no habría forma de determinar si los siguientes 32 bits eran un número de secuencia TCP o la dirección de origen IP (por ejemplo). Ambos campos son de hecho 32 bits, por lo que no hay forma de determinar mediante programación qué significan realmente esos 1 y 0, aparte de algún tipo de campo "Siguiente protocolo".
fuente
El campo de protocolo IPv4 permite que el punto final determine qué tipo de datos hay en el paquete. La capa IP del punto final utiliza el campo de protocolo para determinar a qué protocolo entregar el paquete.
fuente
De Wikipedia :
Cada capa admite las capas que la rodean, así es como se diseña el modelo OSI.
fuente
Los protocolos que pueden encapsular múltiples protocolos de capa superior necesitan alguna forma de indicar cuál es ese protocolo de capa superior. Ethernet utiliza un campo Ethertype, con 0x0800 que denota IP y 0x0806 que representa ARP. TCP utiliza números de puerto bien conocidos, por ejemplo, 80 representa HTTP. HTTP utiliza el tipo de contenido: campo de encabezado.
fuente