Ce nouvel article est focalisé sur la partie réseau d’AVD, il reste dans la continuité de celui déjà consacré à RDP Shortpath, écrit il y a plusieurs mois déjà. Azure Virtual Desktop est capable d’établir des connexions de bureau à distance via deux protocoles : TCP et UDP. L’utilisation du second permet d’améliorer les performances grâce à un débit plus important et une gestion différente des paquets.
Pour vous remettre dans le bain, voici un rappel de l’excellente vidéo de Dean à ce sujet :
Pourquoi doit-on se préoccuper du protocole UDP ?
L’impact du protocole dans un environnement dédié au bureau à distance est majeur. Denis Gundarev nous explique avec simplicité l’inadéquation entre le protocole TCP dans le cadre d’une connexion RDP :
TCP est un excellent protocole pour la livraison garantie de petites quantités de données. Les applications telles que les navigateurs ou les clients de messagerie se contentent d’envoyer les données et de les oublier. Le protocole assure la cohérence et l’ordre des paquets et relance la transmission si la livraison échoue. Cependant, RDP utilise des connexions de longue durée et les connexions TCP de longue durée sont problématiques.
Le protocole TCP est idéal pour les réseaux locaux, mais pas pour l’Internet. Oui, si le paquet est perdu, il sera retransmis. La disponibilité de la bande passante est un facteur essentiel. Malheureusement, les algorithmes de contrôle de congestion TCP limitent la possibilité de saturer le réseau.
Pour vous donner une meilleure idée, voici une vidéo comparative montrant visuellement l’impact du protocole si une partie de paquets est perdue :
Pourquoi refaire un article sur ce sujet ?
En faisant différents tests sur des environnements Azure Virtual Desktop, je me suis rendu compte « par hasard » de l’activation quasi systématique du protocole UDP lors des ouvertures de session, sans aucune action ni configuration de ma part.
J’ai donc effectué différents tests sur 3 environnements AVD distincts :
- VM : Standard D8s v3 (8 vCPU, 32 GiB memory) / OS : Windows 10 21H2
- VM : Standard D2s v3 (2 vCPU, 8 GiB memory) / OS : Windows 11 22H2
- VM : Standard D8s v3 (8 vCPU, 32 GiB memory) / OS : Windows 11 21H2
Dans les 3 environnements, j’ai constaté exactement le même mécanisme :
- Première ouverture de session en TCP
- Seconde ouverture de session en UDP
Aucune configuration via la règle de registre ICEControl, pour activer le RDP Shortpath, n’a été mise en place avant ces tests :
Comment cela est-ce possible ?
Tout simplement car la fonctionnalité UDP a été déployée sur l’ensemble des environnements AVD, de production et de validation : RDP Shortpath for public networks in Azure Virtual Desktop – Microsoft Community Hub.
Comme l’indique ce billet Microsoft , la disponibilité générale du routage via le protocole UDP pour les connexions transitant via un réseau public est disponible depuis la date du 6 septembre dernier. Ils recommandent même de retirer la précédente clef de registre.
A noter que certaines ouvertures de sessions se sont malgré faites tout en TCP. Bien souvent, la fermeture / réouverture de la session m’a permis de retrouver un protocole UDP. Je pense que certains éléments influent sur cela, sans vraies certitudes.
Peut-on désactiver le protocole UDP afin de rester systématiquement en TCP ?
Cela est parfaitement possible et nécessaire dans certains scénarios. Microsoft propose 3 méthodes pour retrouver l’état initial en TCP :
- Désactivation au niveau de la machine virtuelle AVD
- Désactivation au niveau du client AVD
- Désactivation via Intune
Pour la première méthode, il est nécessaire d’intervenir au niveau de la machine AVD, ou de l’implémenter via une GPO.
Connectez-vous sur la machine virtuelle AVD avec un compte administrateur.
Ouvrez l‘Editeur de groupes polices locales :
Rendez-vous dans le menu suivant :
Computer Configuration > Administration Templates > Windows Components > Remote Desktop Services > Remote Desktop Connection Host > Connections
Ouvrez le paramètre ci-dessous :
Cochez les options comme ceci, puis fermez la session et rouvrez là :
Constatez bien que votre connexion RDP utilise le protocole TCP :
La configuration et le résultat sont identiques pour les machines en Windows 10.
Annexe
Durant ces tests j’ai également remarqué que mes environnements Azure Virtual Desktop fonctionnaient très bien malgré l’absence de l’argument RDP targetisaadjoined dans les propriétés RDP du pool d’hôtes AVD :
Avant :
Maintenant :
C’est toujours appréciable d’avoir une chose de moins à penser dans la configuration ????.
Conclusion
Microsoft continue d’améliorer son outil et facilite sa configuration. La simplification et l’automatisation du protocole UDP améliore les performances et donc l’expérience utilisateur. Nul doute que Microsoft va continuer à travailler dans ce domaine pour accroitre le nombre d’utilisateurs sur un de leurs produits phares.