Sockets
Capítulo 2 Intercomunicación entre Procesos
Enrique Ayala Franco, MCC
Capitulo 2. Intercomunicación entre Procesos
Objetivo: El alumno aplicará los modelos de comunicación entre procesos distribuidos que le permitan desarrollar aplicaciones acordes a las arquitecturas de sistemas distribuidos.
Introducción. Protocolos de Internet para la comunicación deprocesos.
• Sockets UDP. • Sockets TCP. • Comunicación en grupo: multidifusión IP.
Representación externa de datos. Comunicación entre procesos distribuidos.
• RPC. • RMI.
2
2.1 Introducción a la Comunicación entre Procesos
3
Las Capas del Middleware
Aplicaciones, Servicios
RMI y RPC En este capítulo
Protocolo de petición-respuesta (request-reply)
marshalling yrepresentación externa
UDP y TCP
Capa Middleware
Comunicación entre Procesos
4
Introducción
Muchas aplicaciones y servicios de red como, la transferencia de archivos, verificación de autenticidad, ingreso remoto, acceso a sistemas de archivos remoto, se basan en el modelo cliente servidor. Un proceso servidor puede estar en la misma máquina que el cliente o en otra, en tal caso se requierecomunicación a través de la red. Las dos principales clases de protocolos de comunicaciones de bajo nivel que manejan el paradigma cliente-servidor son:
protocolos orientados a conexión (TCP) protocolos sin conexión (UDP)
Comunicación entre Procesos
5
Comunicación entre procesos
La forma más simple de comunicación entre procesos es el paso de mensajes. El paso de mensajes se basa endos operaciones:
Envía (send) Recibe (receive)
• definidas en función del origen y destino del mensaje
Esta actividad implica la comunicación de datos desde el proceso emisor al proceso receptor y puede implicar además la sincronización de los dos procesos.
Comunicación entre Procesos
6
Comunicación entre procesos
A cada destino se le asocia una cola de mensajes recibidos Unemisor entrega un mensaje en una cola remota Un receptor lee y elimina los mensajes de su cola local
7
Características de la Comunicación
La comunicación entre los procesos puede ser: síncrona y asíncrona. Síncrona
Los procesos emisor y receptor se sincronizan en cada mensaje. En este caso, tanto envía como recibe son operaciones bloqueantes. A cada envía producido, el proceso emisorse bloquea hasta que se produce el correspondiente recibe Cuando se invoca un recibe, el proceso se bloquea hasta que llega un mensaje
Comunicación entre Procesos
8
Características de la Comunicación
Comunicación asíncrona
La utilización de la operación envía no es bloqueante. La operación recibe puede ser bloqueante o no bloqueante. El proceso emisor puede continuar tan prontocomo el mensaje haya sido copiado en el búfer local La transmisión del mensaje se lleva a cabo en paralelo con el proceso emisor El proceso receptor sigue con su flujo de ejecución después de invocar la operación recibe
Comunicación entre Procesos
9
Características de la Comunicación
Destino de los mensajes
(dirección IP, puerto local) Los servidores hacen público el número desus puertos para que sean usados por los clientes
Fiabilidad
Garantiza que los mensajes se entregan a pesar de perder un número razonable de ellos
Integridad
Los mensajes deben llegar a su destino sin corromperse ni duplicarse
Ordenación
Los mensajes son entregados en el orden de su emisión
10
Sockets (conectores)
Un socket es una abstracción de un canal de comunicación dedatos entre un par de procesos, que esconde los detalles del proceso de comunicación. (conectar, leer, escribir, etc.) Permite tratar la conexión de red como un canal en el que los bytes pueden ser leídos o escritos de manera similar a la operación con archivos. Además, evita tener que preocuparse por detalles de bajo nivel como sería el tamaño de los paquetes, su retransmisión, el tipo de...
Regístrate para leer el documento completo.