Protocolos Fundamentales de Red: TCP, PMTUD y DNS para una Conexión Óptima

Clasificado en Informática

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

Protocolo de Control de Transmisión (TCP)

El protocolo TCP (Transmission Control Protocol) es fundamental para la comunicación fiable en redes. Espera a que el destino responda con un ACK (Acknowledgement) por cada segmento enviado dentro de un intervalo de tiempo. Si el temporizador (timeout) expira, los datos se retransmiten. Existe un número máximo de intentos para asegurar la entrega.

Cada segmento enviado contiene un número de secuencia que permite a TCP organizar y ordenar los segmentos en el destino. Cuando el receptor envía el ACK, también transmite un número de bytes que puede recibir sin sobrecargar sus búferes, lo que es crucial para el control de flujo.

TCP es un protocolo full-duplex, lo que garantiza la concurrencia del flujo de datos en ambos sentidos. Para el control de flujo, utiliza un mecanismo de ventana deslizante. El ACK del último segmento recibido implica el reconocimiento de todos los anteriores, optimizando la eficiencia. La velocidad de envío de segmentos es regulada por el receptor, que conoce la situación de sus búferes.

Ventana de Recepción TCP

La ventana de recepción TCP tiene un tamaño predeterminado de 8796 bytes, dividida en seis segmentos más el encabezado. Este tamaño se puede ajustar dinámicamente dependiendo de los tiempos de recepción y las condiciones de la red, permitiendo una adaptación óptima al rendimiento.

Path MTU Discovery (PMTUD)

El mecanismo Path Maximum Unit Discovery (PMTUD) sirve para determinar el tamaño máximo de un segmento (MTU - Maximum Transmission Unit) que puede atravesar una conexión de red sin ser fragmentado. Para ello, se envía un paquete ICMP (Internet Control Message Protocol) con el bit "Don't Fragment" (DF) activado.

Si en la ruta hacia el destino, algún dispositivo de red (como un router) necesita fragmentar el paquete porque excede su MTU, se devuelve un mensaje de error ICMP ("Fragmentation Needed and DF Set"). En ese caso, el origen intenta con un paquete más pequeño hasta encontrar el MTU óptimo para la ruta.

Sistema de Nombres de Dominio (DNS)

El DNS (Domain Name System) opera a nivel de aplicación y es esencial para la navegación en internet. Mientras que los ordenadores se identifican con direcciones IP numéricas, DNS asocia nombres de dominio legibles por humanos a estas direcciones. Esta asociación se guarda y gestiona en los servidores DNS distribuidos globalmente.

Estructura de Nombres de Dominio

La estructura de los nombres de dominio sigue una jerarquía establecida de derecha a izquierda, separada por puntos, desde lo más general a lo más particular (ej., subdominio.dominio.tld). Esta organización facilita la gestión y escalabilidad del sistema.

Dominios de Nivel Superior (TLD)

Los TLD (Top-Level Domains) son los primeros en la jerarquía de nombres de dominio. Se clasifican principalmente en:

  • Genéricos (gTLD): Como .com (comercial), .org (organizaciones), .net (redes), .info (información), entre otros.
  • Geográficos (ccTLD): Representan países o territorios, como .es (España), .it (Italia), .mx (México), etc.

El NIC (Network Information Center) es la organización en la que ICANN (Internet Corporation for Assigned Names and Numbers) delega la responsabilidad del registro mundial de direcciones IP y nombres de dominio, asegurando su unicidad y gestión.

Subdominios

Los subdominios permiten organizar el contenido dentro de un dominio principal. Por ejemplo, podemos registrar un subdominio como blog.ejemplo.com o tienda.ejemplo.com bajo el dominio ejemplo.com. Esto ofrece flexibilidad para estructurar sitios web y servicios.

Evolución y Necesidad del DNS

Originalmente, la asociación entre nombres y direcciones IP se realizaba a través de ficheros locales (como el archivo hosts). Sin embargo, el crecimiento exponencial de internet obligó a crear un sistema jerárquico y distribuido como el DNS para gestionar eficientemente la vasta cantidad de nombres y direcciones.

Resolución de Nombres DNS

La función principal del DNS es, dado un nombre de dominio (ej., www.google.com), encontrar la dirección IP numérica correspondiente (ej., 172.217.160.142) para que los navegadores y aplicaciones puedan establecer una conexión.

Espacio de Nombres de Dominio Distribuido

El espacio de nombres de dominios almacena información sobre distintas máquinas y servicios en la red. Es crucial entender que no existe un único punto central que contenga toda la información de nombres de dominio. En su lugar, es un sistema distribuido donde cada nombre de subdominio representa una rama de un árbol jerárquico, gestionado por múltiples servidores DNS en todo el mundo.

Entradas relacionadas: