INSTITUTO POLITECNICO NACIONAL
ESIME ZACATENCO
INGIENERIA EN COMUNICACIONES Y ELECTRONICA
Protocolo RPC “for dummies”
por Fernando Castro
enero 2021
RPC
• Remote Procedure Call es
una técnica que utiliza el
modelo Cliente-Servidor para
ejecutar tareas en un proceso
diferente como podría ser en No
una computadora remota. A RCP!!
veces solamente se le llama
como llamada a una función o
subrutina remota.
• Como un entrenador Pokémon!! Quien solicita la una orden y espera
a un:
• Pokémon, quien recibe y ejecuta
la orden
¿Cómo funciona la llamada a procedimiento
Remoto?
• El cliente hace la llamada al
procedimiento remoto mediante un
mensaje a través de la red. Este se
detiene ya que es un proceso
síncrono, es decir, necesita una
respuesta del servidor para poder
continuar su ejecución. En esta
llamada se incluye un Stub (también
llamado Proxy o “Dealer”) el cual se
encarga de ajustar parámetros y
direcciones de memoria de un
ambiente al otro (ósea de un cliente
al servidor)
¿Como funciona la llamada a procedimiento
remoto?
• El servidor recibe la petición y desempaqueta el mensaje para extraer
la información necesaria para realizar la tarea. El stub ayuda a que el
servidor sea capaz de convertir parámetros de una representación a
otra (de ser necesario), para traducir direcciones de memoria de
cliente a servidor, etc.
¿Como funciona la llamada a procedimiento
remoto? • El servidor ejecuta la tarea
• El servidor crea un mensaje de
respuesta para el cliente en el
que incluye el resultado de la
tarea que este le pidió a realizar.
• El cliente recibe y desempaqueta
el mensaje de respuesta del
servidor o en dado contrario
continua con su ejecución
normal.
El Stub
• El Stub es la pieza del código que le permite al servidor ejecutar la
tarea que se le asigno. Se encarga de proveer la información
necesaria para que el servidor convierta las direcciones de los
parámetros que el cliente envió en direcciones de memoria validos
dentro del ambiente del servidor. La representación de datos en
cliente y servidor.
• La representación de datos en cliente y servidor podría discrepar, el
stub también provee la información necesaria para solucionar esta
situación. De forma general es la pieza de código que se encarga de
enmascarar toda la discrepancia entre el cliente y servidor. Es
necesario que las bibliotecas de stubs estén instaladas tanto en el
cliente como en el servidor.
STUB = POKEBOLA = DEALER
• Quien se encarga de
establecer un vinculo
entre el entrenador y
el Pokémon
Problemas con RPC
• RPC es dependiente del lenguaje de programación que se utilice. Si
quisiéramos utilizarlo para ofrecer algún servicio web, por ejemplo, es
probable que necesitemos utilizar mas de un lenguaje de
programación del lado del cliente y del servidor, en ese momento RPC
deja de ser una alternativa. Sin embargo, si todos los módulos del
servicio que vamos a ofrecer a los clientes están basados en el mismo
lenguaje de programación RPC es una muy buena opción.
• El protocolo por si solo es Vulnerable a virus que ejecuten acciones de
subida y descarga de archivos no deseados. (para solventar este
problema se implemento el FIREWALL para proteger al Proxy o
Dealer)
Ejemplo de aplicación:
• rpcping /?
• Este comando despliega todos los parámetros y opciones para poder realizar una
prueba RPC desde un equipo a un dominio particular.
• Ejemplo de invocación:
• rpcping /t ncacn_http /s exchange_server /o RpcProxy=front_end_proxy /P
username,domain,* /H Basic /u NTLM /a connect /F 3
¿De que parte del modelo OSI es el RPC?
• Principalmente en la Capa 5: SESION y toma recursos de la Capa 4:
Transporte
• Se encuentra RPC junto a SQL, NFS, NetBIOS, ASP, SCP
• El RPC se considera basado en socket, que es trabajando en el nivel se
sesión.
• Este Protocolo toma algunos protocolos de la capa 4 de transporte,
como el TCP o UDP.
• RPC facilita el desarrollo de aplicaciones que incluye multi programas
gracias a la red.
En resumen…
Conclusiones
• SIN ESTE PROTOCOLO, ALGORITMO NO PODRIAN ABRIR NINGUNA
PAGINA DE NINGUN EXPLORADORO NAVEGADOR, ES IMPORTANTE
• DEBIDO A QUE SON LAS QUE NOS DESPLIEGAN LAS PANTALLAS DE
CUALQUIER APLICACION QUE CONVIVE EN INTERNET
• NO TIENE TRAMA COMO TAL PERO SI TIENE APLICACION PARA
MOSTRARLAS PAGINAS EN LA PANTALLA