RPC. ONC (Open Network Compu2ng) n Ru2nas para la conversión de datos XDR. n XDR maneja estructuras complejas n Herramienta de generación de programas



Documentos relacionados
SOR -::- Prácticas -::- Curso 05/06. RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX.

RPC. Llamadas a Procedimientos Remotos (RPC) Paradigmas. Conceptos. Modelo Conceptual

EJERCICIOS PRÁCTICOS: LLAMADAS A PROCEDIMIENTOS REMOTOS

Sistemas Informáticos Industriales

2.3 Llamada a procedimientos remotos (RPC)

RPC: Llamada a procedimiento remoto

Modelo de Objetos Distribuidos

RPC Llamadas a Procedimientos Remotos

Sistemas Operativos Distribuidos

Administración de la red

Tema 4: INVOCACIÓN REMOTA

Lab 01: Programación de Sockets en TCP

Lección 8 Introducción a las llamadas a procedimientos remotos (RPC) Universidad de Oviedo / Dpto. de Informática

Llamada a métodos remotos (RMI). Curso 04/05. Tema 9. Departament d Informàtica. Universitat de València. 1. Introducción 2

MAINTraq RealTime MANUAL DE OPERACIÓN 26/03/2008

Configuracio n de PFSense 2.0 con OpenVPN Road Warrior.

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

Práctica 2: Java Remote Method Invocation (RMI)

PROGRAMACIÓN EN PHP. 1. Identificar las características y modalidad de programación bajo PHP.

Cátedra de Sistemas Distribuidos Escuela de Ingeniería Electrónica Departamento de Sistemas e Informática

Prácticas A.S.O./A.S.O.P. - Boletín L08 NFS y NIS

Remote Method Invocation (RMI) de Java

1. Visión general de RMI

Práctica de gsoap. int ns enviar (unsigned nodo, std::string cadena, std::string &resultado); int ns recibir(unsigned nodo, std::string &resultado);

Servicio de acceso y control remoto SSH. carlos victoria casanova

Tema 4 El paradigma cliente-servidor

sockets Flujo (SOCK_STREAM) Comunicación bidireccional Confiable (entrega garantizada) Información ordenada en el destino Datagrama (SOCK_DGRAM)

Crear servidor NFS en Debian

DHCP NAT. Redes WAN. DHCP y NAT. Esteban De La Fuente Rubio esteban@delaf.cl L A TEX. Universidad Andrés Bello. 27 abr 2011

Manual OWAControl. Contenido. Manual OWAControl

TEMA: PROTOCOLOS TCP/IP

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

en otra máquina exactamente de la misma manera que si se encontrará en la misma máquina

Introducción a las Redes de Computadoras. Obligatorio

Sistemas Distribuidos. Llamadas a Procedimientos Remotos

Manual de Usario de XEDIGenerator Instalación

SISTEMAS DISTRIBUIDOS Profesor: José Luis Montoya Restrepo

Como configurar Firewall (Kaspersky)

Manual del Protocolo XML-RPC de Mensajería Negocios

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Habilitando ipv6 en Samba 4

El lenguaje de Programación C. Fernando J. Pereda

Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente:

GUIA LABREDES 4-3 JMC 2014 Router Linux con CentOS 7 en ambiente virtual

El Llamado de procedimientos remotos

CONFIGURACIÓN DE UNA VPN TIPO INTRANET:

Preliminares. Tipos de variables y Expresiones

TELEPROCESO Y SISTEMAS DISTRIBUIDOS

Problemas de Redes de Computadores. Conjunto de problemas 1

LENGUAJE. Tema 1 - Introducción

JAVA NATIVE INTERFACE (JNI) INVOCANDO C/C++ DESDE JAVA

CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA

TUTORIAL DE CONFIGURACIÓN DE UNA CONEXIÓN VPN EN MICROSOFT WINDOWS XP

Sistema de Captura Electrónica

1. Manejo de memoria estática 2. Manejo de memoria dinámica

Aspectos Básicos de Networking

REQUIERE ATENDER DESCONFIGURACIÓN DEL C.P.U.

Parallel Virtual File System (PVFS)

INSTALACIÓN Y CONFIGURACION DNS WINDOWS SERVER 2003

La vida en un mundo centrado en la red

PASOS PARA CONFIGURAR SQL SERVER PARA ADMITIR CONEXIONES REMOTAS.

Tema: Introducción a Java y Netbeans

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

NFS, DNS dinámico. Departamento de Sistemas Telemáticos y Computación (GSyC) gsyc-profes (arroba) gsyc.es. Junio de 2012

EDITRAN/CL. Manual de Usuario e Instalación. Módulo de Cliente Departamental. Windows

Reparar Base de Datos en modo sospechosa (suspect)

Manual Instalación GIRH-Nómina (JAVA)

Facultad de Ciencias del Hombre y la Naturaleza SISTEMAS OPERATIVOS DE REDES CICLO II Materia: Sistemas Operativos de Redes Tema:

Enlace para bajar la herramienta: ftp://ftp.cs.stir.ac.uk/pub/staff/kjt/software/jasper-1.3.tar.gz

5. Crea un sitio Web seguro usando tu propio certificado digital (Windows y Linux).

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 8: El nivel de transporte en Internet

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

El mediador es un programa escrito en Java diseñado para interactuar con un servidor

Conexión VPN en Windows XP

Unidad V: Programación del lado del servidor

Paradigma cliente-servidor

1. Definición de puerto 2. Sockets 3. Conceptos cliente/servidor 4. Definición de Stream 5. Concurrencia, multiprogramación y multitarea 6.

Contenido QUÉ ES SERVIDOR CLOUD?... 3 ACCESO AL SERVIDOR CLOUD... 3 ADMINISTRACIÓN DEL SISTEMA... 6

SOCKET S. Alberto Castro Rojas

Unidad IV: TCP/IP. 4.1 Modelo Cliente-Servidor

Instalación y uso de Document Distributor 1

Procesamiento Digital de Información

Tutorial de Unity 3D Tema 52 Bases de Datos. Tutorial de Unity 3D. Bases de Datos

Laboratorio 1: Terminal de Linux y primer programa en C

Sockets (TCP) Tema 2.- Nivel de aplicación en Internet

COMUNICACIÓN ENTRE PROCESOS SOCKETS

Como crear un túnel entre dos PC s usando el Protocolo SSH

Paradigma cliente-servidor

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

Comunicación entre un PLC S y WinCC Advanced

DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA

CONFIGURAR DVR QUE SE VEA POR INTERNET PARA SERVICIO SPEEDY DE TELEFONICA NECESITAMOS TENER

Administración mediante políticas con ESET Remote Administrator

PASOS PARA ENLAZAR DVR SAMSUNG SRD A INTERNET:

Visual Studio Team System 2010

Programación distribuida con ADA95 bajo GNU/Linux (I)

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Guía de instalación y configuración de IBM SPSS Modeler Social Network Analysis 16

Transcripción:

3-1.- Linux RPC

RPC ONC (Open Network Compu2ng) n Ru2nas para la conversión de datos XDR n XDR maneja estructuras complejas n Herramienta de generación de programas 2

Proceso de programación RPC n Programación de métodos locales y remotos. Proc A" RPC Server Stub" Client Stub" Proc B" 3

RPC Dispatching Proc A1" Proc A2" RPC Dispatcher" RPC Server Stub" Server Stub" Client Stub" Client Stub" Proc B1" Proc B2" 4

RPC Interface Specifica2on Proc A" RPC Server Comm" Client Iface" Server Iface" Client comm" Proc B" 5

Entrada y salida rpcgen n Entrada n Q.x Archivo de especificación n Salida n Q.h Archivo headers n Q_xdr.c Procedimientos XDR para hacer marshaling n Q_clnt.c stub de comunicación del lado del cliente n Q_svc.c stub de comunicación del lado del servidor 6

Entrada y salida rpcgen n Salida n Q_client.c n Q_serve.c remotos Plan2lla para invocar los procedimientos remotos Plan2lla para implemetar los procedimientos 7

Flujo del proceso RPC Q_clnt.c" Client" application" Client" interface" Q.h" compile" Q_client" Q.x" rpcgen" Q_xdr.c" compile" Q_server" Q_svc.c" 8 Remote" procedures" Server" interface"

Proceso de desarrollo RPC Develop Interface" Develop Client" Develop Server" 9

Desarrollo de la Interface MyApp.x" RPCgen" MyApp_clnt.c" Client Stub" MyApp_xdr.c" MyApp.h" MyApp_svc.c" Server Stub" 10

Developing the Server MyApp.x" RPCgen" MyApp_svc.c" Server Stub" MyApp.h" MySrvr.c" MyApp_xdr.c" C Compiler" Linker" MyApp_server" 11

Developing the Client MyApp.idl" RPCgen" MyApp_clnt.c" Client Stub" MyApp.h" MyClnt.c" MyApp_xdr.c" C Compiler" Linker" MyApp_client" 12

Proceso de conexión Portmap debe estar corriendo (pruebe rpcinfo) Crea un servicio UDP / TCP Portmap regista el servcio UDP/TCP Ejecuta el servicio... 13

Registar el servicio svc_register(port#, SERV#, VER#, serv_func, proto#); port#:puerto en el que el servicio está activo SERV#: identificador único para el servicio VER#: versión del servicio serv_func: función a ejecutar del servicio proto#: IPPROTO_UDP o IPPROTO_TCP 14

Como se conecta el cliente n Hacer una llamada a un procedimiento remoto n Encontrar el host remoto n Determinar el puerto del servicio (usando Portmap) n Crear una conexión al proceso en el servidor 15

Como se conecta el cliente clnt_create(server, SERV#, VER#, proto#); remote procedure call... Clnt_destroy(CLIENT); 16

Ejemplo n Sumar dos números n Pasar dos párametros enterso n UDP / IP port connec2on n Archivos fuentes: n suma.x n suma_client.c // a Modificar n suma_server.c // amodificar 17

suma.x struct numeros{ int a; int b; }; program ADICIONPROG{ version ADDITIONVERS{ int SUMA(numeros)=1; }=1; }= 0x2fffffff; 18

n make f M akefile.suma n Servidor n sudo./suma_server n Cliente n./suma_client n parece que no hace nada o hace nada Compilar y ejecutar 19

Agregar un mensaje n Modificar la plan2lla suma_server.c #include "suma.h" int *suma_1_svc(numeros *argp, struct svc_req *rqstp){ static int result; /* * insert server code here */ printf( Peticion acpetada\n ); return &result; } 20 n Volver a compilar/ejecutar observar que ocurre

21 suma_client.c n Cómo se pueden pasar parámetros al servidor?

suma_client.c n Cómo se pueden pasar parámetros al servidor? n Modificar de a adicionprog_1(char *host){! CLIENT *clnt;! int *result_1;! numeros suma_1_arg;! " adicionprog_1(char *host, int a, int b){! CLIENT *clnt;! int *result_1;! numeros suma_1_arg;! suma_1_arg.a=a;! suma_1_arg.b=b;...! 22 n Hacer los cambios necesarios en el main

server_client.c n Cómo acceder los parámetros desde el servidor? 23

server_client.c n Cómo acceder los parámetros desde el servidor? int * suma_1_svc(numeros *argp, struct svc_req *rqstp){! static int result;! int a= argp->a, b=argp->b;! printf("tu quieres sumar los numeros a=%d, b=%d\n", a,b);! result=argp->a+argp->b;! return &result;! }! n Cómo se imprimiría el resultado del lado del cliente? 24

Remarks n Los procedimientos remotos u2lizan punteros como argumentos. n Generalmente regresan punteros n En general los procedimientos remotos son nombrados u2lizando el nombre de la función en minúsculas y agregando _ y el número de versión (v.g SUMA - > suma_1) n RPC language (el u2lizado en Q.x) soporta, defini2on, enumera2on, union, enumera2ons, typedef y Constants 25

Reglas de definición programs PROGRAM_DEFINITION: program <program-ident> { VERSION-LIST } = valor; VERSION-LIST: VERSION ; VERSION ; VERSION-LIST VERSION: version <version-id> { PROCEDURE-LIST } = valor; /* Calculadora RPC */ program RPCCAL{ version RPCCALVERS{ int SUMA(numeros)=1; int RESTA(numeros)=2; int PRODUCTO(numeros)=3; }=1; }=44; PROCEDURE-LIST: PROCEDURE ; PROCEDURE-LIST 26 PROCEDURE: <tipo> <procedure-ident> (<tipo>) = valor;