Apuntes sobre Redes

Access.log, donde habitan los monstruos.

Redes y Servidores: La Infraestructura de la Web

Cuando escribes una URL en el navegador y aparece una página web, detrás hay una cadena de protocolos que trabajan en capas independientes: cada uno hace su parte sin necesidad de conocer los detalles de los demás. Esta sección explora esos protocolos —IP, DNS, TCP, HTTP— y cómo tecnologías como Apache, PHP y MySQL se apoyan en ellos para construir y servir sitios web.

La Multicapa de Protocolos: Cómo Funciona Internet

Internet funciona mediante una arquitectura en capas: la capa de red (IP) se encarga del direccionamiento y el enrutamiento; la capa de transporte (TCP, UDP) gestiona la fiabilidad de la entrega; la capa de aplicación (HTTP, DNS) define cómo se comunican los programas. Cada capa usa los servicios de la capa inferior sin preocuparse de cómo están implementados.

Protocolo IP: La Dirección de la Red

IP asigna una dirección única a cada dispositivo conectado —un servidor, un ordenador, un smartphone— funcionando como una dirección postal. Cuando envías datos, IP los divide en paquetes y los enruta de origen a destino a través de los enrutadores de la red. Es un servicio best effort: no garantiza que los paquetes lleguen ni en qué orden; esa responsabilidad la delega a la capa de transporte.

DNS: El Traductor de Nombres

Las personas usamos nombres de dominio (www.ejemplo.com); las máquinas usan direcciones IP. El Sistema de Nombres de Dominio actúa como la guía telefónica de internet: cuando escribes una URL, DNS resuelve el nombre a su dirección IP correspondiente antes de que se envíe ningún dato. El proceso es transparente y ocurre en milisegundos.

TCP y UDP: La Capa de Transporte

TCP establece una conexión fiable: divide los datos en segmentos, los enumera, verifica que lleguen completos y en orden, y solicita el reenvío de los que se pierdan. Es el protocolo de la navegación web, el correo y cualquier transferencia donde la integridad importa. UDP es más ligero y rápido pero sin garantías de entrega; se usa donde la velocidad prima sobre la exactitud, como en streaming, videollamadas o ciertos juegos online.

HTTP: El Diálogo Cliente-Servidor

En la capa de aplicación, HTTP define cómo cliente y servidor se hablan: el cliente envía una solicitud (por ejemplo, GET /index.html) y el servidor responde con los datos pedidos y un código de estado. HTTP opera habitualmente sobre TCP, aunque HTTP/3 usa UDP para reducir la latencia en conexiones inestables.

Esquema simplificado

  1. Cliente (Navegador):

    • HTTP genera la solicitud (GET /index.html).
    • DNS resuelve el nombre de dominio a una dirección IP.
    • TCP divide los datos en segmentos y establece la conexión.
    • IP encapsula los segmentos en paquetes con direcciones de origen y destino.
  2. Red:

    • Los enrutadores guían los paquetes hasta el servidor, posiblemente por rutas distintas.
  3. Servidor:

    • IP recibe los paquetes y extrae los segmentos.
    • TCP los reordena y verifica la integridad.
    • HTTP lee la solicitud y devuelve la respuesta.

La Independencia de las Capas

Lo que hace robusto y escalable a internet es precisamente que cada capa ignora los detalles de las demás. HTTP no sabe si los datos viajan por TCP o UDP; TCP no sabe si la red usa fibra óptica o wifi; IP no sabe qué aplicación generó el paquete. Esta independencia permite que cada capa evolucione sin romper las otras —así nació HTTP/3 sobre UDP sin que IP ni DNS tuvieran que cambiar.

Apache, PHP y MySQL: Implementando la Web

Sobre esta infraestructura de protocolos funciona el software que construye sitios web. Apache es el servidor que recibe las solicitudes HTTP y devuelve respuestas. PHP genera contenido dinámico en el servidor antes de enviarlo. MySQL almacena y proporciona los datos que PHP necesita. Las siguientes lecciones desgranan cada uno de estos componentes en detalle.

Primera lección: el protocolo IP y el sistema DNS: cómo se asignan las direcciones en internet y cómo se traducen los nombres de dominio.

TOP