El modelo cliente-servidor en las redes de datos

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votos cast)

Este es un pequeño artículo dedicado a aclarar un concepto muy importante y que conviene conocer para entender el funcionamiento de las redes de datos: el modelo cliente-servidor.

modelo cliente-servidor 00El modelo cliente-servidor representa la forma en la que se producen las comunicaciones entre dos nodos de una red. En este modelo, uno de los nodos que forma parte de la comunicación tiene el rol de cliente, y otro tiene el rol de servidor.

Sin embargo, en la mayor parte de los casos, los elementos que hacen uso de este modelo son realmente aplicaciones/programas que se ejecutan dentro de los nodos. Por tanto hablaremos realmente de aplicaciones cliente y aplicaciones servidor.

Una aplicación cliente es el elemento de la comunicación que pide o solicita un servicio de red, por ejemplo, el acceso a una página web, o la descarga de un archivo, o el envío de un email.

Una aplicación servidor es el elemento de la comunicación que responde a las peticiones de los clientes, proporcionando el servicio requerido, es decir, enviando la página web o el archivo solicitado o el email.

Dentro del modelo de red en capas o niveles, se podría añadir que el modelo cliente-servidor se aplica principalmente en el nivel de aplicación. Por eso los nodos cliente y servidor son realmente aplicaciones.

Es importante destacar que el rol de cliente o de servidor no lo tiene el equipo (nodo) donde esté funcionando la aplicación sino la propia aplicación.

Lo que ocurre es que en muchas ocasiones, cuando las principales aplicaciones que están funcionando en un equipo son aplicaciones de tipo servidor, el propio equipo es llamado servidor. Sin embargo, de forma general, en un equipo, puede haber tanto aplicaciones cliente como aplicaciones servidor funcionando al mismo tiempo.

En Informática, los términos aplicación y programa son equivalentes mientras que el término proceso se usa cuando un programa (o aplicación) está en ejecución. Por ejemplo: tengo instalado el programa Firefox en mi notebook. Cuando enciendo el equipo, Firefox está instalado pero no se está ejecutando. Cuando hago clic en el icono, el programa pasa a estar en ejecución. En ese momento habrá en memoria un proceso en ejecución (llamado firefox.exe).

Vamos a ver algunos ejemplos del modelo cliente-servidor. En la siguiente figura se representa la comunicación más típica en Internet, la conexión a una página web.

modelo cliente-servidor 01

Modelo cliente-servidor en el servicio web

Se puede observar como dicha comunicación sigue el modelo cliente-servidor, donde el navegador web (Internet Explorer, Firefox, Chrome…) del usuario que quiere acceder a una página web tiene el rol de cliente en el host A, y el proceso que atiende al cliente y le envía la página web solicitada dentro del host B tiene el rol de servidor. En la actualidad la gran mayoría de comunicaciones en Internet siguen el ejemplo anterior.

Se denomina host a un equipo conectado a una red de datos que forma parte de la misma como un nodo final, no como un elemento de interconexión. Por ejemplo: PC de sobremesa, netbook, portátil, videoconsola, tablet, Smartphone… Por el contrario los routers, switches o puntos de acceso Wi-Fi son equipos conectados a una red pero no son nodos finales sino nodos de interconexión por lo que no se les considera host.

Vamos con otro ejemplo. En la siguiente figura, el host A tiene ahora tres aplicaciones en ejecución. Dos de ellas funcionan como aplicaciones cliente (servicio Web y servicio de correo electrónico) y la tercera, que es una aplicación para compartir carpetas en red, funciona como una aplicación servidor.  En este caso es una aplicación del host C la que tiene el rol de cliente para acceder a las carpetas compartidas del host A.

modelo cliente-servidor 02Comunicaciones simultáneas en dispositivos con varios procesos en ejecución

Además, se puede ver como las aplicaciones cliente del host A, el navegador web y el cliente de correo, se conectan a las aplicaciones servidor que están funcionando en el host B.

Este sería un ejemplo de un equipo (Host A) que tiene los dos roles, el de cliente y el de servidor.

Por último, en la siguiente figura tenemos un host con el rol de servidor web que atiende a varios clientes. En este caso, al equipo se le podría denominar servidor porque su principal función es ejecutar una aplicación que hace las funciones de servidor (servidor web).

modelo cliente-servidor 03Un servidor web atendiendo varios clientes (navegadores)

Como alternativa al modelo cliente-servidor existe el modelo peer-to-peer (P2P). En este modelo, cada nodo hace funciones tanto de servidor como de cliente y por tanto, el servicio proporcionado no está centralizado en un servidor sino que está distribuido en todos los nodos de la red. Un ejemplo que sigue este modelo es el protocolo torrent utilizado para la compartición de archivos en red.

 

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votos cast)

Deja un comentario

Tu dirección de correo electrónico no será publicada.

* Copy This Password *

* Type Or Paste Password Here *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>