La capa de transporte en Internet : TCP y UDP sobre IP. Volumen I

Escrito por Sergio De Luz
Redes
7

¿Cómo se envían los datos por la red?
¿Es fiable la transmisión de los datos?
¿Se puede recuperar una información que llega dañada o que simplemente no llega?
¿Nos garantizan los protocolos de transporte como TCP y UDP la entrega correcta de los datos?

Todas estas preguntas, serán respondidas a continuación.

En internet, se utiliza TCP/IP para el transporte (esto también incluye UDP), vamos a explicar cada protocolo de una forma general para más adelante entrar en detalles más técnicos.

UDP significa User Datagram Protocol, proporciona un servicio no orientado a conexión y no fiable, esto quiere decir que se va a intentar por todos los medios que los datos lleguen, pero no lo garantiza.

TCP significa Transmission Control Protocol, proporciona un servicio orientado a conexión y fiable.

Cuando el desarrollador de la aplicación decide cual de los dos protocolos usar, lo ha de hacer a la hora de crear los sockets como ya vimos anteriormente:

Taller de Prácticas : Cliente y Servidor UDP en Java
Taller de Prácticas : Cliente y Servidor TCP en Java

Tanto TCP como UDP trabajan sobre el protocolo de la capa de red de Internet, que es el protocolo IP.

IP proporciona una comunicación lógica entre hosts. IP es “best effort”, es decir, no garantiza que pueda entregar los segmentos entre los hosts pero hará lo que pueda para hacerlo correctamente.

– No garantiza la llegada de los segmentos.
– No garantiza el orden.
– No garantiza la integridad (que si llegan, lleguen correctos).

Por todo esto, IP es un servicio no fiable.

Antes de continuar, debemos tener claro que cada host ha de tener una dirección IP. Lo que hace TCP y UDP es ampliar el servicio que proporciona IP entre dos host, de esta forma podremos tener varios procesos ejecutándose en los host y podremos comunicarnos con ellos. Eso se llama multiplexación y demultiplexación de la capa de transporte.

TCP y UDP proporcionan servicios de comprobación de errores. UDP sólo proporciona esta comprobación y la entrega de datos de proceso a proceso en cada host, recordemos que UDP es no fiable y no garantiza la integridad (como IP).

TCP sí proporciona una transferencia de datos fiable, también proporciona control de flujo, números de secuencia, mensajes de reconocimiento y temporizadores. TCP garantiza que los mensajes se envíen correctamente (control de errores,evitar datos duplicados y recuperación ante pérdidas) y en orden. TCP al estar sobre IP, convierte IP en un servicio de transporte de datos fiable.

TCP también nos proporciona control de congestión, para no colapsar los enlaces (routers, nodos intermedios) y que la intensidad de tráfico se acerque peligrosamente a 1 y empiecen los encolamientos, e incluso la pérdida de paquetes por llenar los buffers de los routers. TCP se encarga de asignar el mismo ancho de banda a todas sus conexiones para que todas ellas puedan enviar y recibir datos.

UDP no proporciona control de congestión, por tanto podrá enviar los datos a cualquier velocidad sin tener en cuenta la posible saturación de los nodos.

¿Cómo se envían los datos por la red? Se envían mediante TCP y UDP
¿Es fiable la transmisión de los datos? Con TCP sí ya que lo garantiza, pero UDP no garantiza la transmisión fiable.
¿Se puede recuperar una información que llega dañada o que simplemente no llega? Tanto TCP como UDP tiene comprobación de errores, cuando se recibe una información dañada o no llega, se retransmite, más adelante lo veremos de una forma muy técnica.
¿Nos garantizan los protocolos de transporte como TCP y UDP la entrega correcta de los datos? TCP sí, UDP no.

En el próximo volumen: Multiplexación y demultiplexación


Continúa leyendo
  • ers

    Vaya, hace 3 dias tube un examen donde preguntaban diferencias entre TCP y UDP. Muy bien explicado la verdad, lastima que no estubiera antes.

    Un saludo

    • Carlos Luis Moreno Sarmiento

      Chamo antes deberías aprender ortografía. Primero “tube” significa tubo en Inglés. En Español se escribe “tuve” que si significa lo que quisiste decir. Segundo, “estubiera” no tiene comentario alguno sino el de que se escribe con “v” de Vaca y de Burro. Es decir: ESTUVIERA. probablemente no le paraste al subrayado rojo en forma de olitas ¿verdad?

  • Nova6K0

    Compañeros sois unos crack. Menuda explicación tan buena y amena.

    Salu2

  • Solido

    Está muy bien, cosas interesantes.

    Y por lo tanto, ¿cúando interesa utilizar TCP y cúando UDP? pregunta típica que se realiza mucha gente, se deduce fácilmente de esta explicación por ejemplo.

    TCP se emplea cuando prima la seguridad.

    UDP se emplea cuando la prioridad es la velocidad (típico ejemplo, streaming).

    Saludos 😉

    • Streaming de vídeo y audio normalmente se emplea TCP porque los firewalls cortan el tráfico UDP.

      Pero sin embargo las DNS se resuelven mediante UDP ya que es más rápido… 🙂

  • Pingback: Curso de redes informáticas | FormacionOnlineGratis.net()

  • Pingback: Curso gratis de redes informáticas, aprende todo sobre redes()

  • Pingback: Curso gratis de redes informáticas | Formación Online()

  • Ivp

    Necesito cursos de redes si alguien me Los pudiera mandar a mi correo xxxxxxxxxxxx@gmail.com gracias

  • Jorge Salas

    una explicación muy clara gracias