Qualité de Service
Selon Wikipédia, la Qualité de Service se définit comme suit :
« La qualité de service (QdS) ou Quality of service (QoS) est la capacité à véhiculer dans de bonnes conditions un type de trafic donné, en termes de disponibilité, débit, délais de transmission, gigue, taux de perte de paquets, etc. La qualité de service est un concept de gestion qui a pour but d’optimiser les ressources d’un réseau et de garantir de bonnes performances aux applications critiques pour l’organisation. La qualité de service permet d’offrir aux utilisateurs des débits et des temps de réponse différenciés par applications suivant les protocoles mis en œuvre au niveau de la structure. »
Pourquoi la Qualité de Service est-elle importante en ce qui me concerne ? En fait pour une seule raison, l’utilisation adéquate de la voix sur mon réseau, et donc indirectement par le traitement prioritaire de la voix au niveau des flux de transmission de données. Prenons comme exemple le contexte actuel dans lequel j’utilise la voix en terme d’application critique sur mon réseau domestique. Le système téléphonique que j’utilise est composé d’un serveur de téléphonie IP, de quelques postes téléphoniques analogiques et IP sur le réseau local, d’une passerelle IP vers le réseau téléphonique commuté et de quelques Trunks vers des fournisseurs de téléphonie Internet.
En cohabitant avec deux adolescents, les problèmes de saturation de bande passante sont beaucoup plus fréquents que j’aurais pu le croire initialement. Ces problèmes sont surtout causés par le téléchargement de mise à jour, d’utilisation d’application P2P, du visionnement de vidéo et tout ce qui peut être offert à des adolescents en effervescence. Cette saturation cause des problèmes pour la transmission temps réel des données liées aux applications de voix. Les problèmes ne surviennent pas sur le réseau local, mais plutôt avec la connectivité Internet puisque j’utilise un lien ADSL avec un débit théorique en sortie d’environ 800 kilobits par seconde « Kbps ».
Pistes de solutions
J’ai analysé quelques pistes de solutions dont en voici une courte liste :
La solution que j’ai retenue est DD-WRT. Les raisons de ce choix sont définies dans la rubrique Réseau personnel pour la téléphonie à $30.
Première analyse
Afin de vous donner un aperçu de la qualité de votre connexion Internet relativement à la téléphonie Internet, utilisez cet outil pour vérifier la perte de paquet, la latence ainsi que la gigue « jitter ».
Exécutez le test sur un ordinateur ayant une connexion physique câblée plutôt que sans-fil « WiFi », afin d’obtenir des résultats les plus près possible de la réalité.
Évaluation de votre bande passante
Afin de définir adéquatement les priorités liées à la qualité de service pour la voix, vous vous devez de connaître les vitesses de débits en entrée et en sortie de votre lien Internet. Une méthode simple permettant de déterminer la bande passante réelle de votre lien est d’effectuer un test de connectivité en utilisant le site SpeedTest.
Avec le test, vous obtiendrez les débits réels de votre lien. Vous pouvez effectuer plusieurs tests avec des serveurs différents afin de constater les variations possibles. Au final, portez une attention sur les valeurs en entrée « Download Speed » et en sortie « Upload Speed ». Dans l’image ci-dessous, on constate que le service Internet est évalué à 1,32 mégabits par seconde « Mbps » en entrée « Download » et à 1,86 Mbps en sortie « Upload ». Ce test a été effectué à partir d’un lien cellulaire 3G.
La QoS sur DD-WRT requiert que l’on définisse les valeurs globales de vitesse maximum de téléchargement. Afin de ne pas saturer la connexion par une surcharge et aussi de permettre de réduire la latence du réseau, une règle du pouce est de définir ces valeurs entre 85 % à 90 % de la vitesse réelle observée.
La plupart des services à large bande sont classés en mégabits par seconde. Vous pouvez multiplier cette valeur par 1024 afin de la convertir en kilobits par seconde. Au lieu de prendre les valeurs identifiées dans l’exemple précédemment (1,32 Mbps/1,86 Mbps), supposons plutôt que votre service Internet est évalué à un débit de 5,97 Mbps en entrée « Download » et à 675 Kbps en sortie « Upload »
Avec ces valeurs, nous calculons le débit total en entrée à :
5196 Kbps, soit 85 % de 5.97 Mbps * 1024 ou (0,85 * 5,97 * 1024)
Et pour le débit total en sortie, nous calculons :
574 Kbps, soit 85 % de 675 Kbps ou (0,85 * 675)
Paramétrisation de la QoS sous DD-WRT
Voici un condensé rapide de ce que DD-WRT permet de définir en terme de sources de contrôle relativement aux priorités de qualité de service. Les sources de contrôles possibles sont les suivantes :
Hiérarchisation par application ou plage de ports (services) : Cette catégorie est la plus commune pour définir les règles de priorisation. Les priorités définies selon cette source s’appliquent au flux de données provenant d’applications spécifiques, par exemple les flux HTTP, FTP, SIP, Torrent, etc., ou encore à partir d’une plage de ports de communications. Notez que la sélection d’un service, basé sur les filtres L7, sera plus exigeante sur l’unité de traitement de votre routeur.
Hiérarchisation par adressage IP : C’est par cette catégorie que l’on peut contrôler le trafic provenant d’une adresse ou d’un bloc d’adressage réseau. Si vous n’êtes pas certain de la nomenclature liée aux masques de sous-réseaux et ce qu’elle signifie, vous pouvez utiliser le simulateur suivant afin d’avoir une meilleure compréhension.
Hiérarchisation par adresse MAC : Similaire à l’adressage IP, mais sur la base unique d’une adresse MAC plutôt que son adresse IP. À utiliser dans le cas où vous voulez hiérarchiser le trafic à partir d’un dispositif particulier, sans que ce dernier ait une adresse IP sur votre réseau local.
Port Ethernet : Cette catégorie spéciale permet de hiérarchiser le trafic provenant d’un port particulier du routeur. Cette méthode n’est cependant disponible que sur les routeurs DD-WRT compatibles avec le micro-contrôleur ADM6996L.
La classification de la bande passante est effectuée en fonction de l’ordre de définition des quatre sources de contrôle énuméré ci-haut. L’évaluation sera d’abord effectuée par l’adressage MAC, puis l’adressage IP/masques de réseau et enfin les services.
À partir des sources de contrôle définies, les flux de trafic utilisés par DD-WRT sont priorisés en cinq catégories distinctes dont chacune détermine le flux de transmission selon les conditions des files de transmission en temps réels. Ces cinq classifications sont :
Exempt : Aucune règle de QoS ne s’applique à cette catégorie de classification. Cette classe donne un débit de 100 Mbps, peu importe la limite de bande passante effective. À utiliser avec parcimonie pour le trafic à extrêmement faible débit qui doit éviter tout retard. Si vous avez trop de circulation assignée à cette classe, alors le trafic des autres niveaux ne sera pas priorisé adéquatement.
Premium : La classe supérieure. Seul le trafic qui requiert la plus haute priorité devrait recevoir cette classification, comme le trafic voix par exemple. Par défaut de liaison et les paquets ICMP entrent dans cette catégorie. Cette classe doit être utilisée avec parcimonie. On ne devrait utiliser cette classification seulement que si la classification de plus basse priorité s’avère insuffisante.
Express : Les applications catégorisées temps réel devrait d’abord essayer cette classification plutôt que Premium. Cette classe est généralement conçue pour les applications interactives telles que messagerie instantanée, SSH, telnet, etc., qui nécessitent une bande passante au-dessus des services standard, de sorte que les applications offrent de bons flux de transmission.
Standard : La classification à défaut. Tout le trafic qui n’est pas spécifiquement classé tombera dans la catégorie standard. La circulation dans cette classe est traitée normalement sauf si le trafic dans les classes supérieures nécessite l’utilisation de la bande passante.
En vrac (Bulk) : Le trafic de faible priorité peut être classé en vrac. Utilisez cette classe pour les services P2P et les services de téléchargement FTP par exemple. Cette classe ne reçoit la bande passante que lors d’autres classifications sont inactives.
La bande passante est allouée sur la base des pourcentages suivants des valeurs montantes et descendantes pour chaque classe :
- Exempt : Ne tiens pas compte des limites globales
- Premium : 75 % à 100 %
- Express : 15 % à 100 %
- Standard : 10 % à 100 %
- En vrac : 1,5 % à 100 %
Pour plus d’information, consultez le site http://www.dd-wrt.com/wiki/index.php/Quality_of_Service
En utilisant l’interface graphique de DD-WRT, commencez la paramétrisation de la QoS avec les valeurs ci-dessous :
Paramètre QoS
- Start QoS : enable
- Port : WAN
- Packet Scheduler : HTB
- Uplink (kbps) : 574
- Downlink (kbps) : 5196
Services Policy
Aucun service spécifique dans mon cas, j’utiliserai plutôt l’adressage IP comme source de trafic pour la priorisation.
Netmask Priority
Pour chaque adresse IP des systèmes traitant la voix, j’associe la catégorie de priorisation « Premium ». J’aurais pu spécifier une plage d’adresse IP avec un masque réseau, représentant les dispositifs faisant partie du VLAN voix, cependant je n’ai aucun VLAN de définit sur mon réseau local. Les adresses IP représentent en fait les éléments communiquant avec l’externe via l’internet « WAN », soit les systèmes suivant : Asterisk, OBI110, MagicJack, ATA, etc.
MAC Priority
Aucune adresse MAC spécifique dans mon cas, j’utilise plutôt l’adressage IP comme source de trafic pour la priorisation.
Ethernet Port Priority
Même si mon routeur offre cette option de priorisation, aucun port spécifique de défini, j’utilise plutôt l’adressage IP comme source de trafic pour la priorisation.
Essais et ajustements
En ce qui me concerne, ces seuls ajustements de paramètres ont réussi à garantir une qualité acceptable et adéquate de la transmission de la voix vers mes fournisseurs de téléphonie Internet.
Vous pouvez vérifier l’efficacité des paramètres utilisés en faisant le test suivant :
- Effectuez un appel vers l’externe en s’assurant qu’un de vos fournisseurs de téléphonie Internet sera l’intermédiaire.
- Constatez la qualité sonore bidirectionnelle et maintenez la communication
- Effectuez un test de connectivité en utilisant le site SpeedTest.
- Constatez que la qualité sonore est toujours au rendez-vous
Afin de vous assurer que le tout est vraiment fonctionnel, activez ou désactivez la QoS en modifiant le paramètre « Start QoS » sous l’interface DD-WRT.
Si les paramètres de QoS que vous avez défini ne semblent pas offrir le comportement désiré, vous devrez peut-être essayer différentes approches et expérimenter un peu. Par exemple, vous pourriez utiliser la priorité d’un service (filtre L7) pour une classification ou encore, vous pourriez modifier les classifications selon des critères plus spécifiques et appropriés.
Enfin la qualité sonore à très peu de frais …
Références
Quality Of Servive DD-WRTDD-WRT Tutorial 4: Defining Priorities with QoS