0% ont trouvé ce document utile (0 vote)
57 vues34 pages

PANDACODEUR

Transféré par

kafunki caleb
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
57 vues34 pages

PANDACODEUR

Transféré par

kafunki caleb
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

PANDACODEUR

 TUTORIELS
 EXERCICES
 EXAMENS
 PROJETS

 BLOG
 QUIZ
 CONTACT

1. Accueil
2. TUTORIELS
3. RESEAU
4. Réseau Sans Fil
5. OMNET++ : Etudes de Cas

OMNET++ : Etudes de Cas


PROJET DE COUR RESEAUX SANS FIL ET RESEAUX MOBILES :
Etudes de Cas à l’aide des Logiciels NS3 & OMNET++
Master 1
Option : Réseaux et Services distribues
Rédigé et Présenté par :
NOMS ET PRENOMS

YANKAM NGUEGUIM JOEL STEPHANE

Introduction

En raison de la nature complexe des réseaux informatiques et de télécommunication, il


est souvent difficile de prédire l'impact des différents paramètres sur les performances du
système en particulier lors du déploiement de réseaux sans fil. La simulation informatique est
devenue une méthodologie populaire pour l'étude des performances de l'informatique et des
télécommunications réseaux. Cette popularité résulte de la disponibilité de divers outils
sophistiqués et puissants progiciels de simulation, et aussi en raison de la flexibilité du modèle
construction et validation offertes par la simulation. Alors que divers simulateurs de réseau
existent pour construire une variété de modèles de réseau, choisir un bon simulateur de réseau
est très important dans la modélisation et l'analyse des performances des réseaux sans fil. Un
bien le simulateur est facile à utiliser ; plus flexible dans le développement de modèles, la
modification et validation ; et intègre une analyse appropriée des données de sortie de la
simulation, générateurs de nombres pseudo-aléatoires et précision statistique des résultats de
simulation. OMNeT++ devient l'un des simulateurs de réseau les plus populaires car il a tous
les caractéristiques d'un bon simulateur. Ce document vise à fournir une description de
quelques simulateurs existants, présenter les frameworks de OMNET++ et l’implémentation
d’un cas pratiques de réseaux sans fil et mobiles.

I : Etude et description de quelques simulateurs réseaux

Dans les réseaux informatiques, il est très couteux de valider et vérifier un protocole
ou un certain algorithme spécifique, c’est pour cela que les simulateurs de réseaux sont
utilisés. Les simulateurs du réseau offrent beaucoup d’économie, de temps et d’argent pour
l’accomplissement des taches de simulation et sont également utilisés pour que les
concepteurs des réseaux puissent tester les nouveaux protocoles ou modifier les protocoles
déjà existants d’une manière contrôlée et productrice. La mise en œuvre d’une simulation
nécessite une étape qui décrit la topologie du réseau et le comportement prévu de ses
composants, une seconde étape de simulation proprement dite qui permet enfin la récolte et
l'interprétation des résultats. Le but de ce chapitre est de présenter les caractéristiques de
quelques simulateurs, à titre comparatif. Il existe une multitude de simulateurs pour le réseau
informatique nous avons entre autre :

 OPNET (Optimum Network Performance)


 Simulateur Packet Tracer
 Simulateur NS2
 Simulateur NS3
 Simulateur OMNET++
 Etc

Dans le cadre de ce travail nous nous intéresserons uniquement sur Omnet++, et partiellement
de NS2 et NS3.

1. Simulateur OMnet++
OMNet ++ pour Objective Modular Network Test bed in C++ , l'un des plus réussis
parmi les simulateurs proposant une amélioration de NS-2. Pour pallier les problèmes de
scalabilité de NS2, OMNet ++ utilise une approche orientée composant. Son plus bas niveau
de granularité pour l'abstraction reste les classes d'objets, les interactions se font donc à partir
de la spécification des interfaces fournies. Il se présente comme un ensemble de modules
interconnectés et organisés de façon hiérarchique. Les modules définis sont extensibles et
réutilisables. Son outil de visualisation, très puissant, permet une description complète des
scénarios basée sur le langage NED, ce qui lui confère une très bonne facilité d’utilisation. Sa
facilité de prise en main, sa disponibilité en licence libre pour les plateformes Windows et
Unix expliquent son gain croissant de popularité. De nouveaux outils s’inspirant de lui ont
donc été proposés, dans le but de remédier à ses faiblesses. Parmi eux nous avons:

 L'outil de développement dans le projet européen EYES pour la prise en


compte de la mobilité et une modélisation de la consommation d'énergie.
 Le simulateur CASTALLIA pour l'ajout de fonctionnalités dédiées aux
réseaux
Figure 1 : Structure de Omnet++

1.1 Présentation de OMNET


OMNET++ est un environnement de simulation d’évènements discrets. Utilisé pour la
simulation des réseaux de communications et d’autres systèmes discrets, grâce à son
architecture modulaire OMNET++ est très répandu dans divers domaines d’applications tels
que :

 La modélisation des protocoles de communications ;

 La modélisation des réseaux filaires et sans fils ;

 La modélisation des systèmes repartis ;

 Les architectures Hardwares ;

 En général il peut être utilisé pour tout système a évènements discrets


pouvant être modélisé selon les entités communicantes par envoi de
messages.

OMNET++ est basé sur la plateforme éclipse. Il fournit des outils pour la création et la
configuration des modèles de réseaux (les fichiers NED et INI) et les outils pour l’exécution
d’un lot de programme ainsi que pour l’analyse des résultats de simulation
1.2 Installation du simulateur OMNET++
L’installation d’OMNET++ se fait en différentes étapes suivant une procédure d’installation
décrite dans le package téléchargé selon le système d’exploitation installé. Les éléments
installés dans l’ordinateur sont les suivants :

1. Une bibliothèque de simulation interne ;


2. Un compilateur du langage descriptif de la topologie NED(nedc) ;
3. Un éditeur de réseaux graphiques pour les fichiers NED ;
4. Un exécutable OMNET++ ;
5. Une interface graphique de
simulation IDE ;
6. Un outil de documentation du
modèle ;
7. Etc…

1.3 Procédure d’installation

 Téléchargez l' archive OMNeT ++ 6.0.1 ( https://omnetpp.org/omnetpp) .


 Extrayez l'archive dans un nouveau dossier.
 Tapez. /configure et après ce type make .
 Ajoutez votre répertoire path/to/OMNeT/build dans votre variable d'environnement
PATH
 Assurez-vous que votre installation fonctionne en tapant omnetpp.
 L'environnement de développement OMNeT ++ devrait démarrer.
 Vous trouverez d'autres instructions d'installation à l’adresse :

https://omnetpp.org/doc/omnetpp/InstallGuide.pdf .

Figure 2 : interface de démarrage d'omnet

1.4 Les principaux fichiers d’OMNET++


Les différents fichiers sont :

 Le fichier (.ned) : utilise le langage NED de description de réseau. Il peut utiliser en


02 modules : mode graphique ou mode texte qui permettent de décrire les ports du
module. Les erreurs commises sont indiquées en temps réel par un point rouge situé à
la gauche du code.
 Le fichier (.init) : il est étroitement lié avec le fichier NED .Permet à l’utilisateur
d’initialiser les paramètres des différents modules ainsi que la topologie du réseau .
 Le fichier (.msg) : les modules communiquent échangeant les messages. Ces derniers
peuvent être déclarés dans un fichier dont l’extension est (.msg)où l’on peut rajouter
les champs données.OMNET++ traduira les définitions de messages en classes C++
1.5 Les plates formes d’OMNET++
Elles sont entre autre :

- Mobility FrameWork : cette plateforme assure la mobilité des hôtes dans le réseau,
leurs connectivités ainsi qu’un canal sans fil. Elle supporte la simulation des réseaux
sans fil, les réseaux mobiles et mêmes les capteurs sans fil.Le cœur de Mobility
FrameWork est composé de : la mobility controller ,channel control. Elle est réalisé
avec des modules de base, donc l’utilisateur peut les utilisés afin de créer et
implémenter de nouveaux protocoles pour la simulation.

- Mixim : est un simulateur qui intègre et développe plusieurs cadres existants pour la
simulations sans fil et mobiles dans OMNET++ .Mixim fournit des modèles detaillés
de canal sans fil ,la connectivité sans fil, la mobilité , les obstacles et les protocoles
Mqc comme IEEE 802.11b et IEEE 802.15.4 .

- Castalia : est également un simulateur de niveau pour les réseaux de capteurs basé sur
OMnet++.il s’agit d’un simulateur générique avec un canal sans fil et un model de
radio basé sur des données les mesurées.

2. Simulateur NS3
IL Vise à remplacer son prédécesseur NS2, écrit en C++ et OTcl, pour tenter de remédier
à ses limites. Cependant, contrairement à NS2, il peut être utilisé sur les plateformes
Linux/Unix, OS X (Mac) et Windows. Les développeurs de NS3 ont décidé suite à
l’expérience tirée de NS2 d’associer les progrès des langages de programmation et du génie
logiciel au développement de l’architecture de NS3. C’est pourquoi, l’idée de la
rétrocompatibilité avec NS2 a été abandonné dès le départ. Cela libère NS3 de contraintes
héritées de NS2 et permet la construction d’un simulateur qui est bien conçu depuis le
début.NS3 fournit différents modules qui peuvent être modifiés et effectivement utilisés.

L'organisation du simulateur NS3.

3.Comparaison entre les Simulateurs NS3 et OMNET++

Après avoir brièvement décrit les deux simulateurs réseau (NS3 et OMNET ++), nous
allons faire une étude comparative des deux simulateurs dans cette section. Les résultats de
cette étude sont présentés dans le tableau :
II : LES FRAMEWORK d’Omnet++

OMNeT ++ ( Objective M odular Network Testbed in C ++ est une bibliothèque pouvant


intégrer de nombreux frameworks de simulation C++ extensible, modulaire et basé sur des
composants,

principalement pour la construction de simulateurs de réseau. Ces Framework sont entre autre
: INET,

CASTALIA, MOBILITY FRAMEWORK, SIMULTE, MIXIM CORE4INET

1. FRAMEWORK INET
Qu'est-ce que le cadre INET ?

INET Framework est une bibliothèque de modèles open source pour l'environnement de
simulation OMNeT++. Il fournit des protocoles, des agents et d'autres modèles pour les
chercheurs et les étudiants travaillant avec des réseaux de communication. INET est
particulièrement utile lors de la conception et de la validation de nouveaux protocoles ou de
l'exploration de scénarios nouveaux ou exotiques. NET prend en charge une large classe de
réseaux de communication, y compris les réseaux câblés, sans fil, mobiles, ad hoc et de
capteurs. Il contient des modèles pour la pile Internet (TCP, UDP, IPv4, IPv6, OSPF, BGP,
etc.), des protocoles de couche liaison (Ethernet, PPP, IEEE 802.11, divers protocoles MAC
de capteur, etc.), un support affiné pour la couche physique sans fil, protocoles de routage
MANET, DiffServ, MPLS avec signalisation LDP et RSVP-TE, plusieurs modèles
d'application et de nombreux autres protocoles et composants. Il prend également en charge la
mobilité des nœuds, la visualisation avancée, l'émulation de réseau, etc.Plusieurs autres
cadres de simulation prennent INET comme base et l'étendent dans des directions spécifiques,
telles que les réseaux de véhicules, les réseaux superposés/peer-to-peer ou LTE.
1.1 MODE DE FONCTIONNEMENT

Conçu pour l'expérimentation, INET est construit autour du concept de modules qui
communiquent par passage de messages. Les agents et les protocoles réseau sont représentés
par des composants, qui peuvent être librement combinés pour former des hôtes, des routeurs,
des commutateurs et d'autres périphériques réseau. De nouveaux composants peuvent être
programmés par l'utilisateur et les composants existants ont été écrits de manière à être faciles
à comprendre et à modifier. NET bénéficie de l'infrastructure fournie par OMNeT++. Au-delà
de l'utilisation des services fournis par le noyau et la bibliothèque de simulation OMNeT++
(modèle de composants, paramétrage, enregistrement des résultats, etc.), cela signifie
également que les modèles peuvent être développés, assemblés, paramétrés, exécutés et leurs
résultats évalués dans le confort de l'IDE de simulation OMNeT++ ou depuis la ligne de
commande.INET Framework est maintenu par l'équipe OMNeT++ pour la communauté, en
utilisant des correctifs et de nouveaux modèles apportés par les membres de la communauté.

1.2 INSTALLATION D’INET

Il existe plusieurs façons d'installer INET Framework : Laissez l'IDE OMNeT++ ,le
télécharger et l'installer pour vous. C'est le moyen le plus simple. Acceptez simplement l'offre
d'installer INET dans la boîte de dialogue qui s'affiche lorsque vous démarrez l'EDI pour la
première fois, ou choisissez Aide Installer les modèles de simulation ultérieurement.
À partir du site Web INET Framework, http://inet.omnetpp.org. L'IDE installe toujours la
dernière version stable compatible avec votre version d'OMNeT++. Si vous avez besoin d'une
autre version, elles sont disponibles en téléchargement sur le site Web. Les instructions
d'installation y sont également fournies. De GitHub. Si vous avez de l'expérience avec git,
clonez le projet INET Framework (inet-framework/inet), consultez la révision de votre choix
et suivez le fichier INSTALL à la racine du projet.
1.3 INSTALLATION DES EXTENSIONS D’INET

Si vous envisagez d'utiliser des extensions INET (par exemple Veins ou SimuLTE), suivez les
instructions d'installation fournies avec celles-ci.En l'absence d'instructions spécifiques, la
procédure suivante fonctionne généralement :

 Tout d'abord, vérifiez si la racine du projet contient un fichier nommé «’’project’’.


 Si c'est le cas, le projet peut être importé dans l'IDE (utilisez Fichier ‣ Importer ‣
Général ‣ Projet existant dans l'espace de travail).
 Assurez-vous que le projet est reconnu comme un projet OMNeT++ (la boîte de
dialogue Propriétés du projet contient une page intitulée OMNeT++) et qu'il
répertorie le projet INET en tant que dépendance (vérifiez la page Références du
projet dans la boîte de dialogue Propriétés du projet).
 S'il n'y a pas de fichier .project, vous pouvez créer un projet OMNeT++ vide à l'aide
de l'assistant Nouveau projet OMNeT++ dans Fichier ‣ Nouveau, ajouter le projet
INET en tant que dépendance à l'aide de la page Références du projet dans la boîte de
dialogue Propriétés du projet et copier les fichiers source dans le projet.
1.4 USAGE

Le framework INET s'appuie sur OMNeT++ et utilise le même concept : des modules qui
communiquent par transmission de messages. Les hôtes, routeurs, commutateurs et autres
périphériques réseau sont représentés par des modules composés OMNeT++. Ces modules
composés sont assemblés à partir de modules simples qui représentent des protocoles, des
applications et d'autres unités fonctionnelles. Un réseau est à nouveau un module composé
OMNeT++ qui contient un hôte, un routeur et d'autres modules. Les modules sont organisés
dans une structure de répertoires qui suit à peu près les couches OSI :
 src/inet/applications/ – générateurs de trafic et modèles d'application
 src/inet/transportlayer/ – protocoles de la couche transport
 src/inet/networklayer/ – protocoles et accessoires de la couche réseau
 src/inet/linklayer/ – protocoles et accessoires de la couche liaison
 src/inet/physicallayer/ – modèles de couche physique
 src/inet/routing/ – protocoles de routage (internet et ad hoc)
 src/inet/mobility/ – modèles de mobilité
 src/inet/power/ – modélisation de la consommation d'énergie
 src/inet/environment/ – modèle de l'environnement physique
 src/inet/node/ – modèles de nœuds de réseau préassemblés
 src/inet/visualizer/ – composants de visualisation (2D et 3D)
 src/inet/common/ – divers composants utilitaires

Le langage OMNeT++ NED utilise des noms de packages hiérarchiques. Les packages
correspondent aux répertoires sous src/, donc par ex. le répertoire src/inet/transportlayer/tcp
correspond au package NED inet.transportlayer.tcp. Pour la modularité, le framework INET a
environ 80 fonctionnalités de projet (parties de la base de code qui peuvent être désactivées en
tant qu'unité) définies. Toutes les fonctionnalités du projet ne sont pas activées dans la
configuration par défaut après l'installation.

1.5 ARCHITECTURE D’INET

L’architecture d’INET est constitué de nœuds de réseau intégrés et autres modules de


niveau supérieur. INET fournit plusieurs nœuds de réseau pré-assemblés avec des composants
soigneusement sélectionnés. Ils prennent en charge la personnalisation via des paramètres et
des types de sous-modules paramétriques, mais ils ne sont pas destinés à être universels.
Parfois, il peut être nécessaire de créer des modèles de nœuds de réseau spéciaux pour des
scénarios de simulation particuliers. Dans tous les cas, la liste suivante donne un avant-goût
des nœuds de réseau intégrés.Nœuds de réseau intégrés et autres modules de niveau supérieur.
INET fournit plusieurs nœuds de réseau pré-assemblés avec des composants soigneusement
sélectionnés. Ils prennent en charge la personnalisation via des paramètres et des types de
sous-modules paramétriques, mais ils ne sont pas destinés à être universels. Parfois, il peut
être nécessaire de créer des modèles de nœuds de réseau spéciaux pour des scénarios de
simulation particuliers. Dans tous les cas, la liste suivante donne un avant-goût des nœuds de
réseau intégrés :
StandardHost : contient les protocoles Internet les plus courants : UDP, TCP, IPv4,
IPv6, Ethernet, IEEE 802.11. Il prend également en charge un modèle de mobilité
optionnel, des modèles énergétiques optionnels et un nombre quelconque
d'applications entièrement configurables à partir de fichiers INI.
EthernetSwitch : modélise un commutateur Ethernet contenant une unité de relais et une
unité MAC par port.Le routeur fournit les protocoles de routage les plus courants :
OSPF, BGP, RIP, PIM.
AccessPoint : modélise un point d'accès Wifi avec plusieurs interfaces réseau IEEE
802.11 et plusieurs ports Ethernet.

WirelessHost : fournit un nœud de réseau avec une interface réseau IEEE 802.11 (par
défaut) en mode infrastructure, adaptée à une utilisation avec un point d'accès.

AdhocHost : est un WirelessHost avec l'interface réseau configurée en mode ad hoc et le


transfert activé.
Les nœuds du réseau communiquent au niveau du réseau en échangeant des messages
OMNeT++ qui sont les représentations abstraites des signaux physiques sur le support de
transmission. Les signaux sont soit envoyés via des connexions OMNeT++ dans le cas câblé,
soit envoyés directement à la porte du nœud de réseau récepteur dans le cas sans fil. Les
signaux encapsulent des paquets spécifiques à INET qui représentent les données numériques
transmises. Les paquets sont en outre divisés en blocs qui fournissent des représentations
alternatives pour les petits morceaux de données (par exemple, les en-têtes de protocole, les
données d'application). De plus, certains composants se produisent au niveau du réseau, mais
ce ne sont pas des modèles de nœuds de réseau physiques. Ils sont nécessaires pour modéliser
d'autres aspects. Certains d'entre eux sont:

 Un module de support radio tel que Ieee80211RadioMedium,


ApskScalarRadioMedium et UnitDiskRadioMedium (il y en a quelques-uns) est un
composant requis des réseaux sans fil.
 PhysicalEnvironment modélise l'effet de l'environnement physique (c'est-à-dire les
obstacles) sur la propagation du signal radio. C'est un composant facultatif.
 Des configurateurs tels que Ipv4NetworkConfigurator, L2NetworkConfigurator et
NextHopNetworkConfigurator :configurent divers aspects du réseau. Par exemple,
Ipv4NetworkConfigurator attribue des adresses IP aux hôtes et aux routeurs et
configure le routage statique. Il est utilisé lorsque la modélisation de l'attribution
dynamique d'adresses IP (par exemple via DHCP) ou lorsque le routage dynamique
n'a pas d'importance.
 L2 NetworkConfigurator : permet de configurer des LAN 802.1 et de fournir des
paramètres liés à STP/RSTP tels que le coût de la liaison, la priorité des ports et
l'indicateur "is-edge".
 ScenarioManager : permet des scénarios scénarisés, tels qu'une panne temporisée et
la récupération des nœuds du réseau.
 Des coordinateurs de groupe sont nécessaires pour le fonctionnement de certains
modèles de mobilité de groupe. Par exemple, MoBanCoordinator est le module
coordinateur du modèle de mobilité MoBAN.
 Des visualiseurs comme PacketDropOsgVisualizer : fournissent un rendu graphique
de certains aspects de la simulation en 2D (canvas) ou en 3D (en utilisant OSG ou
osgEarth). Le choix habituel est IntegratedVisualizer qui regroupe une instance de
chaque type de visualiseur spécifique dans un module composé.

Figure 3 : Architecture d’INET

2. CORE4INET
Les outils de simulation sont d'une importance vitale pour explorer la faisabilité
technique et faciliter le processus distribué de conception d'infrastructures de véhicules. CoRE
travaille sur des modèles de simulation pour la simulation événementielle de réseaux Ethernet
en temps réel. Nos modèles de simulation sont publiés sous forme de module open-
source.Modèle de CoRE4INET :Ce modèle se base sur la plateforme OMNeT++ ainsi que
INET framework qui implémente les principales fonctionnalités de réseaux. Sa réalisation
passe par plusieurs modifications et extensions apportées au modèle Ethernet de base d’INET
framework.. Il fournit des protocoles Ethernet en temps réel comme AS6802 et AVB. Il a été
créé par le groupe de recherche CoRE (Communication over Realtime Ethernet) de la HAW-
Hamburg (Hamburg University of Applied Sciences). Actuellement, CoRE4INET prend en
charge :

TTEthernet (AS6802) IEEE 802.1 ;

 Audio Video Bridging (AVB) / Mise en réseau sensible au temps (TSN) VLAN ;
 Priorités IEEE 802.1Q / IEEE P802.1p

3. MIXIM
OMNET++ MIXIM est un cadre de modélisation OMNeT++ créé pour les réseaux mobiles et
fixes sans fil (réseaux de capteurs sans fil, réseaux corporels, réseaux ad hoc, réseaux
véhiculaires, etc.). MiXiM Simulator est actuellement le cadre recommandé pour les
simulations sans fil détaillées. Il propose des modèles détaillés de propagation des ondes
radio, d'estimation des interférences, de consommation d'énergie des émetteurs-récepteurs
radio et des protocoles MAC sans fil (par exemple, Zigbee). Le framework MiXiM se
compose de fichiers de configuration qui définissent l’environnement mixnet, un simulateur
d'événements discrets qui instancie et exécute le réseau, produisant des observations qui sont
enregistrées aux fichiers, et des scripts d'analyse pour traiter les fichiers journaux et extraire
les résultats empiriques.
4. CASTALIA

Castalia : est un simulateur pour les réseaux de capteurs sans fil (WSN), les réseaux
corporels et généralement les réseaux d'appareils embarqués à faible consommation. Il est
basé sur la plate-forme OMNeT++ et utilisé par les chercheurs et les développeurs pour tester
leurs algorithmes et/ou protocoles distribués dans un modèle de canal et de radio sans fil
réaliste, avec un comportement de nœud réaliste, notamment en ce qui concerne l'accès à la
radio. Castalia utilise le modèle d'ombrage log normal comme l'un des moyens de modéliser
la perte de trajet moyenne, ce qui s'est avéré expliquer les données empiriques dans WSN.Il
modélise également la variation temporelle de la perte de trajet dans le but de capturer les
phénomènes d'évanouissement dans des environnements changeants (c'est-à-dire que les
nœuds ou des parties de l'environnement se déplacent). La modélisation des variations
temporelles de Castalia est conçue pour être ajustée aux données mesurées au lieu de faire des
hypothèses spécifiques sur la création d'évanouissements rapides. Les autres fonctionnalités
de Castalia incluent : la modélisation des processus physiques, la polarisation et le bruit des
dispositifs de détection, la dérive de l'horloge des nœuds et plusieurs protocoles MAC et de
routage mis en œuvre.OMNET ++ CASTALIA pour les réseaux de capteurs sans fil (WSN),
les réseaux corporels (BAN). OMNET ++ CASTALIA peut également être utilisé pour
évaluer différentes caractéristiques de plate-forme pour des applications spécifiques, car il est
hautement paramétrique et peut simuler une large gamme de plates-formes.
5. SIMULTE

Qu'est-ce que SimuLTE ?


Simulateur pour les réseaux LTE ;SimuLTE est un outil de simulation innovant permettant
une évaluation complexe des performances au niveau du système des réseaux LTE et LTE
Advanced (3GPP Release 8 et au-delà) pour le framework OMNeT++. SimuLTE est écrit en
C++ et est entièrement personnalisable avec une interface enfichable simple. On peut
également développer de nouveaux modules implémentant de nouveaux algorithmes et
protocoles. SimuLTE est un projet open source basé sur OMNeT++ et INET Framework. La
participation et les contributions sont les bienvenues.
6. MOBILITY FRAMEWORK

Ce cadre est destiné à prendre en charge les simulations sans fil et mobiles au sein
d'OMNeT++. Le cadre d e base implémente la prise en charge de la mobilité des nœuds, la
gestion dynamique des connexions et un modèle de canal sans fil. De plus, le cadre de base
fournit des modules de base qui peuvent être dérivés afin d'implémenter ses propres modules.
Avec ce concept, un programmeur peut facilement développer ses propres implémentations de
protocole pour Mobility Framewoek (MF) sans avoir à gérer les éléments d'interface et
d'interopérabilité nécessaires.
Le framework peut être utilisé pour simuler :

Réseaux fixes sans fil ;

Réseaux sans fil mobiles ;

Réseaux distribués (ad-hoc) et centralisés ;

Réseaux de capteurs ;

Réseaux sans fil multicanaux ;


6.1 ARCHITECTURE DE MOBILITY FRAMEWORK

Cette plateforme assure la mobilité des hôtes dans le réseau, leurs connectivités ainsi qu’un
canal sans fil. Elle supporte la simulation des réseaux sans fil, les réseaux mobiles et mêmes
les capteurs sans fil.Le cœur de Mobility FrameWork est composé de :

La mobility
controller Channel
control

Elle est réalisée avec des modules de base, donc l’utilisateur peut les utilisés afin de créer et
implémenter de nouveaux protocoles pour la simulation

Figure 4 : architecture de mobility Framework


Figure 5 : Architecture d’un nœud interne

Simuler c’est reproduire le fonctionnement d’un système réel à partir de la


modélisation des éléments qui le constitue et de leur fonctionnement. L’observation réelle de
ces systèmes est généralement complexe, à risques ou couteuse. Il s’agit d’une approche
permettant de représenter le fonctionnement d’un système réel constitué de plusieurs entités,
de modéliser les différentes interactions entre elles, et enfin d’évaluer le comportement global
du système et son évolution dans le temps afin de prévoir son comportement dans le monde
réel ou d’en définir les meilleurs paramètres de fonctionnement. Dans ce document, nous
avons présenté quelques outils de simulation et leurs caractéristiques principales. Ces
simulateurs, qui sont entre autre NS2, NS3, OMnet. Pour conclure le choix d’un simulateur
dépend du problème qu’on a en face de soi.

III : CAS PRATIQUE : SIMULATION D’UN ENSEMBLE D’OBJET CONNECTE


AVEC UN FRAMEWORK OMNETT++
Figure 6 : Ensemble d'objets connectés

1. Conception formelle du système.

Le système d'objets connectés comprend un réseau de plusieurs composants interconnectés. Il


comprend des Access Points pour la connectivité sans fil, un Local Hub composé de
Raspberry Pi, Node-RED, Mosquitto et une base de données MongoDB pour la collecte, le
traitement et le stockage des données. L'Access Point est connecté à Heroku, qui héberge une
API REST pour interagir avec le système. L'antenne relais est utilisée pour transmettre les
données du système à un smartphone de visualisation analytics via le protocole HTTP.
L'ensemble du système permet la collecte, le traitement, le stockage et la visualisation des
données provenant des objets connectés et des clients IoT. Source PandaCodeur.com

2. Description de chaque composant du système.

La norme IEEE 802.11 est un standard international décrivant les caractéristiques d'un
réseau local sans fil (WLAN). La norme IEEE 802.11 est en réalité la norme initiale offrant
des débits de 1 ou 2 Mbps. Des révisions ont été apportées à la norme originale afin
d'optimiser le débit (c'est le cas des normes 802.11a, 802.11b, 802.11g et 802.11p, appelées
normes 802.11physiques) ou bien préciser des éléments afin d'assurer une meilleure sécurité
ou une meilleure interopérabilité .Par rapport au modèle OSI, l’IEEE 802.11 ne concerne
qu’une partie de la couche de liaison de données et la couche physique et reste donc
entièrement compatible avec les couches supérieures.
q. Point d'accès (Access Point) : Il s'agit d'un périphérique réseau qui permet à d'autres
dispositifs de se connecter à un réseau sans fil. Dans cette simulation, le point d'accès
est responsable de la communication avec les nœuds de la simulation via WiFi.

Figure 7 : Point d’Accès et WIFI

q. Le CC3200-LAUNCHXL : est un kit de développement pour l'Internet des Objets (IoT) de


Texas Instruments. Il est basé sur le microcontrôleur SimpleLink Wi-Fi CC3200 de Texas
Instruments, qui combine une unité centrale de traitement (CPU) ARM Cortex-M4 avec une
puce Wi-Fi intégrée. Le kit de développement CC3200-LAUNCHXL est conçu pour faciliter
la création d'applications IoT sans fil en fournissant des exemples de code, des outils de
développement et des ressources en ligne. Il est livré avec un émetteur-récepteur Wi-Fi
intégré et une variété d'interfaces, y compris une carte microSD, une interface USB, un port
série et des broches d'E/S.
Figure 8 : CC3200-LAUNCHXL-CC3200 Launchpad Kit

q. Local Hub : C'est un point central du système qui regroupe plusieurs composants
pour la collecte, le traitement et le stockage des données. L'Access Point est un nœud
sans fil capable de fournir un point d'accès Wi-Fi pour les clients se connectant à
Internet. La Raspberry Pi est connectée à l'Access Point via Wi-Fi et sert de
passerelle pour les messages entre l'Access Point et les services cloud (Heroku, nous
allons parler aborder cet environnement cloud juste après). Mosquitto est un courtier
de messages MQTT utilisé pour publier et souscrire des messages dans l'ensemble du
système. MongoDB est une base de données NoSQL utilisée pour stocker des
données collectées à partir des nœuds et des clients IoT. Node-RED est une
plateforme de programmation visuelle utilisée pour créer des workflows pour la
collecte, la transformation et la visualisation de données. Voici une description des
différents éléments qui compose ce Local HUB :

Le Raspberry Pi est un ordinateur monocarte de petite taille, basé sur une architecture
ARM, qui a été développé dans le but de favoriser l'apprentissage de la programmation et
l'accès à l'informatique à bas coût. C'est un mini-ordinateur utilisé pour exécuter des
applications et des services dans le système IoT. Il est devenu extrêmement populaire en
raison de sa polyvalence, de sa faible consommation d'énergie et de son large éventail
d'applications possibles.

Voici une de quelques caractéristiques et fonctionnalités clés du Raspberry Pi :

1. Processeur et mémoire : Le Raspberry Pi est équipé d'un processeur ARM,


généralement de la famille Broadcom, et dispose de différentes variantes avec des
vitesses de processeur variables. Il est doté de mémoire vive (RAM) intégrée, qui varie
également selon le modèle.
2. Système d'exploitation : Le Raspberry Pi est compatible avec plusieurs systèmes
d'exploitation, notamment Raspbian (basé sur Linux), Ubuntu, Windows IoT Core, et
d'autres distributions Linux. Cela permet aux utilisateurs de choisir l'environnement
logiciel qui convient le mieux à leurs besoins.
Figure 9 : Raspberry-pi

Node-RED est une plateforme de programmation visuelle open-source conçue pour


créer des applications IoT (Internet des objets) et des workflows de manière intuitive. Elle
offre une interface graphique conviviale qui permet aux utilisateurs, même sans compétences
de programmation avancées, de connecter des nœuds prédéfinis pour automatiser des tâches,
traiter des données et créer des interactions entre différents systèmes. Voici quelques
caractéristiques et fonctionnalités clés de Node-RED :

1. Approche de programmation basée sur les flux : Node-RED adopte une approche de
programmation basée sur les flux, dans laquelle les utilisateurs peuvent créer des
workflows en connectant des nœuds ensemble. Les nœuds représentent des blocs de
fonctionnalités qui peuvent être configurés pour effectuer des actions spécifiques.
2. Interface graphique conviviale, Large gamme de nœuds prédéfinis, Connectivité
étendue (Node-RED offre une connectivité avec de nombreux protocoles et services
couramment utilisés dans l'écosystème IoT. Il prend en charge des protocoles tels que
MQTT, HTTP, WebSocket, ainsi que des services cloud tels que Amazon Web
Services (AWS), Microsoft Azure, Google Cloud Platform, et bien d'autres. Cela
permet l'intégration transparente de différents systèmes et la collecte de données à
partir de sources variées.)
Figure 10 : Node-Red

MongoDB est une base de données NoSQL open-source, orientée document, conçue pour
stocker et gérer de grandes quantités de données non structurées ou semi-structurées. Elle
offre une flexibilité, une évolutivité et une performance élevées, ce qui en fait un choix
populaire pour les applications modernes, y compris dans le domaine de l'Internet des objets
(IoT). Voici quelques des caractéristiques et fonctionnalités clés de MongoDB :

1. Modèle de données flexible : MongoDB utilise un modèle de données basé sur des
documents JSON (JavaScript Object Notation). Les données sont stockées sous forme
de documents, qui sont des structures flexibles similaires à des objets JSON. Les
documents peuvent contenir des champs de différentes structures et tailles, ce qui
permet une grande flexibilité dans la gestion des données.
2. Pas de schéma rigide : Contrairement aux bases de données relationnelles
traditionnelles, MongoDB n'impose pas de schéma rigide. Cela signifie que les
documents stockés dans une collection peuvent avoir des structures différentes, ce qui
facilite l'ajout, la modification et la suppression de champs sans nécessiter une
modification de schéma préalable. Cela permet une évolutivité et une agilité accrues
lors du développement d'applications.
Figure 11 : MongoDB

Mosquitto est un courtier de messages MQTT (Message Queuing Telemetry Transport) open
source qui facilite la communication entre les dispositifs de l'Internet des objets (IoT). Un
courtier (ou broker) est un composant logiciel qui facilite l'échange de messages entre
différents dispositifs d'un système. MQTT est un protocole de messagerie léger et simple
conçu pour les réseaux à faible bande passante et à haute latence. Mosquitto est écrit en
langage C et est disponible sur différentes plateformes, y compris Windows, Linux, macOS,
et d'autres systèmes d'exploitation. Il fournit un courtier MQTT qui permet aux clients de
publier et de souscrire des messages sur des sujets spécifiques. Les clients peuvent être des
dispositifs IoT, des applications ou des services qui communiquent entre eux via Mosquitto.

Voici quelques caractéristiques clés de Mosquitto :

1. Protocole MQTT : Mosquitto implémente le protocole MQTT version 3.1 et 3.1.1, qui
est largement utilisé dans l'IoT pour la communication entre les dispositifs.
2. QoS (Quality of Service) : Mosquitto prend en charge trois niveaux de qualité de
service pour garantir la livraison des messages : QoS 0 (au plus une fois), QoS 1 (au
moins une fois) et QoS 2 (exactement une fois).
3. Authentification et contrôle d'accès : Mosquitto permet d'authentifier les clients lors de
la connexion et de mettre en place des règles de contrôle d'accès pour restreindre les
actions des clients sur les sujets spécifiques.
4. Sécurité : Mosquitto prend en charge le chiffrement SSL/TLS pour sécuriser la
communication entre les clients et le courtier MQTT.
Figure 12 : Broker Mosquitto

q. Heroku : c’est une plateforme en tant que service (PaaS) qui permet aux
développeurs de déployer, gérer et mettre à l'échelle leurs applications web
facilement. Elle est basée sur le cloud et offre un environnement d'exécution pour
héberger des applications en ligne. Heroku permet l'hébergement d'applications et
de services web, y compris les API REST. Cela permet une communication
bidirectionnelle entre le système IoT et Heroku.

Voici une description détaillée d'Heroku :

1. Déploiement facile : Heroku simplifie le processus de déploiement des applications


web en fournissant une interface conviviale et des outils de ligne de commande pour
gérer le déploiement. Les développeurs peuvent facilement déployer leurs
applications en quelques étapes simples, sans avoir à se soucier de la configuration
des serveurs ou de l'infrastructure sous-jacente.
2. Support multi-langages : Heroku prend en charge plusieurs langages de
programmation populaires tels que Ruby, Node.js, Python, Java, PHP, Go, etc. Cela
permet aux développeurs de choisir le langage avec lequel ils sont à l'aise et de
développer des applications dans leur langage préféré.
3. Intégration avec des services tiers : Heroku offre une intégration transparente avec de
nombreux services tiers populaires tels que des bases de données (PostgreSQL,
MySQL, MongoDB), des systèmes de messagerie (RabbitMQ, Redis), des services
de cache, des outils de suivi et de gestion des erreurs, etc. Cela permet aux
développeurs d'utiliser ces services sans avoir à gérer l'infrastructure sous-jacente.
Figure 13 : Heroku Cloud PlatForm

Une API REST (Representational State Transfer) est un style d'architecture logicielle utilisé
pour créer des services web qui peuvent être consommés par d'autres applications. Elle permet
l'échange de données entre les applications de manière flexible et sans état.

Lorsqu'il s'agit d'Heroku, une plateforme en tant que service (PaaS), il est courant d'utiliser
des API REST pour exposer des fonctionnalités spécifiques ou des données d'une application
hébergée sur Heroku. Voici quelques points importants à comprendre sur l'utilisation des API
REST avec Heroku:

1. Exposition de fonctionnalités : Les API REST sont utilisées pour exposer les
fonctionnalités d'une application hébergée sur Heroku. Cela permet aux développeurs
de créer des points d'accès (endpoints) qui peuvent être appelés par d'autres
applications pour accéder à des données, effectuer des opérations ou interagir avec
l'application.
2. Communication HTTP : Les API REST utilisent le protocole HTTP pour la
communication. Elles reposent sur les méthodes HTTP standard telles que GET,
POST, PUT, DELETE pour effectuer des opérations sur les ressources exposées par
l'API. Par exemple, pour récupérer des données, on utilise la méthode GET, pour
ajouter ou mettre à jour des données, on utilise POST ou PUT, et pour supprimer des
données, on utilise DELETE.
Figure 14 : Rest API

q. Antenne Relais : Il s'agit d'un élément de transmission/réception sans fil qui assure
la connectivité entre Heroku et un smartphone distant. Elle utilise un protocole
HTTP pour établir la communication entre les deux. Egalement appelée station de
base ou tour de télécommunication, est un équipement utilisé dans les réseaux de
télécommunication sans fil pour étendre la portée du signal et permettre la
communication entre les dispositifs mobiles et les réseaux cellulaires.

L'antenne relais joue un rôle crucial dans la transmission des signaux sans fil. Voici quelques
uns de ses composants et fonctionnalités :

1. Antenne : L'antenne est l'élément principal de l'antenne relais. Elle est conçue pour
émettre et recevoir les signaux radiofréquences. L'antenne est généralement placée en
hauteur pour assurer une couverture maximale.
2. Émetteur-récepteur : C'est l'appareil électronique qui gère la transmission et la
réception des signaux. Il convertit les signaux électriques en signaux radiofréquences
pour la transmission et effectue l'opération inverse pour la réception.
3. Équipement de traitement des signaux : Cet équipement traite les signaux transmis et
reçus, notamment en amplifiant les signaux faibles et en filtrant les interférences
indésirables. Il joue un rôle important dans la qualité et la fiabilité de la
communication.
4. Connectivité réseau : L'antenne relais est connectée à un réseau de télécommunication,
tel qu'un réseau cellulaire, via des connexions filaires ou sans fil. Cela permet
d'acheminer les signaux vers d'autres stations de base ou vers les infrastructures de
communication plus larges.
Figure 15 : Antennes Relais

q. Smartphone de visualisation analytique utilisant le MIT App Inventor : C’est un


appareil mobile qui joue le rôle d'interface utilisateur pour afficher et interagir avec
les données collectées et traitées par le système IoT. Voici une description plus
détaillée de ses caractéristiques et fonctionnalités :

1. Interface utilisateur : Le smartphone dispose d'un écran tactile qui permet aux
utilisateurs d'interagir avec l'application de visualisation analytics. L'interface
utilisateur est conçue à l'aide de MIT App Inventor, une plateforme de développement
d'applications mobiles visuelle et conviviale.
2. Application de visualisation : L'application développée avec MIT App Inventor
affiche les données collectées et traitées par le système IoT de manière conviviale et
compréhensible. Elle peut utiliser différents types de graphiques, tableaux ou
visualisations personnalisées pour présenter les informations pertinentes.
3. Connexion au système IoT : Le smartphone se connecte au système IoT en utilisant
des protocoles de communication appropriés, tel qu’une connexion à distance via
Internet en utilisant les protocoles appropriés (http).
4. Réception de données en temps réel : Le smartphone est capable de recevoir les
données en temps réel provenant des différents capteurs et dispositifs connectés. Il
peut recevoir des mises à jour périodiques ou des notifications instantanées lorsque de
nouvelles données sont disponibles.
5. Interaction avec les données , Personnalisation et configuration,Partage et exportation..
Figure 16 : Smartphone de Visualisation Analytique

Implémentation de chaque composant du


Système sous OMNET++
1. Implémentation de chaque composant du Système sous
OMNET++

Nous allons commencer par créer le projet, comme tout projet ordinaire sur OMNeT,
nous allons importer le framework INET dans notre projet, pour pouvoir utiliser toutes
ses bibliothèques.

Une fois le projet créé avec succès, nous nous dirigeons dans les
fichiers : simulations»results-»omnetpp.ini (c’est ici que nous allons ecrire le code
de chaque module de notre projet, il nous permet de pouvoir exécuter les simulations),
et le fichier simulations-»results»package.ned (c’est ici que nous allons créer notre
architecture de réseau)
Dans omnetpp.ini :

##description = simulation entre tout les composants objtet connectes

##network = essaie.simulations.WirelessNetwork

Cette commande permet de specifier que nous allons faire une


simulation de réseau sans fil

##sim-time-limit = 60s cette commande permet de spécifier que notre temps de


simulation limite est de 60 secondes
##*.host*.ipv4.arp.typename = ‘’GlobalArp’’
Cette commande permet de specifier que les adresses Ipv4 sont attribuées aux modules. Les
hôtes ont également besoin de connaître les adresses MAC des autres pour communiquer,
ce qui, dans ce modèle, est pris en charge en utilisant des
modules GlobalArp par hôte au lieu d'un véritable ARP.

Configuration
Voici les différents fichiers permettant de réaliser notre projet :

v. Fichier de configuration Package.ned


Figure 17 : Fichier de configuration accessPoint.ned
Figure 18 : Fichier package.ned option Design

COURS RESEAU-SANS-FIL

PartagerFacebookTwitterEmail
★★★★★
Aucune note. Soyez le premier à attribuer une note !
Ajouter un commentaire

Nom
E-mail
Site Internet
Aperçu

Anti-spam
Sélectionnez l'image visible le moins de fois
IconCaptcha ©
Ajouter
RECHERCHE
OK
TUTORIELS
NODE.JS5
JAVA2
Algorithme Avances11
KOTLIN11
PHP15
RUST7
ANDROIDE DEVELOPPEMENT8
JAVASCRIPT15
UML3
Langage Pascal2
SECURITE INFORMATIQUE1
IONIC1
RESEAU4
CLOUD COMPUTING8
LINUX2
LANGAGE C10
Systeme d'exploitation3
CSS6
C++1
SQL4
COMPLEXITE DES ALGORITHMES0
CRYPTOGRAPHIE1
RECHERCHE OPERATIONNELLE1
Langage R1
HTML (FACILE)CSS ( FACILE )
Quiz

QUIZ PROGRAMMATION C0 QUIZ PHP0 QUIZ HTML50 QUIZ

JAVASCRIPT0 QUIZ CSS0 QUIZ ARCHITECTURE DES ORDINATEURS0

Quiz PYTHON0QUIZ C PLUS PLUS0QUIZ REACTJS0QUIZ OCL0QUIZ R0


Forum

A propos du site web0Présentation des membres0 Programmation


Mobile1Discussions générales3Algorithmique3C++2Flutter1
A LA UNE !
Perl : Un Langage de Programmation Puissant

ParLe 15/08/2024

Qu'est ce que le Java FX

ParLe 15/08/2024
Decouverte du Java ME

ParLe 15/08/2024

TRADUIRE LE SITE
Français English Español Italiano Deutsch Nederlands Portuguesa
TAGS
PHP Java language programmation développement c++ python javascript
Météo

-15 °C
Couvert
Min: -15 °C | Max: -15 °C | Vent: 8 kmh 330°
Derniers quiz

QUIZ OCL #01

QUIZ REACTJS #01

QUIZ C PLUS PLUS 02


Rester connecté
Créer un compte | Mot de passe perdu ?
Valider
Twitter du Panda
Tweets by @https://x.com/Pandacodeur
VBA
Collection d'exercices VBAGestion d'une Facture VBAConsommation de Spaghetti à
DsScripts VBA pour automatiser vSérie d'Exercices VBA pour la
Exercice KALI LINUX
Exercices sur Kali Linux
TP CYBERSÉCURITÉ
TP : Vulnérabilités d'Injectio
Examen R
Examen R - Sujet 01
Programmation Dynamique
Formules RécurrentesLongue Sous-séquence Croissant
Algorithme Glouton
Copyright © 2019 - 2024 PandaCodeur Tous les droits sont réservés. Par Yankam Ngueguim
Joël.





 Politique de confidentialité
 Gestion des cookies

Vous aimerez peut-être aussi