Vous êtes sur la page 1sur 96

QoS sur IP : IntServ, DiffServ

et MPLS
Qu’est-ce que la QoS ?

Ensemble de techniques permettant de recevoir un


niveau de service prédictible suivant un ou plusieurs
paramètres :

Bande passante,
Perte de paquets,
Gigue …
Pourquoi l’utiliser ?

Criticité business et technique des applications de


plus en plus grandes,

Dimensionnement des réseaux et maîtrise de la


facture associée,

Besoins grandissant de SLA (Service Level


Agreement) entre DSI et directions métiers,

Développement du multimédia, de la VoIP…


Caractéristiques de divers types
d’applications
Type d’application Débit Maîtrise gigue
Disponibilité Temps de réponse
garanti
Transactionnel +++ ++ +++ -
Client / Serveur +++ ++ ++ -
Messagerie ++ +++ + -
Groupware +++ +++ ++ -
Transfert de fichiers ++ ++ + -
Extranet +++ ++ ++ -
Intranet ++ ++ ++ -
Internet + + + -
Multimédia non temps ++ ++ ++ ++
réel
Voix, téléconférence, ++ +++ +++ +++
visioconférence
La QoS sur IP

Protocole très répandu aujourd’hui grâce à sa simplicité,


sa capacité d’intégration,

IP protocole « best effort delivery », peu fiable,

Besoins de QOS grandissant,

Nombreuses propositions de l’IETF depuis 1989,

2 approches de services préconisées aujourd’hui :


IntServ et Diffserv.
IntServ

 L’IETF définit trois classes de services :

Les services garantis reposant sur la


réservation de ressources,

Les services contrôlés s’appuyant les


contrôles de flux,

Les services Best Effort correspondant au


fonctionnement de base d’IP.
Services garantis et RSVP

RSVP (Ressource reServation Protocol) : protocole


de signalisation qui renseigne les éléments
d’interconnexion sur les spécificités des flux de
données qui leur seront envoyés,

Réservation faite par les éléments


d’interconnexion possédant la fonctionnalité RSVP,

Demande de QOS faite par le récepteur.


Services garantis : Principe de réservation

Chemin établi par émetteur

Réservation par récepteur(s)


Contenu des requêtes et des messages

PATH
ADSPEC : informe des débits et délais disponibles
au nœud courant sur le chemin donné,
l’initiateur d’une réservation y insère ses propres
informations de capacité.

RESV
FlowSpec : définit la QOS retenue,
FilterSpec : description du flot.
Format général d’un message RSVP
Version Flags RSVP Type Checksum

Longueur du message Réservé

Identificateur du message

Réservé Plus de Position du fragment


fragments
Message RSVP

4 bits de flags réservés pour utilisation ultérieure


Type du message :
1. Path message
2. Reservation message
3. Error indication in response to path message
4. Error indication in response to reservation message
5. Path teardown message
6. Reservation teardown message
Principaux objets du message RSVP
N° Objet Type Description

8 STYLE 1 style de réservation

9 FLOWSPEC 1 flowspec requiert délai borné

2 flowspec requiert QoS


3 flowspec requiert QoS garantie
254 flowspec de plusieurs flots non mélangés
10 FILTER_SPEC 1 spec filtre sur flot pour réseau de type IPV4

2 spec filtre de type IPV6 utilisant le port source


3 spec filtre de type IPV6 utilisant l'étiquette de flot
11 SENDER_TEMPLATE 1 description de flot par émetteur pour IPV4

2 description de flot par émetteur pour IPV6


12 SENDER_TSPEC 1 description de trafic généré par l'émetteur

13 ADSPEC 1 déclaration d'info par émetteur et nœuds


traversés
Services contrôlés : contrôle de flux

Objectif : temps de passage des flots dans le


réseau identique à ceux d’une classe best-effort dans
un réseau très peu chargé.

Mécanismes utilisés :
GqoS Winsock2,
WQF (Weighted Fair Queuing),
Virtual Clock,
SCFQ (Self-clocked Fair Queing)
IntServ en bref

Problème de scalabilité :
- IntServ agit sur des flots individuels, les
éléments d’interconnexion gardent en
mémoire les caractéristiques de chaque flot,
- Lourdeur des traitements (nombreux
paramètres)

Plus adapté au réseau de petite taille


Pourquoi DiffServ ?

Les services différenciés :


Qualité de service par classe par opposition à celle
par flux,

normalisation de cette approche décrite dans les


RFC 2474 et 2475,

Les services différenciés peuvent être offerts par


un ensemble de routeurs formant un domaine.
Le modèle DiffServ

Ses caractéristiques :
S’appuie sur le champ TOS ou COS de l’en-tête d’un
datagramme IP,

Traitement différencié de chaque paquet ou classe


de paquet,

Pas d’utilisation de protocole de signalisation,

La QoS de DiffServ est appliquée de bout en bout,


sur les réseaux LAN et WAN.
Le modèle DiffServ

Ses fonctions :
Classification du trafic par application/réseau,

Marquage des paquets,

Régulation du trafic (lissage et policing),

Gestion des files d’attente par classe et par flux.


Identification de la classe d’un paquet

 Chaque classe est identifiée par une valeur codée dans


l’en-tête d’un datagramme IP :
Champ Type Of Service pour IPv4

Champ Class Of Service pour IPv6

 Ce champ a été redéfini par l’IETF en champ DS et


code la valeur de la classe de service :
DSCP (Differentiated Service Code Point).
Principe du DSCP
Il identifie le traitement que le paquet doit recevoir.

Il est codé en utilisant 6 des 8 bits du champ TOS ou COS


de l’en-tête du datagramme IP.
IP Header

TOS Payload (Charge utile)

7 6 5 4 3 2 1 0

Classe de trafic Priorité Bits


inutilisés
Differenciated Services Code Point
(DSCP)
Les classes de service de DiffServ
Les classes de service de DiffServ
Les classes de service de DiffServ

 DiffServ définit 4 classes de service :

Best Effort

Default Forwarding

Expedited Forwarding

Assured Forwarding
Architecture du modèle DiffServ

Edge Router
Edge Router

Core Routers

BB
Architecture du modèle DiffServ :
Edge Router

BE
Meter

In
AF Marker
Meter
Out
Classifier
MF/BA

In
EF Marker
Meter
Out
Architecture du modèle DiffServ :
Core Router

BE

AF

Classifier
EF

BA
Conclusion

Rappels IntServ / DiffServ,

Existence de solutions hybrides,

Développement de MPLS.
2016

Sommaire
• Rappels sur le routage IP
• La commutation de labels
• Présentation de l’architecture MPLS
• Applications de MPLS
• Extension et évolutions de MPLS
2016

Rappel du sommaire
 Rappels sur le routage IP
• La commutation de labels
• Présentation de l’architecture MPLS
• Applications de MPLS
• Extension et évolutions de MPLS
Rappels sur le routage IP
• IP est un protocole niveau 3, non connecté et best-effort
• Protocoles de routage IGP (RIP, OSPF…) et EGP (BGP)
• Chaque routeur possède une table de routage
• Réseau de destination
• Interface de sortie
• Prochain routeur (hop-by-hop)

2016
Rappels sur le routage IP
• A l’arrivée d’un paquet sur un routeur celui-ci:
• Stocke le paquet et le réexpédie (store and forward)
• Route sur le next hop en fonction de sa table de routage
• Fragmente et traite les options

• Cette méthode présente plusieurs inconvénients


• Coûteuse en ressources machine
• Effectuée à chaque routeur intermédiaire
• Ne permet pas de faire de la QoS

2016
2016

Rappel du sommaire
 Rappels sur le routage IP
 La commutation de labels
• Présentation de l’architecture MPLS
• Applications de MPLS
• Extension et évolutions de MPLS
La commutation de labels
• Mélanger les avantages du routage IP et ceux de la commutation
(ATM par exemple)
• Un Label est un petit paquet de données entre la couche 2 et 3 de
l’OSI
• Les opérations d’insertion / suppression de labels sont effectués à
l’entrée du réseau et en sortie
• Les équipements du cœur de réseau se contentent de commuter en
fonction de leur table

2016
La commutation de labels

2016
2016

Rappel du sommaire
 Rappels sur le routage IP
 La commutation de labels
 Présentation de l’architecture MPLS
• Applications de MPLS
• Extension et évolutions de MPLS
Présentation de l’architecture MPLS
• Standardisé par l’IETF sous la RFC 3031
• Basée sur la commutation de labels
• Objectifs :
• Diminuer les délais de traitement des datagrammes
• Fournir une couche de services supplémentaires à IP
• Flexible car ne dépend pas d’une technologie particulière (ATM,
Frame Relay …)
• Un réseau MPLS est appelé « nuage »

2016
Présentation de l’architecture MPLS

2016
Définition de l’architecture
• Label Edge Router (LER) : Chargé d’insérer les labels dans les paquets
et les retirer
• Label Switch Router (LSR) : Réalise l’échange de labels en fonction de
sa table LIB (Label Information Base)
• Label Switched Path (LSP) : Chemin emprunté par tous les paquets
« labelisés »
• Label Information Base (LIB) : Table pour la commutation contenue
dans chaque noeud
Définition de l’architecture

• Penultimate Hop Popping : L’avant dernier


commutateur dépile le label

2016
Les labels
EN-TETE L2 LABEL EN-TETE L3

LABEL EXP STACK TTL

• Label (20 bits) : valeur numérique du label


• EXP (3 bits) : utilisé dans pour les Classes Of Service
• Stack (1 bit) : Permet d’empiler les labels (0 = empilement, 1 =
dernier label)
• TTL : Recopie du TTL IP

2016
Les labels
• Un label « mappe » une Forwarding Equivalence Classes (FEC).
• Une FEC peut être définie selon une adresse de réseau, une adresse
unicast …
• Tous les paquets d’une même FEC suivent le même chemin
• La FEC est définie seulement à l’entrée du nuage MPLS
• L’IGP sert à sélectionner le meilleur mapping pour chaque FEC

2016
Les labels

VPI / VCI DATA ATM

DLCI DATA FR

L2 SHIM L3 PPP ETHERNET HDLC

2016
L’échange de labels
• Plusieurs protocoles de diffusion de labels
• Label Distribution Protocol (LDP)
• Constraint Routing LDP (Extension TE)
• RSVP
• Tag Distribution Protocol (TDP, protocole CISCO)
• Mode downstream on demand ou Unsolicited downstream
• Rétention « conservative » ou « libérale » des labels

2016
L’échange de labels (LDP)

2016
Label Switched Paths
• Routage hop-by-hop ou implicit : Chaque LSR choisit
indépendamment le saut suivant pour une FEC via l’IGP
• Explicit routing : Source routing, le premier LSR détermine la liste des
LSR à suivre pour une FEC donnée
• LSPs sont unidirectionnels, le chemin retour est indépendant de l’aller

2016
Label Switched Path

2016
2016

Sommaire
• Rappels sur le routage IP
• La commutation de labels
• Présentation de l’architecture MPLS
 Applications de MPLS
• Extension et évolutions de MPLS
Applications de MPLS
• Mode connecté fourni par MPLS à la couche IP
• Plusieurs services proposés :
• Support de la qualité de service QoS
• Traffic Engineering
• VPNs
• Outil de transition vers IPv6 (architecture 6PE)

2016
QoS
• Utilisation de Resource Reservation Protocol (RSVP-TE) ou Constraint
Based Routing LDP (CR-LDP)
• DiffServ et IntServ complémentaires :
• IntServ utilisé en entrée du réseau pour sa forte granularité
• DiffServ dans le cœur du nuage (agrégat de flux et limitation de la
signalisation)

2016
QoS

• DiffServ définit des Per Hop Behaviors (PHB)


• Champ EXP du label sur 3 bits -> 8 PHBs (E-LSP)
• Supérieur à 8 PHBs -> utilisation du label + EXP (L-LSP)

2016
Traffic Engineering
• Gestion du trafic pour l’orienter où il y a de la bande passante (load
balancing)
• Utilisation couplée de LDP / RSVP
• Utilisation impérative de l’explicit routing
• Priorisation des LSP
• CSPF permet de construire une topologie contrainte

2016
VPN
• Terminologie différente :
• Customer Edge (CE) désigne le routeur côté client
• Provider Edge (PE) désigne le routeur d’accès qui gère les différents VPNs
• Provider Device (P) désigne l’équipement de cœur qui effectue la
commutation
• Association d’une VPN Routing Forwarding (VRF) à chaque interface
client
• Diffusion des routes du CE vers le PE (RIP, OSPF ou eBGP)

2016
VPN

2016
2016

Sommaire
• Rappels sur le routage IP
• La commutation de labels
• Présentation de l’architecture MPLS
• Applications de MPLS
 Extension et évolutions de MPLS
Extensions du MPLS
• Generalized Multi Protocol Label Switching (GMPLS) pour étendre
MPLS aux réseaux optiques
• Virtual Private LAN Services (VPLS) pour la gestion de VPNs multipoint
de niveau 2
• Découpler les technologies du cœur de réseau des accès
• Pas de gestion de table de routage sur les PE

2016
Migration IP vers MPLS
• Posséder un IGP supporté (OSPF ou IS-IS) ou BGP
• Activer le MPLS pour 1 routeur sur 2 en production (effet du PHP)
• Une fois que chaque site est raccordé au backbone, établir l’adjacence
dans le cœur MPLS

2016
Conclusion
• MPLS offre des services orientés connexion à l’IP
• Supporte de nombreux protocoles
• Voué à l’évolution pour les réseaux nouvelle génération
• Met en jeu des notions de routage parfois complexes

2016
Ethernet
Spanning Tree Protocol (STP)
La redondance

• Augmente la fiabilité avec un lien de secours.

• Si un lien est défaillant, un lien redondant prend la


relève.

• Coût supplémentaire :
• Est ce que la fiabilité ajouté au réseau compense le coût de
matériel ?
Topologies redondantes

• Ali peut joindre Farid via 2


chemins

• Si le lien entre le hub et le SYST RPS


1 2 3 4 5 6 7 8 9 10 11
10Base-T/100Base-TX
12 13 14 15 16 17 18 19 20 21 22 23 24
Catalyst 2950 SERIES
A 100Base-FX B

switch B casse il reste une


STRT UTIL DUPLXSPEED

MODE

Switch A

alternative 1
1

10Base-T/100Base-TX Catalyst 2950 SERIES


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 A 100Base-FX B
SYST RPS

STRT UTIL DUPLXSPEED

MODE

2 Switch B
00-90-27-76-96-93
Host
Host Kahn
Ali

00-90-27-76-5D-FE
Host
HostBaran
Farid
Topologies redondantes
Problème :
• Ali envoie un broadcast ARP pour
obtenir l’adresse MAC de Farid

• La trame est diffusé par Ali, et tous 1 2 3 4 5 6 7 8 9 10 11


10Base-T/100Base-TX
12 13 14 15 16 17 18 19 20 21 22 23 24
Catalyst 2950 SERIES
A 100Base-FX B

les ports des switchs A et B


SYST RPS

STRT UTIL DUPLXSPEED

MODE

Switch A
Broadcast ARP
Destination :FF-FF-FF-FF-FF-FF
Quel est l’adresse MAC de 10.0.0.2 ? Tempête de
Broadcast !!!!

10Base-T/100Base-TX Catalyst 2950 SERIES


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 A 100Base-FX B
SYST RPS

STRT UTIL DUPLXSPEED

MODE

Switch B
00-90-27-76-96-93
HostAli
Host Kahn
10.0.0.1
10.1.1.1
00-90-27-76-5D-FE
Host
Host Baran
Ali
10.0.0.2
10.1.1.14
Le protocole Spanning-Tree
• Standard IEEE 802.1D

• Échange de BPDU*

• Par défaut les liaisons ont des coûts :

* Bridge Protocol Data Unit


Le protocole Spanning-Tree (suite)
• But de STP :
• Éviter les boucles de commutations
• Garder une tolérance de pannes

• Moyens utilisés :
• Établir un arbre unique de chemins
• Supprimer les boucles de commutation
• Garder des liens redondants (backup)
Fonctionnement de STP
 Élection du pont racine  root bridge
 fondé sur la priorité de pont et sur l’adresse MAC (Bridge ID)
 priorité la plus faible est élu
 sinon, adresse MAC la plus faible

 Chaque commutateur calcule le coût vers le root


bridge, élection du port racine  root port
 coût le plus faible est élu
 coût basé sur la bande passante

 Élections de ports désignés ou les ports bloqués 


designated port et blocked port
Identification de commutateur

Bridge ID (BID)
Priorité
+
Adresse MAC

Commutateur A
Élection du Root Bridge

Commutateur B

BPDU

Commutateur A Commutateur C

BPDU
Désignation des ports

Commutateur B

19 4
BPDU

4
Commutateur A Commutateur C
RACINE
BPDU
Désignation des ports (suite)

B
PDUd
elaRac
ine
aumo
in
dr
e c
oût
R
oo
tpo
rt D
es
ig
nate
dpo
rt

S
witc
hX
Exemple
• Port 1 est éteint - pourquoi ?
10Base-T/100Base-TX Catalyst 2950 SERIES
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 A 100Base-FX B
SYST RPS

STRT UTIL DUPLXSPEED

MODE

Switch A
Bridge-ID = 32768-00:0C:3E:A2:45:21

10Base-T/100Base-TX Catalyst 2950 SERIES


SYST RPS
1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 A 100Base-FX B

STRT UTIL DUPLXSPEED

MODE

Switch B
00-90-27-76-96-93 Bridge-ID = 32768- 00:0C:3E:A2:45:FF
Host Kahn
10.0.0.1
00-90-27-76-5D-FE
Host Baran
10.0.0.2
Les différents états STP

• Blocking : Aucune trames transmises, unités BPDU reçue

• Listenning : Aucune trames transmises, écoute de trames

• Learning : aucune trames transmises, acquisition des informations

• Forwarding : trames transmises, acquisition des informations

• Disabled : aucune émission, aucune écoute de trames BPDU


Convergence STP
• Afin de communiquer, STP utilise des BPDU
• Les BPDU Hello sont transmise toute les 2 secondes

• Protocole STP:
• Branchement d’un nouveau switch
• Le port s’active, le protocole STP se met en marche
• Max age (20 secondes) Temps de sécurité à attendre en cas de changement
topologique
• Listenning (15 secondes) Temps pour que le commutateur écoute les trames qu’il
peut recevoir, sans émettre
• Learning (15 secondes) Temps pour apprendre les informations de la topologie STP

• Le port met donc 50 secondes à s’initialiser


Convergence STP
 Temps de convergence = 50s :
Blocking
Max-Age = 20 secondes

Listenning

Forward-Delay = 15 secondes

Learning

Forward-Delay = 15 secondes

Forwarding

 Lorsqu'une modification topologique est détectée :


 Arbre STP recalculé
 Trafic stoppé
Mise en marche d’un port

• Une solution possible pour les utilisateurs finaux (end-


users)

• Possibilité d’activer le « port-fast », le port passe alors


directement à la connexion physique en forwarding

• A utiliser avec précaution, ne jamais brancher d’autres


commutateurs ou autres périphériques STP sur ce type de
port.
Exemple
• Pourquoi est ce CAT-A est le
pont racine ?

• Pourquoi les liens marqués


« x » sont bloqués ?

• Problèmes sur le schéma ?


RSTP
• Rapid Spanning Tree Protocol (802.1w)

• 3 états :
• Discarding (blocking, listenning, disabled)
• Learning
• Forwarding

• Plus rapide car :


• Lien invalide quand 3 HELLO ne sont plus reçus (par défaut 6
secondes au lieu du max age 20 secondes)
• Plus de listenning
• Learning amélioré (1 à 2 secondes au lieu de 15)
Exercices
STP

78
Exercice1:
STP algorithme

Etape1: Déterminer le switch Root

Etape2: Déterminer les RootPort sur les autres switchs

Etape3: Déterminer les DesignatedPort sur chaque segment

Etape4: Bloquer les autres ports de cascade

80 80
Etape1: Déterminer le switch Root

Root
Etape2: Déterminer les RootPort sur les autres switchs
Vitesse Coût

10M 100

100M 19

1G 4

10G 2 Root

RP
RP

RP
Etape3: Déterminer les DesignatedPort sur chaque segment
Vitesse Coût

10M 100

100M 19

1G 4

10G 2 Root
DP
DP

DP
RP
RP
DP

RP DP DP

83
Etape4: Bloquer les autres ports de cascade

Root
DP
DP

DP
B
RP

B RP
DP
B
RP DP DP

84
Etat final:

Root
DP
DP

DP
B
RP

B RP
DP
B
RP DP DP

85
Exercice2:

86
Etape1: Déterminer le switch Root

Root

87
Etape2: Déterminer les RootPort sur les autres switchs

Vitesse Coût

10M 100

100M 19 Root
1G 4

10G 2

RP

RP RP

RP

88
Etape3: Déterminer les DesignatedPort sur chaque segment

Vitesse Coût

10M 100

100M 19 Root
DP
1G 4 DP

10G 2 DP

DP RP
DP

DP RP
RP

RP

DP DP

89 89
Etape4: Bloquer les autres ports de cascade

Root
DP
DP
DP
B
B
B DP RP
DP
B B
DP RP
RP

RP

DP DP

90
Etat final:

Root
DP
DP
DP
B
B
B DP RP
DP
B B
DP RP
RP

RP

DP DP

91 91
Commandes
• Sur un Catalyst 29xx :
• Modification de la priorité d’un port :
• Switch_A>enable
• Switch_A#configure terminal
• Switch_A(config)#interface Ethernet N°_d’interface
• Switch_A(config-if)#spanning-tree cost (0 -> 65535)

• Par défaut : le « cost » est calculé en fonction de la bande passante du lien.


Commandes

 Sur un Catalyst 29xx :

 Modification de la priorité d’un commutateur :


 Switch_A>enable
 Switch_A#configure terminal
 Switch_A(config)#spanning-tree priority (0 -> 65535)

 Par défaut : priority = 32768


Commandes
• Sur un Catalyst 29xx :

• Information de Root ID, Brigde ID et interface :


• Switch_A>enable
• Switch_A#show spanning-tree
Commandes
• Sur un Catalyst 29xx :

• Information sur le coût de la liaison d’une interface sur un


commutateur :
• Switch_A>enable
• Switch_A#show spanning-tree interface fastEthernet 0/1
Debugging (ATTENTION)
• Sur un Catalyst 29xx :

• Information en temps réel :


• Switch_A>enable
• Switch_A#debug spanning-tree

• Pour stopper :
• Switch_A#u all(undebug all)