1 / 26

Qualité de Service sur Linux

Qualité de Service sur Linux. Malik GUILLAUD Nicolas COUTANT. Plan. Problématique Analyse État de l’art Nos Propositions. Contexte. Qualité de Service (QoS) ? Disponibilité Bande Passante Latence Gigue Pertes Exemples. Les problèmes concrets (1/2). Vue générale

tucker
Download Presentation

Qualité de Service sur Linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT

  2. Plan • Problématique • Analyse • État de l’art • Nos Propositions

  3. Contexte • Qualité de Service (QoS) ? • Disponibilité • Bande Passante • Latence • Gigue • Pertes • Exemples

  4. Les problèmes concrets (1/2) Vue générale • gros download/upload ftp (ralentissement général des autres trafics) • les flux multimédia  ex : radio, vidéoconférence, vocal, VoIP • favoriser la réactivité des protocoles interactifs légers  ex : ssh, telnet, http, … • favoriser/limiter des applications spécifiques ex : son serveur web, un jeu, messagerie instantanée

  5. Les problèmes concrets (2/2) Vue réseau • limiter les trafics parasites et gourmands (ex : p2p, recherche de MAJ automatique) • contrôler le partage de la bande passante • control suivant des paramètres précis (ex : adresse/masque IP, utilisateur)

  6. Analyse • Les principaux ordonnanceurs et les architectures d’ordonnancement • Les possibilités du noyau Linux 2.6 • La commande TC

  7. Les Ordonnanceurs

  8. Les Architectures d’ordonnancement (1/2) • Class Based Queuing • Les differents flux sont divisés en classes avec des priorités différentes. • Les autres flux sont envoyés en Best-Effort.

  9. Les Architectures d’ordonnancement (2/2) • Heriarchical Token Bucket • Même principe que pour CBQ (hiérarchisation des flux) mais avec un sceau à jeton comme ordonnanceur.

  10. Les possibilités du noyau Linux 2.6 • Marquage par Netfilter/Iptables : • Grâce à la table mangle, qui permet de marquer n’importe quel paquet passant a travers le Netfilter.

  11. La Commande TC • tc qdisc {add | del} dev INTERFACE root cbq [avpkt AVPKT] [bandwidth BP] [cell CELL] [maxburst MAXBURST] [minburst MINBURST] [minidle MINIDLE] [mpu MPU] [rate RATE] • Les classificateurs : • Fw (Firewall) : suivant le marquage par NetFilter. • U32 : peut lire n’importe quel champ d’un paquet IP. • Route : permet de classer les paquet en fonction de leur numéro de route.

  12. État de l’Art • Les Script de QoS • TCNG (Traffic Control Next Generation)

  13. Les Script de QoS • CBQ.init et HTB.init • Avantage : Puissant, Beaucoup de possibilités • Inconvénient : Complexité de configuration • WonderShaper • Avantage : Simplicité de configuration, « priorisation » de flux interactifs légers (ssh,telnet,…) • Inconvénient : Fonctionnalités limitées

  14. Traffic Control Next Generation (1/2) • Génère, à partir d’un pseudo langage du genre C ou Perl et grâce à un compilateur (TCC), plusieurs formes de commandes TC. • Offre aussi la possibilité de simuler différents trafics (TCSIM).

  15. Traffic Control Next Generation (2/2)

  16. Nos propositions

  17. Les contraintes • Utilisable par des personnes ayant les connaissances de bases en réseau (port, adresse IP, bande passante) • Relativement simple à configurer • Couvre un maximum de besoin en QoS

  18. Architecture et files Quelle architecture choisir ? • Implémentation HTB de l’architecture CBQ - la plus performante - exploite les dernières MAJ du kernel Quelles files d’attentes ?  htb semble être un bon choix…

  19. Schéma général

  20. La classe mère Intégration d’une « pré-hiérarchie  des priorités » : • Forte priorité pour les protocoles interactifs légers : ssh, telnet • Priorité « moyenne » pour http • Priorité « assez faible » pour ftp  Hiérarchie bénéfique dans la très grande majorité des cas

  21. Les classe filles (1/2) • Une classe-fille correspond à un groupe de machines Pour chacun de ses groupes sont à configurer: • les adresses des machines du groupe • les applications spécifiques (ports et/ou adresses destinations) à forte priorité • celles à très faible priorité • la bande passante affectée à ce groupe • éventuellement les attributs unbounded et isolated (par défaut à faux pour optimiser le réseau)

  22. Les classe filles (2/2) • Répond à la plupart des problèmes pouvant se poser • Évolutivité • Assez léger à configurer (un seul fichier et un nombre de variables raisonnable) • Nécessité de connaître tous les ports/adresses destinations des applications à configurer

  23. Hiérarchie des priorités

  24. Partage de bande passante

  25. Test du script • pour les priorités, une simple machine sous linux avec accès à internet • pour un 1er test sur les groupes, une passerelle et une machine cliente • tests poussés: hommel ?

  26. MERCI

More Related