Attivare il protocollo RDP (Remote Desktop Protocol)

Questo articolo descrive il protocollo RDP (Remote Desktop Protocol) utilizzato per la comunicazione tra Terminal Server e il client di Terminal Server. Il protocollo RDP è incapsulato e crittografato all'interno di TCP.

Si applica a: Windows Server 2012 R2
Numero della Knowledge Base originale: 186607

Riepilogo

Il protocollo RDP è un'estensione basata sul gruppo di standard di protocollo T-120. Un protocollo multicanale consente di utilizzare canali virtuali separati per il trasporto delle informazioni seguenti:

  • dati della presentazione
  • comunicazione del dispositivo seriale
  • informazioni sulle licenze
  • dati altamente crittografati, ad esempio la tastiera, l'attività del mouse

Il protocollo RDP è un'estensione del protocollo T.Share principale. Molte altre funzionalità vengono mantenute come parte del portocollo RDP, ad esempio le funzionalità architetturali necessarie per supportare più punti (sessioni tra più parti). Il recapito di dati multipoint consente di recapitare i dati di un'applicazione in tempo reale a più parti, ad esempio alle Lavagne virtuali. Non richiede l'invio degli stessi dati a ogni sessione singolarmente.

In questa prima versione di Windows Terminal Server Windows, ci stiamo concentrando sulla fornitura di comunicazioni da punto a punto (sessione singola) affidabili e veloci. Nella versione iniziale di Terminal Server 4.0 viene utilizzato un solo canale dati. Tuttavia, la flessibilità del protocollo RDP offre molto spazio per le funzionalità nei prodotti futuri.

Uno dei motivi per cui Microsoft ha deciso di implementare il protocollo RDP a scopo di connettività all'interno di Windows NT Terminal Server è il fatto che offre una base estensibile per creare molte più funzionalità. Il protocollo RDP fornisce 64.000 canali separati per la trasmissione dei dati. Tuttavia, le attività di trasmissione correnti utilizzano solo un singolo canale (per i dati della tastiera, del mouse e della presentazione).

Il Protocollo RDP è progettato per supportare molti tipi diversi di topologie di rete, ad esempio ISDN, POTS. Il protocollo RDP è anche progettato per supportare molti protocolli LAN, ad esempio IPX, NetBIOS, TCP/IP. La versione corrente del protocollo RDP verrà eseguita solo su TCP/IP. Con il feedback dei clienti, è possibile aggiungere altro supporto del protocollo nelle versioni future.

L'attività coinvolta nell'invio e nella ricezione di dati tramite lo stack del protocollo RDP è essenzialmente la stessa degli standard del modello OSI a sette livelli per la rete LAN comune. I dati di un'applicazione o di un servizio da trasmettere vengono passati attraverso gli stack del protocollo. I dati vengono sezionati, diretti a un canale (tramite MCS), crittografati, incapsulati, incorniciati, inseriti nel protocollo di rete e infine indirizzati e inviati via cavo al client. I dati restituiti funzionano allo stesso modo solo in senso inverso. Il pacchetto viene rimosso dal relativo indirizzo, quindi rimosso dal wrapping, decrittografato e così via. Infine, i dati vengono presentati all'applicazione per l'utilizzo. Le parti principali delle modifiche dello stack di protocollo si verificano tra il quarto e il settimo livello, dove i dati vengono:

  • crittografati
  • con wrapping
  • incorniciati
  • diretti a un canale
  • ordinati secondo la priorità

Uno dei punti chiave per gli sviluppatori di applicazioni è che, nell'utilizzo del protocollo RDP, Microsoft ha eliminato le complessità di gestione dello stack di protocolli. Consente loro di scrivere applicazioni a 32 bit pulite, ben progettate e ben strutturate. Lo stack del protocollo RDP implementato da Terminal Server e dalle relative connessioni client si occupa quindi del resto.

Per maggiori informazioni sull'interazione delle applicazioni in Terminal Server e su cosa sapere quando si sviluppano applicazioni per un'infrastruttura di Windows Terminal Server, consultare il white paper seguente:
Ottimizzazione delle applicazioni per Windows NT Server 4.0, Terminal Server Edition

Quattro componenti da discutere all'interno dell'istanza dello stack del protocollo RDP sono:

  • il Servizio di comunicazione multipoint (MCSMUX)
  • il Generic Conference Control (GCC)
  • Wdtshare.sys
  • Tdtcp.sys

Le istanze MCSmux e GCC fanno parte della famiglia T.120 dell'Unione Internazionale delle Telecomunicazioni (ITU). L'istanza MCS è costituita da due standard:

  • T.122: definisce i servizi multipoint
  • T.125: specifica il protocollo di trasmissione dati

Controlli dell'istanza MCSMux:

  • assegnazione del canale tramite multiplexing dei dati su canali virtuali predefiniti all'interno del protocollo
  • livelli di priorità
  • segmentazione dei dati che vengono inviati

Essenzialmente raduna gli stack del protocollo RDP multipli in una singola entità, dal punto di vista dell'istanza GCC. L'istanza GCC è responsabile della gestione di questi canali multipli. L'istanza GCC consente la creazione e l'eliminazione di connessioni di sessione e controlla le risorse fornite da MCS. Ogni protocollo di Terminal Server (attualmente sono supportati solo RDP e ICA di Citrix) avrà un'istanza dello stack di protocollo caricata (uno stack di listener in attesa di una richiesta di connessione). Il driver di dispositivo di Terminal Server coordina e gestisce l'attività del protocollo RDP. È costituito da componenti più piccoli:

  • un driver RDP (Wdtshare.sys) per il trasferimento dell'interfaccia utente, la compressione, la crittografia, il framing e così via.
  • un driver di trasporto (Tdtcp.sys) per creare il pacchetto del protocollo nel protocollo di rete sottostante, TCP/IP.

Il protocollo RDP è stato sviluppato per essere completamente indipendente dal relativo stack di trasporto sottostante, in questo caso TCP/IP. Ciò significa che è possibile aggiungere altri driver di trasporto per altri protocolli di rete man mano che i clienti hanno bisogno di crescere, con poche o nessuna modifica significativa alle parti fondamentali del protocollo. Sono elementi fondamentali per le prestazioni e l'estendibilità del protocollo RDP nella rete.