Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción .................................................................................................... 4
Desarrollo ....................................................................................................... 5
Middleware ..................................................................................................... 6
Cliente/Servidor ......................................................................................... 16
Sistemas Distribuidos
Prof. Rubén Báez
Componentes redes y de interconexión de redes ......................................... 26
3
Protocolos ..................................................................................................... 27
Direccionamiento IP ...................................................................................... 29
Bibliografía .................................................................................................... 37
Sistemas Distribuidos
Prof. Rubén Báez
Modelos de Sistemas – Interconexión de 4
Introducción
Sistemas Distribuidos
Prof. Rubén Báez
interconectados entre sí y fueron dotados de algoritmos inteligentes para
5
mejorar su rendimiento.
Desarrollo
Arquitectura de sistemas
Sistemas Distribuidos
Prof. Rubén Báez
6
Aplicación de servicios
Middleware
Sistema Operativo
PLATAFORMA
Computadora y Hardware
de red
Middleware
Sistemas Distribuidos
Prof. Rubén Báez
7
Sistemas Distribuidos
Prof. Rubén Báez
Las aplicaciones middleware realizan las siguientes funciones:
8
► Ocultar la distribución: el middleware maneja el hecho de que una
aplicación esté compuesta de muchas partes interconectadas
ejecutándose en ubicaciones distribuidas
► Ocultar la heterogeneidad: el middleware oculta o hace transparente al
usuario diversas plataformas de sistemas operativos, protocolos de
comunicación y dispositivos hardware
► Proveer interfaces uniformes y estándares de alto nivel: tanto a los
desarrolladores como a los integradores de aplicaciones, de tal manera
que las aplicaciones sean fácilmente desarrolladas, reusadas,
transportadas y puedan interoperar correctamente
► Suministrar un conjunto de servicios comunes: para realizar varias
actividades de propósito general con el fin de evitar la duplicación de
esfuerzos y facilitar la colaboración entre aplicaciones.
Dentro de los principales servicios que se pueden ofrecer con una plataforma
middleware se encuentran los siguientes:
Sistemas Distribuidos
Prof. Rubén Báez
► Mensajería: soporta direccionamiento y transporte de correos, incluyendo
9
direccionamientos a grupos de nombres y nombres jerárquicamente
organizados
► Eventos: soporta notificación dinámica a través de mensajes de correo o
registro de bitácora (log)
► Registro (logging): para auditar eventos
► Nombrado: soporta enlaces Cliente/Servidor y lo integra con servicios de
transporte y seguridad
► Administración del Sistema: soporta control de administración desde
consolas remotas
Sistemas Distribuidos
Prof. Rubén Báez
distribuir los procesos, por un sistema de monitorización, el cual controla la carga
10
de cada CPU y la cantidad de procesos en él.
Sistemas Distribuidos
Prof. Rubén Báez
Migración de los Sistemas Host. Reingeniería de Aplicaciones
11
Toda aplicación empresarial debería diseñarse en base a módulos intermedios
middleware encargados de la comunicación entre la computadora personal y el
host. Con el uso de middleware se puede desarrollar una aplicación sin tener en
cuenta los futuros cambios tecnológicos que puedan sufrir los sistemas host. Si
el sistema host cambia, o las aplicaciones de host se migran a plataformas de
computadoras personales, todo lo que se necesita es un nuevo módulo
middleware. La interfaz de usuario, la lógica y el código interno permanecen sin
cambios. Por ejemplo, si el equipo lógico del sistema host se traslada desde el
mainframe a una base de datos de plataforma PC ejecutándose en un servidor
de archivos, sólo hay que sustituir el módulo de middleware de forma que realice
llamadas SQL.
Interconectividad
Sistemas Distribuidos
Prof. Rubén Báez
Arquitectura cliente/servidor
12
La utilización de middleware permite desarrollar aplicaciones en arquitectura
cliente/servidor independizando los servidores y clientes, facilitando la
interrelación entre ellos y evitando dependencias de tecnologías propietarias.
Modelos arquitectónicos
Es importante destacar los requisitos que deben ser tenidos en cuenta para los
diseños de las arquitecturas distribuidas.
Calidad de
Productividad Servicio
Entre estos requisitos de diseño tenemos cuatro aspectos más importantes junto
con sus características:
Sistemas Distribuidos
Prof. Rubén Báez
Productividad (Throughput)
13
Sistemas Distribuidos
Prof. Rubén Báez
Calidad de Servicio (Quality of Service – QoS)
14
Modelos de Sistemas
Es decir, en este tipo de redes, un mismo equipo puede funcionar como cliente
y como servidor, ya sea haciendo peticiones de dato o bien, sirviéndola.
Sistemas Distribuidos
Prof. Rubén Báez
15
Características generales
Sistemas Distribuidos
Prof. Rubén Báez
Cliente/Servidor 16
Internet
LAN/WAN
Clientes Servidor
Desde un punto de vista más técnico los clientes (o programas que representan
entidades que necesitan servicios) y los servidores (o programas que
proporcionan servicios) son objetos separados y se comunican a través de una
red de comunicaciones para realizar una o varias tareas de forma conjunta.
Sistemas Distribuidos
Prof. Rubén Báez
► Mantener y procesar todo el diálogo con el usuario
17
► Manejo de pantallas
► Menús e interpretación de comandos
► Entrada de datos y validación
► Procesamiento de ayudas y recuperación de errores
El servidor por su parte se caracteriza por cumplir con las siguientes funciones:
Sistemas Distribuidos
Prof. Rubén Báez
solicitud de un servicio. Los servidores esperan pasivamente por las
18
solicitudes de los clientes
► Encapsulación de servicios: el servidor es un especialista, cuando se le
entrega un mensaje solicitando un servicio, el determina cómo conseguir
hacer el trabajo. Los servidores se pueden actualizar sin afectar a los
clientes en tanto que la interfaz pública de mensajes que se utilice por
ambos lados, permanezca sin cambiar
► Integridad: el código y los datos de un servidor se mantienen
centralizados, lo que origina que el mantenimiento sea más barato y la
protección de la integridad de datos compartidos. Al mismo tiempo, los
clientes mantienen su independencia y autonomía
► Transparencia de localización: el servidor es un proceso que puede
residir en la misma máquina que el cliente u otra una máquina diferente
de la red. El software Cliente/Servidor habitualmente oculta la localización
de un servidor a los clientes mediante la redirección de servicios. Un
programa puede actuar tanto como cliente, como servidor o como cliente
y servidor simultáneamente
► Intercambios basados en mensajes: los clientes y servidores son
procesos débilmente acoplados que pueden intercambiar solicitudes de
servicios y respuestas utilizando mensajes
► Modularidad, diseño extensible: el diseño modular de una aplicación
Cliente/Servidor permite que la aplicación sea tolerante a fallos
En sistemas tolerantes a fallos, los fallos pueden ocurrir sin causar la caída de la
aplicación completa
Sistemas Distribuidos
Prof. Rubén Báez
Otra ventaja de la modularidad es que una aplicación Cliente/Servidor puede
19
responder automáticamente al incremento o decremento de la carga del sistema
mediante la incorporación o eliminación de uno o más servicios o servidores
Sistemas Distribuidos
Prof. Rubén Báez
Principales características positivas 20
Sistemas Distribuidos
Prof. Rubén Báez
► El paradigma de Cliente/Servidor clásico no tiene la robustez de una 21
red P2P. Cuando un servidor está caído, las peticiones de los clientes no
pueden ser satisfechas. En la mayor parte de redes P2P, los recursos
están generalmente distribuidos en varios nodos de la red. Aunque
algunos salgan o abandonen la descarga; otros pueden todavía acabar
de descargar consiguiendo datos del resto de los nodos en la red.
► El software y el hardware de un servidor son generalmente muy
determinantes. Un hardware regular de una computadora personal
puede no poder servir a cierta cantidad de clientes. Normalmente se
necesita software y hardware específico, sobre todo en el lado del
servidor, para satisfacer el trabajo. Por supuesto, esto aumentará el costo
► El cliente no tiene los mismos recursos que puede tener el servidor.
Por ejemplo, si la aplicación es una Web, no podemos escribir en el disco
duro del cliente o imprimir directamente sobre las impresoras sin sacar
antes la ventana previa de impresión de los navegadores.
Sistemas Distribuidos
Prof. Rubén Báez
► Servidores de aplicaciones web: los clientes solicitan información Web
22
a los servidores. La solicitud es por nombre y el protocolo es HTTP. Hay
objetos web y toda clase de aplicaciones nuevas.
Arquitectura Cliente-Cola-Cliente
Arquitectura Multicapas
Sistemas Distribuidos
Prof. Rubén Báez
Modelos específicos de arquitecturas 23
Modelo de Interacción
Sistemas Distribuidos
Prof. Rubén Báez
► Tasa de deriva de reloj
24
► Dos tipos de modelo de interacción (síncrono y asíncrono)
Modelo de Fallos
Este modelo debe definir y clasificar los fallos que pueden darse en el sistema.
Modelo de Seguridad
Este modelo debe definir y clasificar los tipos de ataque que pueden afectar al
sistema.
Sistemas Distribuidos
Prof. Rubén Báez
La seguridad en un sistema distribuido se basa en la seguridad de los procesos
25
y canales utilizados, entendida como seguridad de objetos almacenados e
invocados por los procesos y trasmitidos a través de los canales.
Interconexión de redes
Sistemas Distribuidos
Prof. Rubén Báez
También pueden utilizarse en una oficina como una red inalámbrica de
26
área local (Wireless LAN – WLAN) o bien en una más extensa (Wireless
MAN – WMAN)
► Redes Privadas Virtuales (Virtual Private Network - VPN)
Como un tipo especial de redes, utilizadas de manera corporativa a
manera de una Red Virtual del tipo LAN (VLAN) o a través túneles en la
Internet para establecer comunicaciones más seguras entre dos o más
puntos.
Para que las redes se puedan conectar entre sí y formar interredes, es necesario
disponer de componentes de conexión y de interconexión.
► Pasarelas (Gateways)
También son conocidos como convertidores de protocolos
► Encaminadores (Routers)
Los routers direccionan los paquetes de data entre las redes. Ellos
identifican la dirección de red de la computadora de destino, y entonces
determinan la ruta más eficiente para transmitirle los datos
► Puentes (Bridges)
Facilitan el acceso entre sistemas o entornos que utilizan distintos
protocolos de comunicación
► Puentes/Encaminadores (Bridge/Router – Brouters
Es un encaminador de un único protocolo o multiprotocolo que en algunas
ocasiones actúa como puente
► Concentradores (Hubs)
Conecta las computadoras en una configuración de red tipo estrella para
que ellas puedan intercambiar información
Sistemas Distribuidos
Prof. Rubén Báez
Tienen varios puertos disponibles, cada uno conectado a un nodo único a
27
través de esta interconexión de los nodos
► Conmutadores (Switches)
Sirven para direccionar en una red, el flujo de información de un nodo a
otro y son utilizados en una red de área local
► Repetidores (Repeaters)
Son dispositivos activos de solamente dos puertas que permiten
interconectar dos medios de comunicación con el objeto de amplificar y
reformar los pulsos constituyentes de la señal que va por un cable para
que esta no se degrade
► Tarjeta de Interfaz de Red (Network Interface Card – NIC)
Es la interface entre la computadora y la red
Protocolos
Sistemas Distribuidos
Prof. Rubén Báez
Protocolos Servicios
28
Sistemas Distribuidos
Prof. Rubén Báez
Las principales características de este protocolo son:
29
► Es no orientado a conexión
► Transmisión en unidades denominadas datagramas
► Sin corrección de errores, ni control de congestión
► No garantiza la entrega en secuencia
► La entrega del datagrama en IP no está garantizada porque ésta se puede
retrasar
► Encamina los mensajes
► IP no contiene suma de verificación para el contenido de datos del
datagrama, solamente para la información del encabezado
Direccionamiento IP
El protocolo TCP/IP utiliza una dirección de 32 bits para identificar una máquina
y la red a la cual está conectada. El NIC (Centro de Información de Red) asigna
las direcciones IP (o Internet), aunque si una red no está conectada a la Internet,
dicha red puede determinar su propio sistema de numeración.
Existen cuatro formatos para la dirección IP, cada uno de los cuales se utiliza
dependiendo del tamaño de la red. Los cuatro formatos son conocidos como
clases: Clase A hasta Clase D (aunque se ha añadido la Clase E para un uso
específico).
Sistemas Distribuidos
Prof. Rubén Báez
La clase se identifica mediante las primeras secuencias de bits, a partir de los 3
30
primeros bits (de orden más alto).
Protocolo IP versión 6
Sistemas Distribuidos
Prof. Rubén Báez
Las ventajas que ofrece la IP versión 6 sobre la versión 4 son:
31
► Espacio de direcciones ampliado a 128 bits
► Mecanismo de transporte mejorado
► Asignación dinámica de direcciones
► Aumento de la flexibilidad en el direccionamiento
► Mejora en el tráfico especializado en tiempo real
Sistemas Distribuidos
Prof. Rubén Báez
Capa 7 32
Nivel de Aplicación
Capa 6
Nivel de
Presentación
Capa 5
Nivel de Sesión
Capa 4
Nivel de Transporte
Capa 3
Nivel de Red
Capa 2
Nivel de Enlace
Capa 1
Nivel Físico
Sistemas Distribuidos
Prof. Rubén Báez
El objetivo de este nivel es garantizar que la información fluya entre dos
33
máquinas que estén conectadas directamente (servicio orientado a conexión) y
que esta información esté libre de errores.
El objetivo principal de la capa de red es hacer que los datos lleguen desde el
origen al destino, aun cuando entre ambos no exista una conexión directa entre
ambos. Los dispositivos que facilitan tal tarea se denominan encaminadores o
ruteadores (routers) y, en ocasiones también se les conoce como enrutadores.
Los routers trabajan en esta capa, aunque también pueden funcionar como
switch de nivel 2 en algunos casos, dependiendo de la función que se le asigne.
Asimismo, los firewalls actúan sobre esta capa principalmente, para descartar
direcciones de máquinas.
Sistemas Distribuidos
Prof. Rubén Báez
independientemente de la red de redes física en uno. Sin la capa transporte, el
34
concepto total de los protocolos en capas tendría poco sentido.
Esta capa corresponde al quinto nivel del modelo OSI y proporciona los
mecanismos para controlar el diálogo entre las aplicaciones de los sistemas
finales. En la mayoría de casos, los servicios de la capa de sesión son
parcialmente, o incluso, totalmente prescindibles.
Esta capa ofrece a las aplicaciones (de usuario o no) la posibilidad de acceder a
los servicios de las demás capas y define los protocolos que utilizan las
aplicaciones para intercambiar datos como correo electrónico (POP y SMTP),
gestores de bases de datos y servidor de ficheros (FTP). Existen infinidad de
protocolos como aplicaciones distintas y puesto que continuamente se
desarrollan nuevas aplicaciones el número de protocolos crece sin parar.
Sistemas Distribuidos
Prof. Rubén Báez
Objetos distribuidos e invocación remota 35
Este estilo y el estilo de la arquitectura por capas son los más usados en
sistemas distribuidos de gran escala.
Sistemas Distribuidos
Prof. Rubén Báez
► Mayor flexibilidad y escalabilidad debido a que se pueden crear diferentes
36
instancias del sistema proporcioando los mismos servicios por objetos
diferentes.
► Es posible reconfigurar el sistema de forma dinámica mediante la
migración de objetos a través de la red
Los clientes RMI interaccionan con los objetos remotos por medio de interfaces.
Nunca interaccionan directamente con las clases que implementan estas
interfaces.
Sistemas Distribuidos
Prof. Rubén Báez
Bibliografía 37
Sistemas Distribuidos
Prof. Rubén Báez