Conclusion
Au cours de ce chapitre, nous avons abordé la partie
conceptuelle en définissant les différents modules applicatifs
ainsi que les différentes classes associées. En plus, nous avons
détaillé les fonctionnalités de chaque classe. Dans le
prochain chapitre, nous décrivons la réalisation et les
différentes configurations pour notre solution.
Chapitre 6: Réalisation
Introduction:
Après avoir terminé l'étape de la
conception nous passons à la dernière phase qui est la
réalisation. Donc, dans ce chapitre-qui est le dernier chapitre de notre
rapport- nous allons présenter les environnements matériels et
logiciels. Ensuite, nous décrirons la simulation et les étapes de
son déroulement.
1. Environnement de travail:
Nous
allons détailler les outils utilisés dans la réalisation
de notre simulation.
1.1. Environnement
matériel:
La simulation a été
réalisée sur un ordinateur Toshiba Satellite dont la
configuration est:
Processeur
|
Core2Duo 1.8 GHZ (2 CPU)
|
Mémoire
|
2 Go DDR2
|
Disque dur
|
160 Go
|
Carte graphique
|
128 Mo dédié
|
Tableau 6.1. Configuration de
l'ordinateur de développement
1.2. Environnement logiciel:
Notre simulation a été réalisée dans
l'environnement logiciel suivant:
v Système d'exploitation: Microsoft Windows XP
v Le simulateur OMNet++ 3.3: C'est un simulateur Open Source
des réseaux de communication supportant des modèles de
mobilités. Il est basé sur C++ et réalise des simulations
discrètes.
v L'IDE Microsoft Visual Studio 2008: C'est un environnement
de développement intégré supportant le
développement en C++.
v La librairie Mobility Framework: C'est une librairie qui
étend OMNet++ pour pouvoir y simuler les réseaux fixes sans fils,
les réseaux sans fils mobiles, les réseaux Ad Hoc et
centralisés, les réseaux de senseurs et les réseaux sans
fils multi-canaux. Elle contient plusieurs modules de bases dont applayer,
netwlayer et plusieurs modules de mobilités.
v Outils de conception:
1.3. Installation:
1.3.1 Installation OMNET++:
D'abord il faut télécharger la version
adéquate d'OMNet++ à partir du site
www.omnetpp.org.
Après l'installation du Visual C++ dans la machine on
procède comme suit:
Double clic sur le programme d'installation
omnetpp-3.3.exe, cette fenêtre va apparaître :
Figure 6.1. :
Fenêtre d'installation
Après l'installation un nouveau dossier sera
créé avec le nom omnetpp-3.3. Ensuite, il faut ajouter le chemin
d'installation C:\OMNeT++\bin au variable
d'environnement
1.3.2. Installation Mobility Framework:
1. Télécharger le Mobility Framework
(mobility-fw2.0p3.zip) code source code et décompresser
l'archive dans C:\
2. modifier le variable OMNETPP_ROOT dans mkmk.cmd pour
pointer sur le chemin d'installation OMNeT++, dans notre cas C:\.
3. Exécuter le script mkmk.cmd dans l'invite de
commande :
4. Compiler les librairies core, contrib et networks:
nmake /f Makefile.vc core
nmake /f Makefile.vc contrib
nmake /f Makefile.vc networks
|
2. Simulation:
2.1. Envoi de
l'information:
2.1.1. Création du message et envoi vers la couche
réseau:
Figure 6.2. transfert du message
DATA vers la couche réseau
La couche applicative va créer un message de type DATA
et ajouter l'adresse destination dans le champ nécessaire puis
l'émettre vers la couche réseau comme l'indique le figure 6.2.
2.1.2. Envoi du message beacon :
Figure 6.3. échange des
beacons entre les noeuds
Figure 6.4. Le beacon est
délivré à la couche physique
Pour mettre à jour la table de routage la couche
GPSRNetwLayer est responsable d'envoi et de recevoir des messages beacons vers
et à partir des noeuds voisins, le beacon est envoyé à la
couche inférieure puis délivré vers noeuds voisins.
2.2. Réception du message:
2.2.1. Réception au niveau de la couche
réseau:
Figure 6.5. Réception d'un
paquet beacon par la couche réseau
Dans cette figure le noeud 2 a intercepté un paquet de
type beacon, les informations colorés avec le bleu indique
l'identité et l'adresse source du noeud voisin .
figure 6.6. Réception du message
DATA par la couche GPSRNetwLayer
Le figure 6.6 montre la réception du paquet de
donné provenant d'un autre noeud par La couche GPSRNetwLayer qui se
charge de router le message reçu selon l'algorithme GPSR ou bien le
délivrer vers la couche applicative.
2.2.2. Passage à la couche
application:
Figure 6.7. réception du
message DATA par la couche Applicative
Au niveau du couche réseau si l'adresse destination du
paquet GPSRPkt est égale à l'adresse du noeud locale alors le
paquet est décapsulé et devient de type cMessage comme dans la
figure 6.7 et renvoyé vers la couche applicative.
2.3. Routage
2.3.1. Routage de l'information selon le Greedy
Mode:
Figure 6.8. routage selon Greedy
mode 1->2
Pour envoyer un paquet du noeud(1) vers le noeud(8), le paquet
est délivrer vers le voisin le plus proche de la destination parmi ses
3 voisins indiqués dans le figure 6.8 par des liaisons
bidirectionnelles, ce voisin est donc le noeud(2).
Figure 6.9. routage selon Greedy
mode 2->5
De même maniere le voisin le plus proche de la destination
parmi ses 3 voisins indiqués dans le figure 6.9 par des liaisons
bidirectionnelles(en éliminant le noeud(1) source du paquet) , ce
voisin est donc le noeud(5).
2.3.2. Routage de l'information selon le Perimeter
Mode:
Scénario :délivrer un paquet
du noeud(0) vers noeud(7)
Figure 6.10. routage selon Greedy
mode 0->2
Figure 6.11. routage selon
Perimeter mode 2->1
Dans un premier temps le routage se fait dans la figure 6.10
en mode greedy du noeud(0) vers noeud(2), ce dernier utilise le mode Perimeter
car il n'a pas de voisin plus proche en distance de la destination finale (4),
ce qui permet de trouver une route passant par le noeud (2) qui, lui, peut
à nouveau utiliser le mode Greedy Forwarding.
4. Difficultés
rencontrées:
Lors de la réalisation, nous avons
rencontré plusieurs difficultés. D'abord l'installation du
simulateur OMNet++ et de la Mobility Framework et leur intégration avec
Visual Studio. Le passage par des consoles et l'intégration des
bibliothèques quasi individuellement rend cette tâche difficile.
Ensuite, il faut compiler chaque fichier C++ séparément ce qui
peut se révéler fastidieux. Enfin, la compilation de la
simulation elle même nécessite des changements au niveau de
plusieurs fichiers.
Conclusion:
Dans ce
chapitre, nous avons présenté les résultats de notre
projet. Nous avons détaillé les environnements matériels
et logiciels. Puis, nous avons décrit le déroulement de la
simulation. Enfin nous avons présenté les contraintes
rencontrées.
|