Набор интернет-протоколов |
---|
Уровень приложения |
Транспортный уровень |
|
Интернет-уровень |
Связующий слой |
|
|
Open Network Computing ( ONC) Удаленный вызов процедур ( RPC), широко известный как Sun RPC, представляет собой систему удаленного вызова процедур. ONC был первоначально разработан Sun Microsystems в 1980-х годах в рамках их проекта Network File System.
ОНК основан на соглашения о вызовах, используемых в Unix и язык программирования Си. Он сериализует данные, используя представление внешних данных (XDR), которое также нашло некоторое применение для кодирования и декодирования данных в файлах, которые должны быть доступны на нескольких платформах. Затем ONC доставляет полезную нагрузку XDR, используя UDP или TCP. Доступ к службам RPC на машине предоставляется через преобразователь портов, который прослушивает запросы на известном порте (номер 111) через UDP и TCP.
ONC RPC был описан в RFC 1831, опубликованном в 1995 году. RFC 5531, опубликованном в 2009 году, является текущей версией. Механизмы аутентификации, используемые ONC RPC, описаны в RFC 2695, RFC 2203 и RFC 2623.
Реализации ONC RPC существуют в большинстве Unix-подобных систем. Microsoft предоставляет реализацию для Windows в своих продуктах Microsoft Windows Services для UNIX ; кроме того, существует ряд сторонних реализаций ONC RPC для Windows, включая версии для C / C ++, Java и .NET (см. внешние ссылки).
В 2009 году Sun перелицензировала код ONC RPC в соответствии со стандартной лицензией BSD с тремя пунктами, а затем повторно подтвердила Oracle Corporation в 2010 году после путаницы в отношении объема перелицензирования.
ONC считается «экономичным и средним», но имеет ограниченную привлекательность в качестве обобщенной системы RPC для глобальных сетей или гетерогенных сред. Такие системы, как DCE, CORBA и SOAP, обычно используются в этой более широкой роли.