Chamada de procedimento remoto

Em computação e telecomunicações , RPC ( r emote p rocedure c all ) é um protocolo de rede que permite que chamadas de procedimento sejam feitas em um computador remoto usando um servidor de aplicativos . Este protocolo é usado no modelo cliente - servidor para garantir a comunicação entre o cliente, o servidor e quaisquer intermediários.

Este sistema também é usado para o projeto de micronúcleos .

História e origens

A ideia do RPC remonta a pelo menos 1976, quando foi descrito no RFC  707. Um dos primeiros usos comerciais do RPC foi feito pela empresa Xerox sob o nome de Courier em 1981. A primeira implementação popular do RPC no Unix foi o da Sun RPC (agora denominado ONC RPC ), usado como base para o NFS ( Network File System ).

Transmitindo mensagens

Um RPC é iniciado pelo cliente que envia uma mensagem de solicitação a um servidor remoto conhecido para realizar um procedimento específico com parâmetros específicos. O servidor remoto envia uma resposta ao cliente e o aplicativo continua em execução. Existem muitas variações e sutilezas em várias implementações, resultando em uma variedade de protocolos RPC (incompatíveis). Enquanto o servidor está processando a chamada, o cliente é bloqueado (esperando que o servidor conclua o processamento dos dados).

Uma diferença importante entre chamadas de procedimento remoto e chamadas locais é que as chamadas remotas podem falhar devido a problemas de rede imprevisíveis. Além disso, os chamadores geralmente precisam lidar com essas falhas sem saber se o procedimento remoto foi realmente invocado. Procedimentos idempotentes (isto é, procedimentos que não têm efeito adicional se chamados mais de uma vez) são manipulados facilmente, mas existem muitas dificuldades restantes, que fazem com que o código para procedimentos remotos de chamada seja freqüentemente confinado a subsistemas de baixo nível cuidadosamente escritos.

RPC seguro

O RPC seguro protege as chamadas RPC por meio de um mecanismo de autenticação . O mecanismo Diffie-Hellman é usado para autenticar o host e o usuário solicitantes. O mecanismo de autenticação usa o Data Encryption Standard (DES). NFS , NIS e NIS + são exemplos de aplicativos que usam Secure RPC.

Veja também

Artigos relacionados

links externos

Notas e referências

  1. (em) "  Um Quadro de Alto Nível para a Rede-Based Resource Sharing  " Request for comments n o  707,14 de janeiro de 1976.
  2. (em) "  Visão geral do RPC seguro  "