RDP Shortpath für Azure Virtual Desktop

Abgeschlossen

RDP Shortpath richtet einen direkten UDP-basierten Datentransport zwischen einer Windows-App auf einem lokalen Gerät bzw. der Remotedesktop-App auf unterstützten Plattformen und den Sitzungshosts in Azure Virtual Desktop ein.

Standardmäßig versucht das Remotedesktopprotokoll (RDP), eine Remotesitzung mithilfe des UDP herzustellen. Zudem verwendet es den TCP-basierten Reverse-Connection-Transport als Fallbackverbindungsmechanismus. Der UDP-basierte Transport bietet bessere Verbindungszuverlässigkeit und konsistentere Latenz. Der TCP-basierte Reverse Connect-Transport bietet die beste Kompatibilität mit verschiedenen Netzwerkkonfigurationen und eine hohe Erfolgsrate für die Einrichtung von RDP-Verbindungen.

RDP-Shortpath kann auf zwei Arten verwendet werden:

  • Verwaltete Netzwerke, bei denen eine direkte Verbindung zwischen dem Client und dem Sitzungshost hergestellt wird, wenn eine private Verbindung verwendet wird, z. B. ein virtuelles privates Netzwerk (VPN). Eine Verbindung mithilfe eines verwalteten Netzwerks wird auf eine der folgenden Arten hergestellt:

    • Es wird eine direkte UDP-Verbindung zwischen dem Clientgerät und dem Sitzungshost hergestellt, wobei Sie den RDP Shortpath-Listener aktivieren und einen eingehenden Port auf jedem Sitzungshost zulassen müssen, um Verbindungen zu akzeptieren.
    • Es wird eine direkte UDP-Verbindung zwischen dem Clientgerät und dem Sitzungshost hergestellt, wobei das STUN-Protokoll (Simple Traversal Underneath NAT) zwischen einem Client und einem Sitzungshost verwendet wird. Eingehende Ports auf dem Sitzungshost müssen nicht zulässig sein.
  • Öffentliche Netzwerke, bei denen eine direkte Verbindung zwischen dem Client und dem Sitzungshost hergestellt wird, wenn eine öffentliche Verbindung verwendet wird. Bei Verwendung einer öffentlichen Verbindung gibt es zwei Verbindungstypen, die hier in der Reihenfolge ihrer Bevorzugung aufgeführt werden:

    • Eine direkte UDP-Verbindung mithilfe des STUN-Protokolls (Simple Traversal Underneath NAT) zwischen einem Client und einem Sitzungshost.
    • Eine indirekte UDP-Verbindung mithilfe des TURN-Protokolls (Traversal Using Relay NAT) mit einer Vermittlung zwischen einem Client und einem Sitzungshost. Diese Funktion befindet sich in der Vorschau.

Der für RDP Shortpath verwendete Transport basiert auf dem Universal Rate Control Protocol (URCP). URCP ergänzt UDP um die aktive Überwachung der Netzwerkbedingungen und gewährleistet eine angemessene und vollständige Verbindungsnutzung. URCP arbeitet bei Bedarf mit niedrigen Verzögerungs- und Verlustpegeln.

  • Während der Vorschau ist TURN nur für Verbindungen mit Sitzungshosts in einem Überprüfungshostpool verfügbar. Informationen zum Konfigurieren Ihres Hostpools als Überprüfungsumbegung finden Sie unter Definieren Ihres Hostpools als Überprüfungsumgebung.
  • RDP-Shortpath für öffentliche Netzwerke mit TURN ist nur in der öffentlichen Azure-Cloud verfügbar.

Wichtige Vorteile

Die Verwendung von RDP Shortpath hat die folgenden Hauptvorteile:

  • Die Verwendung von URCP zur Verbesserung von UDP erzielt die beste Leistung durch dynamisches Lernen von Netzwerkparametern und Bereitstellen des Protokolls mit einem Ratensteuerungsmechanismus.

  • Das Entfernen zusätzlicher Relay-Punkte reduziert die Roundtrip-Zeit, was die Verbindungszuverlässigkeit und das Benutzererlebnis mit latenzempfindlichen Anwendungen und Eingabemethoden verbessert.

  • Zusätzlich für verwaltete Netzwerke:

    • RDP Shortpath unterstützt durch DCSP-Markierungen (Differentiated Services Code Point) die Konfiguration der Quality of Service-Priorität (QoS) für RDP-Verbindungen.
    • Der RDP-Shortpath-Transport ermöglicht die Begrenzung des ausgehenden Netzwerkverkehrs, indem für jede Sitzung eine Drosselungsrate angegeben wird.

Funktionsweise von RDP-Shortpath für verwaltete Netzwerke

Mit den folgenden Methoden können Sie die für die Verwendung von RDP Shortpath mit verwalteten Netzwerken erforderliche direkte Sichtverbindung erreichen.

Eine direkte Sichtverbindung bedeutet, dass der Client eine direkte Verbindung zum Sitzungshost herstellen kann, ohne von Firewalls blockiert zu werden.

Hinweis

Wenn Sie andere VPN-Typen zum Herstellen einer Verbindung mit Azure verwenden, empfehlen wir die Verwendung eines UDP-basierten VPN. Während die meisten TCP-basierten VPN-Lösungen verschachteltes UDP unterstützen, fügen sie einen vererbten Overhead der TCP-Überlastungssteuerung hinzu, was die RDP-Leistung verlangsamt.

Um RDP Shortpath für verwaltete Netzwerke zu verwenden, müssen Sie einen UDP-Listener auf Ihren Sitzungshosts aktivieren. Standardmäßig wird Port 3390 verwendet, Sie können jedoch auch einen anderen Port verwenden.

Das Diagramm bietet eine allgemeine Übersicht über die Netzwerkverbindungen bei Verwendung von RDP-Shortpath für verwaltete Netzwerke und Sitzungshosts, die in eine Active Directory-Domäne eingebunden sind. Diagramm einer allgemeinen Übersicht über Netzwerkverbindungen mithilfe von RDP-Shortpath

Verbindungssequenz

Alle Verbindungen beginnen mit dem Aufbau eines TCP-basierten Reverse Connect-Transport über das Azure Virtual Desktop Gateway. Dann richten der Client und der Sitzungshost den anfänglichen RDP-Transport ein und beginnen mit dem Austausch ihrer Fähigkeiten. Diese Fähigkeiten werden mithilfe des folgenden Prozesses ausgehandelt:

  1. Der Sitzungshost sendet die Liste seiner IPv4- und IPv6-Adressen an den Client.
  2. Der Client startet den Hintergrundthread, um einen parallelen UDP-basierten Transport direkt zu einer der IP-Adressen des Sitzungshosts einzurichten.
  3. Während der Client die bereitgestellten IP-Adressen prüft, baut er weiterhin die anfängliche Verbindung über den Reverse-Connect-Transport auf, um sicherzustellen, dass es keine Verzögerung bei der Benutzerverbindung gibt.
  4. Wenn der Client eine direkte Verbindung zum Sitzungshost hat, baut der Client eine sichere TLS-Verbindung über Reliable UDP auf.
  5. Nach dem Einrichten des RDP-Shortpath-Transports werden alle Dynamic Virtual Channels (DVCs), einschließlich Remotegrafiken, Eingaben und Geräteumleitung, auf den neuen Transport verschoben. Wenn jedoch eine Firewall oder Netzwerktopologie den Client daran hindert, eine direkte UDP-Verbindung herzustellen, fährt RDP mit einem Reverse-Connect-Transport fort.

Wenn Ihren Benutzern sowohl RDP Shortpath für verwaltete Netzwerke als auch öffentliche Netzwerke zur Verfügung stehen, wird der erste gefundene Algorithmus verwendet. Die zuerst hergestellte Verbindung wird der Benutzer für diese Sitzung verwenden.

Funktionsweise von RDP Shortpath für öffentliche Netzwerke

Um die besten Chancen für eine erfolgreiche UDP-Verbindung zu gewährleisten, wenn eine öffentliche Verbindung verwendet wird, gibt es die Verbindungstypen direkt und indirekt:

  • Direkte Verbindung: STUN wird verwendet, um eine direkte UDP-Verbindung zwischen einem Client und einem Sitzungshost herzustellen. Um diese Verbindung herzustellen, müssen Client und Sitzungshost über eine öffentliche IP-Adresse und einen ausgehandelten Port eine Verbindung miteinander herstellen können. Die meisten Clients kennen jedoch ihre eigene öffentliche IP-Adresse nicht, da sie sich hinter einem NAT-Gatewaygerät (Netzwerkadressenübersetzung) befinden. STUN ist ein Protokoll für die Selbstermittlung einer öffentlichen IP-Adresse eines Clients hinter einem NAT-Gatewaygerät, um seine eigene öffentlich zugängliche IP-Adresse zu bestimmen.

    Damit ein Client STUN verwenden kann, muss sein Netzwerk UDP-Datenverkehr zulassen. Unter der Voraussetzung, dass sowohl der Client als auch der Sitzungshost die ermittelte IP-Adresse und den Port der anderen Seite direkt erreichen kann, wird die Kommunikation mit direktem UDP über das WebSocket-Protokoll hergestellt. Wenn Firewalls oder andere Netzwerkgeräte direkte Verbindungen blockieren, wird eine indirekte UDP-Verbindung versucht.

  • Indirekte Verbindung: TURN wird verwendet, um eine indirekte Verbindung herzustellen und Datenverkehr über einen Zwischenserver zwischen einem Client und Sitzungshost weiterzuleiten, wenn keine direkte Verbindung möglich ist. TURN ist eine Erweiterung von STUN. Die Verwendung von TURN bedeutet, dass die öffentliche IP-Adresse und der Port im Voraus bekannt sind, was über Firewalls und andere Netzwerkgeräte zugelassen werden kann.

    TURN autorisiert in der Regel den Zugriff auf den Server über Benutzername/Kennwort, und die bevorzugte Betriebsart ist die Verwendung von UDP-Sockets. Wenn Firewalls oder andere Netzwerkgeräte UDP-Datenverkehr blockieren, wird die Verbindung auf einen TCP-basierten Reverse Connect-Transport zurückgesetzt.

Wenn eine Verbindung hergestellt wird, koordiniert ICE (Interactive Connectivity Establishment) die Verwaltung von STUN und TURN, um die Wahrscheinlichkeit einer Verbindungsherstellung zu optimieren und sicherzustellen, dass den bevorzugten Netzwerkkommunikationsprotokollen Vorrang eingeräumt wird.

Jede RDP-Sitzung verwendet einen dynamisch zugewiesenen UDP-Port aus einem kurzlebigen Portbereich (standardmäßig 4915265535), der den RDP-Shortpath-Datenverkehr akzeptiert. Port 65330 wird in diesem Bereich ignoriert, da er für die interne Verwendung durch Azure reserviert ist. Sie können auch einen kleineren, vorhersehbaren Portbereich verwenden. Weitere Informationen finden Sie unter Einschränken des von Clients für öffentliche Netzwerke verwendeten Portbereichs.

Das Diagramm bietet eine allgemeine Übersicht über die Netzwerkverbindungen bei Verwendung von RDP-Shortpath für öffentliche Netzwerke, bei denen Sitzungshosts in Microsoft Entra ID eingebunden sind.

Diagramm: Netzwerkverbindungen bei Verwendung von RDP Shortpath für öffentliche Netzwerke

Netzwerkadressenübersetzung (NAT, Network Address Translation) und Firewalls

Die meisten Azure Virtual Desktop-Clients werden auf Computern im privaten Netzwerk ausgeführt. Der Internetzugriff erfolgt über ein NAT-Gatewaygerät. Daher ändert das NAT-Gateway alle für das Internet bestimmten Netzwerkanforderungen aus dem privaten Netzwerk. Durch diese Änderung wird eine einzelne öffentliche IP-Adresse von allen Computern im privaten Netzwerk gemeinsam genutzt.

Aufgrund der IP-Paketänderung wird dem Empfänger des Datenverkehrs die öffentliche IP-Adresse des NAT-Gateways anstelle des tatsächlichen Absenders angezeigt. Wenn der Datenverkehr wieder zum NAT-Gateway zurückkehrt, wird sie dafür sorgen, dass er an den vorgesehenen Empfänger weitergeleitet wird, ohne dass der Absender dies weiß. In den meisten Szenarien wissen die hinter einem solchen NAT verborgenen Geräte nicht, dass eine Übersetzung stattfindet, und kennen die Netzwerkadresse des NAT-Gateways nicht.

NAT gilt für die virtuellen Azure-Netzwerke, in denen sich alle Sitzungshosts befinden. Wenn ein Sitzungshost versucht, die Netzwerkadresse im Internet zu erreichen, führt das NAT-Gateway (entweder Ihr eigenes oder standardmäßig von Azure bereitgestelltes) oder Azure Load Balancer die Adressübersetzung durch.

Die meisten Netzwerke haben in der Regel Firewalls, die den Datenverkehr überprüfen und gemäß Regeln blockieren. Die meisten Kunden konfigurieren ihre Firewalls, um eingehende Verbindungen zu verhindern (das heißt, nicht angeforderte Pakete aus dem Internet). Firewalls verwenden verschiedene Techniken zum Nachverfolgen des Datenflusses, um zwischen erwünschtem und unerwünschtem Datenverkehr zu unterscheiden. Im Fall von TCP verfolgt die Firewall einfach SYN- und ACK-Pakete nach. UDP-Firewalls verwenden in der Regel Heuristikmethoden auf Basis von Paketadressen, um Datenverkehr einzelnen UDP-Datenflüssen zuzuordnen und sie zuzulassen oder zu blockieren.

Verbindungssequenz

Alle Verbindungen beginnen mit dem Aufbau eines TCP-basierten Reverse Connect-Transport über das Azure Virtual Desktop Gateway. Dann richten der Client und der Sitzungshost den anfänglichen RDP-Transport ein und beginnen mit dem Austausch ihrer Fähigkeiten. Wenn RDP Shortpath für öffentliche Netzwerke auf dem Sitzungshost aktiviert ist, initiiert der Sitzungshost einen Prozess namens Kandidatensammlung:

  1. Der Sitzungshost listet alle Netzwerkschnittstellen auf, die einem Sitzungshost zugewiesen sind, einschließlich virtueller Schnittstellen wie VPN und Teredo.
  2. Der Windows-Dienst Remote Desktop Services (TermService) weist UDP-Sockets auf jeder Schnittstelle zu und speichert das IP:Port-Paar in der Kandidatentabelle als lokaler Kandidat.
  3. Der Remotedesktopdienste-Dienst verwendet jeden im vorherigen Schritt zugewiesenen UDP-Socket, um zu versuchen, den STUN-Server von Azure Virtual Desktop im öffentlichen Internet zu erreichen. Die Kommunikation erfolgt durch Senden eines kleinen UDP-Pakets an Port 3478.
  4. Wenn das Paket den STUN-Server erreicht, reagiert der STUN-Server mit der öffentlichen IP-Adresse und dem Port. Diese Informationen werden in der Kandidatentabelle als reflexive Kandidaten gespeichert.
  5. Nachdem der Sitzungshost alle Kandidaten gesammelt hat, verwendet der Sitzungshost den eingerichteten Rückwärtsverbindungstransport, um die Kandidatenliste an den Client zu übergeben.
  6. Wenn der Client die Kandidatenliste vom Sitzungshost erhält, führt der Client auch eine Kandidatensammlung auf seiner Seite durch. Anschließend sendet der Client seine Kandidatenliste an den Sitzungshost.
  7. Nachdem der Sitzungshost und Client ihre Kandidatenlisten austauschen, versuchen beide Parteien, sich unter Verwendung aller gesammelter Kandidaten miteinander zu verbinden. Dieser Verbindungsversuch erfolgt auf beiden Seiten simultan. Viele NAT-Gateways sind so konfiguriert, dass der eingehende Datenverkehr zum Socket zugelassen wird, sobald die ausgehende Datenübertragung ihn initialisiert. Dieses Verhalten von NAT-Gateways ist der Grund, warum die simultane Verbindung wichtig ist. Wenn STUN fehlschlägt, weil das Protokoll blockiert ist, wird mithilfe von TURN ein indirekter Verbindungsversuch unternommen.
  8. Nach dem anfänglichen Paketaustausch können der Client und Sitzungshost einen oder mehrere Datenflüsse herstellen. Aus diesen Datenströmen wählt RDP den schnellsten Netzwerkpfad aus. Der Client stellt dann eine sichere TLS-Verbindung über Reliable UDP mit dem Sitzungshost her und initiiert den RDP Shortpath-Transport.
  9. Nachdem RDP den RDP-Shortpath-Transport eingerichtet hat, werden alle Dynamic Virtual Channels (DVCs), einschließlich Remotegrafiken, Eingaben und Geräteumleitung, auf den neuen Transport verschoben.