Вы находитесь на странице: 1из 4

Protocolos TCP y UDP

Jahyr Andreé Moreno Robles


Ingeniería de Sistemas, Universidad de Cuenca
Cuenca, Ecuador
jahyr.moreno@ucuenca.ec

Abstract— Los protocolos TCP y UDP son parte de la capa de  Confiable: Garantiza la entrega de los datos sin
transporte del modelo OSI y TCP/IP, se encargan de transportar duplicidad, sin errores y completos; por otra parte,
paquetes si hablamos de TCP o datagramas si nos referimos a UDP. permite la recuperación de los datos en caso de
El protocolo TCP es conocido como confiable mientras que UDP alguna perdida.
no, ya que no es orientado a conexión como si lo es TCP. Ambos
 Full dúplex: Los extremos de la conexión, emisor
protocolos utilizan puertos para realizar conexiones. En el presente
trabajo, veremos los protocolos TCP y UDP con sus respectivas y receptor pueden intercambiar los datos en ambas
funciones, y sus características que hacen que funcionen en una red. direcciones a la vez.
 Conexión de inicio confiable: Aceptación del
Keywords: TCP, UDP, OSI, TCP/IP, Capa de Transporte, Paquetes, receptor de la conexión y sincronización entre
Datagramas. extremos.
 Conexión finalizada aceptable: Permite la entrega
de todos los datos antes de finalizar la conexión.
I. INTRODUCCIÓN
III. PROTOCOLO UDP
El "protocolo de control de transmisión" ('Transmission
Control Protocol', TCP) está utilizado como un protocolo 'host' A. Definición
a 'host' confiable entre miembros de redes de comunicación de El protocolo de datagrama de usuario es un protocolo de
computadoras por intercambio de paquetes y en un sistema datagrama mínimo de nivel de transporte orientado a mensajes
interconectado de tales redes. documentado en el RFC 768 de la IETF.
El "protocolo de datagramas de usuario" ('User Datagram En la familia de protocolos de Internet UDP proporciona una
Protocol', UDP) es un protocolo de datagrama mínimo de nivel sencilla interfaz entre la capa de red y la capa de aplicación.
de transporte orientado a mensajes; proporciona una sencilla UDP no otorga garantías para la entrega de sus mensajes (por
interfaz entre la capa de red y la capa de aplicación, pero no es lo que realmente no se debería encontrarse en la capa 4) y el
confiable. origen UDP no retiene estados de los mensajes UDP que han
sido enviados a la red. UDP sólo añade multiplexado de
II. PROTOCOLO TCP aplicación y suma de verificación de la cabecera y la carga útil,
A. Definición UDP no garantiza la entrega ni comprueba la secuencia de los
datagramas. Cualquier tipo de garantías para la transmisión de
Es el protocolo de control de transporte, ubicado en la capa
la información deben ser implementadas en capas superiores.
de trasporte del modelo OSI y del modelo TCP/IP, es un
protocolo orientado a conexión por lo cual permite que las dos Algunos programas utilizan UDP en lugar de TCP para el
máquinas comunicadas controlen el estado de trasmisión de transporte de datos rápido, compacto y no confiable.
datos durante su comunicación; también orientado a conexión UDP/IP proporciona muy pocos servicios de recuperación
quiere decir que los datos se entreguen sin errores, completos y de errores, ofreciendo en su lugar una manera directa de enviar
en secuencia. y recibir datagramas a través una red IP. Se utiliza sobre todo
TCP brinda una comunicación segura y confiable a través de cuando la velocidad es un factor importante en la transmisión
diferentes tipos de redes interconectadas, además garantiza que de la información. Su uso principal es para protocolos DHCP,
todos los datos transmitidos lleguen a su destino y que el orden BOOTP, DNS y demás protocolos en los que el intercambio de
de envió se establezca en el destino (ensamble ordenado) paquetes de la conexión/desconexión son mayores, o no son
rentables con respecto a la información transmitida, así como
El propósito principal de TCP consiste en proporcionar un
para la transmisión de audio y vídeo en tiempo real, donde no
servicio de conexión o un circuito lógico (maneja los datos en
es posible realizar retransmisiones por los estrictos requisitos
forma de 0 y 1) confiable y seguro en medios no confiables ni
de retardo que se tiene en estos casos.
seguros.

B. Características
B. Características
 Orientado a conexión: Donde las aplicaciones Las características principales de este protocolo son:
solicitan la conexión al destino y después usan esta 1. Trabaja sin conexión, es decir que no emplea ninguna
conexión para la entrega de los datos sin problema sincronización entre el origen y el destino.
alguno. 2. Trabaja con paquetes o datagramas enteros, no con bytes
 Punto a punto: Una conexión tiene dos extremos o individuales como TCP. Una aplicación que emplea el
dos nodos, que son el emisor y el receptor. protocolo UDP intercambia información en forma de bloques
de bytes, de forma que, por cada bloque de bytes enviado de la
capa de aplicación a la capa de transporte, se envía un paquete último segmento. Todo lo que puede enviar es un ACK con
UDP. 1025 como número de asentimiento, al igual que si llega el
3. No es fiable. No emplea control del flujo ni ordena los segmento 1025-2048 pero con un error de cheksum.
paquetes.  Longitud de cabecera (4 bits): especifica el
4. Su gran ventaja es que provoca poca carga adicional en la tamaño de la cabecera en palabras de 32 bits.
red ya que es sencillo y emplea cabeceras muy simples. Es requerido porque la longitud del campo “opciones” es
variable. Por lo tanto el tamaño máximo de la cabecera está
IV. CABECERA DEL PROTOCOLO TCP limitado a 60 bytes, mientras que sin “opciones” el tamaño
normal será de 20 bytes. A este campo también se le suele
El formato de la cabecera TCP se detalla en la figura 1. llamar “data offset” por el hecho de que es la diferencia en
bytes desde el principio del segmento hasta el comienzo de los
datos.
 Reservado (3 bits): para uso futuro. Debe estar
a 0.
 Flags (9 bits):
o NS (1 bit): ECN-nonce concealment
protection. Para proteger frente a
paquetes accidentales o maliciosos que
Figura 1: Cabecera TCP
se aprovechan del control de
A continuación, se presenta un análisis de los campos: congestión para ganar ancho de banda
de la red.
o CWR (1bit): Congestion Window
 Puerto origen (16 bits): Identifica el puerto Reduced. El flag se activa por el host
emisor. emisor para indicar que ha recibido un
 Puerto destino (16 bits): Identifica el puerto segmento TCP con el flag ECE
receptor. activado y ha respondido con el
Estos dos valores identifican la aplicación receptora y la mecanismo de control de congestión.
emisora, junto con las direcciones IP del emisor y receptor o ECE (1 bit): Para dar indicaciones
identifican de forma unívoca cada conexión. La combinación sobre congestión.
de una dirección IP y un puerto es llamado socket. Es el par de o URG (1 bit): Indica que el campo del
sockets (dirección IP + puerto del emisor y dirección IP+ puntero urgente es válido.
puerto del receptor) emisor y receptor el que especifica los dos o ACK (1 bit): Indica que el campo de
puntos finales que unívocamente se corresponden con cada asentimiento es válido. Todos los
conexión TCP en internet. paquetes enviados después del paquete
SYN inicial deben tener activo este
 Número de secuencia (32 bits): Identifica el flag.
byte del flujo de datos enviado por el emisor o PSH (1 bit): Push. El receptor debe
TCP al receptor TCP que representa el primer pasar los datos a la aplicación tan
byte de datos del segmento. pronto como sea posible, no teniendo
Cuando una conexión está siendo establecida el flag SYN que esperar a recibir más datos.
se activa y el campo del número de secuencia contiene el ISN o RST (1 bit): Reset. Reinicia la
(initial sequence number) elegido por el host para esa conexión, cuando falla un intento de
conexión. El número de secuencia del primer byte de datos conexión, o al rechazar paquetes no
será el ISN+1 ya que el flag SYN consume un número de validos.
secuencia. o SYN (1 bit): Synchronice. Sincroniza
 Número de acuse de recibo (32 bits): Contiene los números de secuencia para iniciar la
el valor del siguiente número de secuencia que conexión.
el emisor del segmento espera recibir. o FIN (1 bit): Para que el emisor (del
paquete) solicite la liberación de la
Una vez que la conexión ha sido establecida, este número
conexión.
se envía siempre y se valida con el flag ACK activado. Enviar
ACKs no cuesta nada ya que el campo de acuse de recibo  Tamaño de ventana o ventana de recepción
siempre forma parte de la cabecera, al igual que el flag ACK. (16 bits): Tamaño de la ventana de recepción
TCP se puede describir como un protocolo sin asentimientos que especifica el número máximo de bytes que
selectivos o negativos ya que el número de asentimiento en la pueden ser metidos en el buffer de recepción o
cabecera TCP significa que se han recibido correctamente los dicho de otro modo, el número máximo de bytes
bytes anteriores pero no se incluye ese byte. pendientes de asentimiento. Es un sistema de
control de flujo.
No se pueden asentir partes selectivas del flujo de datos
 Suma de verificación (16 bits): Checksum
(suponiendo que no estamos usando la opción SACK de
utilizado para la comprobación de errores tanto
asentimientos selectivos). Por ejemplo si se reciben en la cabecera como en los datos.
correctamente los bytes 1-1024 y el siguiente segmento
contiene los bytes 2049-3072, el receptor no puede asentir este
 Puntero urgente (16 bits): Cantidad de bytes hace por medio conexiones, que
desde el número de secuencia que indica el lugar de conexiones significa que un
donde acaban los datos urgentes. virtuales. programa puede
 Opciones: Para poder añadir características no enviar una carga de
cubiertas por la cabecera fija. paquetes de data y
 Relleno: Se utiliza para asegurarse que la hasta ahí llega esa
cabecera acaba con un tamaño múltiplo de 32 relación.
bits. Uso TCP es útil para UDP es útil para
aplicaciones que aplicaciones que
requieren necesitan
V. CABECERA DEL PROTOCOLO UDP confiabilidad alta transmisión rápida y
Ya que no proporciona detección de errores (no es un y donde el efectiva. La
protocolo orientado a conexión). Por lo tanto, el encabezado tiempo de capacidad de
del segmento UDP es muy simple como se puede ver en la transmisión es transferencia sin
figura 2. menos crítico. conexiones de UDP
le hace útil para
servidores que
reciben una gran
cantidad de
peticiones pequeñas
de un alto número
Figura 2: Cabecera UDP
de clientes.
A continuación, se presenta un análisis de los campos: Uso por otros HTTP, HTTPs, DNS, DHCP, TFTP,
protocolos SMTP, Telnet SNMP, RIP, VoIP
 Puerto de origen: es el número de puerto TCP reordena UDP no tiene un
Ordenar
relacionado con la aplicación del remitente del paquetes de data orden inherente y
paquetes de
segmento UDP. Este campo representa una data en el orden los paquetes de data
dirección de respuesta para el destinatario. Por lo especificado son independientes
tanto, este campo es opcional. Esto significa que si uno del otro. Si
el puerto de origen no está especificado, los 16 bits requieren un orden,
de este campo se pondrán en cero. En este caso, el esto se maneja a
destinatario no podrá responder (lo cual no es nivel de aplicación.
estrictamente necesario, en particular para
Velocidad de TCP es más lento UDO es más rápido
mensajes unidireccionales).
transferencia que UDP porque no hace
 Puerto de destino: este campo contiene el puerto verificación de
correspondiente a la aplicación del equipo receptor errores por paquete
al que se envía. de data
 Longitud: este campo especifica la longitud total Confiabilidad YCP ofrece una No hay garantía de
del segmento, con el encabezado incluido. Sin garantía absoluta que los paquetes de
embargo, el encabezado tiene una longitud de 4 x de que la data data o mensajes
16 bits (que es 8 x 8 bits), por lo tanto, la longitud transferida lleguen
del campo es necesariamente superior o igual a 8 llegará intacta y
bytes. en el mismo
 Suma de comprobación: es una suma de orden en que fue
comprobación realizada de manera tal que permita enviado
controlar la integridad del segmento. Tamaño del TCP usa títulos UDP usa títulos de 8
título de 20 bits bits
VI. DIFERENCIAS ENTRE TCP Y UDP Campos Puerto de origen, Puerto de origen,
comunes de puerto de destino, puerto de destino,
TCP UDP títulos "check sum" "check sum"
Abreviatura de Transmission User Datagram Fluidez de data La data se lee Los paquetes son
Control Protocol Protocol o Universal como una enviados
Datagram Protocol secuencia de bits individualmente; se
Conexión ICP es un UDP es un y no se verifica su
protocolo protocolo sin transmiten integridad sólo si
orientado a conexiones. indicadores para llegan. Los paquetes
conexiones los límites de tienen límites
segmentos de los definidos que se
Función Se usa para UDP se usa para
mensajes honran al recibirse,
enviar mensajes transporte de
que significa que la
por Internet de mensajes y/o
operación de "leer"
una computadora transferencias. Pero
para el recibidor
a otra. Eso se no está basada en
emite el mensaje  Una conexión tiene dos nodos, los cuales son el emisor
completo según envi y el receptor.
Peso TCP es pesado. UDP es liviano, No
Requiere tres hay ordenamiento VIII. REFERENCIAS BILBIOGRÁFICAS
paquetes para de mensajes, [1] CCM: “Protocolo TCP”. Disponible en (12-2017):
establecer una conexiones de http://es.ccm.net/contents/281-protocolo-tcp
conexión antes de verificación, etc. Es [2] CCM: “Protocolo UDP”. Disponible en (12-2017):
transmitir. TCP un nivel pequeño de http://es.ccm.net/contents/284-protocolo-udp
[3] Wikipedia: “Protocolo de control de transmisión”. Disponible en (12-
maneja transporte sobre el 2017):
confiabilidad y protocolo de https://es.wikipedia.org/wiki/Protocolo_de_control_de_transmisi%C3%
control de Internet (IP, en B3n
[4] Wikipedia: “User Datagram Protocol”-. Disponible en (12-2017):
congestión. inglés). https://es.wikipedia.org/wiki/User_Datagram_Protocol#Principales_c
Control de flujo TCP hace UDP no tiene aracter%C3%ADsticas
de data Control de Flujo. opción para Control [5] RFC793 en español con texto claro. Disponible en (12-2017):
Requiere tres de Flujo. https://www.rfc-es.org/rfc/rfc0793-es.txt
[6] Douglas E. Comer. Internetworking with TCP/IP. Principles,
paquetes para protocols and architecture. ISBN 0-13-187671-6
establecer una [7] Richard Stevens. TCP/IP, volume 1. The protocols. ISBN 0-201-
conexión antes de 63346-9
[8] Dr. Sidnie Feit. TCP/IP. Arquitecturas, protocolos e implementación.
transmitir. TCP ISBN 0-07-021389-5
maneja [9] Apuntes de la asignatura Redes de Computadores de la Universidad
confiabilidad y de Cuenca
control de
congestión.
Verificación de TCP tiene UDP tiene
errores verificación de verificación de
errores errores, pero no
tiene opciones para
recuperar/corregir
los mismos
Campos 1. Número de 1. Largo. 2. Puerto
secuencia. 2. de origen. 3. Puerto
Número ACK. 3. de destino. 4. Check
Indice data. 4. Sum.
Reservado. 5. Bit
de control. 6.
Ventana. 7,
Indicador de
urgencia. 8.
Opciones. 9.
Relleno. 10.
Check Sum. 11.
Puerto de origen.
12. Puerto de
destino.
Reconocimiento Segmentos de No hace
reconocimiento reconocimiento
"Handshake" SYN, SYN- No hace esta
(verifica ACK, ACK verificación
conexión en 3
tiempos)
Checksum Completo Para detectar errores

VII. CONCLUSIONES
 TCP es protocolo encargado de desmontar cada una de
las piezas y memorizar el orden en el cual fueron
enviados; para poder reconstruirlo.
 Cada segmento (pieza) puede viajar por distintos
destinos (multiplexación) y al llegar al destino, TCP
se encarga del re ensamble de los segmentos
(desmultiplexación) haciendo que coincidan.