projet master 1 méthode incitative de coopération dans les réseaux ad hoc tuteur :hayel yezekael...

Post on 04-Apr-2015

106 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Projet Master 1

Méthode incitative de coopération dans les réseaux Ad Hoc

Tuteur : Hayel Yezekael

Etudiants : Moure Jonathan – Rozier Jérémy – Tecles Patrick

Projet Master 1

Sommaire

I) Ad Hoc, Nuggets

II) Organisation

III) Implémentation sous NS

IV) Bilan

I) Ad Hoc, Nuggets

Plan

1) Réseau Ad Hoc

2) Nuggets

3) Modèle PPM

1) Réseau Ad Hoc

- Un réseau Ad Hoc est

un réseau sans fil et

sans infrastructure.

- Terminode : terminal + noeud du réseau.

I) Ad Hoc, Nuggets

I) Ad Hoc, Nuggets

1) Réseau Ad Hoc

Problèmes :

- Pour un bon fonctionnement, il faut une coopération entre tous les mobiles.

- Indisponibilité des services et surcharge du réseau.

I) Ad Hoc, Nuggets

2) Nuggets

Solution :

- Les nuggets, monnaie virtuelle.

- Coût du service de transmission.

I) Ad Hoc, Nuggets

2) Nuggets

- Relayer des paquets = gain de nuggets.

- Nuggets nécessaires pour envoyer des paquets.

-> Retransmission des paquets indispensable.

I) Ad Hoc, Nuggets

3) Modèle PPM

PPM « Packet Purse Model »

- Principe : émetteur paye avec « x » nuggets pour envoyer son paquet, chaque intermédiaire prend « y » nuggets.

- Avantage : dissuade du flooding, empêche de surcharger le réseau.

I) Ad Hoc, Nuggets

3) Modèle PPM

PPM « Packet Purse Model »

- Inconvénients : * estimation du nombre de nuggets à envoyer.

* nombre de nuggets pris par les intermédiaires.

I) Ad Hoc, Nuggets

3) Modèle PPM

PPM « Packet Purse Model »

- Solutions : * mécanisme pour estimer les nuggets suffisants.

* obligation de prendre un seul nugget pour chaque intermédiaire.

II) Organisation

Plan

1) Présentation

2) Plateforme

3) NS

II) Organisation

1) Présentation

- Phase de recherche concernant la réalisation de la plateforme

- Familiarisation avec NS (Network Simulator)

- Élaboration de scénarios “ad hoc”

- Implémentation des nuggets

- Simulations

II) Organisation

2) Plateforme

- Impossibilité d’implémenter entre les couches 2 et 3 ( liaison de données et réseau)

- Impossibilité d’implémenter à la 3ème couche (au niveau de l’en-tête IP)

II) Organisation

3) Network Simulator

- Simulation d’un grand nombre d’applications, de protocoles, de types de réseau...

- 2 parties :

* simulateur, codé en C++

* interprète Otcl, pour lire et éxécuter les scripts en tcl

- Visualisation avec NAM

II) Organisation

3) Network Simulator

- Implémentation des nuggets à un niveau applicatif (abstraction des étapes d’encapsulation et désencapsulation)

- Création du script de simulation

III) Implémentation sous NS

Plan

1) Création et dérivation de ping

2) Création d’un protocole de routage

3) Dérivation de DSDV

4) Dérivation de CBR

5) Création d’un script de simulation

III) Implémentation sous NS

1) Création et dérivation de ping

- Création de ping à l’aide d’un tutorial

- Puis modification pour y ajouter les nuggets

- Création ok mais besoin d’accéder aux données de la table de routage

Création de notre propre protocole de routage

III) Implémentation sous NS

2) Création d’un protocole de routage

- Création d’un type de paquet spécifique à notre protocole

- Création de l’agent de routage

- Création de la table de routage

- Modifications nombreuses des fichiers “systèmes” pour l’intégrer a NS

Problèmes lors de l’utilisation (NAM, traces)

III) Implémentation sous NS

3) Dérivation de DSDV

- Protocole de routage le moins complexe à modifier

- Confusion de notre part nous ne pouvons pas intégrer les nuggets dans DSDV car sa fonction est de créer des tables de routages et non pas de décider du forwarding des paquets

4) Dérivation de CBR

- Application simple qui utilise UDP

- Génère du trafic constant

- Plus simple à modifier que FTP par exemple

- Modification de cbr_traffic.cc (fonction start())

- Stock de nuggets stocké dans un fichier

III) Implémentation sous NS

III) Implémentation sous NS

4) Dérivation de CBR

- Ouvrir le fichier de stock du noeud émetteur et décrémenter ce stock du nombre de « nuggets » que l'on va «mettre» dans le paquet

- Gérer les noeuds intermédiaires qui relaient les paquets (forwarding)

III) Implémentation sous NS

4) Dérivation de CBR

- Ce forwarding

s’effectue dans la

classe Classifier

- Commute le paquet

vers la bonne interface

de sortie

III) Implémentation sous NS

4) Dérivation de CBR

Classifier:

- Composant propre à

chaque noeud

- Role de démultiplexeur

- Modification de la fonction recv() de classifier.cc

III) Implémentation sous NS

4) Dérivation de CBR

Comment savoir si un paquet “contient” encore des nuggets?

- Récupérer le champ num_forwards_ du paquet qui donne le nombre de noeuds traversés.

- Chaque noeud relais prend un nuggets,

nbre de nuggets du paquet = coût initial – num_forwards_

III) Implémentation sous NS

4) Dérivation de CBR

Choix du coût initial (nbre de nuggets à inclure dans un paquet):

- Noeuds répartis de manière aléatoire uniforme sur un carré. Pour une topologie de 50 noeuds

nombre de relais maxi ≈ √50 – 2 ≈ 5

Choisir un coût de 3 ou 4 (meilleurs résultats)

III) Implémentation sous NS

5) Création du script de simulation

- Script en tcl

- Création et positionnement de 50 noeuds répartis uniformément de manière aléatoire

- Génération de trafic aléatoire

- Gestion du niveau d’énergie

Plan

1) Analyse et exploitation des résultats

2) Problèmes rencontrés

3) Apports personnels

4) Perspectives

IV) Bilan

1) Analyse et exploitation des résultats

Préambule :

- 50 nodes.

- 200 communications CBR (1 paquet).

- Émission toutes les 2 secondes.

- Stock initial de 20 nuggets.

- Forfait d’émission (tests avec 3 ou 4 nuggets).

- Mobilité (tests effectués avec et sans).

IV) Bilan

1) Analyse et exploitation des résultats

- Immobilité,

coût de 4 nuggets

- Répartition géographique des nodes en fonction de leur stock final de nuggets.

IV) Bilan

1) Analyse et exploitation des résultats

Résultats Immobilité, coût de 4 nuggets :

- 12 drops en moyenne.

- 6% de paquets dropés.

- 520 nuggets au total à la fin.

- 10% “rouges”, 30% “bleus”, 60% “marrons”.

IV) Bilan

1) Analyse et exploitation des résultats

Résultats Immobilité, coût de 3 nuggets :

- 36 drops en moyenne.

- 18% de paquets dropés (3 fois plus qu’avec 4).

- 760 nuggets au total à la fin (240 de plus).

- 20% “rouges”, 50% “bleus”, 30% “marrons”.

IV) Bilan

1) Analyse et exploitation des résultats

- Mobilité,

coût de 4 nuggets

- Répartition géographique des nodes en fonction de leur stock final de nuggets.

IV) Bilan

1) Analyse et exploitation des résultats

Résultats Mobilité, coût de 4 nuggets :

- 5 drops en moyenne.

- 2.5% de paquets dropés.

- 490 nuggets au total à la fin.

- 15% “rouges”, 35% “bleus”, 50% “marrons”.

IV) Bilan

1) Analyse et exploitation des résultats

Résultats Mobilité, coût de 3 nuggets :

- 12 drops en moyenne.

- 6% de paquets dropés (2 fois plus qu’avec 3).

- 620 nuggets au total à la fin (130 de plus).

- 15% “rouges”, 55% “bleus”, 30% “marrons”.

IV) Bilan

1) Analyse et exploitation des résultats

Conclusions :

- Coût > 4 : nombre de nuggets restant trop faible.

- Coût < 3 : nombre de drops trop important.

- Coût = 3 : privilégie la durée, pas l’acheminement

- Coût = 4 : + d’acheminement, - de nuggets totaux

- Mécanisme adapté aux réseaux mobiles ad hoc

IV) Bilan

2) Problèmes rencontrés

- Techniques, organisationnels, “logistiques”.

- Différence entre théorie et pratique.

- Comprendre NS, l’installer, installer Linux, plusieurs réinstallations.

- Trouver des informations exploitables.

IV) Bilan

3) Apports personnel

- Technique : NS (C++, tcl), Linux, ad hoc…

- Professionnel : futurs enjeux, contraintes…

- Humain : travail d’équipe, comptes rendus…

- Personnel : persévérance, motivation, sens des responsabilités, remise en question.

- Progression des compétences, du savoir, du savoir-faire, du savoir être.

- Amélioration de l’autonomie, prise de recul.

IV) Bilan

4) Perspectives

- Exploitations des résultats (variations des paramètres).

- Ajout d’un critère d’énergie pour le forwarding.

- Gestion plus fine du coût d’envoi de paquets.

- Création module NUGGETS pour NS (add on).

IV) Bilan

top related