Солнце РПК
Набор интернет-протоколов |
---|
Прикладной уровень |
Транспортный уровень |
Интернет-слой |
Слой связи |
Открытые сетевые вычисления ( ONC ) Удаленный вызов процедур ( RPC ), широко известный как Sun RPC, представляет собой систему удаленного вызова процедур . ONC был первоначально разработан Sun Microsystems в 1980-х годах как часть проекта сетевой файловой системы .
ONC основан на соглашениях о вызовах, используемых в Unix и языке программирования C. Он сериализует данные с помощью внешнего представления данных (XDR), которое также нашло применение для кодирования и декодирования данных в файлах, доступ к которым осуществляется на более чем одной платформе. Затем ONC доставляет полезную нагрузку XDR, используя UDP или TCP . Доступ к службам RPC на компьютере предоставляется через преобразователь портов , который прослушивает запросы на известном порту (номер 111) через UDP и TCP.
ONC RPC версии 2 впервые был описан в РФК 1050 [1] опубликовано в апреле 1988 г. В июне 1988 г. оно было обновлено РФК 1057 . Позже он был обновлен RFC 1831 , опубликованный в августе 1995 года. RFC 5531 , опубликованный в мае 2009 года, является текущей версией. Все эти документы описывают только версию 2, а версия 1 не описана ни в одном документе RFC. Механизмы аутентификации, используемые ONC RPC, описаны в RFC 2695, RFC 2203 и RFC 2623.
Реализации ONC RPC существуют в большинстве Unix-подобных систем. Microsoft предоставила реализацию Windows в своем (сейчас прекращенном) Microsoft Windows Services for UNIX продукте ; кроме того, существует ряд сторонних реализаций ONC RPC для Windows, включая версии для C / C++ , Java и .NET (см. внешние ссылки).
В 2009 году Sun повторно лицензировала код ONC RPC в соответствии со стандартной лицензией BSD из трех пунктов. [2] а затем повторно подтверждено корпорацией Oracle в 2010 году из-за путаницы в отношении объема повторного лицензирования. [3]
ONC считается «экономным и подлым», но имеет ограниченную привлекательность в качестве обобщенной системы RPC для глобальных сетей или гетерогенных сред. [ нужна ссылка ] . Такие системы, как DCE , CORBA и SOAP, обычно используются в этой более широкой роли. [ нужна ссылка ] .
См. также
[ редактировать ]- XDR . Грамматика, определенная в RFC 1831, является небольшим расширением грамматики XDR, определенной в RFC 4506.
- ДЦЭ
- XML-RPC
Ссылки
[ редактировать ]- Биррелл, AD; Нельсон, Би Джей (1984). «Реализация удаленных вызовов процедур» . Транзакции ACM в компьютерных системах . 2 : 39–59. дои : 10.1145/2080.357392 . S2CID 11525846 .
Примечания
[ редактировать ]- ^ «RFC 1050, раздел 8» . Апрель 1988 г.
Число rpcvers должно быть равно 2.
- ^ Фиппс, Саймон (12 февраля 2009 г.). «Старый код и старые лицензии» . Сан Микросистемс . Архивировано из оригинала 23 февраля 2013 г. Проверено 21 декабря 2012 г.
{{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка ) - ^ «Длинная и отвратительная история Sun RPC, несколько сокращенная, чтобы защитить виновных и безответственных» . Том Каллауэй, Red Hat . Проверено 26 августа 2010 г.
Внешние ссылки
[ редактировать ]- RFC 5531 — RPC: спецификация протокола удаленного вызова процедур, версия 2 (текущая версия)
- RFC 1831 - RPC: Спецификация протокола удаленного вызова процедур, версия 2 (третья опубликованная версия)
- RFC 1057 - RPC: Спецификация протокола удаленного вызова процедур, версия 2 (вторая опубликованная версия)
- RFC 1050 - RPC: Спецификация протокола удаленного вызова процедур, версия 2 (первая опубликованная версия)
- Удаленные вызовы процедур (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)
- Remote Tea .Net (реализация LGPL C#)
- ONC RPC для Windows от Distinct Corporation
- Статья в Linux Journal об ONC RPC
- Библиотека ONC RPC на базе Java NIO