à l’Université Pierre et Marie Curie, le 26 octobre 2004
M2 Informatique Réseaux
Multimédia et Qualité de Service
Cours 5 : IntServ et DiffServ
Timur FRIEDMAN
transparents grâce à Pascal ANELLI (avec modifications)
Copyright 2004 by Timur Friedman
Plan
QoS
• paramètres de QoS
• mécanismes requis
• l’unité de QoS
Deux approches
IntServ
DiffServ
QoS
QoS = « Quality of Service »
• Idée : le réseau garantit une qualité de service
Motivation
• l’Internet est un réseau « moindre effort »
• Ça ne suffit pas pour des nouvelles
applications
Paramètres de QoS
Principalement
• la bande passante fournie
• le taux de pertes
• le délais de bout en bout
• la gigue (variance des délais)
Autres
• ?
• ?
• ?
Paramètres de QoS
L’élaboration de paramètres de QoS
Exemple : la bande passante
• la moyenne ?
• le maximum sur une courte durée ?
• le maximum sur une longue durée ?
Les mécanismes requis
• Contrôle d’admission
acceptation/réjection d’une demande d’appel
à chaque étape au long du chemin
• Fonction de police
garantir que l’émetteur n’émet plus que promis
afin de garder les garantis pour les autres
• Gestion de files d’attente
fournir la service promise
L’unité de QoS
On réserve des ressources pour un flux
Un flux est défini par:
• adresse IP source
• adresse IP destination
• numéro de port source
• numéro de port déstination
• autres champs ?
La définition est flexible
Plan
QoS
Deux approches
IntServ
DiffServ
IntServ et DiffServ
• Deux approches de l’IETF
• IntServ
• héritage : ATM (travaux débutés en 1994)
• réservation par flot
• problèmes de résistance au facteur d’échelle
• complexe à gérer sur le plan utilisateur
• DiffServ
• pour faire face aux défaillances d’IntServ (travaux débutés en 1998)
• notion de classes de services
• traitement sur une agrégation de flots
• complexe à gérer au niveau du dimensionnement et de la gestion des
ressources
Avertissement
Pas déployés à grande échelle
• pas disponibles dans l’Internet d’aujourd’hui
• implémentés dans les routeurs
Peut-être on ne va pas les déployer !
Autre philosophie :
• mettre en place assez de bande passante à haute vitesse
Plan
QoS
Deux approches
IntServ
• Trois classes de service
• Composants d ’IntServ
• Ordonnancement
• RSVP
• Avantages et Inconvénients
DiffServ
IntServ
Principe : orienté délais
Trois classes de service
• Guaranteed Service (le service garanti)
• Controlled Load (la charge contrôlée)
• Best Effort (moindre effort)
Guaranteed Service
Motivation : Limite les délais pour les applications
inflexibles
Le réseau garantit :
• un débit
• un délai maximal de transfert
Le réseau ne garantit pas :
• la gigue
• le taux de pertes
Controlled Load
Motivation : Les applications adaptatives
marchent assez bien dans un réseau non
congestionné
Pas de garantis quantifiables
Garanti : le trafic ne va pas subir des
congestions
Best Effort
Motivation : Fournir le service déjà existant
dans l’Internet
Moindre effort classique. Pas de garantis pour :
• les délais
• les taux de pertes
• etc.
Plan
QoS
Deux approches
IntServ
• Trois classes de service
• Composants d ’IntServ
• Ordonnancement
• RSVP
• Avantages et Inconvénients
DiffServ
Composants de Intserv
Contrôle d'
admission
Classification
Ordonnancement des émissions
Protocole de signalisation
Architecture d’un Routeur IntServ
Plan de contrôle Contrôle
Information d’admission
de routage Routage
Signalisation
Daemon
RSVP
Plan utilisateur
•••
datagrammes Ordonnancement
Classificateur
utilisateurs
•••
Architecture d'
un hôte IntServ ?
Contrôle d’admission
Attention: différent du contrôle d'
accès
(SROLFLQJ
Le routeur :
• Décide si un nouveau flot peut être supporté
• La réponse dépend :
• De la description du flot
• De la classe de service demandée
Classification
Le « packet classifier » du routeur :
• Oriente les datagrammes selon la QoS
demandée
• Création de différentes files d’attente
• Associe chaque paquet avec la réservation
appropriée
Ordonnancement des émissions
Le « packet scheduler » du routeur :
• Ordonnance des datagrammes afin de
respecter la QoS demandée
Protocole de signalisation
RSVP : un protocole pour la réservation de
ressources
• Allocation de ressources nécessaires pour
fournir le service
Plan
QoS
Deux approches
IntServ
• Trois classes de service
• Composants d ’IntServ
• Ordonnancement
• RSVP
• Avantages et Inconvénients
DiffServ
Ordonnancement
Problèmes avec le « FIFO »
F
I
F
O
• Modifications de l’espacement temporelle
• introduction de la gigue
• Impossible de donner des priorités aux flots
Nouveau ordonnancement
Le WFQ (« weighted fair queuing »)
• discipline de service équitable et pondéré
• permet de garantir le débit
• une approximation d’équité « max-min »
pondérée
Équité « max-min »
Exemple : distribuer une quantité 10 de ressources
Principes :
• Satisfaire les demandes les plus petites en première
• Satisfaire les autres dans une manière égale
participant demande disponible droit allocation
A 1,0 10,0 2,5 1,0
B 3,0 9,0 3,0 3,0
C 6,0 6,0 3,0 3,0
D 8,0 3,0 3,0 3,0
Équité « max-min » pondérée
Exemple : maintenant C a un poids de 2
Principes :
• Ordonner les demandes par leur taille pondérée
• Satisfaire les autres dans une manière proportionnelle
participant demande Poids disponible droit allocation
A 1,0 1,0 10,00 2,00 1,00
B 3,0 1,0 9,00 2,25 2,25
D 8,0 1,0 6,75 2,25 2,25
C 6,0 2,0 4,50 4,50 4,50
WFQ pour les garantis
Ressource : nombre de cycles dans le fonction d’acheminement
Flots prioritaires :
• poids supérieurs, alors proportionnellement plus de cycles
• temps de service plus courte
Autre flots :
• poids inférieurs
Problème avec le WFQ
• difficile à implémenter
Plan
QoS
Deux approches
IntServ
• Trois classes de service
• Composants d ’IntServ
• Ordonnancement
• RSVP
• Avantages et Inconvénients
DiffServ
RSVP (RFC 2205)
Protocole de signalisation
Informer les besoins applicatifs aux réseaux
Conçu pour demander des réservations IP
Vu comme le protocole de signalisation de
IntServ
Réservations au cœur du réseau
Description de flot
FilterSpec: identifier la (les) source(s)
• IPv4: Adresse source et numéro de port
• IPv6: Adresse source et flow ID
Session: identifier la (les) destination(s)
• Adresse de destination, protocole ID et numéro de port
FlowSpec: décrire les caractéristiques du flot
• Le trafic émis (TSpec)
• Le service désiré (RSpec)
Spécification de flot : TSpec
TSPEC= (r, b, p, m, M)
r: débit moyen bits
r
b: sporadicité p
p: débit crête
M: taille de paquet b
maximum (MTU)
m: taille de paquet
M
minimum
Défini l'
enveloppe du trafic
émis temps
Modélisation : Token bucket
)RQFWLRQQHPHQW
Description d’un flux selon :
Une sporadicité : b
Un débit moyen : r
Une file de jeton de capacité maximale b est remplie avec un débit r
Un jeton est consommé à chaque émission d' un octet
Un datagramme de longueur M peut sortir de la file principale si et seulement s’il y a M jetons
r Taux de régénération des jetons
TSPEC(r,b,p,M)
b
p
Trafic entrant
M
Autorise des rafales et borne leur taille
Détermination de la valeur des paramètres non trivial
Spécification de demande : RSpec
Guaranteed Service
• le délai maximum
Controlled Load
• aucune valeur
RSVP: Principe
un flux de messages SDWK et UHVY
La signalisation est constituée d'
Pas de réservation pour ce flux
Remise sans garantie et non acquitée
RESV
PATH Destination
Source
RESV
Chaque routeur RSVP traversé par un flux RSVP mémorise un état de ce flux
Soft state
Notion de contexte applicatif
Rafraichi par les messages UHVY
Après un certain délai L de non réception, l'
état est détruit
Libération immédiate de la réservation
Messages teardown (démolition)
Messages PATH
Émis « périodiquement » par la source
Intercepté par les routeurs
Suit le même chemin que les données
Transporte
le 7VSHF de la source au moment de son émission
les $'VSHF des routeurs traversés
caractérisation des retards dus aux routeurs
mis à jour par tous les routeurs RSVP
Le récepteur choisit calcule la bande passante à
réserver en fonction du 7VSHF et $GVSHF reçu
Messages RESV
Emis par le(s) destinataire(s)
Demande une réservation en bande passante
Prend le chemin inverse des messages path
en multicast, les messages UHVY sont fusionnés
Transporte le descripteur de flot:
Tspec de la source
FilterSpec: pour la classification
Rspec: pour l'ordonnancement
Résultats
• les routeurs connaissent les flots
• les traitements ne sont plus banalisés
Caractéristiques de RSVP
Protocole de bout en bout
Utilise IP
Réservation simplex: notion de session définie par rapport à la « destination »
Réservation pour des communications unicast ou multicast
Orienté récepteur
Récepteurs hétérogènes
Styles de réservation différents pour les différentes applications
Supporte le changement de route ou de membre du groupe
Plan
QoS
Deux approches
IntServ
• Trois classes de service
• Composants d ’IntServ
• Ordonnancement
• RSVP
• Avantages et Inconvénients
DiffServ
Avantages de IntServ
Services proches des différentes types d' application
Ex: GS pour applications critiques intolérantes
Conçu pour fournir des garanties absolues
Le flot peut être contrôlé par le routeur
QoS pour unicast ou multicast
Styles de réservation tendent à augmenter le taux d'
utilisation des ressources
réservées
Adaptation « automatique » au changement de routes
Inconvénients de IntServ
Service de bout en bout garanti si tous les routeurs
sont Intserv
Problème de facteur d'
échelle
Impraticable pour les flots à durée de vie courte
Facturation du service complexe
RSVP complexe
Plan
QoS
Deux approches
IntServ
DiffServ
Philosophie DiffServ
Conforme à la philosophie Internet
• simple au cœur
• complexe à la périphérie
• gestion distribuée par domaine
Modèle DiffServ
• Agréger les flots en fonction de leur QoS
• BAs (« behavior aggregates »)
• Marquer les paquets IP
• Traiter les agrégats au cœur du réseau
Modèle DiffServ
0HWHULQJ
,QSXW
SDFNHWV
6KDSLQJ
&ODVVLILHU 0DUNLQJ 3ROLFLQJ
7UDIILF &ODVVLILHU 7UDIILF &RQGLWLRQHU
transparent grâce à Kavé Salamatian
Contraintes de conception
Pas de signalisation échangée (hors bande)
Pas de réservation
Pas de contrôle de congestion concerté
Services simple à comprendre de mettre en
œuvre
Identification de la classe
En périphérie
6 bits
Classification selon les règles du contrat 2 bits
Marquage du paquet: DSCP CU
Marque dans l’en-tête
Identification de la classe d’un paquet
Champ “DS Byte”
A la place du champ ToS de IPv4 et Class de IPv6
Valeur “DS codepoint"
à chaque codepoint correspond un “PHB”
Au cœur
Classification sur la marque
La marque = index d’un comportement
Les PHBs
([SHWLWHG)RUZDUGLQJ()
Obtenir un accès préférentiel au lien
Pour les flux intéractifs
Support à un service de ligne louée
Pas de trafic hors profil
$VVXUHG)RUZDUGLQJ$)
4 classes avec 3 niveaux de priorité de perte
Assurance d'un minimum de bande passante
Assurance JDUDQWLH
Admission de trafic opportuniste
Trafic hors profil
Support d'
un service "better than best effort"
Conditionnement
Action décrite dans le contrat
Actions
Marqueur (marker)
modifie le FRGHSRLQW et donc le PHB
pour donner un niveau de priorité différent
Testeur (meter)
test le niveau de conformité au profil
Effaceur (dropper)
détruit le datagramme, Modification des caractéristiques sémantiques
du flot
Remise en forme (shaper)
Modification des caractéristiques temporelles du flot
Avantages DiffServ
Traitement complexe en périphérie,
Concentration de trafics faibles
Croissance du domaine, augmentation de la périphérique ->
"scale"
Discrimination pour un réseau commercial
"Meilleur service pour ceux qui paient plus" -> $$$ pour l’ISP
Pas de délai d'
établissement ou de signalisation
Reste en mode non connecté
Efficace pour les flots à durée de vie courte
Avantages DiffServ bis
Provisionnement du domaine
Méthode à la discrétion de l'
administrateur
Classification
Simple
Marquage
Peut être effectué par le routeur de bordure
Découpage d'
un domaine en plusieurs réseaux virtuels
Performance de chaque réseau par sa charge admissible
Inconvénients DiffServ
Service de bout en bout = concaténation
d'agréments et de politiques locales
Service final ???
Complexité dans
Provisionnement du réseau
Configuration
Echelle de temps différente
Charge de trafic & le provisionnement
Inconvénients DiffServ bis
Difficile de garantir l'
absence de congestion locale malgré une charge connue
Répartition du trafic mauvaise
Changement de routes
Solution statique:
Contrat de service entre paires de routeurs de bordure
"Route pinning" mais perte de robustesse
Solution dynamique:
Contrôle d'
admission sur la route, modèle du "bandwidth broker"
Très complexe
Difficile de garantir la priorité pour des flots de classes différentes
Signalisation des besoins quantitatifs de bout en bout
Orienté émetteur
Signalisation du profil du récepteur
Multi-destination