Microsoft protocolli RPC

January 12

Microsoft protocolli RPC


La tecnologia client / server Microsoft Remote Procedure Call (RPC) consente ai programmatori di collegare diversi computer ed eseguire il software separato insieme come se si trattasse di un unico programma. Istruzioni per l'esecuzione di codice vengono trasportati attraverso una rete utilizzando i protocolli RPC che depongono le regole di base per il processo. Senza Microsoft RPC e protocolli RPC, molte informazioni aggiuntive dovrebbe essere codificato manualmente in ogni programma software distribuito. Nel giugno del 2010, Microsoft supporta tre protocolli RPC.

(NCACN) Network Computing Architecture Connection-Oriented protocollo

Il orientato alla connessione di protocollo Network Computing Architecture (NCACN) viene utilizzata per inviare istruzioni esecuzione di codice tra le applicazioni in esecuzione su due o più sistemi di computer remoti. Utilizzando una sessione di comunicazione orientata alla connessione, il client e il server accetta di norme che regolano il percorso di trasporto di rete e dati "punti di controllo" prima che qualsiasi informazione viene trasferita. Il server fornisce riconoscimenti al sistema client richiedente che conferma che il server è in esecuzione e che ha ricevuto la richiesta. Inoltre, i comandi sono posti sul flusso dei dati tra i sistemi per il trasferimento più uniforme e affidabile.

protocolli di comunicazione diversi sono combinati per creare una "sequenza di protocollo", un linguaggio utilizzato dai sistemi operativi di rete per comunicare con altri computer della rete. La sequenza di protocollo determina il modo in codice richieste di esecuzione sono trasmessi da un computer all'altro.

Quando le richieste di dati RPC remoto vengono inviati tramite protocollo NCACN attraverso la rete standard TCP / IP, viene utilizzata la sequenza di protocollo ncacn_ip_tcp.

Quando le richieste RPC sono inviati attraverso una porzione della memoria di sistema chiamato "pipe denominata", che agisce come un canale di informazioni, viene utilizzata la sequenza di protocollo ncacn_np.

Se le richieste RPC remote sono trasportati su TCP / IP utilizzando un Microsoft Internet Information Server (IIS) come Hypertext Transfer Protocol (HTTP) proxy, viene utilizzata la sequenza di protocollo ncacn_http.

Network Computing Architecture Datagram Protocol (NCADG)

le richieste di Microsoft RPC possono anche essere inviati attraverso una rete utilizzando un metodo di trasporto senza connessione. Questo tipo di protocollo RPC si chiama Network Computing Architecture Datagram Protocol (NCADG). Offre trasporto dei dati più veloce del protocollo NCACN, ma è molto meno affidabile.

Il protocollo NCADG invia richieste RPC a un server remoto in un datagramma, o di pacchetto. Tuttavia, utilizzando un metodo di trasporto senza connessione in rete è paragonabile all'invio di un messaggio in una bottiglia attraverso un oceano, in quanto non vi è alcuna conferma di server positiva della richiesta RPC, nessuna autenticazione e nessuna garanzia di consegna dei dati. A partire dal luglio 2010, i sequenze di protocollo associati sono considerati "obsoleti e non dovrebbero essere usati in nuove applicazioni", secondo Microsoft & # 039; s MSDN Library.

(Ncalrpc) Network Computing Architecture locale Remote Procedure Call Protocol

Ci sono momenti in cui un programmatore ha bisogno di utilizzare RPC per inviare richieste di esecuzione di codice tra programmi separati in esecuzione su un singolo sistema host. In questi casi, il locale protocollo Remote Procedure Call Network Computing Architecture, o ncalrpc, viene utilizzato. Ncalrpc, indicato anche come RPC locale o di procedura locale chiamata (LPC), è una funzione built-in del sistema host & # 039; s sistema operativo. Pertanto, nessun protocolli aggiuntivi o sequenze di protocollo sono tenuti a inviare richieste RPC tra il client e il server.