Remote procedure call

Z Multimediaexpo.cz

Remote procedure call (RPC, vzdálené volání procedur) je v informatice technologie dovolující programu vykonat kód na jiném místě, než je umístěn volající program.

Příkladem budiž provedení složitějšího matematického výpočtu výkonnějším počítačem, dostupným skrze síť.

Postup

Obsah

[skrýt]
  1. Proběhne zabalení identifikátoru procedury a vstupních parametrů do formy vhodné pro přenos (jde se o tzv marshalling).
  2. Balíček se odešle.
  3. Entita určená k vykonání procedury balíček rozbalí a seznámí se s jeho obsahem (jde o tzv. unmarshalling).
  4. Dojde k provedení procedury.
  5. Proběhne další zabalení, tentokrát výstupu procedury.
  6. Data se odešlou zpět volající entitě.
  7. Dojde k rozbalení.
  8. Proběhne předání nadřazenému podprogramu.

Výhody

  • Odlehčení vlastní aplikace o danou (v principu velmi komplikovanou) proceduru.
  • Abstrahovaní od implementace procedury (volající entitu zajímá jen výsledek, zbytek je tzv. černá skříňka).
  • Možnost „půjčit si“ výpočetní výkon jiného stroje.

Nevýhody

  • Potřeba bezchybné funkčnosti entity, jež je k vykonání procedury určena, a konektivity s ní.
  • Nemožnost používání globálních proměnných a předávání ukazatelů (v jiném stroji nemají smysl; adresní prostor je totiž jiný).

Standardy

Tři základní RPC standardy jsou:

  • ONC (Open Network Computing);
  • DCE (Distributed Computing Environment);
  • Microsoft COM/DCOM „standard“.

Historie

  • První popis RPC spadá do roku 1976, do normy RFC 707.
  • První, kdo RPC využíval, byla firma Xerox. Stalo se tak pod jménem Kurýr (v angl. originálu Courier), a to v roce 1981.
  • První masové využití přišlo se systémem Unix. Šlo o ON RPC.
  • Počítačový červ Blaster využíval exploitu této technologie.

Související články

Externí odkazy

[skrýt] Protokoly počítačových sítí a internetu podle modelu ISO/OSI
                                   7 – Aplikační vrstva

BitTorrentDNSBOOTPDHCPFTPGopherHTTPHTTPSIMAPIRCIdentNNTPNFS
NTPPOP3RTPSIPSMBSMTPSNMPSSHSTUNTelnetXMPP

                                   6 – Prezentační vrstva

NCP

                                   5 – Relační vrstva

SPDYSSL-TLSNetBIOSRPCSMBNFS

                                   4 – Transportní vrstva

DCCPRUDPSCTPTCPUDP

                                   3 – Síťová vrstva

IPv4IPv6ICMPIGMPAdresováníSměrování

                                   2 – Linková vrstva

EthernetFDDIPPPToken ringWi-FiSběrniceARPProxy ARPRARP

                                   1 – Fyzická vrstva

10Base510Base210BASE-T100BASE-TX1000BASE-TRS-232RS-422RS-449RS-485