PDF de programación - Tema # VI Sistemas de operación II - Comunicación en sistemas distribuidos

Imágen de pdf Tema # VI Sistemas de operación II - Comunicación en sistemas distribuidos

Tema # VI Sistemas de operación II - Comunicación en sistemas distribuidosgráfica de visualizaciones

Publicado el 15 de Mayo del 2019
53 visualizaciones desde el 15 de Mayo del 2019
1,1 MB
93 paginas
Creado hace 4a (30/07/2014)
COMUNICACIÓN EN

SISTEMAS DISTRIBUIDOS

Tema # VI

Sistemas de operación II

Abril-Julio 2014

Yudith Cardinale

INDICE

Protocolos de Comunicación
Propiedades Fundamentales de los Protocolos
Tipos de Protocolos de Transporte
Construcción de Bloques para la Comunicación
Modelo Cliente-Servidor (Operaciones Remotas)
RPC (Remote Procedure Call)
Comunicación en grupo

PROTOCOLOS DE COMUNICACIÓN

Dos de las características claves de los Sistemas
Distribuidos son:

La ausencia de memoria compartida
Existencia de múltiples elementos que pueden fallar
independientemente

Éstas implican que la comunicación se basa en la
transferencia de mensajes y la existencia de
mecanismos de comunicación entre procesos.

PROTOCOLOS DE COMUNICACIÓN

Funciones de los mecanismos de Comunicación:

Permitir la comunicación entre procesos separados sobre una
red de computadoras.
Proveer protección contra fallas.
Proveer ayuda natural para la estructuración modular de
grandes aplicaciones distribuidas (interfaces simples).
Esconder la distinción entre comunicación remota y local, para
permitir reconfiguración estática y dinámica.

PROTOCOLOS DE
COMUNICACIÓN

Los mecanismos de comunicación se expresan a
través de protocolos de comunicación. Algunos de
los más conocidos son:
- Modelo OSI de ISO
- Modelo ATM (Asynchronous Transfer Mode)

Especifica la forma como debe desarrollarse la
comunicación (formato, contenido y significado de
los mensajes intercambiados)

PROTOCOLOS DE COMUNICACIÓN

El modelo OSI de ISO es una armazón para
definir estándares para comunicar computadores
heterogéneos (1983). Entre sus características se
destacan las siguientes:

Comunicación entre sistemas abiertos
Protocolos orientados a conexión
Protocolos sin conexión

PROTOCOLOS DE COMUNICACIÓN

Proceso

A

Aplicación

Presentació
n

Sesión

Transporte

Red

Enlace

Físico

Proceso

B

Aplicación

Presentació
n

Sesión

Transporte

Red

Enlace

Físico

PROTOCOLOS DE COMUNICACIÓN

Hace uso de protocolos que definen la forma cómo debe

desarrollarse la comunicación (formato, contenido y significado de
los mensajes intercambiados).
Protocolo de aplicación (ftp, telnet, correo electrónico)
Protocolo de presentación (tipología del mensaje)
Protocolo de sesión (facilidades de sincronización)
Protocolo de transporte (TP0-TP4, TCP y UDP)
Protocolo de red (X.25, IP, ATM)
Protocolo de enlace de datos (checksum, control de errores)
Protocolo físico (estándar RS-232, 802.3)

PROTOCOLOS DE COMUNICACIÓN:

Componentes de un mensaje

PROPIEDADES FUNDAMENTALES

DE LOS PROTOCOLOS

Las redes pueden exhibir fallas que impliquen la pérdida de
paquetes.

Si sólo se pierden algunos paquetes (hay comunicación),
estas fallas pueden corregirse usando “feedback” en forma
de “ACK” y “timeouts”.

¿Qué implica que todos los paquetes se pierdan?

PROPIEDADES FUNDAMENTALES

DE LOS PROTOCOLOS
Los protocolos no pueden ser totalmente
confiables
El problema es que el cliente no sabe si su
requerimiento fue llevado a cabo o no

request

request

reply

Cliente Red Servidor

Cliente Red Servidor

PROPIEDADES FUNDAMENTALES

DE LOS PROTOCOLOS

Si la red fuese totalmente confiable:

¿Cuál es la incertidumbre del cliente ante una falla
del servidor?

request

request

Cliente Red Servidor

Cliente Red Servidor

PROPIEDADES FUNDAMENTALES DE LOS

PROTOCOLOS

Cuando el servidor revive luego de una caída, su cliente puede
intentar una nueva comunicación, retransmitiendo el último
“request” no respondido. ¿Qué sucede si el servidor ejecutó el
requerimiento la vez anterior? Hay dos posibilidades:

El servidor recuerda lo que realizó antes de la caída, recalcula
la respuesta y la envía al cliente.
El servidor sufre amnesia total. Olvida todo su estado, por lo
tanto, conocer que es una retransmisión, no ayuda.

PROPIEDADES FUNDAMENTALES

DE LOS PROTOCOLOS

Ante el modelo de amnesia total, los protocolos de
comunicación no pueden tener la propiedad de
entregar
“exactamente una vez”.
Pueden tener propiedad de:

los mensajes

Entregar mensaje al-menos-una-vez (at-least-once-
protocols)
Entregar mensajes a-lo-más-una-vez (at-most-once-
protocols)

PROPIEDADES FUNDAMENTALES DE

LOS PROTOCOLOS
Entrega al-menos-una-vez

En ausencia de fallas, entregan los mensajes exactamente-
una-vez.
Ante fallas, pueden entregar un mensaje más de una vez.
Se usa cuando los requerimientos son ídem potentes.
Esconden fallas de comunicación y de servidores.
Sun NFS usa este protocolo.

PROPIEDADES FUNDAMENTALES DE

LOS PROTOCOLOS
Entrega a-lo-más-una-vez

Detectan el hecho de que ha fallado la red o el servidor y lo reportan.
Operan en un contexto se sesión – una asociación entre dos procesos
durante la cual ambos mantienen el estado del protocolo.
Cuando se pierde el estado del protocolo, se termina la sesión.
No se reciben mensajes en una sesión diferente a la sesión en la que
se envió.
Las sesiones tienen identificadores únicos (timestamps, números
aleatorios).

TIPOS DE PROTOCOLOS DE

TRANSPORTE

La diversidad de necesidades de comunicación
imposibilita el uso de un único protocolo de comunicación
general. Se distinguen cuatro (4) clases:

Operaciones remotas (cliente-servidor o request-reply)
Protocolos de transferencia de datos en masa (Bulk
Data Transfer)
Comunicación uno-a-muchos
Comunicación de medios continuos

TIPOS DE PROTOCOLOS DE

TRANSPORTE
Operaciones remotas:

Forma más básica de comunicación en sistemas
distribuidos.
También llamada: cliente-servidor, comunicación
request-response e invocación remota.
RPC es un ejemplo de operación remota.

TIPOS DE PROTOCOLOS

DE TRANSPORTE

Operaciones remotas:

requiere
trabajo

ACK o
repuesta

Cliente Red Servidor

TIPOS DE PROTOCOLOS DE

COMUNICACIÓN

Protocolos de transferencia de datos en masa

(Bulk Data Transfer):

Se especializan en transferir grandes cuerpos de
datos en forma eficiente.
parte
Usados
transferencia de archivos

protocolos

de

como

de

TIPOS DE PROTOCOLOS

DE COMUNICACIÓN

Comunicación uno-a-muchos (comunicación

en grupo):

Usados en replicación.
Broadcast: enviar a todos los host de una red.
Multicast: enviar solo a un conjunto de host.

CONSTRUCCIÓN DE BLOQUES

PARA LA COMUNICACIÓN

Consiste en el “mapping” de estructuras de datos
a “ítemes de datos” para mensajes.
El problema surge porque no
los
computadores almacenan valores simples en el
mismo orden. Así, para que dos computadores
intercambien datos:

todos

CONSTRUCCIÓN DE BLOQUES

PARA LA COMUNICACIÓN

Los valores son convertidos a una forma de
representación externa de datos antes de la
transmisión y convertida a
local al
recibirlos.
Para comunicación entre computadores del mismo
tipo, la conversión a una representación externa de
datos, puede ser omitida

forma

la

CONSTRUCCIÓN DE BLOQUES

PARA LA COMUNICACIÓN

Cuando se usa comunicación orientada a conexión,
los computadores pueden negociar si usan
representación externa de datos.
Una alternativa es transmitir los valores de datos en
identificador de
su
arquitectura y al recibirlos se convierten, si es
necesario.

junto con un

forma nativa

CONSTRUCCIÓN DE BLOQUES

PARA LA COMUNICACIÓN

Algunos tipos de representaciones externas de
datos son:

Sun XDR (eXternal Data Representation).

Courier de Xerox.

MODELO CLIENTE-SERVIDOR

Sugiere estructurar al Sistema de Operación como un
grupo de procesos cooperantes: Clientes y Servidores.

Para evitar el costo

excesivo de los protocolos
orientados a la conexión,
usualmente utiliza un
protocolo “requerimiento-
respuesta” sin conexión.

MODELO CLIENTE-

SERVIDOR

MODELO CLIENTE-SERVIDOR

Direccionamiento

¿Cuál es la dirección del servidor?

Cliente

MODELO CLIENTE-SERVIDOR
Direccionamiento: Para que un cliente envíe un
mensaje a un servidor necesita conocer su
dirección.

Existen múltiples formas de hacer al cliente saber
las que se
cuál es esta dirección, entre
encuentran:

MODELO CLIENTE-SERVIDOR

(a) Colocar la dirección (IP,puerto) de la máquina
específica como una constante, dentro del
programa enviador.
(b) Colocar la dirección (IP,puerto) de la máquina
específica en un archivo de configuración.
Problema: No
transparente,
recompilar si cambia la dirección (a), .

necesario

es

MODELO CLIENTE-SERVIDOR

(c) Pasar como parámetro la dirección del servidor, al

momento de ejecutar el Cliente

Problema: usuario debe conocer la dirección

MODELO CLIENTE-SERVIDOR

(d) Localizar el servidor a través de un broadcast.

Se usa caching para
disminuir el número de
broadcasts.

> Problema: carga extra al sistema por el “broadcast” y el

caching.

MODELO CLIENTE-SERVIDOR

(e) Colocar nombres ASCII de los servidores en los clientes y

un servidor de nombres en una máquina dedicada.

S

3

4

C

1

2

NS

Problema: Componente centralizado y no transparente.

MODELO CLIENTE-SERVIDOR:

Aspectos del Diseño de las Primitivas de

Comunicación

Primitivas bloqueantes vs. no bloqueantes

Sincrónicas

Asincrónicas

MODELO CLIENTE-SERVIDOR:

Aspectos del Diseño de las Primitivas de

Primitivas bloqueantes vs. no bloqueantes

Comunicación

SEND

Sincrónicos.

MODELO CLIENTE-SERVIDOR:

Aspectos del Diseño de las Primitivas de

Comunicación

SEND

Asincrónicos.

MODELO CLIENTE-SERVIDOR:

Aspectos del Diseño de las Primitivas de

Comunicación

–Ventaja: Paralelismo en la ejecución
del proceso enviador con la
transmisión del mensaje.

–Desventaja cuando no hay buffer a
nivel del kernel: El enviador no puede
modificar su buffer del mensaje hasta
que ha sido efectivamente enviado.
Podría perderse el mens
  • Links de descarga
http://lwp-l.com/pdf15924

Comentarios de: Tema # VI Sistemas de operación II - Comunicación en sistemas distribuidos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad