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