QoS BGP
QoS BGP
QoS BGP
Bénédicte LE GRAND
Prométhée SPATHIS
Plan
• Introduction
– Qu’est-ce que la QoS?
– Le besoin de QoS
Qualité
Qualité de Service dans les réseaux IP • QoS : boîte à outils
– Classification, conditionnement de trafic, files
d’attente …
– Différentes approches pour la QoS
• QoS garantie vs différenciée
• Architectures de QoS
– Integrated Services (IntServ) et RSVP
– Differentiated Services (DiffServ)
Contexte
• Objectifs
– Gérer la contention
– En mode Best Effort : fair share
– En service garanti : honorer les garanties de performance
• Isolation et partage
Qu’
Qu’est-
est-ce que la QoS ? Qu’
Qu’est-
est-ce que la QoS ?
• QoS (Qualité de Service) = attribut du service fourni par • La QoS peut être évaluée selon différents critères:
le réseau – Bande passante
– Un réseau peut fournir différents modèles de service – Délai :
– Délai de bout-en-bout
– Le client et l’opérateur réseau négocient un SLA (Service Level
Agreement) basé sur des modèles de service rédéfinis – Variation du délai de bout-en-bout
– Intégrité des données :
• QoS ≠ Performance – Taux de perte de paquets
– Taux d’erreur des paquets
– La performance caractérise le comportement du réseau
– Taux de déséquencement des paquets
– Le réseau devrait fournir les différents modèles de service et
minimiser l’utilisation des ressources du réseau – Fiabilité et disponibilité
5 6
1
Le besoin de QoS (1)
• Les applications ont besoin de QoS:
– Les applications de voix, vidéo et multimédia constituent des
flots de trafic temps réel qui ont des contraintes de délai.
– Les applications commerciales basées sur des transactions
client/serveur ont des contraintes fortes en terme de temps
Besoin de QoS dans les réseaux IP de réponse.
• Historiquement :
– Applications vidéo et multimédia applications presque
inexistantes dans le contexte de réseaux asynchrones
– La voix avait son réseau optimisé, le PSTN (public switched
telephone network), lui fournissait la QoS nécessaire.
– Les applications commerciales avaient leurs réseaux avec des
architectures ad-hoc telles que SNA (System Network
Architecture) .
une intégration de service en fournissant à – Le niveau de déploiement de la QoS est directement lié aux aspects
chaque application la QoS dont elle a besoin économiques :
(concept de Next Generation Network ) • Prix de la bande passante (réseaux d’accès ou de coeur)
• Prix des équipements (impact de la QoS sur le hardware et le software)
• services visés (contraintes de QoS constraints des applications, etc.)
9 10
• Solutions possibles
11
2
Le problè
problème de la QoS Multiplexage statistique
13 14
MUX
Principes pour la garantie de QOS (suite) Principes pour la garantie de QOS (suite)
Principe 3
Principe 2 Tout en fournissant l’isolation, il faut utiliser les
Protéger (isoler) les classes les unes par rapport aux autres ressources aussi efficacement que possible
17 18
3
Principes pour la garantie de QOS (suite) Résumé
sumé des principes de QoS
Principe 4
Admission d’appel : un flot déclare ses besoins, le
réseau peut bloquer l’appel (ex : signal occupé) s’il ne Regardons maintenant les mécanismes pour
peut pas répondre à ces besoins mettre tout ceci en oeuvre…
19 20
21 22
Classifier Scheduler
Queuing
Logical organization
Of the router's buffers Classifier
QoS Conf.
Queue and
Management Mngt. SNMP,
COPS,
LDAP, …
4
Conditionnement de trafic Policing
Nous aborderons : But : limiter le trafic pour ne pas dépasser les paramètres déclarés
• Le policing Trois critères fréquemment utilisés :
• Le contrôle de flot
• Le contrôle de congestion • Débit moyen (Long terme) : combien de paquets peuvent être envoyés
par unité de temps (à long terme)
• L’équité
– Question cruciale : quel est l’intervalle de temps : 100 paquets par seconde ou
• Les Token/Leaky buckets 6000 paquets par minute ont la même moyenne !
• Les TSpec
• Le contrôle d’accès • Débit crête : ex : 6000 paquets par minute en moyenne ; 1500 ppm de
débit crête
• La remise en forme (shaping)
• Les files d’attente • Taille de rafale (Max.) : nombre max. de paquets envoyés en une fois (sans
• … silence intermédiaire)
25 26
Policing Policing
• Conditionnement de trafic
– Nécessite des TCA (Traffic Conditionning Agreements) token bucket, combiné avec WFQ pour imposer une borne supérieure au
– De tels mécanismes incluent : délai, i.e., QoS garantie !
• Des mesures de trafic (débit moyen, débit crête)
• Packet Dropper (avec des politiques de rejet spécifiques)
• Traffic Shaper
• … arriving token rate, r
traffic
– Exemple : Contrôle du débit crête avec un token bucket shaper (R,B)
bucket size, b
Dropper per-flow
rate, R
Trafic entrant
B WFQ
D = b/R
max
R
27 28
Problè
Problème Contrôle de flot
29 30
5
Congestion Consé
Conséquences de la congestion
• Contention gérée par les files
• Définition générale
command
– Sérialisation des demandes
Situation où le réseau ne peut pas satisfaire un service pour les applications – La file est la première protection face à
l’augmentation de λ
– Quand ?
∑ Demand(t ) > Re source(t )
i
• Sévère contention λ >> µ
demultiplexing
– Buffers pleins
Congestion multiplexing
– Pertes
Loss or delay
Commutation matrix
Ideal • Conséquences
– Causes Load – Les temps de transfert des paquets augmente
– Perte de paquets
• Fluctuations de trafic imprévisibles
• Transfert de données : retransmission des
• Problèmes du réseau paquets perdus et risque de retransmissions
abusives dues aux délais importants
– "Congestion collapse"
• Solutions
• Gâchis de ressources réseau
– Augmenter les ressources
• Ressources utilisées par un paquet avant
• BP, Buffers … qu’il soit détruit sont perdues
– Contrôler les demandes • Augmentation de la charge => diminution
du débit
31 32
33 34
Équité
quité Équité
quité locale et globale
• Allocation d’un système partagé • Considérons un partage équitable entre les utilisateurs :
• Enjeu quand certaines demandes ne sont pas satisfaites
• Résulte d’une optimisation
1 defined in R. Jain, A. Durresi and G. Babic, Throughput Fairness
• Métrique Index: An explanation, ATM Forum/99-0045, Feb. 1999
– Fair index1
• Quantifie l’équité dans l’allocation de la BP en excès entre les clients qui
partagent un lien
• Résultat
⎜⎛ x ⎞
n 2
∑i
⎝ i =1 ⎠ ≤1 toujours,
– Localement équitable
f (x1,x2,…, xn ) = – Globalement inéquitable
n =1 s’il y a équité
n. ∑ x 2
i
• Éviter le congestion collapse
i=1
– Un flot doit avoir une allocation correspondant au goulot d’étranglement
• Limiter le débit par source
où xi est le débit en excès du ième client
• Échelle temporelle d’action : RTT
• Portée – sinon
– Globale : niveau réseau => action au niveau rafale • Utilisation inefficace des ressources réseau
– Locale : niveau routeur => action au niveau paquet • Du point de vue des sources, la performance n’est pas satisfaisante
35 36
6
Partage équitable Max-
Max-min Fair Share
• Le partage équitable n’est pas une bonne solution • Satisfaire un maximum de flots
• Trouver un équilibre entre efficacité et équité • Principe
– Satisfaire ceux qui demandent moins
– Aucun nœud n’obtient plus que ce qu’il demande
– Ceux qui ne sont pas satisfaits obtiennent un partage équitable
x0 = 0.1 C 0.6 C 1C
x1 = 0.5 C x2 = 0.1 C
A B C A B C
• Définition
– Personne ne peut obtenir plus aux dépens de quelqu’un qui a déjà moins
© Andrzej Duda © Keshav
37 38
Max-
Max-min Fairness Goulot d’é
d’étranglement
tranglement
• Théorème
x1 = 0.9 C x2 = 0.1 C – Une allocation X est max-min fair ssi chaque source a un goulot
d’étranglement
© Andrzej Duda
39 40
41 42
7
Échelle de temps du contrôle Modes de contrôle
43 44
45 46
• Définition : • Principe
– Ensemble de paramètres qui représentent le comportement de la source – Débit maximal auquel les données peuvent être envoyées
– Description du trafic envoyé – Intervalle temporel minimum entre les paquets
L
• Principe Dmax = L : taille du paquet
T
– Décrire le « pire » comportement
– Définir une enveloppe
• Utilisation
– Contrôle d’admission : contrat de trafic • Mise en forme (shaping)
– Contrôle d’accès : régulation, surveillance. – Démarrer un temporisateur quand un paquet est envoyé
– Possible d’envoyer un autre paquet quand la tempo expire
• Évaluation
– Limite extrême, sensible aux variations
47 48
8
Débit moyen Modè
Modèle fluide
• Principe
– Débit sur une période de temps
• réduire la sensibilité aux variations
• Modèle mathématique
– Volume de données A envoyé sur une période de temps T – Utiliser un modèle parfait
• Fonction continue
A
D = • Pas de discontinuité introduite par les paquets
• Descripteurs T
– Étudier le flot isolé des autres flots
– Fenêtres • Lien dédié
• Pour chaque fenêtre temporelle consécutive de taille T, pas plus de A bits
peuvent être envoyés
• Courbes d’arrivée et de départ
bits R(t) R*(t)
R(t)
t temps
Temps
x(t) = R(t ) − R*(t)
49 50
• Paramètres
– r: rate (débit)
– b: taille du buffer
• Algorithme
– Token = droit d’envoyer 1 bit
– Le seau se vide à un débit de token contraint (r)
bits – Le seau ne doit pas déborder
pente r R(t) – Quand il y a débordement, le flot n’est pas conforme
b • L’action sur les données non-conformes dépend de la politique.
temps Bit
Flow r(t)
NETWORK
r
B tokens
r Time
Temps
51 52
• Évaluation b1 b2 b3
– Limite la taille des rafales
– Algorithme simple r1 r2 r3
– Difficile de choisir b et r
– Pour les média discrets, consiste en la mise en forme au débit r
r1 ≥ r2 ≥ r3
b3 ≥ b2 ≥ b1
© Roch Guérin
53 54
9
Token bucket Leaky bucket et Token Bucket
• Token Bucket
– Ajout d’un régulateur au débit crête • Leacky bucket
– Contrôle de conformité
σ+ρt Modèle fluide • Débit moyen
Pt – Mise en forme : couplée avec une file d’attente
– Surveillance : effacer les paquets non conformes.
σ
• Token Bucket
MBS
– Leaky bucket avec un régulateur de débit crête
– Pour contrôler
• Le débit moyen
• Le débit crête
MBD
• La taille maximum de rafale (Maximum burst size)
– Utilisé pour le TSpec dans IntServ (présenté plus loin)
MBD =
MBD =
55 56
∀t
– Un flot de paquet n’est pas un liquide
bytes
57 58
Mode Dropping/Marquage
Dropping/Marquage Contrat de trafic
octets Jetés ou marqués • Pour définir les caractéristiques d’un flot et les imposer
• La source doit respecter les caractéristiques annoncées
• Le réseau doit maintenir la QoS demandée
A’(t) • Établi durant la phase de négociation
A(t)
M
b−M
t0 t
p−r © Roch Guérin
59 60
10
Contrôle d’admission Contrôle d’admission au débit crête
61 62
Contrôle d’admission : LBAP (Linear Bounded Arrival Process ) Contrôle d’admission : garanties statistiques
• Principe • Principe
– Description de la source avec LBAP
– Utilise un ordonnaceur qui réserve – Repose sur le multiplexage statistique
• BP ≥ débit moyen
• Un buffer pour MBS – Lorsque le nombre de flots N augmente, la probabilité qu’ils soient tous
• Avantages actifs diminue
– Plus efficace pour la BP que l’allocation au débit crête
– Utilisé pour donner des garanties de délai, perte et BP Sources actives
• Dans GS
• Inconvénients Prob. D’avoir 1 source active = 0.1
– Un délai court peut nécessiter une réservation supérieure au débit crête Activity prob.
– Le pire cas peut être très improbable => gâchis de BP
– Complexe
rate
63 64
Contrôle
Contrôle d’
d’admission : MBAC (Measurement-
(Measurement-based Admission Control) Contrôle d’
d’accè
accès
• Pour les flots qui ne peuvent pas être décrits ou varient de manière • Problèmes
imprévisible – La charge peut dépasser la demande si
• Elle est mal caractérisée
• Principe • On a une mauvaise connaissance du trafic
– Mesure la charge réelle • Objectifs
– Nouveau flot décrit par son débit crête – Vérifier que le trafic est conforme à la déclaration
– Admission – Éviter la congestion
• Principe
• crête + moyen ≤ capacité
– Vérification
– Le flot est décrit par le débit moyen quand actif • De la part du réseau : que chaque flot est conforme au descripteur
– Utilisé par CL – En utilisant un leaky bucket
– Représente un ensemble d’actions (de la part du réseau) pour surveiller et contrôler le
trafic
• Actions
• Inconvénients – Surveillance : détecter si un paquet est conforme ou non à une spécification
– Régulation (shaping)
– Suppose que le futur et le passé sont similaires
• Réduire la sporadicité du trafic ou changer les caractéristiques du trafic
– Durée de la période de mesure ? – Marquage
– • Préférence pour jeter les paquets parmi les paquets non-conformes
65 66
11
Shaping Shaping Mode
• Définition octets
– Modifier le flot temporellement pour s’assurer qu’un flot envoyé sur le réseau ne
dépasse pas certaines limites
– Limites en termes de
• Débit crête, débit moyen, taille maximum de rafale
• Principe
A’(t)
– Adapter le flot en fonction d’un contrat / profil établi
A(t)
– Si la file est pleine, des paquets sont perdus
• => les paramètres de trafic doivent être correctement définis pour éviter un
r
dropping excessif
• Objectifs
– Contraindre le flot à des caractéristiques connues
b
M + pt0 = rt1 + b
• Pour fournir des garanties de QoS
t1 = t0 − −
– Réduire la sporadicité p b M
p r r
t1-t0 : Maximum shaping delay
M
Interface de sortie b−M t0 t1 t
p−r © Roch Guérin
67 68
• Utilisation
dropped – La source ne peut pas décrire son trafic ou le réseau ne peut pas réserver de ressources
– Les ressources sont insuffisantes pour la source
bytes
A’(t) • Objectifs
A(t) – Éviter le congestion collapse (réduction de la quantité de trafic qui parvient à traverser le réseau)
– Équité (partage équitable de ressources)
r – Contrôler la performance obtenue Maximum capacity optimal
Capacitˇ maximale Optimale
provided par
supportˇe by the network
le rˇseau
Traffic
Raisonnable
reasonable
Congestion
shaped
b
BF + (b − M )
Trafic offert
Offered load
p t1 =
p−r • Contrôle réactif data
⇒ dropped= ( p − r )t0 − BF − (b − M ) – La source envoie une notification
M
Information on
b−M t1 t0 t2 t network state
p−r © Roch Guérin
69 70
• Principe • Nombre
– Évaluer les ressources disponibles • Par couleur, par circuit virtuel, par flot ou globale
– Notification de la source
• Multiple ou unique
• Implicite ou explicite
– Contrôler le débit de la source • seuil : single ou multiple
• fenêtre, etc. • Différents types
• Inconvénients – SAST : Single Accounting, Single threshold
– Requiert la coopération de la source de trafic – SAMT: Single Accounting, Multiple threshold
– En général, un émetteur doit pouvoir contrôler son débit et le réduire pour – MAST Multiple Accounting, Single threshold
réduire la congestion
– MAMT Multiple Accounting, Multiple threshold
• Exemple :
– TCP
• Notification implicite et fenêtre de congestion
• Notification implicite et contrôle par fenêtre.
• évaluation
– Pas efficace pour les applications temps réel
– Utilisation optimale des liens
71 72
12
Files d’attente Files d’
d’attente
Selector
Queue Size
Estimator
Dropper
73 74
Files d’
d’attente Files d’
d’attente : RED(Random Early Detection)
Detection)
• Objectifs • Idée
– Ajouter de la discrimination dans le réseau
– Agir avant la congestion et réduire le débit de la source
– Résoudre les problèmes de TCP
– Seuil pour commencer à jeter des paquets
• Le contrôle de congestion de bout-en-bout est inéquitable
• UDP n’est pas équitable avec TCP
• Le DropTail entraîne une synchronisation des sources TCP • Objectifs
• Le Droptail pénalise le trafic sporadique – Éviter la synchronisation des sources TCP
• Difficile d’identifier la nature de la congestion (temporaire ou non) – Augmenter la charge sur les liens
• Principe – Ne pas pénaliser les flots sporadiques
– Gérer les buffers des routeurs – Éviter de jeter des rafales
– Actions
• Jeter des paquets (RED, …)
• Notification (ECN)
75 76
• Evaluation
• Algorithme :
– Adapté à TCP
– 2 seuils (Min_Th, Max_Th) pour la file d’attente
– Jeter un paquet => éviter la congestion
– Taille moyenne de la file (avg)
– La probabilité de choisir un flot est proportionnelle au débit du flot
– Effacer (aléatoirement) des paquets de la file
– Difficile à paramétrer
• Dépend du trafic : dynamique
• Amélioration : marquage
– Réduit le nombre de paquets jetés
– Réduit le temps pour détecter la congestion
th-max average th-min – Limites :
Pour chaque paquet reçu • Les paquets marqués peuvent être jetés
P(mark)
Calculer la taille moyenne de la file avg • Certaines sources peuvent ne pas prendre le marquage en compte
si minth ≤ avg ≤ maxth
Calculer la proba p(avg) 1
• RED amélioré
Avec la proba (avg)
– Identifier les flots “gourmands”
marquer/jeter le paquet
Sinon si axth < avg Pmax • Supprimer l’inéquité UDP
Jeter le paquet – Réguler les flots
• Équité et protection avec des buffers
minth Maxth Avg
• maintenir 1 état par flot
77 78
13
Exemple de ré
réseau pour RED Débit sans / avec RED
© Andrzej Duda
S1 ACK numbers
S1
2 Mb/s, 10 ms
ACK numbers S1
destination
S2 routeur
2 Mb/s, 60 ms 2 Mb/s 100 ms S2
20 seg. S3
S3 S2
2 Mb/s, 100 ms
S3
time time
• Exemple de réseau avec 3 sources TCP
79 80
Ordonnancement (Scheduling
(Scheduling))
Ordonnancement
FIFO
81 82
• Work-conserving
• Scheduling : choisir les prochains paquets à envoyer sur le lien – Jamais oisif quand des paquets attendent
– Loi de conservation
• Ordonnanceur • Délais constants, l’ordonnancement alloue les délais
– Permet de servir une classe de service avec un débit spécifique ou une priorité
spécifique N
• Ordonnancement FIFO (first in first out) : envoyer par ordre d’arrivée dans la
file
∑ρ d = Cst
i =1
i i With
Port de sortie
83 84
14
Ordonnancement : FIFO Ordonnancement : ordonnancement par priorité
priorité
• Ordonnancement par défaut de l’Internet Transmettre les paquets de la file avec la plus
haute priorité
• Partage de bande passante • plusieurs classes, avec différentes priorités
– proportionnel à la charge offerte – La classe peut dépendre du marquage ou
d’autres infos contenues dans l’en-tête, par ex.
Adresse IP source/dest, numéros de port, etc..
• Pas d’isolation
– Flot adaptatif / non adaptatif
– Flot temps réel / non temps réel
85 86
87 88
•
•
Soit R(t) le nombre de cycles de service
Soit l’estampille temporelle de fin de service Fi k pour le paquet k du flot ii
Fi = S + L
k k
i
k
i
Arrival
Aik = R(aik )
Sik = max(Fi k−1, Aik )
Début du service Scheduling state
Fi k > R(t)
– La durée d’un cycle est proportionnelle au nombre de flots actifs
89 90
15
Ordonnancement : Virtual Clock Ordonnancement : Virtual Clock
• Émulation TDM
– timestamp de fin de service dans TDM • Évaluation
– Le Timestamp dépend du débit alloué – Garantie de délai : flot régulé
• Pour chaque flot i, un débit moyen : Ri
– Pénalise l’utilisation de rafales
•
• Si un flot a envoyé une rafale, il se peut qu’il doive rester oisif pendant une
Lki longue période
VCik = Sik + with Sik = max(VCik −1, Aik ) – Inéquitable
Ri • Utilise le temps réel
Ai = ai
k k
r1=1/3 1 2 3 4 5 6 7 8 91011121314
r1=1/3
– Ordre de service 3 6 91215
• Ordre des timestamps 3 6 912151821
r2=1/3
3 6 91215 r2=1/3
3 6 912151821
r3=1/4
4 8 12 16 20 r3=1/3
1316192124
OUT
FCFS
VC
3 3 4 6 6 8 9 9121212151516
© Roch Guérin
© Roch Guérin
91 92
Ordonnancement : GPS (Generalized Processor Sharing) Ordonnancement : GPS (Generalized Processor Sharing)
j
Si ∑φ
j =1
j ≤1 Garantie de BP absolue
σi ≤ σi
⇒ gi ≥ ρi
– Service reçu proportionnel au poids du flot
Di =
• Évaluation gi ρi
φ nombre réel positif – Garantie de BP
– Fair share de la bande passante excédentaire
– Work conserving
– Un système réel utilise des paquets
Intervalle de temps • Les services de paquets doivent approximer le modèle fluide
• Le service d’un paquet induit une inéquité
93 94
Ordonnancement : PGPS-
PGPS-WFQ Ordonnancement : PGPS-
PGPS-WFQ
• Principe • Caractéristiques
– Détermine le temps de fin de service d’un paquet s’il avait été servi avec GPS – Délai du paquet p en PGPS comparé à GPS
• Émulation de GPS
lmax
–
–
Similaire au fair queuing mais notion de temps virtuel
Temps virtuel : temps de service en GPS pas =
1 p
FPGPS − FGPS
p
≤
• Plus rapide ou plus lent en fonction du nombre de flots actifs N C
∑φ
Nb de flots actifs
• Temps virtuel = temps réel quand tous les flots sont actifs
• En temps virtuel, le service reçu par chaque flot reste constant i – Le délai additionnel du au service de paquet est au plus lmax
• i =1 • Graphe de service
A = V(a )
k k
β(t)
β ′(t) = [β (t) − lmax ]
i i + bits R(t)
lmax
– Timestamp de fin de service β’(t)
• Pour un flot régulé (σi, ρi)
Temps
Sik = max(Fi k−1, Aik )
k – Délai de bout en bout
L R*(t)
Fi k = Sik + i with • Pour m noeuds
A1 D1
φi
σi (m −1)Lmax m Pmax
Di = + +∑
gi gi j =1 Cj
95 96
16
Ordonnancement : PGPS-
PGPS-WFQ Ordonnancement : Service à débit contrôle
• Évaluation • Idée
– Difficile de maintenir le temps virtuel de GPS en mode paquet – Séparer la bande passante et le délai garanti
• Mis à jour constamment • Architecture Eligible
– Calcul complexe de V(t) quand un nouveau paquet arrive packets
• Effet de cascade
input output
V(t) # active flows
97 98
Ordonnancement : proprié
propriétés des contrôleurs de débit Provisionnement de la QoS
(optional)
• Gestion de file d’attente
• Réservation de bande passante
• … Input Port
Classifier Scheduler
Ouput Port
QoS Conf.
Queue and
Management Mngt. SNMP,
COPS,
LDAP, …
10
99 100
101 102
17
QoS diffé
différencié
renciée / garantie(2) Services
Différentiation
• La QoS différenciée est plus simple à implémenter. de la QoS des flots
103 104
Services inté
intégré
grés de l’IETF
106
Architecture Intserv/RSVP
Intserv/RSVP IntServ : caracté
caractéristiques principales
107 108
18
Mécanismes du routeur Description de flot
• Contrôle d’admission
– Décide si un flot peut être accepté • FlowSpec : décrit les caractéristiques du flot
• Une session peut décrire son flot – Trafic envoyé
– Classe et niveau de service
– Service désiré
– Descripteur de flot
• Chaque routeur vérifie que l’admission peut être assurée • Delai
– En fonction de la demande • débit
– En fonction des ressources disponibles
• COMMENTAIRE : différent du contrôle d’accès (policing)
109 110
FlowSpec RSVP
111 112
SV
délai de propagation)
V
RE
• PATH PATH
RESV
19
Le message Path Le message Resv
• Le message Path est le message envoyé par une source d’un arbre de • Envoyé par les récepteurs d’un arbre de distribution multicast pour
distribution multicast aux récepteurs de l’arbre
effectuer une réservation de ressources dans le réseau
• Les principales fonctionnalités du message Path sont :
• Suit le chemin inverse tracé par le message Path
– Transporte la description du trafic que la source va envoyer
– Transporte la description de la capacité des noeds le long du chemin. • Fusionne aux embranchements de l’arbre multicast
Chaque noeud supportant RSVP insère ou modifie l’information contenue dans • Plusieurs styles de réservation existent quand il y a plusieurs
ce champ en fonction de ses possibilités sources dans l’arbre multicast
– Détermine le chemin retour des messages Resv messages que les récepteurs – Wildcard Filter (WF) : plusieurs émetteurs wildcarded partagent la
enverront à réception du message Path. Ce chemin inverse est aussi maintenu
même réservation (un seul parle à la fois)
dans le soft state des routeurs du chemin
– Fixed Filter (FF) : réservations distinctes par émetteur (vidéo)
• Transporte aussi l’ADSPEC – Shared Explicit (SE) : liste explicite des émetteurs qui partagent la
– Mis à jour à chaque routeur et utilisé pour calculer le délai de bout-en-bout même réservation
– Contient le nombre de saut, la BP sur le chemin, un délai fixe, la MTU, Ctot, Dtot • Les paramètres de réservation dépendent du service intégré
demandé
• Transporte le RSpec
– Peut être différent du TSpec
115 116
Styles de ré
réservation RSVP et changements de routes
émetteur récepteur
S1 S1
Après un changement de route,
R1 Path suit le nouveau plus court chemin
R1
R2
SE/WF SE/WF
S2 Unicast S2 multicast
117 118
Nuages non-
non-RSVP IntServ : Vue globale
119 120
20
IntServ : Complexité
Complexité Le concept de session de service
• Questions d’implémentation
– Isolation des flots avec une granularité fine
• Une session est explicitement définie par une adresse destination (unicast ou
multicast), un protocole de transport et un numéro de port destination
Flow Identification – <session> = <DstAddr, PID, DstPort>
(Layer 3 and 4 – Problèmes avec les tunnels IP
header)
Classifier
121 122
123 124
125 126
21
Services diffé
différencié
renciés de l’l’IETF
• MAIS
– Besoin de rester pragmatique étant donnés la capacité des
routeurs actuels et les problèmes d’échelle de l’Internet
128
129 130
La bordure du ré
réseau Le cœ
cœur du ré
réseau
• Bordure • Forwarding
– Hôtes supportant DiffServ
– Premier routeur du domaine DS
– Comportement appliqué à un paquet en fonction du marquage (qui identifie
la classe de service)
• Classification
– Marquage à l’entrée en fonction du SLA
• Dimensionnement
• Conditionnement – Pour fournir de la QoS, la classe doit être provisionnée
– Actions sur le trafic entrant
– Contrôle d’accès
• Limite la quantité de trafic à l’intérieur d’une classe
• Évite la congestion
131 132
22
Classification Conditionnement
• Identification de classe
– Champ “octet DS“
• Au lieu du ToS(IPv4) ou classe (IPv6)
– Valeur du DS codepoint
• Identifie le comportement dans un routeur
133 134
PHB
PHB
135 136
• Champ DS
- DSCP identification
• Le paquet est marqué dans le champ Type of Service (TOS) en IPv4, et - Determination of associated PHB
Traffic Class en IPv6
• 6 bits utilisés pour le Differentiated Service Code Point (DSCP) qui
Data
Data IP
IP Header
Header
déterminent le PHB que le paquet recevra
• 2 bits sont pour l’instant inutilisés 77 22 00
DS
DS field
field CU
CU
137 138
23
Forwarding (PHB) Forwarding (PHB)
• Le PHB résulte en des performances de forwarding différentes • Pas d’état dans les routeurs !!!
observables (mesurables)
• Services traditionnels
– « Best-Effort » (BE) PHB.
• Le PHB ne spécifie pas quels mécanismes utiliser pour assurer le
comportement PHB requis • Expedited Forwarding: Le débit de départ d’un paquet d’une classe est égal ou
dépasse un débit spécifié
– « Service Premium » (pour les flots interactifs)
– PHB avec peu de pertes, délai garanti.
• Exemples:
– Lien logique avec un débit minimum garanti
– LA classe A obtient x% du lien sortant pendant des intervalles de temps – Pas de trafic hors profil
d’une longueur spécifique
– Les paquets de la classe A partent avant les paquets de classe B
• Assured Forwarding: 4 classes de trafic avec pour chacune une bande passante
minimale garantie
– Chacune avec 3 partitions de drop preference
– 4 priorités temporelles (ne pouvant pas être modifiées par le réseau), et 3 priorités
spatiales (pouvant être modifiées par le réseau)
– Assurance ≠ garantie
– Du trafic opportuniste (hors profil) peut être admis
139 140
Classifier
…
141 142
EF PHB : Dé
Définition
• Expedited Forwarding
– DSCP: 101110
– Classe unique sans drop precedence disponible
• Définition :
– Un équipement EF compliant est caractérisé par (R, Ep) si, pour tous les
paquets :
Boî
Boîte à outils DiffServ dj <= fj + Ep
F: Target Departure time
(perfect packet processing)
fj=max {aj, min {dj-1, fj-1}} + lj /R}
l1/R
…
Arrivals
a4 a3 a2 a1 (Rate: R)
144
24
EF PHB : limites de QoS EF PHB : Implé
Implémentation
B ABSOLUTE
EF COUNTER 1
DROPPER 1
t Non-
EF traffic aggregate conforming
SCHEDULER 1
CLASSIFIER Token Bucket
• Limites sur la gigue : Ingress (R,B) Egress
J= B/R + Ep variable avec: E p=E p fixed + E p variable . Flow Edge Core Flow
AF PHB : Dé
Définition AF PHB : Implé
Implémentation
• Conditionnement de trafic
• Assured Forwarding PHB Group – Possibilité de contrôler la quantité de trafic qui entre dans le réseau dans
– 4 classes de services, avec Class 1 ≥ Class 2 ≥ Class 3 ≥ Class 4 une classe spécifique avec une drop precedence spécifique.
– 3 Drop precedence disponibles – Exemples :
• srTCM (Single Rate Two Color Marker)
Class 1 Class 2 Class 3 Class 4 • trTCM (Two Rate Three Color Marker)
• tswTCM (Time Sliding Window Three Color Marker), …
Low 001010 010010 011010 100010
Drop precedence
(Yellow)
Non conforming
METER 2 MARKER 2
Orange
147 148
AF PHB : Implé
Implémentation Evaluation (1)
149 150
25
Evaluation (2) Résumé
sumé : amé
améliorer la QOS dans les ré
réseaux IP
• Diff-serv est
Futur : Internet de nouvelle génération avec des garanties de QoS
– Plus scalable que Int-serv/RSVP mais moins granulaire
– Plus simple à implémenter que MPLS étant donné que Diff-serv est encore
basé sur le routage tandis que MPLS est basé sur les étiquettes (càd que – RSVP : signalisation pour les réservations de ressources
DiffServ a moins de contraintes sur le hardware des nœuds du réseau)
– une extension aux traditionnelles approches de priorité / marquage de service – Differentiated Services : garanties différentielles
déjà utilisées dans certaines parties de l’Internet
151 152
26
Plan
Routage intra-domaine
Routage inter-domaine
BGP
Intelligence aux extrémités du réseau Suite de protocoles IP, ainsi que les
Forwarding des paquets le plus rapide possible mécanismes et applications liés
Pas d’état par paquet / par flot dans le réseau (standardisés par l’IETF)
Pas de contrôle d’accès
Réseau d’interconnexion international
Tenter de concevoir et de faire évoluer le réseau constitué d’ISPs, de réseaux d’entreprise
en suivant ces principes et de campus, etc.
Protocole Internet
email, WWW, téléphone, ... Transmet un paquet unique d’un hôte vers un autre
cuivre, fibre, radio, ... Le routage des paquets IP est basé sur les préfixes
1
Caracteristiques de l’Internet Il était une fois…
L’Internet est
Décentralisé (confédération souple de pairs) Voilà ce qu’était Internet !
Auto-configuré (pas de registre de topologie global)
Sans état (informations limitées dans les routeurs)
Sans connexion (p(pas de connexions fixées entre les hôtes))
Intra-domaine
Un AS détermine le chemin d’un paquet à l’intérieur de
son domaine
Utilisation d’un protocole (à état des liens)
Performances : question essentielle
Inter-domaine
Les AS échangent des informations d’atteignabilité
Basé sur des politiques
Pas nécessairement le plus court chemin
2
Routage à travers l’Internet Routage inter-domaine (entre différents AS)
12.34.158.5
2 2
3 1 1 7 6
3
2 1 5
1
Serveur Web
4 3 Client
3
Backbones de Tier-1 actuels Topologies
Seattle
Tacoma
Public peers : NAP publics, pas de transit,
disparaissent petit à petit (aux US).
Springfield
Boston Peers : “pairs”
p ((AT&T,, UUNET,, etc.)) : pas
p de
Chicago New York
Palo
Alto
Sacramento
Cheyenne
Denver
Secaucus transit, peering gratuit s’ils sont assez gros,
San Stockton Pennsauken
Jose
Silicon
Valley Kansas City Roachdale Reston
Relay/DC prix en fonction du volume sinon.
Los Angeles
Anaheim
To Pearl
Atlanta
Raleigh
Clients (tier 2, CDN, etc.) : transit, prix en
City, HI
fonction du lien.
OC192 Fort
Worth Dallas
OC48
OC12 Orlando
OC3
Internet Transport Node Miami
Internet Center
3rd Party Data Center
4
AS de Transit / Non transit AS de Transit / Non transit
•AS de transit : transporte du trafic de transit •AS Non-transit : ne transporte pas de trafic de
•Annonce ses propres routes ET les routes transit
apprises par d’autres AS • annonce ses propres routes et les routes provenant
du transit (clients)
• ne propage pas les routes apprises des fournisseurs
ISP1 ISP2
r3
r1 et des non transit (pairs)
r1 r3 ISP1
r2,r3 r2,r1 r1 r3 ISP2
AS1 r1 r3
r2 r2 r2
AS1
r2
5
Objectif : partage d’information de Protocoles de routage
connectivité
I-BGP IGP: Interior Gateway Protocol.
you can reach Exemple : OSPF
net A via me
AS2
R3
BGP R2
AS1 R3
R2
traffic to A R1
A
A AS1 E-BGP annonce B
AS2
R1
table de R1: R Routeur de bordure
dest next hop
AS3 R5
A R2 Routeur interne
R4
R Routeur de bordure
Routeur interne B
AS2
Table BGP Table de Quoi accepter de ses voisins et quoi partager avec
routage IP
ses voisins est déterminé par la politique de
routage, spécifiée dans le fichier de configuration
des routeurs.
6
Filtrage en amont - Input Policy Engine Processus de routage
Le filtrage en entrée contrôle le trafic en sortie
Les filtres routent les mises à jour reçues des autres pairs
accepte, transmet,
Filtrage basé sur les préfixes IP, l’AS-PATH, la communauté
Choix de la Ne transmet pas,
refuse, indique meilleure route
Routes Les préférences fixe MED
Refuser un préfixe signifie que BGP ne veut pas atteindre ce
reçues Routes
préfixe via le pair qui a envoyé l’annonce des Envoyées
pairs Input Routes Output
Accepter
p un p préfixe signifie
g que le trafic vers ce p
q préfixe p
peut Decision aux ppairs
policy
li Utilisées policy
être transmis au pair qui a envoyé l’annonce engine process
par le engine
routeur
Manipulation d’attributs
Positionnement d’attributs pour les routes acceptées
Table BGP Table de
Exemple : spécifier LOCAL_PREF pour établir des priorités
routage IP
entre plusieurs pairs qui peuvent atteindre une destination
donnée
7
ATTRIBUTS BGP Processus de décision BGP
NETX HOP
Pour une session EBGP, NEXT HOP =
adresse IP du voisin qui a annoncé la route. 1. Choisir la route avec le plus haut LOCAL-PREF
Pour les sessions IBGP sessions, si la BGP Table at Router C:
route à une origine interne à l’AS, NEXT 2. S’il y a plus d’1 route, sélectionner la route ayant l’AS-
HOP = adresse IP du voisin qui a annonce Destination Next Hop PATH le plus court
la route
Pour les routes don’t l’origine est externe à 140.20.1.0/24 2.2.2.2 3. S’il y a plus d’1 route, sélectionner selon le type
l’AS, le NEXT HOP du noeud EBGP qui a
appris la route est porté sans modification
209 15 1 0/24
209.15.1.0/24 1111
1.1.1.1 ORIGIN le plus petit,
petit avec IGP < EGP < INCOMPLETE
dans IBGP. 4. S’il y a plus d’1 route, sélectionner la route ayant le
IP Routing Table at Router C:
209.15.1.0/24 MED le plus petit
Destination Next Hop 5. Sélectionner le chemin de coût minimum vers le NEXT
1.1.1.1 A
140.20.1.0/24 2.2.2.2 HOP en utilisant des métriques IGP
3.3.3.3 D 2.2.2.0/24 3.3.3.3 6. S’il y a plusieurs chemins internes, utiliser l’ID du
3.3.3.0/24 Connected routeur BGP pour trancher.
209.15.1.0/24 1.1.1.1
C 2.2.2.2
B 140.20.1.0/24 1.1.1.0/24 3.3.3.3
IBGP
8
Routage Hot potato Routage Hot potato
UUnet UUnet
Earthlink Earthlink
Sprint Sprint
R1 R1
Partage de charge
ISP 3 fiabilité
Indépendence vis
vis-à-vis
à vis des fournisseurs
ISP 1 ISP 2
Client
9
Croissance des tables BGP (1989-2001) Croissance du nombre d’AS
www.telstra.net/ops/bgp/
CIDR
the web
Mécanisme par lequel on accepte/rejette Lorsqu’un préfixe est contenu dans un autre,
une mise à jour de routage entrant/sortant annoncer seulement le plus grand
Exemple : un ISP a le bloc d’adresses
Le filtrage peut s’effectuer selon 128.0.0.0/8 et son client a 128.32.0.0/16.
L’ISP annonce seulement le bloc /8.
Le numéro de réseau (en utilisant des listes de
préfixes) Aide à contrôler la taille de la table de
L’AS-PATH (en utilisant des listes d’accès) routage
10
Pratiques communes : agrégation Pratiques communes : Dampening
Éviter les trous noirs : si un ISP annonce un
Utilisé pour contrôler l’instabilité de la route
bloc d’adresses mais ne contient pas tous les
sous-blocs, alors ces sous-blocs manquants
ne seront pas joignables. Repérer le nombre de fois qu’une route a changé
sur une période de temps
Limites de l’agrégation Les routes qui varient beaucoup sur une courte période
de temps sont supprimées (non annoncées)
multihoming
Une fois que les routes arrêtent de changer pendant
Un même AS peut avoir des blocs d’adresses non suffisamment longtemps, elles sont rétablies (ré-
continus annoncées)
Réticence à renuméroter l’espace d’adressage
Références
11