Présentation du protocole RDP (Remote Desktop Protocol)

Cet article décrit le protocole RDP (Remote Desktop Protocol) utilisé pour la communication entre Terminal Server et le client Terminal Server. Le protocole RDP est encapsulé et chiffré dans TCP.

S’applique à : Windows Server 2012 R2
Numéro de l’article d’origine dans la base de connaissances : 186607

Résumé

RDP est basé sur la famille de normes de protocole T-120 et en est une extension. Un protocole à canaux multiples permet de disposer de canaux virtuels distincts pour transporter les informations suivantes :

  • données de présentation
  • communication avec un périphérique série
  • informations sur les licences
  • données hautement chiffrées, telles que l’activité du clavier et de la souris

RDP est une extension du protocole central T.Share. Plusieurs autres fonctionnalités sont conservées dans le cadre du protocole RDP, telles que les fonctionnalités architecturales nécessaires pour prendre en charge les sessions entre plusieurs parties. La livraison de données entre plusieurs parties permet de livrer les données d’une application en temps réel à plusieurs parties, comme les tableaux blancs virtuels. Il n’est pas nécessaire d’envoyer les mêmes données à chaque session individuellement.

Dans cette première version de Windows Terminal Server, nous nous concentrons sur la fourniture de communications point à point fiables et rapides (sessions uniques). Un seul canal de données est utilisé dans la version initiale de Terminal Server 4.0. Cependant, grâce à la flexibilité du protocole RDP, de nombreuses fonctionnalités pourront être introduites dans les produits futurs.

L’une des raisons pour lesquelles Microsoft a décidé de mettre en œuvre le protocole RDP à des fins de connectivité dans Windows NT Terminal Server est qu’il constitue le socle sur lequel de nombreuses autres fonctionnalités peuvent être créées par la suite. Le protocole RDP fournit 64 000 canaux distincts pour la transmission des données. Cependant, les activités de transmission actuelles n’utilisent qu’un seul canal (pour le clavier, la souris et les données de présentation).

Le protocole RDP est conçu pour prendre en charge de nombreux types différents de topologies réseau, tels que ISDN et POTS. Il peut également prendre en charge de nombreux protocoles LAN, tels que IPX, NetBIOS et TCP/IP. La version actuelle du protocole RDP ne fonctionne que sur TCP/IP. Suite aux commentaires des clients, la prise en charge d’autres protocoles pourra être ajoutée dans les versions ultérieures.

L’activité impliquée dans l’envoi et la réception de données par le biais de la pile RDP est essentiellement la même que celle des normes du modèle OSI à sept couches pour les réseaux LAN courante aujourd’hui. Les données d’une application ou d’un service à transmettre sont transmises par les piles de protocoles. Elles sont divisées, dirigées vers un canal (par le biais de MCS), chiffrées, enveloppées, tramées, packagées dans le protocole réseau, et enfin adressées et envoyées par réseau au client. Les données renvoyées fonctionnent de la même manière, mais en sens inverse. Le package est dépouillé de son adresse, puis désenscapsulé, déchiffré, etc. Enfin, les données sont présentées à l’application pour être utilisées. Les parties essentielles des modifications de la pile de protocoles se situent entre les quatrième et septième couches, là où se trouvent les données :

  • chiffré
  • encapsulé
  • tramé
  • dirigé vers un canal
  • prioritaires

L’un des points essentiels pour les développeurs d’applications est que, en utilisant le protocole RDP, Microsoft a fait abstraction des complexités liées à la pile de protocoles. Cela leur permet d’écrire des applications 32 bits propres, bien conçues et qui se comportent bien. Ensuite, la pile RDP implémentée par Terminal Server et ses connexions client s’occupe du reste.

Pour plus d’informations sur la façon dont les applications interagissent sur Terminal Server et sur le développement d’applications pour une infrastructure Windows Terminal Server, consultez le livre blanc suivant :
Optimiser des applications pour Windows NT Server 4.0, Édition Terminal Server

Quatre composants méritent d’être discutés au sein de l’instance de la pile RDP :

  • Multipoint Communication Service (MCSMUX)
  • Generic Conference Control (GCC)
  • Wdtshare.sys
  • Tdtcp.sys

MCSmux et GCC font partie de la famille T.120 de l’Union internationale des télécommunications (UIT). MCS est constitué de deux normes :

  • T.122 : définit les services multipoints.
  • T.125 : spécifie le protocole de transmission de données.

MCSMux contrôle :

  • l’affectation de canaux en multiplexant les données sur des canaux virtuels prédéfinis dans le protocole ;
  • les niveaux de priorité ;
  • la segmentation des données envoyées.

Il regroupe principalement les piles RDP multiples dans une seule entité, du point de vue de GCC. GCC est chargé de la gestion de ces canaux multiples. GCC permet la création et la suppression de connexions de session et contrôle les ressources fournies par MCS. Pour chaque protocole Terminal Server (actuellement, seuls les protocole RDP et ICA de Citrix sont pris en charge), une instance de pile de protocole est chargée (pile d’écoute en attente d’une demande de connexion). Le pilote de périphérique Terminal Server coordonne et gère l’activité du protocole RDP. Il est constitué de composants plus petits :

  • un pilote RDP (Wdtshare.sys) pour le transfert de l’interface utilisateur, la compression, le chiffrement, le tramage, etc. ;
  • un pilote de transport (Tdtcp.sys) pour empaqueter le protocole sur le protocole réseau sous-jacent, TCP/IP.

RDP a été développé pour être entièrement indépendant de sa pile de transport sous-jacente, dans ce cas TCP/IP. Par conséquent, il est possible d’ajouter d’autres pilotes de transport pour d’autres protocoles réseau en fonction de l’évolution des besoins des clients, avec peu ou pas de modifications significatives des parties fondamentales du protocole. Il s’agit d’éléments essentiels pour les performances et l’extension de RDP sur le réseau.