32
Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT

Qualité de Service sur Linux

  • Upload
    yair

  • View
    29

  • Download
    2

Embed Size (px)

DESCRIPTION

Qualité de Service sur Linux. Malik GUILLAUD Nicolas COUTANT. Plan. Problématique La théorie L’état de l’art Notre Solution Conclusion. Problématique. CONTEXTE. Vue générale. Monopolisation de la bande passante Exemple: upload/download ftp Handicape fortement tout autre flux - PowerPoint PPT Presentation

Citation preview

Page 1: Qualité de Service sur Linux

Qualité de Service sur Linux

Malik GUILLAUD

Nicolas COUTANT

Page 2: Qualité de Service sur Linux

2

Plan

Problématique

La théorie

L’état de l’art

Notre Solution

Conclusion

Page 3: Qualité de Service sur Linux

Problématique

Page 4: Qualité de Service sur Linux

4

CONTEXTE

INTERNET

Passerelle Linux

Sous-réseau 1

Sous-réseau 2

Page 5: Qualité de Service sur Linux

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

Page 6: Qualité de Service sur Linux

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

Page 7: Qualité de Service sur Linux

Qualité de Service – La Théorie

Page 8: Qualité de Service sur Linux

8

La Théorie

Définition

Les principaux ordonnanceurs

Les architectures d’ordonnancement

Page 9: Qualité de Service sur Linux

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.

Page 10: Qualité de Service sur Linux

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.

Page 11: Qualité de Service sur Linux

11

Les Ordonnanceurs

Page 12: Qualité de Service sur Linux

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.

Page 13: Qualité de Service sur Linux

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.

Page 14: Qualité de Service sur Linux

14

La Qualité de Service sous Linux

Les possibilités du noyau Linux 2.6

La commande TC

Les Scripts et Applications existantes

Page 15: Qualité de Service sur Linux

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.

Page 16: Qualité de Service sur Linux

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

Page 17: Qualité de Service sur Linux

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

Page 18: Qualité de Service sur Linux

18

Les Scripts et Applications existants

Les Script de QoS– HTBInit et CBQInit– WonderShaper

Les Applications– TCNG– RCC

Page 19: Qualité de Service sur Linux

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

Page 20: Qualité de Service sur Linux

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).

Page 21: Qualité de Service sur Linux

21

Traffic Control Next Generation (2/2)

Page 22: Qualité de Service sur Linux

22

RCC

Très récent (Janvier 2005) Application Client/Serveur écrite en C Configuration Graphique Centralisation des règles de filtrage

Page 23: Qualité de Service sur Linux

Notre Solution

Page 24: Qualité de Service sur Linux

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

Page 25: Qualité de Service sur Linux

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

Page 26: Qualité de Service sur Linux

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

Page 27: Qualité de Service sur Linux

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

Page 28: Qualité de Service sur Linux

28

CONFIGURATION

Configuration avancée– Pour chaque classe fille sont configurables:

Le pourcentage de bande passante Les différents trafics (protocole,port,…)

Page 29: Qualité de Service sur Linux

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

Page 30: Qualité de Service sur Linux

Conclusion

Page 31: Qualité de Service sur Linux

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

Page 32: Qualité de Service sur Linux

MERCI