WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Greedy perimeter stateless routing sur omnet++

( Télécharger le fichier original )
par Hassen DKHIL
Ecole nationale supérieur d'informatique - Ingénieur Informatique 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

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 :

./mkmk.cmd

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.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Le don sans la technique n'est qu'une maladie"