Está en la página 1de 11

CAPITULO I

ARQUITECTURA CLIENTE-SERVIDOR
 La mayoría de redes trabajan bajo este modelo “Cliente/servidor”, conocida también como Redes
Basadas en Servidor. Una estación CLIENTE haciendo uso de su propia arquitectura(CPU), realiza
una petición de Recursos (Datos, Procesos, Aplicación, Espacio de Almacenamiento, Spools, etc..)
a otro equipo denominado SERVIDOR. El resultado del procesamiento puede ser almacenado
tanto en el Servidor para su uso futuro o en la estación Cliente, y a la vez puede ser compartida a
otras estaciones Clientes de una red. En redes basadas en Grupo de Trabajo (no existe un
Servidor Centralizado), cada estación Cliente actúa como Cliente y Servidor en la red.
 El entorno Cliente/Servidor (C/S), tiene dos componentes prin.cipales en su arquitectura:
 La aplicación compartida, a menudo denominada como CLIENTE o FRONT-END.
 La aplicación del servidor que atiende las solicitudes y que procesa la información a
responder, conocida como: SERVIDOR o BACK-END
 Hardware del Servidor.- Los equipos Servidores en un entorno C/S deben ser generalmente
más potentes, rápidos y capaces (storage) que los Clientes. Deben incluir procesamiento de Alta
Velocidad y Paralelismo (Core), necesitan gran cantidad de RAM y espacio en Terabytes de
almacenamiento en disco (en Array). Un equipo servidor, también debe ser capaz de gestionar:
 Múltiples peticiones de clientes y usuario.
 Seguridad en cada sesión abierta.
 Tareas de gestión de Red, etc.
 Definimos a la Arquitectura C/S, como: Un modelo en el que el procesamiento de Recursos entre un
equipo Servidor y uno o varios Clientes es compartido, siendo más potente, confiable, seguro y
rápido.
 Algunas de las propiedades de los Sistemas basados en el modelo C/S, son:
 Se basa en un modelo Sin Conexión, esto quiere decir:
Cuando los programadores diseñan software cliente - servidor, deben de escoger entre dos
tipos de interacción: Orientada a la Conexión o NO Orientada a la Conexión. Si el cliente y el
servidor utilizan UDP (User Datagrama Protocol), la iteración es sin conexión; por el
contrario, si emplean TCP (Transfer Control Protocol), la iteración es orientada a la
conexión.
 El protocolo de la capa “n” utiliza la información de la capa “n”, es decir:
Cada capa del modelo OSI, proporciona una interfaz con la otra capa por encima de ella; la
interfaz consiste en un conjunto de operaciones para definir el servicio que la capa está
preparada para ofrecer a sus usuarios.

Figura 1. Capas, Interfaces y Protocolos del modelo OSI.


Cada protocolo de capa se puede cambiar independientemente de los demás, esto es de
fundamental importancia y confiere gran flexibilidad, ya que:
 No es necesaria una configuración de antemano.
 El emisor transmite el primer mensaje cuando está listo.
 El depósito del mensaje en el buzón es una comunicación sin conexión.

La colección de protocolos utilizados en un sistema particular se llama “suite de protocolos”


o “pila de protocolos”.

El encapsulamiento de los datos tanto en el modelo OSI y TCP/IP, está representado por los
siguientes gráficos:

Figura 2. Formato de un mensaje en una red típica Figura 3. Formato IP de un mensaje en TCP/IP
 En el MODELO TCP/IP, la mayoría de los sistemas distribuidos basados en LAN no utilizan los
protocolos de capas completos; utilizan un subconjunto de toda una pila de protocolos. El
“modelo OSI” no dice nada acerca de la forma de estructurar al sistema distribuido. El “modelo
cliente - servidor” tiene como idea fundamental la estructuración del modelo OSI, como:
 Un grupo de procesos en cooperación, llamados servidores; que ofrecen servicios a los
usuarios, y un grupo de procesos usuarios llamados clientes.
 El “modelo cliente - servidor” se basa en un “protocolo solicitud/respuesta”, donde:
 Es sencillo y sin conexión en el caso de emplear UDP.
 No es complejo y es orientado a la conexión como OSI o TCP/IP.
 El cliente envía un mensaje de solicitud al servidor pidiendo cierto servicio, el
servidor: Ejecuta el requerimiento. Regresa los datos solicitados o un código de error si
no pudo ejecutarlo correctamente.
 No se tiene que establecer una conexión hasta que ésta se vaya utilizar.
 La pila del protocolo IP es más corta y por lo tanto más eficiente; Si todas las máquinas
fuesen idénticas solo se necesitarían tres niveles de protocolos.
 Por norma general, los programas de aplicación sólo emplean el UDP si:
 El protocolo de aplicación a implementar especifica que se debe de emplear el UDP (puede
ser que el protocolo de aplicación haya sido diseñado para manejar errores que se puedan
producir durante la comunicación)
 El protocolo de aplicación relega la seguridad de comunicación al hardware subyacente y no
importa la pérdida de algunos paquetes de información.
 La aplicación no puede tolerar la sobrecarga (overhead) computacional o retraso requerido
por los circuitos virtuales TCP.

DIRECCIONAMIENTO EN CLIENTE - SERVIDOR (C /S)

 Para que un cliente pueda enviar un mensaje a un servidor, debe conocer previamente la
dirección de éste. Un esquema de direccionamiento se basa en la dirección de la máquina
destinataria del mensaje y puede ser: Limitativo si en la máquina destinataria se ejecutan varios
procesos, pues no se sabría para cuál de ellos es el mensaje.
 Otro esquema de direccionamiento se basa en identificar los procesos destinatarios en vez de a
las máquinas y se logra:
 Eliminar la ambigüedad acerca de quién es el receptor.
 Pero presenta el problema de cómo identificar los procesos y una solución es una
nomenclatura que incluya la identificación de la máquina y del proceso, entonces: No se
necesitan coordenadas globales; Pueden repetirse los nombres de los procesos en distintas
máquinas.

Figura 4. Esquema de la sencillez del modelo C/S en una red TCP/IP.


 Una variante utiliza machine.local-id en vez de machine.process:
 local-id generalmente es un entero aleatorio de 16 o 32 bits.
 Un proceso servidor se inicia mediante una llamada al sistema para indicarle al núcleo que
desea escuchar a local-id.
 Cuando se envía un mensaje dirigido a machine.local-id el núcleo sabe a cuál proceso debe
dar el mensaje.

 El direccionamiento con machine.process presenta el serio inconveniente de que no es


transparente:
 La transparencia es uno de los principales objetivos de la construcción de los sistemas
distribuidos.
 El usuario debe conocer la posición del servidor.
 Un cambio de servidor obliga a cambiar los programas.
 Otro método de direccionamiento consiste en asignarle a cada proceso una única dirección que
no contenga un número de máquina, entonces:
 Una forma es mediante un asignador centralizado de direcciones para los procesos y que
mantenga un contador; al recibir una solicitud de dirección regresa el valor actual del
contador y lo incrementa en uno.
 La desventaja es el elemento centralizado.

 También existe el método de dejar que cada proceso elija su propio identificador, considerando
que:
 El espacio de direcciones es grande y disperso, por ejemplo: enteros binarios de 64 bits.
 La probabilidad de que dos procesos elijan el mismo número es muy pequeña.
 Existe el problema, para el núcleo emisor, de saber a qué máquina enviar el mensaje:

En una LAN, el emisor puede transmitir un paquete especial de localización con la dirección del
proceso destino. Este paquete de transmisión será recibido por todas las máquinas de la red.
Todos los núcleos verifican si la dirección es la suya; si lo es, regresa un mensaje aquí estoy con
su dirección en la red (número de máquina). El núcleo emisor utiliza esa dirección y la captura
para evitar a posteriori una nueva búsqueda del servidor.

Es un esquema transparente, pero la transmisión provoca una carga adicional en el sistema: Se


puede evitar con una máquina adicional para la asociación de:

 Los nombres de servicios.


 Las direcciones de las máquinas.

Al utilizar este sistema:

 Se hace referencia a los procesos de los servidores mediante cadenas en ASCII que son las
que aparecen en los programas.
 No se referencian números binarios de máquinas o procesos.
 Al ejecutar un cliente que intente utilizar un servidor: En su primer intento envía una
solicitud a un servidor especial de asociaciones (servidor de nombres) y le solicita el
número de la máquina donde en ese momento se localiza el servidor. Luego, conociendo la
dirección del servidor, se le envía la solicitud del servicio requerido.

 Otro método, utiliza hardware especial:


 Los procesos eligen su dirección en forma aleatoria.
 Los chips de interfaz de la red se diseñan de modo que permitan a los procesos almacenar
direcciones de procesos en ellos.
 Los paquetes transmitidos utilizan direcciones de procesos en vez de direcciones de
máquinas.
 Al recibir cada paquete el chip de interfaz de la red debe examinarlo para determinar si el
proceso destino se encuentra en esa máquina:
 Lo acepta en caso afirmativo.
 No lo acepta en caso negativo.

También podría gustarte