Spring til indhold

Remote procedure call

Fra Wikipedia, den frie encyklopædi
(Omdirigeret fra Asynkron)
For alternative betydninger, se RPC.
OSI-modellen med kendte protokoller.
De anvendes bl.a. på datanettene:
Fastnet og trådløst: WAN (f.eks. internettet), MAN, LAN, PAN.
Kun trådløst: IPN, WMAN, WLAN, WPAN (f.eks. Bluetooth).
Lag Lagnavn IP bårne/relaterede (har RFC)
7 Program HTTP, SMTP, POP3, IMAP, FTP, DNS, DHCP...
6 Præsentation AFP...
5 Session RPC, NetBIOS...
4 Transport TCP, UDP, RTP...
3 Netværk IP: (IPv4, IPv6), ICMP, IGMP, ARP...
2 Datalink Ethernet, HDLC, V.42bis, V.42(LAPM), V.44...
1 Fysisk V.34, V.90, ADSL, 802.11 Wi-Fi, WiMAX...

Remote Procedure Call (RPC) er en populær netværksprotokol, der implementerer client/server paradigmet.

RPC forløber således:

  1. Et system (klienten) kalder et system på en anden maskine (serveren) for at få udført en ønsket procedure. Sammen med kaldet overføres evt. parametre til proceduren.
  2. Serveren behandler forespørgslen og returnerer et svar.
  3. Klienten modtager svaret.

RPC implementeres ofte med synkrone kald, hvor klienten venter indtil serveren returnerer svaret, men kan også implementeres asynkront, hvor klienten foretager sig noget andet i tidsrummet mellem den sender forespørgslen og modtager svaret.

RPC-kald kan ske i en transaktionskontekst, hvor en fejl på enten klienten eller serveren, tilbageruller ændringer evt. på både klient og server.

Eksempler på protokoller, der kan bruges til RPC er:

  • SOAP (Web service) (understøtter ikke umidddelbart transaktioner)
  • CORBA. (understøtter transaktioner)
  • MQ (understøtter ikke umiddelbart transaktioner i RPC)