ns project

Upload: mohamed-amara

Post on 15-Jul-2015

472 views

Category:

Documents


0 download

TRANSCRIPT

Ralis par : Amara Mohamed

Propos par : EL korbi Iness

Anne universitaire : 2011-2012

1

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.

2

I.

Network simulateur :

1. NSNS 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.

La mthode de simulation suivre est montre dans la figure suivante :

3

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 :

4

Cliquer suivants.

Choisir alors Install From Local directory

Cliquez sur suivant .

5

Selectionnez Unix / binary.

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 sur view d'abord pour faire le changement de category a full .

6

XFree86-base, XFree86-bin, XFree86-prog, XFree86-lib, XFree86-etc, make, patch, Perl,

GCC, gcc-g++, gawk, gnuplot, tar et le gzip doivent tre choisi.

Cliquez suivant .

7

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 .

Cliquez OK pour finir le programme d'installation de cygwin.

2) Installation de NS2 : Cliquer sur l'icne cygwin sur le bureau.

Pour

la premire excution, il produira d'un certain paramtre d'environnement. Dans cet

exemple, le smallko est mon nom dutilisateur . Par consquent, le cygwin crera un

8

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

copier ns-allinone-2.27.tar.gz dans votre repertoire personnel. Dans cet

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

Quand la dcompression est finie, on va avoir la fentre suivante.

9

Commencer

installer ns-allinone-2.27 . Accder au repertoire ns-allinone-2.27

en tappant Cd ns-allinone-2.27 et puis . /install .

Veuillez tapez y pour continuer.

Quand il est fini, on aura.

10

Mais

avant que vous commenciez simuler vous devriez ajouter des variables

denvironnement. Alors Juste craser le fichier .bashrc celui sous votre rpertoire

Pour lancer le mode graphique. (typez startxwin.bat )

local. (Dans cet exemple, je copie .bashrc c:\cygwin\home\smallko)

Accdez aux exemples TCL. en tappant cd ~/ns-allinone-2.27/ns-2.27/examples .lancez lexemple par la commande ns example2.tcl

11

5. Premiere simulation Ns-2Cet exemple est une simple simulation dun rseau minimal constitu de deux stations communiquant lune avec lautre via une liaison spcialise.

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

GNS 3 : simulateur rseau graphique !GNS3 est un simulateur de rseau graphique qui permet l'mulation de rseaux complexes. GNS3 est un simulateur graphique de rseaux qui vous permet de crer des topologies de rseaux complexes et d'en tablir des simulations. Ce logiciel, en lien avec Dynamips (simulateur IOS), Dynagen (interface textuelle pour Dynamips) et Pemu (mulateur PIX), est un excellent outil pour l'administration des rseaux CISCO, les laboratoires rseaux ou les personnes dsireuses de s'entraner avant de passer les certifications CCNA, CCNP, CCIP ou CCIE. De plus, il est possible de s'en servir pour tester les fonctionnalits des IOS Cisco ou de tester les configurations devant tre dployes dans le futur sur des routeurs rels. Ce projet est videmment OpenSource et multiplates-formes. Il est possible de le trouver pour Mac OS X, Windows et videmment pour votre distribution Linux prfre ! Remarque importante : l'utilisateur doit fournir ses propres images IOS pour utiliser GNS3. NdM : GNS3 est sous licence GPLv2

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)

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.

4.1 Network DomainC'est le niveau le plus lev de la hirarchie d'OPNET. Il permet de dfinir la topologie du rseau en y installant des routeurs, des htes, des quipements tels que des switchs, relis entre eux par des liens. Chaque entit de communication (appele nud) est entirement configurable et est dfinie par son modle.

4.2 Node DomainLe Node domain permet de dfinir la constitution des nuds (routeurs, stations de travail, hub, ). Le modle est dfini l'aide de blocs appels modules.

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.

4.5 Simulation sous OPNETOPNET fournit en standard une liste impressionnante d'implmentations de routeurs, de stations de travail, de switchs On peut donc construire une simulation de rseaux en utilisant principalement deux mthodes :

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 processmodels 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