Sistemas Distribuidos: Fundamentos, Arquitectura, Modelos IPC y Protocolos de Red

Informática y Telecomunicaciones4,74 KB

Introducción a los Sistemas Distribuidos

Un sistema distribuido (SD) está compuesto por computadoras conectadas a través de una red que se comunican y coordinan entre sí para lograr un objetivo global.

Motivos Principales

  • Compartir recursos de hardware y software.

Retos Fundamentales

  • Heterogeneidad.
  • Extensibilidad.
  • Seguridad.
  • Escalabilidad.
  • Gestión de fallos.
  • Concurrencia.
  • Transparencia.

Conceptos Clave

  • Middleware: Capa de abstracción que oculta la heterogeneidad y ofrece un modelo uniforme de programación.
  • Seguridad: Garantizada mediante confidencialidad, integridad y disponibilidad.
  • Escalabilidad: Capacidad de mantener la efectividad al aumentar el número de usuarios o recursos.
  • Fallos: Involucra detección, enmascaramiento, tolerancia, recuperación y uso de redundancia.

Tipos de Transparencia

La transparencia consiste en ocultar al usuario la existencia de componentes separados:

  • Acceso: El acceso local y remoto se realiza de la misma manera.
  • Ubicación: El usuario no necesita saber dónde se encuentra físicamente el recurso.
  • Concurrencia: Los procesos comparten recursos sin interferir entre sí.
  • Replicación: Existen varias copias de los datos sin que el usuario lo note.
  • Fallo: Se ocultan las fallas del sistema automáticamente.

Modelos Arquitectónicos

El modelo arquitectónico define la ubicación de las distintas partes y sus relaciones.

Tipos de Arquitecturas

  • Capas: Separan la complejidad del sistema en niveles.
  • Cliente/Servidor: Los clientes solicitan servicios y los servidores los proporcionan.
  • P2P (Peer-to-Peer): Los procesos o pares participan directamente en igualdad de condiciones.
  • Proxy / Caché: Intermediarios que facilitan y aceleran el acceso a los servidores.
  • Cliente ligero: Arquitectura donde la gran parte del procesamiento se realiza en el servidor.

Comunicación entre Procesos (IPC)

El IPC (Inter-Process Communication) permite la comunicación entre diferentes procesos.

Operaciones y Mecanismos

  • Operaciones básicas: send y receive.
  • El Sistema Operativo administra el IPC mediante colas, semáforos y memoria compartida.
  • Unicast: Comunicación de 1 proceso a 1 proceso.
  • Multicast: Comunicación de 1 proceso a un grupo de procesos.

Sincronización y Bloqueos

  • Síncrona: Las operaciones send y receive son bloqueantes.
  • Asíncrona: El send no es bloqueante; continúa al copiar el mensaje al búfer.
  • Blocking: El proceso queda retenido hasta que se completa la comunicación.
  • Deadlock (Bloqueo mutuo): Situación donde los procesos quedan esperando datos entre sí. Se previene o detecta mediante mecanismos de timeout.

Gestión de Datos y Formatos

La red transmite los datos como un flujo binario continuo.

Serialización de Datos

  • Marshalling: Aplanar la estructura de datos y convertirla a una representación externa estándar.
  • Unmarshalling: Convertir la representación externa a interna y reconstruir la estructura original.
  • Formatos comunes: XDR, ASN.1 y XML.
  • XML: Formato basado en texto donde las etiquetas indican el significado del dato.

Modelo OSI

Estructura de 7 capas: Aplicación → Presentación → Sesión → Transporte → Red → Enlace → Física.

Protocolos de Comunicación

Un protocolo establece las reglas mutuamente acordadas para intercambiar datos de forma correcta.

Requisitos de un Protocolo

  • Definir la secuencia de intercambio.
  • Establecer el formato de los datos.

El Protocolo HTTP

Funciona bajo el esquema donde el cliente envía una solicitud (request) y el servidor devuelve una respuesta (response).

  • Request HTTP: Comando + Dirección + Versión + Header opcional + Datos opcionales.
  • Response: Línea de estado + Headers + Documento o contenido solicitado.

Descargar

PDF Word HTML