Showing posts with label diferencia entre TCP y UDP. Show all posts
Showing posts with label diferencia entre TCP y UDP. Show all posts

Monday, May 04, 2009

¿Cuál es la diferencia entre TCP y UDP????

Existen 2 protocolos muy populare para transferir datos por internet. Estos son el protocolo TCP y el protocolo UDP.
¿Cual es la diferencia entre estos dos protocolos??

1)El protocolo UDP, a diferencia de lo mucho que hace el protocolo tcp, es de lo más simple. Aparte de la función de multiplexeo/demultiplexing y alguna revisión mínimo de errores, no adiciona nada nuevo al IP. De hecho si el programador selecciona usar UDP en vez de TCP, entonces la aplicación tendrá interación casi directa con IP. UDP toma mensajes de applicaciones, para los servicios de multiplexeo/demultiplexing adiciona los campos de puerto fuente y puerto destino,agrega también 2 otros campos que no poseen mucha importancia y entrega el segmento resultante a la capa de red.
La capa de red encapsula al segmento en un datagrama de IP, y después hace su máximo esfuerzo por entregar el segmento al host correspondinete. Si el segmento llega de forma satisfactoria con el host, UDP entrega los números de puerto,la direcciónn de IP de la fuente, y la dirección de IP del destino a la aplicación de proceso correspondiente.
Es importante notar, que con UDP antes de enviar los datos, no existe ningún tipo de handshaking entre las entidades que envían y reciben datos. Es por esto que se dice que UDP trabaja sin conxión.
TCP a diferencia de UDP utiliza 3 modos distintos de handshake antes de empezar a transferir datos. UDP sólo empieza a transferir sin dar preliminares formales. Por lo anterior es claro que UDP no introduce ningún tipo de retraso cuando envia información. UDP es por ende más rápido que TCP.

Por otro lado, TCP mantiene el estado de conexión de todas sus terminales. Este estado de conexión incluye buffers enviados,bufers recibidos, control de parametros de congestión, parametros de acknowledgment, o reconocimiento. ( Esta información es muy útil para TCP, lo utiliza para tener un transfernecia de datos muy confiable, además le brinda control en momentos de congestión.)
UDP no mantiene ningún estado de conexión y no guarda ninguno de estos parametros. Por ende, un servidor devoto a una aplicación en partícular puede tener más clientes activos cuando la aplicación corra sobre UDP que cuando corra sobre TCP.

El segmento de TCP posee un segmento de cabecera de 20 bytes, mientras que el segmento UDP sólo posee una cabecera de 8 bytes.

TCP cuenta con un mecanismo de control de congestión , que acelera al transmisor cuando 2 ó más links ó ligas entre el transmisior o receptor se tornan excesivamente congestionadas. Esta aceleración puede tener un impacto severo en aplicaciones a tiempo real que pueden tolerar perdidas en sus paquetes, pero requieren usar una cierta tasa de transferencia.
Con respecto a UDP, para enviar datos la única restricción que presenta en la velocidad de envió, es el ciclo de reloj que posee la CPU desde la cual se están enviando los datos, así como el ancho de banda de acceso a Internet. Aunque debemos tomar en cuenta, que el host receptor no necesariamente recibirá todos los datos que se envían, cuando la red está congestiondada. Una fracción significante de los datos transmitidos se podrían perder debido a un sobreflujo del buffer del router. Por ende, la tasa de recpeción, está limitada por la congestión de la red, aun cuandp la tasa de envió no este restringida.