Remote procedure call
- For alternative betydninger, se RPC.
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:
- 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.
- Serveren behandler forespørgslen og returnerer et svar.
- 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)