Muchas veces, tenemos que abrir puertos en nuestro router y nos pide que seleccionemos uno de los dos protocolos o ambos. Pero realmente no sabemos cual es la diferencia entre el protocolo TCP y UDP ni cuál sería mejor para las tareas que queremos realizar. Pues bien, si queremos entender cómo funciona internet, es necesario entender primero la manera en que los datos se envían y reciben a través de él internet y la forma en que los protocolos TCP y UDP se articulan en él. Se trata de protocolos para la comunicación que cumplen funciones diferentes y que trabajan mejor de forma combinada pudiendo aprovechar los puntos fuertes de cada uno.
Una vez establecida la base de la comunicación por parte de los protocolos de la capa de enlace, se requieren otros protocolos que permitan que los paquetes de datos lleguen a las aplicaciones correspondientes. Partiendo del modelo OSI, este proceso se lleva a cabo en la capa de transporte o capa 4. Para ello, cada pila posee también sus propios protocolos.
Tabla de contenidos
¿Qué es TCP y UDP?
Son dos protocolos de datos diferentes, pero a la vez complementarios. Toda vez que el protocolo IP ha determinado la manera en que serán transmitidos los datos de un mensaje entre un dispositivo y otro, los protocolos TCP y UDP entran en acción para codificarlo y enviarlo a la dirección determinada por el protocolo IP.
Pero vamos a ver primero como funcionan los protocolos TCP y UDP.
Funcionamiento de los protocolos de datos TCP y UDP
El protocolo TCP
Comencemos primero por el protocolo TCP. Es uno de los protocolos más utilizados en la navegación diaria. Responde a las siglas Transfer Control Protocol y es el más habitual por tratarse de un protocolo de transporte dirigido a la conexión. Es decir, el protocolo TCP esta preparado para gestionar conexiones de extremo a extremo. Es el complemento ideal para el protocolo IP porque los datagramas del protocolo IP no están diseñados para establecer un sistema recíproco de verificación entre los dispositivos que intercambian la información.
El funcionamiento, por sí solo, del protocolo IP no es fiable, presentaría un riesgo de pérdida de datos durante la transferencia. Para prevenirlo, el protocolo TCP establece una conexión entre el dispositivo emisor y el dispositivo receptor y verifica de forma continua la emisión y recepción de la información entre ambos. Este protocolo consigue esta verificación dividiendo los flujos de bytes en segmentos ordenados con un número de secuencia antes de transmitirlos a través del protocolo IP. Este número de secuencia es verificado por el dispositivo receptor y, en caso de que alguno de los segmentos resulte faltante, el protocolo TCP vuelve a solicitar su envío a través del protocolo IP, hasta que el mensaje llega en su totalidad al dispositivo receptor. Gracias a su fiabilidad, el protocolo TCP da soporte a los protocolos HTTP, SMTP, SSH y FTP.
El protocolo UDP
Por otro lado, el protocolo UDP responde a las siglas User Diagram Protocol y funciona de forma similar al protocolo TCP, pero a diferencia del protocolo TCP se trata de un protocolo de transporte no dirigido a conexión. Esto quiere decir que el protocolo UDP no verifica la recepción de los datos transmitidos entre un dispositivo y otro. El protocolo UDP se encarga de sar soporte a los protocolos DHCP, BOOTP y DNS entre muchos más.
Una de las ventajas de utilizar el protocolo UDP frente al protocolo TCP es la velocidad que nos ofrece. Y esto es fácil de entender, al prescindir de un sistema de verificación de paquetes entre el dispositivo emisor y el receptor. Por este mismo motivo, el protocolo UDP es el que más se utiliza para los servicios de transmisión de voz y vídeo en streaming, donde la velocidad de la transmisión es más importante que una posible pérdida de datos puntual.
¿Cual es la diferencia entre el protocolo TCP y el UDP?
La diferencia principal entre estos dos protocolos, es el sistema de verificación que hemos visto antes. El protocolo TCP es un protocolo de transporte dirigido a la conexión, mientras que el protocolo UDP no lo es. De esta manera, el protocolo TCP verifica la correcta transmisión de los datos entre los dispositivos emisores y los receptores asegurando la integridad de la información , mientras que el protocolo UDP no lo hace.
Estos nos ofrece las siguientes ventajas y inconvenientes:
- El protocolo UDP cuenta con una velocidad de transmisión superior a la del protocolo TCP, si bien lo hace a costa de una pérdida de precisión en la transmisión de la información.
- Además el protocolo TCP cuenta con un sistema de control de congestión y de flujo del tráfico, mientras que el protocolo UDP carece de él.
- Un paquete UDP puede ser fragmentado por el protocolo IP para ser enviado fragmentado en varios paquetes IP si resulta necesario.
- Puesto que no hay conexión, un paquete UDP admite utilizar como dirección IP de destino la dirección de broadcast o de multicast de IP. Esto nos permite enviar un paquete a varios destinos.
- Por último, el tamaño de la cabecera del protocolo TCP es de 20 bytes, mientras que él del protocolo UDP es de solo 8 bytes. Esto responde a la necesidad del protocolo TCP de incluir más información en los paquetes para poder comprobar y subsanar después los posibles errores de transmisión.
Es por ello, que el protocolo TCP es el más utilizado, pero sin embargo, el protocolo UDP es el que más se utiliza en el mundo del streaming, por la velocidad que nos ofrece. Hay que tener en cuenta que al aumentar el tráfico UDP podemos dañar el correcto funcionamiento de las aplicaciones TCP. Hay que buscar un equilibrio para solucionar este problema.
Espero que os sirva este artículo para entender un poquito más como se mueve la información a través de internet.
Nos vemos a la próxima!!