Gestion de l’accès aux réseaux MPLS diffserv par des agents intelligents

52 15 0
Gestion de l’accès aux réseaux MPLS diffserv par des agents intelligents

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Définition du style : TM Institut de la Francophonie pour l'Informatique Mémoire de fin d’études du : DIPLOME D’ETUDES PROFESSIONNELLES APPROFONDIES par NGUYEN Phan Quang Gestion de l’Accès aux Réseaux MPLS-DiffServ par des Agents Intelligents Janvier, 2004 Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents Remerciements Je tiens remercier Guy PUJOLLE et Dominique Gaïti de m’avoir accueilli dans leur équipe durant mon stage de DEPA, et d’avoir encadré et animé ce stage avec enthousiasme Grâce vos connaissances profondes e t vastes j’ai été encouragé accomplir ce stage J’ai l’honneur d’adresser tous mes remerciements Kim Loan THAI pour ses aides et conseils dans la recherche et dans ma vie professionnelle durant mon stage Je remercie chaleureusement Hugues LECARPENTIER et Davor MALES de m’avoir encadré durant mon stage J’exprime avec enthousiasme ma gratitude Duc Minh NGUYEN et Huyen Trang VU pour leurs aides dans la recherche et ma vie quotidienne Je remercie amicalement Duy LE, mon collègue pour ses travaux, sa coopération et ses aides dans l’équipe et la vie quotidienne J’adresse mes remerciements tous les membres du p rojet IANET pour leurs conseils et leurs soutiens amicaux Je tiens aussi remercier chaleureusement les prof esseurs de l’IFI pour leurs renseignements qui ont été vraiment utiles durant mon stage En fin, un grand merci ma famille, mes amis pour leur encouragement Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents Résumé : Certaines des applications d'Internet pourraient bénéficier des ressources du réseau comme la bande passante Une tendance réell dans la gestion de réseau est l’agrégation des flots du trafic En outre, différents services exigent différentes ressources pour garantir une meilleure qualité de service (QoS) Ces travaux proposent une approche utilisant les systèmes multi-agents pour la gestion d'accès dans un réseau MPLS-DiffServ Une analyse de simulation est donnée pour 1) la modélisation d’un réseau MPLS et 2) la gestion d'accès de réseau par les agents intelligents L'intelligence des agents est actionnée en fonction des comportementsdu QoS de trafic dans le réseau Mots clés : MPLS-DiffServ, Agent Intelligent, IP-QoS Mis en forme : Anglais (Royaume-Uni) Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents Abstract : An increment of the Internet applications could benefit the network resources like bandwidth An actual trend in networking is aggregation of traffic streams In addition, with different services, it requires the different resources to guarantee the best quality of service (QoS) In this paper, we propose an approach using agent-based systems for access management in an MPLS-DiffServ network A simulation analysis is provided for 1) MPLS network modelling and 2) Network access management by intelligent agents The agent intelligence is operated by the behavior of the QoS of traffic in the network Keywords : MPLS, DiffServ, Intelligent Agent, IP-QoS Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents Table des matières 1INTRODUCTION 1.1 LA GARANTIE DE LA QOS DANS LES RESEAUX IP 1.2 L’INGENIERIE DU TRAFIC DANS LES RESEAUX MPLS 1.2.1 L’ingénierie du trafic 1.2.2 MPLS et la TE 1.3 L’OBJECTIF DU PROJET 2ETAT DE L’ART 2.1 L’ AGENT INTELLIGENT DANS LES RESEAUX DE TELECOMMUNICATIONS 2.2 LES RESEAUX MPLS-DIFFSERV 2.3 L’ENVIRONNEMENT DE SIMULATION J-SIM 2.3.1 Introduction 2.3.2 Modélisation d’un réseau 2.3.3 Modélisation du réseau MPLS dans J-Sim 2.3.4 Les problématiques 3DEROULEMENT DU STAGE 3.1 MODELISATION DU RESEAU MPLS-DIFFSERV 3.1.1 Fonctionnement du réseau 3.1.2 La conception d’un nœud MPLS 3.1.3 La modélisation des sources de trafic 3.2 MODELE DE L’AGENT 3.2.1 Introduction 3.2.2 Les critères utiliser 3.2.3 L’architecture de l’agent 4ANALYSE DES RESULTATS 4.1 LA TOPOLOGIE DU RESEAU 4.2 METHODES D’EXPERIMENTATION ET D’EVALUATION 4.2.1 Réseau sans agents intelligents 4.2.2 Réseau avec agents intelligents 4.2.3 Interprétation et remarques CONCLUSION 5.1 5.2 LES RESULTATS OBTENUS AU FUTURE RÉFÉRENCES ANNEXE 7.1 7.1.1 7.1.2 7.1.3 7.2 7.2.1 7.2.2 7.3 7.3.1 7.3.2 7.3.3 LE PACKAGE INET DU SIMULATEUR J-SIM Le CSL et les services La décomposition du CSL L’établissement d’un scénario de simulation d’un réseau LA CONFIGURATION ET LE MANUSCRIT DE SIMULATION DE RESEAU MPLS La configuration du composant de FT L’établissement d’un nœud MPLS GUIDE D'INSTALLATION DE LA SIMULATION DU RESEAU MPLS-DIFFSERV L'Installation L'affichage des résultats Remarque Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents 7.3.4 Le fichiers de simulation ianet.tcl 39 7.4 LES RESULTATS OBTENUS 46 7.4.1 La simulation du réseau sans agent 46 7.4.2 La simulation du réseau avec agent intelligent 47 Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents Les acronymes ACA AF AS ATM BA BE bps CAC CSL DiffServ DSCP EF FEC FT FTP IP LDP LSP LSR MPLS MTU PD PHB QoS RSVP RT SLA SLS TE TTL UPL Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents INTRODUCTION Ce stage s’est déroulé dans l’équipe RESEAUX et PERFORMANCE du pole MSI (Modélisation des Systèmes d’Informatique) du LIP6 (Laboratoire d’Informatique de Paris 6) Aujourd’hui, les réseaux de télécommunications ontévolué vers une tendance fournir les divers services avec telle garantie de la qualité de service aux clients Il est possible de transférer des flots de données différents niveaux de débit,de délai et de taux de perte de paquets Dans le but de fournir certaines garanties de la QoS adéquate aux trafics sur un AS IP, les clients devront avoir des conventions SLA [7, 8, 26, 19] contractuelles avec des Fournisseurs des Services d’Internet (Internet Service Provider, ISP) Les ISP voudraient satisfaire des demandes du client qui sont décrites dans la part technique SLS [7, 8, 26] du SLA tandis qu’optimiser l’utilisation des ressources du La réalisation de ces deux objectifs n’est pas simple dans un environnement de réseaux multi-services L’intégration de DiffServ et MPLS est une approche très efficace pour résoudre ce problème DiffServ fournit des mécanismes normalisés de QoS [6] tandis que MPLS fournit des techniques de routage qui nous permettent d’optimiser l’utilisation de ressources et l’ingénierie du trafic [10] Deux aspects intéressants de cette tendance seront abordés rapidement dans les deux sections suivantes : la garantie de la QoS dans le monde IP et l’ingénierie du trafic (TE) dans les réseaux MPLS 1.1 La garantie de la QoS dans les réseaux IP Un point majeur dans la gestion de la performance de réseaux est la QoS Elle a été définie dans la recommandation E.800 de l’ITU-T (International Telecommunications Union – Telecommunication Standardization Sector) comme « u n effet collectif des performances d’un service qui détermine le degré de satisfaction d’un client du service » Pour atteindre certaine garantie de la QoS, des mécanismes du plan de contrôle et du plan de gestion sont utilisés [26] Les mécanismes du plan de contrôle servent réserver des ressources la demande Ceux du plan de gestion fournissent la planification et la surveillance du réseau et la gestion des demandes d’inscription des services dépendant des ressources valables Normalement, les réseaux IP n’offrent pas de qualité de service l’origine En effet, l’objectif du monde IP est de partager de faỗon ộquitable lensemble des ressources du rộseau [25] Plusieurs solutions ont été proposées pour essayer d’introduire de la qualité de service dans les réseaux IP La première solution est de surdimensionner le réseau de telle sorte que tous les paquets IP voient le réseau comme étant fluide et puissent arriver dans un laps de temps court au récepteur La deuxième solution est de réserver des ressources du réseau pour des flots particuliers Pour cela, un protocole de signalisation RSVP a été proposé Associée ce protocole, une autre solution a été proposée avec la technique IntServ (Integrated Service) L’idée est d’introduire des classes de priorité aux trafics dans les réseaux IP Cependant, cette proposition bute contre le problème de passage l’échelle du contrôle de QoS C’est pour quoi la technique DiffServ a été proposée Cette technique est considérée une technologie clépour l’obtenir la garantie de QoS Au lieu de maintenir des tables indiquant les caractéristiques des flots chaque routeur, les paquets sont classifiés, marqués et policés au bord d’un domaineDiffServ Les flots sont regroupés dans des flots plus importants appelés des agrégats Un ensemble fini des PHB différencie le traitement des agrégats dans le noyau du réseau en fonction de la priorité d’ordonnancement (scheduling priority), la capacité de transiter (forwarding capacity) et le tampon (buffering) Les trois types principaux de PHB sont: EF [RFC2598], AFxy [RFC2597] et BE Les SLS sont utilisés pour décrire Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents des paramètres appropriés de la QoS dont un routeur DiffServ devrait tenir compte Le traitement des micro flots aura lieu au bord du réseau DiffServ tandis que les routeurs internes ne travaillent qu’avec des agrégats de flux selon le champ DSCP de l’entête de paquets IP Cette approche a pour avantage d’éviter le problème de passage l’échelle du contrôle de QoS Le cadre de QoS tels que IntServ et DiffServ ont bien concentré des mécanismes du plan de contrôle pour fournir la QoS Cependant, il ne semble que c’est possible fournir la QoS sans l’aide de la gestion du réseau et des services Considérons le cas de DiffServ, il ne suggère que les mécanismes nécessaires au traitement des paquets chaque nœud Il ne suggère aucune architecture pour délivrer la QoS de bout en bout (end-to-end QoS) L’objectif d’offrir une garantie de QoS quantitative de bout en bout sera réalisé grâce l’augmentation des mécanismes de DiffServ avec des fonctions de l’ingénierie du trafic intelligentes [26] Dans la partie suivante, nous allons présenter l’ingénierie du trafic dans esl réseaux MPLS 1.2 L’ingénierie du trafic dans les réseaux MPLS Les réseaux MPLS sont de plus en plus utilisés dans le monde IP MPLS utilise l’approche d’intégration d’un cadre d’échanger des étiquettes (labels) avec le routage de la couche de réseau L’idée de base est d’assigner des étiquettes fixes et courtes des paquets IP l’entrée d’un réseau MPLS (basé sur le concept de transfert en avant des classes équivalentes FEC) Cette assignation n’est faite qu’une fois quand le paquet entre dans le réseau Tous les paquets qui appartiennent un FEC particulier et qui partent d’un nœud particulier traverseront le même chemin ou un des chemins associés ce FEC (dans le cas de routage multi chemins) [13] Les paquets seront pilotés par les routeurs internes grâce leur étiquette, aucune information additionnelle n’est nécessaire Ce type de réseau est vraiment adéquat des applications de multimédia comme la VoIP (Voix sur IP), VoD (Vidéo la demande)…qui demandent de transférer les paquets en ordre Une des applications les plus significatives initiales de l’implémentation de MPLS sera développée pour la TE[27] 1.2.1 L’ingénierie du trafic En général, l’ingénierie du trafic (TE) est un processus pour spộcifier la faỗon dont laquelle des trafics sont traités dans un réseau donné La TE concerne principalement l’optimisation de performance des réseaux opérationnels Elle renferme l’application des technologies et des principes scientifiques de la mesure, de la modélisation, de la caractérisation, et du contrôle du trafic d’Internet pour atteindre des objectifs de la performance spécifiques Les deux aspects d’intérêt de la TE dans les réseaux MPLS sont la mesure et le contrôle [27] Des objectifs principaux de la performance associés la TE devraient être classifiés en deux types : l’orientation du trafic ou celle des ressources [27] Les objectifs de la performance orientés au trafic se comprennent des aspects qui améliorent la QoS des flux du trafic Ils pourraient être la minimisation de perte de paquets , de délai, la maximisation de débit…Ceux orientés aux ressources concernent des aspects d’optimisation de l’utilisation de ressources, parmi lesquelles la gestion de bande passante (bandwith) est un facteur essentiel La minimisation de congestions et l’équilibrage de la charge (load balancing) sont ainsi les buts importants de la TE 1.2.2 MPLS et la TE MPLS est vraiment significatif pour la TE parce qu’il fournit potentiellement la plupart des fonctionnalités valables du modèle « overlay » tel que IP sur ATM, IP sur le relais de trame(IP over frame relay)…de faỗon intộgrộe et coỷt bas par rapport aux autres Il nous offre la possibilité d’automatiser des fonctions de la TE [27] Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents MPLS, avec le concept de « traffic trunk » [RFC 240 3], a quelques facteurs pour la TE [27]: (i) les LSP explicites qui n’ont pas de contraintes du paradigme de transfert basé sur des destinations pourraient être créés manuellement par des opérateurs du réseau ou automatiquement par des protocoles, (ii) les LSP pourraient être maintenus efficacement, (iii) les traffic trunks pourraient être instanciés (instanti ated) et projetés (mapped) sur les LSP, (iv) un ensemble des attributs pourrait être associés aux t raffic trunks qui modulent leurs caractéristiques comportementales, (v) un ensemble d’attributs pourrait être associés aux ressources qui contraignent le placement des LSP et les traffic trunks traversant ces LSP… Cependant, il y a des difficultés dans la réalisation de la TE sur MPLS Citons les trois problèmes fondamentaux de la TE sur MPLS Premièrement, comment projetons-nous les paquets sur les FEC? Deuxièmement, comment projetons-nous les FEC sur les traffic trunks? Troisièmement, comment projetons-nous les traffic trunks sur la topologie physique d’un réseau via les LSP? Plusieurs travaux ont été faits pour répondre ces questions Ces travaux concernent l’intégration de la technique DiffServ et l’infrastructure MPLS [26,31], le développement des protocoles de routage et de distribution des étiquettes… L’idée d’intégrer la technique DiffServ un réseauMPLS montre un avantage Il est possible de spécifier les chemins suivre et les comportements (PHB) des paquets dans les files d’attente des routeurs Pour cela, les FEC seront classifiés selon les classes de service de DiffServ (EF, AFxy, BE) Il y a deux faỗons de projeter le DSCP de DiffServ sur les étiquettes de MPLS : E-LSP (Exp-inferred LSP) et L-LSP (Label only inferred LSP) [28, 29] Les étiquettes seront assignés et distribuées aux routeurs grâce un LDP Un des travaux intéressants dans l’assurance de la TE sur MPLS est la gestion dynamique et automatique de l’accès un réseau MPLS-DiffServ Ce travail concerne l’affectation des flux provenant de l’extérieur du réseau dans les divers LSPs d’un réseau MPLS-DiffServ en fonction du SLS négocié par l’utilisateur, des caractéristiques de l’application et peut-être également du profil d’utilisateur Par exemple, s’il y a une application de téléphonie qui se présente, quel LSP affectera-t-on cette application pour que la garantie très forte soit réalisée? Normalement, les flux sont routés statiquement par l’opérateur ou bien par un protocole de routage et distribution des étiquettes Avant d’affecter un flot dans un tuyau, il faut avoir une procédure de l’appel du contrôle d’admission (CallAdmission Control, CAC) [9] pour que la QoS soit respectée Dans le but d’introduire l’intelligence artificielle dans le domaine de la télécommunication, nous proposons une approche d’utilisation de l’agent intelligent dans la gestion de l’accès un réseau MPLS-DiffServ 1.3 L’objectif du projet L'objectif du projet est de concevoir et de développer des techniques et des logiciels de simulation des réseaux MPLS-DiffServ intégrant des agents intelligents Dans ce cadre j’ai travaillé avec un autre stagiaire qui a travaillé sur la modélisation et le développement d’un réseau MPLSDiffServ Ce stage concerne la réalisation d’un modèle d’agent générique pour le choix des LSP et la mesure de son efficacité ainsi que ses inconvénients en terme de TE Nous voudrons essayer d’appliquer l’intelligence artificielle des agents la réalisation de la TE dans un réseau MPLSDiffServ Nous creusons l’aspect du choix des LSP en satisfaisant la QoS demandée et l’équilibrage de la charge du réseau Pour cela, ontente de répondre aux questions suivantes : (i) Pourquoi et comment introduit-on l’agent intelligent un réseau MPLS? (ii) Quels sont ses avantages et inconvénients ? (iii) Comment affecte-t-on les flux de paquets les divers LSP? (iv) Quels sont les paramètres avec lesquels l’agent peut jouer? (v) Quelle est l’architecture des Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents java::call drcl.inet.InetUtil createTopology [! ] $adjMatrix_ # Build nodes: set routerBuilder_ [java::new drcl.inet.NodeBuilder routerBuilder] set hostBuilder_ [cp $routerBuilder_ hostBuilder] mkdir $hostBuilder_/20@up $routerBuilder_ build [! n*] 10 $hostBuilder_ build [! h*] 11 # Set up traffic source: 12 set packetSize_ 512 13 set period_ 1; # send a packet of size 512 bytes every second 14 set trafficModel_ [java::new drcl.net.traffic.traffic_PacketTrain $packetSize_ $period_] 15 java::call drcl.inet.InetUtil createTrafficSource $trafficModel_ "source" [! h4] [! h5] 20] 16 # Set up sink: 17 set sink_ [mkdir drcl.comp.tool.DataCounter h5/sink] 18 connect -c h5/csl/20@up -to $sink_/down@ 19 # Set up static routes from h4 to h5 20 java::call drcl.inet.InetUtil setupRoutes [! h4] [! h5] 21 22 attach_simulator ; # attach simulation runtime # start "active" component: the traffic source 23 run Mis en forme : Franỗais (France) 7.2 La configuration et le manuscrit de simulation de réseau MPLS 7.2.1 La configuration du composant de FT Avant d’envoyer des données, il est nécessaire d’ajouter des informations d’acheminement la FT On pourrait utiliser deux méthodes : utiliser des commandes de TCL dans le manuscrit de configuration de TCL générer un fichier de configuration qui sera chargé la FT La commande suivante rajoute une entrée la FT Cette entrée relie une étiquette d’entrée une interface de sortie et une liste d’opérations node/csl/ft addLabelEntry label outif timeout operation Description des arguments : Nom label outif timeout Mis en forme : Retrait : Première ligne : 0.13", Avec puces + Niveau : + Alignement : 0.25" + Tabulation après : 0.5" + Retrait : 0.5" Mis en forme : Anglais (Royaume-Uni) operation Les opérateurs sont : SWAP, PUSH, POP SWAP : l’étiquette au sommet de la pile est modifiépar la valeur donnée PUSH : rajouter une nouvelle valeur la pile POP : effacer la valeur au sommet de la pile Exemple : ! n1/csl/ft addLabelEntry 90.0 "POP 0" Mis en forme : Anglais (Royaume-Uni) Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents Pour relier un préfixe IP une interface de sortie et une liste d’opérations on peut utiliser la commande : node/csl/ft addPrefixEntry destIP destMask outif timeout operation Description des arguments : Nom destIP destMask outif timeout operation Les opérateurs sont les mêmes que dans le cas ci-de ssus Exemple : ! n2/csl/ft addPrefixEntry 0x05 0xFFFFFFFF 30.0 "PUSH 1:PUSH 1:PUSH 2" Dans le cas que l’on veut charger les entrées dans la FT partir d’un fichier, on pourrait utiliser la commande : node/csl/ft loadFromFile path path : Le chemin pour trouver le fichier Dans le fichier de configuration du FT, chaque ligne est une entrée On a deux type de ligne : L inlabel outif timeout {op label}+ I destIP destMask outif timeout {op label}+ où L indique une entrée d’étiquette, I présente celle d’adresse IP op = (PUSH) ; (POP) ; (SWAP) Exemple : !n3/csl/ft loadFromFile "./ft.content" Avec le contenu du fichier ft.content: I 00000005 FFFFFFFF 90.0 1 1 I 00000007 FFFFFFFF 90.0 1 1 L1290.020 Description l’adresse IP de destination le masque de destionation l’interface de sortie le temps avant l’effacement de cette entrée définir des opérations sur les étiquette Mis en forme : Anglais (Royaume-Uni) Mis en forme : Anglais (Royaume-Uni) 7.2.2 L’établissement d’un nœud MPLS Créer un MPLSBuilder : set mpls [mkdir infonet.javasim.MPLS.MPLSBuilder mplsBuilder] Créer des nœuds MPLS : set nb [mkdir drcl.inet.NodeBuilder nodeBuilder] $nb build [! n?] $mpls Exemple complet d’un scénario de simulation du réseau MPLS sera introduit dans la section suivante 7.3 Guide d'installation de la simulation du reseau MPLS-DiffServ 7.3.1 L'Installation - Lancer la fenetre de commande DOS Changer le chemin (path) au repertoire C:\npquang\working\mpls\current Etablir les variables d'environnement par le script run.bat Faire marcher la simulation en utilisant le script r.bat, ou bien : java drcl.ruv.System ianet.tcl - Pour recompiler les fichiers *.java, utilisez le script c.bat Mis en forme : Anglais (Royaume-Uni) Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents 7.3.2 L'affichage des rộsultats Les rộsultats sont affichộs de deux faỗons: visuell et textuelle: L'affichage visuel montre les valeurs moyennes et instantanées des paramètres de QoS selon chaque LSP du réseau comme : la gigue, le délai, la perte L'affichage textuel montre le traitement et les critères utilisés de l'agent : Waiting for agent process Agent processing Agent process number : 20 lookup for : Alternative number : Mis en forme : Anglais (Royaume-Uni) Avarage : Mean parameters : delay :0.04011069242009149 jitter : 0.06244899598381361 loss : 0.0 wait :2.7843803056027165E-4 Variance parameters : delay :0.02251883567437416 jitter : 0.04886202120211075 loss : 0.0 wait :1.5353530580015497E-4 Agent return : End of agent process + Agent process number indique le nombre de flots de données a été traités de la simulation + lookup for : "type de service" (0 : EF, : AF, : BE) + Alternative number : "nombre de LSP" + Mean parameters : la somme des valeurs moyennes de tous les noeuds appartenant d'un LSP + Variance parameters : la variance des valeurs moyennes + Agent return : "la référence pour trouver un chemin dans FT( Forwarding Table) Mis en forme : Anglais (Royaume-Uni) 7.3.3 Remarque La topologie du réseau est présentée dans le fichier ianet.tcl L'agent se trouve noeud n0 et il ne traite que des flots de noeuds n0 la destination n2 L'agent a deux ports communiquer : AGENT_SERVICE_PORT_ID pour le traitement de flots et AGENT_UPDATE_PORT_ID pour la mise jour des donnees La période de mise jour des paramètres (le temps que les noeuds envoient leur état actuel l'agent): foreach i {0 3} { [! n$i/csl/mpls] setTimeUpdate "Update" 0.1 } L'agent ne change pas le contenu des paquets, il ne donne qu'une reference au module MPLS pour faire "lookup" dans la FT Mis en forme : Anglais (Royaume-Uni) 7.3.4 Le fichiers de simulation ianet.tcl #LE Duy-NGUYEN Phan Quang cd [mkdir drcl.comp.Component /ianet] puts "\n-=Construire la topologie=-" puts "Construire les noeuds " cd [mkdir drcl.comp.Component net0] set link_ [java::new drcl.inet.Link] $link_ setPropDelay 0.1; # # # # # # # # # # # # # # # Mis en forme : Franỗais (France) Mis en forme : Anglais (Royaume-Uni) Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents puts "Construire l'adress IP " set id_ [java::new {long[]} {0 }] set adjMatrix_ [java::new {int[][]} {{1 4} {0 5} {1 6} {0 7} {0} {1} {2} {3}}] java::call drcl.inet.InetUtil createTopology [! ] "n" "n" $adjMatrix_ $id_ $link_ set mplsBuilder [mkdir MPLSBuilder mplsBuilder] set nb [mkdir drcl.inet.NodeBuilder nodeBuilder] $nb setBandwidth $nb build [! n0] $mplsBuilder $nb setBandwidth $nb build [! n1] $mplsBuilder $nb setBandwidth $nb build [! n2] $mplsBuilder $nb setBandwidth $nb build [! n3] $mplsBuilder $nb setBandwidth 1.0e8; $nb build [! n4-7] $mplsBuilder [! n4] [! n4] addAddress addAddress [! n5] [! n5] addAddress addAddress [! n6] addAddress 10 [! n6] addAddress 14 #For testing only [! n6] addAddress 16 [! n7] addAddress 11 [! n7] addAddress 15 #Added by NGUYEN Phan Quang 12/09/03 puts "create and connect database" mkdir Database data #connect [! n?/csl/mpls/DATA_SERVICE_PORT_ID@] -to [! data/update@] puts "create and connect agent and n1" mkdir Agent agent ! agent setDatabase [ ! /ianet/net0/data] connect agent/AGENT_SERVICE_PORT_ID@ -and [! /ianet/net0/n0/csl/mpls/AGENT_SERVICE_PORT_ID@] foreach i {0 3} { connect [! n$i/csl/mpls/AGENT_UPDATE_PORT_ID@] -to [! agent/AGENT_UPDATE_PORT_ID@] } connect agent/DATA_PORT_ID@ -and data/update@ ! agent setActive true #! agent setActive false mkdir drcl.comp.tool.Plotter plot ! agent connect2Plot [ ! plot] #end of addition puts "Configuration des routeurs " java::call java::call java::call java::call java::call infonet.javasim.util.NetUtil infonet.javasim.util.NetUtil infonet.javasim.util.NetUtil infonet.javasim.util.NetUtil infonet.javasim.util.NetUtil setupBRoute [! n0] [! n4] setupBRoute [! n4] [! n0] setupBRoute [! n1] [! n5] setupBRoute [! n5] [! n1] setupBRoute [! n2] [! n6] Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents Mis en forme : Franỗais (France) Mis en forme : Anglais (Royaume-Uni) java::call infonet.jav asim.util.N etUtil setupBRoute [! n6] [! n2] java::call infonet.javasim.util.NetUtil setupBRoute [! n3] [! n7] java::call infonet.javasim.util.NetUtil setupBRoute [! n7] [! n3] java::call java::call java::call java::call java::call java::call java::call java::call infonet.javasim.util.NetUtil infonet.javasim.util.NetUtil infonet.javasim.util.NetUtil infonet.javasim.util.NetUtil infonet.javasim.util.NetUtil infonet.javasim.util.NetUtil infonet.javasim.util.NetUtil infonet.javasim.util.NetUtil setupBRoute [! n0] [! n1] setupBRoute [! n1] [! n0] setupBRoute [! n1] [! n2] setupBRoute [! n2] [! n1] setupBRoute [! n2] [! n3] setupBRoute [! n3] [! n2] setupBRoute [! n3] [! n0] setupBRoute [! n0] [! n3] puts "Configuration des table d'acheminement " foreach i {1 3} { ###### Flow 1: ###### Flow 2: ###### Flow 3: # addPrefixEntry destIP destMask ! n0/csl/ft addPrefixEntry [expr Mis en forme : Franỗais (France) Mis en forme : Anglais # N1 # addLabelEntry label iface timeout operations ! n1/csl/ft addLabelEntry $i 90.0 "SWAP $i" (Royaume-Uni) # N2 ! n2/csl/ft addLabelEntry $i 90.0 "POP 0" ###### Flow 4: ###### ###### Flow Flow # N1 # addPrefixEntry destIP destMask iface timeout operations ! n1/csl/ft addPrefixEntry [expr $i*4+3] 0xFFFFFFFF 90.0 "PUSH [expr $i+3]" # N2 # addLabelEntry label iface timeout operations ! n2/csl/ft addLabelEntry [expr $i+3] 90.0 "SWAP [expr $i+3]" # N3 ! n3/csl/ft addLabelEntry [expr $i+3] 90.0 "POP 0" ####################### ###### ###### Flow Flow # N2 # addPrefixEntry destIP destMask iface timeout operations ! n2/csl/ft addPrefixEntry [expr $i*4] 0xFFFFFFFF 90.0 "PUSH [expr $i+6]" # N3 # addLabelEntry label iface timeout operations ! n3/csl/ft addLabelEntry [expr $i+6] 90.0 "SWAP [expr $i+6]" # N0 ! n0/csl/ft addLabelEntry [expr $i+6] 90.0 "POP 0" ####################### ###### Flow 10: -> -> Label=10 => EF Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents # N3 # addPrefixEntry destIP destMask iface timeout operations ! n3/csl/ft addPrefixEntry [expr $i*4+1] 0xFFFFFFFF 90.0 "PUSH [expr $i+9]" # N0 # addLabelEntry label iface timeout operations ! n0/csl/ft addLabelEntry [expr $i+9] 90.0 "SWAP [expr $i+9]" # N1 ! n1/csl/ft addLabelEntry [expr $i+9] 90.0 "POP 0" } # For testing only ###### Flow 13: -> -> 16 Label=13 => EF ###### Flow 14: -> -> 10 Label=14 => AFxy ###### Flow 15: 12 -> -> 14 Label=15 => BE # addPrefixEntry destIP destMask iface timeout operations ! n0/csl/ft addPrefixEntry 16 0xFFFFFFFF 90.0 "PUSH 13" # N3 # addLabelEntry label iface timeout operations ! n3/csl/ft addLabelEntry 13 90.0 "SWAP 13" # N2 ! n2/csl/ft addLabelEntry 13 90.0 "POP 0" ! n1/csl/ft addPrefixEntry 10 0xFFFFFFFF 90.0 "PUSH 13" ! n1/csl/ft addPrefixEntry 0xFFFFFFFF 90.0 "PUSH 3" # Added by Nguyen Phan Quang 25-09 ! n0/csl/ft addLabelEntry 90.0 "PUSH 1" ! n0/csl/ft addLabelEntry 90.0 "PUSH 2" ! n0/csl/ft addLabelEntry 90.0 "PUSH 3" ! n0/csl/ft addLabelEntry 55 90.0 "PUSH 55" ! n0/csl/ft addLabelEntry 15 90.0 "PUSH 15" ! n0/csl/ft addLabelEntry 40 90.0 "PUSH 40" ! n3/csl/ft addLabelEntry 55 90.0 "SWAP 1" ! n3/csl/ft addLabelEntry 15 90.0 "SWAP 3" ! n3/csl/ft addLabelEntry 40 90.0 "SWAP 2" #End of addition set EF set AF set BE puts "Des variables " foreach i {0 3} { set sourceF$i n[expr $i+4] # puts "sourceF$i ==> n[expr $i+4]" foreach j {0 2} { if {$i > 1} {set destF$i$j [expr $i+2+$j*4] } $i+4+2+$j*4]} puts "==> destF$i$j" # } set set set set {set destF$i$j [expr OnOff_$i [mkdir source_OnOff OnOff_$i] Poisson_$i [mkdir source_Poisson Poisson_$i] ParetoOnOff_$i [mkdir source_ParetoOnOff ParetoOnOff_$i] Trace_$i [mkdir source_Trace Trace_$i] Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents set timePeriodSource$i -1 } puts "Configuration des sources de trafic " # For testing only set Trace_n [mkdir source_Trace Trace_n] [! Trace_n] set [! n4] 16 "Verbose_Aladdin_duy2.dat" 256 false [! Trace_n] setParam 16 $timePeriodSource0 $BE set OnOff_n [mkdir source_OnOff OnOff_n] [! OnOff_n] set [! n4] 16 [! OnOff_n] setParam 17 $timePeriodSource0 $AF [! OnOff_n] setOnOffParam 56 221184 0.01 0.06 ###### Source [! OnOff_0] set [! $sourceF0] $destF00 [! OnOff_0] setParam $timePeriodSource0 $EF [! OnOff_0] setOnOffParam 128 13072 0.01 0.06 [! Poisson_0] set [! $sourceF0] $destF01 [! Poisson_0] setParam $timePeriodSource0 $BE [! Poisson_0] setPoissonParam 128 24576 [! ParetoOnOff_0] set [! $sourceF0] $destF02 [! ParetoOnOff_0] setParam $timePeriodSource0 $BE [! ParetoOnOff_0] setParetoOnOffParam 56 122880 0.01 0.06 [! Trace_0] set [! $sourceF0] $destF02 "Verbose_Jurassic_duy3.dat" 256 false [! Trace_0] setParam $timePeriodSource0 $EF ###################" [! OnOff_1] set [! $sourceF1] $destF10 [! OnOff_1] setParam $timePeriodSource1 $EF [! Poisson_1] set [! $sourceF1] $destF11 [! Poisson_1] setParam $timePeriodSource1 $AF [! ParetoOnOff_1] set [! $sourceF1] $destF12 [! ParetoOnOff_1] setParam $timePeriodSource1 $BE [! Trace_1] set [! $sourceF1] $destF12 "Verbose_Aladdin_duy2.dat" 128 false [! Trace_1] setParam $timePeriodSource1 $BE ###################### [! OnOff_2] set [! $sourceF2] $destF20 [! OnOff_2] setParam $timePeriodSource2 $EF [! Poisson_2] set [! $sourceF2] $destF21 [! Poisson_2] setParam $timePeriodSource2 $BE [! ParetoOnOff_2] set [! $sourceF2] $destF22 [! ParetoOnOff_2] setParam 10 $timePeriodSource2 $BE [! Trace_2] set [! $sourceF2] $destF22 "Verbose_Aladdin_duy3.dat" 128 false [! Trace_2] setParam 11 $timePeriodSource2 $AF ###################### [! OnOff_3] set [! $sourceF3] $destF30 [! OnOff_3] setParam 12 $timePeriodSource3 $AF [! Poisson_3] set [! $sourceF3] $destF31 [! Poisson_3] setParam 13 $timePeriodSource3 $BE Gestion de l’accès aux réseaux MPLS-DiffServ par des agents intelligents [! ParetoOnOff_3] set [! $sourceF3] $destF32 [! ParetoOnOff_3] setParam 14 $timePeriodSource3 $BE [! Trace_3] set [! $sourceF3] $destF32 "Verbose_Jurassic_duy2.dat" 128 false [! Trace_3] setParam 15 $timePeriodSource3 $EF puts "Configuration les plotteurs " foreach j {0 2} { foreach i {0 3} { set plot_$j$i [mkdir ianetPlotter p$j$i] } } for {set t 0} {$t

Ngày đăng: 30/10/2020, 21:20

Tài liệu cùng người dùng

Tài liệu liên quan