COMUNICACIÓN
COMUNICACIÓN
COMUNICACIÓN
EQUIPO 3:
OSCAR OZIEL PADILLA BÁRCENAS
ERIK ALEJANDRO RAMÍREZ DE LIRA
CHRISTIAN ISRAEL UBARIO
GUARADADO
LEONEL ALEJANDRO VIVAR ESPARZA
01
COMUNICACIÓN EN
SISTEMAS DISTRIBUIDOS
INTRODUCCIÓN
02 SISTEMAS DISTRIBUIDOS
FUNDAMENTOS
PROTOCOLO DE COMUNICACIÓN
Debido a la ausencia de memoria compartida en los sistemas
distribuidos, toda la comunicación se basa en el envío y la
recepción (de bajo nivel) de mensajes. Para que la comunicación
sea efectiva, los procesos deben acordar el significado de los bits
que se envían. MODELO OSI
El modelo OSI (Open Systems Interconnection) es un modelo de
referencia que divide la comunicación en siete capas: física, enlace
de datos, red, transporte, sesión, presentación y aplicación. Cada
capa tiene un propósito específico y proporciona un servicio a la
capa superior.
CAPA FÍSICA
Transmitir bits (ceros y unos)
PROTOCOLOS DE
BAJO NIVEL CAPA DE ENLACE DE DATOS
Agrupar bits en tramas y detectar errores
Las capas física, enlace de datos y red se encargan de la
transmisión física de los bits a través de la red. Las principales
funciones de estas capas son:
CAPA DE RED
04 FUNDAMENTOS
Enrutar las tramas a través de la red
PROTOCOLOS
DE
CAPA DE TRANSPORTE
Segmentar los mensajes en
TRANSPORTE
unidades más pequeñas, garantizar
la entrega de los mensajes y Las capas de transporte y sesión se encargan de
controlar el flujo de datos. proporcionar una comunicación confiable entre
dos procesos.
CAPA DE SESIÓN
Controlar el diálogo entre dos
procesos y proporcionar
herramientas de sincronización.
FUNDAMENTOS 05
PROTOCOLOS DE
MÁS ALTO NIVEL
Las capas de presentación y aplicación se encargan de la semántica de los mensajes. Las principales funciones de
estas capas son:
• Capa de presentación: Formatear los mensajes para que sean interpretados por el destinatario.
• Capa de aplicación: Proporcionar servicios a las aplicaciones, como transferencia de archivos, correo
electrónico y acceso a bases de datos.
06
PROTOCOLOS
MIDDLEWARE
Los protocolos middleware son una categoría de protocolos de propósito general que se
utilizan para implementar servicios de comunicación de alto nivel, como:
08
COMUNICACIÓN DISCRETA VS
POR FLUJO
• Discreta: Los mensajes son unidades
COMUNICACIÓN COMUNES completas de información.
• Persistencia + sincronización por
• Flujo: Se envían varios mensajes
presentación de petición: Utilizada en
relacionados entre sí en orden temporal.
sistemas de colas de mensajes.
09
LLAMADAS A
PROCEDIMIENTOS
REMOTOS
Las llamadas a procedimientos remotos (RPC) son un mecanismo fundamental en los sistemas distribuidos que
permite a un proceso en una máquina ejecutar un procedimiento en otra máquina. La RPC oculta la complejidad de
la comunicación entre máquinas, proporcionando una interfaz similar a la de las llamadas a procedimientos locales.
• Resguardo del cliente: Se ejecuta en la máquina cliente y transforma una llamada a un procedimiento local en
un mensaje que se envía al servidor.
• Resguardo del servidor: Se ejecuta en la máquina servidor y transforma un mensaje recibido del cliente en una
llamada a un procedimiento local.
11
FUNCIONAMIENTO BÁSICO
• El cliente llama al resguardo del cliente como si fuera un procedimiento local.
• El resguardo del cliente empaqueta los parámetros en un mensaje y lo envía al servidor.
• El resguardo del servidor recibe el mensaje y desempaca los parámetros.
• El resguardo del servidor llama al procedimiento remoto.
• El procedimiento remoto devuelve el resultado al resguardo del servidor.
• El resguardo del servidor empaqueta el resultado en un mensaje y lo envía al cliente.
• El resguardo del cliente recibe el mensaje y desempaca el resultado.
• El resguardo del cliente devuelve el resultado al cliente.
12
PASO DE PARÁMETROS
El paso de parámetros es un tema complejo en las RPC debido a la posible heterogeneidad de las máquinas. Los
problemas que pueden surgir incluyen:
REPRESENTACIÓN DE DATOS
Diferentes máquinas pueden usar diferentes formatos para representar tipos de datos básicos como enteros,
caracteres y números de punto flotante.
ORDENAMIENTO DE BYTES
Algunas máquinas numeran los bytes de derecha a izquierda (little endian) mientras que otras lo hacen de
izquierda a derecha (big endian)
13
Paso de parámetros de referencia
El paso de parámetros de referencia en las RPC es un tema complejo debido a la heterogeneidad de las máquinas.
Las soluciones existentes incluyen:
SERIALIZACIÓN
Convertir los datos a un formato estándar.
MARSHALLING
Empaquetar los datos de forma que se preserve su estructura y significado.
NEGOCIACIÓN DE TIPOS
Las máquinas cliente y servidor pueden negociar el formato de datos para cada parámetro.
14
Comunicación Transitoria Orientada a
Mensajes
Se ha puesto especial atención a la estandarización de la interfaz de la capa de transporte para permitir a los
programadores utilizar la suite completa de los protocolos (de mensajería) mediante un simple conjunto de primitivas.
las interfaces estándar facilitan llevar una aplicación a una máquina diferente.
Un socket es un punto final de comunicación en el que una aplicación puede escribir información destinada a enviarse
fuera de la red subyacente, y desde el cual puede leerse información entrante.
Un socket forma una abstracción sobre el punto final real de comunicación, el cual utiliza el sistema operativo local para
un protocolo de transporte específico.
15
Las primitivas de sockets para TCP:
17
La interfaz de paso de mensajes (MPI):
La MPI está diseñada para aplicaciones paralelas, y como tal, fue confeccionada para comunicación transitoria
PUNTOS IMPORTANTES
• Se diseñó para aplicaciones paralelas de alto rendimiento.
• Utiliza directamente la red subyacente.
• Asume que las fallas serias son fatales y no requieren recuperación automática.
• La MPI asume que la comunicación ocurre dentro de un grupo conocido de procesos.
• A cada grupo se le asigna un identificador.
18
• Dentro de un grupo, a cada proceso también se le asigna un identificador (local).
Las primitivas de mensajería MPI:
19
Sistemas de colas de mensajes
COMPARACION CON EL CORREO ELECTRONICO
• Los sistemas de colas de mensajes comparten algunas similitudes con el correo electrónico de internet.
• Ambos sistemas permiten la comunicación asíncrona y ambos pueden utilizarse para enviar mensajes a un
grupo de destinatarios.
Sistemas de colas de mensajes
DIFERENCIAS
• Entrega: En un sistema de colas de mensajes, un mensaje se entrega al destinatario o se informa al
remitente de que la entrega no fue posible.
• Prioridad: Los sistemas de colas de mensajes generalmente permiten a los remitentes especificar una
prioridad para sus mensajes.
• Seguridad: Los sistemas de colas de mensajes pueden configurarse para ser más seguros que el correo
electrónico.
WebSphere MQ
• La administración de redes sobrepuestas es un aspecto importante de MQ, pero puede ser compleja y
requiere un mantenimiento manual significativo.
• La administración de redes sobrepuestas es un aspecto importante de MQ, pero puede ser compleja y
requiere un mantenimiento manual significativo.
WebSphere MQ
PROBLEMAS POTENCIALES CON LA ADMINISTRACION DE
REDES SOBREPUESTAS
• Escalabilidad: La administración manual de canales puede ser difícil y
propensa a errores en redes grandes.
• La comunicación por multitransmisión también puede lograrse de maneras diferentes a la con figuración
explícita de rutas de comunicación.