• Aucun résultat trouvé

TP1 : simulation de protocoles pour les r´eseaux

N/A
N/A
Protected

Academic year: 2022

Partager "TP1 : simulation de protocoles pour les r´eseaux"

Copied!
2
0
0

Texte intégral

(1)

TP1 : simulation de protocoles pour les r´eseaux

R´esum´e

L’objet de ce TP est la d´ecouverte de la plateforme de simulationSinalgo.Sinalgoest une plateforme de simulation qui permet de tester et de valider ”`a haut niveau” des protocoles.

1 Installation

Les sources et le tutorial deSinalgose trouvent `a l’adresse suivante :

https://sourceforge.net/projects/sinalgo/files

1.1 Pr´e-requis

Sinalgon´ecessite queJava 5.0ou une version sup´erieure soit install´e sur votre machine.Sinalgofonctionne aussi avec des environnnement de d´eveloppement de typeEclipse.

1.2 Installation

T´el´echargez la version ”Regular Release” de Sinalgo et d´ecompressez la dans un sous-r´epertoire sinalgo de votre r´epertoire de travail. Ce r´epertoire contient entre autresles sourcesdanssrcet les fichiers binaires dansbinaries/bin.

Deux choix s’offrent alors `a vous :

— Soit vous lancezSinalgo`a partir de la ligne de commande en tapant :java-cp binaries/bin sinalgo.Run`a partir du r´epertoiresinalgo.

— Soit vous utilisez un environnement de d´eveloppement typeEclipse(cf.ci-dessous).

1.3 Avec Eclipse

1. LancezEclipse.

2. Cr´eez un nouveau projet java (File→New→Java Project). Nommez-lesinalgo. Cochez la case ”cr´eer un projet `a partir d’un source existant” et s´electionnez le r´epertoiresinalgocr´e´e pr´ec´edemment. Cliquez surterminer.

3. V´erifiez qu’Eclipseest configur´e pour utiliserJava 5.0: dans le menuPreferences, selectionnezJava→Compi- ler. Le niveau du compilateur doit ˆetre `a 5.0 ou plus.

4. Faites un clic droit sur build.xml dans le navigateur de package et s´electionezRun as→Ant Build.

Une fois ces actions effectu´ees, il suffit de faire un clic droit sursrcdans le navigateur d’Eclipseet de s´electionnerRun as→JavaApplication pour d´emarrer l’application.

2 Organisation

Sinalgopropose un ensemble de sources de projets : des exemples (sample), un projet par d´efaut (defaultProject) et un projet ”vide” (template). Vous allez utiliser le projet ”vide” pour cr´eer vos propres projets. Chaque source est stock´e dans un r´epertoire situ´e danssinalgo/src/projects. L’organisation de chaque projet est identique et comporte :

— Un fichierConfig.xmlqui permet de param´etrer le mod`ele d’ex´ecution.

— Un fichierdescription.txt; l’ensemble des informations de ce fichier sont affich´es dans le menu o`u l’on s´electionne la simulation `a ex´ecuter.

— Un fichierCustumGlobal.javaqui permet de modifier l’interface de simulation.

— Un fichierLogL.javaqui permet de d´evelopper des fonctions de ”monitoring”.

— Optionnellement, un fichierrun.pl; ce fichierPerlpermet de g´erer le param´etrage d’une ex´ecution.

— Un r´epertoireimages; ces images peuvent ˆetre utilis´ees pour personnaliser les menus, etc.

1

(2)

— Deux r´epertoires : models et nodesqui contiennent les impl´ementations des mod`eles et des noeuds (cf. ci- dessous).

2.1 Mod`eles

Les mod`eles d´ecrivent l’environnement dans lequel votre protocole est simul´e. Vous pouvez implanter vos propres mod`eles ou utiliser des mod`eles pr´ed´efinis. Ici, nous utiliserons et param`etrerons uniquement des mod`eles pr´ed´efinis.

Pour chaque simulation, il faut d´efinir 6 mod`eles diff´erents :

— Lemod`ele de connectivit´equi d´ecide comment ´evaluer le voisinage d’un noeud.

— Lemod`ele de distributionqui d´ecrit comment les noeuds sont plac´es au d´emarrage de l’application.

— Lemod`ele d’interf´erencequi d´ecide si un message est perdu (cette fonctionnalit´e ne sera pas utiliser dans les premiers TPs).

— Lemod`ele de transmissionqui d´ecide du temps d’acheminement des messages.

— Lemod`ele de mobilit´equi g`ere le mouvement des noeuds. Dans nos simulations, les noeuds seront statiques (ils ne bougeront pas !).

— Lemod`ele de fiabilit´equi g`ere la perte de messages.

2.2 Noeuds

Le r´epertoirenodescontient le code du protocole. Ce code est subdivis´e en plusieurs fichiers r´epartis dans plusieurs r´epertoires :

— edges. Contient le code relatif aux liens de communication.

— messages. Contient la description de chaque type de message utilis´e dans la simulation.

— nodeImplementations. Contient le code pour le comportement des noeuds.

— timers. Contient le code destimersutilis´es dans la simulation.

3 1

er

protocole : SURPRISE !

T´el´echargez le projet SURPRISE sur le site de l’UE. D´esarchivez et copiez le projet dans le r´epertoire src/projects.

Recompilez tout le logiciel. Si vous ˆetes en ligne de commande faites appel `a ant (tapez ant en ligne de commande) par exemple.

Lancez une ex´ecution de l’exemple fourni ”surprise”. Vous pouvez le lancer viaEclipseou directement en tapant : java-cp binaries/bin sinalgo.Run-project”surprise”

Une fenˆetre apparait alors avec un plan en 3 dimensions. Pour lancer la simulation, allez dans le menuSimulationet cliquez surGenerate Nodes. Cr´eez 10 noeuds puis cliquez sur l’icone verte pour d´emarrer la simulation.

Pr´eparez un rapport synth´etique en r´epondant aux questions suivantes :

— D´ecrire les manipulations `a faire pour ex´ecuter le projet fourni sur un r´eseau `a 10 noeuds connect´es en anneau par des liens unidirectionnels.

— Quel est le r´esultat de l’ex´ecution ?

— Quels sont les messages ´echang´es par les noeuds ?

— D´ecrire en pseudo-code l’algorithme ex´ecut´e par chaque noeud.

— Quelle est la complexit´e en temps et en nombre de messages de l’algorithme ?

4 2

`eme

protocole : Impl´ementation du protocole GHS

En vous inspirant du projet ”surprise” et de l’exemple ”sample6” fourni par Sinalgo proposer une impl´ementation de l’algorithme GHS vu en cours.

Pr´eparez un rapport synth´etique en r´epondant aux questions suivantes :

— D´ecrire en pseudo-code l’algorithme ex´ecut´e par chaque noeud en pr´ecisant les messages ´echang´es et les actions prises par les noeuds sur la r´eception de chaque message.

— Fournir 5 jeux de test de votre impl´ementation.

2

Références

Documents relatifs

Le premier protocole que nous allons ´ecrire est tr`es simple : au d´ebut chaque noeud tire au hasard une couleur parmi k couleurs possible. Ensuite, chaque noeud envoie

La suite du stage sera une ´ etude algorithmique compl` ete (i.e. ´ ecriture, preuve et analyse d’algorithmes) pour r´ epondre ` a un probl` eme de service (on peut par

Coder en matlab/octave un MLP `a 1 couche cach ´ee, sans librairie Tester les hyperparam `etres : η ; nb d’it ´eration, nb de neurones dans la couche cach ´ee,

cach ´ees , perceptron multicouches Si beaucoup de couches : architectures profondes.. clement.chatelain@insa-rouen.fr R ´eseaux de Neurones 26 janvier 2017 10

Ce syst`eme est constitu´e de deux sous syst`emes identiques (premi`ere machine avec son stock et seconde machine avec son stock) chacun produisant un type de pi`eces diff´erent.

Si l’on désire faire communiquer plusieurs ordinateurs entre eux, il faut que ces mêmes ordinateurs soient en ​réseau ​tous les ordinateurs du lycée sont reliés entre eux,

Nous allons voir que dans le domaine INTERNET, l’adresse d’une socket est compos´ee de l’adresse IP de la machine sur laquelle elle se trouve (l’adresse IP est unique au monde)

L’utilisation de voyelles nasales semble intrins`eque `a la langue cr´eole mais la nasalit´e nous parait ˆetre un ´el´ement r´ecurrent dans le chant gwoka tout comme dans