Академический Документы
Профессиональный Документы
Культура Документы
Arquitectura Cliente/Servidor
Podemos definir Arquitectura como la forma de esquematizar sobre un escenario, el
comportamiento de diferentes elementos.
Todos estos elementos tienen definiciones propias pero se sustentan de otros que en su conjunto
terminarán dándonos una referencia de la disponibilidad y funcionalidad de dichos elementos, así
como también, de qué manera satisfacen nuestras necesidades.
Los conceptos que iremos definiendo se conjugan con: elementos de análisis, elementos
económicos-financieros, tales como costo-beneficio y utilidades, oportunidades de servicios a los
clientes. Para ello existen otras asignaturas que fundamentan estos conceptos, pero cuando llegue
el momento, no se olvide de asociarlos con los que veremos en estas páginas.
Vamos a dividir esta Arquitectura en escenarios, empezaremos con el más antiguo de ellos.
En el sentido más estricto, el término Cliente/Servidor describe un sistema en el que una máquina
cliente solicita a una segunda máquina, llamada servidor, que ejecute una tarea específica. El
Cliente puede ser una computadora personal común conectada a una LAN, como también puede
ser una terminal boba que desde su consola solicita que le otorguen respuestas frente a sus
solicitudes. Los clientes están delegados a un equipo principal que llamamos Servidor. Éste será
por lo general, una máquina anfitriona, como un servidor de archivos PC, un servidor de archivos
de UNIX o una macrocomputadora o computadora de rango medio.
Otra de las características que normalmente tiene el Anfitrión o Host es que es el equipo
que tiene la responsabilidad de determinar si un cliente está autorizado o no a hacer uso de los
recursos de la red.
Podemos decir que existe una Jerarquía. El servidor estará por encima del cliente, ya que
al servidor le otorgamos la responsabilidad de gestionar y controlar la red.
- La Arquitectura a implementar.
- La selección del medio a utilizar.
- Las aplicaciones a instalar.
- La productividad de la organización.
Procesamiento Centralizado:
Es el caso de las terminales bobas y el de las PC que emulan ser terminales. Estas se
interrelacionan con el Host.
Todos los procesos que se realizan en el Host se conocen como Back-End (Procesos de
Fondo) y toda la vista de esos procesos del lado del cliente se conoce como Front-End.
El programa cliente cumple dos funciones distintas: por un lado gestiona la comunicación
con el servidor, solicita un servicio y recibe los datos enviados por aquél. Por otro, maneja la
interfaz con el usuario: presenta los datos en el formato adecuado y brinda las herramientas y
comandos necesarios para que el usuario pueda utilizar las prestaciones del servidor de forma
sencilla.
Procesamiento Distribuido:
Esquema Referencial
Mensaje ->Fuente-> Transductor-> Transmisor-> Canal Receptor-> Transductor-> Mensaje
Para la transmisión de datos, tema o eje central de esta materia, se considera un desglose
particular de los elementos constitutivos.
ETCD: Equipo de Terminación de Circuitos de Datos (DCE en inglés), tiene como función el
de transformar la información suministrada por el ETD en señales que sean compatibles con el
canal de transmisión, son ejemplos los MODEMS, CODEC, etc.
El receptor debe muestrear los bits recibidos en el momento exacto, por lo que
tiene que conocer el instante de llegada y la duración de cada bit.
Si existe algún desfasaje en los relojes o distorsiones de las señales puede ocurrir
que luego de un cierto intervalo de tiempo, el receptor tome muestras a bits anteriores o
posteriores al que debe realizar. Esto genera errores.
Para dar solución a este tema se suele emplear dos aproximaciones. Una de ellas
es la Transmisión Asíncrona o Carácter a Carácter y la Transmisión Síncrona, la cual
transmite un block de bits de datos.
Protocolos:
Los protocolos son reglas de comunicación que permiten el flujo de información
entre computadoras distintas que manejan lenguajes distintos, por ejemplo, dos
computadores conectadas en la misma red pero con protocolos diferentes no podrían
comunicarse jamás, para ello, es necesario que ambas "hablen" el mismo idioma.
Características:
Un protocolo es el conjunto de normas para comunicarse dos o más entidades (objetos
que se intercambian información). Los elementos que definen un protocolo son:
- Sintaxis: formato, codificación y niveles de señal de datos.
- Semántica: información de control y gestión de errores.
- Temporización: coordinación entre la velocidad y orden secuencial de las
señales.
Las características más importantes de un protocolo son:
- Directo/indirecto: los enlaces punto a punto son directos pero los
enlaces entre dos entidades en diferentes redes son indirectos ya que
intervienen elementos intermedios.
- Monolítico/estructurado: monolítico es aquel en que el emisor tiene el
control en una sola capa de todo el proceso de transferencia. En
protocolos estructurados, hay varias capas que se coordinan y que
dividen la tarea de comunicación.
- Simétrico/asimétrico: los simétricos son aquellos en que las dos
entidades que se comunican son semejantes en cuanto a poder tanto
emisores como consumidores de información. Un protocolo es
asimétrico si una de las entidades tiene funciones diferentes de la otra
(por ejemplo en clientes y servidores).
- Normalizado/no normalizado: los no normalizados son aquellos
creados específicamente para un caso concreto y que no va a ser
necesario conectarlos con agentes externos. En la actualidad, para
poder intercomunicar muchas entidades es necesaria una
normalización.
-
Funciones de los protocolos:
1- Segmentación y ensamblado: generalmente es necesario dividir los bloques de datos en
unidades pequeñas e iguales en tamaño y este proceso se llama segmentación. El bloque
básico de segmento en una cierta capa de un protocolo se le llama PDU (Unidad de datos
de protocolo). La necesidad de la utilización de bloque es por:
a. La red sólo admite la transmisión de bloques de un cierto tamaño.
b. El control de errores es más eficiente para bloques pequeños.
c. Para evitar monopolización de la red para una entidad, se emplean bloques
pequeños y así una compartición de la red.
d. Con bloques pequeños las necesidades de almacenamiento temporal son
menores.
Hay ciertas desventajas en la utilización de segmentos:
a- La información de control necesaria en cada bloque disminuye la eficiencia en
la transmisión.
b- Los receptores pueden necesitar interrupciones para recibir cada bloque, con
lo que en bloques pequeños habrá más interrupciones.
c- Cuantas más PDU, más tiempo de procesamiento.
El protocolo es definido por el formato de las PDU intercambiadas entre entidades, la IDU
o Unidad de Datos de la Interfaz, es la unidad total de datos transferida entre fronteras del
estrato, incluye la PCI, la SDU y la ICI:
Hay protocolos más sencillos y otros más complejos, por lo que los protocolos de los emisores
y receptores deben de ser compatibles al menos. Además de la fase de establecimiento de
conexión (en circuitos virtuales), está la fase de transferencia y la de corte de conexión. Si se
utilizan circuitos virtuales habrá que numerar los PDU y llevar un control en el emisor y en el
receptor de los números.
4- Entrega ordenada: el envío de PDU puede acarrear el problema de que si hay varios
caminos posibles, lleguen al receptor PDU desordenados o repetidos, por lo que el
receptor debe de tener un mecanismo para reordenar los PDU. Hay sistemas que tienen
un mecanismo de numeración con módulo algún número; esto hace que el módulo sean lo
suficientemente alto como para que sea imposible que haya dos segmentos en la red al
mismo tiempo y con el mismo número.
5- Control de flujo: hay controles de flujo de parada y espera o de ventana deslizante. El
control de flujo es necesario en varios protocolos o capas, ya que el problema de
saturación del receptor se puede producir en cualquier capa del protocolo.
6- Control de errores: generalmente se utiliza un temporizador para retransmitir una trama
una vez que no se ha recibido confirmación después de expirar el tiempo del
temporizador. Cada capa de protocolo debe de tener su propio control de errores.
7- Direccionamiento: cada estación o dispositivo intermedio de almacenamiento debe tener
una dirección única. A su vez, en cada terminal o sistema final puede haber varios agentes
o programas que utilizan la red, por lo que cada uno de ellos tiene asociado un puerto.
Además de estas direcciones globales, cada estación o terminal de una subred debe de
tener una dirección de subred (generalmente en el nivel MAC).
8- Multiplixación: es posible multiplexar las conexiones de una capa hacia otra, es decir que
de una única conexión de una capa superior, se pueden establecer varias conexiones en
una capa inferior (y al revés).
9- Servicios de transmisión: los servicios que puede prestar un protocolo son:
a. Prioridad: hay mensajes (los de control) que deben tener prioridad respecto a
otros.
b. Grado de servicio: hay datos que deben de retardarse y otros acelerarse (vídeo).
c. Seguridad.
Introducción a OSI:
Fue creado a partir del año 1978, con el fin de conseguir la definición de un conjunto de normas
que permitieran interconectar diferentes equipos, posibilitando de esta forma la comunicación
entre ellos. El modelo OSI fue aprobado en 1983.
El modelo OSI, como se indicó anteriormente, describe cómo se desplaza la información desde un
programa de aplicación en un extremo hasta otro programa de aplicación en el extremo posterior,
a través de un canal e comunicaciones.
Un sistema abierto debe cumplir las normas que facilitan la interconexión tanto a nivel hardware
como software con otros sistemas (arquitecturas distintas).
Este modelo define los servicios y los protocolos que posibilita la comunicación, dividiéndolos en 7
niveles diferentes, en el que cada nivel se encarga de problemas de distinta naturaleza
interrelacionándose con los niveles contiguos, de forma que cada nivel se abstrae de los
problemas que los niveles inferiores solucionan para dar solución a un nuevo problema, del que se
abstraerán a su vez los niveles superiores.
Se puede decir que la filosofía de este modelo se basa en la idea de dividir un problema grande (la
comunicación en sí), en varios problemas pequeños, independizando cada problema del resto. Es
un método parecido a las cadenas de montaje de las fábricas; los niveles implementan a un grupo
de operarios de una cadena y cada nivel, al igual que en la cadena de montaje, supone que los
niveles anteriores han solucionado unos problemas de los que él se abstraerá para dar solución a
unos nuevos problemas, de los que se abstraerán los niveles superiores, esto es, que las
actualizaciones o modificaciones ofrecidas para algunas capas o funciones no influyen a las otras.
Capa 6: Presentación.
Capa 5: Sesión.
Capa 4: Transporte.
Capa 3: Red.
Capa 1: Físico.
Para simplificar, estructurar y normalizar los protocolos utilizados en las redes de comunicaciones
se establecen una serie de niveles paralelos diferenciados por funciones específicas. Cada uno de
estos niveles proporciona un conjunto de servicios al nivel superior, a partir de otros servicios más
básicos proporcionados por los niveles inferiores.
Los niveles paralelos de las máquinas que participan en la comunicación mantienen una
conversación virtual a través de los niveles inferiores. Las reglas y convenciones utilizadas en esta
conversación son lo que se denomina protocolo de nivel n.
Este modelo de siete niveles proporciona un estándar de referencia para la intercomunicación
entre sistemas de ordenadores a través de una red utilizando protocolos comunes.
El modelo de siete niveles se ha convertido en un estándar internacional. Cada uno de los niveles
del modelo define una sección específica del total de la arquitectura. Diferentes organismos de
estandarización (ISO - IEEE, The Institute of Electrical and Electronics Engineers - ANSI, American
National Standards Institute...) han definido diversos protocolos sobre esos niveles para adaptar
las implementaciones finales a variados entornos y requisitos. Los niveles OSI son los siguientes:
Características de TCP/IP:
Protocolo IP:
Se trata de un protocolo a nivel de red cuyas principales características son:
Ofrece un servicio no orientado a la conexión, esto significa que cada trama en la que
ha sido dividido un paquete es tratado por independiente. Las tramas que componen un
paquete pueden ser enviadas por caminos distintos e incluso llegar desordenadas.
Ofrece un servicio no muy fiable porque a veces los paquetes se pierden, duplican o
estropean y este nivel no informa de ello pues no es consciente del problema.
Protocolo TCP:
Orientado al flujo: el servicio TCP envía al receptor los datos en el mismo orden en
que fueron enviados.
Conexión con circuito virtual: no existe conexión física dedicada, sin embargo, el
protocolo hace creer al programa de aplicación que si existe esta conexión dedicada.