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.