• Aucun résultat trouvé

Agrégation des communications multicast

N/A
N/A
Protected

Academic year: 2022

Partager "Agrégation des communications multicast"

Copied!
57
0
0

Texte intégral

(1)

Agrégation des communications multicast

Soutenance de thèse Joanna MOULIERAC

Encadrement : Miklós MOLNẢR

Direction : Gerardo RUBINO

(2)

Le multicast

Proposé par Steve Deering en 1991

Communication de groupes sur Internet Une seule copie du message par lien

Applications : vidéoconférences, jeux vidéos en ligne, diffusion de vidéos…

(3)

Le multicast

bb33

bb44 bb22

b b11 source

@g

(g)

(g)

(g)

(4)

Le multicast

bb33

bb44 bb22

b b11 source

@g@g

@g

(g)

(g)

(g)

(5)

Le multicast

bb33

bb44 bb22

b b11 source

(g)

(g)

(g)

O1 I1

O2

(source,@g) : I1Æ{O1,O2}

(6)

Passage à l’échelle du multicast IP

Un groupe g ↔ un arbre t ↔ |t| entrées de routage

Le nombre d’entrées de routage croît linéairement avec le nombre de groupes

Le nombre important d’entrées de routage implique :

Mémoire des routeurs saturée

Routage ralenti, temps d’accès aux entrées de routage Nombre de messages de contrôle important

(7)

Plan de la soutenance

I. L’agrégation multicast

Principe et fonctionnement

Algorithme d’agrégation

II. DMTA : l’agrégation multicast distribuée dans un petit domaine

III. TALD : l’agrégation multicast dans un grand domaine IV. Bilan et perspectives

(8)

Agrégation multicast

Entrée de routage pour g1 Entrée de routage pour g2 Entrée de routage pour g3

Table de routage

b b11

bb22

bb33

(g1, g2, g3)

bb44 (g1, g2, g3)

g1 g2 g3

Avec le multicast traditionnel

g1 = (b1,b2,b4) g2 = (b1,b2,b4) g3 = (b1,b2,b4)

(g1, g2, g3)

b1

b b33

bb44 Table de routage

(g1, g2, g3)

(g1, g2, g3) bb22

Entrée de routage pour t1

(g1, g2, g3) bb11

Avec l’agrégation multicast

t1

g1 = (b1,b2,b4) g2 = (b1,b2,b4) g3 = (b1,b2,b4)

(9)

Agrégation multicast

Entrée de routage pour g1 Entrée de routage pour g2 Entrée de routage pour g3

Table de routage

b b11

bb22

bb33

(g1, g2, g3)

bb44 (g1, g2, g3)

g1 g2 g3

b1

b b33

bb44 Table de routage

(g1, g2, g3)

(g1, g2, g3) bb22

Entrée de routage pour l1

(g1, g2, g3) g1 Æ l(t1) g2 Æ l(t1) g3 Æ l(t1)

bb11

t1 Table groupes-labels

g1 = (b1,b2,b4) g2 = (b1,b2,b4) g3 = (b1,b2,b4)

g1 = (b1,b2,b4) g2 = (b1,b2,b4) g3 = (b1,b2,b4)

Avec le multicast traditionnel Avec l’agrégation multicast

(g1, g2, g3)

(10)

Agrégation avec pertes

b1

bb33

bb44

Table de routage

(g1, g2, g3) bb22

Entrée de routage pour t1

b b11

t1

Table groupes-labels

g1 = (b1,b2,b4) g2 = (b1,b2,b4) g3 = (b1,b2,b4)

Un nouveau groupe g4 arrive

g1 Æ l(t1 ) g2 Æ l(t1) g3 Æ l(t1 )

(g1, g2, g3) (g1, g2, g3)

(g1, g2, g3, g4)

(g1, g2, g3, g4)

(11)

Agrégation avec pertes

g1 = (b1,b2,b4) g2 = (b1,b2,b4) g3 = (b1,b2,b4)

b1

bb33

bb44

Table de routage

(g1, g2, g3) bb22

Entrée de routage pour t1 Entrée de routage pour g4

b b11

t1

Table groupes-labels

g1 = (b1,b2,b4) g2 = (b1,b2,b4) g3 = (b1,b2,b4) g4 = (b1,b4)

(g1, g2, g3, g4)

(g1, g2, g3, g4)

Deux possibilités :

1. Un nouvel arbre est construit

g1 Æ l(t1 ) g2 Æ l(t1) g3 Æ l(t1 )

(12)

g1 Æ l(t1 ) g2 Æ l(t1) g3 Æ l(t1 )

Agrégation avec pertes

g1 = (b1,b2,b4) g2 = (b1,b2,b4) g3 = (b1,b2,b4)

b1

bb33

bb44

Table de routage

(g1, g2, g3) bb22

Entrée de routage pour t1 g1 Æ l(t1 )

g2 Æ l(t1 ) g3 Æ l(t1 )

g4 Æ l(t1) bb11

t1

Table groupes-labels

g1 = (b1,b2,b4) g2 = (b1,b2,b4) g3 = (b1,b2,b4) g4 = (b1,b4)

(g1, g2, g3, g4)

(g1, g2, g3, g4) Deux possibilités :

1. Un nouvel arbre est construit

(13)

g1 Æ l(t1 ) g2 Æ l(t1) g3 Æ l(t1 )

Agrégation avec pertes

g1 = (b1,b2,b4) g2 = (b1,b2,b4) g3 = (b1,b2,b4)

b1

bb33

bb44

Table de routage

(g1, g2, g3) bb22

Entrée de routage pour t1 g1 Æ l(t1 )

g2 Æ l(t1 ) g3 Æ l(t1 )

g4 Æ l(t1) bb11

t1

Table groupes-labels

g1 = (b1,b2,b4) g2 = (b1,b2,b4) g3 = (b1,b2,b4) g4 = (b1,b4)

(g1, g2, g3, g4)

(g1, g2, g3, g4) Perte de bande-passante sur ce lien pour les messages du groupe g4

(14)

Agrégation avec pertes

bb33

bb44 bb22

bb11

@g4 g1 Æ l(t1)

g2 Æ l(t1 ) g3 Æ l(t1 ) g4 Æ l(t1 )

Table groupes-labels

Le paquet pour g4 arrive au routeur b1

(15)

Agrégation avec pertes

bb33

bb44 bb22

bb11

@t1 @g4

@t1 @g4 g1 Æ l1

g2 Æ l1 g3 Æ l1 g4 Æ l1

Table groupes-labels

Le paquet est encapsulé avec @t1 g1 Æ l(t1)

g2 Æ l(t1 ) g3 Æ l(t1 ) g4 Æ l(t1 )

(16)

Agrégation avec pertes

bb33

bb44 bb22

bb11

@g4

@g4

Table groupes-labels

Le routeur b2 détruit le paquet car il n’a pas de membres appartenant à g4 g1 Æ l(t1)

g2 Æ l(t1 ) g3 Æ l(t1 ) g4 Æ l(t1 )

(17)

Algorithme d’agrégation

Algorithme AM [Cui et al., 2001] centralisé géré par une entité d’agrégation

Données :

Topologie du domaine G=(V,E) Un groupe g

Tolérance de bande-passante tb (0%, 10%, 20%...)

Un ensemble d’arbres déjà configurés MTS (Multicast Tree Set)

Résultat :

Trouver un arbre t dans MTS couvrant le groupe g dont le coût respecte le seuil tb

(18)

Algorithme d’agrégation

Calcul d’un arbre natif tg pour le groupe g Pour chaque arbre t dans MTS

Si (t couvre g) et si ( )

Alors t est candidat pour l’agrégation

Choisir pour g l’arbre t de coût minimum parmi les candidats Si pas de candidat, ajout de tg dans MTS

Entrée g label(t) dans les tables groupes-labels des routeurs de bordures

b g

g t

t c

t c t

c

) (

) ( ) (

(19)

Nombre d’entrées de routage

0 5000 10000 15000 20000 25000 30000 35000

0 10000 20000 30000 40000 50000

Nom bre de groupe s concurre nts

Nombre d'entrées de routage

tb = 0%

tb = 10%

tb = 20%

Sans agrégation

Réduction de 36%

Simulations dans le réseau Eurorings (43 nœuds, 55 arêtes) pour 45000 groupes dynamiques

(20)

STA (Scalable Tree Aggregation) [Guitton et al, 2004]

rapidité d’agrégation

Évaluer un sous-ensemble d’arbres

Q-STA (QoS Scalable Tree Aggregation) [Moulierac et al, 2004]

agrégation sous contraintes de bande-passante

Utiliser au mieux les ressources du réseau

DMTA (Distributed Multicast Tree Aggregation) [Moulierac et al, 2005]

agrégation distribuée

Agrégation robuste avec peu de messages de contrôle

Configuration initiale d’un ensemble d’arbres

TALD (Tree Aggregation in Large Domains) [Moulierac et al, 2006]

agrégation dans les grands domaines

Contributions principales

(21)

Plan de la soutenance

I. L’agrégation multicast

II. DMTA : l’agrégation multicast distribuée dans un petit domaine

L’algorithme distribué BEAM

Notre algorithme distribué DMTA

Configuration d’un ensemble d’arbres

III. TALD : l’agrégation multicast dans un grand domaine

(22)

L’agrégation multicast distribuée

Distribuer la charge d’agrégation Robustesse en cas de pannes

Algorithme BEAM

[Cui et al. 2003] :

Les entités d’agrégation gardent une copie partielle du MTS

i∈entités MTSi = MTS

(23)

L’agrégation multicast distribuée

bb33

bb44 bb22

b b11

1. Join message pour le groupe g

@entité = modulo(@g,#entités) MTS1

MTS2

MTS4

MTS3

MTS1 ⋃ MTS2 ⋃ MTS3 ⋃ MTS4 = MTS

(24)

L’agrégation multicast distribuée

bb33

bb44 bb22

b b11

1. Join message pour le groupe g

2. Requête d’agrégation

MTS1

MTS2

MTS4

MTS3

(25)

L’agrégation multicast distribuée

bb33

bb44 bb22

b b11

1. Join message pour le groupe g

3. Choix d’un arbre pour le groupe g 2. Requête d’agrégation

MTS1

MTS2

MTS4

MTS3

(26)

L’agrégation multicast distribuée

bb33

bb44 bb22

b b11

1. Join message pour le groupe g

2. Requête d’agrégation

MTS1

MTS2

MTS4

MTS3

4. Requête d’agrégation

3. Choix d’un arbre pour le groupe g

(27)

L’agrégation multicast distribuée

bb33

bb44 bb22

b b11

1. Join message pour le groupe g

3. Choix d’un arbre pour le groupe g 2. Requête d’agrégation

5. Choix d’un arbre pour le groupe g

MTS1

MTS2

MTS4

MTS3

4. Requête d’agrégation

(28)

L’agrégation multicast distribuée

bb33

bb44 bb22

b b11

1. Join message pour le groupe g

3. Choix d’un arbre pour le groupe g 2. Requête d’agrégation

5. Choix d’un arbre pour le groupe g

6. Arbre trouvé

MTS1

MTS2

MTS4

MTS3

4. Requête d’agrégation

(29)

L’agrégation multicast distribuée

Problèmes de l’algorithme BEAM :

Nombreuses requêtes entre les entités d’agrégation

Temps de latence pour l’agrégation Nombreux messages de contrôle

Problème de robustesse (panne des entités)

(30)

L’agrégation multicast distribuée

Proposition de l’algorithme DMTA :

Pré-configuration d’un ensemble d’arbres

Les entités d’agrégation stockent le même ensemble d’arbres

Requêtes d’agrégation supprimées entre les entités

(31)

L’agrégation multicast distribuée

bb33

bb44 bb22

b b11

1. Join message pour le groupe g

3. Choix d’un arbre pour le groupe g 2. Requête d’agrégation

MTS

MTS

MTS

MTS

(32)

L’agrégation multicast distribuée

Changement de groupes (arrivée ou départ d’un membre)

Choix d’un nouvel arbre sans reconfiguration

Changement d’entrées dans les tables groupes-labels

Panne d’une des entités d’agrégation

Détection de pannes puis entité de remplacement Le MTS est conservé

(33)

L’agrégation multicast distribuée

Algorithme DMTA :

Robustesse

Temps de latence diminué

Moins de messages de contrôle

Pré-configuration de l’ensemble d’arbres

(34)

Nombre d’arbres dans un domaine

Agrégation multicast

Elimination des arbres redondants

Nombre d’arbres différents << 2n

Dépend de la topologie et de l’algorithme de routage Nombre d’arbres ~ Espace d’adressage multicast

228 pour IPv4 et 2112 pour IPv6

Nombre d’arbres ~ Combinaison de tous les groupes possibles 2n (n = nombre de routeurs)

(35)

Nombre d’arbres dans un domaine

Algorithme de routage connu et fixé : CBT, PIM-SM, MST…

Trouver un ensemble d’arbres de cardinalité

minimale couvrant n’importe quel des 2n groupes multicast

Problème d’optimisation NP-Difficile : Minimum Set Cover

(36)

MTS

Pour i 1 à 2n

Générer le ième groupe gi

Construire avec l’algorithme A l’arbre ti couvrant gi Si (ti∉ MTS) alors ajouter ti dans MTS

Si tb >0% :

Considérer les arbres dans l’ordre décroissant de leur coût

Si ∃t tel que t est couvert par ti et c(t)≤c(ti)*(1+tb)) Alors Éliminer t de MTS

Données : Domaine avec n routeurs, algorithme de routage A, seuil tb

Résultat : L’ensemble MTS des arbres couvrant tous les groupes possibles:

Nombre d’arbres dans un domaine

(37)

Nombre d’arbres dans un domaine

C A B

D

11 groupes différents, 6 arbres différents Groupes Æ Arbres

1. (AB) Æ AB

2. (AC) Æ AC

3. (AD) Æ ABD

4. (BC) Æ ABC

5. (BD) Æ BD

6. (CD) Æ ABCD

7. (ABC) Æ ABC

8. (ABD) Æ ABD

9. (ACD) Æ ABCD

10. (BCD) Æ ABCD

11. (ABCD) Æ ABCD

Il y a n*(n-1)/2 arbres différents dans une chaîne de n routeurs

(38)

Nombre d’arbres dans un domaine

C A B

D

Il y a 2n-n-1 arbres différents dans un graphe complet de n routeurs

11 groupes différents, 11 arbres différents Groupes Æ Arbres

1. (AB) Æ AB

2. (AC) Æ AC

3. (AD) Æ AD

4. (BC) Æ BC

5. (BD) Æ BD

6. (CD) Æ CD

7. (ABC) Æ ABC

8. (ABD) Æ ABD

9. (ACD) Æ ACD

10. (BCD) Æ BCD

11. (ABCD) Æ ABCD

(39)

Nombre d’arbres dans un domaine

La topologie influe sur le nombre total d’arbres

Sur un réseau de n routeurs : Chaîne : n*(n-1)/2

Graphe complet : 2n - n -1 Roue : 2n-1 - 1

Arbre : ∀i∈fils(racine), (∏(#arbresracine i (arbrei)+2) +∑#arbres(arbrei) -1)

L’algorithme de routage utilisé influe aussi sur le nombre d’arbres

(40)

Nombre d’arbres total dans un domaine

20%

0%

20%

0%

20%

0%

tb

23449 4126

2486 549

230 104

48942 8222

262125

Geant

18 routeurs, 30 liens

4785 958

16369

Nsfnet

14 routeurs,21 liens

370 131

Abilene 2036

11 routeurs, 14 liens

MST CBT

Nombre de groupes possibles

(41)

Nombre d’entrées de routage par routeur

Nombre d’entrées de routage par routeur

CBT-Fixe CBT-Premier CBT-Aléa MST

Réseau Abilene

(42)

Nombre d’arbres dans un domaine

Pour les petits domaines :

Le nombre d’arbres différents est relativement faible Æ configuration de tous les arbres possible

Nombre d’entrées de routage par routeur faible

Pour les grands domaines : Deux possibilités :

1.Configuration d’un sous-ensemble d’arbres

2.Proposition d’un nouvel algorithme

(43)

Plan de la soutenance

I. Le multicast et l’agrégation multicast

II. L’agrégation multicast distribuée dans un petit domaine

III. L’agrégation multicast dans les grands domaines

Problématique

Algorithme TALD

Simulations

IV. Bilan et perspectives

(44)

Dans les grands domaines

Quand le réseau contient plus de 40 routeurs de bordure Æ

très peu d’agrégation Dans ce cas-là, même comportement que les

protocoles traditionnels de multicast

Réseau Exodus de 200 routeurs

Pour 10000 groupes dans le domaine :

Nombre de routeurs de bordure

Taux d’agrégation

23% d’agrégation 61% d’agrégation

(45)

Dans les grands domaines

Algorithme TALD :

Découper le domaine principal en plusieurs sous- domaines

Algorithme de découpage proposé

Agréger séparément les groupes dans chacun des sous-domaines

Relier les sous-arbres par des tunnels

(46)

Dans les grands domaines

bb33

bb44 bb22 bb11

bb77

bb88 b b66 bb55

b b1212

bb1111 bb1010

bb99

Un groupe multicast Æ un ensemble d’arbres et des tunnels

(47)

Dans les grands domaines

Une entité supérieure est responsable de l’établissement des tunnels :

1. Pour chaque groupe, choix des représentants par les entités locales

2. Les entités locales envoient ces informations à l’entité supérieure

3. Ajout des entrées nécessaires à la configuration

Pas de connaissance globale de la topologie

(48)

Simulations

Réseau Exodus : 201 routeurs et 434 liens

STA : protocole de référence sans division du domaine TALD-2 : 2 sous-domaines

TALD-4 : 4 sous-domaines

Membres des groupes : choisis aléatoirement parmi 101 routeurs multicast

Taille des groupes : entre 2 et 20 membres

(49)

TALD-4 0%

TALD-4 20%

TALD-2 0%

TALD-2 20%

STA 0%, 20%

Réduction de 41%

Réduction de 52%

Nombre de groupes concurrents

Nombre d’entrées de routage

TALD-4 0%

TALD-4 20%

Nombre d’entrées de routage

TALD-4 0%

TALD-4 20%

(50)

Nombre de routeurs multicast

STA 0%, 20%

TALD-4 0%

TALD-4 20%

TALD-2 0%, 20%

Pourcentage d’agrégation

Pourcentage d’agrégation

TALD-4 0%

TALD-4 20%

30% d’agrégation 22% d’agrégation

(51)

Coût moyen des arbres

TALD-4 0%, 20%

STA 0%, 20%

TALD-2 0%, 20%

Nombre de groupes concurrents

Coût des arbres (nombre de liens)

TALD-4 0%, 20%

STA 0%, 20%

Arbres 30% plus gros

(52)

L’agrégation dans un grand domaine

Algorithme de découpage du domaine

Nombre de sous-domaines pour avoir un bon taux d’agrégation

Nombre de routeurs par sous-domaine

Connexion des sous-arbres

Choix des représentants pour les tunnels Connexion des sous-arbres par un arbre

Déploiement inter-domaine

(53)

Plan de la soutenance

I. Le multicast et l’agrégation multicast

II. L’agrégation multicast distribuée dans un petit domaine

III. L’agrégation multicast un grand domaine

IV. Bilan et perspectives

(54)

Bilan

Proposition d’algorithmes pour l’agrégation multicast selon plusieurs contraintes

Comparaison de nos algorithmes avec les algorithmes existants

Développement d’un outil de simulation pour les graphes disponible sur

http://www.irisa.fr/armor/lesmembres/Moulierac/outil.html

(55)

Bilan

Découpage du domaine en plusieurs sous domaines

Utilisation de tunnels Les grands domaines

TALD

Construction de tous les arbres possibles

Messages de contrôle enlevés Algorithme distribué

DMTA

Arbres maximisant la bande-passante disponible sur les liens

Contraintes de bande-passante Q-STA

Tri des arbres

Fonction de sélection des candidats rapide

Rapidité de l’agrégation STA

Problématique Idées principales

(56)

Perspectives

• Découpage du domaine

• Connexion des arbres (arbres ou tunnels ?)

• Inter-domaine TALD

• Étude dans les plus grands domaines

• Configuration d’un sous-ensemble d’arbres DMTA

• Plusieurs contraintes de QoS : proposition mQMA Q-STA

• Expérimentation de l’algorithme

• Étude du surcoût dû à l’encapsulation STA

(57)

Merci de votre attention!

Références

Documents relatifs

de la Terre &amp; de

On observe ainsi une augmentation du nombre d'inscrits à l'agrégation externe de 6,4%, mais comme l'augmentation du nombre de postes est de 19,8%, la pression de sélection

[r]

Cette liste est sous la forme Développement, numéros de leçons, Source.. Stein Rami Shakarchi ou QUEFFELEC-ZUILY, Analyse

Nous n’avons pas de meilleure façon de le décrire, mais évidemment il ne ressemble pas exactement à un bâton tordu (it does not look exactly like a bent

Qu’espace et temps ne soient que des formes de l’intuition sensible, donc uniquement des conditions de l’existence des choses en tant que phénomènes (Dinge als

Je donne à ces qualités le nom de secondes qualités (secondary qualities) ; auxquelles on peut ajouter une troisième espèce, que tout le monde s’accorde à ne regarder

[r]