¿Qué agrega TCP / UDP a la "ip sin procesar"?

18

Sé que tanto TCP como UDP están construidos sobre IP, y sé las diferencias entre TCP y UDP, pero estoy confundido acerca de qué es exactamente "IP sin procesar". ¿Sería justo decir que TCP y UDP implementan IP, pero que la IP en sí misma no es capaz de transferir datos? ¿O es IP una forma de comunicación de muy bajo nivel, que TCP y UDP abstraen aún más?

John Dorian
fuente
2
Para promover algunos de los comentarios a continuación (no lo suficiente para una respuesta completa, solo por razones de claridad): IP es un protocolo que transporta datos. TCP o UDP son protocolos que también transportan datos. TCP y UDP a menudo se ubican encima de IP, por lo que para IP su carga útil de datos puede ser TCP o UDP. Ethernet se usa a menudo para transportar IP. Entonces, por ejemplo, una trama Ethernet puede transportar un paquete IP como carga de datos y ese paquete IP puede llevar un segmento TCP como carga útil, y así sucesivamente. Terminas
jwbensley
3
El IP ciertamente transfiere datos, por ejemplo, transporta esos paquetes TCP / UDP. Sin embargo, generalmente no se puede usar en aplicaciones. UDP es un protocolo muy básico sobre IP, pero ya agrega números de puerto , permitiendo que múltiples servicios manejen el tráfico UDP simultáneamente en un sistema. De lo contrario, solo tendría tantos servicios como direcciones IP.
Luaan

Respuestas:

23

IP es un protocolo de capa 3 . TCP / UDP son protocolos de capa 4 . Cada uno tiene diferentes propósitos.

La capa 3 se encarga de la entrega de extremo a extremo . Su única función es agregar lo que sea necesario a un paquete para obtener un paquete de un host a otro.

La capa 4 se encarga de la entrega de servicio a servicio . Su única función es segregar flujos de datos. Su computadora puede tener múltiples programas en ejecución, cada uno de los cuales envía / recibe bits al cable. IE: podría tener múltiples pestañas del navegador ejecutándose, transmitiendo radio por Internet, ejecutando una descarga, ejecutando algunos torrents legales , utilizando una aplicación de chat, etc. Todos estos reciben 1s y 0s del cable, y la Capa 4 segrega cada flujo de datos al Aplicación única que los necesita. Aquí hay una ilustración:

L4 segregando flujos de datos

IP no puede entregar un paquete al servicio / aplicación correcto. Y TCP / UDP no puede entregar un paquete de un extremo de Internet al otro.

Tanto TCP como IP trabajan juntos para permitirles a ambos alcanzar el "objetivo final" de la comunicación por Internet.

Los datos que deben pasar de un host a otro son generados por las capas superiores del modelo OSI.

Estos datos se pasan a L4, que agregará la información necesaria para entregar los datos de un servicio a otro, como un encabezado TCP con un puerto de origen y de destino. Los datos y el encabezado L4 ahora se denominan segmento.

Luego, el segmento se pasará a L3, que agregará la información necesaria para entregar el segmento de extremo a extremo, como un encabezado IP con una dirección IP de origen y de destino. El encabezado L3 y el segmento ahora se pueden denominar paquetes.

Este proceso se conoce como encapsulación y desencapsulación (o, a veces, decapsulación). Aquí hay una animación de cómo funciona:

Encapsulación y desencapsulación, utilizada con permiso de Practical Networking.net

Si esto no tiene sentido, sugiero leer más sobre el modelo OSI y cómo cada capa tiene diferentes responsabilidades que funcionan juntas para lograr mover un paquete a través de Internet .

Eddie
fuente
77
Tenga en cuenta que Internet solo sigue libremente el modelo OSI.
user253751
2
inside an IP header is usually a TCP or UDP headerno es correcto, el encabezado TCP / UDP no está dentro del encabezado IP, está dentro de la porción de datos del paquete IP.
Eborbob
"Su única función es segregar flujos de datos", mientras que eso es mayormente cierto para UDP (también hay una suma de verificación pero meh) ciertamente no es cierto para TCP.
Peter Green
1
@immibis Cierto, pero aún no he visto dónde seguir el modelo OSI ha llevado a una implementación abierta o a comprender la parodia. En su mayor parte, y especialmente para alguien que se acerca a las tecnologías de Internet, es más valioso seguir pensando en las limitaciones del modelo OSI.
Eddie
@Eborbob Puedo ver cómo está mal dependiendo de cómo se vea la oración. Honestamente, todo ese párrafo podría usar una nueva palabra, trataré de llegar más tarde esta noche. Gracias por mencionarlo.
Eddie
6

IP puede transmitir datos bien, el problema es lo que sucede cuando esos datos llegan al otro extremo. La única información de identificación son las direcciones IP de los hosts y un número de protocolo. Ninguno de los dos proporciona ninguna forma de distinguir para qué socket son los datos.

Es posible que los programas usen IP directamente a través de lo que se conoce como "sockets sin procesar", pero la falta de un mecanismo adecuado para decidir a qué socket enviar datos genera problemas de seguridad y rendimiento (el núcleo debe enviar los datos a todos los sockets sin procesar) para un número de protocolo dado). Por esta razón, la capacidad de abrir "sockets sin procesar" generalmente está restringida a root (o el equivalente de su plataforma).

UDP es una capa bastante mínima sobre IP. Agrega números de puerto para identificar para qué socket son los datos y una suma de verificación (para rechazar paquetes corruptos). La aplicación sigue siendo responsable de lidiar con los paquetes perdidos, controlar la congestión y dividir los datos en paquetes de tamaño apropiado.

TCP es un protocolo más complejo que, además de proporcionar números de puerto y sumas de comprobación, divide los flujos de bytes en paquetes, los vuelve a ensamblar en su destino y proporciona control de congestión y funciones de recuperación.

Peter Green
fuente
4

IP es un protocolo OSI de capa 3, mientras que TCP y UDP son protocolos OSI de capa 4. Como protocolo de capa 3, IP puede transportar muchos protocolos de capa 4 diferentes. TCP y UDP son probablemente los más comunes, pero no son los únicos. Los protocolos de capa 4 son los que las aplicaciones usan como conexiones de extremo a extremo. IP transporta protocolos de capa 4 de red a red (host a host). Los protocolos de capa 2, como ethernet, transportan protocolos de capa 3 en una LAN.

Debe investigar el modelo OSI, pero tenga en cuenta que es un modelo conceptual y que el mundo real a menudo no coincide exactamente.

Ron Maupin
fuente