Вызов удаленной процедуры Open Network Computing - Open Network Computing Remote Procedure Call
Набор интернет-протоколов |
---|
Уровень приложения |
Транспортный уровень |
Интернет-уровень |
Связующий слой |
Открытые сетевые вычисления (ONC) Удаленный вызов процедур (RPC) это удаленный вызов процедур система. ONC был первоначально разработан Sun Microsystems в 80-е годы в рамках своих Сетевая файловая система проект, и иногда его называют Sun RPC.
ONC основан на соглашения о вызовах используется в Unix и Язык программирования C. Это сериализует данные с использованием Представление внешних данных (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 для UNIX товар; кроме того, существует ряд сторонних реализаций ONC RPC для Windows, включая версии для C /C ++, Ява, и .СЕТЬ (см. внешние ссылки).
В 2009 году вс перелицензированный код ONC RPC по стандартному 3-пункту Лицензия BSD[1] а затем подтверждено Корпорация Oracle в 2010 году после недоразумений в отношении объема перелицензирования.[2]
ONC считается "экономичным и средним", но имеет ограниченную привлекательность в качестве обобщенной системы RPC для WAN или гетерогенные среды[нужна цитата ]. Такие системы как DCE, CORBA и МЫЛО обычно используются в этой более широкой роли[нужна цитата ].
Смотрите также
- XDR - Грамматика, определенная в RFC 1831 является небольшим расширением грамматики XDR, определенной в RFC 4506
- DCE
- XML-RPC
Рекомендации
- Birrell, A.D .; Нельсон, Б. Дж. (1984). «Реализация удаленных вызовов процедур». ACM-транзакции в компьютерных системах. 2: 39–59. Дои:10.1145/2080.357392.
Примечания
- ^ Фиппс, Саймон (12 февраля 2009 г.). «Старый код и старые лицензии». Sun Microsystems. Архивировано из оригинал на 2010-02-25. Получено 2012-12-21.
- ^ «Длинный и грязный рассказ о Sun RPC, несколько сокращенный, чтобы защитить виновных и безответственных». Том Каллауэй, Красная шляпа. Получено 2010-08-26.
внешняя ссылка
- RFC 1050 - Указывает версию 1 ONC RPC
- RFC 5531 - Указывает версию 2 ONC RPC
- Вызов удаленных процедур (RPC) - Учебное пособие по ONC RPC от доктора Дэйва Маршалла из Кардиффского университета
- Введение в программирование RPC - Введение разработчика в RPC и XDR из документации SGI IRIX.
- Руководство разработчика Sun ONC
- Netbula PowerRPC для 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