Comprendre le protocole RDP (Remote Desktop Protocol)

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

S’applique à :   Windows Server 2012 R2
Numéro de la ko d’origine :   186607

Résumé

RDP est basé sur la famille de normes de protocole T-120 et est une extension de cette famille. Un protocole multicanal permet de mettre en place des canaux virtuels distincts pour la réalisation des informations suivantes :

  • données de présentation
  • communication d’appareil série
  • informations de licence
  • données hautement chiffrées, telles que le clavier, l’activité de la souris ;

RDP est une extension du protocole T.Share principal. Plusieurs autres fonctionnalités sont conservées dans le cadre de la RDP, telles que les fonctionnalités architecturales nécessaires pour prendre en charge les sessions multipoint (sessions à plusieurs). La remise de données multipoint permet de remettre des données d’une application en temps réel à plusieurs parties, telles que des 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 Terminal Windows Server, nous nous concentrons sur la fourniture de communications point à point (session unique) fiables et rapides. Un seul canal de données est utilisé dans la version initiale de Terminal Server 4.0. Toutefois, la flexibilité de RDP offre de nombreuses possibilités de fonctionnalités dans les produits futurs.

Microsoft a décidé d’implémenter RDP à des fins de connectivité dans Windows NT Terminal Server est qu’il fournit une base extensible pour créer beaucoup plus de fonctionnalités. RDP fournit 64 000 canaux distincts pour la transmission des données. Toutefois, les activités de transmission actuelles n’utilisent qu’un seul canal (pour les données de présentation, de souris et de clavier).

RDP est conçu pour prendre en charge de nombreux types différents de topologies réseau, tels que ISDN, PRINCIPAUX. RDP est également conçu pour prendre en charge de nombreux protocoles LAN, tels que IPX, NetBIOS, TCP/IP. La version actuelle de RDP s’exécute uniquement sur TCP/IP. Avec les commentaires des clients, d’autres services de prise en charge de protocole peuvent être ajoutés dans les versions ultérieures.

L’activité impliquée dans l’envoi et la réception de données via la pile RDP est sensiblement la même que les normes de modèle OSI à sept couches pour la mise en réseau lan courante aujourd’hui. Les données d’une application ou d’un service à transmettre sont transmises via les piles de protocole. Elle est sectionée, dirigée vers un canal (via MCS), chiffrée, enveloppée, enveloppée, empaqueté sur le protocole réseau, puis adressée et envoyée via le réseau au client. Les données renvoyées fonctionnent de la même manière uniquement en sens inverse. Le paquet est supprimé de son adresse, puis déballé, déchiffré, etc. Enfin, les données sont présentées à l’application pour utilisation. Les principales parties de la modification de la pile de protocole se produisent entre les quatrième et septième couches, où les données sont :

  • encrypted
  • wrapped
  • l’équipe de l
  • dirigé vers un canal
  • hiérarchisé

L’un des points clés pour les développeurs d’applications est que, dans l’utilisation de RDP, Microsoft a extrait les complexités de traitement de la pile de protocole. Il leur permet d’écrire des applications 32 bits propres, bien conçues et bien conçues. Ensuite, la pile RDP implémentée par le serveur Terminal Server et ses connexions client prend en charge le reste.

Pour plus d’informations sur la façon dont les applications interagissent sur le serveur Terminal Server et ce qu’il faut savoir lors du développement d’applications pour une infrastructure Terminal Windows Server, consultez le livre blanc suivant :
Optimisation des applications pour Windows NT Server 4.0, Terminal Server Edition

Quatre composants qui peuvent être abordés dans l’instance de pile RDP sont les éléments ci-après :

  • le service de communication multipoint (MCSMUX)
  • contrôle de conférence générique (Cloud de la communauté du secteur public)
  • Wdtshare.sys
  • Tdtcp.sys

MCSmux et Cloud de la communauté du secteur public font partie de la famille T.120 de l’Union internationale de télécommunications (ITU). Le MCS est composé de deux normes :

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

Contrôles MCSMux :

  • affectation de canal par multiplexage de données sur des canaux virtuels prédéfinus dans le protocole
  • niveaux de priorité
  • segmentation des données envoyées

Elle extrait essentiellement les piles RDP multiples en une seule entité, du point de vue de la Cloud de la communauté du secteur public. Cloud de la communauté du secteur public est responsable de la gestion de ces plusieurs canaux. Le Cloud de la communauté du secteur public permet la création et la suppression de connexions de session et de contrôles de ressources fournies par MCS. Chaque protocole Terminal Server (actuellement, seuls RDP et l’ICA de Citrix sont pris en charge) dispose d’une instance de pile de protocole chargée (une 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 composé de composants plus petits :

  • un pilote RDP (Wdtshare.sys) pour le transfert, la compression, le chiffrement, le cadre, etc. de l’interface utilisateur.
  • un pilote de transport (Tdtcp.sys) pour packager 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. Cela signifie que nous pouvons ajouter d’autres pilotes de transport pour d’autres protocoles réseau à mesure que les clients en ont besoin, avec peu ou pas de modifications importantes apportées aux parties de base du protocole. Ce sont des éléments clés pour les performances et l’extension de RDP sur le réseau.