Thèse présentée pour obtenir le grade de Docteur de l Université de Strasbourg Laboratoire LSIIT Université de Strasbourg / CNRS Discipline : Informatique Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif Soutenance le 21 septembre 21 Membres du jury Directeur : Rapporteurs : Examinateurs : Jean-Jacques Pansiot, Professeur, Université de Strasbourg Guy Leduc, Professeur, Université de Liège François Spies, Professeur, Université de Franche-Comté Thomas Noël, Professeur, Université de Strasbourg Vincent Roca, Chargé de recherches, INRIA Rhône-Alpes Benoît Hilt, Maître de Conférences, Université de Haute Alsace
Sommaire Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 1. Contexte général Communications de groupe Contrôle de congestion 2. Contrôle de congestion multicast Méthodes d évaluation Le protocole M2C 3. Organisation des données Interface avec l application Utilisation par l application 4. Conclusion générale et perspectives Conclusion générale Perspectives Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 2
Sommaire Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 1. Contexte général Communications de groupe Contrôle de congestion 2. Contrôle de congestion multicast Méthodes d évaluation Le protocole M2C 3. Organisation des données Interface avec l application Utilisation par l application 4. Conclusion générale et perspectives Conclusion générale Perspectives Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 3
Contexte général Communications de groupe
Communications de groupe Contexte général Application transmet les mêmes données vers plusieurs récepteurs : diffusion audio / vidéo, échange de fichiers. Télévision sur Internet (IPTV) Audio conférence Applications boursières Utilisation du multicast IP. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 5
Communications de groupe Flux unicast IP Flux multicast IP Contexte général Source Source Récepteur 1 Récepteur 2 Récepteur 3 Récepteur 1 Récepteur 2 Récepteur 3 Objectifs : Minimiser le nombre de copies de la même donnée. Performances indépendantes du nombre de récepteurs, Notion de passage à l échelle (extensibilité). Multicast IP : uniquement pour les flux de longue durée. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 6
Contexte général Contrôle de congestion
Contrôle de congestion Contexte général Lien faible 2) Perte 1) Mise en file d'attente! Congestion Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 8
Contrôle de congestion Contexte général Lien faible 2) Perte 1) Mise en file d'attente! Congestion Objectifs du contrôle de congestion : Permettre l utilisation maximale de la bande passante. Limiter les pertes de paquets. Partager équitablement la bande passante entre les différents flux parcourant le lien faible. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 8
Contrôle de congestion Contexte général Contrôle de congestion unicast de TCP (NewReno) : De bout en bout, entre la source et le récepteur. 1 La source envoie des données au récepteur. Échange de messages de TCP Source Données Récepteur Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 9
Contrôle de congestion Contexte général Contrôle de congestion unicast de TCP (NewReno) : De bout en bout, entre la source et le récepteur. 1 La source envoie des données au récepteur. 2 Le récepteur acquitte les données reçues à la source. Échange de messages de TCP Source Données Acquittements Récepteur Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 9
Contrôle de congestion Contexte général Contrôle de congestion unicast de TCP (NewReno) : De bout en bout, entre la source et le récepteur. 1 La source envoie des données au récepteur. 2 Le récepteur acquitte les données reçues à la source. 3 La source contrôle le débit envoyé en fonction des pertes estimées, déduites grâce aux acquittements reçus. Échange de messages de TCP Source Débit contrôlé en un aller-retour, "Roud Trip Time (RTT)" Données Acquittements Récepteur Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 9
Contrôle de congestion Contexte général Contrôle de congestion unicast de TCP (NewReno) : De bout en bout, entre la source et le récepteur. 1 La source envoie des données au récepteur. 2 Le récepteur acquitte les données reçues à la source. 3 La source contrôle le débit envoyé en fonction des pertes estimées, déduites grâce aux acquittements reçus. Échange de messages de TCP Algorithme du contrôle de congestion de TCP Source Débit Démarrage lent Débit contrôlé en un aller-retour, "Roud Trip Time (RTT)" Débit équitable Données Acquittements Récepteur Perte Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 9
Contrôle de congestion Contexte général Contrôle de congestion unicast de TCP (NewReno) : De bout en bout, entre la source et le récepteur. 1 La source envoie des données au récepteur. 2 Le récepteur acquitte les données reçues à la source. 3 La source contrôle le débit envoyé en fonction des pertes estimées, déduites grâce aux acquittements reçus. Échange de messages de TCP Algorithme du contrôle de congestion de TCP Source Débit Démarrage lent Débit contrôlé en un aller-retour, "Roud Trip Time (RTT)" Débit équitable Données Acquittements Récepteur Perte Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 9
Contrôle de congestion Contexte général Contrôle de congestion unicast de TCP (NewReno) : De bout en bout, entre la source et le récepteur. 1 La source envoie des données au récepteur. 2 Le récepteur acquitte les données reçues à la source. 3 La source contrôle le débit envoyé en fonction des pertes estimées, déduites grâce aux acquittements reçus. Échange de messages de TCP Algorithme du contrôle de congestion de TCP Source Débit Démarrage lent Évitement de congestion Débit contrôlé en un aller-retour, "Roud Trip Time (RTT)" Débit équitable Données Acquittements Récepteur Perte Perte Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 9
Contrôle de congestion Contexte général Contrôle de congestion unicast de TCP (NewReno) : De bout en bout, entre la source et le récepteur. 1 La source envoie des données au récepteur. 2 Le récepteur acquitte les données reçues à la source. 3 La source contrôle le débit envoyé en fonction des pertes estimées, déduites grâce aux acquittements reçus. Échange de messages de TCP Algorithme du contrôle de congestion de TCP Source Débit Démarrage lent Évitement de congestion Débit contrôlé en un aller-retour, "Roud Trip Time (RTT)" Débit équitable Données Acquittements Récepteur Perte Perte Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 9
Contrôle de congestion Contexte général Contrôle de congestion unicast de TCP (NewReno) : De bout en bout, entre la source et le récepteur. 1 La source envoie des données au récepteur. 2 Le récepteur acquitte les données reçues à la source. 3 La source contrôle le débit envoyé en fonction des pertes estimées, déduites grâce aux acquittements reçus. Échange de messages de TCP Algorithme du contrôle de congestion de TCP Source Débit contrôlé en un aller-retour, "Roud Trip Time (RTT)" Données Acquittements Récepteur Débit Débit équitable Évitement Débit moyen de TCP de estimable Démarrage par une équation, congestion en fonction : lent - du taux de pertes - du RTT Perte Perte Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 9
Contrôle de congestion Contexte général 1) Contrôle de congestion multicast à débit unique Principes proches de ceux de TCP : Chaque récepteur envoie des acquittements négatifs. La source contrôle le débit, qui correspond au récepteur ayant le moins de bande passante disponible. Flux multicast avec source à débit unique Source Récepteur 1 Récepteur 2 Récepteur 3 Données Acquittements négatifs Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 1
Contrôle de congestion Contexte général 1) Contrôle de congestion multicast à débit unique Principes proches de ceux de TCP : Chaque récepteur envoie des acquittements négatifs. La source contrôle le débit, qui correspond au récepteur ayant le moins de bande passante disponible. Flux multicast avec source à débit unique Source Sous-utilisation de la bande Récepteur 1 Récepteur passante 2 Récepteur 3 Données Acquittements négatifs Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 1
Contrôle de congestion Contexte général 1) Contrôle de congestion multicast à débit unique Principes proches de ceux de TCP : Chaque récepteur envoie des acquittements négatifs. La source contrôle le débit, qui correspond au récepteur ayant le moins de bande passante disponible. Flux multicast avec source à débit unique Source Surchage due aux acquittements Sous-utilisation de la bande Récepteur 1 Récepteur passante 2 Récepteur 3 Données Acquittements négatifs Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 1
Contrôle de congestion Contexte général 1) Contrôle de congestion multicast à débit unique Principes proches de ceux de TCP : Chaque récepteur envoie des acquittements négatifs. La source contrôle le débit, qui correspond au récepteur ayant le moins de bande passante disponible. Flux multicast avec source à débit unique Source Surchage due aux acquittements Sous-utilisation de la bande Récepteur 1 Récepteur passante 2 Récepteur 3 Données Acquittements négatifs Ainsi, l extensibilité du multicast IP est conservé en prohibant l envoi de message des récepteurs vers la source. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 1
Contrôle de congestion Contexte général 2) Contrôle de congestion multicast à canaux statiques Utilisations de multiples canaux. Chaque récepteur reçoit un débit correspondant à ses capacités. Flux multicast avec source utilisant des canaux à débits statiques Algorithme de la source : Algorithme des récepteurs : Flux applicatif Ordonnancement Canaux/ couches multicast Estimation du débit souhaité Join Join Join Join Leave Récepteurs Source Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 11
Contrôle de congestion Contexte général 2) Contrôle de congestion multicast à canaux statiques Utilisations de multiples canaux. Chaque récepteur reçoit un débit correspondant à ses capacités. Flux multicast avec source utilisant des canaux à débits statiques Algorithme de la source : Algorithme des récepteurs : Flux applicatif Ordonnancement Canaux/ couches multicast Estimation du débit souhaité Join Join Join Join Leave Temps de désabonnement important Récepteurs Source Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 11
Contrôle de congestion Contexte général 3) Contrôle de congestion multicast à canaux dynamiques Un récepteur réduit son débit en patientant (pas de signalisation nécessaire). Source Récepteur Débit 1) Démarrage au débit maximum Débit Estimation du débit souhaité Temps Débit émis Temps Débit reçu Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 12
Contrôle de congestion Contexte général 3) Contrôle de congestion multicast à canaux dynamiques Un récepteur réduit son débit en patientant (pas de signalisation nécessaire). Source Récepteur Débit 1) Démarrage au débit maximum 2) Diminution progressive Débit Estimation du débit souhaité Temps Débit émis Temps Débit reçu Cette estimation doit être équitable : Envers les flux multicast et envers les flux TCP. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 12
Contrôle de congestion Contexte général 3) Contrôle de congestion multicast à canaux dynamiques Un récepteur réduit son débit en patientant (pas de signalisation nécessaire). Source Récepteur Débit 1) Démarrage au débit maximum 2) Diminution progressive 3) Canal muet Débit Estimation du débit souhaité Temps Débit émis Temps Débit reçu Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 12
Contrôle de congestion Contexte général 3) Contrôle de congestion multicast à canaux dynamiques Un récepteur réduit son débit en patientant (pas de signalisation nécessaire). Source Récepteur Débit Temps 1) Démarrage au débit maximum 2) Diminution progressive 3) Canal muet 4) Reprise du cycle Débit émis Débit Temps Estimation du débit souhaité Débit reçu Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 12
Contrôle de congestion Contexte général 3) Contrôle de congestion multicast à canaux dynamiques Un récepteur réduit son débit en patientant (pas de signalisation nécessaire). Source Récepteur Débit Temps 1) Démarrage au débit maximum 2) Diminution progressive 3) Canal muet 4) Reprise du cycle Débit émis Débit Temps Estimation du débit souhaité Débit reçu Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 12
Contrôle de congestion Contexte général Contrôle de congestion équitable avec TCP WEBRC est un protocole de contrôle de congestion multicast : Utilisant des canaux dynamiques. Le plus abouti concernant le partage équitable de la bande passante. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 13
Contrôle de congestion Contexte général Contrôle de congestion équitable avec TCP WEBRC est un protocole de contrôle de congestion multicast : Utilisant des canaux dynamiques. Le plus abouti concernant le partage équitable de la bande passante. Le récepteur de WEBRC estime le débit équitable selon l équation du débit de TCP calculée en fonction : du taux de pertes et du RTT. Récepteur WEBRC Débit Temps Estimation du débit souhaité Débit reçu Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 13
Contrôle de congestion Contexte général Contrôle de congestion équitable avec TCP WEBRC est un protocole de contrôle de congestion multicast : Utilisant des canaux dynamiques. Le plus abouti concernant le partage équitable de la bande passante. Le récepteur de WEBRC estime le débit équitable selon l équation du débit de TCP calculée en fonction : du taux de pertes et du RTT. Récepteur WEBRC Débit Temps Estimation du débit souhaité Débit reçu Comme les récepteurs n envoient pas de messages à la source : il n y a pas de RTT et WEBRC approxime le RTT par une moyenne du temps d abonnement. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 13
Conclusion Contexte général Évolution du contrôle de congestion pour le multicast Famille Avantages Inconvénients 1) À débit unique Simple et fiable. Débit limité au récepteur de plus faible débit. 2) À canaux statiques Chaque récepteur Latence du désabonnement. contrôle son débit. Pas de RTT. 3) À canaux dynamiques Diminution automatique du débit. Pas de RTT. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 14
Conclusion Contexte général Évolution du contrôle de congestion pour le multicast Famille Avantages Inconvénients 1) À débit unique Simple et fiable. Débit limité au récepteur de plus faible débit. 2) À canaux statiques Chaque récepteur Latence du désabonnement. contrôle son débit. Pas de RTT. 3) À canaux dynamiques Diminution automatique du débit. Pas de RTT. WEBRC est le contrôle de congestion multicast le plus abouti : Utilise les canaux dynamiques. Propose une estimation du débit équitable. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 14
Conclusion Contexte général Évolution du contrôle de congestion pour le multicast Famille Avantages Inconvénients 1) À débit unique Simple et fiable. Débit limité au récepteur de plus faible débit. 2) À canaux statiques Chaque récepteur Latence du désabonnement. contrôle son débit. Pas de RTT. 3) À canaux dynamiques Diminution automatique du débit. Pas de RTT. WEBRC est le contrôle de congestion multicast le plus abouti : Utilise les canaux dynamiques. Propose une estimation du débit équitable. Cependant, WEBRC : N a été évalué que par simulations. Nécessite d être évalué par expérimentations. Est sujet à des limitations, ce qui nécessite de proposer une solution : le protocole M2C. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 14
Sommaire Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 1. Contexte général Communications de groupe Contrôle de congestion 2. Contrôle de congestion multicast Méthodes d évaluation Le protocole M2C 3. Organisation des données Interface avec l application Utilisation par l application 4. Conclusion générale et perspectives Conclusion générale Perspectives Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 15
Contrôle de congestion multicast Méthodes d évaluation
Méthodes d évaluation Contrôle de congestion multicast Mise en place d une méthode d évaluation des protocoles de congestion multicast : Définition de métriques. Définition de scenarii. Choix de réaliser : Des Simulations Introduisent des simplifications de la réalité : Par exemple, hypothèse sur le temps d adhésion. Des expérimentations Nécessitent la création : D une implémentation de protocoles existants dont WEBRC : http://svnet.unistra.fr/mcc/ De plateformes d expérimentations. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 17
Méthodes d évaluation Contrôle de congestion multicast Définition de métriques : taux d utilisation de la bande passante - "BandWidth Usage (BWU)", pourcentage de pertes - "Loss Rate (LR)", partage équitable de la bande passante (indice de Jain) - "Fairness (F)", temps de convergence - "Convergence Time (CT)", et le surcoût de signalisation - "Signaling Overhead (SO)". Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 18
Méthodes d évaluation Contrôle de congestion multicast Définition de scenarii : 1 flux multicast face à 1 flux TCP, 1 flux multicast face à N flux TCP, M flux multicast face à N flux TCP, Trafic en bruit de fond, RTT hétérogènes, temps de convergence, liens faibles multiples, variation du nombre de flux concurrents, Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 19
Méthodes d évaluation Contrôle de congestion multicast Création de plateformes d expérimentations : plateforme locale dédiée, plateforme utilisant le réseau de production entre : Strasbourg (France) et Trondheim (Norvège) Strasbourg (France) et Louvain-la-Neuve (Belgique) Ces plateformes permettent de contrôler : les débits du lien faible, les tailles des files d attentes et le temps de propagation ajouté. Plateforme locale Source Source 1 Mb/s Limitation du débit (1 ou 4 Mb/s) Taille de la file d'attente 1 Mb/s Temps de propagation ajouté Plateforme Strasbourg-Louvain Renater (France) Geant Belnet (Belgique) Plateforme locale (Strasbourg) 1 Mb/s Récepteur Récepteur Sources (Louvain-la-Neuve) Récepteurs (Strasbourg) Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 2
Méthodes d évaluation Contrôle de congestion multicast Mesures du temps d adhésion sur la plateforme Strasbourg-Trondheim : Mesures du temps d adhésion Temps d adhésion (ms) Temps d'adhésion moyen : 22ms 5 4 3 2 1 Temps d adhésion Ssmping 2 4 6 8 11214 Temps (1 min) Temps de propagation moyen : 6ms Description du temps d adhésion T e m p s d ' a d h é s i o n Temps de branchement Temps de propagation Temps Récepteur IGMP/MLD join(s, G) Récepteur PIM join(s, G) PIM join(s, G) Routeur de branchement Données Source Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 21
Méthodes d évaluation Contrôle de congestion multicast Mesures du temps d adhésion sur la plateforme Strasbourg-Trondheim : Mesures du temps d adhésion Temps d adhésion (ms) Temps d'adhésion moyen : 22ms 5 4 3 2 1 Temps d adhésion Ssmping 2 4 6 8 11214 Temps (1 min) Temps de propagation moyen : 6ms Description du temps d adhésion T e m p s d ' a d h é s i o n Temps de branchement Temps de propagation Temps Récepteur IGMP/MLD join(s, G) Récepteur PIM join(s, G) PIM join(s, G) Routeur de branchement Données Source Temps d adhésion, "Join Time (JT)", plus de 2 fois > au RTT. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 21
Méthodes d évaluation Contrôle de congestion multicast Mesures du temps d adhésion sur la plateforme Strasbourg-Trondheim : Mesures du temps d adhésion Temps d adhésion (ms) Temps d'adhésion moyen : 22ms 5 4 3 2 1 Temps d adhésion Ssmping 2 4 6 8 11214 Temps (1 min) Temps de propagation moyen : 6ms Description du temps d adhésion T e m p s d ' a d h é s i o n Temps de branchement Temps de propagation Temps Récepteur IGMP/MLD join(s, G) Récepteur PIM join(s, G) PIM join(s, G) Routeur de branchement Ordonnancement avant propagation Données Source Temps d adhésion, "Join Time (JT)", plus de 2 fois > au RTT. Phénomène lié à l ordonnancement la signalisation multicast au sein des routeurs. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 21
Méthodes d évaluation Contrôle de congestion multicast Influence du temps d adhésion sur WEBRC. Résultats plateforme locale (JT RTT) Résultats plateforme Strasbourg-Trondheim (JT >= RTT) 15 WEBRC 15 WEBRC Débit (Kb/s) 125 1 75 5 Débit du lien faible (1Mb/s) Débit (Kb/s) 125 1 75 5 Débit du lien faible (1Mb/s) 25 25 2 4 6 Temps (s) 2 4 6 Temps (s) WEBRC utilise le temps d adhésion comme approximation du RTT afin de calculer le débit équitable. Induit WEBRC à sous-estimer le débit équitable. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 22
Méthodes d évaluation Contrôle de congestion multicast Équité de WEBRC : Plateforme locale (JT RTT). 1 flux WEBRC face à 1 flux TCP : lien faible à 1Mb/s 1.9.8 z.7.6.5 1.9.8.7.6.5 y 25 5 5 75 1 x 25 1 x : File d attente (# de paquets), y : Délai ajouté (en ms), z : Équité (F). WEBRC est équitable mais n est pas robuste : F =.9(±.23). Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 23
Méthodes d évaluation Contrôle de congestion multicast Évaluation de WEBRC : La latence du temps d adhésion induit WEBRC à sous-estimer le débit équitable. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 24
Méthodes d évaluation Contrôle de congestion multicast Évaluation de WEBRC : La latence du temps d adhésion induit WEBRC à sous-estimer le débit équitable. Même sans le problème du temps d adhésion : WEBRC est équitable mais pas de façon robuste. Des tests complémentaires montrent que l équité de WEBRC est dégradée par le nombre et la dynamique des flux concurrents. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 24
Méthodes d évaluation Contrôle de congestion multicast Évaluation de WEBRC : La latence du temps d adhésion induit WEBRC à sous-estimer le débit équitable. Même sans le problème du temps d adhésion : WEBRC est équitable mais pas de façon robuste. Des tests complémentaires montrent que l équité de WEBRC est dégradée par le nombre et la dynamique des flux concurrents. Conclusion : Il est nécessaire de créer un protocole équitable avec TCP. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 24
Contrôle de congestion multicast Le protocole M2C
Le protocole M2C Contrôle de congestion multicast M2C est un protocole de contrôle de congestion créé pour : Supporter le passage à très grande échelle : Utilisation et amélioration de la source de WEBRC. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 26
Le protocole M2C Contrôle de congestion multicast M2C est un protocole de contrôle de congestion créé pour : Supporter le passage à très grande échelle : Utilisation et amélioration de la source de WEBRC. Prise en compte du temps d adhésion : Estimation du RTT se basant sur le temps source-récepteurs des paquets de données : Nécessite une synchronisation des horloges de la source et des récepteurs (par exemple par NTP ou GPS). Ajout de la date d émission du paquet dans l entête du protocole. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 26
Le protocole M2C Contrôle de congestion multicast M2C est un protocole de contrôle de congestion créé pour : Supporter le passage à très grande échelle : Utilisation et amélioration de la source de WEBRC. Prise en compte du temps d adhésion : Estimation du RTT se basant sur le temps source-récepteurs des paquets de données : Nécessite une synchronisation des horloges de la source et des récepteurs (par exemple par NTP ou GPS). Ajout de la date d émission du paquet dans l entête du protocole. Équitable avec TCP : Adaptation côté récepteur du mécanisme de fenêtre de congestion de TCP. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 26
Le protocole M2C Contrôle de congestion multicast Mécanisme de fenêtre de congestion côté récepteur : Diagramme états-transitions de M2Cv1 État 1 Démarrage lent Perte État 2 Évitement de congestion Perte Principe de l estimation du débit équitable de M2Cv1 Débit État 1 Démarrage lent Perte Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 27
Le protocole M2C Contrôle de congestion multicast Mécanisme de fenêtre de congestion côté récepteur : Diagramme états-transitions de M2Cv1 État 1 Démarrage lent Perte État 2 Évitement de congestion Perte Principe de l estimation du débit équitable de M2Cv1 Débit État 1 Démarrage lent État 2 Évitement de congestion Pertes Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 27
Problème d équité dû à la convergence extrêmement lente de Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif M2Cv1. 28 Le protocole M2C Contrôle de congestion multicast Équité de M2Cv1 : Plateforme locale (JT RTT). 1 flux M2Cv1 face à 1 flux TCP : lien faible à 1Mb/s z 1.9.8.7.6.5 Tests où M2Cv1 n'est pas équitable Tests où M2Cv1 est équitable 1.9.8.7.6.5 y 25 5 5 75 1 x 25 1 x : File d attente (# de paquets), y : Délai ajouté (en ms), z : Équité (F).
Problème d équité dû à la convergence extrêmement lente de Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif M2Cv1. 28 Le protocole M2C Contrôle de congestion multicast Équité de M2Cv1 : Plateforme locale (JT RTT). 1 flux M2Cv1 face à 1 flux TCP : lien faible à 1Mb/s z 1.9.8.7.6.5 Tests où M2Cv1 n'est pas équitable Tests où M2Cv1 est équitable 1.9.8.7.6.5 y 25 5 5 75 1 x 25 1 x : File d attente (# de paquets), y : Délai ajouté (en ms), z : Équité (F).
Problème d équité dû à la convergence extrêmement lente de Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif M2Cv1. 28 Le protocole M2C Contrôle de congestion multicast Équité de M2Cv1 : Plateforme locale (JT RTT). 1 flux M2Cv1 face à 1 flux TCP : lien faible à 1Mb/s z Tests où M2Cv1 Tests où M2Cv1 est équitable n'est pas équitable 1.9.8.7.6.5 1.9.8.7.6.5 y 25 5 5 75 1 x 25 1 x : File d attente (# de paquets), y : Délai ajouté (en ms), z : Équité (F).
Le protocole M2C Contrôle de congestion multicast M2Cv1 problème de convergence Débit Débit équitable Débit 1ière perte Débit après la 1ière perte trop éloigné du débit équitable Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 29
Le protocole M2C Contrôle de congestion multicast M2Cv1 problème de convergence Débit Débit équitable Débit 1ière perte Croissance trop lente de l'évitement de congestion Débit après la 1ière perte trop éloigné du débit équitable Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 29
Le protocole M2C Contrôle de congestion multicast Ajout d un mécanisme de reprise du Slow-Start : Dès qu il est peu probable de subir une nouvelle perte. Diagramme états-transitions de M2Cv2 T secondes Débit supérieur au État 1 État 2 écoulées État 3 seuil minimal État 4 Démarrage lent Perte / réinitialisation du minuteur, du seuil minimal et du seuil maximal Évitement de congestion Perte / réinitialisation du minuteur Démarrage lent Perte / réinitialisation du minuteur, du seuil minimal et du seuil maximal Évitement de congestion Débit supérieur au seuil maximal et 3T secondes écoulées Rafale de pertes État 3 État 4 État 1 Démarrage Évitement de Débit Démarrage lent congestionéquitable? Débit lent État 1 État 2 Seuil maximal Évitement de Débit première perte Démarrage lent congestion Seuil minimal Débit dernière perte Seuil Seuil Pertes Temps minimal maximal écoulé dépassé dépassé Temps T 2T 3T Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 3 {
Le protocole M2C Contrôle de congestion multicast Ajout d un mécanisme de reprise du Slow-Start : Dès qu il est peu probable de subir une nouvelle perte. Diagramme états-transitions de M2Cv2 T secondes Débit supérieur au État 1 État 2 écoulées État 3 seuil minimal État 4 Démarrage lent Perte / réinitialisation du minuteur, du seuil minimal et du seuil maximal Évitement de congestion Perte / réinitialisation du minuteur Démarrage lent Perte / réinitialisation du minuteur, du seuil minimal et du seuil maximal Évitement de congestion Débit supérieur au seuil maximal et 3T secondes écoulées Rafale de pertes État 3 État 4 État 1 Démarrage Évitement de Débit Démarrage lent congestionéquitable? Débit lent État 1 État 2 Seuil maximal Évitement de Débit première perte Démarrage lent congestion Seuil minimal Débit dernière perte Seuil Seuil Pertes Temps minimal maximal écoulé dépassé dépassé Temps T 2T 3T Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 3 {
Le protocole M2C Contrôle de congestion multicast Ajout d un mécanisme de reprise du Slow-Start : Dès qu il est peu probable de subir une nouvelle perte. Diagramme états-transitions de M2Cv2 T secondes Débit supérieur au État 1 État 2 écoulées État 3 seuil minimal État 4 Démarrage lent Perte / réinitialisation du minuteur, du seuil minimal et du seuil maximal Évitement de congestion Perte / réinitialisation du minuteur Démarrage lent Perte / réinitialisation du minuteur, du seuil minimal et du seuil maximal Évitement de congestion Débit supérieur au seuil maximal et 3T secondes écoulées Rafale de pertes État 3 État 4 État 1 Démarrage Évitement de Débit Débit Démarrage lent congestionéquitable? Débit équitable? lent État 1 État 2 Seuil maximal Évitement de Débit première perte Démarrage lent congestion Seuil minimal Débit dernière perte Seuil Seuil Pertes Temps minimal maximal écoulé dépassé dépassé Temps T 2T 3T Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 3 {
Le protocole M2C Contrôle de congestion multicast Ajout d un mécanisme de reprise du Slow-Start : Dès qu il est peu probable de subir une nouvelle perte. Diagramme états-transitions de M2Cv2 T secondes Débit supérieur au État 1 État 2 écoulées État 3 seuil minimal État 4 Démarrage lent Perte Évitement de congestion / réinitialisation du minuteur, du seuil minimal et du seuil maximal Perte / réinitialisation du minuteur Démarrage lent Perte / réinitialisation du minuteur, du seuil minimal et du seuil maximal RTT 2T Évitement de congestion Débit supérieur au seuil maximal et 3T secondes écoulées Rafale de pertes État 3 État 4 État 1 Démarrage Évitement de Débit Débit Démarrage lent congestionéquitable? Débit équitable? lent État 1 État 2 Seuil maximal Débit première perte Démarrage Évitement de lent congestion Seuil minimal Débit dernière perte Seuil Seuil Pertes Temps minimal maximal écoulé dépassé dépassé { 3T Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 3
Le protocole M2C Contrôle de congestion multicast Ajout d un mécanisme de reprise du Slow-Start : Dès qu il est peu probable de subir une nouvelle perte. Diagramme états-transitions de M2Cv2 T secondes Débit supérieur au État 1 État 2 écoulées État 3 seuil minimal État 4 Démarrage lent Perte Évitement de congestion / réinitialisation du minuteur, du seuil minimal et du seuil maximal Perte / réinitialisation du minuteur Démarrage lent Perte / réinitialisation du minuteur, du seuil minimal et du seuil maximal Évitement de congestion Débit supérieur au seuil maximal et 3T secondes écoulées Rafale de pertes État État 4 État 3 État 1 Évitement de Débit Démarrage Débit Démarrage lent congestionéquitable? Débit lent équitable? lent État 1 État 2 Seuil maximal Débit première perte Démarrage Évitement de lent congestion Seuil minimal Débit dernière perte Seuil Seuil Pertes Tempsminimal maximal écoulédépassé dépassé Temps RTT 2T 3T Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 3 {
Le protocole M2C Contrôle de congestion multicast Ajout d un mécanisme de reprise du Slow-Start : Dès qu il est peu probable de subir une nouvelle perte. Diagramme états-transitions de M2Cv2 T secondes Débit supérieur au État 1 État 2 écoulées État 3 seuil minimal État 4 Démarrage lent Perte Évitement de congestion / réinitialisation du minuteur, du seuil minimal et du seuil maximal Perte / réinitialisation du minuteur Démarrage lent Perte / réinitialisation du minuteur, du seuil minimal et du seuil maximal Évitement de congestion Débit supérieur au seuil maximal et 3T secondes écoulées Rafale État 4 de pertes Évitement de État État 4 État 3 congestion État 1 Évitement de Débit Démarrage Débit Démarrage lent congestionéquitable? Débit lent équitable? lent État 1 État 2 Seuil maximal Débit première perte Démarrage Évitement de lent congestion Seuil minimal Débit dernière perte Seuil Seuil Seuil Pertes Temps minimal maximal écoulé dépassé dépassé Temps RTT 2T 3T Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 3 {
Le protocole M2C Contrôle de congestion multicast Ajout d un mécanisme de reprise du Slow-Start : Dès qu il est peu probable de subir une nouvelle perte. Diagramme états-transitions de M2Cv2 T secondes Débit supérieur au État 1 État 2 écoulées État 3 seuil minimal État 4 Démarrage lent Perte Évitement de congestion / réinitialisation du minuteur, du seuil minimal et du seuil maximal Perte / réinitialisation du minuteur Démarrage lent Perte / réinitialisation du minuteur, du seuil minimal et du seuil maximal Évitement de congestion Débit supérieur au seuil maximal et 3T secondes écoulées Rafale État 4 État 1 de pertes Évitement de État État 4 Démarrage État 3 congestion État 1 Évitement de Débit Démarrage lent Démarrage Débit lent congestionéquitable? Débit lent équitable? lent État 1 État 2 Seuil maximal Débit première perte Démarrage Évitement de lent congestion Seuil minimal Débit dernière perte Seuil Seuil Seuil Seuil Pertes Temps minimal maximal écoulé dépassé dépassé Temps RTT 2T 3T Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 3 {
Le protocole M2C Contrôle de congestion multicast Équité de M2Cv2 : Plateforme locale (JT RTT). 1 flux M2Cv2 face à 1 flux TCP : lien faible à 1Mb/s 1.9.8 z.7.6.5 1.9.8.7.6.5 y 25 5 5 75 1 x 25 1 x : File d attente (# de paquets), y : Délai ajouté (en ms), z : Équité (F). Amélioration (insuffisante) du temps de convergence. Marge de sécurité pour revenir en Slow-Start trop importante. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 31
Le protocole M2C Contrôle de congestion multicast Amélioration du mécanisme de reprise du Slow-Start : Estimation du cycle de pertes de TCP. Estimation du cycle de perte de TCP Évitement de congestion Diagramme états-transitions de M2Cv3 Perte Fenêtre de congestion de TCP Cycle 1 Cycle 2 Cycle 3 { Démarrage lent Évitement de congestion Perte ou tampons pleins CW Fenêtre équitable Cycle de perte TCP écoulé CW *.5 Perte Perte NB_RTT * RTT = (.5 * CW/SegSize) * RTT Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 32
Le protocole M2C Contrôle de congestion multicast Amélioration du mécanisme de reprise du Slow-Start : Estimation du cycle de pertes de TCP. Estimation du cycle de perte de TCP Évitement de congestion Diagramme états-transitions de M2Cv3 Perte Fenêtre de congestion de TCP Cycle 1 {Cycle 1 Cycle 2 Cycle 3 Cycle 2 Cycle 3 { Démarrage lent Évitement de congestion Perte ou tampons pleins CW Fenêtre équitable Cycle de perte TCP écoulé CW *.5 Perte Perte Perte NB_RTT * RTT = (.5 * CW/SegSize) * RTT Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 32
Le protocole M2C Contrôle de congestion multicast Équité de M2Cv3 : Plateforme locale (JT RTT). 1 flux M2Cv3 face à 1 flux TCP : lien faible à 1Mb/s 1.9.8 z.7.6.5 1.9.8.7.6.5 y 25 5 5 75 1 x 25 1 x : File d attente (# de paquets), y : Délai ajouté (en ms), z : Équité (F). Équitable et robuste : F =.97 (±.8). Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 33
Le protocole M2C Contrôle de congestion multicast Amélioration du temps de convergence au démarrage : Ajout d un mécanisme de démarrage rapide : Fast-Start (FS). Permet d acquérir la bande passante inutilisée. Diagramme états-transitions de M2Cv3 Démarrage lent Perte Cycle de perte de TCP écoulé Démarrage rapide Évitement de congestion Perte ou tampons en remplissage Perte ou tampons pleins Débit en Slow-Start et Fast-Start Débit (Kb/s) 1 9 8 7 6 5 4 3 2 1 SS indépendant : - Du RTT - De l'utilisation de la bande passante 5 1 15 2 25 3 35 4 45 Temps (s) Courbe du SS Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 34
Le protocole M2C Contrôle de congestion multicast Amélioration du temps de convergence au démarrage : Ajout d un mécanisme de démarrage rapide : Fast-Start (FS). Permet d acquérir la bande passante inutilisée. Diagramme états-transitions de M2Cv4 Démarrage lent Perte Cycle de perte de TCP écoulé Démarrage rapide Évitement de congestion Perte ou tampons en remplissage Perte ou tampons pleins Débit en Slow-Start et Fast-Start Débit (Kb/s) 1 9 8 7 6 5 4 3 2 1 SS indépendant : - Du RTT - De l'utilisation de la bande passante 5 1 15 2 25 3 35 4 45 Temps (s) Courbe du SS Courbe du FS (temps adhésion = 2s) Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 34
Le protocole M2C Contrôle de congestion multicast Amélioration du temps de convergence au démarrage : Ajout d un mécanisme de démarrage rapide : Fast-Start (FS). Permet d acquérir la bande passante inutilisée. Diagramme états-transitions de M2Cv4 Démarrage lent Perte Cycle de perte de TCP écoulé Démarrage rapide Évitement de congestion Perte ou tampons en remplissage Perte ou tampons pleins Débit en Slow-Start et Fast-Start Débit (Kb/s) 1 9 8 7 6 5 4 3 2 1 SS indépendant : - Du RTT - De l'utilisation de la bande passante 5 1 15 2 25 3 35 4 45 Temps (s) Courbe du SS Courbe du FS (temps adhésion =.5s) Courbe du FS (temps adhésion = 2s) Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 34
Le protocole M2C Contrôle de congestion multicast Résultats du temps de convergence pour 1 flux M2Cv4 (local) Sans Fast-Start Temps (s) 8 7 6 5 4 3 2 1 1 25 Temps de convergence 1Mb/s Première perte Durée de congestion 5 75 1 1 4Mb/s 25 5 75 Taille des tampons (# paquets) 1 Avec Fast-Start Temps (s) 8 7 6 5 4 3 2 1 1 25 Temps de convergence 1Mb/s Première perte Durée de congestion 5 75 1 1 4Mb/s 25 5 75 Taille des tampons (# paquets) 1 Réduction sensible du temps de convergence. Première congestion plus importante, mais maîtrisée. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 35
Le protocole M2C Contrôle de congestion multicast Résultats du temps de convergence pour 1 flux M2Cv4 (Strasbourg-Louvain) Sans Fast-Start Temps (s) 8 7 6 5 4 3 2 1 1 25 Temps de convergence 1Mb/s Première perte Durée de congestion 5 75 1 1 4Mb/s 25 5 75 Taille des tampons (# paquets) 1 Avec Fast-Start Temps (s) 8 7 6 5 4 3 2 1 1 25 Temps de convergence 1Mb/s Première perte Durée de congestion 5 75 1 1 4Mb/s 25 5 75 Taille des tampons (# paquets) 1 Réduction du temps de convergence sauf en cas de bande passante déjà saturée. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 36
Le protocole M2C Contrôle de congestion multicast Scénario avec des liens faibles multiples Débit 1 Débit 2 Récepteur Sources Débit 3 Récepteur Test 1Test 2Test 3Test 4 Test 5Test 6 Test 7Test 8 Débit 1 (Mb/s) 1 1 1 1 4 4 4 4 Débit 2 (Mb/s) 8 8.25.75 8 8 1 3 Débit 3 (Mb/s).25.75 8 8 1 3 8 8 Résultats avec WEBRC Test BWU LR (%) F Plateforme locale 2 WEBRC.86 1.1.92 (±.14) (±1.33) (±.27) 1 WEBRC.95 1.18.93 /1 TCP (±.8) (±4.5) (±.19) Plateforme Strasbourg-Louvain 2 WEBRC.83.75.95 (±.11) (±1.29) (±.24) 1 WEBRC.87.62.88 /1 TCP (±.65) (±2.14) (±.38) Résultats avec M2Cv4 Test BWU LR (%) F Plateforme locale 2 M2Cv4.98 4.91.98 (±.2) (±3.45) (±.5) 1 M2Cv4.99 2.84.96 /1 TCP (±.1) (±7.) (±.12) Plateforme Strasbourg-Louvain 2 M2Cv4.97 3.5 1. (±.2) (±3.81) (±.2) 1 M2Cv4.98 1.8.98 /1 TCP (±.2) (±3.41) (±.5) Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 37
Le protocole M2C Contrôle de congestion multicast Scénario avec des liens faibles multiples Débit 1 Débit 2 Récepteur Sources Débit 3 Récepteur Test 1Test 2Test 3Test 4 Test 5Test 6 Test 7Test 8 Débit 1 (Mb/s) 1 1 1 1 4 4 4 4 Débit 2 (Mb/s) 8 8.25.75 8 8 1 3 Débit 3 (Mb/s).25.75 8 8 1 3 8 8 Résultats avec WEBRC Test BWU LR (%) F Plateforme locale 2 WEBRC.86 1.1.92 (±.14) (±1.33) (±.27) 1 WEBRC.95 1.18.93 /1 TCP (±.8) (±4.5) (±.19) Plateforme Strasbourg-Louvain 2 WEBRC.83.75.95 (±.11) (±1.29) (±.24) 1 WEBRC.87.62.88 /1 TCP (±.65) (±2.14) (±.38) Résultats avec M2Cv4 Test BWU LR (%) F Plateforme locale 2 M2Cv4.98 4.91.98 (±.2) (±3.45) (±.5) 1 M2Cv4.99 2.84.96 /1 TCP (±.1) (±7.) (±.12) Plateforme Strasbourg-Louvain 2 M2Cv4.97 3.5 1. (±.2) (±3.81) (±.2) 1 M2Cv4.98 1.8.98 /1 TCP (±.2) (±3.41) (±.5) Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 37
Le protocole M2C Contrôle de congestion multicast Scénario avec des liens faibles multiples Débit 1 Débit 2 Récepteur Sources Débit 3 Récepteur Test 1Test 2Test 3Test 4 Test 5Test 6 Test 7Test 8 Débit 1 (Mb/s) 1 1 1 1 4 4 4 4 Débit 2 (Mb/s) 8 8.25.75 8 8 1 3 Débit 3 (Mb/s).25.75 8 8 1 3 8 8 Résultats avec WEBRC Test BWU LR (%) F Plateforme locale 2 WEBRC.86 1.1.92 (±.14) (±1.33) (±.27) 1 WEBRC.95 1.18.93 /1 TCP (±.8) (±4.5) (±.19) Plateforme Strasbourg-Louvain 2 WEBRC.83.75.95 (±.11) (±1.29) (±.24) 1 WEBRC.87.62.88 /1 TCP (±.65) (±2.14) (±.38) Résultats avec M2Cv4 Test BWU LR (%) F Plateforme locale 2 M2Cv4.98 4.91.98 (±.2) (±3.45) (±.5) 1 M2Cv4.99 2.84.96 /1 TCP (±.1) (±7.) (±.12) Plateforme Strasbourg-Louvain 2 M2Cv4.97 3.5 1. (±.2) (±3.81) (±.2) 1 M2Cv4.98 1.8.98 /1 TCP (±.2) (±3.41) (±.5) Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 37
Conclusion Contrôle de congestion multicast Les expérimentations ont mis en évidence que : Le temps d adhésion n est pas négligeable et influe sur le contrôle de congestion multicast. Même sans le problème du temps d adhésion : WEBRC n est pas robuste en terme d équité. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 38
Conclusion Contrôle de congestion multicast Les expérimentations ont mis en évidence que : Le temps d adhésion n est pas négligeable et influe sur le contrôle de congestion multicast. Même sans le problème du temps d adhésion : WEBRC n est pas robuste en terme d équité. Nous avons proposé un protocole de contrôle de congestion (M2C), qui : Utilise une source à canaux dynamiques. Estime le débit équitable au moyen d une fenêtre de congestion. Prend en compte les spécificités de la signalisation multicast. Est équitable et robuste envers TCP et les autres flux M2C. Présente un faible temps de convergence vers le débit équitable. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 38
Sommaire Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 1. Contexte général Communications de groupe Contrôle de congestion 2. Contrôle de congestion multicast Méthodes d évaluation Le protocole M2C 3. Organisation des données Interface avec l application Utilisation par l application 4. Conclusion générale et perspectives Conclusion générale Perspectives Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 39
Organisation des données Interface avec l application
Interface avec l application Organisation des données Fonctionnement des canaux dynamiques : Gestion des canaux dynamiques Débit 1 1 2 2 3 3 4 1 5 2 6 3 7 Temps 1*TSD 2*TSD X X X Débit cumulatif pour le groupe g Débit cumulatif pour le groupe g1 Débit cumulatif pour le groupe g2 Numéro de séquence pour le groupe g Numéro de séquence pour le groupe g1 Numéro de séquence pour le groupe g2 Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 41
Interface avec l application Organisation des données Les récepteurs peuvent souscrire à n importe quel débit de façon cumulative et hiérarchique : Gestion des canaux dynamiques Temps d'abonnement pour le débit équitable 1 Débit Abonnement à g1 Abonnement à g2 Débit équitable 1 Débit cumulatif pour le groupe g Débit cumulatif pour le groupe g1 Débit cumulatif pour le groupe g2 Temps 1*TSD 2*TSD Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 42
Interface avec l application Organisation des données Les récepteurs peuvent souscrire à n importe quel débit de façon cumulative et hiérarchique : Gestion des canaux dynamiques Temps d'abonnement pour le débit équitable 1 Débit Temps d'abonnement pour le débit équitable 2 Abonnement à g1 Abonnement à g1 Abonnement à g2 Abonnement à g2 Débit équitable 1 Débit équitable 2 Débit cumulatif pour le groupe g Débit cumulatif pour le groupe g1 Débit cumulatif pour le groupe g2 Temps 1*TSD 2*TSD Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 42
Interface avec l application Organisation des données Une application peut-elle utiliser efficacement un protocole à canaux dynamiques? Interface avec le niveau transport Données???? G G1 G2 G3 Paquet #Z+3 Paquet #Y+3 Paquet #X+2 Paquet #W+7 Paquet #W+6 Paquet #W+5 Paquet #Z+2 Paquet #Y+2 Paquet #W+4 Paquet #X+1 Paquet #W+3 Paquet Paquet #Z+1 #W+2 Paquet #Y+1 Paquet #W+1 Paquet Paquet #W #Z Paquet #X Paquet #Y Application Ordonnanceur M2C Niveau Applicatif Niveau Transport Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 43
Interface avec l application Organisation des données Une application peut-elle utiliser efficacement un protocole à canaux dynamiques? Interface avec le niveau transport Données???? G G1 G2 G3 Paquet #Z+3 Paquet #Y+3 Paquet #X+2 Paquet #W+7 Paquet #W+6 Paquet #W+5 Paquet #Z+2 Paquet #Y+2 Paquet #W+4 Paquet #X+1 Paquet #W+3 Paquet Paquet #Z+1 #W+2 Paquet #Y+1 Paquet #W+1 Paquet Paquet #W #Z Paquet #X Paquet #Y Application Ordonnanceur M2C Niveau Applicatif Niveau Transport Temps Nous proposons de créer : Un séquenceur s occupant de mettre en correspondance les données applicatives avec les canaux multicast. Une API simplifiant l utilisation du séquenceur. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 43
Interface avec l application Organisation des données Utilisation de l API : La source fournit un tampon avec les données les plus importantes en premier et les moins importantes à la fin. Le séquenceur permet à un récepteur qui reçoit N% du débit de la source de recevoir les N % les plus importants des données. Diagramme de flux d un logiciel utilisant M2C Application Tampon hiérarchique Niveau applicatif Niveau transport M2C Séquenceur Paquets triés par ordre d'importance Ordonnanceur Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 44
Interface avec l application Organisation des données Algorithme du séquenceur État initial Buffer_time { Débit 1 1 2 2 3 3 4 1 5 2 6 3 7 Temps 1*TSD 2*TSD Débit cumulatif pour le groupe g Débit cumulatif pour le groupe g1 Débit cumulatif pour le groupe g2 X X X Numéro de paquet pour le groupe g Numéro de paquet pour le groupe g1 Numéro de paquet pour le groupe g2 Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 45
Interface avec l application Organisation des données Algorithme du séquenceur État initial Buffer_time { 1) Priorité au groupe de base Buffer_time Débit { Débit 1 2 1 2 1 2 3 1 Paquets des groupes dynamiques 1 2 3 3 4 5 6 3 7 Temps Débit 1 2 3 4 5 Temps Paquets du groupe de base Temps 1*TSD 2*TSD Débit cumulatif pour le groupe g Débit cumulatif pour le groupe g1 Débit cumulatif pour le groupe g2 X X X Numéro de paquet pour le groupe g Numéro de paquet pour le groupe g1 Numéro de paquet pour le groupe g2 Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 45
Interface avec l application Organisation des données Algorithme du séquenceur État initial Buffer_time { 1) Priorité au groupe de base Buffer_time Débit { Débit 1 2 1 2 1 2 3 1 Paquets des groupes dynamiques 1 2 3 3 4 5 6 3 7 Temps Débit 1 2 3 4 5 Temps Paquets du groupe de base Temps 1*TSD 2*TSD 2) Priorité au débit le plus bas Débit 1 2 1 3 Débit 4 1 5 2 3 Débit cumulatif pour le groupe g Débit cumulatif pour le groupe g1 Débit cumulatif pour le groupe g2 X X X Numéro de paquet pour le groupe g Numéro de paquet pour le groupe g1 Numéro de paquet pour le groupe g2 Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 45
Interface avec l application Organisation des données Algorithme du séquenceur État initial Buffer_time { 1) Priorité au groupe de base Buffer_time Débit { Débit 1 2 1 2 1 2 3 1 Paquets des groupes dynamiques 1 2 3 3 4 5 6 3 7 Temps Débit 1 2 3 4 5 Temps Paquets du groupe de base Temps 1*TSD 2*TSD 2) Priorité au débit le plus bas 3) Priorité à la dernière date d'émission Débit Débit 1 2 3 4 1 5 2 3 1 1 1 2 3 4 1 5 2 3 Copie Copie Données applicatives Données les moins importantes Données les plus importantes Débit cumulatif pour le groupe g Débit cumulatif pour le groupe g1 Débit cumulatif pour le groupe g2 X X X Numéro de paquet pour le groupe g Numéro de paquet pour le groupe g1 Numéro de paquet pour le groupe g2 Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 45
Interface avec l application Organisation des données Critères d évaluations : Calcul du CBL et du SBL 15 135 } 125 115 55 35 Données applicatives source Transmission Données applicatives reçues Nombre total de données reçues 15 Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 46
Interface avec l application Organisation des données Critères d évaluations : Continuous Buffer Length (CBL) : le nombre de données contiguës reçues. Représente le pourcentage de données reçues jusqu à la première perte. Calcul du CBL et du SBL 15 135 } 125 115 55 35 Données applicatives source Transmission Données applicatives reçues CBL = 35 / 15 CBL =.33 Nombre total de données reçues 15 35/ 135 125 115 55 35 Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 46
Interface avec l application Organisation des données Critères d évaluations : Continuous Buffer Length (CBL) : le nombre de données contiguës reçues. Représente le pourcentage de données reçues jusqu à la première perte. Sparse Buffer Length (SBL) : le nombre de données éparses reçues. Représente l importance des données reçues. Calcul du CBL et du SBL 15 135 } 125 115 55 35 Données applicatives source Transmission Données applicatives reçues CBL = 35 / 15 CBL =.33 35/ 135 125 115 55 35 Nombre total de données reçues 15 SBL = 15 / 135 SBL =.77 135 125 115 55 35 135 125 115 / 55 35 Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 46
Interface avec l application Organisation des données Résultats par expérimentation sans pertes BWU LR SBL CBL 1.75.5.25 1.75.5.25.25 8 6 4 2 Débit (Kb/s) avg CBL (CI=95%) avg SBL (CI=95%) LR débit seuil BWU Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 47
Interface avec l application Organisation des données Résultats par expérimentations avec pertes buffer_time 1ms buffer_time 5ms CBL SBL LR BWU 1.75.5.25 1.75.5.25.5 1 4 3 2 1 avg CBL (CI=95%) avg SBL (CI=95%) LR débit équitable BWU 1 2 3 4 1 2 3 4 Débits (Kb/s) Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 48
Interface avec l application Organisation des données Résultats par expérimentations avec pertes buffer_time 1ms buffer_time 5ms CBL SBL LR BWU 1.75.5.25 1.75.5.25.5 1 4 3 2 1 avg CBL (CI=95%) avg SBL (CI=95%) LR débit équitable BWU 1 2 3 4 1 2 3 4 Débits (Kb/s) Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 48
Interface avec l application Organisation des données Résultats par expérimentations avec pertes CBL CBL avec FEC SBL LR BWU 1.75.5.25 1.75.5.25 1.75.5.25.5 1 4 3 2 1 buffer_time 1ms buffer_time 5ms avg CBL avec FEC (CI=95%) avg CBL (CI=95%) avg SBL (CI=95%) LR débit équitable BWU 3 2 1 2 1 4 3 4 Débits (Kb/s) Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 48
Organisation des données Utilisation par l application
Utilisation par l application Organisation des données Cas générique Application Tampon hiérarchique Peut-on créer une hiérarchie de données pour tout type d application? Niveau applicatif Niveau transport M2C Séquenceur Paquets triés par ordre d'importance Ordonnanceur Exemples d applications : Transfert de fichiers. Diffusion de vidéos : en différé, en temps réel. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 5
Utilisation par l application Organisation des données Transfert de fichiers en multicast : Une source qui émet en boucle (carrousel). Des récepteurs qui : Commencent le téléchargement à n importe quel moment. Téléchargent plus ou moins rapidement en fonction du débit reçu. Diagramme de flux du transfert de fichiers Logiciel de transfert de fichiers Lecteur de fichiers Symboles source Niveau applicatif Niveau transport Encodeur FEC Symboles FEC Ordonnanceur Applicatif M2C Tampon hiérarchique Séquenceur Paquets triés par ordre d'importance Ordonnanceur Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 51
Utilisation par l application Organisation des données Hiérarchie des données en fonction de leur prochaine/dernière diffusion. Création des tampons hiérarchiques Symboles composant le fichier : Niveau 1 2 3 4 5 6 7 8 9 1-1 2 3 4 5 6 7 8 9... 1 2 3 4 5 6 7 8 9 1 11 Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 52
Utilisation par l application Organisation des données Hiérarchie des données en fonction de leur prochaine/dernière diffusion. Création des tampons hiérarchiques Symboles composant le fichier : Niveau Distance : 1 2 3 4 5 6 7 8 9 5 4 3 2 1 1 2 3 4 1-1 2 3 4 5 6 7 8 9... 1 2 3 4 5 6 7 8 9 1 11 Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 52
Utilisation par l application Organisation des données Hiérarchie des données en fonction de leur prochaine/dernière diffusion. Création des tampons hiérarchiques Symboles composant le fichier : Niveau 1 2 3 4 5 6 7 8 9 2-1- 5 6 7 8 9 1 2 3 4... 1 2 3 4 5 6 7 8 9... 1 2 3 4 5 6 7 8 9 1 11 Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 52
Utilisation par l application Organisation des données Hiérarchie des données en fonction de leur prochaine/dernière diffusion. Création des tampons hiérarchiques Symboles composant le fichier : Niveau 1 2 3 4 5 6 7 8 9 3-2- 1-2 3 4 5 6 7 8 9 1 5 6 7 8 9 1 2 3 4... 1 2 3 4 5 6 7 8 9... 1 2 3 4 5 6 7 8 9 1 11 Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 52
Utilisation par l application Organisation des données Hiérarchie des données en fonction de leur prochaine/dernière diffusion. Création des tampons hiérarchiques Symboles composant le fichier : Niveau Résultat : 1 2 3 4 5 6 7 8 9 1 11 1 2 3 4 5 6 7 8 9 4-7 8 9 1 2 3 4 5 6 3-2 3 4 5 6 7 8 9 1 2-5 6 7 8 9 1 2 3 4... 1-1 2 3 4 5 6 7 8 9... Quand un récepteur double de débit, le temps de téléchargement est divisé par 2. Temps Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 52
Utilisation par l application Organisation des données Transfert de fichiers Temps de téléchargement 4 32 24 16 8 4 / nb niveaux 4 symboles ordonnancés 8 16 24 32 4 48 56 64 Nb niveaux Temps de téléchargement 4 32 24 16 8 4 / nb niveaux 8 symboles ordonnancés 8 16 24 32 4 48 56 64 Nb niveaux Résultats montrent que ce type de transfert de fichiers est : Plus intéressant que TCP dès 2 récepteurs simultanés. Temps de téléchargement presque constant (indépendant du nombre de récepteur). Taille du fichier à transférer limitée par la mémoire de l appareil. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 53
{ Utilisation par l application Organisation des données Hiérarchie des données correspondant à l importance de l image : Diagramme de flux de la vidéo en différé Diffusion vidéo en temps réel Entrée vidéo MPEG GOP Ordonnanceur de GOP Tampon hiérarchique Hiérarchie créée à partir du format MPEG GOP { Flux MPEG... P I B B P B B P B B P I... Encodage hiérarchique Niveau applicatif Niveau transport M2C Séquenceur Paquets triés par ordre d'importance Ordonnanceur B B B B B B Flux encodé... P... P P I Tampon pour le séquenceur Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 54
Utilisation par l application Organisation des données Hiérarchie des données correspondant aux coefficients de chaque image. Exemple de résolutions Diagramme de flux de la vidéo en temps-réel Image obtenue avec 1 coefficient Diffusion vidéo en temps réel Entrée vidéo Image Niveau applicatif Niveau transport Encodeur PVH M2C Tampon hiérarchique Séquenceur Image obtenue avec 4 coefficients Paquets triés par ordre d'importance Ordonnanceur Image obtenue avec 16 coefficients Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 55
Sommaire Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 1. Contexte général Communications de groupe Contrôle de congestion 2. Contrôle de congestion multicast Méthodes d évaluation Le protocole M2C 3. Organisation des données Interface avec l application Utilisation par l application 4. Conclusion générale et perspectives Conclusion générale Perspectives Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 56
Conclusion générale et perspectives Conclusion générale
Conclusion générale Conclusion générale et perspectives Cette thèse montre qu il est possible de créer des applications supportant le passage à l échelle. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 58
Conclusion générale Conclusion générale et perspectives Cette thèse montre qu il est possible de créer des applications supportant le passage à l échelle. Pour cela, nous avons proposé au niveau contrôle de congestion multicast : Une méthodologie d évaluation, Le protocole M2C (conçu, implémenté, expérimenté et validé). M2C est robuste en terme d équité et converge rapidement au débit équitable. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 58
Conclusion générale Conclusion générale et perspectives Le séquenceur proposé avec son API permettent : À l application source de ne fournir qu un tampon hiérarchique : les données les plus importantes en premier et les moins importantes à la fin. À un récepteur qui reçoit N% du débit de la source de recevoir les N % les plus importants des données. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 59
Conclusion générale Conclusion générale et perspectives Le séquenceur proposé avec son API permettent : À l application source de ne fournir qu un tampon hiérarchique : les données les plus importantes en premier et les moins importantes à la fin. À un récepteur qui reçoit N% du débit de la source de recevoir les N % les plus importants des données. Il est possible de créer un tampon hiérarchique : Pour des applications sensibles aux pertes. Le transfert de fichiers présenté est plus avantageux que TCP à partir de 2 récepteurs. Pour des applications sensibles aux délais (diffusion de vidéo). Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 59
Conclusion générale et perspectives Perspectives
Perspectives Conclusion générale et perspectives Niveau applicatif : Création et évaluation de nouveaux codages vidéos. Problème de la gestion la mémoire lié à l utilisation des codes FEC. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 61
Perspectives Conclusion générale et perspectives Niveau applicatif : Création et évaluation de nouveaux codages vidéos. Problème de la gestion la mémoire lié à l utilisation des codes FEC. Communications sans fil : Influence des pertes des transmissions sans fil pour le contrôle de congestion multicast. Problème de la lenteur d abonnement pour des usages mobiles. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 61
Perspectives Conclusion générale et perspectives Niveau applicatif : Création et évaluation de nouveaux codages vidéos. Problème de la gestion la mémoire lié à l utilisation des codes FEC. Communications sans fil : Influence des pertes des transmissions sans fil pour le contrôle de congestion multicast. Problème de la lenteur d abonnement pour des usages mobiles. Mécanismes de routage : Évolution des messages de la signalisation pour limiter les changements d états dans les routeurs. Vincent Lucas Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif 61
Merci de votre attention Questions?