Las diversas actividades (o procesos) que se ejecutan en las distintas computa- doras de una red (o incluso que se ejecutan en una misma máquina mediante los mecanismos de tiempo compartido/multitarea) deben a menudo comuni- carse entre sí para coordinar sus acciones y realizar la tareas que tienen asignadas. Dicha comunicación entre procesos se denomina comunicación interprocesos.
Un convenio bastante popular que se utiliza para la comunicación inter- procesos es el modelo cliente/servidor. Este modelo define los papeles bási- cos que desempeñan los procesos bien como cliente, que realiza solicitudes a otros procesos, o bien como servidor, que satisface las solicitudes realizadas por los clientes.
Una de las primeras aplicaciones del modelo cliente/servidor se desarrolló en las redes que conectaban todas las computadoras de oficinas. En ese tipo de escenario, se conectaba una única impresora de alta calidad a la red para que estuviera disponible para todas las máquinas de una oficina. En este caso, la impresora desempeñaba el papel de servidor (a menudo denominado servidor de impresión), y las demás máquinas se programaban para desempeñar el papel de clientes que enviaban solicitudes al servidor de impresión.
Otras de las primeras aplicaciones del modelo cliente/servidor se utilizaba para reducir el coste del almacenamiento en disco magnético, al mismo tiempo que se eliminaba la necesidad de mantener copias duplicadas de los registros. En ese escenario, se equipaba a una de las máquinas de la red con un sistema de almacenamiento masivo de alta capacidad (usualmente un disco magnético)
175 4.1 Fundamentos de las redes
que contenía todos los registros de la organización. Las otras máquinas de la red solicitaban acceso a los registros a medida que lo necesitaban. De este modo, la máquina que contenía físicamente los registros hacía el papel del ser- vidor (denominado servidor de archivos), mientras que las demás máquinas hacían el papel de clientes que solicitaban el acceso a los archivos almacena- dos en el servidor de archivos.
Hoy día, el modelo cliente/servidor se utiliza ampliamente en las aplica- ciones de red, como veremos posteriormente en el capítulo. Sin embargo, el modelo cliente/servidor no es el único modelo posible de comunicación entre procesos. Otro modelo es el P2P (peer-to-peer, entre pares). Mientras que el modelo cliente/servidor implica que hay un proceso (el servidor) que propor- ciona servicio a numerosos otros procesos (los clientes), el modelo P2P implica que existen procesos que proporcionan servicio a otros y reciben servicio tam- bién de ellos (Figura 4.6). Además, mientras que un servidor debe ejecutarse de manera continua para estar preparado para dar servicio a los clientes en cual- quier momento, el modelo P2P implica usualmente procesos que se ejecutan de manera temporal. Por ejemplo, entre las aplicaciones del modelo peer-to- peer se incluye la mensajería instantánea, mediante la que las personas pue- den mantener una conversación escrita a través de Internet, así como aquellas otras situaciones en las que hay un cierto número de personas utilizando jue- gos interactivos de naturaleza competitiva.
El modelo peer-to-peer también es un método muy popular de distribuir archivos a través de Internet, como por ejemplo grabaciones musicales y pelí- culas. En este caso, un terminal puede recibir un archivo de otro y luego proporcionar dicho archivo a otros terminales. La colección de todos los termi- nales (peers) que participan en ese tipo de distribución se denomina en oca- siones enjambre (swarm). La técnica de distribución de archivos basada en un
Cliente
Servidor
Cliente Cliente Cliente
Peer Peer
a. El servidor debe estar preparado para dar servicio a varios clientes
en cualquier momento.
b. En una red P2P, los terminales (peer) se comunican uno a uno
en condiciones de igualdad.
enjambre de terminales contrasta con las técnicas anteriores que empleaban el modelo cliente/servidor, estableciendo un punto de distribución central (el ser- vidor) desde el que los clientes descargaban los archivos (o donde al menos encontraban las fuentes para dichos archivos).
Una de las razones por las que el modelo P2P está sustituyendo al modelo cliente/servidor para la compartición de archivos es que dicho modelo distri- buye la tarea de dar servicio entre muchos terminales iguales en lugar de con- centrarla en un único servidor. Esta falta de una base de operaciones centrali- zada permite obtener un sistema más eficiente. Lamentablemente, otra razón para la popularidad de los sistemas de distribución de archivos basados en el modelo P2P es que, en una serie de casos de cuestionable legalidad, la falta de un servidor central hace que los esfuerzos legales por imponer las leyes de pro- piedad intelectual resulte más difícil. Sin embargo, existen numerosos casos en los que algunos individuos han descubierto que “difícil” no significa “imposi- ble”, habiéndose tenido que enfrentar a graves responsabilidades debido a la violación de los derechos de autor.
A menudo, tenemos la oportunidad de leer o escuchar el término red peer-
to-peer, que constituye un ejemplo de cómo puede llegar a evolucionar un uso
inadecuado de la terminología cuando la comunidad no técnica adopta térmi- nos técnicos. El término peer-to-peer hace referencia a un sistema mediante el que dos sistemas se comunican a través de una red (o interred). No es una pro- piedad de la red (o de la interred). Un proceso podría utilizar el modelo peer-to- peer para comunicarse con otro proceso y luego posteriormente utilizar el modelo cliente/servidor para comunicarse con otro proceso distinto a través de la misma red. Por tanto, sería mucho más apropiado hablar de comunicación por medio del modelo peer-to-peer que de comunicación a través de una red peer-to-peer.