Professional Documents
Culture Documents
I.
Introduction :
Les simulateurs sont utiliss pour valider les ides proposs par les quipes de recherche, surtout dans le domaine de rseaux Informatique. Actuellement les travaux de recherche sont valids laide dune varit de simulateurs : NS2, NS3, OMNeT++ et QualNet, etc. Le choix dun simulateur est bas sur la qualit de ses modles implments. Lobjective de la prsente proposition est la ralisation dune comparaison entre les simulateurs NS2 et GNS, en se basant sur le modle des rseaux mesh 802.11s. Il sagit dans un premier temps danalyser le modle mesh implment par chaque simulateur, avant de raliser dans un second temps la comparaison en fonction des paramtres suivants : Temps dexcution de simulations, Utilisation de la mmoire.
I.
Network simulateur :
1. NS
NS est un outil logiciel de simulation de rseaux informatiques. Le but de ce tutoriel est, principalement, de prsenter les diffrentes tapes d'installation de ce simulateur, ainsi que la ralisation d'une premire simulation, dvelopp lors d'un projet de la DARPA. , il est parmi les simulateurs les plus utiliss dans les laboratoires de recherche, afin de simuler et tudier les performances des protocoles rseau. Il offre une plateforme de dveloppement de nouveaux protocoles et permet de les tester. Il est principalement bti avec les ides de la conception par objets, de rutilisabilit du code et de modularit. Il est devenu aujourd'hui un standard de rfrence en ce domaine. C'est un logiciel dans le domaine public disponible sur l'Internet. Son utilisation est gratuite. Le logiciel est excutable tant sous Unix que sous Windows. Le Simulateur se compose d'une interface de programmation en tcl et d'un noyau ecrit en C++ dans lequel la plupart des protocoles rseaux ont t implments :
Traffic parreto, ON/OFF, CBR, FTP, telnet, etc. Couche Transport TCP, UDP Couche Rseaux IP, routage dans les rseaux ad hoc (aodv, dsr , dsdv, tora, amodv), routage dans les rseaux filaire (Link state, Distance vector), les rseaux multicast, IntServ, DiffServ Couche MAC CSMA, CDMA, 802,X, Token ring, MPLS, liens satllite, etc.
NS-2 est un logiciel de simulation de rseaux informatique dvelopp lors d'un projet de la DARPA.
Installation de NS :
Tout dabord linstallation soit sur une plateforme UNIX, soit sur un environnement Windows, mais sur Windows elle ncessite une package ce comme une invite de commande Shell qui aide a lexcution de lapplication. On prend comme choix de travailler sur windows :
1) Installation de cygwin :
Cliquer suivants.
Choisir lemplacement do vous installer ( ex : E : a partir du CD ) Cliquez sur suivant . Vous Aurrez la figure montre comme suit. Dans cette fentre, le programme d'installation de cygwin vous a laiss le choisir des logiciels a installer.
Cliquez suivant .
Veuillez tre patient. Il peut prendre un peut de temps pour finir l'installation.) Quand l'installation est faite, on lui montrera en tant que figure suivante. Cliquez Terminer .
Pour
exemple, le smallko est mon nom dutilisateur . Par consquent, le cygwin crera un
repertoire appel smallko sous le rpertoire local. (Le chemin rel du repertoire smallko est : c:\cygwin\home\smallko).comme il montre la figure ci-dessous :
Veuillez
exemple, je copie vers le dossier c:\cygwin\home\smallko . Dcomprsser le fichier Zipp ns-allinone-2.27.tar.gz , en utilisant la commande xvfz ns-allinone-2.27.tar.gz
Commencer
10
Mais
avant que vous commenciez simuler vous devriez ajouter des variables
denvironnement. Alors Juste craser le fichier .bashrc celui sous votre rpertoire
11
Dans la terminologie NS, ce que nous appelons machine sappelle un noeud. Un noeud peut contenir des agents qui reprsentent des comportements, par exemple des applications. Une bibliothque assez complte de composants existe de faon standard. Une proprit intressante de ce systme est son extensibilit. En effet, il est assez facile dtendre la bibliothque des comportements, des types de liens, ou de tout autre lment du systme en programmant ses propres extensions qui deviennent alors intgres au systme. Pour traiter ce premier cas, nous allons donc crire un programme simple. En voici le contenu. Les commentaires (introduits par le caractre #) expliquent le rle de chaque instruction ou partie de programme.
# cration d'un simulateur set ns [new Simulator] # cration du fichier de trace utilis par le visualisateur et indication ns de l'utiliser set nf [open out.nam w]
12
$ns namtrace-all $nf # lorsque la simulation sera termine, cette procdure est appele pour lancer automatiquement le visualisateur proc finish {} { global ns nf $ns flush-trace close $nf exec nam out.nam & exit 0 } # cration de deux noeuds set n0 [$ns node] set n1 [$ns node] # cration d'une ligne de communication full duplex entre les noeuds n0 et n1 $ns duplex-link $n0 $n1 1Mb 10ms DropTail # cration d'un agent UDP implant dans n0 set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 # cration d'un traffic CBR pour le nud 0 gnrateur de paquets vitesse constante paquets de 500 octets, gnrs toutes les 5 ms. Ce traffic est attach au udp0 set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500 $cbr0 set interval_ 0.005 $cbr0 attach-agent $udp0 # cration d'un agent vide, destin recevoir les paquets implant dans n1
set null0 [new Agent/Null] $ns attach-agent $n1 $null0 # le trafic issus de l'agent udp0 est envoy vers null0 $ns connect $udp0 $null0 # scnario de dbut et de fin de gnration des paquets par cbr0 $ns at 0.5 "$cbr0 start" $ns at 4.5 "$cbr0 stop" # la simulation va durer 5 secondes de temps simul $ns at 5.0 "finish" # dbut de la simulation $ns run Lors de cette simulation, les rsultats sont consigns dans un fichier de trace que loutil de visualisation nam va permettre de traiter. Dans notre programme, loutil de visualisation est appel directement la fin de la simulation. Deux lments intressants sont proposs la
13
visualisation : un dessin de la topologie du rseau tudi, et une visualisation dynamique du droulement du programme dans le temps. 6. crire et tester le code correspondant ce modle de rseau
Le noeud n0 gnre un traffic UDP de type CBR vers le noeud n3. Un paquet de taille 500 octets est envoy vers le noeud n3 chaque 0,005s. Le noeud n1 gnre un traffic UDP de type CBR vers le noeud n3. Un paquet de taille 500 octets est envoy vers le noeud n3 chaque 0,005s.
Pour sparer les flux au niveau de nam, on peut rajouter le code suivant. $udp0 set class_ 1 $udp1 set class_ 2 $ns color 1 Blue $ns color 2 Red
14
Vous connaissez peut-tre avec VMware, Virtual Box ou Virtual PC qui sont utiliss pour reproduire diffrents systmes d'exploitation dans un environnement virtuel. Ces programmes vous permettent d'excuter plusieurs systmes d'exploitation tels que Windows XP Professionnel ou Ubuntu Linux dans un environnement virtuel sur votre ordinateur. GNS3 permet le mme type d'mulation l'aide de Cisco Systems Internetwork Operating. Il vous permet d'excuter un IOS Cisco dans un environnement virtuel sur votre ordinateur. Dynamips est le programme de base qui permet l'mulation d'IOS. GNS3 s'excute au-dessus de Dynamips pour crer une plus convivial, environnement graphique.
GNS3 soutient galement des programmes d'mulation d'autres, savoir Qemu, Virtual Box et Pmou. Ces logiciels sont utiliss pour reproduire Cisco ASA et pare-feu PIX, Cisco IPS, routeurs Juniper ainsi que les htes (Linux, Windows, Mac OS X, FreeBSD, etc) GNS3 fait toute la magie de cette mulation travailler ensemble et vous permettra, par exemple, avoir votre routeur Cisco en parler votre hte Linux. Les possibilits sont presque infinies! GNS3 permet l'mulation de Cisco IOS sur votre Windows, Linux et Mac OS X assiste par ordinateur. L'mulation est possible pour une longue liste de plates-formes de routeurs et autres dispositifs. Utilisation d'une carte EtherSwitch dans un routeur, plates-formes de commutation peut galement tre mul avec le degr de fonctionnalits prises en charge de la carte. Cela signifie que GNS3 est un outil prcieux pour la prparation aux certifications Cisco tels que CCNA, CCNP et CCIE.
15
Avec GNS3 vous utilisez un IOS Cisco relle, de sorte que vous verrez exactement ce que l'IOS produit et auront accs n'importe quelle commande ou un paramtre pris en charge par l'IOS. En outre, GNS3 est un logiciel libre, programme libre pour vous utiliser. Toutefois, en raison de restrictions de licence, vous devrez fournir vos propres IOS Cisco utiliser avec GNS3. En outre, GNS3 fournira environ 1.000 paquets par seconde dans un environnement virtuel. Un routeur normale fournira une centaine un dbit mille fois plus grande. GNS3 ne pas prendre la place d'un routeur rel, mais est cens tre un outil d'apprentissage et de test dans un environnement de laboratoire. Utilisation de GNS3 de toute autre manire serait considre comme impropre.
OPNET (Optimum Network Performance) est un outil de simulation de rseaux trs puissant et trs complet. Bas sur une interface graphique intuitive, son utilisation et sa prise en main est relativement aise. Lenvironnement Opnet pour la modlisation et la simulation des rseaux de communication grce aux bibliothque des models (routeurs, commutateurs,)et des protocoles ( TCP/IP,FTP,ATM,).le module radio opnet permet la simulation des rseaux de radiocommunications. 16
OPNET dispose de trois niveaux hirarchiques imbriqus : le network domain, le node domain et le process domain.
17
Certains modules sont non programmables : il s'agit principalement des transmitters et des receivers, dont la seule fonction est de s'interfacer entre le nud et les liens auxquels il est connect. Les autres modules sont entirement programmables : il s'agit des processors et des queues. Les processors sont des modules qui remplissent une tche bien prcise du nud : ils symbolisent en fait les diffrentes parties du systme d'exploitation d'une machine, et plus principalement les diffrentes couches rseau implmentes dans le nud (Ethernet, IP). Les processors peuvent communiquer entre eux via des packets streams (flux de paquets), qui permettent de faire transiter un paquet d'une couche une autre l'intrieur d'une mme machine. Cette organisation permet d'avoir une vision claire de la pile de protocoles implmente dans un nud, et de connatre rapidement leurs interactions. Par exemple, le module IP est reli, via des streams, aux modules de la couche 4 tels que TCP, UDP, et de la couche 2 (Ethernet).
18
Les statistic wires constituent le second type de lien permettant une communication entre modules : comme leur nom l'indique, ils permettent de faire remonter des informations de statistiques d'un module l'autre, comme par exemple la taille et le dlai des queues des transmitters. 4.3 Process Domain C'est ce niveau que l'on dfinit le rle de chaque module programmable. Un module possde par dfaut un processus principal, auquel peuvent s'ajouter des processus fils accomplissant une sous-tche prcise. OPNET fournit des mcanismes permettant tous les processus crs l'intrieur d'un process domain de communiquer entre eux, via un bloc de mmoire partage, ou l'ordonnancement d'interruptions logicielles. Le rle d'un module est dtermin par son process model, que l'on dcrit sous forme d'une machine tats finis (finite state machine). Chaque bloc reprsente un tat diffrent, dans lequel la machine excute un code dtermin. Les transitions sont symbolises par des liens entre blocs et dtermines par des conditions (interruptions, variable ayant une certaine valeur) Les actions a effectuer sont dcrites en langage C, et OPNET fournit une bibliothque de plus de 400 fonctions propritaires spcifiques l'usage des rseaux (cration, envoi et rception de paquets, extraction de valeurs contenues dans les diffrents champs d'une entte). Fort heureusement, une aide consquente permet de trouver facilement les informations dont on a besoin.
En utilisant les nuds pr-programms fournit par la librairie dOPNET. En commenant tout depuis le dbut et en dfinissant soi-mme un modle de lien, des process
models dcrivant des routeurs et des htes
19
V. Conclusion :
La simulation est un processus qui consiste : - Concevoir un modle du systme (rel) tudi, - Mener des exprimentations sur ce modle (et non pas des calculs), - Interprter les observations fournies par le droulement du modle et formuler des dcisions relatives au systme.
20
Le logiciel NS-2 et l'outil de visualisation NAM sont particulirement adapts l'tude de rseaux complexes (filaires, sans fils) mettant en uvre de nombreux types de files d'attente, protocoles de routage, de couches transport (UDP, TCP), et couches application. La plupart de programme de simulation garde le mme principe que modliser, conceptuer, et analyser, mais tout dpend de la nature des variables tudier.
21