Capa de Transporte: Diferencias entre TCP y UDP, Puertos y Funcionamiento

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,35 KB

¿Qué hace la capa de transporte?

Proporciona comunicación directa entre aplicaciones de diferentes máquinas. Recibe los datos de la aplicación, los fragmenta en segmentos, los etiqueta con puertos y los pasa a la capa de red.

Aplicación vs. Proceso

Una aplicación puede estar ejecutándose o no. Cuando se ejecuta, se denomina proceso. Cada proceso tiene un número de puerto para identificarlo.

Puerto

Número de 16 bits (0–65535) que identifica un proceso en una máquina. Permite que un mismo equipo tenga varias conexiones simultáneas.

Comparativa: UDP vs. TCP

CaracterísticaUDPTCP
OrientaciónSin conexiónCon conexión (punto a punto)
FiabilidadNo fiableFiable (garantiza entrega)
VelocidadMuy rápidoMás lento
Control de flujoNo
ReordenaciónNo
RetransmisiónNoSí (automática)
Broadcast/MulticastNo
PDUDatagramaSegmento
Usos típicosDNS, DHCP, streaming, juegos online, VoIPHTTP, FTP, SSH, correo, descarga de archivos

Regla de oro: si necesitas velocidad y puedes permitirte perder algún dato, usa UDP. Si necesitas que todo llegue correctamente y en orden, usa TCP.

Formato del datagrama UDP (cabecera de 8 bytes)

  • Puerto origen (2 bytes): Proceso que envía (opcional, puede ser 0).
  • Puerto destino (2 bytes): Proceso receptor.
  • Longitud (2 bytes): Tamaño total del datagrama.
  • Checksum (2 bytes): Detección de errores.

Características UDP

  • Cada datagrama es independiente.
  • No garantiza orden ni llegada.
  • Sin fragmentación propia (la aplicación divide).
  • Sin control de congestión.

Formato del segmento TCP (cabecera de 20+ bytes)

CampoBitsFunción
Puerto origen / destino16 + 16Identifican los procesos en cada extremo
Nº de secuencia32Orden del fragmento dentro del mensaje
Nº de reconocimiento (ACK)32Confirma la recepción del segmento anterior
Flags6SYN, ACK, FIN, RST, PSH, URG
Ventana de recepción16Control de flujo (bytes que puede recibir)
Checksum16Detección de errores

Flags importantes: SYN (iniciar conexión), ACK (confirmar), FIN (cerrar), RST (resetear).

Establecimiento de conexión TCP: Three Way Handshake

  1. Paso 1 (Cliente): Envía SYN. Estado: SYN-Sent.
  2. Paso 2 (Servidor): Responde SYN+ACK. Estado: SYN-Received.
  3. Paso 3 (Cliente): Envía ACK. Ambos pasan a estado: Established.

Cierre de conexión TCP

  • Cliente envía FIN → pasa a FIN-Wait-1.
  • Servidor responde ACK → FIN-Wait-2.
  • Servidor envía FIN → Time-Wait.
  • Cliente envía ACK → Closed.

Estados del puerto

  • Closed: Cerrado.
  • Listen: Esperando conexiones.
  • Established: Conexión activa.
  • Time-Wait: Esperando mensajes rezagados.

Puertos estándar (Memorizar)

PuertoProtocoloServicio
20/21TCPFTP (datos/control)
22TCPSSH (terminal seguro)
23TCPTelnet (terminal no seguro)
25TCPSMTP (envío correo)
53UDPDNS
67/68UDPDHCP (servidor/cliente)
80TCPHTTP (web)
110TCPPOP3 (recibir correo)
143TCPIMAP (correo avanzado)
443TCPHTTPS (web segura)

Rangos: 0-1023 (Sistema/WKP), 1024-49151 (Usuario), 49152-65535 (Dinámicos/Privados).

¿Qué es PAT (Port Address Translation)?

Es una ampliación del NAT que permite que múltiples equipos de una red local salgan a Internet usando una sola IP pública, diferenciándolos por el número de puerto.

PAT estático vs. dinámico

  • Estático: El administrador asigna manualmente un puerto externo a un servicio interno (ej. puerto 8080 externo → puerto 80 del servidor).
  • Dinámico: Los puertos se asignan automáticamente según la demanda.

Entradas relacionadas: