Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 3803

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>terminologie</title><link href="style.css" rel="stylesheet" type="text/css" /><meta content="DocBook XSL Stylesheets V1.73.2" name="generator" /><link rel="start" href="index.html" title="HOWTO du routage avancé et du contrôle de trafic sous Linux" /><link rel="up" href="ch09.html" title="Chapitre 9. Gestionnaires de mise en file d'attente pour l'administration de la bande passante" /><link rel="prev" href="ch09s03.html" title="Conseils pour le choix de la file d'attente" /><link rel="next" href="ch09s05.html" title="Gestionnaires de file d'attente basés sur les classes" /></head><body><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">terminologie</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ch09s03.html">Précédent</a> </td><th align="center" width="60%">Chapitre 9. Gestionnaires de mise en file d'attente pour l'administration de la 
  bande passante</th><td align="right" width="20%"> <a accesskey="n" href="ch09s05.html">Suivant</a></td></tr></table><hr /></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title"><a id="lartc.qdisc.terminology" />terminologie</h2></div></div></div><p>Pour comprendre correctement des configurations plus compliquées,
il est d'abord nécessaire d'expliquer quelques concepts.
A cause de la complexité et de la relative jeunesse du sujet, 
beaucoup de mots différents sont utilisés par les personnes mais ils
signifient en fait la même chose.
</p><p>Ce qui suit est lâchement inspiré du texte
<code class="filename">draft-ietf-diffserv-model-06.txt</code>,
<em class="citetitle">An Informal Management Model for Diffserv Routers</em>.
Il peut être trouvé à l'adresse 
<a class="ulink" href="http://www.ietf.org/internet-drafts/draft-ietf-diffserv-model-04.txt" target="_top">
http://www.ietf.org/internet-drafts/draft-ietf-diffserv-model-04.txt
</a>.
</p><p>Lisez-le pour les définitions strictes des termes utilisés.
</p><div class="variablelist"><dl><dt><span class="term">Gestionnaire de mise en file d'attente (qdisc)
  (<em class="wordasword">Queueing Discipline</em>)</span></dt><dd><p>Un algorithme qui gère la file d'attente d'un périphérique,
    soit pour les données entrantes (<em class="wordasword">ingress</em>),
    soit pour les données sortantes (<em class="wordasword">egress</em>).
    </p></dd><dt><span class="term">Gestionnaire de mise en file d'attente sans classes
  (<em class="wordasword">Classless qdisc</em>)</span></dt><dd><p>Un gestionnaire de mise en file d'attente qui n'a pas
    de subdivisions internes configurables.
    </p></dd><dt><span class="term">Gestionnaire de mise en file d'attente basé sur des classes
  (<em class="wordasword">Classful qdisc</em>)</span></dt><dd><p>Un gestionnaire de mise en file d'attente basé sur des classes 
    contient de multiples classes. Certaines de ces classes contiennent un 
    gestionnaire de mise en file d'attente supplémentaire, qui peut encore
    être basé sur des classes, mais ce n'est pas obligatoire.
    Si l'on s'en tient à la définition stricte, 
    <code class="literal">pfifo_fast</code> <span class="emphasis"><em>EST</em></span> basé sur des
    classes, dans la mesure où il contient trois bandes, qui sont en fait des
    classes.
    Cependant, d'un point de vue des perspectives de configuration pour
    l'utilisateur, il est sans classes dans la mesure où ces classes ne
    peuvent être modifiées avec l'outil <span class="command"><strong>tc</strong></span>.
    </p></dd><dt><span class="term">Classes</span></dt><dd><p>Un gestionnaire de mise en file d'attente basé sur les classes peut avoir beaucoup 
    de classes, chacune d'elles étant internes au gestionnaire. Une classe
    peut à son tour se voir ajouter plusieurs classes. Une classe peut donc
    avoir comme parent soit un gestionnaire de mise en file d'attente, soit
    une autre classe.

    Une classe terminale est une classe qui ne possède de classes enfants.
    Seul 1 gestionnaire de mise en file d'attente est attaché à cette
    classe. Ce gestionnaire est responsable de l'envoi des données de
    cette classe. Quand vous créez une classe, un gestionnaire de mise en
    file d'attente fifo est créé. Quand vous ajoutez une classe enfant, ce
    gestionnaire est supprimé.
    Le gestionnaire fifo d'une classe terminale peut être remplacé par un
    autre gestionnaire plus adapté. Vous pouvez même remplacer ce
    gestionnaire fifo par un gestionnaire de mise en file d'attente basé
    sur des classes de sorte que vous pourrez rajouter des classes
    supplémentaires.
    </p></dd><dt><span class="term">Classificateur
  (<em class="wordasword">Classifier</em>)</span></dt><dd><p>Chaque gestionnaire de mise en file d'attente basé sur des classes
    a besoin de déterminer vers quelles classes il doit envoyer un paquet.
    Ceci est réalisé en utilisant le classificateur.
    </p></dd><dt><span class="term">Filtre 
  (<em class="wordasword">Filter</em>)</span></dt><dd><p>La classification peut être réalisée en utilisant des filtres.
    Un filtre est composé d'un certain nombre de conditions qui, 
    si elles sont toutes vérifiées, satisfait le filtre.
    </p></dd><dt><span class="term">Ordonnancement 
  (<em class="wordasword">Scheduling</em>)</span></dt><dd><p>Un gestionnaire de mise en file d'attente peut, avec l'aide d'un 
    classificateur, décider que des paquets doivent sortir plus tôt que 
    d'autres. Ce processus est appelé ordonnancement 
    (<em class="wordasword">scheduling</em>), et est réalisé par exemple par le
    gestionnaire <code class="literal">pfifo_fast</code> mentionné plus tôt.
    L'ordonnancement est aussi appelé « <span class="quote">reclassement</span> »
    (<em class="wordasword">reordering</em>), ce qui peut prêter à confusion.
    </p></dd><dt><span class="term">Mise en forme 
  (<em class="wordasword">Shaping</em>)</span></dt><dd><p>Le processus qui consiste à retarder l'émission des paquets sortants
    pour avoir un trafic conforme à un débit maximum configuré.
    La mise en forme est réalisée sur <em class="wordasword">egress</em>.
    Familièrement, rejeter des paquets pour ralentir le trafic est également 
    souvent appelé Mise en forme.
    </p></dd><dt><span class="term">Réglementation 
  (<em class="wordasword">Policing</em>)</span></dt><dd><p>Retarder ou jeter des paquets dans le but d'avoir un trafic restant
    en dessous d'une bande passante configurée.
    Dans Linux, la réglementation ne peut que jeter un paquet, et non
    le retarder dans la mesure où il n'y a pas de « <span class="quote">file d'attente 
    d'entrée</span> » (<em class="wordasword">ingress queue</em>).
    </p></dd><dt><span class="term"><em class="wordasword">Work-Conserving</em></span></dt><dd><p>Un gestionnaire de mise en file d'attente 
    <em class="wordasword">work-conserving</em> délivre toujours un paquet s'il y
    en a un de disponible. En d'autres termes, il ne retarde jamais un paquet
    si l'adaptateur réseau est prêt à l'envoyer (dans le cas du gestionnaire
    <em class="wordasword">egress</em>).
    </p></dd><dt><span class="term"><em class="wordasword">non-Work-Conserving</em></span></dt><dd><p>Quelques gestionnaire de mise en files d'attente, comme par exemple
    le <em class="wordasword">Token Bucket Filter</em>, peuvent avoir besoin de 
    maintenir un paquet pendant un certain temps pour limiter la bande 
    passante. Ceci signifie qu'ils refusent parfois de libérer un paquet, bien
    qu'ils en aient un de disponible.
    </p></dd></dl></div><p>Maintenant que nous avons défini notre terminologie, voyons où tous ces
éléments sont situés.
</p><p>
<pre class="screen">                Programmes Utilisateurs
                     ^
                     |
     +---------------+-------------------------------------------+
     |               Y                                           |
     |    -------&gt; Pile IP                                       |
     |   |              |                                        |
     |   |              Y                                        |
     |   |              Y                                        |
     |   ^              |                                        |
     |   |  / ----------&gt; Transmission -&gt;                        |
     |   ^ /                           |                         |
     |   |/                            Y                         |
     |   |                             |                         |
     |   ^                             Y            /-qdisc1-\   |
     |   |                          Classificateur /--qdisc2--\  |
  ---&gt;-&gt;Gestionnaire de mise        de sortie      ---qdisc3---- | -&gt;
     |  en file d'attente           (Egress)       \__qdisc4__/  |
     |  d'entrée (Ingress)                          \-qdiscN_/   |
     |                                                           |
     +-----------------------------------------------------------+
</pre>

Merci à Jamal Hadi Salim pour cette représentation ASCII.
</p><p>Le grand rectangle représente le noyau.
La flèche la plus à gauche représente le trafic du réseau entrant dans votre 
machine. Celui-ci alimente alors le gestionnaire de mise en file d'attente 
Ingress qui peut appliquer des filtres à un paquet, et décider de le supprimer.
Ceci est appelé « <span class="quote">réglementation</span> » 
(<em class="wordasword">Policing</em>).
</p><p>Ce processus a lieu très tôt, avant d'avoir beaucoup parcouru le noyau.
C'est par conséquent un très bon endroit pour rejeter au plus tôt du trafic,
sans pour autant consommer beaucoup de ressources CPU. 
</p><p>Si le paquet est autorisé à continuer, il peut être destiné à une 
application locale et, dans ce cas, il entre dans la couche IP pour être 
traité et délivré à un programme utilisateur.
Le paquet peut également être transmis sans entrer dans une application et 
dans ce cas, être destiné à <em class="wordasword">egress</em>.
Les programmes utilisateurs peuvent également délivrer des données, qui sont
alors transmises et examinées par le classificateur 
<em class="wordasword">Egress</em>.
</p><p>Là, il est examiné et mis en file d'attente vers un certain nombre de
gestionnaire de mise en file d'attente. Par défaut, il n'y a qu'un seul
gestionnaire <em class="wordasword">egress</em> installé, 
<code class="literal">pfifo_fast</code>, qui reçoit tous les paquets. 
Ceci correspond à « <span class="quote">la mise en file d'attente</span> » 
(<em class="wordasword">enqueueing</em>).
</p><p>Le paquet réside maintenant dans le gestionnaire de mise en file 
d'attente, attendant que le noyau le réclame pour le transmettre à travers 
l'interface réseau.
Ceci correspond au « <span class="quote">retrait de la file d'attente</span> »
(<em class="wordasword">dequeueing</em>).
</p><p>Le schéma ne montre que le cas d'un seul adaptateur réseau.
Les flèches entrantes et sortantes du noyau ne doivent pas être trop prises 
au pied de la lettre.
Chaque adaptateur réseau a un gestionnaire d'entrée et de sortie.
</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ch09s03.html">Précédent</a> </td><td align="center" width="20%"><a accesskey="u" href="ch09.html">Niveau supérieur</a></td><td align="right" width="40%"> <a accesskey="n" href="ch09s05.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">Conseils pour le choix de la file d'attente </td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%"> Gestionnaires de file d'attente basés sur les classes</td></tr></table></div></body></html>