Portada » Informática » Guía completa de IPv4 y TCP: Capas de red, protocolos y control de flujo
0. IPv4 se basa en diferentes capas de red, cada una con dispositivos específicos:
Retransmite datos bit a bit en la capa de enlace, de una entrada a todas las salidas.
Redirige tramas según la dirección MAC, de una entrada a la salida correcta. Puede almacenar tramas, analizar errores e interconectar a distintas velocidades.
Conecta y encamina paquetes en la capa de red en base a la dirección IP. También convierte entre distintos formatos (cambio de capa física/enlace).
El protocolo IP es no orientado a conexión (no fiable), no retransmite ni recupera paquetes perdidos, ni garantiza su orden o duplicidad. Sus funciones básicas son:
Los datagramas IP contienen la dirección IP (32 bits) del destino, que puede ser unicast, multicast o broadcast. Las direcciones IP se clasifican por clases:
Bit 31 a 0, bits 30-24 para ID de red, bits 23-0 para el host.
Bits 31 y 30: 10, bits 29-16 para ID de red, bits 15-0 para el host.
Bits 31-29: 110, bits 28-8 para ID de red, bits 7-0 para el host.
Bits 31-28: 1110, bits 27-0 para la dirección multicast.
Bits 31-28: 1111, experimental.
No usables en Internet, para redes aisladas o a través de NAT. Ejemplos: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.
De bucle interno, la más común es 127.0.0.1.
Terminadas en unos, para enviar a toda la red local.
Para identificar la red, se ponen a 0 todos los bits del host.
Indican qué bits de una IP pertenecen a la ID de red (bits a 1 en la máscara). Notación CIDR indica cuántos bits a 1 tiene la máscara. Ej.: 192.168.1.55/24.
ARP (Address Resolution Protocol) sirve para traducir direcciones IP a direcciones MAC. Si no se conoce la MAC del destino, se hace un broadcast por enlace para que el dueño de la IP responda con su MAC.
Permiten aislar el tráfico, reducir el global, limitar y proteger el acceso. Se establecen mediante routers y asignan rangos de direcciones IP. Las clases son subredes. Ej.: 192.168.1.0/24 forma 4 subredes: 192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26, 192.168.1.192/26.
Unen varias redes (por ej. de clase C) en una sola red. Ej: las redes 192.168.4.0/24, 192.168.5.0/24, 192.168.6.0/24, 192.168.7.0/24 formarían la superred 192.168.4.0/22.
ICMP (Internet Control Message Protocol) es un protocolo de intercambio de mensajes de error o informativos sobre la red. Se transmiten dentro de paquetes IP. Algunos mensajes: echo reply (0), echo request (8), router solicitation (9), router advertisement (10), destino inalcanzable (3).
DHCP (Dynamic Host Configuration Protocol) configura automáticamente los parámetros de la red, como dirección IP, máscara de red, router predeterminado, servidores DNS, etc. Es un protocolo cliente/servidor sobre UDP, con control de errores basado en sumas de comprobación, temporizadores y retransmisiones.
1. TCP (Transmission Control Protocol) utiliza como unidad de transferencia el segmento TCP. Es un protocolo orientado a conexión y fiable, con fases de establecimiento, transferencia y cierre. Controla los errores mediante checksum, numeración de segmentos, confirmaciones, retransmisión y temporizadores. Ofrece lógica proceso-a-proceso, por número de puerto, flujo de datos, full-duplex, etc.
Identifican los extremos de la conexión.
Bytes del flujo de datos.
En palabras de 32 bits.
Se expresa en bytes.
El primer mensaje lleva SYN, si el servidor acepta, envía un SYN+ACK. El tercer paquete puede llevar datos y comunica la ventana del cliente. La finalización puede ser de 3 o 4 vías, con mensajes FIN para cerrar la conexión.
Se realiza mediante ventana deslizante, para gestionar paquetes duplicados, retransmisión de paquetes perdidos o erróneos y recepción de paquetes fuera de orden. Se usan confirmaciones acumulativas, informando del siguiente byte que se espera recibir. Opcionalmente, hay SACK, una opción informativa para el emisor. Los mecanismos de control de errores son:
Cuando expira, se envía el primer elemento sin confirmar de la ventana.
Retransmite al instante al recibir 3 ACKs duplicados.
Temporizador de retransmisión.
Evita mantener conexiones indefinidamente.
Útil para volver a enviar el último ACK y prevenir colisiones de nºs de secuencia.
Recupera la pérdida de un ACK posterior con nuevo tamaño de ventana.
Consiste en anunciar el tamaño de ventana restante en cada ACK. Los problemas de ventana trivial (emisor/receptor lentos) se solucionan con los algoritmos de Nagle (emisor) y Clark (receptor).
Los paquetes se pueden perder por congestión en la red. El emisor usa el ritmo de llegada de ACKs para regular el envío de datos mediante la Congestion Window (CW), que reduce su tamaño ante la congestión y aumenta si no la hay. La ventana de emisión es min(RW,CW).
Las fases del control de congestión son:
CW aumenta exponencialmente hasta el umbral STT.
CW aumenta linealmente a partir de STT.
CW alcanza RW.
La detección de la congestión se basa en la recepción de 3 ACKs duplicados (congestión leve) o la expiración de RTO (congestión elevada), reduciendo el tamaño de CW.