ALEGSA.com.ar

Definición de RPC (Llamada a Procedimiento Remoto)

Significado de RPC: RPC (Remote Procedure Call - Llamada a Procedimiento Remoto) es un protocolo que permite a una aplicación en una computadora ejecutar código en otra ...
03-07-2025 18:28
¡Nos ayudas mucho si nos sigues en nuestras Redes Sociales para poder mantener este sitio totalmente gratuito!

 


Definición de RPC (Llamada a Procedimiento Remoto)

 

RPC (Remote Procedure Call - Llamada a Procedimiento Remoto) es un protocolo que permite a una aplicación en una computadora ejecutar código en otra computadora de forma remota, sin que el programador deba gestionar directamente los detalles de la comunicación entre ambas. Esto significa que el código para invocar una función remota es muy similar al de una función local, facilitando el desarrollo de aplicaciones distribuidas.

Por ejemplo, una aplicación bancaria puede utilizar RPC para consultar el saldo de una cuenta en un servidor remoto, como si estuviera accediendo a una función local.

RPC implementa un modelo de interacción cliente-servidor: el cliente realiza la llamada al procedimiento remoto y el servidor ejecuta la función solicitada, devolviendo el resultado. Este proceso se basa en el intercambio de mensajes de petición y respuesta.

Transparencia de ubicación


El modelo RPC proporciona transparencia de ubicación, es decir, el programador no necesita preocuparse por si el procedimiento es local o remoto. Sin embargo, en la práctica, las llamadas remotas suelen ser más lentas y menos confiables que las locales, debido a la latencia de la red y posibles fallos de comunicación. Por ello, es útil poder distinguir entre llamadas locales y remotas para optimizar el rendimiento y la confiabilidad.

Ventajas y desventajas


Ventajas:

  • Facilita la creación de aplicaciones distribuidas, ocultando la complejidad de la comunicación en red.

  • Permite la reutilización de código y la integración de servicios en diferentes sistemas.

  • Promueve la escalabilidad al distribuir la carga de trabajo entre varios servidores.


Desventajas:

  • Las llamadas remotas son más lentas y propensas a errores que las llamadas locales.

  • La depuración de errores puede ser más compleja debido a la distribución de los procesos.

  • Presenta riesgos de seguridad, como la posibilidad de interceptar o manipular las comunicaciones si no se implementan mecanismos adecuados de autenticación y encriptación.



Comparación con otras tecnologías


Las RPC suponen un avance respecto a los sockets, ya que abstraen la comunicación en red y simplifican el desarrollo. Sin embargo, existen tecnologías similares como REST y SOAP, que también permiten la comunicación remota entre aplicaciones, aunque suelen estar basadas en HTTP y están más orientadas a servicios web.

Tecnologías y estándares


Existen diversas tecnologías para implementar RPC, que no son compatibles entre sí. Entre ellas destacan:

  • RPC de Sun (RFC 1057): ampliamente utilizado en sistemas Unix y precursor de NFS.

  • DCOM (Distributed Component Object Model) de Microsoft: orientado a entornos Windows.

  • gRPC de Google: una implementación moderna de RPC basada en HTTP/2 y Protobuf, utilizada en microservicios.



Aplicaciones y usos


RPC es ampliamente utilizado en programas de tipo cliente/servidor, sistemas distribuidos, y en entornos de computación en la nube. Por ejemplo, en una arquitectura de microservicios, diferentes servicios pueden comunicarse entre sí mediante RPC para coordinar tareas o compartir información.

Seguridad en RPC


Dado que RPC implica la ejecución de código en sistemas remotos, es fundamental implementar medidas de seguridad adecuadas, como autenticación, autorización y cifrado de las comunicaciones, para evitar ataques y accesos no autorizados.


Resumen: RPC



La RPC es un protocolo que permite ejecutar código de forma remota en otra computadora como si fuera una llamada local. Se utiliza principalmente en aplicaciones distribuidas y cliente/servidor, facilita el desarrollo y la integración de sistemas, pero requiere consideraciones especiales de rendimiento y seguridad. Existen diferentes tecnologías para implementarlo, como el RPC de Sun, DCOM de Microsoft y gRPC de Google.


¿Qué es un protocolo RPC?



El protocolo RPC (Remote Procedure Call) permite que una aplicación en una computadora ejecute código en otra computadora de forma remota, simplificando el desarrollo al ocultar los detalles de la comunicación en red. El programador puede escribir el mismo código para subrutinas locales y remotas.


¿Cuál es la forma de interacción en un modelo RPC?



El modelo RPC se basa en la interacción cliente-servidor: el cliente solicita la ejecución de una función remota y el servidor la ejecuta y responde. Esto se implementa mediante el intercambio de mensajes de petición y respuesta.


¿Qué nivel de transparencia de ubicación ofrece el modelo RPC?



RPC ofrece transparencia de ubicación, permitiendo que la invocación de procedimientos remotos sea similar a la de procedimientos locales. Sin embargo, es importante considerar que las llamadas remotas pueden ser más lentas y menos confiables.


¿Por qué es útil distinguir las llamadas locales de las remotas en el modelo RPC?



Distinguir entre llamadas locales y remotas permite optimizar el rendimiento y la confiabilidad, ya que las llamadas remotas implican mayor latencia y posibles fallos de red. Así, los desarrolladores pueden tomar decisiones informadas sobre el diseño de la aplicación.


¿En qué tipo de programas se suelen utilizar las RPC?



Las RPC suelen utilizarse en programas de tipo cliente/servidor, sistemas distribuidos y aplicaciones en la nube, donde es necesario que diferentes componentes intercambien información o colaboren en la ejecución de tareas.


¿Existen tecnologías compatibles entre sí para implementar RPC?



No, existen diversas tecnologías para implementar RPC que no son compatibles entre sí, como el RPC de Sun (RFC 1057), DCOM de Microsoft y gRPC de Google. Cada una tiene su propia implementación y características específicas.




Relacionado: SOAP.


Autor: Leandro Alegsa
Actualizado: 03-07-2025

¿Cómo citar este artículo?

Alegsa, Leandro. (2025). Definición de RPC. Recuperado de https://www.alegsa.com.ar/Dic/rpc.php

Diccionario informático



Compartir nota:

 


articulos
Asistente IA
Escribe tu consulta sobre informática y tecnologías al asistente de Inteligencia Artificial
¡te responderá en segundos!




* ACLARACIÓN: Sugerimos dejar tu email si quieres que te contactemos para una respuesta de nuestro staff o corregir la respuesta de la IA.


Nuestras Redes

Puedes seguirnos y contactarnos en nuestras redes.
Facebook
WhatsApp
Instagram
Facebook Horoscopo

Comentarios relacionados

  • ¿Cuáles son los servicios RPC de Windows más comunes que podrían ser bloqueados por un firewall en una red con CGNAT?

    Nombre: Santiago - Fecha: 22/02/2024

    ¡Hola! Estoy buscando información sobre los servicios RPC de Windows que podrían ser bloqueados por un firewall en una red con CGNAT. ¿Me podrían ayudar a identificar cuáles son los más comunes? ¡Gracias!

    Respuesta
    Los servicios RPC (Remote Procedure Call) son utilizados por Windows para permitir la comunicación entre procesos en diferentes sistemas o en una misma máquina. Algunos de los servicios RPC de Windows más comunes que podrían ser bloqueados por un firewall en una red con CGNAT (Carrier-Grade Network Address Translation) son:

    1. **RPC Endpoint Mapper (rpcss)**: Este servicio es responsable de asignar puertos dinámicamente a los servicios RPC registrados en el sistema.

    2. **Servicio de Activación de COM+ (COMSysApp)**: Permite la activación y administración de componentes COM+.

    3. **Programador de tareas (Schedule)**: Se encarga de ejecutar tareas programadas en el sistema.

    4. **Servicio de Cola de Impresión (Spooler)**: Gestiona las colas de impresión y permite la comunicación con las impresoras.

    5. **Servicio de Registro Remoto (RemoteRegistry)**: Permite acceder y modificar el registro del sistema de forma remota.

    Estos son solo algunos ejemplos, pero existen muchos otros servicios RPC que podrían ser bloqueados por un firewall en una red con CGNAT, lo que podría afectar el funcionamiento adecuado de ciertas aplicaciones o servicios en una red Windows.
Usa nuestro buscador para definiciones, informática y tecnologías