qualité de service dans les réseaux locaux commutés
DESCRIPTION
Qualité de service dans les réseaux locaux commutés. Par Edgard Seif. Encadré par : M. Jean-Charles Grégoire & M. Nicolas Rouhana. 100Mbit/s. 802.1Q. ISP. Objectifs:. Maximiser l’utilisation des ressources sans dégradation de performances. - PowerPoint PPT PresentationTRANSCRIPT
Qualité de service dans les réseaux locaux commutés
Encadré par :
M. Jean-Charles Grégoire & M. Nicolas Rouhana
Par
Edgard Seif
ISP
802.1Q
100Mbit/s
•Maximiser l’utilisation des ressources sans dégradation de performances
•Possibilité d’offrir plusieurs types de services•Premium•Best Effort
Objectifs:
Axes de recherches adoptés par l’INRS
•Simulation : utilisation de NS
•Réalisation d’une maquette : utilisation de plate formes Linux
QoS au niveau de l’Internet
Nécessité !•Croissance explosive du trafique•Émergence d’applications temps réel (ex. Voix sur IP, etc...)•Solution de surdimensionnement du réseaux est inadéquate et insuffisante
• Rentabilité économique• Comportement du réseau
Critères de qualité de service
•disponibilité : taux de perte due aux erreurs bit ou à la congestion
•bande passante : disponible à un flot de données entre la source et la destination
•gigue : variation du délai
•délai : temps qui sépare l’émission d ’un paquet par une source et la réception de ce paquet par le destinataire
•Mécanismes
Où modifier ?
Comment ?
QoS au niveau de l’Internet (suite)
•Nœuds
•Policing
•Scheduling (ex. FIFO, Priority, CBQ, WFQ, etc.)
•Traffic shaping (ex. Token bucket filter, Leaky Bucket)
•Admission control
•Intserv•3 classes de service
•Best Effort le service par défaut•Contoled load : le réseau se comporte comme s’il est peu chargé•Garanteed Service : garantie sur un délai, une gigue et une bande passante suffisante
•RSVP un protocole de signalisation pour la mise en place des réservations tout au long du chemin entre la source et la destination
•l'inconvénient majeur de cette solution c’est qu’elle n’est pas modulaire à la dimension de l'Internet
•Diffserv•Marquage des paquets à l ’entrée du réseau •utilisation du champs TOS nommé DSCP•utilisation de PHB dans le cœur de l'Internet (EF, AFxx, …) •remédie au problème de modularité de Intserv
•MPLS•en plus du tag pour spécifier le point de sortie un champs est proposer pour porte une priorité
DS-Domain 1
DS-Domain 3
DS-Domain 2
La qualité de service au niveau 2
Pourquoi?•la plus part du temps les usager se trouvent connecter a un LAN•pour prendre en considération les ressources disponibles au niveau du LAN•possibilité de faire des réservations•avoir un service préférentiel des trames de haute priorité
•le groupe de travail ISSLL : publications de plusieurs drafts de propositions de mapper la QoS de niveau 3 au niveau 2
La qualité de service au niveau 2 (suite)
•Policing
•Scheduling
•Traffic shaping
•Admission control
•ATM : modèle référence
•CLEP : LAN partagé
TPID TCI
2 Octets2 Octets
TPID : Tag Protocol IdentifierTCI : Tag Control Information
1
user_priority VID
2
Bits :
Octets: 1
814568
CFI
CFI : Canonical Format Indicator
Valeur: 81-00
•802.1q
802.1Q
100Mbit/s
+---------+ .-->| BA |<--. / +---------+ \ / .-->| Layer 2 |<--. \ / / +---------+ \ \ / / \ \ / / \ \ +---------+ / / \ \ +---------+ | App |<----- /-/---------------------------\-\----->| App | +---------+ / / \ \ +---------+ | RM |<----. / \ .--->| RM | +---------+ / +---------+ +---------+ \ +---------+ | Layer 2 |<------>| Layer 2 |<------>| Layer 2 |<------>| Layer 2 | +---------+ +---------+ +---------+ +---------+ RSVP Host/ Intermediate Intermediate RSVP Host/ Router Bridge/Switch Bridge/Switch Router
Bandwidth Manager with centralized Bandwidth Allocator
NS Network Simulator
•Projet en cours: VINT
•Simulation par construction de blocs
•Orienté objet
•Modularité et réutilisablilite du code
* Réception d ’une trame
* Retarder la trame( temps de commutation
ou de transit)
Vérification du type de la trame
Destinataire local
Type du MACdu destinataire
* Décapsuler la trame* Retarder
* Émission de la tramesur la bonne interface réseau
Fin
Destinataire local
* Émission de la tramesur le bon lien
* Encapsuler la trame* Retarder
oui non
* Émission de la tramesur la bonne interface réseau
ouinon
802.1Q 802.3
802.1Q802.3
Diagramme de fonctionnement du commutateur
VID Classifier
entry_
Switch entry
LinkLink
Hash Classifier
Delay
Queue802.1Q
Classifier
Mac Classifier
Port Classifier AgentEncapsulate
VID Classifier
Port Classifier
AgentDecapsulate
Mac Classifier
To Channels
To Channels
Null/Agent
Null/Agent
Frames from local Encapsulate/
Decapsulate Agent
VarpTable
VLanRouter
Node List
VID List
ID
hash_ 802_1q_
mac2_
mac1_
demux1_
demux2_
vid1_
vid2_
delay_
Channel
PHY
Mac
Ifq_
LL
NetIface
Node
entry_
Switch entry
LinkLink
Hash Classifier
Delay
QueueHash
Classifier
Port Classifier
AgentEncapsulate
AgentDecapsulate
To Channels
Null/Agent
Frames from local Encapsulate/
Decapsulate Agent
VarpTable
VLanRouter Node List
VID List ID
hash1_ hash2_
demux_
delay_
•travail sur Linux
•le contrôle de trafic
Input de-multiplexing
Upper layers (TCP, UDP,…)
Output queuingForwarding
Traffic control
FilterClass Queuing discipline
Filter
Filter Class Queuing discipline
Queuing discipline
Filter ‘ high ’ TBF, rate = 1 Mbps
‘ low ’ FIFO
Queuing discipline with 2 priority
Default
•Exemples de files d’attentes dans Linux
•configuration des files d’attentes,des classes et des filtres avec tc
•usage: tc [OPTIONS] OBJECT {COMMAND | help}
OBJECT = { qdisc | class | filter }
OPTIONS = {-s [statistics] | -d [details] | -r [raw] }
qdisc = { [p|b]fifo | prio | red | gred | cbq | tbf | sfq | etc.}
class = { prio | cbq | etc.}
filter = { rsvp | u32 | fw | route | etc.}
Testes et résultats
La topologie des testes
A BA B
C
Les générateurs de trafic
•NTTCP
•génération de trafic à débit constant ou exponentiel
•le protocole de transport est TCP ou UDP
•donne les résultats à la fin d ’une session
•MGEN
•génération de trafic unicast et multicast à débit constant
•UDP est le protocole de transport
•drec est utilise comme puits de trafic
•mcalc donne le débit, le délai et la gigue
N.B. Synchronisation des machines avec NTPdans le cas de génération de trafic avec mgen
Testes et résultats
Testes avec nttcp: (Processeur 500Mhz ) Bande passante : Débit du générateur Protocole Taille 2Mbps 1.9 Mbps TCP 1000 bits Seul1Mbps 0.37Mbps UDP 1000 bits Seul 10Mbps 9.2 Mbps TCP 1000 bits Seul10Mbps 0.37Mbps UDP 1000 bits Seul 100Mbps 96 Mbps TCP 1000 bits Seul100Mbps 92Mbps UDP 1000 bits Seul
2Mbps 1.9 Mbps TCP 1000 bits1Mbps 0.49Mbps UDP 1000 bits 1Mbps 0.19Mbps UDP 1000 bits1Mbps 0.19Mbps UDP 1000 bits (Processeur 133Mhz) 100Mbps 57.3 Mbps TCP 1000 bits Seul100Mbps 227Mbps UDP 1000 bits Seul 2Mbps 1.9 Mbps TCP 1000 bits Seul
1Mbps 0.12Mbps UDP 1000 bits Seul
} ensemble
} ensemble
Testes et résultats
Débit du trafic généré
en Mbps
Débit du trafic reçu en Mbps
Délai moyen en
ms
Gigue maximale
en ms
Duréedu test en sec
0.25 0.25 <1 1 2 00.5 0.5 1 2 2 01 1 1 3 2 02 2 3 5 2 03 3 99 194 2 04 2.6 297 219 2 22325 2.6 256 303 2 4779
0.25 0.25 <1 1 3 00.5 0.5 1 3 3 01 1 1 3 3 02 2 3 12 3 03 3 82 160 3 04 2.6 275 230 3 36935 2.4 258 288 3 7226
Nombre de paquets
perdus
Débit Débit moyen Délai moyen Gigue maximale Durée du test Nombre de du Trafic généré du trafic reçu en ms en ms en sec paquets perdu
en Kbps en Kbps
50 50 <1 <1 2 0100 100 <1 <1 2 0150 150 <1 1 2 0200 200 3 10 2 0225 135 163 1.4s 2 0250 96 600 3.3s 2 0260 37 1.5s 11.4s 2 0280 66 1.15s 6.05s 2 30300 70 1.05s 7.5s 2 70
50 50 <1 <1 3 0100 100 <1 <1 3 0150 150 <1 1 3 0200 200 4 10 3 0225 180 170 811 3 0
Bande passante limitée à 250 Kbps en utilisant CBQ
Testes et résultats
Débit Débit moyen Délai moyen Gigue maximale Durée du test Nombre de 3 flots simultanés du Trafic généré du trafic reçu en ms en ms en sec paquets perdu
en Kbps en Kbps
flots 1, 2 et 3 25.6 25.6 <1 <1 5 0 flots 1, 2 et 3 51.2 51.2 1 1 5 0
1er flots 76.8 72 223 34 5 02eme flots 76.8 54.5 260 640 5 03eme flots 76.8 9.9 1.5s 3.9s 5 0
Bande passante limitée à 250 Kbps en utilisant CBQ
veth_TCI = dev->vlan_dev->vlan_id;veth_TCI |= ((skb->priority << 8) & 0xE000) ;
BE 000000xxAF11 001010xxAF12 001100xxAF13 001110xxAF21 010010xxAF22 010100xxAF23 010110xxAF31 011010xxAF32 011100xxAF33 011110xxAF41 100010xxAF42 100100xxAF43 100110xxEF 101110xxCONTROL 11x000xx
Implémentation d’un tableau de correspondance pour effectuer cette tâche
Solution simple pour mapper le DSCP sur les 3 bits du user_priority
101110xx
101110xxxxxxxxxx&111000000000000
101000000000000Ouxxxx11000111000
101x11000111000
Priorité dans les trames 802.1q