La arquitectura cliente-servidor en Internet


La arquitectura cliente-servidor en Internet

Gracias a la profusión de dispositivos electrónicos que invaden nuestros hogares, actualmente es más fácil explicar, al menos a grandes rasgos, el funcionamiento de Internet. No sólo en las escuelas y en los puestos de trabajo los ordenadores están interconectados, sino que también en multitud de hogares nos encontramos con que alguien se ha entretenido, siguiendo los pasos de un sencillo asistente, en conectar su portátil a su ordenador de sobremesa, de manera que desde un dispositivo puede accederse directamente a los documentos, imágenes o cualquier tipo de ficheros contenidos en el disco duro del otro para efectuar cualquier tarea: visualizarlos, modificarlos, eliminarlos o copiarlos.

Multiplicando esos dos ordenadores interconectados por millones, no hacemos una primera idea aproximada de lo que es Internet. La salvedad más importante es la arquitectura cliente-servidor que posee la red. Significa que entre esos millones de ordenadores conectados hay una jerarquía superior, la de los servidores, y otra inferior, la de los clientes; en esta última se sitúan nuestros ordenadores, portátiles, tabletas, teléfonos móviles y demás dispositivos que empleamos para conectarnos a Internet.

Clientes

Suele señalarse que Internet no es de nadie, pero tal afirmación no debe llevarnos, ingenuamente, a suponer que sea de todos. La ilustración más clara de ello (y de nuestra pertenencia a la jerarquía inferior de los clientes) es que es imposible conectarse a Internet sin abonar previamente una cuota a alguno de los ISP (Proveedores de Servicios de Internet), que suelen ser las antiguas compañías de telefonía fija de cada país o las nuevas de telefonía móvil, constantemente reagrupadas en poderosos grupos de telecomunicaciones.

En el instante en que nos conectamos, la compañía nos proporciona por los menos dos cosas imprescindibles. En primer lugar, nos asigna una dirección IP (fija o distinta en cada sesión), que viene a ser, para entendernos, algo así como el número de teléfono de nuestro ordenador. De hecho, es simplemente un número de cuatro cifras con el formato 172.69.226.58 (debiendo estar el valor de cada cifra entre 0 y 255) que identifica nuestro dispositivo; a cada uno de los millones de ordenadores conectados se le asigna un número distinto. En segundo lugar, nos autoriza el acceso a un conjunto de servidores denominados DNS (Domain Name System, Sistema de Nombres de Dominio). Un tercer elemento necesario, el protocolo TCP/IP (Transmission Control Protocol / Internet Protocol), ya viene instalado, junto con el sistema operativo, en todos los ordenadores, permitiendo la comunicación entre ellos.

Supongamos que estamos preparando un informe sobre el mercado del aluminio, y que esperamos que el artículo correspondiente de Wikipedia contenga algunos datos que necesitamos. Abriremos el navegador, y en su barra de direcciones escribiremos http://www.wikipedia.org/Aluminio. Con ello indicamos al navegador que, sirviéndose del protocolo HTTP (HyperText Transfer Protocol, Protocolo de Transferencia de Hipertexto, es decir, el empleado para transferir páginas web), solicite al servidor en que se aloja la Wikipedia que nos envíe el artículo sobre el aluminio.

Ahora bien, el navegador no sabe en qué servidor se aloja la Wikipedia; para ser más exactos, desconoce la dirección IP (una IP como la nuestra) del servidor en que reside el dominio de la World Wide Web (www) llamado wikipedia.org. Por esta razón son precisos los servidores DNS: al modo de listines telefónicos, contienen algo así como inmensas tablas con dos columnas, una con nombres de dominio y otra con el número IP de los servidores en que se hospedan. El navegador solicita al servidor DNS la IP correspondiente al dominio, y de este modo la petición llega finalmente al servidor de Wikipedia, que hace llegar el artículo a la dirección IP que lo solicitó (la nuestra).

Huelga decir que esta exposición del proceso, que toma unas centésimas de segundo, no es más que una simplificación didáctica en multitud de aspectos. Cada servidor y por tanto cada IP puede alojar, de hecho, cientos de sitios web, mientras que los sitios de mucho tráfico como Wikipedia deben distribuirse por máquinas e IPs múltiples para soportar la carga. Tampoco los ficheros solicitados circulan enteros por la red: el protocolo TCP/IP los divide en trozos (paquetes) de tamaño estándar, añadiendo a cada uno de ellos el número de orden dentro del total y la dirección IP del remitente y el destinatario. Los paquetes suelen llegar a su destino en diferente orden y por distintos caminos, después de rebotar por diversas máquinas encargadas de su enrutamiento; las unidades que se pierden por fallos de transmisión son solicitadas de nuevo; finalmente, cuando se completa la recepción, el fichero es reconstruido.

Servidores

Contra lo que pudiera parecer, la mayoría de los servidores de la World Wide Web no son máquinas más potentes, grandes o modernas que las que manejamos diariamente. En esencia, son cajas horizontales que, al igual que nuestros ordenadores, poseen una placa base, un disco duro, un procesador, una memoria RAM y una tarjeta de red; como los nuestros, tienen instalado un sistema operativo y diversos programas. De hecho, en los inicios no era infrecuente que algún apasionado del tema con buenos conocimientos montara en su casa un servidor a partir de su PC.

Lo más habitual y sensato, sin embargo, es confiar a las compañías de hosting, dedicadas al alquiler de servidores, la administración y mantenimiento de los mismos. Muchas veces tampoco en las sedes de las empresas de hosting hay servidores; físicamente suelen encontrarse en «hoteles de servidores» gestionados por empresas de housing. En estos hoteles, edificios con un suministro eléctrico a prueba de catástrofes, los servidores se apilan en columnas a lo largo de inmensos pasillos y salas climatizadas.

*Hotel de servidores

En tales salas se aprecia que lo único que distingue a simple vista los servidores de los ordenadores comunes es la ausencia de periféricos como teclados, pantallas y ratones; no los necesitan, porque los empleados de las empresas de hosting que se ocupan de su mantenimiento y monitorización realizan todas las tareas a distancia, mientras que los de la empresa de housing se ocupan de las reparaciones físicas (por ejemplo, la substitución de un disco duro averiado). También llama la atención la profusión del cableado en su parte posterior, y ciertamente, una manifestación de su estatus superior en la arquitectura es que los servidores se conectan entre sí con anchos de banda y velocidades muy superiores a las que nos ofrece nuestra operadora para acceder a ellos; su mundo es, prácticamente, un olimpo de instantaneidad. En el sentido original y estricto del término, sólo ese olimpo es Internet.

Otra diferencia importante se da al nivel del software. Si pudiera observarse su labor a través de una pantalla, veríamos que los programas que ejecutan los servidores nos son desconocidos. Los programas que manejamos en nuestro uso de Internet, como el navegador, caen en la categoría de los llamados programas cliente, cuya principal función es enviar solicitudes; tales solicitudes son atendidas en el servidor por un tipo complementario pero completamente distinto de programas, los programas de servidor. Así, la mayoría de los servidores web mantienen en perpetua ejecución un programa de servidor llamado Apache, que atiende las peticiones enviadas por nuestros navegadores.

Por lo demás, el estatus inferior del cliente queda reflejado en el proceso de peticiones antes descrito. En este sentido, expresiones como «estar en Internet» o «entrar al servidor del aeropuerto» no son demasiado precisas. Lo único que hacemos al navegar es suplicar a un servidor que nos conceda la gracia de enviarnos una copia de la página solicitada, la cual se guarda en la caché del navegador (o sea, en nuestro disco duro) y es mostrada en la pantalla; en ningún momento estamos más allá de nuestro dispositivo. Sólo los administradores de los servidores (y los hackers) pueden efectuar en ellos las operaciones que llevamos a cabo en nuestros propios ordenadores, como curiosear por el disco duro, borrar archivos o ejecutar programas.


 

Deja un comentario