SlideShare una empresa de Scribd logo
1 de 3
RPC
Revisión de Sockets

Definición de protocolo, empieza a generar problemas de comunicación.
Dependencia de Direccionamiento IP
Protocolo petición-respuesta

       C             S

Se tienen varias interrogantes de por medio. Una de ellas es la del cliente que debe tratar de
conocer si puede ser una función local.
El cliente debe conocer la ubicación del servidor. Es decir su IP y el puerto
Lo siguiente que debe conocer es el formato del mensaje a enviar, es decir el tipo de datos; que
generalmente se definen en el protocolo.


RPC: RemoteProcedureCall
Son tecnologías que aún se siguen utilizando en estos tiempos.
Comunicación entre procesos. Un ejemplo es el de copiar-pegar realizados en las mismas
computadoras.
Buscan ocultar detalles técnicos de bajo nivel al programador convencional.


       C             S


       ;                             intsuma (int a, int b){
c=suma(a,b);                             return (a+b);
printf(“/d”,c);                                }


La idea es que, cuando se usa RPC se trabaja de manera remota de la misma manera que se
trabaja de manera local. Es evidente que en la parte de abajo existe un esquema importante para
realizar una función local a remota. Ejecutar funciones remotas de la misma manera que se
ejecutan las funciones locales.

En 1985 se tienen:

        NFS (Network File System). Fue la primera aproximación para compartición de recursos, se
        lo usa para UNIX.
        NIS(Network IdentificationSystem). Con esto se logra tener un directorio centralizado de
        usuarios. Los cambios de contraseña afectan a varias computadoras.
La arquitectura de RPC está basada en 3 capas:
        Módulos de Usuario: es aquí donde el usuario programa la función y, su respectiva
        implementación.
        STUB: resguardos. Componentes de la arquitectura
        Módulo de comunicaciones: última capa del modelo OSI

          XDR: External Data Representation
          Dispatcher: despachador, propio del procesador.
          Marshall: aplanamiento del mensaje



          Cliente                                                    Servidor
Retorno             Llamada                                 Funciones         Retorno
 Local                 Local      Módulos de Usuario        Implementadas      Local

                 Marshall
            Aplanamiento                                    Dispatcher
             Serializacion              STUB
                                     RESGUARDOS             Unmarshal
              Pasar a XDR
                                                            Pasar
                                                            Lenguaje
                                                            Nativo

Recibir               Enviar   Módulos de Comunicación      Recibir           Enviar
Marshall: datos compuestos
XDR: es necesario
Al programador le corresponden los 2 superiores

IDL (Lenguaje de Definición de Interfaz)(XDR).-Son diferentes al anterior XDR de los STUBS
Es un archivo de texto que debe ser compilado por un compilador de RPC

                                    S.S
                                    S.C
IDL(XDR)  Compilador RPC  Rutinas de Serializacion
                                    Librerías de RPC

Vamos a usar un IDL=RPC, un compilador RPC= rpcgen
El compilador rpcgen puede utilizar:

                                   -a     Ej. Cliente
                                          Ej. Servidor
                                          Script de Compilación


.obj -> no se puede ejecutar como .exe ya que necesita las referencias de las librerías
RPC de SUN recibe un parámetro por función

structDato{
       int a;
       int b;
};

programCALCULADORA{
        version VERSION=CALCULADORA{
                int suma(Dato)=1;
        }=1 (versión)
}=99 (número)

El Portmapper registra nombre del programa, numero del programa y la versión del programa

Más contenido relacionado

Similar a Rpc (20)

RPC
RPCRPC
RPC
 
Rpc te
Rpc teRpc te
Rpc te
 
Remote Procedure Call (RPC)
Remote Procedure Call (RPC)Remote Procedure Call (RPC)
Remote Procedure Call (RPC)
 
Arquitecturas de bd
Arquitecturas de bdArquitecturas de bd
Arquitecturas de bd
 
Act 01
Act 01Act 01
Act 01
 
Programacion web introduccion
Programacion web introduccionProgramacion web introduccion
Programacion web introduccion
 
NS 2 (network simulator)
NS 2 (network simulator)NS 2 (network simulator)
NS 2 (network simulator)
 
T 25
T 25T 25
T 25
 
Microprocesadores1
Microprocesadores1Microprocesadores1
Microprocesadores1
 
T 25
T 25T 25
T 25
 
T 25
T 25T 25
T 25
 
Conexion dinamica
Conexion dinamicaConexion dinamica
Conexion dinamica
 
Conferencia universidad 2010
Conferencia universidad 2010Conferencia universidad 2010
Conferencia universidad 2010
 
Arquitectura de un computador
Arquitectura de un computadorArquitectura de un computador
Arquitectura de un computador
 
2. componentes basicos de una red de computadores
2. componentes basicos de una red de computadores2. componentes basicos de una red de computadores
2. componentes basicos de una red de computadores
 
Documento de comunicaciones
Documento de comunicacionesDocumento de comunicaciones
Documento de comunicaciones
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Modelo OSI & Subneting
Modelo OSI & SubnetingModelo OSI & Subneting
Modelo OSI & Subneting
 
Ec2
Ec2Ec2
Ec2
 
Presentación osi
Presentación osiPresentación osi
Presentación osi
 

Rpc

  • 1. RPC Revisión de Sockets Definición de protocolo, empieza a generar problemas de comunicación. Dependencia de Direccionamiento IP Protocolo petición-respuesta C S Se tienen varias interrogantes de por medio. Una de ellas es la del cliente que debe tratar de conocer si puede ser una función local. El cliente debe conocer la ubicación del servidor. Es decir su IP y el puerto Lo siguiente que debe conocer es el formato del mensaje a enviar, es decir el tipo de datos; que generalmente se definen en el protocolo. RPC: RemoteProcedureCall Son tecnologías que aún se siguen utilizando en estos tiempos. Comunicación entre procesos. Un ejemplo es el de copiar-pegar realizados en las mismas computadoras. Buscan ocultar detalles técnicos de bajo nivel al programador convencional. C S ; intsuma (int a, int b){ c=suma(a,b); return (a+b); printf(“/d”,c); } La idea es que, cuando se usa RPC se trabaja de manera remota de la misma manera que se trabaja de manera local. Es evidente que en la parte de abajo existe un esquema importante para realizar una función local a remota. Ejecutar funciones remotas de la misma manera que se ejecutan las funciones locales. En 1985 se tienen: NFS (Network File System). Fue la primera aproximación para compartición de recursos, se lo usa para UNIX. NIS(Network IdentificationSystem). Con esto se logra tener un directorio centralizado de usuarios. Los cambios de contraseña afectan a varias computadoras.
  • 2. La arquitectura de RPC está basada en 3 capas: Módulos de Usuario: es aquí donde el usuario programa la función y, su respectiva implementación. STUB: resguardos. Componentes de la arquitectura Módulo de comunicaciones: última capa del modelo OSI XDR: External Data Representation Dispatcher: despachador, propio del procesador. Marshall: aplanamiento del mensaje Cliente Servidor Retorno Llamada Funciones Retorno Local Local Módulos de Usuario Implementadas Local Marshall Aplanamiento Dispatcher Serializacion STUB RESGUARDOS Unmarshal Pasar a XDR Pasar Lenguaje Nativo Recibir Enviar Módulos de Comunicación Recibir Enviar
  • 3. Marshall: datos compuestos XDR: es necesario Al programador le corresponden los 2 superiores IDL (Lenguaje de Definición de Interfaz)(XDR).-Son diferentes al anterior XDR de los STUBS Es un archivo de texto que debe ser compilado por un compilador de RPC S.S S.C IDL(XDR)  Compilador RPC  Rutinas de Serializacion Librerías de RPC Vamos a usar un IDL=RPC, un compilador RPC= rpcgen El compilador rpcgen puede utilizar: -a Ej. Cliente Ej. Servidor Script de Compilación .obj -> no se puede ejecutar como .exe ya que necesita las referencias de las librerías RPC de SUN recibe un parámetro por función structDato{ int a; int b; }; programCALCULADORA{ version VERSION=CALCULADORA{ int suma(Dato)=1; }=1 (versión) }=99 (número) El Portmapper registra nombre del programa, numero del programa y la versión del programa