Suche senden
Hochladen
Comunicacion entre procesos SSDD
•
2 gefällt mir
•
3,317 views
Jorge Guerra
Folgen
Sesion 3 Sistemas Distribudos FISI UNMSM, año 2012
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 74
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Tabla comparativa servidores web
Tabla comparativa servidores web
juancma77
Ensayo wireshark
Ensayo wireshark
citlalimtz2621
Servicio de Nombramiento
Servicio de Nombramiento
Jorge Guerra
Sistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e Implementacion
Jorge Guerra
Transacciones
Transacciones
Daniel Antonio Cruz
Patrones diseño y arquitectura
Patrones diseño y arquitectura
Joan Sebastián Ramírez Pérez
Normas ISO e IEEE
Normas ISO e IEEE
jleo23
Todo Sobre El Dns
Todo Sobre El Dns
Edwin Cusco
Empfohlen
Tabla comparativa servidores web
Tabla comparativa servidores web
juancma77
Ensayo wireshark
Ensayo wireshark
citlalimtz2621
Servicio de Nombramiento
Servicio de Nombramiento
Jorge Guerra
Sistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e Implementacion
Jorge Guerra
Transacciones
Transacciones
Daniel Antonio Cruz
Patrones diseño y arquitectura
Patrones diseño y arquitectura
Joan Sebastián Ramírez Pérez
Normas ISO e IEEE
Normas ISO e IEEE
jleo23
Todo Sobre El Dns
Todo Sobre El Dns
Edwin Cusco
PROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOS
PROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOS
JAV_999
Rangos de IPs Públicas y Privadas
Rangos de IPs Públicas y Privadas
Victor Caleb Cantu Perez
Diagramas de implementacion
Diagramas de implementacion
ZonickX
RMI
RMI
Saul Flores
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas Distribuidos
Jorge Guerra
Web services en sistemas distribuidos
Web services en sistemas distribuidos
Tensor
Introducción a CentOS 7
Introducción a CentOS 7
Carlos Antonio Leal Saballos
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz)
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz)
Alberto Hdz
bases de datos distribuidas
bases de datos distribuidas
Bofo Cid
Estándares, Modelos y Normas Internacionales de Redes
Estándares, Modelos y Normas Internacionales de Redes
Jose Adalberto Cardona Ortiz
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
yoiner santiago
Eliminar una vlan
Eliminar una vlan
Aime Rodriguez
Sistemas distribuidos
Sistemas distribuidos
Luis Yallerco
Introduccion a los sistemas distribuidos
Introduccion a los sistemas distribuidos
Rene Guaman-Quinche
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
JUANR1022
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
Margarita Labastida
sistemas distribuidos
sistemas distribuidos
Norberto Angulo
Servicios DHCP, DNS y TELNET
Servicios DHCP, DNS y TELNET
Óscar Humberto Díaz Jurado
Gestión de redes, SNMP y RMON
Gestión de redes, SNMP y RMON
Dani Gutiérrez Porset
Implementación de un Servidor DHCP
Implementación de un Servidor DHCP
Esteban Saavedra
Procesos - Sistemas Operativos
Procesos - Sistemas Operativos
richardstalin
Sincronización de Procesos
Sincronización de Procesos
Cristhian Rosales
Weitere ähnliche Inhalte
Was ist angesagt?
PROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOS
PROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOS
JAV_999
Rangos de IPs Públicas y Privadas
Rangos de IPs Públicas y Privadas
Victor Caleb Cantu Perez
Diagramas de implementacion
Diagramas de implementacion
ZonickX
RMI
RMI
Saul Flores
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas Distribuidos
Jorge Guerra
Web services en sistemas distribuidos
Web services en sistemas distribuidos
Tensor
Introducción a CentOS 7
Introducción a CentOS 7
Carlos Antonio Leal Saballos
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz)
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz)
Alberto Hdz
bases de datos distribuidas
bases de datos distribuidas
Bofo Cid
Estándares, Modelos y Normas Internacionales de Redes
Estándares, Modelos y Normas Internacionales de Redes
Jose Adalberto Cardona Ortiz
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
yoiner santiago
Eliminar una vlan
Eliminar una vlan
Aime Rodriguez
Sistemas distribuidos
Sistemas distribuidos
Luis Yallerco
Introduccion a los sistemas distribuidos
Introduccion a los sistemas distribuidos
Rene Guaman-Quinche
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
JUANR1022
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
Margarita Labastida
sistemas distribuidos
sistemas distribuidos
Norberto Angulo
Servicios DHCP, DNS y TELNET
Servicios DHCP, DNS y TELNET
Óscar Humberto Díaz Jurado
Gestión de redes, SNMP y RMON
Gestión de redes, SNMP y RMON
Dani Gutiérrez Porset
Implementación de un Servidor DHCP
Implementación de un Servidor DHCP
Esteban Saavedra
Was ist angesagt?
(20)
PROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOS
PROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOS
Rangos de IPs Públicas y Privadas
Rangos de IPs Públicas y Privadas
Diagramas de implementacion
Diagramas de implementacion
RMI
RMI
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas Distribuidos
Web services en sistemas distribuidos
Web services en sistemas distribuidos
Introducción a CentOS 7
Introducción a CentOS 7
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz)
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz)
bases de datos distribuidas
bases de datos distribuidas
Estándares, Modelos y Normas Internacionales de Redes
Estándares, Modelos y Normas Internacionales de Redes
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
Eliminar una vlan
Eliminar una vlan
Sistemas distribuidos
Sistemas distribuidos
Introduccion a los sistemas distribuidos
Introduccion a los sistemas distribuidos
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
sistemas distribuidos
sistemas distribuidos
Servicios DHCP, DNS y TELNET
Servicios DHCP, DNS y TELNET
Gestión de redes, SNMP y RMON
Gestión de redes, SNMP y RMON
Implementación de un Servidor DHCP
Implementación de un Servidor DHCP
Andere mochten auch
Procesos - Sistemas Operativos
Procesos - Sistemas Operativos
richardstalin
Sincronización de Procesos
Sincronización de Procesos
Cristhian Rosales
Gestores de descarga
Gestores de descarga
vicente lesano
Gestores de descarga
Gestores de descarga
yanciflorez
Dos yogures y un hilo pdf
Dos yogures y un hilo pdf
inma zamorano pérez
Protocolos de comunicación
Protocolos de comunicación
Nohemi Alvarez
Comunicación entre Procesos - IPC
Comunicación entre Procesos - IPC
martadans
Caracteristicas de Sistemas Hipermediales
Caracteristicas de Sistemas Hipermediales
Didier Dario Garces Vertel
Diapositivas de las capas del modelo osi.
Diapositivas de las capas del modelo osi.
Elia Archibold
Diapositivas modelo osi
Diapositivas modelo osi
carito6626
Presentacion modelo osi
Presentacion modelo osi
elyoarabia
Diapositiva Modelo Osi
Diapositiva Modelo Osi
MEKY04
Definiciones Sistemas Distribuidos
Definiciones Sistemas Distribuidos
Jorge Guerra
Ensayo de Comunicacion (Maria Garcia)
Ensayo de Comunicacion (Maria Garcia)
Maria Garcia
Diapositiva De Osi
Diapositiva De Osi
Belarmino Tomicha
Modelo OSI
Modelo OSI
Comdat4
Diagrama de flujo
Diagrama de flujo
Alan Ponce
Modelos de comunicacion mapa conceptual
Modelos de comunicacion mapa conceptual
Monica_Molina
Mapa mental
Mapa mental
Victor Vences
Protocolos de red
Protocolos de red
David Narváez
Andere mochten auch
(20)
Procesos - Sistemas Operativos
Procesos - Sistemas Operativos
Sincronización de Procesos
Sincronización de Procesos
Gestores de descarga
Gestores de descarga
Gestores de descarga
Gestores de descarga
Dos yogures y un hilo pdf
Dos yogures y un hilo pdf
Protocolos de comunicación
Protocolos de comunicación
Comunicación entre Procesos - IPC
Comunicación entre Procesos - IPC
Caracteristicas de Sistemas Hipermediales
Caracteristicas de Sistemas Hipermediales
Diapositivas de las capas del modelo osi.
Diapositivas de las capas del modelo osi.
Diapositivas modelo osi
Diapositivas modelo osi
Presentacion modelo osi
Presentacion modelo osi
Diapositiva Modelo Osi
Diapositiva Modelo Osi
Definiciones Sistemas Distribuidos
Definiciones Sistemas Distribuidos
Ensayo de Comunicacion (Maria Garcia)
Ensayo de Comunicacion (Maria Garcia)
Diapositiva De Osi
Diapositiva De Osi
Modelo OSI
Modelo OSI
Diagrama de flujo
Diagrama de flujo
Modelos de comunicacion mapa conceptual
Modelos de comunicacion mapa conceptual
Mapa mental
Mapa mental
Protocolos de red
Protocolos de red
Ähnlich wie Comunicacion entre procesos SSDD
Comunicación Interactiva
Comunicación Interactiva
Reimar Carmona
Orcobot - Avances Segundo Parcial
Orcobot - Avances Segundo Parcial
orcobot
Expocicion
Expocicion
DREECTOR
Expocicion
Expocicion
javier giovanni
Expocicion
Expocicion
murycio
Expocicion
Expocicion
docburbu
Expocicion
Expocicion
Mauricio Castillo Saavedra
Convertirdor+de+pdf...
Convertirdor+de+pdf...
paolove
20100623 comunicaciones-unificadas-avatar-v2
20100623 comunicaciones-unificadas-avatar-v2
campus party
Procesamiento de datos ii luis castellanos (3)
Procesamiento de datos ii luis castellanos (3)
Luis R Castellanos
Comunicaciones Unificadas con Software Libre
Comunicaciones Unificadas con Software Libre
Alejandro Rios Peña
Webinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - Quobis
Quobis
Kubuntu - Aplicaciones
Kubuntu - Aplicaciones
Dani Gutiérrez Porset
Presentación proyecto fin de carrera
Presentación proyecto fin de carrera
Carlos Pérez Fernández
Presentación multimedia
Presentación multimedia
wilmarvallejo
LP II clase04 - Reportes
LP II clase04 - Reportes
AngelDX
II Llampageek: Uso corporativo del software libre
II Llampageek: Uso corporativo del software libre
EtiCAGNU
Ginga ncl-lua
Ginga ncl-lua
Luis Bacchetta
Adapactión de contenido web a la lengua de signos desde la perspectiva del so...
Adapactión de contenido web a la lengua de signos desde la perspectiva del so...
guestc92423
Informe practica1 kiaraescobar
Informe practica1 kiaraescobar
Franklin Alarza
Ähnlich wie Comunicacion entre procesos SSDD
(20)
Comunicación Interactiva
Comunicación Interactiva
Orcobot - Avances Segundo Parcial
Orcobot - Avances Segundo Parcial
Expocicion
Expocicion
Expocicion
Expocicion
Expocicion
Expocicion
Expocicion
Expocicion
Expocicion
Expocicion
Convertirdor+de+pdf...
Convertirdor+de+pdf...
20100623 comunicaciones-unificadas-avatar-v2
20100623 comunicaciones-unificadas-avatar-v2
Procesamiento de datos ii luis castellanos (3)
Procesamiento de datos ii luis castellanos (3)
Comunicaciones Unificadas con Software Libre
Comunicaciones Unificadas con Software Libre
Webinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - Quobis
Kubuntu - Aplicaciones
Kubuntu - Aplicaciones
Presentación proyecto fin de carrera
Presentación proyecto fin de carrera
Presentación multimedia
Presentación multimedia
LP II clase04 - Reportes
LP II clase04 - Reportes
II Llampageek: Uso corporativo del software libre
II Llampageek: Uso corporativo del software libre
Ginga ncl-lua
Ginga ncl-lua
Adapactión de contenido web a la lengua de signos desde la perspectiva del so...
Adapactión de contenido web a la lengua de signos desde la perspectiva del so...
Informe practica1 kiaraescobar
Informe practica1 kiaraescobar
Kürzlich hochgeladen
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
ssuserf18419
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
Maricarmen Sánchez Ruiz
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
LolaBunny11
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Keyla Dolores Méndez
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
BRAYANJOSEPHPEREZGOM
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
Julian Lamprea
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
GDGSucre
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
Kürzlich hochgeladen
(10)
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
Comunicacion entre procesos SSDD
1.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Comunicacion entre procesos Lic. Jorge Guerra Guerra Mayo 2012
2.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Comunicación entre procesos •Es la cooperación entre procesos para lograr un objetivo global. (Cada proceso hace su labor). •Dos Formas –Procesos locales –Procesos Remotos Lic. Jorge Guerra Guerra 2
3.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Modalidades de interacción entre procesos Comunicación Unicast Comunicación multicast Lic. Jorge Guerra Guerra 3
4.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Comunicación en Sistemas Distribuidos Red de comunicación es elemento fundamental para comunicación entre procesos. Dos modelos de comunicación entre procesos: Memoria compartida. zona común en que los mensajes podrán ser compartidos entre cliente y servidor , la base de datos distribuida es un ejemplo de uso. Lic. Jorge Guerra Guerra 4
5.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. 2 Memoria compartida Declaración independiente de variables Proceso A Proceso B Texto Texto Datos var2 Datos var1 2 Pila Segmento Pila de memoria compartida Lic. Jorge Guerra Guerra 5
6.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Modelos de comunicación (cont) Paso de mensajes En este modelo el proceso cliente y el proceso servidor se encuentran en máquinas distintas y no tienen ningún elemento común entre ellos, por lo que solo se servirán del medio de comunicación para intercambiarse mensajes. Lic. Jorge Guerra Guerra 6
7.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Paso de mensajes Permite resolver: Exclusión mutua Sincronizar un proceso que recibe un mensaje y otro que lo envía Comunicación de datos entre espacios de memoria diferentes (mismo computador, diferentes computadores) Primitivas básicas: send(destino, mensaje) envía un mensaje al proceso destino receive(destino, mensaje) recibe un mensaje del proceso destino Lic. Jorge Guerra Guerra 7
8.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Paso de mensajes Múltiples soluciones Aspectos de diseño Tamaño del mensaje Flujo de datos (unidireccional, bidireccional) Nombrado Directo Indirecto (puertos, colas) Sincronización (síncrono, asíncrono) Almacenamiento Lic. Jorge Guerra Guerra 8
9.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Uso de colas y puertos Proceso cliente Proceso cliente send Proceso cliente Proceso cliente receive send Puerto mensaje mensaje Cola de mensajes Comunicación con Comunicación con puertos colas de mensajes Lic. Jorge Guerra Guerra 9
10.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Tipos de paso de mensajes Paso de mensajes puro Llamada a procedimientos remotos Invocación a métodos remotos Lic. Jorge Guerra Guerra 10
11.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Arquitectura de comunicaciones: Modelo Cliente/Servidor Lic. Jorge Guerra Guerra 11
12.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Modelo con proxy o cache Lic. Jorge Guerra Guerra 12
13.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Modelo multicapa Lic. Jorge Guerra Guerra 13
14.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Código móvil Lic. Jorge Guerra Guerra 14
15.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Modelo peer-to-peer Lic. Jorge Guerra Guerra 15
16.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Factores de Comunicación Los diferentes mecanismos de comunicación se caracterizan por los siguientes factores: Rendimiento: Latencia, ratio de transferencia, ancho de banda, ... Escalabilidad: Número de elementos activos. Fiabilidad: Pérdida de mensajes. Seguridad:Cifrado, certificación, ... Movilidad: Equipos móviles. Calidad de Servicio (QoS): Reserva y garantía de anchos de banda. Comunicación en grupo: Multicast. Lic. Jorge Guerra Guerra 16
17.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Fundamentos de la comunicación entre procesos Procesos en diferentes maquinas. Se requiere: Una red de comunicaciones Lenguaje común de comunicaciones Protocolo de transporte Lic. Jorge Guerra Guerra 17
18.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Niveles de Comunicación Lic. Jorge Guerra Guerra 18
19.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Tipos de comunicacion Comunicación asíncrona - el remitente continúa inmediatamente después de enviar el mensaje, el mensaje se almacena en un búfer local. Comunicación Síncrona - el remitente está bloqueado hasta que el mensaje sea almacenado en un búfer del host receptor, o efectivamente sea entregado al receptor Lic. Jorge Guerra Guerra 19
20.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Comunicación Síncrona VS Asíncrona • Una cola está asociado con cada destino del mensaje. • Los procesos de envío causaran que los mensajes se añadan a colas remotas. • Los procesos de recepción eliminaran los mensajes de las colas locales. La comunicación entre los procesos de envío y recepción puede ser sincrónica o asincrónica. Lic. Jorge Guerra Guerra 20
21.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Comunicación Sincrona Los procesos de envio y recepcion se sincronizan en cada mensaje. En este caso, El send y receive son operaciones bloqueantes: cuando un send() es ejecutado, el proceso de envío está bloqueado hasta que la recepción correspondiente se emita; cada vez que una receive() es ejecutado,se bloquea el proceso de recepción hasta que llegue un mensaje. Lic. Jorge Guerra Guerra 21
22.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Comunicación Asincrona • La operacion send() es no-bloqueante: ‣ el proceso de envío termina tan pronto como el mensaje ha sido copiado en un buffer local; ‣ la transmisión del mensaje se realiza en paralelo con el proceso de envío. • La operacion receive() puede ser bloqueante o no bloqueante: ‣ [no-bloqueante] El proceso de recepcion se realiza normalmente aun se haya ejecutado la operacion receive(); ‣ [bloqueante] procesos de recepcion se bloquean hasta que un mensaje llegue. Lic. Jorge Guerra Guerra 22
23.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Primitivas de funcion para comunicación entre procesos Lic. Jorge Guerra Guerra 23
24.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Algoritmo: Paso de Mensajes Los modelos de comunicación basados en cliente- servidor con paso de mensajes responden al esqueleto: msg CLIENTE SERVIDOR msg Send(msg) Receive(msg) msg Mensaje msg,reply; Mensaje op,ack; msg=<dato a trasmitir> receive(op); send(msg); if(validOp(op)) receive(reply); ack=<operación OK> if(isOK(reply)) else <operación correcto> ack=<operación ERROR> else send(ack); <error en operación> ... ... Lic. Jorge Guerra Guerra 24
25.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. • Direcciones IP Las direcciones IP son una serie de cuatro cifras 0..255 (4 bytes, 32 bits) separadas por puntos. Existe una dirección IP especial: 127.0.0.1 que referencia siempre nuestra máquina local. Por ello, tiene asociado el nombre "localhost". Rangos reservados: 192.168.0.0 .. 192.168.0.255 192.168.1.0 .. 192.168.1.255 Lic. Jorge Guerra Guerra 25
26.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Puerto Código de identificación que generalmente está asignado de antemano por el fabricante de la aplicación que genera el proceso FTP (21) WWW(80) IMAP(143) POP3(110) SMTP(25) SSH(22) TeInet(23) MysqI(3306) Observación: Los puertos del 1 al 1024 están reservados para el Sistema Operativo, por lo que los demás se pueden usar para cualquier aplicación. Lic. Jorge Guerra Guerra 26
27.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Las capas TCP/IP mail, file transfer, web Application Application tcp, udp Transport Transport ip Internet Internet Internet Internet Media access Media access Media access Media access Lic. Jorge Guerra Guerra 27
28.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Capas, Protocolos y Mensajes Application M M Transport Ht M Ht M Internet Hi Ht M Hi Ht M Media access Hm Hi Ht M Hm Hi Ht M Lic. Jorge Guerra Guerra 28
29.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Representacion del modelo TCP/IP Lic. Jorge Guerra Guerra 29
30.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Protocolos en TCP/IP Lic. Jorge Guerra Guerra 30
31.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Capa de transporte La capa de transporte tiene la misión de establecer la forma de enviar el mensaje producido en la capa de aplicación, para ello establece las siguientes operaciones: La división del mensaje a enviar en unidades más pequeñas denominadas paquetes. En el proceso emisor estos paquetes serán enviados mediante un criterio de transmisión determinado con destino al proceso receptor. En el proceso receptor la operación consiste en recuperar los paquetes recibidos y mediante un algoritmo de reconstrucción regenerar el mensaje original. Lic. Jorge Guerra Guerra 31
32.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Tipos de servicios en Capa de transporte Servicios orientados a conexión envío de paquetes en forma secuencial camino o ruta de envío predefinida entre cliente/servidor (stream) capacidad de retransmisión es confiable y es poco probable la perdida de paquetes el algoritmo de recuperación del mensaje recibido es sencillo Lic. Jorge Guerra Guerra 32
33.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Tipos de servicios en Capa de transporte Servicios orientados a no conexión No hay camino predeterminado entre cliente y servidor La transmisión de los mensajes es de tipo paralela o simultánea Cada paquete toma su propio camino para llegar a su destino Es poco confiable El algoritmo de recuperación del mensajes es más complejo utilizando para ello un algoritmo de ordenamiento Lic. Jorge Guerra Guerra 33
34.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Datagramas En Internet, la información se transmite mediante datagramas. La información se divide en paquetes, denominados datagramas IP. Cada paquete puede seguir un camino diferente desde el origen hasta el destino, pueden llegar en distinto orden de cuando se enviaron, o no llegar. Lic. Jorge Guerra Guerra 34
35.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. TCP y UDP para Cliente / Servidor request response UDP TCP T/TCP Lic. Jorge Guerra Guerra 35
36.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Socket Se considera como un extremo de una conexión de comunicación entre dos computadoras. Por otro lado, si lo vemos del punto de vista de la programación un socket representa el mecanismo para transferir datos de una computadora a otra Lic. Jorge Guerra Guerra 36
37.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Como funciona el socket Lic. Jorge Guerra Guerra 37
38.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Socket dentro del modelo TCP/IP Lic. Jorge Guerra Guerra 38
39.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Atributos de un socket Dominio: Especifica el medio de comunicación de la red que el socket va a utilizar Tipo: Define las características de la comunicación entre procesos en la que es usado un socket, es decir el tipo de comunicación que se realizara entre cliente y servidor. Protocolo: La capa de transporte proporciona el protocolo necesario para el uso del socket. Lic. Jorge Guerra Guerra 39
40.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Tipos de Socket Socket UDP Socket TCP Socket Raw Socket SeqSocket Lic. Jorge Guerra Guerra 40
41.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Flujograma de sockets UDP Lic. Jorge Guerra Guerra 41
42.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Flujograma de sockets TCP Lic. Jorge Guerra Guerra 42
43.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sockets en Java Engloba en objetos cada una de las estructuras de la comunicación. Las funciones se tratan como métodos de dichos objetos: InetAddress Socket DatagramSocket ServerSocket Connection DatagramPacket Define un nivel de abstracción mayor, proporcionando constructores que realizan parte del proceso de inicialización de los elementos. Lic. Jorge Guerra Guerra 43
44.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Clases de comunicaciones-paquete java.net Lic. Jorge Guerra Guerra 44
45.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sockets en Java(Direccionamiento) Las direcciones de Internet se asocian a objetos de la clase InetAddress. Estos objetos se construyen en base a métodos estáticos de la clase: static InetAddress getByName(String host) Obtiene una dirección IP en base al nombre (dominios o números). static InetAddress getLocalHost() Obtiene la dirección IP local. Lic. Jorge Guerra Guerra 45
46.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sockets en Java (UDP) La información a trasmitir se asocia a un objetos de la clase DatagramPacket. Estos objetos se construyen con un array de bytes a transmitir: Lic. Jorge Guerra Guerra 46
47.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Lic. Jorge Guerra Guerra 47
48.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sockets en Java (UDP) La comunicación vía UDP se realiza por medio de objetos de la clase DatagramSocket. DatagramSocket(int puerto,InetAddress dir) Crea un socket UDP con un bind a la dirección y puerto indicados. Dirección y puerto son opcionales (se elige uno libre). void send(DatagramPacket paquete) Envía el datagrama a la dirección del paquete. void receive(DatagramPacket paquete) Se bloquea hasta la recepción del datagrama. Lic. Jorge Guerra Guerra 48
49.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sockets en Java (TCP) Se utilizan dos clases de socket (una para el cliente y otra para socket servidor). Para el cliente: Socket(InetAddress dir, int puerto) Crea un socket stream para el cliente conectado con la dirección y puerto indicados. Existen otros constructores con diferentes argumentos. Para el servidor: ServerSocket(int puerto) Crea un socket stream para el servidor. Existen otros constructores con diferentes argumentos. Socket accept() Prepara la conexión y se bloquea a espera de conexiones. Equivale a listen y accept de BSD Sockets. Devuelve un Socket. Lic. Jorge Guerra Guerra 49
50.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Ejemplo de comunicación TCP Lic. Jorge Guerra Guerra 50
51.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Streams TCP Lic. Jorge Guerra Guerra 51
52.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Transferencias de datos TCP Lic. Jorge Guerra Guerra 52
53.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Usando InputStream y OutputStream en TCP Lic. Jorge Guerra Guerra 53
54.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Cliente-servidor con sockets streams de Java Lic. Jorge Guerra Guerra 54
55.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Clases URL / URLConnection Estas clases tienen la misma funcionalidad que las clases Socket y ServerSocket, pero son más sencillas de utilizar (más alto nivel). Nos permiten establecer una conexión con cualquier recurso de Internet y descargar su contenido, así como conectar dos ordenadores y transferir datos mediante flujos (streams). Lic. Jorge Guerra Guerra 55
56.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Lic. Jorge Guerra Guerra 56
57.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sockets en .NET Implementación en C#
58.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Absolute Basics All socket services in System.Net.Sockets namespace System.Net provides services for DNS, IP Addresses, HTTP services etc Lic. Jorge Guerra Guerra 58
59.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sockets TCP (lado servidor) La creación de un servidor TCP no resulta demasiado complicada. En primer lugar, debemos establecer el socket a través del cual el servidor aceptará peticiones, para lo cual nos hace falta una dirección IP (la correspondiente a la máquina en la que se ejecute el servidor) y un número de puerto TCP: // DNS: nombre del host -> dirección IP IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); IPAddress ipAddress = ipHostInfo.AddressList[0]; // Puerto IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000); Lic. Jorge Guerra Guerra 59
60.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Creando un Socket Must specify address family, socket type and protocol type Address Family: InterNetwork (Addr for IP Ver 4).. InterNetworkV6 (ver 6) Socket Type: Stream, Dgram, Raw etc Protocol Type: Tcp, Udp Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); Lic. Jorge Guerra Guerra 60
61.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sockets TCP (lado servidor) Una vez que tenemos el puerto a través del cual aceptaremos conexiones, creamos físicamente el socket y lo configuramos para que pueda aceptar conexiones: El método Listen pone el socket en estado de escucha y su parámetro establece la longitud máxima de la cola de conexiones pendientes que puede tener el servidor antes de empezar a rechazar conexiones [backlog, en inglés]. Socket listener = new Socket ( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp ); listener.Bind(localEndPoint); listener.Listen(100); Lic. Jorge Guerra Guerra 61
62.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sockets TCP (lado servidor) A continuación, nos quedamos esperando a que un cliente establezca una conexión con nuestro servidor. El método Accept extrae la primera petición de la cola asociada al servidor y devuelve un nuevo socket que podemos utilizar para comunicarnos con el cliente: Socket handler = listener.Accept(); En este caso hemos utilizado los sockets de la forma tradicional (la misma que originalmente se ideó en la distribución BSD de UNIX): el servidor se queda esperando al llamar a Accept hasta que llegue alguna petición. En Windows, no obstante, también podríamos haber utilizado sockets de forma asíncrona, para evitar que el servidor quede bloqueado indefinidamente. Lic. Jorge Guerra Guerra 62
63.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Next Step..Creating a data pipe What we need… IP address and port number 162.312.324.400:8000 What we have… a more user friendly web address What we need is known in C# as an Endpoint…there is an Endpoint Class for each family, for IP addresses the class is known as IPEndPoint Lic. Jorge Guerra Guerra 63
64.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sockets TCP (lado servidor) Cuando la llamada a Accept devuelve un nuevo socket, entonces podemos realizar la tarea para la cual hayamos diseñado nuestro servidor. Por ejemplo, podemos construir un servidor que haga de eco, devolviéndole al cliente lo mismo que éste le envíe: byte[] bytes = new byte[1024]; int count; String data = ""; do { count = handler.Receive(bytes); data += System.Text.Encoding.ASCII.GetString(bytes,0,count); } while ( data.IndexOf("<FIN>") == -1 ); // Eco Console.WriteLine( "Texto recibido received : {0}", data); byte[] msg = System.Text.Encoding.ASCII.GetBytes(data); handler.Send(msg); handler.Shutdown(SocketShutdown.Both); handler.Close(); Lic. Jorge Guerra Guerra 64
65.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Creating the EndPoint... Give user friendly address to Dns.Resolve Returns a list of addresses… select one Use the address to create the EndPoint IPHostEntry iphost= Dns.Resolve (“http://ist.psu.edu”); IPAddress ip=iphost.AddressList[0]; IPEndPoint EndPoint=new IPEndPoint(ip, portnumber); s.Connect(EndPoint) (note that port number must be Int16..use System.Convert.ToInt16) Lic. Jorge Guerra Guerra 65
66.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sending Data The Send method can send data through a CONNECTED socket byte[] msg = System.Text.Encoding.ASCII.GetBytes("This is a test"); int bytesSent = s.Send(msg); Lic. Jorge Guerra Guerra 66
67.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Receiving Data We use the Receive method (similar to Send) byte[] bytes = new byte[1024]; s.Receive(bytes); //Displays to the screen. Console.WriteLine(Encoding.ASCII.GetString(bytes)); Lic. Jorge Guerra Guerra 67
68.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. TCPListener La plataforma .NET incluye una clase auxiliar denominada TcpListener que simplifica algo la creación de servidores TCP, si bien internamente se sigue haciendo lo mismo: TcpListener listener = new TcpListener(11000); listener.Start(); TcpClient client = listener.AcceptTcpClient(); ... La única diferencia reseñable es que ahora, en vez de utilizar Send y Receive, el objeto de tipo TcpClient dispone de un stream a través del cual leemos y escribimos datos. Lic. Jorge Guerra Guerra 68
69.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sockets TCP (lado cliente) string mensaje = "Hola... <FIN>"; string respuesta; Byte[] SendBytes = Encoding.ASCII.GetBytes(mensaje); Byte[] RecvBytes = new Byte[256]; int bytes; // DNS IPAddress address = Dns.Resolve("localhost").AddressList[0]; // EndPoint IPEndPoint EPhost = new IPEndPoint(address, 11000); // Socket Socket socket = new Socket ( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp ); // Conexión try { socket.Connect (EPhost); socket.Send( SendBytes, SendBytes.Length, SocketFlags.None); bytes = socket.Receive ( RecvBytes, RecvBytes.Length, SocketFlags.None); respuesta = Encoding.ASCII.GetString (RecvBytes, 0, bytes); while (bytes > 0) { bytes = socket.Receive ( RecvBytes, RecvBytes.Length, SocketFlags.None); respuesta += Encoding.ASCII.GetString (RecvBytes, 0, bytes); } Console.WriteLine(respuesta); } catch (Exception error) { Console.WriteLine("ERROR - "+error); Jorge Guerra Guerra Lic. 69 }
70.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. TCPClient string mensaje = "Hola... <FIN>"; string respuesta; Byte[] SendBytes = Encoding.ASCII.GetBytes(mensaje); Byte[] RecvBytes = new Byte[256]; int bytes; // Cliente TCP TcpClient client = new TcpClient(); NetworkStream stream; // Conexión try { client.Connect("localhost",11000); stream = client.GetStream(); stream.Write ( SendBytes, 0,SendBytes.Length ); bytes = stream.Read ( RecvBytes, 0, RecvBytes.Length); respuesta = Encoding.ASCII.GetString (RecvBytes, 0, bytes); while (bytes > 0) { bytes = stream.Read ( RecvBytes, 0, RecvBytes.Length ); respuesta += Encoding.ASCII.GetString (RecvBytes, 0, bytes); } Console.WriteLine(respuesta); } catch (Exception error) { Console.WriteLine("ERROR - "+error); } Lic. Jorge Guerra Guerra 70
71.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sockets UDP (fragmento de codigo) IPAddress broadcastAddress = IPAddress.Parse("150.214.191.255"); string host = Dns.GetHostName(); IPAddress localAddress = Dns.GetHostByName(host).AddressList[0]; int Port = 11000; Thread listener; // Hebra empleada // para recibir mensajes bool fin = false; // Flag empleado para terminar la ejecución de la hebra Arranque private void ChatForm_Load (object sender, System.EventArgs e) { ThreadStart start = new ThreadStart(Listener); listener = new Thread(start); listener.Start(); } private void Listener() { while (!fin) { ... } } // Detención private void ChatForm_Closed (object sender, System.EventArgs e) { fin = true; Send("FIN"); Lic. Jorge Guerra Guerra 71 listener.Join(); }
72.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Envio de mensajes UDP private void Send (string message) { IPEndPoint ep; Socket socket; ep = new IPEndPoint(broadcastAddress, Port); socket = new Socket ( localAddress.AddressFamily, SocketType.Dgram, ProtocolType.Udp); byte[] msg = Encoding.Default.GetBytes( message ); try { socket.SendTo ( msg, 0, msg.Length, SocketFlags.None, ep); } catch (Exception e) { MessageBox.Show( e.ToString(), "Error enviando datos"); } } Lic. Jorge Guerra Guerra 72
73.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Recepción Socket UDP private void Listener() { IPEndPoint localEP; Socket socket; localEP = new IPEndPoint(localAddress, Port); socket = new Socket ( localAddress.AddressFamily, SocketType.Dgram, ProtocolType.Udp); try{ socket.Bind(localEP); while (!fin) { // Buffer para recibir el mensaje byte[] buffer = new byte[1024]; // IPEndPoint para identificar al emisor IPEndPoint sender = new IPEndPoint(IPAddress.Any,0); EndPoint remoteEP = (EndPoint) sender; // Recepción del mensaje (ojo: bloquea al receptor) socket.ReceiveFrom (buffer, ref remoteEP); string mensaje = Encoding.Default.GetString(buffer); textBoxDialog.AppendText(mensaje); } } catch (Exception e) { MessageBox.Show( e.ToString(), Guerra Guerra Lic. Jorge "Error recibiendo datos"); } } 73
74.
Generated by Foxit
PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Shutdown sockets The SocketShutdown enumeration defines constants that indicate whether the socket should be closed for sending, for receiving, or for both. Call the Close method to free all managed and unmanaged resources associated with the Socket s.Shutdown(SocketShutdown.Both); s.Close(); Lic. Jorge Guerra Guerra 74
Jetzt herunterladen