Microsoft RPC-protokoller

Indlæg af Hanne Mølgaard Plasc

  Microsoft Remote Procedure Call (RPC) klient / server teknologi tillader programmører at forbinde forskellige computere og køre deres separate software sammen som om det var et enkelt program. Kodeudførelsesinstruktioner transporteres på tværs af et netværk ved hjælp af RPC-protokoller, der fastsætter grundreglerne for processen. Uden Microsoft RPC- og RPC-protokoller skal mange yderligere oplysninger kodes manuelt i hvert distribueret softwareprogram. Fra juni 2010 understøtter Microsoft tre RPC-protokoller.

Netværkscomputing Architecture Connection Oriented Protocol (NCACN)

Network Computing Architecture-forbindelsesorienteret protokol (NCACN) bruges til at sende kodeudførelsesinstruktioner mellem applikationer, der kører på to eller flere fjerntliggende computersystemer. Ved at bruge en forbindelsesorienteret kommunikationssession accepterer klienten og serveren regler for netværkstransportvejen og data 'checkpoints', inden der overføres oplysninger. Serveren giver bekræftelser til det anmodende klientsystem, der bekræfter, at serveren kører, og at den har modtaget anmodningen. Desuden placeres kontroller på datastrømmen mellem systemer for at gøre overførslen mere ensartet og pålidelig.



Forskellige kommunikationsprotokoller kombineres for at skabe en 'protokollensekvens' et sprog, der bruges af netværksoperativsystemer til at kommunikere med andre computere på netværket. Protokollsekvensen bestemmer, hvordan kodeudførelsesforespørgsler overføres fra en computer til en anden.




Når eksterne RPC-dataanmodninger sendes via NCACN-protokollen over standard TCP / IP-netværket, anvendes ncacn\_ip\_tcp-protokollensekvensen.



Når RPC-anmodningerne sendes via en del af systemhukommelsen kaldet et 'navngivet rør', der fungerer som en informationsrør, anvendes ncacn\_np-protokollensekvensen.








Hvis de eksterne RPC-anmodninger transporteres over TCP / IP ved hjælp af en Microsoft Internet Information Server (IIS) som Hypertext Transfer Protocol (HTTP) proxy, er ncacn\_http-protokollens rækkefølge

Netværkscomputing Architecture Datagram Protocol (NCADG)

Microsoft RPC-anmodninger kan også sendes over et netværk ved hjælp af en forbindelsesløs transportmetode. Denne type RPC-protokol kaldes Network computing Architecture datagram protocol (NCADG). Det tilbyder hurtigere datatransport end NCACN-protokollen, men er meget mindre pålidelig.



NCADG-protokollen sender RPC-anmodninger til en fjernserver i et datagram eller en pakke. Brug af en forbindelsesløs transportmetode på tværs af et netværk kan imidlertid sammenlignes med at sende en besked i en flaske over et hav, da der ikke er nogen positiv serverbekræftelse af RPC-anmodningen, ingen autentificering og ingen garanti for dataudlevering. Fra og med juli 2010 betragtes de tilhørende protokollsekvenser som 'forældede og bør ikke bruges i nye applikationer', ifølge Microsofts MSDN-bibliotek.

Netværkscomputing Architecture Lokal fjernbetjeningskaldsprotokol (NCALRPC)

Der er tidspunkter, hvor en programmør skal bruge RPC til at sende kodeforløbsbegæringer mellem separate programmer, der kører på et enkelt værtssystem. I sådanne tilfælde anvendes den lokale Remote Procedure Call Protocol (NCCRPC) eller NCALRPC. et lokalt RPC eller lokalt procedureopkald (LPC), er en indbygget funktion af værtssystemets operativsystem. Derfor er der ikke behov for yderligere protokoller eller protokollesekvenser for at sende RPC-anmodninger mellem klienten og serveren.