qualité de service sur linux
Post on 05-Jan-2016
33 Views
Preview:
DESCRIPTION
TRANSCRIPT
Qualité de Service sur Linux
Malik GUILLAUD
Nicolas COUTANT
2
Plan
Problématique
La théorie
L’état de l’art
Notre Solution
Conclusion
Problématique
4
CONTEXTE
INTERNET
Passerelle Linux
Sous-réseau 1
Sous-réseau 2
5
Vue générale
Monopolisation de la bande passante– Exemple: upload/download ftp– Handicape fortement tout autre flux
Flux multimédia– VoIP, vidéoconférence, radio, vocal– Débit assuré et faible latence
Protocoles interactifs légers– ssh, telnet, … – http, https, … – Garder une bonne réactivité dans tous les cas
Applications spécifiques– Favoriser / handicaper
6
Vue réseau
Flux parasites– p2p
Gourmand en ressources (nombre de connexions) Gourmand en bande passante
– Spywares, mises à jour intempestives,…
Partage de la bande passante– Équitablement (connexion partagée en résidence)– Selon une stratégie définie
Qualité de Service – La Théorie
8
La Théorie
Définition
Les principaux ordonnanceurs
Les architectures d’ordonnancement
9
Définition
Qualité de service :
L'ensemble des technologies permettant d'assurer la qualité du service réseau, de contrôler la bande passante ou encore d'assigner des priorités aux flux réseau.
La qualité de service désigne avant tout un transfert à débit garanti entre l'émetteur et le récepteur des données, et ce avec des temps d'attente (de latence) réduits au minimum.
10
Définition
Deux approches :
– IntServ (Integrated Services) :Réservation de bout en bout de la bande
passante nécessaire
– DiffServ (Differenciated Services) :Séparation des flux en classes grâce à une
analyse de la trame.
11
Les Ordonnanceurs
12
Les Architectures d’ordonnancement (1/2)
Class Based Queuing– Les différents flux sont divisés en classes avec
des priorités différentes.– Les autres flux sont envoyés en Best-Effort.
13
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.
14
La Qualité de Service sous Linux
Les possibilités du noyau Linux 2.6
La commande TC
Les Scripts et Applications existantes
15
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 grâce à Netfilter.
16
La Commande TC
tc qdisc [ add | change | replace | link ] dev DEV[ parent qdisc-id | root ] [ handle qdisc-id ] qdisc [ qdisc specific parameters ]
tc class [ add | change | replace ] dev DEV parent qdisc-id [ classid class-id ] qdisc [ qdisc specific parameters ]
tc filter [ add | change | replace ] dev DEV [ parent qdisc-id | root ] protocol protocol prio priority filtertype [ filtertype specific parameters ] flowid flow-id
tc [-s | -d ] qdisc show [ dev DEV ] tc [-s | -d ] class show dev DEV tc filter show dev DEV
17
Les Classifieurs
3 classifieurs :– U32
Trouver un champ dans une trame IP
– Fw Suivant le marquage avec Iptables/NetFilter
– Route Suivant le numéro de route dans la table de routage
18
Les Scripts et Applications existants
Les Script de QoS– HTBInit et CBQInit– WonderShaper
Les Applications– TCNG– RCC
19
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,
« prioritisation » de flux internet (http,ftp,…)
– Inconvénients : Fonctionnalités limitées
20
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).
21
Traffic Control Next Generation (2/2)
22
RCC
Très récent (Janvier 2005) Application Client/Serveur écrite en C Configuration Graphique Centralisation des règles de filtrage
Notre Solution
24
CONTRAINTES
Écrire un script bash– Couvrant un maximum de besoins– Simple à configurer (pour un utilisateur de base)– Utilisant les mises à jours du Kernel 2.6
25
PRINCIPE DE NOTRE SOLUTION (1/2)
Réseau découpé en groupes de machines
INTERNET
Passerelle Linux
Sous-réseau 1
Sous-réseau 2
GROUPE 1
GROUPE 2 GROUPE 3
GROUPE 4
26
PRINCIPE DE NOTRE SOLUTION (2/2)
Sous-réseau 1
GROUPE 1Classe mère 1
Classe fille PRIO 1 Classe fille PRIO 2 Classe fille PRIO 3 Classe fille PRIO 4 Classe fille PRIO 5
BANDE PASSANTE:
100 Kbit
Bande passante: 30%
Paquets:dest:tcp/80dest:tcp/110
Bande passante: 20%
Paquets:dest:udp/554
Bande passante: 25%
Paquets:default
Bande passante: 20%
Paquets:icmp
Bande passante: 5%
Paquets:dest:tcp/4661dest:tcp/4662src:tcp/4662
27
CONFIGURATION
Interface & débit montant maximum Configuration de base
– Les classes filles sont configurées par défautPrio1: applications spécifiques à forte prioritéPrio2: ssh, telnetPrio3: http,https,diversPrio4: ftpPrio5: applications spécifiques à faible priorité
– Bande passante repartie équitablement
28
CONFIGURATION
Configuration avancée– Pour chaque classe fille sont configurables:
Le pourcentage de bande passante Les différents trafics (protocole,port,…)
29
CHOIX D’IMPLEMENTATION
Architecture HTB– Permet ce découpage en classe– Implémentation plus puissante que CBQ– Exploite les mises à jour du kernel 2.6
Files d’attente SFQ Classifieur « fw »
– Conjointement avec des règles de filtrage Iptables
Conclusion
31
Conclusion
Bilan– Configuration légère et évolutive– Répond à la plupart des problèmes de QoS
Ce que le projet nous a apporté:– QoS domaine complexe– Compréhension des problèmes liés aux flux
réseaux
MERCI
top related