Outil de simulation

Transcription

Outil de simulation
ANNEXE
A
Outil de simulation
N
OUS
décrivons dans ce chapitre les fonctionnalités de l’outil de simulation que nous
avons développé pour comparer les performances des algorithmes d’agrégation. Aucun
outil disponible implémentant des algorithmes d’agrégation n’existe à notre connais-
sance. Nous avons choisi de développer un nouvel outil de simulation car nous souhaitions tra-
vailler avec un outil aisément adaptable et modulaire qui nous permettait d’ajouter de nouvelles
fonctionnalités rapidement. De plus, cet outil nous a permis d’intégrer plusieurs modèles de génération de groupes et de génération de graphes, qu’ils soient réels ou établis à partir de modèles
aléatoires. Nous avons également pu implémenter plusieurs algorithmes de routage multicast.
A.1 GÉNÉRATION DE GRAPHES
L’outil de simulation génère des graphes aléatoires ou des graphes réels à partir de données.
Pour les topologies aléatoires, nous avons utilisé le modèle de Waxman. Pour les topologies réelles,
nous avons récupéré les données concernant les graphes Rocketfuel ainsi que certains réseaux
comme Abilene, Nsfnet, Geant, Renater, Eurorings, ou bien vBNS.
– Graphes aléatoires de Waxman [80]. En donnée, le nombre de nœuds N, les paramètres α et
β (par défaut, ils sont placés à 0.25 et 0.20 respectivement). Les N nœuds sont positionnés
de façon aléatoire dans un plan. La probabilité pour avoir une arête entre deux nœuds u
et v est P u v αe βL , où d est la distance euclidienne entre u et v dans le plan, L est la
d
distance maximale entre 2 nœuds. Pour fixer les paramètres α et β, il faut tenir compte du
fait que plus α augmente et plus le nombre d’arêtes augmente; plus β augmente et plus le
137
AS
Réseau
1239
1755
2914
3257
3356
3967
6461
7018
Sprintlink (US)
Ebone (Europe)
Verio (US)
Tiscali (Europe)
Level3 (US)
Exodus (US)
Abovenet (US)
AT&T (US)
Nombre de noeuds
Nombre d’arêtes
604
172
960
240
624
201
177
631
2 268
381
2 821
404
5 298
434
275
2 078
TAB . A.1 – Les réseaux Rocketfuel
rapport entre arêtes longues et arêtes courtes augmente. On peut dans une deuxième fonction
implémentée fixer le degré moyen des nœuds dans le graphe.
– Génération de graphes Rocketfuel [71]. Les graphes dont nous disposons sont décrits dans
la table A.1.
– Génération de graphes à partir de données. Le format est le suivant :
!"
# $%&(')$
+*,-/.01!"2
"434
$!
$!
56($!
6!
Réseaux que notre outil connaît et peut générer :
réseau Abilene [62] qui comporte 11 routeurs et 14 arêtes (figure 3.4, page 73),
réseau Nsfnet [65] qui comporte 14 routeurs et 21 arêtes (figure 4.8, page 98),
réseau Renater [66] qui comporte 25 routeurs et 30 arêtes
réseau Geant [64] qui comporte 18 routeurs et 30 arêtes (figure 4.9, page 99)
réseau Eurorings [63] qui comporte 43 routeurs 55 arêtes (figure 2.3, page 54)
réseau vBNS [67] qui comporte 42 routeurs 47 arêtes.
A.2 GÉNÉRATION DE GROUPES
Une fois le graphe généré, un ensemble de groupes peut être injecté. Nous avons défini plusieurs modèles de générations de groupes. Les groupes peuvent ensuite être générés de manière
statique, c’est-à-dire que lorsqu’un groupe arrive, il reste jusqu’à la fin des simulations ou bien de
manière dynamique. Dans ce modèle d’arrivée dynamique, les groupes sont affectés d’une durée
de vie et ils arrivent selon une loi de poisson.
– Modèle complètement aléatoire. La taille maximale des groupes est donnée en paramètre,
ainsi que la liste des sommets pouvant accepter des membres multicast. Ensuite, les membres
du groupe sont choisis aléatoirement parmi la liste des sommets jusqu’à ce que le groupe ait
une taille fixée aléatoirement entre 2 et la taille maximale.
– Modèle de génération par Random Node Weighted Model. Chacun des nœud est affecté d’un
poids. Ce poids indique la probabilité d’un nœud d’être affecté à un groupe ou non.
A.3 ALGORITHMES DE CONSTRUCTION D’ARBRES
Dès qu’un groupe est généré, l’algorithme de construction d’arbres peut être lancé. Pour cela,
plusieurs algorithmes de construction d’arbres ont été implémentés :
– Arbres des plus courts chemins SPT, de type PIM-SM ou CBT. Une racine pour l’arbre est
choisie et les sommets membres du groupe sont reliés via des plus courts chemins jusqu’à
la source en utilisant un algorithme de Dijkstra. Plusieurs choix possibles pour la source
sont disponibles : notamment, un des membres du groupe (choisi aléatoirement parmi les
membres ou bien le premier dans un ordre lexicographique) ou un des sommets du graphe
choisi aléatoirement ou par sa position centrale dans le réseau.
– Arbres couvrant de poids minimum ou MST. Ces arbres constituent en fait des arbres 2approchés des arbres de Steiner, c’est-à-dire des arbres de coût au plus deux fois du coût de
l’arbre de Steiner. Si le groupe contient tous les routeurs du réseau comme membre, alors il
s’agit bien de l’arbre couvrant de poids minimum qui est construit.
– Arbres de Steiner pour trois membres et pour quatre membres. L’algorithme de Steiner pour
trois membres consiste à tester un à un tous les sommets du graphe en tant que routeur
de branchement de l’arbre. On calcule pour chacune de ces possibilités le coût de l’arbre
et on choisit finalement l’arbre de coût minimum comme arbre de Steiner pour le groupe.
Pour quatre membres, l’algorithme consiste à tester toutes les possibilités de routeurs de
branchement (il y a deux routeurs de branchement dans un arbre de Steiner pour quatre
membres).
A.4 ALGORITHMES D’AGRÉGATION
Une fois les arbres construits, les algorithmes d’agrégation peuvent être appliqués et pour cela
nous avons implémenté les algorithmes suivants :
– Agrégation centralisée : AM et STA détaillés dans le chapitre 2.
– Agrégation sous contraintes de bande-passante : AQoSM et Q-STA détaillés dans le chapitre 3.
– Agrégation distribuée : BEAM et DMTA détaillés dans le chapitre 4.
– Agrégation dans un grand domaine : TALD détaillé dans le chapitre 5.
A.5 DIVERS
Plusieurs algorithmes annexes ont été développés :
– Calcul du nombre d’arbres différents pour un réseau donné en fonction de l’algorithme de
routage proposé. Cet algorithme nous permet de construire l’ensemble des arbres possibles
pour DMTA.
– Découpage d’un graphe en plusieurs sous-graphes. Cet algorithme nous permet de découper
le domaine dans TALD afin d’augmenter le taux d’agrégation.
[49] J. M OULIERAC. « On the number of multicast aggregated trees in a domain ». Dans 2nd
Student Workshop of IEEE Infocom, April 2006.
[50] J. M OULIERAC et A. G UITTON. « Distributed Multicast Tree Aggregation ». Rapport de
recherche 5636, Inria, July 2005.
[51] J. M OULIERAC et A. G UITTON. « QoS Scalable Tree Aggregation ». Dans IFIP Networking, numéro 3462 dans LNCS, May 2005.
[52] J. M OULIERAC, A. G UITTON et M. M OLNÁR. « Multicast Tree Aggregation in Large
Domains ». Dans IFIP Networking, 2006.
[53] J. M OULIERAC, A. G UITTON et M. M OLNÁR. « On the number of MPLS LSP using
Multicast Tree Aggregation ». Dans IEEE Globecom, November 2006.
[54] J. M OY. « Multicast Extensions to OSPF ». RFC 1584, IETF, March 1994.
[55] J. M OY. « OSPF Version 2 ». RFC 2328, IETF, April 1998.
[56] M.J. M OYER et P. R AO, J.R.and Rohatgi. « A survey of security issues in multicast communications ». IEEE Network, 13(6), November 1999.
[57] R. P ERLMAN, C. L EE, A. BALLARDIE, J. C ROWCROFT, Z. WANG, T. M AUFER, C. D IOT,
J. T HOO et M. G REEN. « Simple Multicast: A Design for Simple, Low-Overhead Multicast ». Draft draft-perlman-simple-multicast-03.txt, IETF, October 1999.
[58] J. P OSTEL. « Internet Protocol ». RFC 791, IETF, September 1981.
[59] P. R ADOSLAVOV, D. E STRIN et R. G OVINDAN. « Exploiting the bandwidth-memory tradeoff in multicast state aggregation ». Rapport de recherche 99-697, Department of Computer
Science, USC, February 1999.
[60] P. R ADOSLAVOV, D. E STRIN, R. G OVINDAN, M. H ANDLEY, S. K UMAR et D. T HALER.
« The Multicast Address-Set Claim (MASC) Protocol ». RFC 2909, IETF, September 2000.
[61] Y. R EKHTER et T. L I. « A Border Gateway Protocol 4 (BGP-4) ». RFC 1771, IETF, March
1995.
[62] R ÉSEAU A BILÈNE. « http://abilene.internet2.edu ».
[63] R ÉSEAU E URORINGS. « http://www.cybergeography.org/atlas/kpnqwest_large.jpg ».
[64] R ÉSEAU G EANT. « http://www.cybergeography.org/atlas/geant_large.gif ».
[65] R ÉSEAU N SFNET. « http://www.cybergeography.org/atlas/nsfnet_t1.gif ».
[66] R ÉSEAU R ENATER. « http://www.renater.fr ».
[67] R ÉSEAU V BNS. « http://www.vbns.net/ ».
[68] R ÉSEAU
V SNL.
«
http://www.cs.washington.edu/research/networking/rocketfuel/-
interactive/ ».
[69] P. S AVOLA et B H ABERMAN. « Embedding the Rendez-vous Point (RP) Address in an
IPv6 Multicast Address ». RFC 3956, IETF, November 2004.
[70] M. S OLA, M. O HTA et T. M AENO. « Scalability of internet multicast protocols ». Dans
INET, 1998.
[71] N. S PRING, R. M AHAJAN et D. W ETHERALL. « Measuring ISP topologies with Rocketfuel ». Dans ACM SIGCOMM, August 2002.
[72] I. S TOICA, T. S. E UGENE et H. Z HANG. « REUNITE: A Recursive Unicast Approach to
Multicast ». Dans IEEE INFOCOM, 2000.
[73] A. S TRIEGEL et G. M ANIMARAN. « A survey of QoS Multicasting issues ». IEEE Communications magazine, 40(6), June 2002.
[74] H. TAKAHASHI et A. M ATSUYAMA. « An approximate solution for the Steiner problem in
graphs ». Mathematica Japonica, 24(6), 1980.
[75] D. T HALER et M. H ANDLEY. « On the Aggregatability of Multicast Forwarding State ».
Dans IEEE INFOCOM, 2000.
[76] J. T IAN et G. N EUFELD. « Forwarding State Reduction for Sparse Mode Multicast Communication ». Dans IEEE INFOCOM, volume 2, March 1998.
[77] R. V IDA et L. C OSTA. « Multicast Listener Discovery Version 2 (MLDv2) for IPv6 ». RFC
3810, IETF, June 2004.
[78] D. WAITZMAN, C. PARTRIDGE et S. E. D EERING. « Distance Vector Multicast Routing
Protocol ». RFC 1075, IETF, November 1988.
[79] B. WANG et J. H OU. « Multicast Routing and its QoS extensions ». IEEE Network, 14(1),
January 2000.
[80] B. WAXMAN. « Routing of Multipoint Connections ». IEEE Journal on Selected Areas in
Communications, 6(9), December 1988.
[81] T. W ONG et R. R ATZ. « An Analysis of Multicast Forwarding State Scalability ». Dans
International Conference on Network Protocols (ICNP), 2000.
[82] B. YANG et P. M OHAPATRA. « Edge Router Multicasting with MPLS traffic engineering ».
Dans IEEE International Conference on Networks (ICON), August 2002.
[83] B. Z HANG et H. M OUFTAH. « Forwarding State Scalability for Multicast Provisioning in
IP Networks ». IEEE Communications Magazine, June 2003.