Sistema Servidor-Cliente

ENTENDIENDO

Este es uno de los “sistemas” fundamentales sobre los que se sustenta la computación moderna y que pese al mucho tiempo que tiene en uso, va creciendo día a día, por lo que es necesario conocerlo para comprender muchas cosas que iremos analizando mas adelante.

Si bien muchas veces se les llama “Servidor” a las maquinas; grandes y robustas computadoras, en este caso nos referiremos a la estructura de trabajo basado en este sistema, a la parte software, muchas veces llamada “Arquitectura” Cliente-Servidor.

Esta imagen se me viene a la cabeza, pero no hablaremos de ellos, solo de software.

Definición

La definición es bien sencilla: “un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta”, por lo que es mejor dar un ejemplo.

Cuando usas el navegador web, básicamente estas usando un Cliente, el cual realiza “peticiones” a un Servidor Web, este Servidor Web es un Software capacitado para recibir estas peticiones y en consecuencia ir enviando la información que tu vas requiriendo con cada click que hagas en la pagina. Esa “información”, que puede ser “tu_foto.jpg”, está almacenada en un computador, digamos en “/home/mi-server/imagenes/tu_foto.jpg”, sin embargo un programa hace de mediador, recibiendo ordenes y enviando las respuestas, el programa Apache, por ejemplo, hace esto y es uno de los mejores y mas usados Servidores web. Finalmente las maquinas que se prestan para ese propósito se llaman Servidores Web, pero en realidad constan de un Sistema Operativo, Servidor web en si, bases de datos, programas varios, etc.

También hay servidores de correo, que reciben correos, los almacenan y son capaces de enviar correos, si usas Outlook, Evolution o Thunderbird, estas usando un cliente de correo, que se alimenta de un Servidor de correo, el cual recibe los mensajes y luego te los hace llegar. Acerca de este punto es imposible dejar de hablar de los protocolos, por ejemplo POP3 y SMTP de los correos.

¿Que es un protocolo?

Básicamente, un estándar o un conjunto de reglas para la comunicación entre dos puntos, es como un idioma inventado para poder comunicarse de forma clara y entendible. Por ejemplo el Protocolo utilizado para Internet es TCP/IP, de esta manera distintos computadores de todo el mundo, incluso con distintos Sistemas Operativos pueden conectarse a Internet. HTTP es otro, seguramente lo ves en la barra de direcciones (http://…). Los de correo, como mencionábamos, son POP y SMTP, el primero contacta del Servidor a nuestro programa de correo y el segundo desde nuestro programa de correo a cualquier Servidor por ahi, donde esté nuestro destinatario, actualmente hay uno incluso mejor que POP llamado IMAP.

Servidores distribuidos y otras artes

Volviendo al Servidor, muchas veces hay servicios que se entregan a muchísimos clientes o que necesitan estar disponibles siempre, en estos casos se usan Servidores distribuidos, donde varias maquinas se encargan de proveer un Servicio, si una maquina cae, el servicio se mantiene en pie, así se pueden añadir maquinas o retirarlas para reparación y el servicio seguirá funcionando sin “caerse”. También se pueden ejecutar servidores virtuales, sustentados por varias maquinas o varias maquinas virtuales sobre una sola maquina real, etc. Este tipo de “magia” la hace por ejemplo Amazon con su servicio S3.

Redes P2P

Es un sistema similar, solo que aquí cada individuo hace de Cliente y a la vez Servidor, por ejemplo eMule usa este sistema, y si bien puedes descargar cosas a otros, al mismo tiempo otros te descargan cosas (de la carpeta “incoming”) puedes ver eso en “descargas y subidas”, las redes de torrents también son del tipo P2P. En este sistema mientras mas gente use los mismos archivos, mas rápidas son las descargas, en tanto que en el servidor mientras mas gente use el archivo (por ejemplo “peliculaenestreno.rmvb” en megaupload) mas lentas son las descargas, sin embargo los Servidores tienen otras cualidades, tantas y tan buenas como para seguir siendo referentes en el mundo de la informática.

Finalmente

En general esta arquitectura Servidor-Cliente es muy usada y esta distribuida ampliamente, lo usan los sistemas de gestión de las empresas que centralizan los datos, las paginas, los servicios y programas web, clientes de correo, de mensajería instantánea o chat, y casi todo lo que tiene que ver con redes e Internet, e incluso dentro de un computador, Linux por ejemplo, usa servidores internos de gráficos y sonido, aquí los programas son los clientes, mientras que estos servidores muestran las interfaces gráficas de los programas o reproducen los sonidos respectivamente.

Ultimas Aclaraciones

Los Servidores no necesariamente son grandes aparatos, hay algunos tan pequeños como un transformador de telefono movil o notebook, torres únicas similares a PC de escritorio o grupos de servidores como el de la imagen mas arriba.

El ejemplo de Servidores del Sistema Linux corresponden a Xorg y Pulseaudio (esta ALSA tambien), y lo uso ya que al ser de código abierto su funcionamiento es conocido y “estudiable”.

Los ejemplos de eMule, torrent, “peliculaenestreno.rmvb” son solo ejemplos prácticos, no es mi intención fomentar la piratería ni nada parecido, al igual que con Outlook.

Por ultimo, este pequeño post sera la base de otros temas que pretendo tocar mas adelante, cualquier corrección o acotación sera bienvenida.

Anuncios

Acerca de bitacoralibre
cada día se aprende algo nuevo

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: