Grundlegendes zum Remotedesktopprotokoll (RDP)

In diesem Artikel wird das Remotedesktopprotokoll (RDP) beschrieben, das für die Kommunikation zwischen dem Terminalserver und dem Terminalserverclient verwendet wird. RDP ist gekapselt und innerhalb von TCP verschlüsselt.

Gilt für:   Windows Server 2012 R2
Ursprüngliche KB-Nummer:   186607

Zusammenfassung

RDP basiert und ist eine Erweiterung der T-120-Familie von Protokollstandards. Ein multichannelfähiges Protokoll ermöglicht separate virtuelle Kanäle zum Tragen der folgenden Informationen:

  • Präsentationsdaten
  • Kommunikation mit seriellen Geräten
  • Lizenzierungsinformationen
  • stark verschlüsselte Daten, z. B. Tastatur, Mausaktivität

RDP ist eine Erweiterung des T.Share-Kernprotokolls. Mehrere andere Funktionen werden als Teil des RDP beibehalten, z. B. die Architekturfeatures, die zur Unterstützung von Multipoint-Sitzungen (Sitzungen mit mehreren Teilnehmern) erforderlich sind. Die Multipoint-Datenübermittlung ermöglicht die Übermittlung von Daten aus einer Anwendung in Echtzeit an mehrere Parteien, z. B. virtuelle Whiteboards. Es ist nicht erforderlich, die gleichen Daten einzeln an jede Sitzung zu senden.

In dieser ersten Version von Windows-Terminal Server konzentrieren wir uns darauf, zuverlässige und schnelle Punkt-zu-Punkt-Kommunikation (Einzelsitzung) bereitzustellen. In der ersten Version von Terminal Server 4.0 wird nur ein Datenkanal verwendet. Die Flexibilität von RDP bietet jedoch viel Platz für Funktionen in zukünftigen Produkten.

Ein Grund für die Entscheidung von Microsoft, RDP zu Konnektivitätszwecken in Windows NT-Terminalserver zu implementieren, ist, dass er eine erweiterbare Basis bietet, um viele weitere Funktionen zu erstellen. RDP bietet 64.000 separate Kanäle für die Datenübertragung. Aktuelle Übertragungsaktivitäten verwenden jedoch nur einen einzigen Kanal (für Tastatur-, Maus- und Präsentationsdaten).

RDP wurde entwickelt, um viele verschiedene Arten von Netzwerktopologien zu unterstützen, z. B. ISDN, POTS. RDP wurde auch für die Unterstützung vieler LAN-Protokolle entwickelt, z. B. IPX, NetBIOS, TCP/IP. Die aktuelle Version von RDP wird nur über TCP/IP ausgeführt. Mit Kundenfeedback kann in zukünftigen Versionen weitere Protokollunterstützung hinzugefügt werden.

Die Aktivitäten zum Senden und Empfangen von Daten über den RDP-Stapel sind im Wesentlichen mit den siebenstufigen OSI-Modellstandards für allgemeine LAN-Netzwerke heute identisch. Daten aus einer zu übertragenden Anwendung oder einem Dienst werden über die Protokollstapel übergeben. Er wird abschnittsweise an einen Kanal (über MCS) weitergeleitet, verschlüsselt, umschlossen, geframet, in das Netzwerkprotokoll gepackt und schließlich adressiert und über das Kabel an den Client gesendet. Die zurückgegebenen Daten funktionieren nur umgekehrt auf die gleiche Weise. Das Paket wird von seiner Adresse entfernt, dann entpackt, entschlüsselt usw. Schließlich werden die Daten der Anwendung zur Verwendung angezeigt. Wichtige Teile der Protokollstapeländerungen erfolgen zwischen der vierten und der siebenten Ebene, wobei die Daten folgende sind:

  • Verschlüsselt
  • Gewickelt
  • Gerahmt
  • weitergeleitet zu einem Kanal
  • Priorisiert

Einer der wichtigsten Punkte für Anwendungsentwickler ist, dass Microsoft bei der Verwendung von RDP die Komplexität des Umgangs mit dem Protokollstapel abstrahiert hat. Es ermöglicht ihnen das Schreiben von sauberen, gut gestalteten, gut verhaltenen 32-Bit-Anwendungen. Anschließend übernimmt der vom Terminalserver implementierte RDP-Stapel und seine Clientverbindungen den Rest.

Weitere Informationen dazu, wie Anwendungen auf dem Terminalserver interagieren und was Sie wissen müssen, wenn Sie Anwendungen für eine Windows-Terminal Serverinfrastruktur entwickeln, finden Sie im folgenden Whitepaper:
Optimieren von Anwendungen für Windows NT Server 4.0, Terminal Server Edition

Vier Komponenten, die in der RDP-Stapelinstanz behandelt werden müssen, sind:

  • Multipoint Communication Service (MCSMUX)
  • das allgemeine Konferenzsteuerelement (GCC)
  • Wdtshare.sys
  • Tdtcp.sys

MCSmux und GCC sind Teil der T.120-Familie der International Telekommunikations union (ITU). Der MCS besteht aus zwei Standards:

  • T.122: Definiert die Multipoint-Dienste
  • T.125: Gibt das Datenübertragungsprotokoll an.

MCSMux-Steuerelemente:

  • Kanalzuweisung durch Multiplexing von Daten auf vordefinierten virtuellen Kanälen innerhalb des Protokolls
  • Prioritätsstufen
  • Segmentierung der gesendeten Daten

Im Wesentlichen werden die mehreren RDP-Stapel aus der Perspektive des GCC zu einer einzelnen Entität abstrahiert. GCC ist für die Verwaltung dieser mehreren Kanäle verantwortlich. Die GCC ermöglicht das Erstellen und Löschen von Sitzungsverbindungen und steuert die von MCS bereitgestellten Ressourcen. Für jedes Terminalserverprotokoll (derzeit werden nur RDP und Citrixs ICA unterstützt) wird eine Protokollstapelinstanz geladen (ein Listenerstapel, der auf eine Verbindungsanforderung wartet). Der Terminalserver-Gerätetreiber koordiniert und verwaltet die RDP-Protokollaktivität. Es besteht aus kleineren Komponenten:

  • ein RDP-Treiber (Wdtshare.sys) für die Übertragung, Komprimierung, Verschlüsselung, Umrahmen der Benutzeroberfläche usw.
  • transport driver (Tdtcp.sys) to package the protocol to the underlying network protocol, TCP/IP.

RDP wurde entwickelt, um vollständig unabhängig vom zugrunde liegenden Transportstapel zu sein, in diesem Fall TCP/IP. Dies bedeutet, dass wir andere Transporttreiber für andere Netzwerkprotokolle hinzufügen können, da die Kundenanforderungen für sie wachsen, mit geringen oder gar keinen wesentlichen Änderungen an den grundlegenden Teilen des Protokolls. Sie sind wichtige Elemente für die Leistung und Erweiterbarkeit von RDP im Netzwerk.