Удалённый вызов процедур | это... Что такое Удалённый вызов процедур? (original) (raw)

Удалённый вызов процедур (или Вызов удалённых процедур) (от англ. Remote Procedure Call (RPC)) — класс технологий, позволяющих компьютерным программам вызывать функции или процедуры в другом адресном пространстве (как правило, на удалённых компьютерах). Обычно, реализация RPC технологии включает в себя два компонента: сетевой протокол для обмена в режиме клиент-сервер и язык сериализации объектов (или структур, для необъектных RPC). Различные реализации RPC имеют очень отличающуюся друг от друга архитектуру и разнятся в своих возможностях: одни реализуют архитектуру SOA, другие CORBA или DCOM. На транспортном уровне RPC используют в основном протоколы TCP и UDP, однако, некоторые построены на основе HTTP (что нарушает архитектуру ISO/OSI, так как HTTP изначально не транспортный протокол).

Реализации

Существуют множество технологий, обеспечивающих RPC:

Принцип

Идея вызова удалённых процедур (Remote Procedure Call — RPC) состоит в расширении хорошо известного и понятного механизма передачи управления и данных внутри программы, выполняющейся на одной машине, на передачу управления и данных через сеть. Средства удалённого вызова процедур предназначены для облегчения организации распределённых вычислений и создания распределенных клиент-серверных информационных систем. Наибольшая эффективность использования RPC достигается в тех приложениях, в которых существует интерактивная связь между удалёнными компонентами с небольшим временем ответов и относительно малым количеством передаваемых данных. Такие приложения называются RPC-ориентированными.

Характерными чертами вызова удалённых процедур являются:

Реализация удалённых вызовов существенно сложнее реализации вызовов локальных процедур. Можно обозначить следующие проблемы и задачи, которые необходимо решить при реализации RPC:

Подсистемы

— управление исходящими и входящими соединениями.

— поддержка понятия «граница сообщения» для транспортных протоколов, не поддерживающих его непосредственно (TCP).

— поддержка гарантированной доставки для транспортных протоколов, не поддерживающих ее непосредственно (UDP).

В некоторых реализациях RPC (.NET Remoting) границы подсистем являются открытыми полиморфными интерфейсами, и возможно написать свою реализацию почти всех перечисленных подсистем. В других реализациях (DCE RPC в Windows) это не так.

См. также

Ссылки

Более полно на unix.org.ua

Просмотр этого шаблона Основные протоколы TCP/IP по уровням модели OSI (Список портов TCP и UDP)
Физический EthernetRS-232EIA-422RS-449RS-485
Канальный EthernetPPPoEPPPL2F802.11 Wi-Fi802.16 WiMaxToken ringARCNETFDDIHDLCSLIPATMCANDTMX.25Frame relaySMDSSTPERPS
Сетевой IPv4IPv6IPsecICMPIGMPARPRARPRIP2OSPF
Транспортный TCPUDPSCTPDCCP • RDP/RUDPRTPGRE
Сеансовый ADSPH.245iSNSNetBIOSPAPRPCL2TPPPTPRTCPSMPPSCP • ZIP • SDP
Представления XDRSSLTLS
Прикладной BGPHTTPHTTPSDHCPIRCSNMPDNSDNSSECNNTPXMPPSIPIPPNTPSNTPЭлектронная почта (SMTPPOP3IMAP4) • Передача файлов (FTPTFTPSFTP) • Удалённый доступ (rloginTelnetSSHRDP)
Другие прикладные OSCARCDDBMulticast FTPMultisource FTPBitTorrentGnutellaSkype