domingo, 28 de septiembre de 2008

Modelo OSI

Introducción a la Comunicación en los Sistemas Distribuidos

En un sistema de un solo procesador la comunicación supone implícitamente la existencia de la memoria compartida:

  • Ej.: problema de los productores y los consumidores, donde un proceso escribe en un buffer compartido y otro proceso lee de él.
En un sistema distribuido no existe la memoria compartida y por ello toda la naturaleza de la comunicación entre procesos debe replantearse.

Los procesos, para comunicarse, deben apegarse a reglas conocidas como protocolos.

Para los sistemas distribuidos en un área amplia, estos protocolos toman frecuentemente la forma de varias capas y cada capa tiene sus propias metas y reglas.

Los mensajes se intercambian de diversas formas, existiendo muchas opciones de diseño al respecto; una importante opción es la “llamada a un procedimiento remoto”.

También es importante considerar las posibilidades de comunicación entre grupos de procesos, no solo entre dos procesos.


Protocolos con Capas

Debido a la ausencia de memoria compartida, toda la comunicación en los sistemas distribuidos se basa en la transferencia de mensajes[25, Tanenbaum].

Cuando el proceso “A” quiere comunicarse con el proceso “B”:

  • Construye un mensaje en su propio espacio de direcciones.
  • Ejecuta una llamada al sistema para que el S. O. busque el mensaje y lo envíe a través de la red hacia “B”.
  • Para evitar el caos, “A” y “B” deben coincidir en el significado de los bits que se envíen.
Los puntos de acuerdo necesarios incluyen lo siguiente:
  • ¿Cuántos voltios hay que utilizar para un bit “0” y cuántos para un bit “1”?.
  • ¿Cómo sabe el receptor cuál es el último bit del mensaje?.
  • ¿Cómo puede detectar si un mensaje ha sido dañado o perdido, y qué debe hacer si lo descubre?.
  • ¿Qué longitud tienen los números, cadenas y otros elementos de datos y cuál es la forma en que están representados?.
La ISO (Organización Internacional de Estándares) desarrolló un modelo de referencia que (ver Figura 8.1 [25, Tanenbaum]):
  • Identifica en forma clara los distintos niveles.
  • Estandariza los nombres de los niveles.
  • Señala cuál nivel debe realizar cuál trabajo.


Capas, interfaces y protocolos en el modelo OSI.

Este modelo se denomina “modelo de referencia para interconexión de sistemas abiertos” (ISO OSI o modelo OSI) [26, Tanenbaum].

El “modelo OSI” está diseñado para permitir la comunicación de los sistemas abiertos:

  • Son aquellos preparados para comunicarse con cualquier otro sistema abierto mediante reglas estándar:
    • Establecen el formato, contenido y significado de los mensajes recibidos y enviados.
    • Constituyen los protocolos, que son acuerdos en la forma en que debe desarrollarse la comunicación (ver Figura 8.2 [25, Tanenbaum]).


Un mensaje típico tal como aparece en la red.

El “modelo OSI” distingue entre dos tipos generales de protocolos:

  • Orientados hacia las conexiones:
    • Antes de intercambiar los datos, el emisor y el receptor:
      • Establecen en forma explícita una conexión.
      • Probablemente negocien el protocolo a utilizar.
      • Al finalizar, deben terminar la conexión.
      • El teléfono es un sistema de comunicación orientado hacia la conexión.
  • Sin conexión:
    • No es necesaria una configuración de antemano.
    • El emisor transmite el primer mensaje cuando está listo.
    • El depósito de una carta en un buzón es una comunicación sin conexión.
Cada capa proporciona una interfaz con la otra capa por encima de ella; la interfaz consiste de un conjunto de operaciones para definir el servicio que la capa está preparada para ofrecer a sus usuarios.

El protocolo de la capa “n” utiliza la información de la capa “n”.

Cada protocolo de capa se puede cambiar independientemente de los demás:

  • Esto es de fundamental importancia.
  • Confiere gran flexibilidad.
La colección de protocolos utilizados en un sistema particular se llama una “suite de protocolo” o “pila de protocolo”.

No hay comentarios: