Practical Packet Analisys
En este capítulo se explorará en detalle el paradigma cliente-servidor. Se hará también uso del conocimiento de las interfaces de programación de sockets para examinar la implementación de las aplicaciones cliente-servidor que se muestran en este capítulo.
1 Antecedentes
El término cliente-servidor tiene múltiples significados en informática. Puedereferirse a una arquitectura de red donde los computadores en una red realizan diferentes papeles para compartir recursos. En una arquitectura cliente-servidor, a un computador se le denomina servidor si se dedica a gestionar recursos como impresoras o archivos de manera que otros computadores, llamados clientes, puedan acceder a estos recursos a través del servidor. La arquitecturacliente-servidor, aunque relacionada con el paradigma cliente-servidor, no es el tema de este capítulo.
En la informática distribuida, el paradigma cliente-servidor se refiere a un modelo de aplicaciones de red donde los procesos juegan uno de dos diferentes papeles: un proceso servidor, también llamado servidor para abreviar, se dedica a gestionar el acceso a algunos servicios de la red, mientras que losprocesos cliente, llamados clientes para abreviar, acceden al servidor para obtener un servicio de red. Nótese que en la arquitectura cliente-servidor, los términos cliente y servidor están referidos a los computadores, mientras que en el paradigma de computación distribuida cliente-servidor, los términos se refieren a los procesos. En este libro, cuando se utiliza el término cliente-servidor, se usapara referirse al paradigma de computación distribuida.
La Figura 5.1 ilustra el concepto del modelo cliente-servidor. Un proceso servidor ejecuta en un computador conectado a la red, al cual nos referiremos como máquina servidora, para gestionar un servicio de red proporcionado por esa máquina. Nótese que es posible que una máquina servidora proporcione otros servicios de red que son gestionadospor otros procesos. Un usuario, uno que típicamente esté usando otro computador, al que se llamará máquina cliente, utiliza un proceso cliente para acceder a un servicio particular. Es posible que otros procesos clientes (posiblemente de otros servicios) ejecuten en la máquina cliente a la vez, pero debe usarse el proceso cliente apropiado para acceder a un servicio particular.
Figura 5.1 Elparadigma de computación distribuida cliente-servidor.
El modelo cliente-servidor está diseñado para proporcionar servicios de red, los cuales fueron, y todavía son, la aplicación más popular de la computación distribuida. Por servicio de red se entiende un servicio proporcionado para permitir a los usuarios de la red compartir recursos. Tales recursos pueden ser tan triviales como la hora del díao tan complejos como archivos en un sistema de archivos de la máquina servidora o datos de un sistema de base de datos. A lo largo de los años, muchos de estos servicios de red se han estandarizado en Internet: telnet, que permite entrar (logon) de forma remota en una máquina servidora; ftp, para mandar y recibir archivos de una máquina servidora; Daytime, que proporciona una marca de tiempoobtenida de una máquina servidora; y el World Wide Web, para buscar contenidos web en una máquina servidora.
2 Cuestiones sobre el paradigma cliente-servidor
Mientras que el concepto del paradigma es sencillo, en la implementación real hay un número de cuestiones que se deben afrontar. En esta sección se van a discutir estas cuestiones.
Una sesión de servicio
En el contexto del modelocliente-servidor, se utilizará el término sesión para referirse a la interacción entre el servidor y el cliente. Como se muestra en la Figura 5.1, el servicio gestionado por un servidor puede ser accesible a múltiples clientes que quieran utilizar el servicio, algunas veces concurrentemente. Cada cliente entabla una sesión separada e independiente con el servidor, durante la cual el cliente conduce un...
Regístrate para leer el documento completo.