31
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR DE LA RECHERCHE SCIENTIFIQUE ET DE LA TECHNOLOGIE UNIVERSITE DE MANOUBA ECOLE NATIONALE DES SCIENCES DE L’INFORMATIQUE PROJET DE FIN D’ETUDES Présenté en vue de l’obtention du DIPLÔME D’INGENIEUR EN INFORMATIQUE Sujet Modélisation et implémentation du protocole Neighbour Discovery d’IPv6 dans le projet Open Source NS-3 Réalisé par : Mehdi Benamor. Encadré par : Dr. Nicolas Montavont. Supervisé par : Pr. Abdelfattah Belghith. Année universitaire 2007/2008

pfe benamor

Embed Size (px)

DESCRIPTION

projet de fin d'études de mehdi benamor

Citation preview

Page 1: pfe benamor

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR DE LA RECHERCHE SCIENTIFIQUE ET DE LA TECHNOLOGIE

UNIVERSITE DE MANOUBAECOLE NATIONALE DES SCIENCES DE L’INFORMATIQUE

PROJET DE FIN D’ETUDESPrésenté en vue de l’obtention du

DIPLÔME D’INGENIEUR EN INFORMATIQUE

SujetModélisation et implémentation du protocole Neighbour

Discovery d’IPv6 dans le projet Open Source NS-3

Réalisé par : Mehdi Benamor.Encadré par : Dr. Nicolas Montavont.Supervisé par : Pr. Abdelfattah Belghith.

Année universitaire 2007/2008

Page 2: pfe benamor

Année universitaire 2007/2008 2

Ce travail a été effectué dans TELECOM Bretagne, centre de recherche international en sciences et technologies de l’information et membre privilégié des entreprises innovantes. Notre objectif était la préparation, en collaboration avec l’université de Strasbourg, d’une version de NS-3 qui supporte la totalité de la pile IPv6. La tâche spécifique à ce projet est la modélisation puis l’implémentation du protocole Neighbour Discovery dans le simulateur NS-3 avec le développement des techniques de routage.

Domaines touchés :

Protocole IPv6 Simulation à événements discrets Emulation Programmation avancée en C++ et Python

Présentation générale

Page 3: pfe benamor

Année universitaire 2007/2008 3

Plan

1.Introduction1.1. IPv61.2. Simulation à événements discrets1.3. NS-3

2.Problématique3.Analyse des besoins

3.1. Besoins fonctionnels et non fonctionnels3.2. Modèle et cas d’utilisations

4.Conception4.1. Vue d’ensemble4.2. Conception détaillée

5. Scénarios des tests7. Conclusion

Page 4: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Introduction :• IPv6• Simulation à événements discrets• NS-3

4Année universitaire 2007/2008

Croissance des tables de routages des routeurs

Pénurie des réseaux des classes B et C

Epuisement des adresses des machines

Recherche d’un nouveau standard !

Page 5: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Introduction :• IPv6• Simulation à événements discrets• NS-3

5Année universitaire 2007/2008

Définition d’un nouvel protocole internet IPv6 !

Plan d’adressage plus large. Sécurité renforcé. Confidentialité. Gestion des applications temps réel. Auto-configuration des machines.

Coexistence d’IPv4 et IPv6.Définition des techniques de migration vers la nouvelle version.

Actuellement, la majorité des backbones en union européenne et en Amérique utilisent le protocole IPv6.

Page 6: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Introduction :• IPv6• Simulation à événements discrets• NS-3

6Année universitaire 2007/2008

Pas d’intervention humaine pour la mise au point des machines (IPv4).

Ce protocole est défini pour automatiser la configuration.

Le paramétrage des interfaces se fait à l’aide d’échange des messages ICMP. Découverte et mise en cache des équipement dans un même sous-réseau. Découverte des routeurs accessibles et configuration des adresses globales.

Protocole de découverte des voisins Neighbour Discovery

Configuration des adresses statiques Configuration des passerelles et des serveurs

nécessite l’intervention d’un spécialiste

ICMP Intervention humaine seulement au niveau des routeurs

Configuration automatique des interfaces par échange des messages

Page 7: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Introduction :• IPv6• Simulation à événements discrets• NS-3

7Année universitaire 2007/2008

Protocole de découverte des voisins Neighbour Discovery

RSRS

RA

RARA

Application

NSNA

Mise à jour de la cache

Configurer adresse globale

Mise à jour de la cache

Configurer adresse globale

Mise à jour de la cache

Mise à jour de la cacheEnvoi des données

Ethernet

Page 8: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Introduction :• IPv6• Simulation à événements discrets• NS-3

8Année universitaire 2007/2008

L’étude de performance d’un système est primordiale pour dégager des informations utiles liées à son fonctionnement.

Comportement avec l’environnement extérieurLimites par rapport aux objectifs conçus

Degré de complexité élevé Problèmes difficilement démontrables par expérience prévention parfois impossible de l’évolution du

comportement du système

Euh!! heureusement !

Etude par simulationPrésentation virtuelle du

système

Page 9: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Introduction :• IPv6• Simulation à événements discrets• NS-3

9Année universitaire 2007/2008

Du système réel au modèle d’abstraction

Système

Modèle

Conserver les contraintes Conserver l’environnement d’exécution Même état global

Simulation

Emulation

Simulation conduite par trace

Simulation à événements discrets

Simulation Continue

Le système simulé est constitué d’un ensemble d’entités transitant dans un réseau au cours du temps Suite des événements suivis par le changement d’état global et qui sont traités par le Scheduler Chaque événement est lié à une durée de temps connu à son commencement qui défini son temps d’exécution réel mais ne signifie pas son délai de traitement dans le SchedulerA chaque événement, on associe un Handler qui est responsable à son exécution

Page 10: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Introduction :• IPv6• Simulation à événements discrets• NS-3

10Année universitaire 2007/2008

NS-3 est un simulateur à événements discrets qui cible la recherche et l’utilisation éducative. Il offre les fonctionnalités suivantes :

• Construction des réseaux virtuels (nœuds, canaux applications,…) et le support d’ordonnancement des événements, la génération des topologies,…

• Un support pour l’émulation des réseaux.

• Un support pour une simulation distribuée.

• Animation de la simulation des réseaux.

• Traçage, suivi et statistiques sur les simulations.

Page 11: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Introduction :• IPv6• Simulation à événements discrets• NS-3

11Année universitaire 2007/2008

Architecture d’un nœud dans NS-3

Support des deux piles protocolaires IPv4 et IPv6

Plusieurs applications peuvent coexister au même temps sur le même nœud.

Des entêtes sont ajoutés au paquet à chaque niveau protocolaire

Les nœuds sont connectés par les objets« Channel »

Page 12: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Problématique :

Neighbour Discovery dans NS-3

12Année universitaire 2007/2008

Modéliser le protocole de découverte des voisins Neighbour Discovery par l’ajout des extensions au simulateur NS-3 au niveau des couches réseau, interface et application afin de mettre en œuvre la configuration automatique des machines.

Définir les messages de configuration Définir les algorithmes des traitements des messages Définir les techniques de routages associées Définir une application de test de configuration

Page 13: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Analyse des besoins :• Besoins fonctionnels et non fonctionnels• Modèle et cas d’utilisations

13Année universitaire 2007/2008

Besoins fonctionnels :

Définir des topologies réseaux qui supportent simultanément IPv4 et IPv6.

Configurer les interfaces des routeurs afin de spécifier les paramètres d’envoi des RA.

Le processus de découverte des voisins va dépondre de cette configuration.

Générer des fichiers de trace et des statistiques.

Besoins non fonctionnels

Fiabilité et robustesse.

Souplesse et flexibilité.

Résistance au facteur d’échelle.

Conception orientée objet.

Page 14: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Analyse des besoins :• Besoins fonctionnels et non fonctionnels• Modèle et cas d’utilisations

14Année universitaire 2007/2008

Vue globale de NS-3

Page 15: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Analyse des besoins :• Besoins fonctionnels et non fonctionnels• Modèle et cas d’utilisations

15Année universitaire 2007/2008

Spécification des détails fonctionnels du « Neighbour Discovery »

Application

Transport

Réseau

NetDevice

Inte

rfac

es

Canal de transmission

Les acteurs de notre modèle sont situés dans plusieurs niveaux protocolaires.

Mise en œuvre des techniques utilisées dans le protocole IPv6.

Emulation par construction réelle et encapsulation des en-têtes des messages de configuration.

Page 16: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Analyse des besoins :• Besoins fonctionnels et non fonctionnels• Modèle et cas d’utilisations

16Année universitaire 2007/2008

Spécification des détails fonctionnels du « Neighbour Discovery »

Application

Transport

Réseau

NetDevice

Inte

rfac

es

Canal de transmission

1 2

préfixe adresse routeur

p1 a1 A

préfixe adresse routeur

p2 a2 B

p1 p2

Gérer les adresses

Conserver des paramètres réseau

Assurer l’envoi du paquet au NetDevice

interface

Configuration des adresses globales

Page 17: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Analyse des besoins :• Besoins fonctionnels et non fonctionnels• Modèle et cas d’utilisations

17Année universitaire 2007/2008

Spécification des détails fonctionnels du « Neighbour Discovery »

Application

Transport

Réseau

NetDevice

Inte

rfac

es

Canal de transmission

Résolution des adresses MAC

Paquet en attenteChercher une entrée dans la cache Pas d’entrée !

NS NA

Mise à jour de la cache

Page 18: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Analyse des besoins :• Besoins fonctionnels et non fonctionnels• Modèle et cas d’utilisations

18Année universitaire 2007/2008

Spécification des détails fonctionnels du « Neighbour Discovery »

Application

Transport

Réseau

NetDevice

Inte

rfac

es

Canal de transmission

Gérer les interfaces

Gérer les préfixes

Gérer les routes

Transférer le paquet à une interface

Couche réseauRA

RARA

Destination Préfixe Interface

@r1 p1 1

Sauvegarder le préfixe et lancer un timer

Validité du préfixe expirée !

Suppression du préfixe, de l’adresse et de la route correspondante

Page 19: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Analyse des besoins :• Besoins fonctionnels et non fonctionnels• Modèle et cas d’utilisations

19Année universitaire 2007/2008

Spécification des détails fonctionnels du « Neighbour Discovery »

Application

Transport

Réseau

NetDevice

Inte

rfac

es

Canal de transmission

Construire des messages ICMP

Traiter des messages ICMP

Configuration et mise à jour

Couche transport

Couche réseau

<extends>

Page 20: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Analyse des besoins :• Besoins fonctionnels et non fonctionnels• Modèle et cas d’utilisations

20Année universitaire 2007/2008

Spécification des détails fonctionnels du « Neighbour Discovery »

Application

Transport

Réseau

NetDevice

Inte

rfac

es

Canal de transmission

Lancer et arrêter la simulation

Configurer les interfaces des routeurs

Préciser les options du traçage

Couche application

Modélisation du démon radvd au niveau de chaque interface : fréquence d’envoi des RA Options encapsulées dans les messages L’état de l’interface (active ou pas) Nombre de préfixes à envoyer Les paramètres de configuration d’adresse globale…

Page 21: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

21Année universitaire 2007/2008

Conception:• Vue d’ensemble• Conception détaillée

Entités situées à plusieurs niveaux protocolaires

Mettre au point des interfaces capables d’accepter des messages de configuration

Emulation et traitement hiérarchique des paquets

Page 22: pfe benamor

22Année universitaire 2007/2008

Application

Transport

Réseau

NetDevice

Inte

rfac

es

Canal de transmission

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Conception:• Vue d’ensemble• Conception détaillée

NdiscIpv6Interface

Ipv6Interface

List<InterfaceAddress >NetDevice

m_addressListm_netDevice

NdiscCache

Page 23: pfe benamor

23Année universitaire 2007/2008

Application

Transport

Réseau

NetDevice

Inte

rfac

es

Canal de transmission

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Conception:• Vue d’ensemble• Conception détaillée

Ipv6L3Protocol

m_routes

List<pair <Ipv6Address, Ipv6Prefix>>

List<Ipv6Interface>

Ipv6StaticRouting List<Ipv6Route>

m_prefixList

m_interfaceList

Page 24: pfe benamor

24Année universitaire 2007/2008

Application

Transport

Réseau

NetDevice

Inte

rfac

es

Canal de transmission

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Conception:• Vue d’ensemble• Conception détaillée

Icmpv6L4Protocol

Header

Icmpv6Header

Ipv6L4Protocol

Icmpv6NS Icmpv6NA Icmpv6RS Icmpv6RA Icmpv6OptionHeader

Page 25: pfe benamor

25Année universitaire 2007/2008

Application

Transport

Réseau

NetDevice

Inte

rfac

es

Canal de transmission

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

Conception:• Vue d’ensemble• Conception détaillée

radvd

radvdHelper

List< InterfaceConfig >m_interfaces

Page 26: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Réalisation et Scénarios de test6. Publication7. Conclusion et perspectives

26Année universitaire 2007/2008

Réalisation et Scénarios de test :• Routeurs uni-interfaces• Routeurs multi-interfaces

Plan de test :

Envoi et réception des messages de configuration en unicast Envoi et réception des messages de configuration en multicast Calcul et ajout d’une adresse globale à chaque réception d’un préfixe Mise à jour de la cache à chaque réception d’une adresse MAC Ajout des routes à la tables de routage Gestion des temporisateurs des préfixes sauvegardés Suppression d’une adresse, d’une route et d’un préfixe suite à l’expiration du temporisateur de ce dernier Gestion des préfixes au niveau des routeurs multi-interfaces

Page 27: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Réalisation et Scénarios de test6. Publication7. Conclusion et perspectives

27Année universitaire 2007/2008

Réalisation et Scénarios de test :• Routeurs uni-interfaces• Routeurs multi-interfaces

Scénario 1 : Envoi non périodique en unicast des RS et RA

Configuration d’une adresse globale Ajout de l’adresse MAC du routeur à la cache de la machine Ajout de l’adresse MAC de la machine à la cache du routeur Ajout d’une route vers le routeur Mise à jour du MTU au niveau de l’interface

Table de routage (Host)

Destination NextHop Interface

:: fe80 : :0aff :00ff :fe00 :0001 1

::1 :: 0

2001:1:: :: 1

MAC 0a :ff :00 :00 :00 :01Préfixe 2001 :1 : :/64 MAC 0a :ff :00 :00 :00 :02

Page 28: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Réalisation et Scénarios de test6. Publication7. Conclusion et perspectives

28Année universitaire 2007/2008

Réalisation et Scénarios de test :• Routeurs uni-interfaces• Routeurs multi-interfaces

Scénario 2 : Envoi périodique en multicast des RA et des RS

Table de routage (Host1/ Host2)

Destination NextHop Interface

:: fe80 : :0aff :00ff :fe00 :0001 1

::1 :: 0

fe80:: :: 1

2001:1:: :: 1

Configuration des adresses globales Ajout de l’adresse MAC du routeur aux caches des machines Ajout des adresses MAC des machines à la cache du routeur Ajout des routes vers le routeur Mise à jour du MTU au niveau des interfaces

MAC 0a :ff :00 :00 :00 :01Préfixe 2001 :1 : :/64

MAC 0a :ff :00 :00 :00 :02 MAC 0a :ff :00 :00 :00 :03

Page 29: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Réalisation et Scénarios de test6. Publication7. Conclusion et perspectives

29Année universitaire 2007/2008

Réalisation et Scénarios de test :• Routeurs uni-interfaces• Routeurs multi-interfaces

Scénario 3 : Envoi périodique en multicast des RA et des RS

Table de routage (Host1)Destination NextHop Interface

:: fe80 : :0aff :00ff :fe00 :0001 1

::1 :: 0

fe80:: :: 1

2001:1:: :: 1

2001:3:: :: 1

Configuration des adresses globales Ajout de l’adresse MAC des routeurs aux caches des machines Ajout des adresses MAC des machines aux caches des routeurs Ajout des routes vers le routeur Mise à jour du MTU au niveau des interfaces

MAC 0a :ff :00 :00 :00 :01MAC 0a :ff :00 :00 :00 :03

MAC 0a :ff :00 :00 :00 :02MAC 0a :ff :00 :00 :00 :04

2001 :1 : :/64

2001 :2: :/64

2001 :3 : :/64

2001 :4 : :/64

Page 30: pfe benamor

1. Introduction2. Problématique3. Analyse des besoins4. Conception5. Scénarios de test6. Publication7. Conclusion et perspectives

30Année universitaire 2007/2008

Conclusion et perspectives :

Etudier le protocole IPv6

Etude de plate forme NS-3 (Code source pas facile à comprendre)

Modélisation et Implémentation du protocole de découverte des voisins Envoi et Traitement des messages de configuration Paramétrage des interfaces en fonction des informations reçues

Etendre le code du simulateur par l’ajout des algorithmes de routage au sein des backbones de routeurs pour étaler l’utilisation de NS-3 à des réseaux à grandes échelles

Soumission d’un papier au conférence WNS2 prévu en Octobre 2008 à Grèce

Page 31: pfe benamor

31Année universitaire 2007/2008