ONC RPC (ONC RPC)

Перейти к навигации Перейти к поиску

ONC RPC (англ. Open Network Computing Remote Procedure Call) — широко используемая система удаленного вызова процедур. Разработана компанией Sun Microsystems как часть проекта сетевой файловой системы (Network File System), и иногда упоминается как Sun ONC или Sun RPC. ONC RPC описан в RFC 1831 (1995 года) и RFC 5531 (2009 года). Механизмы аутентификации, используемые ONC RPC, описаны в RFC 2695, RFC 2203 и RFC 2623.

RPC основан на соглашении о вызове, используемом в Unix и языке программирования Си — cdecl. Он сериализует данные при помощи XDR, который также может кодировать и декодировать файлы для поддержки доступа с различных платформ. Затем ONC доставляет данные XDR, используя UDP или TCP. Доступ к сервисам RPC на компьютере предоставляется через отображатель портов (port mapper[англ.]), который принимает запросы на известном порту, обычно 111, по UDP и TCP.

Реализации ONC RPC существуют в большинстве Unix-подобных систем. Чаще всего они основываются на коде от компании Sun, опубликованном в Usenet в 1984 году. Microsoft поставляет реализацию в составе продукта Microsoft Windows Services for UNIX, кроме того существуют иные реализации ONC RPC для ОС Windows, в том числе для C/C++, Java, .NET.

В 2009 году Sun собиралась перелицензировать реализацию ONC RPC под 3-условную BSD license[1], что позже было сделано Oracle в 2010 году.[2]

Примечания

[править | править код]
  1. Simon Phipps. «Old Code and Old Licenses». Sun Microsystems (13 февраля 2009). Дата обращения: 20 февраля 2009. Архивировано из оригинала 22 февраля 2012 года.
  2. «The long, sordid tale of Sun RPC, abbreviated somewhat, to protect the guilty and the irresponsible». Tom Callaway, Red Hat (26 августа 2010). Дата обращения: 26 августа 2010. Архивировано из оригинала 22 февраля 2012 года.