{{위키데이터 속성 추적}}
{{IP스택}}
'''썬 RPC'''(Sun RPC) 또는 '''ONC/RPC'''(Open Network Computing / Remote Procedure Call)는 [[원격 프로시저 호출]] 시스템이다. ONC는 원래 1980년대 [[썬 마이크로시스템즈]]가 [[네트워크 파일 시스템]] 프로젝트의 일부로 개발했다.

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

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

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

2009년에 썬은 표준 3조항 [[BSD 허가서]]<ref>{{웹 인용|last1=Phipps |first1=Simon |url=https://blogs.oracle.com/webmink/entry/old_code_and_old_licenses |title=Old Code and Old Licenses |date=2009-02-12 |access-date=2012-12-21 |publisher=[[Sun Microsystems]] |archive-url=https://web.archive.org/web/20130223021412/https://blogs.oracle.com/webmink/entry/old_code_and_old_licenses |archive-date=2013-02-23 |url-status=bot: unknown }}</ref>에 따라 ONC RPC 코드에 대한 라이선스를 취득했고, 라이선스 범위에 대한 혼란이 있은 후 2010년 오라클에 의해 재확인되었다.<ref>{{웹 인용| url = http://spot.livejournal.com/315383.html | title = The long, sordid tale of Sun RPC, abbreviated somewhat, to protect the guilty and the irresponsible | access-date = 2010-08-26 | publisher = Tom Callaway, [[Red Hat]] }}</ref>

== 같이 보기 ==
* [[XML-RPC]]

== 출처 ==
* {{저널 인용| last1 = Birrell | first1 = A. D. | last2 = Nelson | first2 = B. J. | title = Implementing remote procedure calls | journal = ACM Transactions on Computer Systems | volume = 2 | pages = 39–59 | year = 1984 | doi = 10.1145/2080.357392| s2cid = 11525846 | doi-access = free }}

=== 각주 ===
<references />

== 외부 링크 ==
* [https://datatracker.ietf.org/doc/html/rfc1050 RFC 1050] - Specifies version 1 of ONC RPC
* [https://datatracker.ietf.org/doc/html/rfc5531 RFC 5531] - Specifies version 2 of ONC RPC
* [http://www.cs.cf.ac.uk/Dave/C/node33.html Remote Procedure Calls (RPC)] — A tutorial on ONC RPC by Dr Dave Marshall of Cardiff University
* [https://web.archive.org/web/20030404113118/http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=bks&srch=&fname=%2FSGI_Developer%2FIRIX_NetPG%2Fsgi_html%2Fch04.html Introduction to RPC Programming] — A developer's introduction to RPC and XDR, from SGI IRIX documentation.
* [http://docs.oracle.com/cd/E19683-01/816-1435/index.html Sun ONC Developer's guide]
* [http://netbula.com/oncrpc Netbula's PowerRPC for Windows (ONC RPC for Windows with extended IDL)]
* [http://netbula.com/javarpc Netbula's JRPC (ONC RPC for Java)(supports J2SE, J2ME and Android]
* [https://web.archive.org/web/20120204161508/http://www.plt.rwth-aachen.de/index.php?id=258 ONC/RPC Implementation of the University of Aachen (Germany)]
* [https://web.archive.org/web/20120206015507/http://sourceforge.net/apps/trac/remotetea/wiki/WikiStart Remote Tea (LGPL Java Implementation)]
* [http://remoteteanet.sourceforge.net/ Remote Tea .Net (LGPL C# Implementation)]
* [http://www.onc-rpc-xdr.com/ Distinct Corporation's ONC RPC for Windows]
* [http://www.linuxjournal.com/article/2204 Linux Journal article on ONC RPC]
* [https://github.com/dCache/oncrpc4j Java NIO based ONC RPC library]

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