Набор интернет-протоколов |
---|
Уровень приложения |
Транспортный уровень |
Интернет-уровень |
Связующий слой |
|
Вызов удаленных процедур ( RPC ) Open Network Computing ( ONC ) - это система удаленного вызова процедур . ONC был первоначально разработан Sun Microsystems в 1980-х годах как часть их проекта сетевой файловой системы и иногда упоминается как Sun RPC .
ОНК основан на соглашения о вызовах , используемых в 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 с тремя пунктами [1], а затем была повторно подтверждена корпорацией Oracle в 2010 году после путаницы в отношении объема перелицензирования. [2]
ONC считается «экономичным и средним», но имеет ограниченную привлекательность в качестве обобщенной системы RPC для глобальных сетей или гетерогенных сред [ необходима цитата ] . Такие системы, как DCE , CORBA и SOAP , обычно используются в этой более широкой роли [ необходима цитата ] .
См. Также [ править ]
- XDR - грамматика, определенная в RFC 1831, является небольшим расширением грамматики XDR, определенной в RFC 4506.
- DCE
- XML-RPC
Ссылки [ править ]
- Birrell, AD; Нельсон, Б.Дж. (1984). «Реализация удаленных вызовов процедур». ACM-транзакции в компьютерных системах . 2 : 39–59. DOI : 10.1145 / 2080.357392 . S2CID 11525846 .
Заметки [ править ]
- Перейти ↑ Phipps, Simon (2009-02-12). «Старый кодекс и старые лицензии» . Sun Microsystems . Архивировано из оригинала на 2010-02-25 . Проверено 21 декабря 2012 .
- ^ «Длинный, грязный рассказ о Sun RPC, несколько сокращенный, чтобы защитить виновных и безответственных» . Том Каллавей , Red Hat . Проверено 26 августа 2010 .
Внешние ссылки [ править ]
- RFC 1050 - определяет версию 1 ONC RPC
- RFC 5531 - определяет версию 2 ONC RPC
- Удаленные вызовы процедур (RPC) - Учебное пособие по ONC RPC от доктора Дейва Маршалла из Кардиффского университета
- Введение в программирование RPC - введение разработчика в RPC и XDR из документации SGI IRIX.
- Руководство разработчика Sun ONC
- PowerRPC от Netbula для Windows (ONC RPC для Windows с расширенным IDL)
- JRPC Netbula (ONC RPC для Java) (поддерживает J2SE, J2ME и Android
- Внедрение ONC / RPC Университета Ахена (Германия)
- Удаленный чай (реализация LGPL Java)
- Удаленный чай .Net (реализация LGPL C #)
- ONC RPC от Distinct Corporation для Windows
- Статья в Linux Journal о ONC RPC
- Библиотека ONC RPC на основе Java NIO