La mise en place de la Qualité de service dans l’environnement Microsoft Teams permet de prioriser le traitement des données Audio et Vidéo par les équipements de l’entreprise afin de que ceux-ci soient acheminées plus rapidement que les autres paquets de données.
Microsoft Teams : mise en place de la Qualité de Service
La figure ci-dessous illustre les différentes données que l’on peut trouver dans les entreprises et celle que l’on doit acheminer au plus vite.
Les données voix sont en effet les plus critiques car si les temps de latence et la gigue sont trop importants alors les conversations Teams seront de mauvaise qualité. Les données vidéos sont elles aussi importantes mais moins critiques que celles concernant la voix. Les utilisateurs étant plus tolérants vis-à-vis d’une image qui peut se figer quelques secondes par rapport à une voix inaudible.
Pour favoriser le traitement des paquets audio et vidéo, vos équipements réseaux doivent déjà être paramétrés pour la prise en compte de ces priorisations. Ces paquets audio et vidéo seront marqués de 3 façons distinctes par les clients Teams avant d’être envoyés sur le réseau.
Teams peut utiliser 3 classes de services comme le montre l’extrait de la documentation Microsoft.
Dans le cadre de Teams , les données voix seront marquées avec la valeur DSCP 46 , les données Vidéo avec la valeur 34 et le partage d’application avec la valeur 18
Expedited Forwarding, Assured Forwarding et DSCP
- Expedited Forwarding : L’IETF définit le comportement d’Expedited Forwarding (EF) dans la RFC 3246. Elle présente les caractéristiques suivantes : faible retard, faible perte et faible gigue. Ces caractéristiques sont adaptées à la voix, à la vidéo et à d’autres services en temps réel. Le trafic EF bénéficie souvent d’une mise en file d’attente strictement prioritaire par rapport à toutes les autres classes de trafic.
- Assured Forwarding : l’Assured Forwarding (AF) est défini dans les RFC 2597 et RFC 3260. L’Assured Forwarding permet à l’opérateur de fournir une assurance de livraison tant que le trafic ne dépasse pas un certain taux souscrit. Le trafic qui dépasse le taux de souscription a une probabilité plus élevée d’être abandonné en cas de congestion.
- DSCP (Differentiated Services Code Point) : (DSCP) est un champ dans l’entête d’un paquet IP. Le but de ce champ est de permettre la différenciation de services ou DiffServ.
Vous avez dit : Client Teams ?
Tous les clients Teams ne sont pas égaux vis-à-vis de la priorisation des données
- Les clients Teams Windows et Smartphone ont en effet la capacité d’utiliser une plage de ports UDP paramétrée dans Teams.
- Les clients Teams basés sur un navigateur continueront à utiliser les ports dynamiques
- Les clients Mac, utiliseront ces ports par défaut mais attention, ces ports ne sont pas modifiables car codés en dur dans le client Teams pour Mac.
Comment faire ?
Les sections suivantes précisent les actions que vous devez mettre en œuvre pour la prise en charge de la qualité de services dans Microsoft Teams
Etape 1 : Création d’une stratégie de groupe (GPO)
Afin de créer les conditions de QoS pour les clients Windows 10, il faut créer une GPO qui va naturellement s’appliquer uniquement aux postes de travail joint au domaine active Directory Windows 10 ou supérieur. La procédure ci-dessous extraite de la documentation Microsoft est à suivre pour mettre en place cette Stratégie de groupe.
Pour créer une stratégie audio QoS pour les ordinateurs Windows 10 joints à un domaine, commencez par vous connecter à un ordinateur sur lequel stratégie de groupe Management a été installé. Ouvrez stratégie de groupe Gestion (cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur stratégie de groupe Gestion), puis effectuez les étapes suivantes :
- Dans stratégie de groupe Gestion, recherchez le conteneur où la nouvelle stratégie doit être créée. Par exemple, si tous vos ordinateurs clients se trouvent dans une unité d’organisation nommée Clients, la nouvelle stratégie doit être créée dans l’unité d’organisation clients.
- Cliquez avec le bouton droit sur le conteneur approprié, puis cliquez sur Créer un objet de stratégie de groupe dans ce domaine, puis liez-le ici.
- Dans la boîte de dialogue Nouvel objet de stratégie de groupe, tapez un nom pour le nouvel objet stratégie de groupe dans la zone Nom, puis cliquez sur OK.
- Cliquez avec le bouton droit sur la stratégie nouvellement créée, puis cliquez sur Modifier.
- Dans l’éditeur de gestion stratégie de groupe, développez Configuration de l’ordinateur, développez Paramètres Windows, cliquez avec le bouton droit sur QoS basé sur la stratégie, puis cliquez sur Créer une stratégie.
- Dans la boîte de dialogue QoS basée sur la stratégie, dans la page d’ouverture, tapez un nom pour la nouvelle stratégie dans la zone Nom . Sélectionnez Spécifier la valeur DSCP et définissez la valeur sur 46. Laissez spécifiez le taux de limitation sortant non sélectionné, puis cliquez sur Suivant.
- Dans la page suivante, sélectionnez Uniquement les applications avec ce nom exécutable , entrez le nom Teams.exe, puis cliquez sur Suivant. Ce paramètre indique à la stratégie de hiérarchiser uniquement le trafic correspondant à partir du client Teams.
- Sur la troisième page, assurez-vous que toutes les adresses IP sources et toutes les adresses IP de destination sont sélectionnées, puis cliquez sur Suivant. Ces deux paramètres garantissent que les paquets sont gérés indépendamment de l’ordinateur (adresse IP) qui a envoyé les paquets et de l’ordinateur (adresse IP) qui recevra les paquets.
- À la page 4, sélectionnez TCP et UDP dans la liste déroulante Sélectionner le protocole que cette stratégie QoS applique . TCP (Transmission Control Protocol) et UDP (User Datagram Protocol) sont les deux protocoles réseau les plus couramment utilisés.
- Sous l’en-tête Spécifier le numéro de port source, sélectionnez À partir de ce port ou plage source. Dans la zone de texte qui l’accompagne, tapez la plage de ports réservée aux transmissions audio. Par exemple, si vous avez réservé les ports 50000 à ports 50019 pour le trafic audio, entrez la plage de ports au format suivant : 50000:50019. Cliquez sur Terminer.
- Répétez les étapes 5 à 10 pour créer des stratégies pour le partage vidéo et d’application/bureau, en remplaçant les valeurs appropriées aux étapes 6 et 10.
La figure suivante illustre la stratégie de groupe créé pour l’occasion
Les nouvelles stratégies que vous avez créées n’entreront pas en vigueur tant que la stratégie de groupe n’aura pas été actualisée sur vos ordinateurs clients. Vous pouvez forcer une actualisation immédiate en procédant comme suit :
- Sur chaque ordinateur pour lequel vous souhaitez actualiser stratégie de groupe, ouvrez une invite de commandes en tant qu’administrateur (Exécuter en tant qu’administrateur).
- À l’invite de commandes, entrez
gpupdate /force
Pour vérifier que les valeurs de l’objet stratégie de groupe ont été définies, procédez comme suit :
- Ouvrez une invite de commandes en tant qu’administrateur (Exécuter en tant qu’administrateur).
- À l’invite de commandes, entrez :
gpresult /R > gp.txt
Cela génère un rapport d’objets de stratégie de groupe appliqués et l’envoie à un fichier texte nommé gp.txt. Pour obtenir un rapport HTML plus lisible nommé gp.html, entrez la commande suivante : gpresult /H gp.html
- Dans le fichier généré, recherchez l’en-tête Applied stratégie de groupe Objects et vérifiez que les noms des objets stratégie de groupe créés précédemment figurent dans la liste des stratégies appliquées.
- Ouvrez l’Éditeur du Registre, puis accédez à : Stratégies logicielles HKEY_LOCAL_MACHINE\Microsoft\Windows\QoS\\
Vérifiez les valeurs des entrées de Registre répertoriées dans le tableau ci-dessous
Valeurs des entrées de Registre Windows pour QoS
Nom | Type | Données |
Nom de l’application | REG_SZ | Teams.exe |
Valeur DSCP | REG_SZ | 46 |
Adresse IP locale | REG_SZ | * |
Longueur du préfixe IP local | REG_SZ | * |
Local Port | REG_SZ | 50000-50019 |
Protocol (Protocole) | REG_SZ | * |
Adresse IP distante | REG_SZ | * |
Préfixe IP distant | REG_SZ | * |
Port distant | REG_SZ | * |
Vitesse de limitation | REG_SZ | -1 |
- Vérifiez que la valeur de l’entrée Nom de l’application est correcte pour le client que vous utilisez, et vérifiez que les entrées de valeur DSCP et de port local reflètent les paramètres de l’objet stratégie de groupe.
Les captures d’écran suivantes illustrent les clefs de registre créées par la stratégie de groupe sur une machine Windows 10
Etape 2 : Mettre en œuvre la QoS dans Teams sous Windows à l’aide de PowerShell
Pour que Microsoft marque les paquets correctement il faut lancer dans une interface Powershell les commandes suivantes. Prenez soin avant, de vous connecter avec la commande Connect-MicrosoftTeams avec les droits d’administrateur Teams.
Les commandes à passer sont indiquées ci-dessous :
Set QoS for audio
new-NetQosPolicy -Name « Teams Audio » -AppPathNameMatchCondition « Teams.exe » -IPProtocolMatchCondition Both -IPSrcPortStartMatchCondition 50000 -IPSrcPortEndMatchCondition 50019 -DSCPAction 46 -NetworkProfile All
Set QoS for video
new-NetQosPolicy -Name « Teams Video » -AppPathNameMatchCondition « Teams.exe » -IPProtocolMatchCondition Both -IPSrcPortStartMatchCondition 50020 -IPSrcPortEndMatchCondition 50039 -DSCPAction 34 -NetworkProfile All
Set QoS for sharing
new-NetQosPolicy -Name « Teams Sharing » -AppPathNameMatchCondition « Teams.exe » -IPProtocolMatchCondition Both -IPSrcPortStartMatchCondition 50040 -IPSrcPortEndMatchCondition 50059 -DSCPAction 18 -NetworkProfile All
Etape 3 : Configuration des options de meetings
Connectez-vous sur l’url suivante : https://admin.teams.microsoft.com/meetings/settings puis configurer les valeurs comme présenté dans la figure suivante.
Etape 4 : Ouverture des ports UDP sur vos Firewall
Si vous avez configurez vos firewall pour autoriser les flux 3478, 3479, 3480, 3481 Udp à sortir directement via le routage IP vers les réseaux Microsoft (13.107.64.0/18, 52.112.0.0/14, 52.120.0.0/14, 2603:1063::/38), prévoyez également de faire de même pour les nouveaux ports de communication mentionnés ci-dessous. (50 000 – 50 059). Avouez que cela bête de repasser en TCP 😉.
Comment vérifier que cela fonctionne ?
Une fois que vous avez mis en place ces paramètres, il faut vérifier que le client Teams marque correctement les paquets en fonctions de différents protocoles. Pour cela, il faut utiliser WireShark pour capturer les flux envoyés par votre client Teams et vérifier la présence du DSCP.
Installation de Wireshark
- Installer Wireshark sur votre poste de travail en le téléchargeant ici : https://www.wireshark.org/download.html
- Lancer une capture de données en cliquant sur l’icône suivante
- Appeler quelqu’un avec votre client Teams et discuter 20 secondes puis raccrocher
- Arrêtez la capture en cliquant sur le carré rouge
Examen de la capture Wireshark (audio)
Une fois la capture terminée , dans la barre de filtrage copiez coller ce filtre :
udp && !dns && !icmp && !dhcp && !nbns && !ssdp && !mdns && !stun
ce qui vous donnera ensuite à peu de chose près le résultat suivant. On notera dans la figure ci-dessous que les flux utilisés sont basés sur le port 3478 en Udp ce qui prouve que la GPO n’est pas présente sur le poste
Lorsque l’on regarde la configuration on constate par conséquent que les paquets ne sont pas marqués
Dans le cas ci-dessous par contre, le même flux voix utilise les ports configurés et les paquets sont correctement marqués.
Examen de la capture WireShark (Video)
Dans la figure suivante nous avons établie une conversation vidéo entre deux utilisateurs en activant les caméras. Nous pouvons voir que les paquets sont bien marqués avec la valeur DSCP correspondante.
Examen de la capture Wireshark (Application sharing)
Dans l’exemple suivante on peut constater que les paquets, lors du partage d’applications, sont bien marqués
Validation avec les équipes en charge des réseaux internes
Une fois que vous avez valider que votre configuration est correcte alors il vous ne vous reste plus qu’a contacter vos équipes réseaux pour confirmer que ces paquets sont bien priorisés jusqu’à la sortie internet, là s’arrête la priorisation.
Laurent TERUIN | MVP | https://unifiedit.wordpress.com
Téléchargez cette ressource
Livre blanc Sécurité et Stockage des documents
Découvrez dans ce livre blanc Kyocera les outils logiciels qui permettent une approche holistique et efficace de la collecte, du stockage, de la gestion et de la sécurisation des documents en entreprise.