Windows et la QoS

Submitted byOrsiris de Jong onlun 01/04/2019 - 18:12

Depuis Windows 2012 (et accessoirement Windows 8), Microsoft a décidé d'ajouter la gestion de la QoS à son système d'exploitation fétiche.

 

Sans s'emballer, il n'est pas question de pouvoir gérer des algorithmes type HFSC ou CoDel, mais il est tout à fait possible de limiter la bande passante d'une application gourmande (je pense aux divers clients drive cloud par exemple).
La solution est directement implémentée au niveau stack réseau, et ne nécessite pas le parefeu Windows pour fonctionner.

Cela étant, comme toute solution QoS basique, celle-ci gère uniquement un sens (l'upload) et le download restera lui illimité, comme sur beaucoup de solutions de QoS sur le marché.

Pour obtenir la liste des règles en vigueur, il suffira d'ouvrir Powershell en mode administrateur:

Get-NetQosPolicy

Dans la plupart des cas, le résultat devrait être vide.

Pour créer une nouvelle règle, par exemple une limite d'upload à 10Mbps en TCP et UDP globale:

New-NetQosPolicy "Limite 10Mbps globale" -ThrottleRateActionBitsPerSecond 10000000

Il est tout à fait possible de créer des règles plus précises, par port, IP, ou FQDN. Exemple d'une règle limitant les ports 2000-2005:

New-NetQosPolicy "Limite 10Mbps pour app spécifique" -IPDstPortStartMatchCondition 2000 -IPDstPortEndMatchCondition 2005 -ThrottleRateActionBitsPerSecond 10000000

Enfin, pour supprimer ladite règle:

Remove-NetQosPolicy "Nom de la règle"

Une des applications possible serait de limiter la bande passante d'une réplication de fichiers uniquement en journée. Il suffira alors de créer deux tâches planifiées qui lanceront les scripts adéquats de modification de la QoS en fonction de l'heure de la journée.