RDP Shortpath voor Azure Virtual Desktop

Voltooid

RDP Shortpath brengt een direct UDP-transport tot stand tussen een windows-app van een lokaal apparaat of de app Extern bureaublad op ondersteunde platforms en sessiehost in Azure Virtual Desktop.

Het Remote Desktop Protocol (RDP) probeert standaard een externe sessie tot stand te brengen met behulp van UDP en maakt gebruik van een tcp-gebaseerd reverse connect-transport als een terugvalverbindingsmechanisme. UDP-transport biedt een betere betrouwbaarheid van verbindingen en consistentere latentie. Reverse Connect-transport op basis van TCP biedt de beste compatibiliteit met verschillende netwerkconfiguraties en heeft een hoog succespercentage voor het tot stand brengen van RDP-verbindingen.

RDP Shortpath kan op twee manieren worden gebruikt:

  • Beheerde netwerken, waarbij directe connectiviteit tot stand wordt gebracht tussen de client en de sessiehost wanneer u een privéverbinding gebruikt, zoals een virtueel particulier netwerk (VPN). Een verbinding met een beheerd netwerk wordt op een van de volgende manieren tot stand gebracht:

    • Een directe UDP-verbinding tussen het clientapparaat en de sessiehost, waar u de RDP Shortpath-listener moet inschakelen en een binnenkomende poort op elke sessiehost moet toestaan om verbindingen te accepteren.
    • Een directe UDP-verbinding tussen het clientapparaat en de sessiehost, met behulp van het Simple Traversal Under under NAT-protocol (STUN) tussen een client en sessiehost. Binnenkomende poorten op de sessiehost hoeven niet toe te staan.
  • Openbare netwerken, waarbij directe connectiviteit tot stand is gebracht tussen de client en de sessiehost wanneer u een openbare verbinding gebruikt. Er zijn twee verbindingstypen wanneer u een openbare verbinding gebruikt, die hier worden vermeld in volgorde van voorkeur:

    • Een directe UDP-verbinding met behulp van het Simple Traversal Under under NAT-protocol (STUN) tussen een client en sessiehost.
    • Een indirecte UDP-verbinding met behulp van het Traversal Using Relay NAT-protocol (TURN) met een relay tussen een client en sessiehost. Dit is in preview.

Het transport dat wordt gebruikt voor RDP Shortpath is gebaseerd op het UNIVERSAL Rate Control Protocol (URCP). URCP verbetert UDP met actieve bewaking van de netwerkomstandigheden en biedt eerlijk en volledig koppelingsgebruik. URCP werkt indien nodig op lage vertragings- en verliesniveaus.

Belangrijkste voordelen

Het gebruik van RDP Shortpath heeft de volgende belangrijke voordelen:

  • Het gebruik van URCP om UDP te verbeteren, levert de beste prestaties door dynamisch netwerkparameters te leren en het protocol een mechanisme voor snelheidscontrole te bieden.

  • Het verwijderen van extra relaypunten vermindert de retourtijd, waardoor de betrouwbaarheid van de verbinding en gebruikerservaring met latentiegevoelige toepassingen en invoermethoden worden verbeterd.

  • Daarnaast geldt het volgende voor beheerde netwerken:

    • RDP Shortpath biedt ondersteuning voor het configureren van QoS-prioriteit (Quality of Service) voor RDP-verbindingen via DSCP-markeringen (Differentiated Services Code Point).
    • Met het RDP Shortpath-transport kan uitgaand netwerkverkeer worden beperkt door voor elke sessie een vertragingssnelheid op te geven.

Hoe RDP Shortpath werkt voor beheerde netwerken

U kunt de directe verbindingslijn bereiken die is vereist voor het gebruik van RDP Shortpath met beheerde netwerken met behulp van de volgende methoden.

Het hebben van directe verbindingslijn betekent dat de client rechtstreeks verbinding kan maken met de sessiehost zonder dat deze wordt geblokkeerd door firewalls.

Notitie

Als u andere VPN-typen gebruikt om verbinding te maken met Azure, raden we u aan een UDP-VPN te gebruiken. Hoewel de meeste OP TCP gebaseerde VPN-oplossingen geneste UDP ondersteunen, voegen ze overgenomen overhead van TCP-congestiebeheer toe, waardoor de RDP-prestaties worden vertraagd.

Als u RDP Shortpath wilt gebruiken voor beheerde netwerken, moet u een UDP-listener inschakelen op uw sessiehosts. Standaard wordt poort 3390 gebruikt, hoewel u een andere poort kunt gebruiken.

Het diagram geeft een algemeen overzicht van de netwerkverbindingen bij het gebruik van RDP Shortpath voor beheerde netwerken en sessiehosts die zijn gekoppeld aan een Active Directory-domein. Diagram van een algemeen overzicht van netwerkverbindingen met behulp van RDP Shortpath.

Verbindingsreeks

Alle verbindingen beginnen met het tot stand brengen van een reverse connect-transport op basis van TCP via de Azure Virtual Desktop-gateway. Vervolgens brengt de client- en sessiehost het eerste RDP-transport tot stand en begint de uitwisseling van hun mogelijkheden. Deze mogelijkheden worden onderhandeld met behulp van het volgende proces:

  1. De sessiehost verzendt de lijst met de IPv4- en IPv6-adressen naar de client.
  2. De client start de achtergrondthread om rechtstreeks een parallel UDP-transport tot stand te brengen naar een van de IP-adressen van de sessiehost.
  3. Terwijl de client de opgegeven IP-adressen doorneemt, blijft deze de eerste verbinding tot stand brengen via het reverse connect-transport om ervoor te zorgen dat er geen vertraging is in de gebruikersverbinding.
  4. Als de client een directe verbinding met de sessiehost heeft, brengt de client een beveiligde verbinding tot stand met behulp van TLS via betrouwbare UDP.
  5. Na het tot stand brengen van het RDP Shortpath-transport worden alle dynamische virtuele kanalen (DVCs), inclusief externe afbeeldingen, invoer en apparaatomleiding, verplaatst naar het nieuwe transport. Als een firewall of netwerktopologie echter voorkomt dat de client directe UDP-connectiviteit tot stand brengt, gaat RDP verder met een transport voor reverse connect.

Als uw gebruikers zowel RDP Shortpath hebben voor beheerde netwerken als openbare netwerken die voor hen beschikbaar zijn, wordt het eerst gevonden algoritme gebruikt. De gebruiker gebruikt de verbinding die eerst tot stand wordt gebracht voor die sessie.

Hoe RDP Shortpath werkt voor openbare netwerken

Als u de beste kans wilt bieden dat een UDP-verbinding succesvol is wanneer u een openbare verbinding gebruikt, zijn er de typen directe en indirecte verbindingen:

  • Directe verbinding: STUN wordt gebruikt om een directe UDP-verbinding tot stand te brengen tussen een client en sessiehost. Om deze verbinding tot stand te brengen, moeten de client- en sessiehost verbinding met elkaar kunnen maken via een openbaar IP-adres en een onderhandelde poort. De meeste clients kennen echter hun eigen openbare IP-adres niet omdat ze zich achter een NAT-gatewayapparaat (Network Address Translation) bevinden. STUN is een protocol voor de zelfdetectie van een openbaar IP-adres achter een NAT-gatewayapparaat en de client om een eigen openbaar IP-adres te bepalen.

    Als een client STUN wil gebruiken, moet het netwerk UDP-verkeer toestaan. Ervan uitgaande dat zowel de client- als sessiehost rechtstreeks naar het gedetecteerde IP-adres en de poort van de andere kan worden gerouteerd, wordt communicatie tot stand gebracht met directe UDP via het WebSocket-protocol. Als firewalls of andere netwerkapparaten directe verbindingen blokkeren, wordt een indirecte UDP-verbinding geprobeerd.

  • Indirecte verbinding: TURN wordt gebruikt om een indirecte verbinding tot stand te brengen en verkeer door te sturen via een tussenliggende server tussen een client en sessiehost wanneer een directe verbinding niet mogelijk is. TURN is een uitbreiding van STUN. Het gebruik van TURN betekent dat het openbare IP-adres en de poort van tevoren bekend zijn, wat kan worden toegestaan via firewalls en andere netwerkapparaten.

    TURN autoriseert doorgaans de toegang tot de server via gebruikersnaam/wachtwoord en de voorkeursmodus is het gebruik van UDP-sockets. Als firewalls of andere netwerkapparaten UDP-verkeer blokkeren, valt de verbinding terug op een op TCP gebaseerd reverse connect-transport.

Wanneer een verbinding tot stand wordt gebracht, coördineert Interactive Connectivity Establishment (ICE) het beheer van STUN en TURN om de waarschijnlijkheid van een verbinding te optimaliseren en ervoor te zorgen dat prioriteit wordt gegeven aan voorkeursprotocollen voor netwerkcommunicatie.

Elke RDP-sessie maakt gebruik van een dynamisch toegewezen UDP-poort van een kortstondig poortbereik (standaard 49152 tot 65535 ) dat het RDP Shortpath-verkeer accepteert. Poort 65330 wordt genegeerd uit dit bereik omdat deze is gereserveerd voor intern gebruik door Azure. U kunt ook een kleiner, voorspelbaar poortbereik gebruiken. Zie Het poortbereik beperken dat wordt gebruikt door clients voor openbare netwerken voor meer informatie.

Het diagram geeft een algemeen overzicht van de netwerkverbindingen bij het gebruik van RDP Shortpath voor openbare netwerken waarbij sessiehosts zijn toegevoegd aan Microsoft Entra ID.

Diagram van netwerkverbindingen bij het gebruik van RDP Shortpath voor openbare netwerken.

Netwerkadresomzetting en firewalls

De meeste Azure Virtual Desktop-clients worden uitgevoerd op computers in het privénetwerk. Internettoegang wordt geboden via een NAT-gatewayapparaat (Network Address Translation). Daarom wijzigt de NAT-gateway alle netwerkaanvragen van het particuliere netwerk en bestemd voor internet. Deze wijziging is van plan één openbaar IP-adres te delen op alle computers in het particuliere netwerk.

Vanwege het wijzigen van IP-pakketten ziet de ontvanger van het verkeer het openbare IP-adres van de NAT-gateway in plaats van de werkelijke afzender. Wanneer verkeer terugkomt naar de NAT-gateway, zorgt dit ervoor dat het wordt doorgestuurd naar de beoogde ontvanger zonder de kennis van de afzender. In de meeste scenario's zijn de apparaten die achter een dergelijke NAT verborgen zijn, niet op de hoogte van de vertaling en weten ze het netwerkadres van de NAT-gateway niet.

NAT is van toepassing op de virtuele Azure-netwerken waar alle sessiehosts zich bevinden. Wanneer een sessiehost het netwerkadres op internet probeert te bereiken, voert de NAT-gateway (uw eigen of standaardinstelling van Azure) of Azure Load Balancer de adresomzetting uit.

De meeste netwerken bevatten doorgaans firewalls die verkeer inspecteren en blokkeren op basis van regels. De meeste klanten configureren hun firewalls om binnenkomende verbindingen te voorkomen (dat wil gezegd, ongevraagde pakketten van internet die zonder een verzoek worden verzonden). Firewalls maken gebruik van verschillende technieken om de gegevensstroom bij te houden om onderscheid te maken tussen aangevraagd en ongevraagd verkeer. In de context van TCP houdt de firewall SYN- en ACK-pakketten bij en is het proces eenvoudig. UDP-firewalls gebruiken meestal heuristieken op basis van pakketadressen om verkeer aan UDP-stromen te koppelen en toe te staan of te blokkeren.

Verbindingsreeks

Alle verbindingen beginnen met het tot stand brengen van een reverse connect-transport op basis van TCP via de Azure Virtual Desktop-gateway. Vervolgens brengt de client- en sessiehost het eerste RDP-transport tot stand en begint de uitwisseling van hun mogelijkheden. Als RDP Shortpath voor openbare netwerken is ingeschakeld op de sessiehost, start de sessiehost vervolgens een proces met de naam kandidaat verzamelen:

  1. De sessiehost bevat alle netwerkinterfaces die zijn toegewezen aan een sessiehost, inclusief virtuele interfaces zoals VPN en Teredo.
  2. De Windows-service Extern bureaublad-services (TermService) wijst UDP-sockets toe op elke interface en slaat het IP:Port-paar op in de kandidaattabel als een lokale kandidaat.
  3. De Service Extern bureaublad-services maakt gebruik van elke UDP-socket die in de vorige stap is toegewezen om de Azure Virtual Desktop STUN-server op het openbare internet te bereiken. Communicatie wordt uitgevoerd door een klein UDP-pakket naar poort 3478 te verzenden.
  4. Als het pakket de STUN-server bereikt, reageert de STUN-server met het openbare IP-adres en de poort. Deze informatie wordt opgeslagen in de kandidaattabel als reflexieve kandidaat.
  5. Nadat de sessiehost alle kandidaten heeft verzameld, gebruikt de sessiehost het tot stand gebrachte reverse connect-transport om de lijst met kandidaten door te geven aan de client.
  6. Wanneer de client de lijst met kandidaten van de sessiehost ontvangt, voert de client ook het verzamelen van kandidaten aan zijn zijde uit. Vervolgens verzendt de client de lijst met kandidaten naar de sessiehost.
  7. Nadat de sessiehost en client hun kandidaatlijsten hebben uitgewisseld, proberen beide partijen met elkaar te verbinden met behulp van alle verzamelde kandidaten. Deze verbindingspoging is aan beide zijden gelijktijdig. Veel NAT-gateways zijn zo geconfigureerd dat het binnenkomende verkeer naar de socket wordt toegestaan zodra de uitgaande gegevensoverdracht deze initialiseert. Dit gedrag van NAT-gateways is de reden dat de gelijktijdige verbinding essentieel is. Als STUN mislukt omdat deze wordt geblokkeerd, wordt er een indirecte verbindingspoging uitgevoerd met BEHULP van TURN.
  8. Na de initiële pakketuitwisseling kan de client- en sessiehost een of meer gegevensstromen tot stand brengen. Vanuit deze gegevensstromen kiest RDP het snelste netwerkpad. De client brengt vervolgens een beveiligde verbinding tot stand met behulp van TLS via betrouwbare UDP met de sessiehost en initieert RDP Shortpath-transport.
  9. Nadat RDP het RDP Shortpath-transport tot stand heeft gebracht, worden alle dynamische virtuele kanalen (DVCs), inclusief externe graphics, invoer en apparaatomleiding naar het nieuwe transport verplaatst.