RDP Shortpath för Azure Virtual Desktop
RDP Shortpath upprättar en direkt UDP-baserad transport mellan en lokal windowsapp eller fjärrskrivbordsappen på plattformar som stöds och sessionsvärden i Azure Virtual Desktop.
Som standard försöker RDP (Remote Desktop Protocol) upprätta en fjärrsession med UDP och använder en TCP-baserad omvänd anslutningstransport som reservanslutningsmekanism. UDP-baserad transport ger bättre anslutningstillförlitlighet och mer konsekvent svarstid. TCP-baserad reverse connect-transport ger bästa möjliga kompatibilitet med olika nätverkskonfigurationer och har en hög framgångsgrad för att upprätta RDP-anslutningar.
RDP Shortpath kan användas på två sätt:
Hanterade nätverk, där direktanslutning upprättas mellan klienten och sessionsvärden när du använder en privat anslutning, till exempel ett virtuellt privat nätverk (VPN). En anslutning med ett hanterat nätverk upprättas på något av följande sätt:
- En direkt UDP-anslutning mellan klientenheten och sessionsvärden, där du måste aktivera RDP Shortpath-lyssnaren och tillåta att en inkommande port på varje sessionsvärd accepterar anslutningar.
- En direkt UDP-anslutning mellan klientenheten och sessionsvärden med hjälp av protokollet Simple Traversal Under NAT (STUN) mellan en klient och sessionsvärd. Inkommande portar på sessionsvärden behöver inte tillåtas.
Offentliga nätverk, där direktanslutning upprättas mellan klienten och sessionsvärden när du använder en offentlig anslutning. Det finns två anslutningstyper när du använder en offentlig anslutning, som anges här i prioritetsordning:
- En direkt UDP-anslutning med hjälp av protokollet Simple Traversal Under NAT (STUN) mellan en klient och sessionsvärd.
- En indirekt UDP-anslutning med hjälp av protokollet Traversal Using Relay NAT (TURN) med ett relä mellan en klient och sessionsvärd. Det här är en förhandsversion.
Transporten som används för RDP Shortpath baseras på URCP (Universal Rate Control Protocol). URCP förbättrar UDP med aktiv övervakning av nätverksvillkoren och ger rättvis och fullständig länkanvändning. URCP fungerar vid låga fördröjnings- och förlustnivåer efter behov.
- Under förhandsversionen är TURN endast tillgängligt för anslutningar till sessionsvärdar i en valideringsvärdpool. Information om hur du konfigurerar värdpoolen som en valideringsmiljö finns i Definiera värdpoolen som en valideringsmiljö.
- RDP Shortpath för offentliga nätverk med TURN är endast tillgängligt i det offentliga Azure-molnet.
Viktiga fördelar
Att använda RDP Shortpath har följande viktiga fördelar:
Att använda URCP för att förbättra UDP ger bästa prestanda genom att dynamiskt lära sig nätverksparametrar och tillhandahålla protokollet med en hastighetskontrollmekanism.
Borttagningen av extra reläpunkter minskar tur och retur-tiden, vilket förbättrar anslutningens tillförlitlighet och användarupplevelse med svarstidskänsliga program och indatametoder.
Dessutom för hanterade nätverk:
- RDP Shortpath ger stöd för att konfigurera QoS-prioritet (Quality of Service) för RDP-anslutningar via DSCP-märken (Differentiated Services Code Point).
- Med RDP Shortpath-transport kan du begränsa utgående nätverkstrafik genom att ange en begränsningsfrekvens för varje session.
Så här fungerar RDP Shortpath för hanterade nätverk
Du kan uppnå den direktanslutning som krävs för att använda RDP Shortpath med hanterade nätverk med hjälp av följande metoder.
- Privat ExpressRoute-peering
- Plats-till-plats- eller punkt-till-plats-VPN (IPsec), till exempel Azure VPN Gateway
Att ha direkt anslutning till siktlinjen innebär att klienten kan ansluta direkt till sessionsvärden utan att blockeras av brandväggar.
Kommentar
Om du använder andra VPN-typer för att ansluta till Azure rekommenderar vi att du använder ett UDP-baserat VPN. Även om de flesta TCP-baserade VPN-lösningar stöder kapslad UDP lägger de till ärvda kostnader för TCP-överbelastningskontroll, vilket minskar RDP-prestanda.
Om du vill använda RDP Shortpath för hanterade nätverk måste du aktivera en UDP-lyssnare på sessionsvärdarna. Som standard används port 3390 , även om du kan använda en annan port.
Diagrammet ger en översikt på hög nivå över nätverksanslutningarna när du använder RDP Shortpath för hanterade nätverk och sessionsvärdar som är anslutna till en Active Directory-domän.
Anslutningssekvens
Alla anslutningar börjar med att upprätta en TCP-baserad omvänd anslutningstransport över Azure Virtual Desktop Gateway. Sedan upprättar klient- och sessionsvärden den första RDP-transporten och börjar utbyta sina funktioner. Dessa funktioner förhandlas med hjälp av följande process:
- Sessionsvärden skickar listan över sina IPv4- och IPv6-adresser till klienten.
- Klienten startar bakgrundstråden för att upprätta en parallell UDP-baserad transport direkt till en av sessionsvärdens IP-adresser.
- Medan klienten söker efter de angivna IP-adresserna fortsätter den att upprätta den första anslutningen via den omvända anslutningstransporten för att säkerställa att det inte finns någon fördröjning i användaranslutningen.
- Om klienten har en direkt anslutning till sessionsvärden upprättar klienten en säker anslutning med hjälp av TLS över tillförlitlig UDP.
- När RDP Shortpath-transporten har upprättats flyttas alla dynamiska virtuella kanaler (DVC), inklusive fjärrgrafik, indata och omdirigering av enheter, till den nya transporten. Men om en brandvägg eller nätverkstopologi hindrar klienten från att upprätta en direkt UDP-anslutning fortsätter RDP med en omvänd anslutningstransport.
Om dina användare har både RDP Shortpath för hanterat nätverk och offentliga nätverk tillgängliga för dem, kommer den först funna algoritmen att användas. Användaren använder den anslutning som upprättas först för den sessionen.
Så här fungerar RDP Shortpath för offentliga nätverk
För att ge bästa möjliga chans att en UDP-anslutning lyckas när du använder en offentlig anslutning finns det direkta och indirekta anslutningstyper:
Direktanslutning: STUN används för att upprätta en direkt UDP-anslutning mellan en klient och sessionsvärd. För att upprätta den här anslutningen måste klienten och sessionsvärden kunna ansluta till varandra via en offentlig IP-adress och förhandlad port. De flesta klienter känner dock inte till sin egen offentliga IP-adress eftersom de sitter bakom en NAT-gatewayenhet (Network Address Translation). STUN är ett protokoll för självidentifiering av en offentlig IP-adress bakom en NAT-gatewayenhet och klienten för att fastställa sin egen offentliga IP-adress.
För att en klient ska kunna använda STUN måste nätverket tillåta UDP-trafik. Förutsatt att både klient- och sessionsvärden kan dirigeras direkt till den andras identifierade IP-adress och port upprättas kommunikationen med direkt UDP via WebSocket-protokollet. Om brandväggar eller andra nätverksenheter blockerar direkta anslutningar provas en indirekt UDP-anslutning.
Indirekt anslutning: TURN används för att upprätta en indirekt anslutning som vidarebefordrar trafik via en mellanliggande server mellan en klient och sessionsvärd när en direkt anslutning inte är möjlig. TURN är ett tillägg av STUN. Användning av TURN innebär att den offentliga IP-adressen och porten är känd i förväg, vilket kan tillåtas via brandväggar och andra nätverksenheter.
TURN auktoriserar vanligtvis åtkomst till servern via användarnamn/lösenord och det önskade driftsättet är att använda UDP-socketar. Om brandväggar eller andra nätverksenheter blockerar UDP-trafik återgår anslutningen till en TCP-baserad omvänd anslutningstransport.
När en anslutning upprättas samordnar ICE (Interactive Connectivity Establishment) hanteringen av STUN och TURN för att optimera sannolikheten för att en anslutning upprättas och se till att prioritet ges till föredragna protokoll för nätverkskommunikation.
Varje RDP-session använder en dynamiskt tilldelad UDP-port från ett tillfälliga portintervall (49152 till 65535 som standard) som accepterar RDP Shortpath-trafiken. Port 65330 ignoreras från det här intervallet eftersom den är reserverad för användning internt av Azure. Du kan också använda ett mindre, förutsägbart portintervall. Mer information finns i Begränsa det portintervall som används av klienter för offentliga nätverk.
Diagrammet ger en översikt över nätverksanslutningarna på hög nivå när du använder RDP Shortpath för offentliga nätverk där sessionsvärdar är anslutna till Microsoft Entra-ID.
Översättning av nätverksadresser och brandväggar
De flesta Azure Virtual Desktop-klienter körs på datorer i det privata nätverket. Internetåtkomst tillhandahålls via en NAT-gatewayenhet (Network Address Translation). Nat-gatewayen ändrar därför alla nätverksbegäranden från det privata nätverket och är avsedda för Internet. En sådan ändring avser att dela en enda offentlig IP-adress på alla datorer i det privata nätverket.
På grund av ändring av IP-paket ser mottagaren av trafiken den offentliga IP-adressen för NAT-gatewayen i stället för den faktiska avsändaren. När trafiken kommer tillbaka till NAT-gatewayen är det noga med att vidarebefordra den till den avsedda mottagaren utan avsändarens vetskap. I de flesta fall är enheterna som är dolda bakom en sådan NAT inte medvetna om att översättningen sker och inte känner till NAT-gatewayens nätverksadress.
NAT gäller för de virtuella Azure-nätverk där alla sessionsvärdar finns. När en sessionsvärd försöker nå nätverksadressen på Internet utför NAT Gateway (antingen din egen eller standard som tillhandahålls av Azure) eller Azure Load Balancer adressöversättningen.
De flesta nätverk innehåller vanligtvis brandväggar som inspekterar trafik och blockerar den baserat på regler. De flesta kunder konfigurerar sina brandväggar för att förhindra inkommande anslutningar (det vill: oönskade paket från Internet som skickas utan begäran). Brandväggar använder olika tekniker för att spåra dataflödet för att skilja mellan begärd och oönskad trafik. I samband med TCP spårar brandväggen SYN- och ACK-paket, och processen är enkel. UDP-brandväggar använder vanligtvis heuristik baserat på paketadresser för att associera trafik med UDP-flöden och tillåta eller blockera den.
Anslutningssekvens
Alla anslutningar börjar med att upprätta en TCP-baserad omvänd anslutningstransport över Azure Virtual Desktop Gateway. Sedan upprättar klient- och sessionsvärden den första RDP-transporten och börjar utbyta sina funktioner. Om RDP Shortpath för offentliga nätverk är aktiverat på sessionsvärden initierar sessionsvärden sedan en process som kallas kandidatinsamling:
- Sessionsvärden räknar upp alla nätverksgränssnitt som tilldelats en sessionsvärd, inklusive virtuella gränssnitt som VPN och Teredo.
- Windows-tjänsten Remote Desktop Services (TermService) allokerar UDP-socketar i varje gränssnitt och lagrar IP:Port-paret i kandidattabellen som en lokal kandidat.
- Tjänsten Fjärrskrivbordstjänster använder varje UDP-socket som allokerades i föregående steg för att försöka nå Azure Virtual Desktop STUN-servern på det offentliga Internet. Kommunikationen sker genom att skicka ett litet UDP-paket till port 3478.
- Om paketet når STUN-servern svarar STUN-servern med den offentliga IP-adressen och porten. Den här informationen lagras i kandidattabellen som en reflexiv kandidat.
- När sessionsvärden har samlat alla kandidater använder sessionsvärden den etablerade omvända anslutningstransporten för att skicka kandidatlistan till klienten.
- När klienten tar emot listan över kandidater från sessionsvärden utför klienten även kandidatinsamling på sin sida. Sedan skickar klienten sin kandidatlista till sessionsvärden.
- När sessionsvärden och klienten har bytt ut sina kandidatlistor försöker båda parter få kontakt med varandra med hjälp av alla insamlade kandidater. Det här anslutningsförsöket är samtidigt på båda sidor. Många NAT-gatewayer har konfigurerats för att tillåta inkommande trafik till socketen så snart den utgående dataöverföringen initierar den. Det här beteendet för NAT-gatewayer är anledningen till att den samtidiga anslutningen är nödvändig. Om STUN misslyckas på grund av att det är blockerat görs ett indirekt anslutningsförsök med HJÄLP av TURN.
- Efter det första paketutbytet kan klient- och sessionsvärden upprätta ett eller flera dataflöden. Från dessa dataflöden väljer RDP den snabbaste nätverkssökvägen. Klienten upprättar sedan en säker anslutning med TLS över tillförlitlig UDP med sessionsvärden och initierar RDP Shortpath-transport.
- När RDP har etablerat RDP Shortpath-transporten flyttas alla dynamiska virtuella kanaler (DVC), inklusive fjärrgrafik, indata och omdirigering av enheter till den nya transporten.