Procedure remote: chiamate procedure remote, definizioni e funzionalità

09/04/2019

Molti utenti di sistemi informatici hanno sentito parlare di concetti come procedure remote, chiamate di procedure remote o RPC. Ma solo non tutti immaginano che tipo di tecnologie sono, come funzionano e per cosa servono. Ma molti di coloro che hanno disabilitato questo servizio in sistemi basati su Windows possono spesso ricevere errori relativi a guasti critici. Questo e molto altro sarà discusso più avanti.

Chiamata di procedura remota: che cos'è?

Vale la pena iniziare con alcune informazioni teoriche. Le procedure remote (chiamate di procedura remota) sono considerate un meccanismo che consente di eseguire o utilizzare qualsiasi funzione di sistemi informatici in uno spazio di indirizzi diverso dal terminale utilizzato. In poche parole, questo è un modo per accedere computer remoto ad esempio, attraverso una rete locale o una connessione Internet.

le procedure remote chiamano le procedure remote

Tuttavia, le procedure remote (chiamate di procedura remota), denominate RPC (abbreviazione di Remote Procedure English), possono essere attribuite non solo ai computer remoti. A livello locale, vengono utilizzate anche queste tecnologie. Come semplice esempio, puoi chiamare una funzione specifica di un programma da un'altra applicazione attraverso l'interazione attraverso le librerie speciali.

Inoltre, assolutamente tutte le versioni di Windows hanno un tale servizio, e quando è disabilitato o un errore della modifica di XP non funziona affatto.

Principio di funzionamento

Di norma, il servizio RPC Remote Procedure Call per il funzionamento client-server richiede almeno due componenti principali: un protocollo di rete per lo scambio di dati e un linguaggio di serializzazione (traduzione di alcuni processi o struttura di dati di informazioni in una sequenza di bit).

chiamata di procedura remota di Windows 10

Le architetture possono essere completamente diverse e differiscono nelle loro capacità. Ma per lo scambio di dati con il cosiddetto livello di trasporto, i protocolli UDP e TCP sono più spesso utilizzati, meno spesso - HTTP.

errore di chiamata di procedura remota

Per non entrare negli aspetti tecnici, la spiegazione più semplice di come funzionano tali tecnologie può essere il seguente esempio: il processo client forma una richiesta al server con una descrizione della procedura selezionata con i parametri specificati e la invia, dopo di che il server esegue la direttiva richiesta e invia al client una risposta che viene visualizzata sul client la macchina. Tuttavia, il gestore del server stesso è, per così dire, in modalità standby e viene attivato solo nei momenti di ricezione delle richieste dei client. Allo stesso tempo, non è affatto necessario che l'esecuzione dello schema "richiesta-risposta" sia eseguita immediatamente.

Allo stesso tempo, l'effetto massimo delle prestazioni si ottiene quando si scambiano quantità relativamente piccole di dati e un breve tempo di risposta dei componenti tra i quali viene stabilita una connessione interattiva.

Procedure remote (chiamata a procedura remota): caratteristiche e implementazioni

Quindi, possiamo distinguere due caratteristiche principali di queste tecnologie:

  • asimmetria (avvio della procedura remota solo una delle parti);
  • sincronicità (sospendendo la procedura di chiamata dal momento in cui la richiesta viene avviata e ripresa dopo aver inviato la risposta).

Per quanto riguarda le implementazioni, le procedure remote (chiamata di procedure remote) utilizzano oggi diverse tecnologie di base, tra cui le più utilizzate sono le seguenti:

  • DCE / RPC è un protocollo binario basato su TCP / IP, SMB / SIFC, ecc .;
  • DCOM è un componente aggiuntivo orientato agli oggetti con la possibilità di trasferire riferimenti a oggetti e metodi di chiamata per il loro trattamento;
  • JSON-RPC - Protocollo di testo basato su HTTP;
  • .NET Remoting: protocollo binario basato su UDP, TCP e HTTP;
  • Java RMI;
  • SOAP;
  • XML RPC;
  • SUN RPC;
  • ZeroC ICE;
  • Routix.RPC et al.

Problemi e compiti

Ora alcune parole sulle carenze. Il problema principale e, di conseguenza, l'attività di implementazione, è che la stessa operazione di chiamata di procedura remota tramite il nodo del servizio Remote Procedure Call deve essere eseguita simultaneamente su macchine diverse, spesso con diversi sistemi operativi, spazi di indirizzi e architettura . Nel processo, questi parametri devono essere copiati da un terminale all'altro. A tale scopo, non viene utilizzato solo il protocollo di trasporto, ma anche la serializzazione, che consente di convertire sequenze di byte diverse tipi di dati

Il secondo punto è legato al fatto che le procedure remote (chiamata di procedure remote) non utilizzano un processo, come a livello locale, ma due (sulla macchina client e sul server). Pertanto, la terminazione anomala del programma su uno dei terminali può causare la stessa reazione all'altra.

Infine, uno dei problemi principali è il problema della compatibilità dovuto all'eterogeneità di alcuni linguaggi di programmazione, nonostante gli standard uniformi stabiliti.

I principali tipi di sottosistemi

Chiamata a procedura remota Windows 10 o qualsiasi altro sistema con il rango sottostante implica l'uso di sottosistemi speciali:

  • un sottosistema di trasporto progettato per gestire le connessioni in uscita e in entrata con consegna garantita di pacchetti di dati;
  • Protocolli di pool: il concetto di procedura sul terminale chiamato;
  • serializzazione (marshalling) - conversione di flussi di dati in codici byte standard indipendenti dall'architettura;
  • Crittografia dei pacchetti inviati e ricevuti con l'imposizione di una firma digitale su di essi;
  • sistema di autenticazione e autorizzazione.

Quali tipi di programmi richiedono l'esecuzione di RPC?

Se parliamo di quali moduli software del sistema operativo richiedono di mantenere abilitato il servizio RPC, è semplicemente impossibile elencarli tutti.

disabilitazione chiamata procedura remota rpc

Ma tra tutti i componenti noti dei sistemi Windows, possiamo menzionare il servizio fax, il servizio di crittografia, la registrazione degli errori, l'assistenza e il supporto, l'accesso ai dispositivi HID, il servizio di messaggistica, l'amministrazione delle partizioni logiche e dei dischi, la gestione della memoria rimovibile, il sistema audio, il programma di installazione di Windows e altro Dio solo sa cosa.

Sembra che questa lista sia sufficiente per capire quanti componenti del sistema e l'utente stesso dipendono da questo servizio.

Cosa influenza RPC

In generale, in base alla descrizione precedente, è possibile stimare l'effetto di RPC. Quindi, per esempio, ci sono molti casi in cui quando si disconnette questo servizio, l'audio scompariva completamente, era impossibile ripristinare il sistema dopo errori critici o quando veniva avviato dall'utente, le impostazioni della rete wireless "volavano".

Ma la cosa più triste è che se si disattiva la chiamata alla procedura RPC remota, a volte è impossibile persino accedere alle impostazioni di sistema di base, essere un utente almeno tre volte un amministratore sul proprio terminale.

È possibile disabilitare questo servizio

In generale, molti hanno provato (e stanno provando) a disattivare il servizio Remote Procedure Call. Fare questo è severamente proibito. In generale, il sistema stesso, nell'eseguire un tale tentativo di fare ciò, non darà, emettendo una notifica appropriata.

localizzatore di chiamata procedura remota rpc

Ma non tutti sanno che nella sezione servizi (services.msc) esiste ancora qualcosa come "Remote Procedure Call Locator RPC". Qui può essere semplicemente disattivato indolore per il sistema. Le applicazioni che possono utilizzarlo nel loro lavoro chiameranno in modo indipendente per il servizio, se necessario.

Risoluzione dei bug ed errori

Infine, vediamo cosa può essere fatto se viene generato un errore durante una chiamata di procedura remota. Nel caso più semplice, puoi provare a riattivare il servizio (se, ovviamente, riesce).

chiamata di procedura remota di servizio rpc

Per fare ciò, nella sezione corrispondente in cui si trova il servizio, fare doppio clic sul menu di modifica dei parametri, premere il pulsante di accensione e il tipo di accensione è impostato su automatico. Se non è possibile eseguire questa procedura con un avvio di sistema standard, è possibile provare a eseguire azioni simili in modalità provvisoria. Alcuni esperti consigliano allo stesso tempo al momento dell'azione, nel caso in cui, disabiliti il ​​software anti-virus.

chiamata di procedura remota che cosa è

Se questo non aiuta, ma hai un disco di installazione o ripristino del sistema a portata di mano, puoi eseguire la console di comando con i diritti di amministratore (non è necessario eseguire l'avvio dal disco) e scrivere i seguenti comandi al suo interno:

  • cd z: i386 (Z è la lettera unità ottica) ;
  • expand explorer.ex_% TEMP% explorer.exe;
  • Espandere svchost.ex_% TEMP% svchost.exe.

Successivamente, esegui Task Manager (Ctrl + Del + Alt o taskmgr nel menu Esegui) e termina il processo Explorer.exe.

Quindi, nella console dei comandi, scrivere quanto segue: copia% TEMP% explorer.exe% SYSTEMROOT% / y.

Nel "Dispatcher" interrompiamo tutti i processi svhost.exe, quindi entro 60 secondi è necessario avere tempo nella riga di comando per inserire la copia della riga% TEMP% svchost.exe% systemroot% system32 / y.

Infine, se si ha accesso all'editor del registro (regedit) ripristinato, è necessario passare attraverso il ramo HKCC attraverso le sezioni SYSTEM e CurrentControlSet e accedere al parametro CSConfigFlags, cambiando il suo valore a zero.

Questo non è tutti i metodi per correggere gli errori associati a RPC. Il fatto è che se questo servizio ha causato interruzioni nel lavoro di altri servizi, è possibile che prima si debbano risolvere problemi con le loro prestazioni e solo allora intraprendere qualche azione contro RPC. E non è sempre possibile avere pieno accesso ai parametri e alle impostazioni sopra descritti. Se non accade nulla, non importa quanto possa sembrare penoso, dovrai reinstallare completamente il sistema operativo, anche se mi piacerebbe sperare che ciò non accada.

conclusione

Ecco un breve e tutto ciò che riguarda la tecnologia e il servizio RPC. In realtà, tutto questo sembra molto più complicato di quanto non fosse presentato in questa descrizione, e per una completa comprensione del problema è necessario avere almeno conoscenze di base. Ma per avere un'idea generale di RPC, questo è ancora sufficiente.

Per quanto riguarda l'arresto, non provare a fare queste cose, altrimenti l'intero sistema fallirà. Le soluzioni di cui sopra per correggere i guasti di solito aiutano, ma non si può ancora dare una garanzia completa, perché la disattivazione di un servizio potrebbe causare guasti in altri componenti.