썬 RPC

썬 RPC(Sun RPC) 또는 ONC/RPC(Open Network Computing / Remote Procedure Call)는 원격 프로시저 호출 시스템이다. ONC는 원래 1980년대 썬 마이크로시스템즈가 네트워크 파일 시스템 프로젝트의 일부로 개발했다.

ONC는 유닉스와 C (프로그래밍 언어)에서 사용되는 호출 규칙을 기반으로 한다. XDR(외부 데이터 표현)을 사용하여 데이터를 직렬화한다. XDR은 둘 이상의 플랫폼에서 액세스할 파일의 데이터를 인코딩 및 디코딩하는 데 일부 사용되는 것으로 나타났다. 그런 다음 ONC는 UDP 또는 TCP를 사용하여 XDR 페이로드를 전달한다. 머신의 RPC 서비스에 대한 액세스는 UDP 및 TCP를 통해 잘 알려진 포트(번호 111)에서 쿼리를 수신하는 포트 매퍼를 통해 제공된다.

ONC RPC는 1995년에 게시된 RFC 1831에 설명되어 있다. 2009년에 게시된 RFC 5531이 최신 버전이다. ONC RPC에서 사용하는 인증 메커니즘은 RFC 2695, RFC 2203 및 RFC 2623에 설명되어 있다.

ONC RPC 구현은 대부분의 유닉스 계열 시스템에 존재한다. 마이크로소프트는 UNIX 제품용 Microsoft Windows 서비스에서 Windows용 구현을 제공한다. 또한 C/C++, 자바 및 닷넷용 버전을 포함하여 Windows용 ONC RPC의 다양한 타사 구현이 존재한다.

2009년에 썬은 표준 3조항 BSD 라이센스에 따라 ONC RPC 코드에 대한 라이선스를 취득했고, 라이선스 범위에 대한 혼란이 있은 후 2010년 오라클에 의해 재확인되었다.

같이 보기 
 XML-RPC

출처

외부 링크 
 RFC 1050 - Specifies version 1 of ONC RPC
 RFC 5531 - Specifies version 2 of ONC RPC
 Remote Procedure Calls (RPC) — A tutorial on ONC RPC by Dr Dave Marshall of Cardiff University
 Introduction to RPC Programming — A developer's introduction to RPC and XDR, from SGI IRIX documentation.
 Sun ONC Developer's guide
 Netbula's PowerRPC for Windows (ONC RPC for Windows with extended IDL)
 Netbula's JRPC (ONC RPC for Java)(supports J2SE, J2ME and Android
 ONC/RPC Implementation of the University of Aachen (Germany)
 Remote Tea (LGPL Java Implementation)
 Remote Tea .Net (LGPL C# Implementation)
 Distinct Corporation's ONC RPC for Windows
 Linux Journal article on ONC RPC
 Java NIO based ONC RPC library

응용 계층 프로토콜
인터넷 표준
원격 프로시저 호출
썬 마이크로시스템즈 소프트웨어
유닉스 소프트웨어