Qualité de Service dans l’Internet
Introduction / Généralités Quelques principes Techniques de lissage Techniques d’ordonnancement Routage avec QoS Contrôle d’admission Des solutions dans l’Internet
Ce qu’il faut retenir Les principes de la qualité de service Les principaux mécanismes – Lissage – Ordonnancement – Routage avec QoS Les architectures de certaines solutions dans l’Internet
Introduction L’incontournable Internet Applications adaptées – Transfert de fichiers, accès à distance, courrier électronique, etc. Nouvelles applications – Vidéo à la demande, jeux interactifs distribués, téléphonie sur IP – Nécessitent une certaine qualité
Qualité d’un service Combinaison de différents paramètres – Délai – Gigue – Bande Passante – Fiabilité – Disponibilité
Quelques applications
Architecture de base de l’Internet Longtemps inchangée Principe « au mieux » – Best effort – Fait de son mieux pour délivrer un paquet Aucune garantie de qualité offerte aux nouvelles applications
Et alors Les débits sont maintenant suffisants – Oui pour les réseaux locaux – Coûteux pour les grands réseaux – Plus de bande passante ne privilégie pas les applications sensibles Applications de plus en plus gourmandes Usagers de plus en plus nombreux
Que faire ? Assurer des performances – Fournir des garanties sur certaines applications Différentier les services – Ne pas traiter tout le monde et toutes les applications de la même façon Fournir de la qualité de service
Notion pas si nouvelle réseaux téléphoniques Réseaux ATM Internet – 1ère proposition en 1979
Actuellement dans l’Internet « best effort » toujours et encore – Congestion du réseau est possible Pertes, délais – Pas de garanties sur le temps – Pas de garantie sur les pertes Il faut modifier l’Internet actuel – Nouveaux protocoles – Nouvelles architectures
I. Quelques principes
Un modèle d’étude simple
Cas1 Exemple : appli. téléphonie à 1Mb/s et 1 flux FTP sur un même lien à 1.5Mb/s
Premier principe Il faut pouvoir différentier les paquets – Marquage des paquets – Politique de traitement des différents paquets sur les routeurs
Cas2 L’application audio envoie ses paquets à un débit supérieur à 1 Mb/s T1
Deuxième principe Il faut pouvoir isoler (protéger) les classes les unes par rapport aux autres Politique pour vérifier que les sources répondent bien aux requis – Marquage et traitement sur les routeurs d’accès
Cas3 Plutôt que de faire un contrôle, on alloue une portion de bande passante à chaque application
Troisième principe Ne pas gaspiller des ressources inutilement Utiliser les ressources de manière la plus efficace possible
Quatrième principe On ne peut pas traiter plus que sa capacité – On ne peut pas tout accepter Contrôle d’admission (CAC)
En résumé Marquage des paquets – différentiation Politiques d’ordonnancement et de traitement (lissage) Bonne utilisation des ressources Contrôle d’admission
Mise en oeuvre Pas de solution magique Pas de solution unique Variété de solutions – Combinaison de techniques mutliples
II. Techniques de lissage
Buffering But – aplanir la gigue
Lissage de trafic Contrôle de flux à la réception n’est pas suffisant Contrôle de flux à l’émission
Algorithme du seau percé réseau
Algorithme du seau à jeton Seau percé – Débit de sortie fixé Réguler le débit en fonction de ce qui arrive Seau possède des jetons générés à un certain débit
Algorithme du seau à jetons
Algorithme du seau à jetons
III. Ordonnancement
Principe Définir l’ordre de transmission des paquets Différentes stratégies – Bande passante / Délai -Quel paquet transmettre suivant ces contraintes – Buffer -Quel paquet rejeter
Principe
File FIFO (First In First Out) 1er arrivé, 1er servi Lorsque la file est pleine, les paquets sont rejetés Pas d’isolation des flux
File prioritaire Différentes files avec différentes priorités Ordonnancer les paquets de ces files Il ne faut pas que toutes les applications envoient dans la file de plus haute priorité
Round Robin
Algorithme du temps équitable Fair Queueing
Algorithme du temps équitable pondéré Weighted Fair Queueing Découpage des paquets différents suivant les priorités – Poids donné sur chaque file – Détermine le débit de sortie sur chaque file Implanté dans les routeurs – CISCO, ATM
IV. Routage avec QoS
Routage classique Plus court chemin Aucune garantie sur aucun des paramètres Dépend de l’état des liens, des routeurs
Routage avec QoS Offrir des garanties sur certains paramètres Routes optimales – Route avec le plus petit délai Routes répondant à certaines contraintes – Route ayant une bande passante de 100 Ko/s Routes multicritères – Route ayant le plus petit taux de pertes avec un délai d’au plus 100 ms
Métriques additives Ex: Nombre de sauts, délai Dijkstra classique – Poids de la métrique considérée sur chaque lien – Poids d’un chemin = somme des poids des liens sur ce chemin
Métriques multiplicatives Ex: Fiabilité, probabilité de succès Dijkstra classique – Poids de la métrique considérée sur chaque lien – Poids d’un chemin = multiplication des poids des liens sur ce chemin
Métriques concaves Ex: Bande passante Dijkstra classique – Poids de la métrique considérée sur chaque lien – Poids d’un chemin = minimum des poids des liens sur ce chemin
V. Contrôle d’admission
Spécification de flux Difficile d’estimer les besoins en espace de stockage et en cycles CPU Tolérance très variable entre les applications Beaucoup de paramètres à prendre en compte dans la négociation des flux
Exemple de paramètres Débit et taille du seau à jeton Débit maximum toléré Tailles de paquet minimum et maximum
Contrôle d’admission Contrôle sur le trafic entrant Réservation des ressources possibles Maîtrise l’utilisation des ressources – Accepter / rejeter les flux Pas si simple à mettre en oeuvre – Évaluation des ressources disponibles
VI. Des solutions dans l’Internet
QoS avec ou sans état ? Solutions sans état Solutions avec état
Solutions existantes
IntServ – Integrated Services Architecture – Garanties de QoS dans les réseaux IP – Applications individuelles Réservation de ressources (routeur) – Maintenance des informations sur les ressources allouées – Gérer les demandes
Spécifications Chaque session doit – Déclarer ses besoins de QoS – Caractériser le trafic à envoyer 2 variables – R-spec – T-spec Protocole de signalisation pour véhiculer R-spec & T-spec
Classes Garantie – Bornes strictes sur les délais dans les files d’attente – Applications temps réel très sensibles aux délais Contrôlé – Mieux que le best effort mais sans garanties – Celles obtenues sur les routeurs non chargés Best effort
RSVP – Resource reSerVation Protocol Réservation de ressources pour les applications unicast et multicast Etablissement d’une session RSVP – Message PATH – T-Spec – Ad-Spec
RSVP – Resource reSerVation Protocol Requête d’une réservation – Message RESV – R-Spec Contrôle d’admission sur les routeurs – Si non, message d’erreur Flux multicast – Réservations communes – Partage des ressources
RSVP – Resource reSerVation Protocol Orienté destinataire du flux de données – Chargé de l'initialisation – De la réservation – Du maintien des ressources allouées
DiffServ – Differentiated Services Résoudre les problèmes d’IntServ Extensible Flexibilité Signalisation simple
Principes Fonctions à l’entrée du réseau – Complexes Fonctions dans le coeur du réseau – Simples Pas de classes définies – Plusieurs fonctions
Fonctions d’entrée Utilisateur définit le profil du flux – Débit – Taille des rafales Classification Marquage des paquets Lissage du trafic – Délai – Paquets rejetés
Fonctions de coeur Retransmission – Suivant la classe du paquet (marquage) Exemples – Paquets de classe A retransmis avant les paquets de classe B – Paquets de classe A obtiennent x% de la bande passante Aucune information maintenue sur les routeurs