concepto de sistemas distribuidos_1

59
Concepto de Sistemas Distribuidos. Es un concepto poco claro de definir. Colección de elementos de cómputo autónomo que se encuentran físicamente separados y no comparten una memoria común, se comunican entre sí a través del intercambio de mensajes utilizando un medio de comunicación. Los sistemas autónomos pueden tener características no homogéneas. Características de los Sistemas Distribuidos. Cada elemento de computo tiene su propia memoria y su propio Sistema Operativo. Control de recursos locales y remotos. Sistemas Abiertos (Facilidades de cambio y crecimiento). Plataforma no standard ( Unix, NT, Intel, RISC, Etc.). Medios de comunicación ( Redes, Protocolos, Dispositivos, Etc.). Capacidad de Procesamiento en paralelo.

Upload: gabrielpenalver

Post on 30-Jun-2015

3.491 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Concepto de Sistemas Distribuidos_1

Concepto de Sistemas Distribuidos.

Es un concepto poco claro de definir. Colección de elementos de cómputo autónomo que se encuentran físicamente separados y no comparten una memoria común, se comunican entre sí a través del intercambio de mensajes utilizando un medio de comunicación.

Los sistemas autónomos pueden tener características no homogéneas.

 

Características de los Sistemas Distribuidos.

 Cada elemento de computo tiene su propia memoria y su propio Sistema Operativo.

 Control de recursos locales y remotos.

 Sistemas Abiertos (Facilidades de cambio y crecimiento).

 Plataforma no standard ( Unix, NT, Intel, RISC, Etc.).

 Medios de comunicación ( Redes, Protocolos, Dispositivos, Etc.).

 Capacidad de Procesamiento en paralelo.

 Dispersión y parcialidad.

 

Page 2: Concepto de Sistemas Distribuidos_1

Factores que han afectado el desarrollo de los Sistemas Distribuidos.

 Avances Tecnológicos.

 Nuevos requerimientos.

 Globalización

 Aspectos Externos ( Culturales, Políticos, Económicos ).

 Integración.

 

 

Page 3: Concepto de Sistemas Distribuidos_1

Ventajas y Desventajas de los Sistemas Distribuidos

Ventajas: Procesadores más poderosos y a menos costos

Desarrollo de Estaciones con más capacidades

Las estaciones satisfacen las necesidades de los usuarios.

Uso de nuevas interfaces.

 Avances en la Tecnología de Comunicaciones.

Disponibilidad de elementos de Comunicación.

Desarrollo de nuevas técnicas.

 Compartición de Recursos.

Dispositivos (Hardware).

Programas (Software).

 Eficiencia y Flexibilidad.

Respuesta Rápida.

Ejecución Concurrente de procesos (En varias computadoras).

Empleo de técnicas de procesamiento distribuido.

 Disponibilidad y Confiabilidad.

Sistema poco propenso a fallas (Si un componente no afecta a la disponibilidad del sistema).

Page 4: Concepto de Sistemas Distribuidos_1

Mayores servicios que elevan la funcionalidad ( Monitoreo, Telecontrol, Correo Eléctrico, Etc.).

 Crecimiento Modular.

Es inherente al crecimiento.

Inclusión rápida de nuevos recursos.

Los recursos actuales no afectan.

 

Desventajas:

 Requerimientos de mayores controles de procesamiento.

 Velocidad de propagación de información ( Muy lenta a veces).

 Servicios de replicación de datos y servicios con posibilidades de fallas.

 Mayores controles de acceso y proceso ( Commit ).

 Administración más compleja.

 Costos.

Categorías de los sistemas Distribuidos.

 Modelo de Minicomputadoras.

Page 5: Concepto de Sistemas Distribuidos_1

Varias computadoras que soportan diferentes usuarios cada una y provee acceso a recursos remotos.

Por lo menos un usuario por cada computadora ( CPU < Usuarios ).

 

 Modelo de Estación de Trabajo.

Varias estaciones (Por lo general cientos), donde cada usuario cuenta con una estación de trabajo (ET) y realiza en ella todo su trabajo. Requiere de un Sistema Operativo que soporte funciones de acceso y control remoto.

Un microprocesador por cada usuario ( CPU = Usuarios).

Las estaciones de trabajo cuentan con Interfaces Gráficas, CPU potentes y Memorias propias.

Page 6: Concepto de Sistemas Distribuidos_1

 

 Modelo microprocesadores en Pooling.

Trata de utilizar uno o más microprocesadores dependiendo de las necesidades de los usuarios.

Primero los procesadores completan su tarea y posteriormente regresan a esperar una nueva asignación.

El número de microprocesadores normalmente es mayor a uno por usuario ( CPU > Usuarios ).

 

Sistema Operativo Distribuido

Extiende el concepto de administración de recursos e interfaces con el usuario hacia computadoras de memoria compartida para formar un sistema Operativo Distribuido, el cual consiste en varias computadoras autónomas conectadas por una red de comunicaciones.

S.O +Administración

de Recursos Remotos

+Entorno de Red

Page 7: Concepto de Sistemas Distribuidos_1

Características: Para cada uno de los usuarios debe de ser similar al trabajo en el

Sistema Centralizado.

 Se ejecuta en múltiples Computadoras.

 Tiene varias copias del mismo Sistema Operativo o de diferentes Sistemas Operativos que proveen los mismos servicios.

 Transparencia (El uso de múltiples procesadores y el acceso remoto debe de ser invisible)

 

 

Complejidad y Aspectos que intervienen en el diseño de un Sistema Operativo Distribuido.

 Conocimiento Global.

Se trata de conocer y actualizar el estado global (global Knowledge) de todos los procesos y recursos del sistema.

Características:

Page 8: Concepto de Sistemas Distribuidos_1

1. Se tiene soluciones mucho más complejas.2. No se tiene disponibilidad de una memoria global y un reloj

global, no se pueden predecir los retardos y mensajes.3. Una sola computadora no puede colectar toda la información

del sistema distribuido.4. Un problema que se presenta es determinar técnicas eficientes

para establecer controles amplios en un sistema descentralizado y donde una sola computadora no conoce el estado actual y completo del sistema global.

5. Otro problema significativo se presenta debido a la ausencia de un reloj global y no permite tener formas de ordenar y controlar todos los eventos que ocurren en diferentes tiempos y en diferentes computadoras.

 

 Nomenclatura.

En ese aspecto se utilizan nombres para referirse a los objetos (Computadoras, impresoras, servicios, archivos y usuarios).

Por ejemplo: El servicio de FTP o el servicio de DNS.

Características:

1. En un servidor de nombres se mapea un nombre lógico a una dirección física por medio de tablas.

2. En un Sistema Distribuido los directivos pueden ser replicados y almacenados en varias lugares para reducir las posibilidades de fallas e incrementar la disponibilidad del servicio.

3. Se requiere más capacidad de almacenamiento.4. Requiere de sincronización para actualizar los directorios de

cada localización.5. Puede utilizarse partición de directorios en lugar de replicación,

pero es mucho más complejo.

 

 Escalabilidad.

Page 9: Concepto de Sistemas Distribuidos_1

Los sistemas crecen con el tiempo y les puede afectar la poca disponibilidad y la degradación del rendimiento cuando el crecimiento ocurre.

 

 Compatibilidad.

Se refiere a la interoperabilidad entre los recursos de un sistema. Generalmente existen 3 niveles de compatibilidad aplicados a los sistemas.

Nivel binario:

Todos los procesadores ejecutan el mismo conjunto de instrucciones binarias, sin embargo los procesadores pueden diferir en rendimiento y su forma de entrada y salida.

Ventajas:

1. Es más fácil el desarrollo de sistemas.2. No pueden incluirse arquitecturas diferentes de un fabricante o

varios.3. Es raramente soportado por sistemas grandes.

Nivel Ejecución:

Se presenta cuando el mismo código fuente puede ser compilado y ejecutado correctamente en cualquier computadora del sistema.

Nivel Protocolo:

Es el menos receptivo de todos ya que se obtiene interoperabilidad con el simple requerimiento de los componentes de comunicación de los sistemas, soportan un conjunto común de protocolos por ejemplo las computadoras individuales pueden ejecutar diferentes Sistemas y sacrificar su operatibilidad.

 

 Sincronización de Procesos

Page 10: Concepto de Sistemas Distribuidos_1

Es uno de los más importantes a considerar dentro de los sistemas distribuidos. La sincronización es difícil por la falta de una memoria común al no conocerse las características de los procesos que se ejecutan.

Características:

1. Un Sistema Operativo Distribuido tiene que sincronizar los procesos que se están ejecutando en diferentes computadoras cuando estas tratan de accesar concurrentemente un recurso compartido, por ejemplo: un directorio.

2. El recurso compartido debe ser accesado por un proceso a la vez, a esto se le conoce como mutua exclusión.

3. Cuando se tiene acceso concurrentemente a un recurso compartido por diversas peticiones no coordinadas de usuarios, estas deben de seriabilizarse para asegurar la integridad del recurso.

4. Los procesos deben solicitar recursos locales o remotos y posteriormente liberados en cualquier orden que puede ser no conocido.

5. Si la ausencia de asignación de recursos de los procesos no se controla se puede presentar un " Dead Lock " ( Candado muerto o recurso bloqueado ) que degrade al sistema.

 

 Administración de Recursos.

Se refiere en hacer que los recursos locales y remotos de una manera efectiva y fácil. Esta localización de recursos debe ser transparente para el usuario.

Los recursos deben estar disponibles de la siguiente manera:

Page 11: Concepto de Sistemas Distribuidos_1

Migración de datos:

Los datos son traídos al lugar del sistema donde son necesitados, pueden llegar a ser desde un archivo ( local o remoto ) o hasta el contenido de una memoria física.

Características:

1. Si un proceso actualiza un conjunto de datos, la localización original debe de ser también actualizada.

2. Se utiliza normalmente sistemas de archivos distribuidos que son componentes que implementan un sistema común de archivos disponibles para todas las computadoras autónomas del sistema. Su objetivo principal es proveer la misma capacidad funcional de acceso a los archivos sin importar su localización dentro de la red. A esto se le conoce como transparencia.

3. Otro de los elementos utilizados para la migración de datos es la administración de memoria compartida distribuida. Provee de un espacio de direccionamiento virtual que es compartido entre todas las computadoras del sistema distribuido. La mayor complejidad de implementar memoria compartida distribuida es el mantener la consistencia de los datos y reducir los retardos en el acceso de los mismos.

Migración de Cálculos:

Los cálculos procesados son llevados hacia otra localización y puede ser eficiente bajo ciertas circunstancias, por ejemplo: Cuando se requiere información de un directorio remoto es más eficiente enviar el mensaje solicitando la información necesaria y recibiéndola de regreso.

Planeación Distribuida:

Los procesos son transferidos de una computadora a otra dentro del sistema distribuido, esto es que un proceso puede ser ejecutado en una computadora diferente de donde fue originado.

Page 12: Concepto de Sistemas Distribuidos_1

Este proceso de relocalización puede ser deseable si la computadora donde se origino se encuentra sobrecargada o no posee los recursos necesarios.

La planeación distribuida es la responsable de todos los procesos distribuidos que se lleven a cabo entre computadoras sean efectuados con criterio y transparencia para obtener el máximo rendimiento.

 

 Seguridad

La seguridad de un sistema es la responsable de la integridad del Sistema Operativo dentro del diseño de un sistema de seguridad se consideren dos aspectos importantes:

Autentificación: Es el proceso de garantizar que una entidad es quien debe ser.

Autorización: Es el proceso de decidir que privilegios tiene una entidad y hacer que solo esos privilegios se encuentren disponibles.

 

 Estructuración

La estructuración de un sistema Operativo define como están organizadas sus partes y que comúnmente especifican el funcionamiento del mismo.

En Sistemas Distribuidos Utilizan normalmente los siguientes métodos tradicionales de estructuración de un Sistema Operativo.

Núcleo Monolítico: Es el método tradicional de estructurar Sistemas Operativos, esto se lleva a cabo a través de un gran núcleo monolítico que contiene todas las funciones y servicios provistos por el Sistema Operativo. Existen casos entre los Sistemas Distribuidos donde el uso de un bloque monolítico grande no es de mucha utilidad para los servicios ofrecidos por el Sistema Operativo (Estaciones sin disco, estaciones con

Page 13: Concepto de Sistemas Distribuidos_1

medios locales de almacenamiento, estaciones con procesadores matemáticos específicos, etc.).

Núcleo Colectivo: En esta estructura se tiene una colección de procesos que son ampliamente independientes unos de otros. Los servicios del Sistema Operativo ( Administración de memoria distribuida, sistemas de archivos distribuidos, sincronización distribuida, procesos RPC, administración de tiempos, etc.) son implementados como procesos independientes. El núcleo del Sistema Operativo ( Comúnmente llamado Microkernel ) soporta la interacción entre los procesos que proveen los servicios al Sistema Operativo, también provee los servicios típicamente esenciales para cada computadora tal como la administración de tareas. El microkernel se ejecuta en todas las computadoras del sistema, mientras que los otros procesos pueden o no correr según se requiera.

Sistema Orientado a Objetos: Estos sistemas son estructurados utilizando el concepto de objetos, donde cada uno de los servicios son implementados como un objeto del sistema y que en términos de un ambiente de objeto, se le conoce como colección. Cada objeto encapsula una estructura de datos y define un conjunto de operaciones para ese objeto, de manera que cada uno de estos objetos corresponden a un tipo definido, por ejemplo: Objetos de procesos, directorios o archivos. Este modelo se puede cambiar con la estructura colectiva y las técnicas de separación de funciones y mecanismos.

 

Modelo de Construcción.

 Cliente/Servidor

Page 14: Concepto de Sistemas Distribuidos_1

 Arquitectura Cliente/Servidor:

Una arquitectura es un conjunto de reglas, definiciones, términos y modelos que se emplean para producir un producto.

La arquitectura Cliente/Servidor agrupa conjuntos de elementos que efectúan procesos distribuidos y computo cooperativo.

Beneficios:

1. Mejor aprovechamiento de la potencia de cómputo (Reparte el trabajo).

2. Reduce el tráfico en la Red. (Viajan requerimientos).3. Opera bajo sistemas abiertos.4. Permite el uso de interfaces gráficas variadas y versátiles.

Segmentación de Aplicaciones:

Page 15: Concepto de Sistemas Distribuidos_1

 ¿Qué es el Cliente?

Conjunto de Software y Hardware que invoca los servicios de uno o varios servidores.

Características:

1. El Cliente oculta al Servidor y la Red.2. Detecta e intercepta peticiones de otras aplicaciones y puede

redireccionarlas.3. Dedicado a la cesión del usuario ( Inicia...Termina ).4. El método más común por el que se solicitan los servicios es a

través de RPC (Remote Procedure Calls).

Funciones Comunes del Cliente:

1. Mantener y procesar todo el dialogo con el usuario.2. Manejo de pantallas.3. Menús e interpretación de comandos.4. Entrada de datos y validación.5. Procesamiento de ayudas.6. Recuperación de errores.

 ¿Qué es el Servidor?

Page 16: Concepto de Sistemas Distribuidos_1

Conjunto de Hardware y Software que responde a los requerimientos de un cliente.

Tipos Comunes de Servidores:

1. Servidor de Archivos (FTP, Novell).2. Servidor de Bases de Datos (SQL, CBASE, ORACLE, INFORMIX).3. Servidor de Comunicaciones4. Servidor de Impresión.5. Servidor de Terminal.6. Servidor de Aplicaciones (Windows NT, Novell).

Funciones Comunes del Servidor:

1. Acceso, almacenamiento y organización de datos.2. Actualización de datos almacenados.3. Administración de recursos compartidos.4. Ejecución de toda la lógica para procesar una transacción.5. Procesamiento común de elementos del servidor (Datos,

capacidad de CPU, almacenamiento en disco, capacidad de impresión, manejo de memoria y comunicación).

 

 Red de comunicación.

Es todo aquel conjunto de elementos basados en hardware y software que permite establecer un enlace entre los clientes y los servidores, se clasifican por su tamaño LAN, MAN y WAN.

Características de la comunicación:

1. A través de este medio, el cliente debe localizar e iniciar la comunicación con el servidor.

2. No se utiliza la metodología de compartición de archivos, ya que todos los accesos a la información se llevan a cabo a través de peticiones por medio de comunicación.

3. Debido a que los programas de manejo y control de información ( Archivos y bases de datos solo se envían y reciben los resultados de las operaciones (Tráfico igual a Datos leídos o escritos).

Page 17: Concepto de Sistemas Distribuidos_1

4. Debido a la flexibilidad de establecer sesiones con múltiples servidores y manejo de información en varias bases de datos (en sitios remotos es requerido el uso de estilos transaccionales y cooperativos).

 

 Estilo de Bases de Datos con arquitectura Cliente/Servidor.

 Modelos o Técnicas de Procesamiento y Protocolos comúnmente utilizados.

Llamadas a procedimientos remotos (RPC). Interacciones SQL Cliente/Servidor. Memoria compartida. Paso de Mensajes.

 

SPX/IPX NETBEUI (NETBIOS) NAME PIPES TCP/IP UDP SOCKETS

Page 18: Concepto de Sistemas Distribuidos_1

Distribución entre Cliente y Servidor.

Dentro de los procesos que son manejados en una arquitectura Cliente/Servidor, se tiene 3 elementos básicos que deben de distribuirse entre el cliente y el servidor, estos elementos son:

El manejo de Datos. La aplicación. La presentación.

Page 19: Concepto de Sistemas Distribuidos_1

Almacenamiento de datos.

Dentro de los sistemas distribuidos, una de las aplicaciones más importantes es la del manejo de datos e información que son utilizados en prácticamente todos los niveles de cualquier sistema o empresa.

El sistema debe estar preparado para el conocimiento sobre como administrar y manejar la información y datos requeridos. También debe de contemplar las funciones de seguridad y protección de los datos de manera que sean implementadas dentro del sistema, métodos para proteger la integridad de la información en cualquiera de las fases de un sistema distribuido (procesos locales de un sistema distribuido, comunicación y procesos remotos).

Uno de los primeros factores que deben contemplarce en la forma de identificar, referenciar y accesar los recursos que estén disponibles de una poco compleja y fácil. Para hacer esta identificación, el procedimiento más utilizado es la asignación de nombres o nomenclaturas a cada uno de los recursos disponibles del sistema.

 

Nombres.

El establecer comunicación entre los objetos soportados dentro de un sistema distribuido requiere que se conozca una identidad (nombre) de los objetos que serán accesados.

La comunicación llega a ser efectiva si un nombre puede ser mapeado hacia su correspondiente ruta. Se requieren 3 aspectos para integrar un sistema de nomenclatura que permita el fácil acceso a los objetos o recursos de un sistema distribuido.

Conocer que objeto se requiere accesar (Nombre). Donde se encuentra ese objeto (Direccionamiento).

Page 20: Concepto de Sistemas Distribuidos_1

Como obtener o llegar al objeto (Ruta).

Para llegar a formar una estructura de nombres se utilizan básicamente 3 aspectos:

 Estructura plana participando y con nombres descriptivos.

 Nombres estáticos y dinámicos en el tiempo.

 Número de nombres individuales y de grupo.

Dentro de un sistema de nombres se involucran varios elementos esenciales que tiene una estrecha relación entre ellos, tal como se muestra en el siguiente diagrama.

Elementos

  Seguridad (protección)

User names

File services

Colaboración de servidores de archivos.

Servicio de transacciones. Servicio de directorios. Servicio de discos.

Control de acceso

Seguridad de

comunicaciones

Distribución de

nombres

Reducción de

nombres

Localización de recursos

Algoritmos para llamado compartido y llamado balanceado.

Detección de Dead Locks

Sincronización de procesos.

Protección de

recursos

Sistemas de

nombres

Administración de procesos

Opciones en procesos: local remoto migración de procesos.

Capacidades

Autenticación

Puertos Comunicación inteprocesos y

administración de memoria

Lista de accesos

Administración primaria

Page 21: Concepto de Sistemas Distribuidos_1

Comunicación interprocesos: Paso de mensajes o llamada de procesamientos, remotas o transacciones.

Información del flujo

central

Encriptación de datos.

Direcciones

     

RutasSoporte de protocolos de transporte para comunicación interprocesos

Núcleo de seguridad

Encriptación de protocolo

 

Entre los elementos de un sistema distribuido se utiliza una organización jerárquica para ligar el acceso a esos elementos como se muestra en la siguiente figura:

Direccionamiento y Mapeo

Page 22: Concepto de Sistemas Distribuidos_1

En sistemas distribuidos el uso de una dirección puede ser tratado como un intermediario y una ruta de acceso.

Una dirección esta asociada con la localización física del nombre de los objetos, orientando principalmente hacia un proceso computacional el cual es utilizado para generar la ruta.

Atributos  Estructura Tiempo Número

Nombre

Primitiva

Particionada

Descriptiva

Estática

Dinámica

Individual

Grupo

Mapeo (Ruteo)

Esquema Función TiempoFuente

Hopley Hop

Broad Cast

Centralizado

Distribuido

Estático

Dinámico

Existe una relación muy estrecha entre la aplicación de un esquema de direccionamiento y su siguiente paso, que es el mapeo, el cual consiste en establecer referencias indirectas que nos permitan ir acercándonos hacia el elemento deseado.

Una característica de un sistema que utiliza direccionamiento y mapeo es el uso de identificadores únicos orientados a la computadora los cuales garantizan su induplicidad en espacio y tiempo para evitar conflictos al e migrar datos e información entre diferentes sistemas.

 

Page 23: Concepto de Sistemas Distribuidos_1

Búsqueda de Nombres.

Se considera la identificación de la localización donde se encuentra el servicio o el elemento como parte de un esquema de búsqueda o traducción de nombre (dirección) ya que es necesario que el sistema conozca todos los caminos disponibles (vías de acceso) entre los objetos y los servicios. Principalmente se consideran 2 aspectos:

 Encontrar una dirección en la red en donde se encuentre el servicio funcionando.

 Encontrar una ruta donde la solicitud del servicio encuentre la dirección donde se ubica.

Una dirección puede ser identificada de 2 formas:

 Enviando mensajes a la red (Broadcast). Busca un servicio en forma general.

 Enviando directamente un mensaje a un servidor de nombres que devuelve la respuesta.

Dentro de un sistema de manejo de nombres se tienen varios componentes necesarios que permiten hacer la funcionalidad de traducción o interpretación de direcciones físicas, estos componentes son Server name, Agent, Cliente.

Todo sistema de nombres debe contener una estructura definida que garantice el acceso más optimo hacia los elementos que integran el sistema distribuido. Estas estructuras comúnmente son implementadas dentro de los servidores de nombres y sus tipos son:

Page 24: Concepto de Sistemas Distribuidos_1

 Jerárquico.

 Centralizado.

 Replicado.

 Descentralizado.

 Distribuida.

Protección y seguridad.

Objetivo

La seguridad y protección en los sistemas distribuidos es implementado con el objetivo de proteger la información contra su acceso y uso no autorizado, modificación o destrucción de datos almacenados o transmitidos por un sistema computacional.

Factores que intervienen en la aplicación de esquemas de seguridad.

Existen varios elementos que complican la aplicación de formas o esquemas para dar seguridad dentro de un sistema. Estos elementos están presentes en función del tipo de seguridad y los objetivos que queramos proteger.

Factores:

 Compartición de datos y objetos, así como todas las posibilidades de acceso remoto.

 Valor incremental de la información que se transmite.

 Desarrollo de nuevas tecnologías que facilitan la posibilidad de accesos (o ataques) en un sistema distribuido. El intruso puede llevar a cabo alguna de las siguientes violaciones:

Page 25: Concepto de Sistemas Distribuidos_1

Liberación no autorizada de información (tomar ventaja). Modificación no autorizada de información (alterar

información). Denegar sin autorización en servicios.

 Aplicación de redes dinámicas de los niveles de administración de dominios.

 Cambios constantes de los niveles de administración de dominios.

 Diferentes protocolos de comunicación.

 Incremento de los alcances con ambiente de crecimiento rápido (mala planeación).

Formas de acceso no permitido.

Page 26: Concepto de Sistemas Distribuidos_1

Existen varias formas de accesar la información que se transfiere por un sistema de red, cuando esto no es permitido se deben contemplar esquemas de seguridad y protección que abarquen aquellos sitios donde esta información pueda estar disponible para un intruso.

Cuando los elementos de red son abiertos o públicos no existen muchos medios para proteger estos datos ya que están disponibles en todo momento de forma publica. Existen 2 tipos de ataques que pueden hacerse sobre nuestra información:

 Ataques pasivos.

 Ataques activos

 

Ataques Pasivos y Ataques Activos

Ataques Pasivos

El intruso establece patrones para observar los mensajes de las aplicaciones sin interferir con ellos, se tienen dos categorías:

Page 27: Concepto de Sistemas Distribuidos_1

 Liberación del contenido del mensaje: El intruso libera o hace público el contenido de los mensajes.

 Análisis de tráfico: El intruso observa cuando y donde se realiza el flujo de información con el objetivo de identificar fuentes y localizaciones.

Ataques Activos

En este tipo de ataques se realizan una variedad de procesos en el paso de los mensajes que puede afectar directa o indirectamente. Se tienen 4 categorías.

 Modificación del mensaje:

Consiste en realizar modificaciones directamente sobre el contenido del mensaje (borrar, insertar, modificar).

 Denegar entrega de mensaje:

Consiste en no permitir que el mensaje sea entregado a su destino a través de bloqueos o retenciones.

 Retardar entrega de mensajes:

Consiste en hacer que un mensaje no llegue a su origen en el tiempo normal de manera deliberada.

 Enmascarar:

Consiste en utilizar una falsa identidad para que le sea entregado un determinado mensaje.

Metas al aplicar esquemas de seguridad.

La finalidad que se tiene al conocer el tipo de ataque que el sistema puede tener se enfoca a 2 aspectos básicos que son los de prevenir y detectar estas acciones.

En los ataques activos el objetivo es prevenir la realización del mismo a través de formas y medios que no le permitan al intruso obtener la información que va a modificar.

Page 28: Concepto de Sistemas Distribuidos_1

Los ataques pasivos son los más difíciles de identificar y la meta principal es detectar el momento y lugar que estos ocurran.

Protección vs Seguridad

La protección y seguridad son elementos importantes dentro de la operación de un sistema distribuido, ya que debemos buscar que cualquier tipo de ataque no afecte la integridad de los recursos y los datos que son manipulados. Un sistema es seguro si cuenta con políticas y mecanismos que proporcionen protección, de esta manera podemos establecer que para proteger un sistema dependemos de la seguridad del mismo.

 Protección: Se refiere a todos los mecanismos que deben ser implementados para proporcionar seguridad en los sistemas, pueden ser operaciones y procesos que permitan restringir accesos dentro de los sistemas. Por ejemplo las rejas para proteger una casa.

 Seguridad: Se refiere a todos las políticas que son implementadas adicionalmente a los mecanismos para incrementar las posibilidades de integridad de los sistemas. Por ejemplo cambiar el password de un sistema periódicamente.

 

Seguridad con Firewall

Los Firewalls son un tipo de seguridad muy efectiva en redes. Intenta prevenir los ataques de usuarios externos a la red interna. Tiene múltiples propósitos:

 Restringir la entrada a usuarios a puntos cuidadosamente controlados.

 Prevenir los ataques .

 Restringir los permisos de los usuarios a puntos cuidadosamente controlados.

Page 29: Concepto de Sistemas Distribuidos_1

Un Firewall es a menudo instalado en el punto donde la red interna se conecta con Internet. Todo tráfico externo de Internet hacia la red interna pasa a través del Firewall, asi puede determinar si dicho tráfico es aceptable, de acuerdo a sus políticas de seguridad.

Lógicamente un Firewall es un separador, un analizador, un limitador. La implementación física varia de acuerdo al lugar. A menudo, un Firewall es un conjunto de componentes de hardware - un router, un host, una combinación de routers, computadoras y redes con software apropiado. Rara vez es un simple objeto físico. Usualmente esta compuesto por múltiples partes y alguna de esas partes puede realizar otras tareas.

La conexión de Internet también forma parte del Firewall. Un Firewall es vulnerable, él no protege de la gente que está dentro de la red interna. El Firewall trabaja mejor si se complementa con una defensa interna. Un Firewall es la forma más efectiva de conectar una red a Internet y proteger su red. Los Firewalls también tienen otros usos. Por ejemplo, se pueden usar para dividir partes de un sitio que tienen distintas necesidades de seguridad.

Las dos principales aproximaciones usadas para construir Firewalls hoy son:

 Filtrado de paquetes.

 Servicio Proxy

El sistema de filtrado de paquetes rutea paquetes entre host internos y externos, pero de manera selectiva. Permite bloquear cierto tipo de paquetes de acuerdo con la política de seguridad de la red. El tipo de ruteo usado para filtrar paquetes en un Firewall es conocido como "screening router". Se puede selectivamente rutear paquetes desde o hacia su sitio:

Bloquear todas las conexiones que entran desde sistemas externos, excepto las conexiones SMTP (solo recibirá mails).

Bloquear todas las conexiones que provienen de un determinado lugar que se considera peligroso.

Permitir servicio de Mail y FTP, pero bloqueando servicios peligrosos como TFTP, RPC, servicios "r" (rlogin, rsh, etc), etc.

Page 30: Concepto de Sistemas Distribuidos_1

Para entender como se filtra un paquete, se necesita conocer la diferencia entre ruteo ordinario y "screening router". Un ruteo ordinario simplemente mira la dirección destino de cada paquete y elige el mejor camino que él conoce hacia la dirección destino. La decisión sobre como atender el paquete se basa solamente en el destino del paquete. En "screening router", mira el paquete más detalladamente. Además de determinar si el paquete puede ser ruteado o no a la dirección destino, determina si debe o no debe ser ruteado de acuerdo a la política de seguridad. La comunicación entre la red interna y externa tiene una enorme responsabilidad. Realizar el ruteo y la decisión de rutear es la única protección al sistema. Si la seguridad falla, la red interna está expuesta. Un "screening router" puede permitir o denegar un servicio, pero no puede proteger operaciones individuales dentro del servicio.

Casi todos los dispositivos actuales de filtro de paquetes (enrutadores de selección o compuertas de filtro de paquetes) operan de la siguiente forma:

El criterio de filtro de paquete debe almacenarse para los puertos del dispositivo para filtro de paquetes. El criterio de filtro de paquetes se conoce como reglas de filtro de paquetes.

Cuando un paquete llega al puerto, los encabezados de los paquetes se analizan. La mayoría de los filtros los campos sólo en los encabezados IP, TCP o UDP. Las reglas del filtro de paquete se almacenan en un orden específico. Cada regla se aplica al paquete en el mismo orden en que la regla del filtro de paquetes se almacenó. Si una regla bloquea la transmisión o recepción del paquete, el paquete no se acepta. Si una regla permite la transmisión o recepción de un paquete, el paquete sigue su camino. Si un paquete no satisface ninguna regla, es bloqueado. Es decir aquello que no esté expresamente permitido, se prohibe, deberá observar que es importante colocar las reglas en orden correcto. Un error común al configurar las reglas del filtro de paquetes es hacerlo en desorden. Si dichas reglas se colocan en un orden equivocado, podría terminar denegando servicios válidos, mientras que permitiría los servicios que deseaba denegar.

 

Page 31: Concepto de Sistemas Distribuidos_1

Seguridad con PROXY

Definición

Proxy es un sistema intermediario entre hosts internos de una red y los hosts de Internet de forma tal que reciba las requisiciones de unos y se las pase a los otros previa verificación de accesos y privilegios. Este sistema puede correr en hosts "dual-homed" o hosts "bastion" los cuales serán llamados Servidores Proxy.

Los sistemas Proxy son efectivos solo si se utilizan junto a métodos de restricción de tráfico IP entre clientes y servidores reales. De este modo, un cliente no podrá "bypasear" el servidor Proxy para comunicarse con un servidor real utilizando este protocolo.

Funcionamiento

El programa cliente del usuario se comunica con el servidor Proxy enviando pedido de conexión con un servidor real. El servidor Proxy evalúa esta requisición y decide si se permitirá la conexión. Si el servidor Proxy permite la conexión, envía al servidor real la solicitud recibida desde el cliente. De este modo, un servidor Proxy se ve como "Servidor"

cuando acepta pedidos de clientes y como "cliente" cuando envía solicitudes a un servidor real. Una vez que establecida la comunicación entre un cliente y un servidor real, el servidor Proxy actúa como un retransmisor pasando comandos y respuestas de un

lado a otro. Un punto importante a tener en cuenta en este tipo de conexión es que es

totalmente transparente. Un usuario nunca se entera de que existe un "intermediario" en la conexión que ha establecido.

La comunicación entre el programa cliente y el servidor Proxy puede realizarse de dos formas distintas:

Page 32: Concepto de Sistemas Distribuidos_1

 Custom Client Software: El cliente debe saber como opera el servidor Proxy, como contactarlo, como pasar la información al servidor real, etc. Se trata de un software cliente standard que ha sido modificado para que cumpla ciertos requerimientos.

 Custom User Procedures: El usuario utiliza un cliente standard para conectarse con un servidor Proxy y usa diferentes procedimientos (comandos del servidor Proxy) para pasar información acerca del servidor real al cual quiere conectarse. El servidor Proxy realiza la conexión con el servidor real

Tipos de servidores Proxy

 Servidor Proxy de Aplicación: Es un servidor que conoce sobre una aplicación en particular y provee servicios proxy para ella. Entiende e interpreta comandos de un protocolo en particular. Con este tipo de servidores es necesario contar con uno de ellos para cada servicio. Recibe también el nombre de servidor Dedicado.

 Servidor Proxy de Circuito: Crea un circuito virtual entre el cliente y el servidor real sin interpretar el protocolo de la aplicación. Son llamados Proxies Genéricos.

Ventajas

Permite a los usuarios acceder a los servicios de Internet ocultando totalmente la red interna. Permite un buen servicio de logs a nivel de cada aplicación. Debido a que todo el tráfico pasa a través del servidor Proxy se puede registrar gran cantidad de información con fines de auditoria y seguridad. El servidor Proxy de Circuito provee soporte para un conjunto grande de protocolos.

Desventajas

A menudo se requiere la modificación del software cliente. Hay software que esta disponible solo para ciertas plataformas: Por Ej: GATEWAY es un package Proxy para FTP y TELNET de SUN que corre solo sobre SUN. La disponibilidad de estos tipos de paquetes a menudo no es inmediata.

En el caso de servidores Proxy de Aplicación se requiere un servidor Proxy para cada servicio. Algunos servicios no son viables para

Page 33: Concepto de Sistemas Distribuidos_1

trabajar con servidores Proxy (Ej: talk). El uso de servidores Proxy introduce algún retardo en las comunicaciones. Los servidores Proxy de circuitos no brindan control especifico sobre las aplicaciones.

 

Criptografía.

Es una técnica que provee un incremento en la protección de los sistemas en eventos o lugares donde se maneja información no autorizada y que puede estar disponible para los impulsos.

Permite que una pieza de información sea convertida a una forma encriptada antes de que sea almacenada o transmitida por un canal de comunicación.

Encriptación

Una operación primitiva (a bajo nivel) empleado por la criptografía y que se efectúa sobre datos para convertirlos a una representación

Page 34: Concepto de Sistemas Distribuidos_1

que no tenga significado para cualquier otra entidad, únicamente para el receptor designado.

 

Modelo de criptografía

La encriptación está asociada con la transformación de un mensaje inteligible (M) a una forma no inteligible (C) con la ayuda de una clave secreta (Ke) antes de que sea colocada en un medio inseguro. La encriptación se define como una función matemática (algoritmo) de la siguiente forma:

C = E (M,Ke) = EKe (M).

donde E puede ser una función computacional.

Un algoritmo de encriptación debe tener la propiedad de que el dato original pueda ser recuperado de su forma encriptada si se conoce el valor de su llave.

M = D (C,Kd) = DKd (C).

donde D= Función decriptadora.

A la entrada de un algoritmo de encriptación (Cipher) es llamado mensaje, cleartext o plaintext o criptograma.

Page 35: Concepto de Sistemas Distribuidos_1

La protección de un sistema de encriptación es medida por el grado de dificultad que presente para encontrar la clave utilizada. Entre más complejo sea el método de encriptado utilizado, le es más difícil a otras personas descifrar el mensaje.

Los ataques de un intruso dentro de un sistema protegido por criptografía se clasifican en:

 Cipertext .- Only Attack (Sólo cosas generales).

 Know .- Plaintext Attack (Conoce algo de Plaintext y su correspondiente Ciphertext).

 Chose .- Plaintext attack (Puede ver Ciphertext y Plaintext).

Page 36: Concepto de Sistemas Distribuidos_1

Conozcamos algunos de los algoritmos existentes de Encriptación.

La criptografía (que, etimológicamente, procede de la raíz griega kruptoj, kriptós, "oculto", y de grafía, y significa "escritura oculta") se puede definir como la disciplina que estudia los principios, métodos y medios de ocultar la información contenida en un mensaje. Es practicada por los criptógrafos.

Es decir, se trata de permitir que dos entidades, ya sean usuarios o aplicaciones, puedan enviarse mensajes por un canal que puede ser intervenido por una tercera entidad, de modo que sólo los destinatarios autorizados puedan leer los mensajes.

Pero la criptografía no es en sí seguridad; simplemente es la herramienta utilizada por mecanismos más complejos para proporcionar no sólo confidencialidad, sino también otros servicios de seguridad.

Tipos De Criptografía

Page 37: Concepto de Sistemas Distribuidos_1

 DES (Data Encryption Standard)

 Triple-Des (3des)

 IDEA (International Data Encryption Algorithm)

 Rc-2 Y Rc-4

 Skipjack

 AES (Advanced Encryption Standard)

 CAST, Rc5 De Ron Rivest O Safer-Sk.

 Algoritmo RSA (Rivest-Shamir-Adleman)

 Algoritmo ElGamal

 PGP (Pretty Good Privacy)

 Otros

 

Implementación De PGP

En origen, el mensaje o fichero que queremos proteger va pasando por diferentes bloques que lo van transformando:

1. Compresión, utilizando el algoritmo pkzip.2. Firma digital. Se crea una firma digital del mensaje, utilizando

la función de hash MD5. Dicha firma es cifrada con la clave privada del remitente usando el algoritmo RSA y añadida al mensaje. El usuario puede elegir la longitud de la clave asimétrica, y por tanto su grado de seguridad. Ahora bien, cuanto más larga sea la clave, más lento será el proceso.

3. Cifrado. El cifrado se hace usando IDEA (criptografía de clave simétrica). La clave simétrica es generada aleatoriamente y transmitida al destinatario cifrada con su clave pública (algoritmo RSA de nuevo).

4. Compatibilización con el protocolo de transmisión de correo electrónico.

Page 38: Concepto de Sistemas Distribuidos_1

5. Segmentación.

En la recepción se realiza el proceso inverso, con lo que se obtiene el mensaje original, asegurando los requerimientos buscados.

 

Algoritmos de clave asimétrica

Algoritmo Rivest-Shamir-Adleman (RSA)

El algoritmo RSA se fundamenta en el hecho de que la factorización de números primos es un problema de resolución computacionalmente difícil.

Algoritmo

El algoritmo RSA está descrito en infinidad de sitios y es extremadamente simple:

Primero es necesario calcular las claves:

1. Encontrar dos números primos grandes (de 100 cifras o más), p y q.

2. Definir n (conocido como módulo) como: n = pq3. Definir z como: z = (p-1)(q-1)4. Encontrar un número primo aleatorio e menor que el módulo y

tal que e y z sean primos entre sí.5. Determinar un valor d tal que se cumpla que (ed - 1) es

divisible entre z (d existe y es único).6. El cifrado del mensaje M se obtendrá según la siguiente

operación: C = Me (mod n)

Y el descifrado mediante la siguiente:

M = Cd (mod n)

Por tanto, la clave pública estará constituida por el par (n,e), mientras que la clave privada la constituirán (n,d).

Page 39: Concepto de Sistemas Distribuidos_1

Ejemplo:

El principal problema de manejar criptografía en un sistema, consiste en distribuir la clave entre todos los elementos del sistema, de manera que cada elemento autorizado obtenga el valor de la llave para descifrar el mensaje. Esta distribución puede hacerse a través de tres maneras:

 Centralized Key Distribution.

 Fully Distribuid Key Distribution.

 Hierarchical Key Distribution.

 

Archivos Distribuidos.

Un Sistema de Archivos Distribuido, es un administrador de recursos, y que es parte de un Sistema Operativo distribuido, puede ser compartido por todas las computadoras autónomas dentro del sistema.

El poder administrar sistemas de archivos remotos proporciona una ventaja muy grande a los Sistemas Operativos ampliando su capacidad de administración de recursos. Se tienen varios objetivos en un sistemas de este tipo:

 Diversidad de aplicaciones.

Page 40: Concepto de Sistemas Distribuidos_1

 Semántica del sistema de archivos (fase, simple, comprensible, pocos comandos).

 Cumple con requerimientos de diferentes usuarios.

 Nomenclatura consistente (el mismo nombre en cada sitio).

 Transparencia de localización (mover un archivo sin cambiar su nombre y procesos involucrados).

 Acceso transparente (acceso remoto igual a acceso local).

 Consistencia de datos (garantizar integridad).

 Consistencia de autentificación (reconocer identidad y derechos de usuarios y procesos).

 Protección de información (protección contra accesos no autorizados).

 Mobilidad de usuarios (acceso desde cualquier parte).

 Rendimiento (mismo rendimiento que en sistemas convencionales).

 Disponibilidad (baja aceptación de fallas).

 Recuperación (Recuperación de procesos y servicios).

 Escalabilidad (disponibilidad para crecer).

 Adaptación a diferentes medios de almacenamiento (disponibilidad para adaptarse a diferentes sistemas de almacenamiento en software y hardware).

 

Servicios de un Sistema de Archivos

Page 41: Concepto de Sistemas Distribuidos_1

Los sistemas de archivos son considerados como uno de los componentes mas importantes de cualquier Sistema Distribuido. Debe tener conocimiento de cada uno de los sitios disponibles de información, de manera que los servicios sean transparentes para cualquier usuario.

En Sistemas Distribuidos se utilizan dos tipos de servicios:

 Servicio de Archivos.- Es una especificación sobre el tipo de servicios de archivos que el sistema ofrece a los clientes, establece todas aquellas directivas sobre donde encontrar un archivo.

 Servicio de Directorios.- Es un proceso que se ejecuta en alguna máquina y ayuda a implantar el servicio de archivos de manera que podamos establecer ligas entre uno o más grupos de archivos (directorios). Un sistema puede tener uno o varios servidores de archivos que son transparentes para los clientes ya que no debe de conocer su posición.

 

Diseño de un Sistema de Archivos

Los sistemas de archivos distribuidos están compuestos de dos elementos importantes, como lo son el servicio de archivos y el de directorios (mencionados con anterioridad). Decíamos que el primero se encarga de las operaciones, en los archivos individuales, como la escritura, lectura y adición, mientras que el segundo se encarga de crear y administrar directorios, además de añadir y eliminar archivos en los directorios.

 

Interface De Un Servicio De Archivos

Page 42: Concepto de Sistemas Distribuidos_1

La Interface de un Servicio de Archivos proporciona toda la información necesaria sobre cada archivo individual como pueden ser sus atributos.

La función más importante de un servicio de archivos corresponde a su mantenimiento, ya que este servicio se encarga de todas las operaciones disponibles de lectura y escritura como pueden ser create, read, write, delete.

Los usuarios de archivos se pueden dividir en dos tipos:

 Modelo de Carga y Descarga.- Éste sólo proporciona dos operaciones principales que son la lectura y escritura del archivo. La operación consiste en transferir todo un archivo hacia el cliente y todos los movimientos de operación sobre el archivo, lo realiza el cliente, cuando ha dejado de utilizar el archivo, éste se es regresado hacia el servidor en forma completa. ( con todos los cambios realizados actualmente).

 Modelo de acceso remoto.- Este tipo de servicios proporciona un gran número de operaciones para abrir y cerrar archivos leer y escribir partes de archivos, moverse a través de un archivo, así como examinar y modificar los atributos de uno o varios archivos.

Page 43: Concepto de Sistemas Distribuidos_1

 

Procesamiento de transacciones.

 Motivos del uso de transacciones.

Los sistemas distribuidos son potencialmente muy fiables debido a la posibilidad de proveer redundancia y autonomía de recursos en diferentes nodos, esto permite detectar y localizar fallas, sin embargo comúnmente tenemos varios aspectos que representan problemas para la integridad de los recursos y que a su vez motivan el uso de transacciones:

1. Dificultad para mantener consistencia en los datos.2. Una misma vía de comunicación no siempre puede ser

utilizada para proveer interacción entre 2 procesos.3. Requerimientos de procesamiento en paralelo.4. Manejo interactivo de uno o más usuarios

 

 Definición de transacciones.

Las transacciones fueron originalmente desarrolladas para ser utilizadas dentro de los sistemas de base de datos, donde se usaba para auxiliar en el mantenimiento de los datos de las aplicaciones y que dependían de la consistencia de la información almacenada.

Las transacciones son un mecanismo que ayuda a simplificar la construcción de sistemas confiables a través de procesos que

Page 44: Concepto de Sistemas Distribuidos_1

proveen soporte uniforme para invocar y sincronizar operaciones como:

Operaciones de compartición de datos. Aseguramiento de la seriabilidad de las transacciones con

otras. Atomicidad en su comportamiento. Recuperación de fallas provocadas en red y nodos.

El término transacción describe una secuencia de operaciones con uno o más recursos (por ejemplo una base de datos) que transforman su estado actual en un nuevo estado de consistencia.

El manejo de transacciones fue desarrollado en el campo de las operaciones financieras donde se tenía 3 reglas básicas:

 Consistencia: Obedecer ciertas reglas.

 Atomicidad: Debe ocurrir completo o abortar.

 Durabilidad: Una vez iniciada una transacción y terminada completamente no puede ser abortada.

Dentro del área de los sistemas computacionales el concepto de transacciones fue inicialmente utilizado para definir la consistencia entre múltiples usuarios de una base de datos.

Page 45: Concepto de Sistemas Distribuidos_1

 

Teoría del procesamiento de transacciones.

Consiste en una serie de modificaciones (transacciones) aun determinado recurso del sistema (por ejemplo una base de datos) y en donde se define un punto de inicio (Begin Tran) y un punto de terminación que define un bloque entre el conjunto de operaciones que son realizadas.

Dentro de este proceso en bloque los demás usuarios no pueden modificar nada hasta que no se presente un estado estable de los datos, esto ocasiona inconsistencia temporal y conflictos. Para evitar lo anterior se implementan dos maneras diferentes:

 Ejecutar transacciones serializadas. Es un sistema que permite el procesamiento de transacciones en forma secuencial o serializado y consiste en asignarle una secuencia a cada transacción, este proceso reduce el rendimiento del sistema.

 Ejecutar transacciones calendarizadas. Es un sistema que permite el proceso de transacciones asignándole tiempos de procesamiento el cual permite incrementar el rendimiento del sistema ya que se ejecuta un máximo de proceso en forma concurrente y no a través de una serie.

Page 46: Concepto de Sistemas Distribuidos_1

Propiedades de las transacciones.

Atomicidad de fallas. Consiste en efectuar todas las transacciones, pero en caso de falla no se realiza ninguna.

Permanencia. Consiste en que una vez completada una transacción satisfactoriamente los cambios ya no pueden perderse.

Seriabilidad. Consiste en asegurarse que los cambios siguen un orden adecuado.

Aborto de transacciones propio para cada transacción. Es la capacidad que se tiene para abortar el proceso transaccional en cualquier punto, el resultado de esta operación no puede ser revelado para otras transacciones.

Punto de inicio y terminación. Consiste en especificar un bloque inicial y un punto que termina el fin de ese bloque.

 

 Ejecutar transacciones anidadas. Consiste en tener transacciones que dependen de otras, estas transacciones están incluidas dentro de otra de un nivel superior y se les conoce como: SubTransacciones.

Page 47: Concepto de Sistemas Distribuidos_1

La transacción de nivel superior puede producir hijos (Subtransacciones) que hagan más fácil la programación del

sistema y mejorando el desempeño.

Instrucciones para el uso de transacciones.

La programación con uso transacciones requiere de instrucciones especiales, las cuales deben ser proporcionadas por el sistema operativo, por el compilador del lenguaje o por el manejador de la base de datos. Algunos ejemplos son:

BEGIN_TRANSACTIONEND_TRANSACTIONABORT_TRANSACTIONREADWRITE

La cantidad exacta de instrucciones disponibles para manejar transacciones depende del tipo de objetos y operaciones que deban ser procesadas.

Procesamiento de transacciones.

La estructura de una transacción usualmente se le da el nombre de modelo de la transacción, estas pueden ser planas (simples) o anidadas. Un aspecto muy importante en el manejo de transacciones es el mantener y aplicar algoritmos de control sobre los datos o recursos; para ese control también se utilizan protocolos que proporcionan confiabilidad como los siguientes:

Atomicidad. Protocolos de recuperación total.

Page 48: Concepto de Sistemas Distribuidos_1

Protocolos de compromiso global.

El control de las transacciones también requiere de controlar la concurrencia del acceso y uso hacia el recurso que se esta manipulando, ese control de concurrencia tiene 2 objetivos:

1. Como sincronizar la ejecución concurrente de transacciones.2. Consistencia intratransacción (aislamiento).

Para llevar a cabo el control de concurrencia dentro de un proceso de transacciones se manejan 2 modos:

 Ejecución centralizada de transacciones.

 Ejecución distribuida de transacciones.

Page 49: Concepto de Sistemas Distribuidos_1

 

Métodos de implantación de transacciones.

Espacio de trabajo privado.

Consiste en realizar copias de los bloques que serán utilizados dentro de una transacción de manera que se trabaje con estas copias para realizar todas las modificaciones necesarias. Todo el espacio de trabajo con la información que será utilizada es contenida dentro de estas copias denominado espacio de trabajo privado. Los demás usuarios trabajarán con la copia original de los bloques pero no podrán obtener segunda copia de los mismos.

Page 50: Concepto de Sistemas Distribuidos_1

Bitácora de escritura anticipada.

Este método consiste en realizar una lista con todas las transacciones que van siendo ejecutadas hacia un bloque o espacio de trabajo que sea estable, a esta lista se le conoce como lista de intenciones.

Las transacciones serán actualizadas con la información una vez que se ha determinado el fin de la transacción.