AVD/W365 + RDP Multipath = 😍

Excellente nouvelle pour celles et ceux rencontrant des soucis de connexion Ă  Azure Virtual Desktop ou Windows 365 ! Disponible en prĂ©version depuis dĂ©but 2025, le RDP Multipath vient d’ĂȘtre annoncĂ© il y a peu en disponibilitĂ© gĂ©nĂ©rale par Microsoft. Nous allons justement voir comment en bĂ©nĂ©ficier, et qu’est-ce que cela apporte par rapport Ă  du TCP ou Ă  l’UDP simple-path.

Comment fonctionne la connexion d’un utilisateur Ă  une VM AVD ?

Azure Virtual Desktop hĂ©berge des sessions client sur des hĂŽtes de session s’exĂ©cutant sur Azure. Microsoft gĂšre des parties des services au nom du client et fournit des points de terminaison sĂ©curisĂ©s pour la connexion des clients et des hĂŽtes de session.

Le diagramme suivant fournit une vue d’ensemble gĂ©nĂ©rale des connexions rĂ©seau utilisĂ©es par Azure Virtual Desktop.

Microsoft Learn

Azure Virtual Desktop (AVD) utilise le protocole RDP pour Ă©tablir et acheminer vos sessions vers les machines virtuelles ; voici comment la connexion se dĂ©roule :

  1. Découverte du feed (Feed Discovery)
    • L’utilisateur s’authentifie auprĂšs de Microsoft Entra ID et obtient un jeton OAuth.
    • Le client envoie ce jeton au service de feed AVD, qui retourne la liste des desktops et applications disponibles sous forme de fichiers .rdp signĂ©s numĂ©riquement Microsoft Learn.
  2. Connexion au gateway AVD
    • Quand l’utilisateur lance l’un des fichiers .rdp, le client se connecte via TLS 1.2 (HTTPS) Ă  Azure Front Door, qui redirige vers l’instance du Remote Connection Gateway la plus proche (latence minimale et charge Ă©quilibrĂ©e) Microsoft Learn.
    • Le gateway valide la requĂȘte et fait appel au Connection Broker pour orchestrer la suite.
  3. Établissement du canal de contrîle
    • L’hĂŽte de session (VM AVD) maintient en permanence un canal de communication sortant chiffrĂ© (TLS) vers le broker AVD, gĂ©rĂ© par le service Reverse Connect Transport plutĂŽt qu’un listener TCP classique Microsoft Learn.
    • Le broker utilise ce canal pour indiquer au session host de joindre le mĂȘme gateway que le client.
  4. Ouverture du canal de données (RDP data channel)
    • Reverse connect transport (TCP via le gateway) : le trafic RDP transite en TCP chiffrĂ© sur 443 via le gateway, idĂ©al si UDP est bloquĂ© ou non configurĂ©.
    • RDP Shortpath (UDP direct) : le client et le session host crĂ©ent un canal UDP direct (STUN/TURN + ICE), Ă©vitant le relay du gateway pour rĂ©duire latence et jitter Microsoft Learn.
    • Le basculement entre TCP et UDP Shortpath est transparent et contrĂŽlĂ© par le client selon la configuration et la qualitĂ© rĂ©seau.
  5. Session active et résilience
    • Une fois le canal de donnĂ©es Ă©tabli, RDP gĂšre l’envoi d’affichage, d’audio, de redirections pĂ©riphĂ©riques, etc.
    • En mode Shortpath, chaque paquet voyage de façon indĂ©pendante : en cas de perte ou de rĂ©ordonnancement, RDP multi‑path ou le TCP se chargent des retransmissions, tandis que le reverse connect TCP reprend toujours – garantissant la continuitĂ© de la session mĂȘme sur des rĂ©seaux instables.

Le bon vieux duel TCP vs UDP ?

Voici un tableau comparatif des principaux aspects de TCP et UDP :

CritĂšreTCP (Transmission Control Protocol)UDP (User Datagram Protocol)
Type de connexionOrienté connexion (handshake en trois temps)Sans connexion (pas de handshake)
FiabilitĂ©Fiable : accusĂ©s de rĂ©ception et retransmissions automatiquesNon fiable : pas d’accusĂ©s de rĂ©ception ni retransmissions
OrdonnancementGarantit l’ordre des paquetsPas d’ordre garanti
ContrĂŽle de fluxOui (fenĂȘtre glissante)Non
ContrĂŽle de congestionOui (algorithmes AIMD, slow start, etc.)Non
Taille de l’en‑tĂȘteAu moins 20 octets8 octets
Vitesse (latence)Plus lente (overhead de contrĂŽle)Plus rapide (faible overhead)
Utilisations courantesHTTP, HTTPS, FTP, SMTP, SSH, bases de donnéesDNS, VoIP, streaming vidéo, jeux en temps réel
Gestion des erreursVérification de somme de contrÎle + retransmissionVérification de somme de contrÎle uniquement
Transmission multipleFlux unique, multiplexé par portDatagrammes indépendants par port
Connection keep‑aliveOui (optionnel)Non
Adapté pour
Applications nécessitant intégrité et fiabilitéApplications temps réel et tolérantes à la perte

Dans quels cas ne pas utiliser l’UDP pour AVD ?

Certains utilisateurs ont ressenti des difficultĂ©s lors de session Azure Virtual Desktop lorsque on passe systĂ©matiquement Ă  l’UDP. On Ă©vitera d’activer le transport UDP sur Azure Virtual Desktop dans les cas suivants :

  • RĂ©seaux d’entreprise trĂšs « verrouillĂ©s » :
    • Pare‑feu ou appliance de sĂ©curitĂ© qui ne laissent passer que le trafic HTTPS/TCP sur le port 443.
    • Proxies ou load‑balancers interdisant ou foreçant l’inspection de flux UDP.
    • Absence d’ouvrages STUN/TURN nĂ©cessaires au Shortpath UDP.
  • Topologies NAT ou VPN problĂ©matiques :
    • NAT trĂšs restrictif (symmetric NAT) qui empĂȘche la dĂ©couverte de chemin direct STUN.
    • VPN d’entreprise qui n’autorise que le protocole TCP encapsulĂ© (SSLVPN, SSTP
), rendant l’UDP inopĂ©rant.
  • Contraintes de conformitĂ© ou d’audit :
    • Politiques de sĂ©curitĂ© interne imposant que tout le trafic soit chiffrĂ©/TLS sur TCP pour centraliser la journalisation et l’inspection.
    • NĂ©cessitĂ© de passer via des IDS/IPS qui ne gĂšrent que le TCP.
  • ScĂ©narios de diagnostic ou de troubleshooting :
    • Pour isoler un problĂšme de connectivitĂ© ou comparer les performances TCP vs UDP : on dĂ©sactive l’UDP pour forcer le fallback TCP.
    • Lorsque vous suspectez que le UDP est la source de coupures intempestives (perte, rĂ©ordonnancement).
  • Clients legacy ou plateformes non supportĂ©es :
    • Certains clients RDP anciens ou intĂ©grĂ©s (HTML5 via RemoteApp) ne gĂšrent pas le Shortpath UDP.

Un article écrit sur ce blog montre comment justement rester sur du TCP via une configuration depuis la machine AVD ou le poste local.

Qu’est-ce que le RDP Multipath ?

Le RDP Multipath (ou « UDP Multi‑Path ») est une Ă©volution du transport RDP Shortpath qui Ă©vite les coupures et micro‑latences en :

  1. Ouvrant plusieurs sous‑canaux UDP simultanĂ©ment entre le client et l’hĂŽte de session, au lieu d’un seul.
  2. Surveillant en continu la qualité (latence, perte, gigue) de chacun de ces chemins via ICE/STUN/TURN.
  3. Bascule instantanĂ©e du trafic sur le ou les sous‑canaux les plus sains dĂšs qu’un chemin se dĂ©grade, sans interrompre la session.

ConcrĂštement, si l’un des liens subit une perte de paquets Ă©levĂ©e, un pic de gigue ou tombe complĂštement, Multipath redirige automatiquement les paquets vers un autre sous‑chemin en quelques dizaines de millisecondes, assurant une expĂ©rience fluide et sans reconnexion visible pour l’utilisateur.

Comment fonctionne le RDP Multipath pour Azure Virtual Desktop ?

RDP Multipath pour Azure Virtual Desktop Ă©tablit plusieurs sous‑canaux UDP simultanĂ©s (via ICE, STUN et TURN) et mesure en continu leur qualitĂ© (latence, perte, gigue).

  • DĂšs qu’un lien se dĂ©grade, il bascule automatiquement en quelques dizaines de millisecondes vers le canal le plus performant, sans interrompre la session.
  • Si tous les canaux UDP tombent, Multipath retombe de façon transparente sur TCP, garantissant ainsi une expĂ©rience AVD quasi ininterrompue et nettement plus stable sur des rĂ©seaux instables.

L’excellente vidĂ©o de Dean Cefola depuis sa chaĂźne YouTube Azure Academy nous permet d’en savoir un peu plus :

Le diagramme suivant illustre le fonctionnement de RDP Multipath avec Azure Virtual Desktop. Dans ce scénario, le principal chemin actif est la connexion UDP via STUN, complétée par deux connexions UDP redondantes via un serveur TURN :

Microsoft Learn

Comment en bénéficier ?

RDP Multipath fonctionne automatiquement lorsque les conditions suivantes sont remplies :

  • Assurez-vous que RDP Shortpath est configurĂ© comme protocole de transport principal. Pour plus d’informations, voir Configurer RDP Shortpath. Nous ne prenons pas actuellement en charge les connexions WebSocket (basĂ©es sur le protocole TCP) et ces utilisateurs n’en tirent aucun avantage pour le moment.
  • Les connexions doivent ĂȘtre Ă©tablies Ă  partir d’un appareil Windows local utilisant Windows App, version 2.0.366.0 ou ultĂ©rieure, ou le client Remote Desktop, version 1.2.6074 ou ultĂ©rieure. Les autres plateformes ne sont pas prises en charge actuellement.

Afin de comprendre mieux le fonctionnement et l’impact entre les 3 protocoles disponibles pour Azure Virtual Desktop, j’ai prĂ©parĂ© un environnement dĂ©diĂ©.

Voici les diffĂ©rentes Ă©tapes que j’ai suivies :

Maintenant, il nous reste plus qu’à tester tout cela đŸ˜Ž

Etape 0 – Rappel des prĂ©requis :

Pour réaliser cet exercice, il vous faudra disposer de :

  • Une abonnement Azure valide
  • Un tenant Microsoft

Etape I – CrĂ©ation de l’environnement AVD

J’ai créé un nouvel environnement Azure Virtual Desktop composĂ© de 3 machines virtuelles et placĂ©es dans un mĂȘme pool d’hĂŽtes :

Comme le recommandait Microsoft avant la fin de la prĂ©version, mon pool d’hĂŽtes est encore ĂȘtre configurĂ© en tant qu’environnement de validation :

Enfin j’ai laissĂ© par dĂ©faut la configuration de la fonctionnalitĂ© RDP shortpath afin de gĂ©rer le protocole utilisĂ© de façon individuelle sur chacune des 3 machines virtuelles AVD :

Commençons par configurer la premiĂšre machine virtuelle AVD afin que celle-ci n’accepte que les connexions RDP en TCP.

Etape II – VM1 Forcer le flux TCP cĂŽtĂ© serveur :

Il est possible de forcer le serveur Ă  n’accepter que des connexions TCP, ce qui est particuliĂšrement utile dans des environnements oĂč la stabilitĂ© prime. Pour cela, vous pouvez modifier le registre du serveur ou dĂ©ployer une GPO.

Avant modification, le serveur accepte par dĂ©faut les connexions en UDP. Pour forcer TCP, la modification est simple : il suffit d’ajouter la clĂ© de registre SelectTransport.

Voici la commande permettant d’ajouter automatiquement cette clĂ© de registre Windows avec des droits administrateur :

REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v SelectTransport /t REG_DWORD /d 1 /f

AprÚs avoir mis à jour la clé de registre, il est nécessaire de redémarrer la machine AVD pour que la modification prenne effet.

AprĂšs modification, la connexion se fait exclusivement en TCP. Cette commande force le serveur Ă  utiliser uniquement TCP pour les connexions RDP.

Continuons par configurer la seconde machine virtuelle AVD pour que celle-ci n’accepte que les connexions RDP en UDP simple-path.

Etape III – VM2 Forcer le flux UDP simple-path cĂŽtĂ© serveur :

Avant modification, le configuration par défaut de mon AVD accepte les connexions en UDP Multipath si cela est possible.

Mais il est possible de forcer le serveur Ă  n’accepter que des connexions UDP sans Multipath. Pour cela, vous pouvez modifier le registre du serveur ou dĂ©ployer une GPO.

Voici la commande permettant d’ajouter automatiquement cette clĂ© de registre Windows avec des droits administrateur :

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RdpCloudStackSettings" /v SmilesV3ActivationThreshold /t REG_DWORD /d 0 /f

AprĂšs avoir mis Ă  jour la clĂ© de registre, les utilisateurs doivent se dĂ©connecter et se reconnecter Ă  l’hĂŽte de la session pour que la modification prenne effet.

AprĂšs la modification, la connexion AVD se fait exclusivement en UDP simple-path :

Terminons de préparer notre environnement par la configuration de la derniÚre machine virtuelle AVD pour que celle-ci accepte les connexions RDP en UDP Multipath.

Etape IV – VM3 Forcer le flux UDP Multipath cĂŽtĂ© serveur :

Compte tenu de la configuration de notre nouvel environnement Azure Virtual Desktop, il n’y a rien Ă  faire. La connexion de notre utilisateur de test nous le prouve :

Nos machines virtuelles AVD sont prĂȘtes. Continuons maintenant sur la prĂ©paration de notre protocole de test.

Etape V – PrĂ©paration de l’environnement de test :

J’ai utilisĂ© la version d’essai gratuite de Connection Emulator.

Connection Emulator est un outil qui vous permet de simuler des conditions réseau dégradées (latence, perte, gigue, réordonnancement, duplication, corruption).

Voici le lien pour le tĂ©lĂ©charger en version d’essai, cliquez-ici pour tĂ©lĂ©charger et installer la version Windows :

CaractĂ©ristiques principales de l’outil

  • Limite la vitesse de connexion
  • Imite une latence fixe ou variable
  • Simule la perte, la corruption, la duplication et la rĂ©organisation de paquets individuels et sĂ©quentiels.
  • Affiche un graphique de simulation de paquets en direct
  • Prend en charge plusieurs profils de simulation

Etape VI – RĂ©alisation des 2 tests :

J’ai rĂ©alisĂ© deux scĂ©narios d’émulation rĂ©seau avec Connection Emulator :

  • Test 1 : latence 100 ms, perte 8 %, duplication 5 %, rĂ©ordonnancement 30 %, corruption 2 %
  • Test 2 : latence 200 ms, perte 16 %, duplication 10 %, rĂ©ordonnancement 40 %, corruption 4 %

Pour chaque scĂ©nario, j’ai dĂ©marrĂ© simultanĂ©ment trois VM AVD configurĂ©es en TCP, UDP simple-path et UDP Multipath, puis lancĂ© la mĂȘme vidĂ©o sur chacune.

Cette mĂ©thode met en Ă©vidence, de maniĂšre visuelle, la dĂ©gradation de la qualitĂ© pour TCP et UDP mono-chemin et la rĂ©silience supĂ©rieure de l’UDP Multipath face aux pires conditions rĂ©seau.

Voici ma vidéo de comparaison des 3 protocoles de connexion :

Etape VII – Configuration sur Windows 365 :

Finissons cette derniÚre étape par la configuration sur Windows 365. Voici les informations de connection sur un poste Windows 365 avant la modification de registre :

Pour activer RDP Multipath avant le déploiement complet, définissez la valeur de la clé de registre suivante sur 100, puis relancez la session de votre utilisateur

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RdpCloudStackSettings" /v SmilesV3ActivationThreshold /t REG_DWORD /d 100 /f

Voici les informations de connection sur un poste Windows 365 aprĂšs la modification de registre :

Si vous prĂ©fĂ©rez dĂ©sactiver RDP Multipath jusqu’Ă  ce que le dĂ©ploiement soit terminĂ©, dĂ©finissez la valeur de la clĂ© de registre sur 0 :

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RdpCloudStackSettings" /v SmilesV3ActivationThreshold /t REG_DWORD /d 0 /f

Conclusion

En synthĂšse, RDP Multipath reprĂ©sente une vĂ©ritable avancĂ©e pour Azure Virtual Desktop : il combine la rapiditĂ© et la lĂ©gĂšretĂ© du transport UDP avec robustesse et la redondance.

GrĂące Ă  la crĂ©ation et Ă  la surveillance en continu de plusieurs sous‑canaux UDP, vos sessions basculent en quelques dizaines de millisecondes vers le chemin le plus sain, tout en retombant de façon transparente sur TCP si nĂ©cessaire.

Le rĂ©sultat ?

Une expĂ©rience utilisateur fluide, sans micro‑coupure ni latence excessive, mĂȘme sur des rĂ©seaux fortement dĂ©gradĂ©s.

N’attendez plus pour activer RDP Multipath sur vos environnements AVD : testez-le dĂšs aujourd’hui et constatez par vous‑mĂȘme l’amĂ©lioration significative de la rĂ©silience et de la qualitĂ© de vos connexions distantes.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *