Redes, internet y desarrollo web
Redes e internet
Cómo viaja de verdad un mensaje por capas y paquetes, qué pasa cuando escribes una dirección en el navegador recorrido paso a paso, y por qué internet es una red de redes que nadie administra.
Cuando escribes una dirección en el navegador y, un instante después, aparece una página que vive en otro continente, ocurre uno de los milagros más corrientes y menos comprendidos de la era actual. Ese viaje no es magia: es una pila de capas, cada una encargada de un pedazo del problema, que se pasan el mensaje de una a otra hasta que llega intacto. Esta ficha recorre ese recorrido, y con el las ideas que hacen funcionar a internet.
El principio rector es simple y poderoso: dividir para conquistar. Ninguna capa sabe todo; cada una resuelve su parte y delega el resto.
Capas y paquetes
La comunicación por red se organiza en capas. Cada capa ofrece un servicio a la inmediatamente superior y se apoya en la inferior, sin importarle como está lo resuelve. El modelo de referencia clásico tiene varias capas; el que de verdad usa internet, la pila TCP/IP, las condensa. La ventaja de este diseño es enorme: puedes cambiar el medio físico (pasar de cobre a fibra a wifi) sin tocar nada de lo que está arriba, porque cada capa habla solo con sus vecinas.
La información no viaja entera, sino partida en paquetes, pequeños bloques que circulan por la red cada uno por su cuenta y se reensamblan al llegar. Es como enviar una novela hoja por hoja en sobres separados: si un sobre se pierde, se reenvia solo ese, no el libro entero.
Direcciones, IP y el papel de TCP
Cada dispositivo en la red tiene una dirección IP, su equivalente a un número de teléfono, que identifica de donde viene y a donde va cada paquete. El protocolo IP se encarga de enrutar esos paquetes de un extremo a otro, saltando de router en router, sin garantizar que lleguen ni que lleguen en orden.
Esa garantía la aporta TCP, que construye, sobre el servicio sin garantías de IP, una conversación confiable. TCP numera los paquetes, confirma los que llegan, reenvia los que se pierden y los ordena al recibir. Por eso puedes bajar un archivo grande sin que se corrompa aunque algunos paquetes se hayan perdido en el camino. Para los casos en que la velocidad importa más que la perfección (una videollamada, un juego en línea) existe UDP, más liviano: manda y sigue, sin confirmar. Si se pierde un cuadro de video, no importa; lo importante es que los siguientes lleguen rápido.
DNS: la agenda telefónica de internet
Las personas recordamos nombres, no números. Cuando escribes un dominio en el navegador, algo tiene que traducirlo a la dirección IP del servidor correspondiente. Ese trabajo lo hace el DNS, un sistema distribuido que funciona, exactamente, como una agenda gigante. Tu equipo pregunta, y una cadena de servidores va derivando la consulta hasta encontrar quien sabe la respuesta. Sin DNS, internet sería inmanejable para seres humanos: tendrías que memorizar secuencias de números para cada sitio.
Que pasa cuando escribes una dirección
Este es el momento de recorrer el viaje completo. Escribes un dominio en el navegador. Primero, tu equipo consulta al DNS para averiguar la dirección IP del servidor. Una vez que la tiene, abre una conexión TCP hacia ese servidor: un intercambio de saludos, el handshake, en el que ambos se reconocen, acuerdan los parámetros y se ponen de acuerdo para hablar. Si la conexión es segura, sobre esa conexión se negocia además TLS, el protocolo que cifra la comunicación y que le permite a tu navegador confiar en que el servidor es quien dice ser.
Con la conexión lista, tu navegador envia una petición HTTP: una línea que dice que método quieres (normalmente obtener una página) y que recurso, más unas cabeceras con detalles como que tipos de formato aceptas. El servidor recibe la petición, procesa lo que corresponda y responde con un código de estado (el famoso 200 cuando todo sale bien, o un 404 cuando el recurso no existe) y el contenido pedido, normalmente un documento HTML. El navegador recibe ese HTML, lo interpreta y, a medida que descubre imágenes, estilos y scripts, pide cada uno por nuevas conexiones. Cuando todo llega, la página aparece en pantalla. Todo esto, en condiciones normales, ocurre en fracciones de segundo y a través de cables y routers que están en varios países.
Latencia, ancho de banda y por qué nadie manda en internet
Dos métricas rigen la experiencia. La latencia es el tiempo que tarda un paquete en ir y volver; el ancho de banda, cuantos datos caben por segundo por el conducto. Una latencia alta hace que todo se sienta lento aunque el ancho de banda sea enorme, porque cada viaje de ida y vuelta cuesta. Por eso la distancia física importa: no hay forma de que la señal llegue de un extremo del mundo al otro más rápido de lo que permite la física.
Y, por último, conviene saber que internet es una red de redes: miles de redes autónomas, cada una administrada por alguien distinto, interconectadas por acuerdos mutuos. Nadie la gobierna entera. Por eso puede sobrevivir a que fallen partes, y por eso también es tan difícil cambiarla: cada cambio requiere que miles de actores independientes se pongan de acuerdo. Esa falta de mando central no es una debilidad, sino la razón misma de que internet haya llegado a donde está.
Los términos de este tema
33 entradas del glosario que aparecen acá. Cada una abre en su definición del índice.