Redes de datos y protocolos
Con la ventana original de 64 KB y 100 ms de ida y vuelta, una conexión TCP no pasa de 5,2 Mbit/s aunque el enlace sea de un gigabit. El límite no está en el cable.
01Capas y encapsulamiento
Una red de datos resuelve muchos problemas a la vez: transmitir bits por un medio, repartir el medio entre estaciones, encontrar el camino entre redes, entregar los datos completos y en orden, y darles significado. Para que cada problema se resuelva por separado, los protocolos se organizan en capas: cada una usa el servicio de la de abajo y ofrece uno a la de arriba. El modelo OSI tiene siete; la pila TCP/IP, que es la que se usa, cuatro:
| Capa TCP/IP | Función | Ejemplos | Unidad |
|---|---|---|---|
| Aplicación | El significado de los datos | HTTP, DNS, MQTT, SSH | Mensaje |
| Transporte | Comunicación entre procesos, confiabilidad | TCP, UDP | Segmento |
| Internet | Direccionamiento y encaminamiento entre redes | IPv4, IPv6, ICMP | Paquete |
| Acceso a la red | Transmisión en un enlace | Ethernet, Wi-Fi | Trama |
Cada capa agrega su encabezado a los datos de la de arriba: es el encapsulamiento. Un segmento TCP con 1460 bytes de datos viaja con 20 bytes de TCP, 20 de IP y, en Ethernet, 14 de encabezado, 4 de verificación, 8 de preámbulo y 12 de separación entre tramas: 1538 bytes en el cable, un 95 % de eficiencia. Los buses de corto alcance se vieron en protocolos seriales.
02Enlace y red: Ethernet e IP
Ethernet identifica cada interfaz con una dirección física de 48 bits. Los conmutadores (switches) aprenden en qué puerto está cada dirección y reenvían cada trama solo hacia su destino; con enlaces full dúplex ya no hay colisiones. Wi-Fi, en cambio, comparte el medio y usa acceso con detección de portadora y prevención de colisiones.
IP da a cada interfaz una dirección lógica, 32 bits en IPv4 y 128 en IPv6, organizada en redes con un prefijo: en 192.168.1.0/24, los primeros 24 bits identifican la red y quedan 254 direcciones para equipos. Los enrutadores reenvían cada paquete según su tabla, hacia el siguiente salto, sin garantizar que llegue ni en qué orden. Dentro de una red local, el protocolo ARP traduce la dirección IP a la física.
03Transporte: UDP y TCP
UDP entrega datagramas sin garantías ni conexión: es lo que conviene para voz, video en vivo o mediciones periódicas, donde un dato tardío no sirve. TCP construye un flujo confiable y ordenado: numera los bytes, el receptor confirma lo que recibió y el emisor retransmite lo que se pierde. Para no esperar una confirmación por segmento, mantiene en vuelo una ventana de datos sin confirmar, y eso limita su velocidad:
Para llenar un enlace, la ventana tiene que alcanzar el producto ancho de banda por retardo: los datos que caben "en el cable". La ventana original de TCP era de 64 KB; con 100 ms de RTT eso limita a 5,2 Mbit/s aunque el enlace sea de 1 Gbit/s. La opción de escalado de ventana la extiende hasta 1 GB.
Las tres cotas del rendimiento de una conexión: el enlace, la ventana y las pérdidas. El rendimiento es la menor; la barra resaltada es la que manda. Segmentos de 1460 bytes.
04Aplicaciones y la Internet de las cosas
Sobre TCP y UDP corren los protocolos de aplicación. HTTP transfiere páginas y datos de servicios web; DNS traduce nombres a direcciones; TLS cifra y autentica la conexión debajo de HTTPS. En la Internet de las cosas, donde los equipos tienen poca memoria y energía, se usan protocolos livianos: MQTT, de publicación y suscripción sobre TCP, y CoAP, sobre UDP. Un sensor que manda una medición por minuto casi no usa ancho de banda: lo que importa es cuánto tiempo tiene la radio encendida para hacerlo.
05En el laboratorio
Capturar con Wireshark la carga de una página y reconocer en una trama los encabezados de Ethernet, IP, TCP y HTTP.
Medir con iperf el rendimiento entre dos equipos, y agregar retardo y pérdidas con el emulador de red del sistema operativo. Comparar con las cotas del laboratorio.
Publicar mediciones de un sensor desde un microcontrolador con Wi-Fi a un servidor MQTT y suscribirse desde una computadora.
06Errores frecuentes
- Esperar que un enlace más rápido acelere una transferencia lejana. Con ventana chica o pérdidas, el enlace no es el límite.
- Confundir la dirección física con la IP. La primera identifica la interfaz en el enlace; la segunda, en la red.
- Usar TCP para audio en tiempo real. Las retransmisiones llegan tarde; conviene UDP con su propia tolerancia a pérdidas.
- Olvidar el encabezado en paquetes chicos. Con pocos bytes de datos, la eficiencia cae mucho.
07Autoevaluación
¿Cuántas direcciones de equipo tiene una red /26?
\( 2^6 - 2 = 62 \).
¿Qué ventana hace falta para llenar 1 Gbit/s con 50 ms de RTT?
\( 10^9 \cdot 0{,}05/8 \approx 6{,}25 \) MB.
Con 64 KB de ventana y 20 ms de RTT, ¿cuál es la cota de rendimiento?
\( 65\,535 \cdot 8/0{,}02 \approx 26 \) Mbit/s.
¿Por qué MQTT es adecuado para sensores?
Porque tiene encabezados mínimos y un modelo de publicación y suscripción que desacopla sensores y consumidores.
08Para ampliar
- Andrew S. Tanenbaum, Nick Feamster y David Wetherall. Computer Networks. 6.ª ed., Pearson, 2021. La referencia clásica, capa por capa.
- James F. Kurose y Keith W. Ross. Redes de computadoras: un enfoque descendente. 7.ª ed., Pearson, 2017. De las aplicaciones hacia abajo, con TCP y su control de congestión en detalle.
- Matthew Mathis, Jeffrey Semke, Jamshid Mahdavi y Teunis Ott. The Macroscopic Behavior of the TCP Congestion Avoidance Algorithm. ACM SIGCOMM Computer Communication Review, 27(3), 1997. El artículo de la cota de rendimiento con pérdidas.