Open Network Computing ( ONC ) Remote Procedure Call ( RPC ), comúnmente conocido como Sun RPC, es un sistema de llamadas a procedimientos remotos . ONC fue desarrollado originalmente por Sun Microsystems en la década de 1980 como parte de su proyecto Network File System .
ONC se basa en las convenciones de llamada utilizadas en Unix y el lenguaje de programación C. Serializa los datos mediante la Representación de Datos Externos (XDR), que también se utiliza para codificar y decodificar datos en archivos a los que se accede desde varias plataformas. ONC entrega la carga útil XDR mediante UDP o TCP . El acceso a los servicios RPC en una máquina se proporciona a través de un mapeador de puertos que escucha las consultas en un puerto conocido (el número 111) mediante UDP y TCP.
La versión 2 de ONC RPC se describió por primera vez en el RFC 1050 [ 1 ], publicado en abril de 1988. En junio de 1988, se actualizó mediante el RFC 1057. Posteriormente, se actualizó mediante el RFC 1831 , publicado en agosto de 1995. El RFC 5531 , publicado en mayo de 2009, es la versión actual. Todos estos documentos describen únicamente la versión 2; la versión 1 no fue cubierta por ningún documento RFC. Los mecanismos de autenticación utilizados por ONC RPC se describen en los RFC 2695, 2203 y 2623.
Existen implementaciones de ONC RPC en la mayoría de los sistemas tipo Unix . Microsoft proporcionó una implementación para Windows en su producto (actualmente descontinuado) Microsoft Windows Services for UNIX ; además, existen varias implementaciones de terceros de ONC RPC para Windows, incluidas versiones para C / C++ , Java y .NET (ver enlaces externos).
En 2009, Sun volvió a licenciar el código ONC RPC bajo la licencia BSD estándar de 3 cláusulas , [ 2 ] lo cual fue reconfirmado por Oracle Corporation en 2010 tras una confusión sobre el alcance de la nueva licencia. [ 3 ]
Véase también
Referencias
- Birrell, AD; Nelson, BJ (1984). "Implementación de llamadas a procedimientos remotos" . ACM Transactions on Computer Systems . 2 : 39–59 . doi : 10.1145/2080.357392 . S2CID 11525846 .
Notas
- ↑ "RFC 1050 sección 8" . Abril de 1988.
rpcvers debe ser igual a 2.
- ↑ Phipps, Simon (12 de febrero de 2009). "Código antiguo y licencias antiguas" . Sun Microsystems . Archivado del original el 23 de febrero de 2013. Consultado el 21 de diciembre de 2012 .
{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace ) - ↑ "La larga y sórdida historia de Sun RPC, abreviada en cierta medida para proteger a los culpables y a los irresponsables" . Tom Callaway, Red Hat . Consultado el 26 de agosto de 2010 .
Enlaces externos
- RFC 5531 - RPC: Especificación del protocolo de llamada a procedimiento remoto, versión 2 (versión actual)
- RFC 1831 - RPC: Especificación del protocolo de llamada a procedimiento remoto, versión 2 (tercera versión publicada)
- RFC 1057 - RPC: Especificación del protocolo de llamada a procedimiento remoto, versión 2 (segunda versión publicada)
- RFC 1050 - RPC: Especificación del protocolo de llamada a procedimiento remoto, versión 2 (primera versión publicada)
- Llamadas a procedimientos remotos (RPC) : un tutorial sobre RPC de la ONC a cargo del Dr. Dave Marshall de la Universidad de Cardiff.
- Introducción a la programación RPC : una introducción a RPC y XDR para desarrolladores, basada en la documentación de SGI IRIX.
- Guía para desarrolladores de Sun ONC
- PowerRPC de Netbula para Windows (RPC ONC para Windows con IDL extendido)
- JRPC de Netbula (ONC RPC para Java) (compatible con J2SE, J2ME y Android)
- Implementación del ONC/RPC en la Universidad de Aquisgrán (Alemania)
- Té remoto (implementación en Java bajo licencia LGPL)
- Remote Tea .Net (Implementación en C# con licencia LGPL)
- ONC RPC de Distinct Corporation para Windows
- Artículo de Linux Journal sobre ONC RPC
- Biblioteca RPC ONC basada en Java NIO
- protocolos de la capa de aplicación
- Estándares de Internet
- Llamada a procedimiento remoto
- Software de Sun Microsystems
- Software Unix