Vous êtes sur la page 1sur 36

Table of Contents

INTRODUCTION......................................................................................................................3
I. REVUE DE LA LITTÉRATURE...........................................................................................4
1. DESCRIPTION DU PROTOCOLE INTERNET VERSION 6 ( IPV6)............................4
2. FONCTIONNEMENT D’IPV6..........................................................................................5
3. ROUTAGE DANS IPV6....................................................................................................6
4. LA NORME IEEE 802.15.4...............................................................................................7
a. CARACTERISTIQUES..................................................................................................7
b. TYPES DE TRAMES.....................................................................................................8
5. PROBLEMES SOULEVES................................................................................................8
II. LES RESEAUX 6LoWPAN..................................................................................................8
1. DESCRIPTION DES RESEAUX 6LoWPAN...................................................................8
a. FONCTIONNEMENT....................................................................................................8
b. ARCHITECTURE..........................................................................................................9
2. COUCHE D’ADAPTION DANS 6LoWPAN.................................................................10
a. COMPRESSION DE L’ENTETE IPV6.......................................................................10
b. COMPRESSION D’AUTRES EN ENTETES.............................................................12
3. ROUTAGE........................................................................................................................13
a. Routage basé sur l’approche MANET..........................................................................13
i. Le routage Mesh-Under.............................................................................................13
ii. Routage Route-Over.................................................................................................14
iii. Taxonomie des protocoles.......................................................................................15
iv. Exigences de routage avec 6LoWPAN....................................................................15
4. NEIGHBOR DISCOVERY..............................................................................................16
a. Obtention d’un préfixe..................................................................................................16
b. ENREGISTREMENT DE L’ADRESSE IPV6 GLOBALE.........................................17
c. VERIFICATION DE L’UNICITE L’ADRESSE IPV6 GLOBALE............................18
5. QUELQUES AVANTAGES ET INCONVENIANTS DE 6LoWPAN..........................18
6. QUELQUES DOMAINES D’APPLICATION DE 6LoWPAN......................................19
III. MOBILITE DANS LES RESEAUX DE CAPTEURS SANS FIL : 6LoWPAN...............20
1. MECANISME DE COMPRESSION...............................................................................21
2. EVALUATION DU SUPPORT DE LA MOBILITE DANS LES RESEAUX 6LoWPAN
...............................................................................................................................................22

1
IV. SECURITE DANS LES RESEAUX 6LoWPAN...............................................................22
V. CAS PRATIQUE AVEC LE SIMULATEUR 6TiSCH......................................................25
1. POURQUOI DEVONS-NOUS SIMULER ?...................................................................25
2. PROCEDURE D’INSTALLATION DU SIMULATEUR...............................................25
3. DESCRIPTION DU SIMULATEUR 6TSCH..................................................................26
5. EXEMPLE DE SIMULATION........................................................................................29
6. QUELQUES METRIQUES PERMETTANT D’EVALUER LES PERFORMANCES
DE LA COUCHE RESEAU 6LoW-PAN............................................................................31
CONCLUSION.........................................................................................................................34
REFERENCES..........................................................................................................................35

2
INTRODUCTION

6LoWPAN est l'acronyme de IPv6 Low power Wireless Personal Area Networks ou IPv6
LoW Power wireless Area Networks. C'est également le nom d'un groupe de travail de l'IETF.
Le groupe 6LoWPAN a défini les mécanismes d'encapsulation et de compression d'entêtes
permettant aux paquets IPv6 d'être envoyés ou reçus via le protocole de communication IEEE
802.15.4. IPv4 et IPv6 sont efficaces pour la délivrance de données pour les réseaux locaux,
les réseaux métropolitains et les réseaux étendus comme l'internet. Cependant, ils sont
difficiles à mettre en œuvre dans les capteurs en réseaux et autres systèmes contraints en
raison, notamment, de la taille importante des en-têtes. 6LoWPAN devrait permettre à IPv6
d'intégrer ces matériels informatiques contraints et les réseaux qui les interconnectent. Les
évolutions technologiques des années 1990 (miniaturisation de l'électronique, déploiement de
nouveaux des réseaux sans-fil et des systèmes embarqués) ont permis l'émergence de
nouvelles applications pour les réseaux de capteurs et d'actuateurs. Avec l'avènement des
technologies sans-fil, les premières solutions utilisées étaient totalement propriétaires (par
exemple Z-WAVE ou EnOcean). Avec la norme IEEE 802.15.4 (utilisation radio des capteurs
sans-fil) de nouveaux standards propriétaires sont apparus (par exemple, ZigBee, Wireless-
HART, etc.). Lors de premières réflexions sur la mise en réseau de capteurs sans fils,
6LoWPAN est né d’une idée simple : « pourquoi réinventer un protocole alors que nous
avons déjà IP ? ». Dans le cadre de notre devoir, nous vous conduirons dans une étude
approfondie de la couche réseau 6LoWPAN en commençant par la description du protocole
IPV6 de façon large, en passant par les details sur la norme 802.15.4 jusqu’à vous amener de
manière étroite vers le monde de la faible consommation d’énergie dans les réseau sans fils.

3
I. REVUE DE LA LITTÉRATURE

1. DESCRIPTION DU PROTOCOLE INTERNET


VERSION 6 ( IPV6)

IPv6 (Internet Protocol version 6) est un protocole réseau sans connexion de la couche 3 du
modèle OSI (Open Systems Interconnection).

L’ IPv6 est l'aboutissement des travaux menés au sein de l'IETF au cours des années 1990
pour succéder à IPv4 et ses spécifications ont été finalisées dans la RFC 2460 en décembre
1998. IPv6 a été standardisé dans la RFC 8200 en juillet 2017.

Grâce à des adresses de 128 bits au lieu de 32 bits, IPv6 dispose d'un espace d'adressage bien
plus important qu'IPv4 (plus de 340 sextillions, près de 7,9 × 1028 de fois plus). Cette quantité
d'adresses considérable permet une plus grande flexibilité dans l'attribution des adresses et
une meilleure agrégation des routes dans la table de routage d'Internet. La traduction
d'adresse, qui a été rendue populaire par le manque d'adresses IPv4, n'est plus nécessaire.

IPv6 dispose également de mécanismes d'attribution automatique des adresses et facilite la


renumérotation. La taille du sous-réseau, variable en IPv4, a été fixée à 64 bits en IPv6. Les
mécanismes de sécurité comme IPsec font partie des spécifications de base du protocole.
L'en-tête privés.

Le déploiement d'IPv6 sur Internet est compliqué en raison de l'incompatibilité des adresses
IPv4 et IPv6. Les traducteurs d'adresses automatiques se heurtent à des problèmes pratiques
importants . Pendant une phase de transition où coexistent IPv6 et IPv4, les hôtes disposent
d'une double pile, c'est-à-dire qu'ils disposent à la fois d'adresses IPv6 et IPv4, et des tunnels
permettent de traverser les groupes de routeurs qui ne prennent pas encore en charge IPv6.

En 2011, seules quelques sociétés ont entrepris de déployer la technologie IPv6 sur leur
réseau interne, Google notamment.

Au début de l'année 2016, le déploiement d'IPv6 est encore limité, la proportion d'utilisateurs
Internet en IPv6 étant estimée à 10 %, et ce en dépit d'appels pressants à accélérer la
migration adressés aux fournisseurs d'accès à Internet et aux fournisseurs de contenu de la
part des registres Internet régionaux et de l'ICANN, l'épuisement des adresses IPv4 publiques
disponibles étant imminent.

2. FONCTIONNEMENT D’IPV6
Son fonctionnement est très similaire à celui d'IPv4. Les protocoles TCP et UDP sont
pratiquement inchangés. Ceci est résumé par la formule « 96 bits de plus, rien de magique ».

4
Une adresse IPv6 est longue de 128 bits, soit 16 octets, contre 32 bits / 4 octets pour IPv4. La
notation décimale pointée employée pour les adresses IPv4 (par exemple 172.31.128.1) est
abandonnée au profit d’une écriture hexadécimale, où les 8 groupes de 2 octets (16 bits par
groupe) sont séparés par un signe deux-points :

2001:0db8:0000:85a3:0000:0000:ac1f:8001

Il est permis d’omettre de un à trois chiffres zéros non significatifs dans chaque groupe de
quatre chiffres hexadécimaux. Ainsi, l’adresse IPv6 ci-dessus est équivalente à la suivante :

2001:db8:0:85a3:0:0:ac1f:8001

De plus, une unique suite de un ou plusieurs groupes consécutifs de 16 bits tous nuls peut être
omise, en conservant toutefois les signes deux-points de chaque côté de la suite de chiffres
omise, c’est-à-dire une paire de deux-points « :: » . Ainsi, l’adresse IPv6 ci-dessus peut être
abrégée en la suivante :

2001:db8:0:85a3::ac1f:8001

Une même adresse IPv6 peut être représentée de plusieurs façons différentes, comme
2001:db8::1:0:0:1 et 2001:db8:0:0:1::1. La RFC 5952 recommande une représentation
canonique.

Les réseaux sont identifiés en utilisant la notation CIDR : la première adresse du réseau est
suivie par une barre oblique « / » puis par un entier compris entre 0 et 128, lequel indique la
longueur en bits du préfixe du réseau, à savoir de la partie commune des adresses déterminées
par ledit réseau.

Voici des exemples d’adresses réseau IPv6 avec leurs ensembles d’adresses déterminées :

 Le préfixe 2001:db8:1f89::/48 représente l’ensemble des adresses qui commence à


2001:db8:1f89:0:0:0:0:0 et finit à 2001:db8:1f89:ffff:ffff:ffff:ffff:ffff.
 Le préfixe 2000::/3 représente les adresses de 2000:0:0:0:0:0:0:0 à
3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff.
 Le préfixe fc00::/7 représente les adresses de fc00:0:0:0:0:0:0:0 à
fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff.
 Le préfixe fe80::/10 représente les adresses de fe80:0:0:0:0:0:0:0 à
febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff.

3. ROUTAGE DANS IPV6


Le routage IPv6 est quasiment identique au routage IPv4 sous CIDR (Classless Inter-Domain
Routing, routage inter-domaine sans classe). La seule différence est la taille des adresses qui
sont de 128 bits dans IPv6 au lieu de 32 bits dans IPv4. Avec des extensions simples, il est
possible d'utiliser la totalité des algorithmes de routage d'IPv4 comme OSPF, RIP, IDRP et
ISIS.

5
IPv6 comprend également des extensions de routage simples qui prennent en charge de
nouvelles capacités de routage puissantes. La liste suivante décrit les nouvelles capacités de
routage :

 sélection de fournisseur en fonction de la stratégie, des performances, des coûts, etc ;


 hébergement de mobilité, routage vers emplacement actuel ;
 ré-adressage automatique, routage vers nouvelle adresse.

Les nouvelles capacités de routage s'obtiennent par la création de séquences d'adresses IPv6
utilisant l'option de routage IPv6. Une source IPv6 utilise l'option de routage afin de
répertorier un ou plusieurs nœuds intermédiaires, ou groupes topologiques, à visiter en cours
d'acheminement vers la destination du paquet. Cette fonction possède énormément de
similitudes avec l'option IPv4 de source lâche et de route d'enregistrement.

Pour que les séquences d'adresses soient une fonction générale, les hôtes IPv6 doivent, dans la
plupart des cas, inverser les routes d'un paquet reçu par un hôte. Le paquet doit être
authentifié à l'aide de l'utilisation de l'en-tête d'authentification IPv6. Le paquet doit contenir
des séquences d'adresse afin d'être renvoyé à son point d'origine. Cette technique force les
implémentations d'hôtes IPv6 pour la prise en charge de la gestion et de l'inversion des routes
source. La gestion et l'inversion des routes source est la clé permettant aux fournisseurs de
travailler avec les hôtes qui implémentent les nouvelles capacités IPv6 comme la sélection de
fournisseur et les adresses étendues.

Sur des liens compatibles multicast et des liens point à point, chaque routeur envoie
régulièrement un paquet de publication de routeur au groupe multicast pour lui annoncer sa
disponibilité. Un hôte reçoit des publications de routeur de la totalité des routeurs, constituant
une liste des routeurs par défaut. Les routeurs génèrent des publications de routeur de façon
suffisamment fréquente pour permettre aux hôtes d'être avertis de leur présence en quelques
minutes. Cependant, les routeurs n'effectuent pas de publications à une fréquence suffisante
pour se fier à une absence de publication permettant de détecter une défaillance de routeur.
Un algorithme de détection séparé qui détermine l'inaccessibilité de voisin fournit la détection
de défaillance.
Les publications de routeur contiennent une liste de préfixes de sous-réseau utilisés pour
déterminer si un hôte se trouve sur le même lien que le routeur. La liste de préfixes est
également utilisée pour la configuration d'adresses autonomes. Les indicateurs associés aux
préfixes spécifient les utilisations spécifiques d'un préfixe particulier. Les hôtes utilisent les
préfixes sur liaison publiés afin de constituer et de maintenir une liste utilisée pour décider
lorsque la destination d'un paquet se trouve sur la liaison ou au-delà d'un routeur. Une
destination peut se trouver sur une liaison même si celle-ci n'est couverte par aucun préfixe
sur liaison publié. Dans de tels cas, un routeur peut envoyer une redirection. La redirection
informe l'expéditeur que la destination est un voisin.
Les publications de routeur et les indicateurs par préfixe permettent aux routeurs d'informer
des hôtes de la méthode qu'ils doivent utiliser pour effectuer une configuration automatique
d'adresse sans état.

6
4. LA NORME IEEE 802.15.4
Le 802.15.4 qui est un protocole de communication défini par l’IEEE propose une couche
physique et une couche liaison de données adaptées aux applications à faible débit dont
l'autonomie énergétique est une contrainte forte. Cette contrainte, omniprésente dans le
domaine des objets connectés, font de la norme IEEE 802.15.4 une brique de base prisée par
de nombreux protocoles de plus haut niveau : ZigBee, 6LoWPAN, ISA100.11a. cette norme
est destiné aux réseaux sans fil de la famille des LR WPAN (Low Rate Wireless Personal
Area Network) du fait de leur faible consommation, de leur faible portée et du faible débit des
dispositifs utilisant ce protocole.

802.15.4 propose comme fonctionnement une topologie en étoile, maillée et en arborescence.


Les dispositifs sont définis au niveau MAC comme :

 des coordinateurs du réseau ;


 des dispositifs FFD (Full Function Device) ;
 des dispositifs RFD (Reduced Function Device)

FIGURE 1 : Topologie correspondant a la norme 802.15.4

a. CARACTERISTIQUES
 3 bandes de fréquences : 868 MHz(Europe), 915 MHz (USA) et 2450 MHz (mondial).
 Débits de 250 kb/s, 100kb/s, 40 kb/s et 20 kb/s.
 Adressage court sur 16 bits ou étendu sur 64 bits (IEEE EUI64).
 Allocation d’intervalles de temps garantie.
 Accès au canal utilisant CSMA-CA.
 Protocole avec acquittement pour les transferts afin d’assurer la fiabilité.
 Basse consommation.
 Indication sur la qualité de la liaison.

7
b. TYPES DE TRAMES
La norme IEEE802.15.4 définit quatre types de trames :
 Une trame beacon utilisée par le coordinateur pour transmettre les beacons ou balises.
 Une trame de données pour tous les transferts de données.
 Une trame d’acquittement pour confirmer la bonne réception d’une trame.
 Une trame de commande MAC pour gérer tous les transferts de contrôle au niveau de
la couche MAC.

5. PROBLEMES SOULEVES
La taille maximale d’une trame contenant d’un paquet IPv6 est de1280 octets. En général, au
sein d’un réseau de capteurs sans fils, la taille maximale des trames qu’il est possible de
transmettre dans ces réseaux est bien inférieure à1280 octets (la norme IEEE802.15.4 définit
une taille maximale de trame de127 octets). La surcharge imposée par les en-têtes multiples
limitera l’espace disponible pour les données applicatives. Par exemple, une trame de données
est composée au minimum des en-têtes MAC, IPv6 et UDP. Ainsi avec la norme IEEE
802.15.4, 25 octets sont utilisés par l’en-tête MAC laissant seulement 102 octets pour les en-
têtes de niveau supérieur et les données applicatives. En ajoutant les 40 octets requis par l’en-
tête IPv6 et les 8 octets de l’entête UDP, la trame résultante ne laisse que54octets pour les
données applicatives. L’IETF propose une solution à ce problème en introduisant les réseaux
sans fils personnels à basse consommation 6LoWPAN

II. LES RESEAUX 6LoWPAN


1. DESCRIPTION DES RESEAUX 6LoWPAN
a. FONCTIONNEMENT
Il s’agit d’un protocole de communication qui permet à l’IPv6 d’interagir avec de nombreux
appareils contenant des capteurs. Cette évolution devrait permettre aux fabricants de créer des
objets connectés interopérables, peu onéreux et dont la consommation d’énergie
reste mesurée. Pour dépasser les 200 milliards d’objets connectés, le passage à l’IPv6 est
obligatoire puisque la version actuelle (IPv4) ne permet pas de gérer plus de 4,3 milliards
d’adresses. Les capteurs connectés utilisant le 6LoWPAN peuvent être de toutes sortes, et
interagissent ; au sein d’un réseau connecté pour acheminer les images d’une caméra vidéo ou
les consignes d’une machine à laver connectée. Si la norme est suffisamment souple, certains
objets connectés peuvent être en mesure de faire plus que simplement envoyer des
informations, tandis que d’autres soient paramétrés pour être en sommeil et ne s’éveillent que
quelques secondes pour transmettre des données.

8
b. ARCHITECTURE

Deux architectures permettant la gestion de réseau 6LoWPAN ont été définies, l'une
opérationnelle et l'autre informationnelle. Elles sont regroupées sous le terme LNMP (de
l'anglais LoWPAN Network Management Protocol, « protocole de gestion des réseaux
LoWPAN »).

L'architecture opérationnelle est définie sur trois niveaux :

End Device
Équipement FFD (de l'anglais Full Function Device, « équipement ayant la totalité des
fonctions ») ou RFD (de l'anglais Reduced Function Device, « équipement ayant des
fonctions réduites »), raccordé en capillaire derrière un coordinateur.
Coordinator
Équipement capable de gérer des fonctions de routage 6LoWPAN.
Gateway
Équipement coordinateur pour le PAN (PAN Coordinator), interface avec l’IPV6. Il
analyse les requêtes SNMP en provenance de l’applicatif NMS (Network
Management System). Il gère l’opportunité, ou non, d’envoyer la requête dans le
LoWPAN. Par exemple, si la valeur demandée dans la requête SNMP est d’une valeur
constante dans le LoWPAN, il renvoie le résultat directement au NMS, sans relayer le
message vers l’équipement cible ; sinon, il transfère la requête vers l’équipement
désigné, en la fragmentant au format 6LoWPAN si nécessaire.

L’architecture informationnelle s’appuie sur la PIB (PAN Information Base) déjà déterminée
pour les niveaux PHY et MAC du 802.15.4, elle s’appuie ensuite sur une proposition IETF de
MIB pour trois domaines (voir Arborescence de la MIB LNMP) :

 Rôle des device : End Device, Coordinator ou Gateway ;


 Organisation et Topologie du LoWPAN : Qui est voisin de qui, y a-t-il des
profondeurs supplémentaires du réseau, etc. ;
 Spécifications des broadcasts dans les attributs de management, gestion de l’envoi, ou
du relayage des messages broadcast envoyés dans le LoWPAN.

9
FIGURE 2 : architecture de 6LoWPAN

2. COUCHE D’ADAPTION DANS 6LoWPAN


La couche d’adaptation de 6LoWPAN est chargée de réduire la taille des en-têtes en utilisant
la compression. Elle propose également des en-têtes supplémentaires lui permettant de
fragmenter un paquetIPv6si ce dernier ne peut pas contenu dans une trame MAC .

a. COMPRESSION DE L’ENTETE IPV6

Un premier mécanisme de compression nommé HC1 a été proposé. Pour réduire la taille de
l’en-tête IPv6, HC1 omet des champs spécifiques de l’en-tête IPv6 car ils sont considérés
comme implicites (par exemple le champ version a toujours pour valeur 6). En rompant la
règle principale du modèle OSI, qui implique que chaque couche doit être indépendante des
autres, HC1 peut réutiliser les informations des autres couches (par exemple la longueur peut
être calculée à partir de l’en-tête MAC). Seul le champ hop limit de l’en-tête IPv6 reste
toujours non compressé. L’encodage HC1 utilise un pseudo en-tête de 2 octets : un octet pour
déterminer le contenu suivant, le champ dispatch, (en-tête IPv6, en-tête de fragmentation,
etc.) et un second octet pour décrire comment chacun des champs de l’en-tête IPv6 est
compressé. La figure 3 présente le format de l’encodage HC 1. Un troisième octet, placé après
le champ d’encodage HC1, contient la valeur non compressée du champ hop limit. Ce
mécanisme de compression est donc capable de réduire l’en-tête IPv6 de 40 octets à 3 octets.

10
FIGURE 3 : Compression d’entête de 6LoWPAN
Le préfixe IPv6 peut être soit le préfixe lien local ( FE80::) ou un préfixe IPv6 global.
L’encodage HC1 peut uniquement compresser des préfixes de type lien local et donc les
communications globales incluront systématiquement le préfixe IPv6 global sur 64 bits pour
les champs source et destination de l’en-tête IPv6. Cette contrainte limite sérieusement
l’utilité de l’encodage HC1, car l’intérêt d’intégrer IPv6 dans les réseaux de capteurs sans fil
est permettre des communications globales à l’échelle d’Internet. En conséquence, l’IETF a
défini un nouveau mécanisme de compression appelé LOWPAN_IPHC.
 Un mécanisme de compression plus efficace
Le mécanisme LOWPAN_IPHC utilise un pseudo en-tête sur 2 octets. Pour gagner de la
place, seulement 3 bits sont utilisés par le champ dispatch. Les 13 bits suivants indiquent
pour chaque champ de l’en-tête IPv6, s’il est supprimé ou inclus tel quel. Même si le concept
est identique à l’encodage HC1, la manière dont sont compressées les données est différente.
La figure 3 présente le nouveau format utilisé. Ce mécanisme permet de compresser le champ
hop limit en limitant les valeurs à 1, 64 et 128. Cela est particulièrement utile pour des
messages de contrôle valide pour un saut. Il distingue également les champs label (FL) et
classe (TC) permettant une compression plus fine . La compression des adresses IPv6 est

11
effectuée en fonction de deux modes : une compression simple ou une compression basée sur
les contextes. La compression simple est similaire à la compression d’adresse définie dans
HC1. La compression basée sur les contextes est définie pour compresser les adresses IPv6
globales. Pour cela, un identifiant de contexte (codé sur4bits) est défini pour chaque préfixe
IPv6 global utilisé dans le réseau 6LoWPAN. Pour les communications globales, le préfixe
IPv6 sur 64 bits est remplacé par l’identifiant de contexte correspondant. Dans une telle
configuration , un octet supplémentaire est placé juste après le pseudo entête
LOWPAN_IPHC. Il contient les identifiants de la source et de la destination. Les 64 derniers
bits de l’adresse IPv6 sont compressés de la même manière qu’avec l’encodage HC 1. Au final,
l’encodage LOWPAN_IPHC réduit au maximum l’en-têteIPv6à2octets avec le mode de
compression simple et à 3 octets avec une compression basée sur les contextes. La figure 4
présente l’encodage LOWPAN_IPHC.

FIGURE 4 : Format de l’encodage LOWPAN_IPHC

b. COMPRESSION D’AUTRES EN ENTETES

La couche d’adaptation proposée par 6LoWPAN propose également de compresser l’en-tête


UDP. Il permet de réduire la taille de cet entête de 8 octets à 2 octets au maximum. Il
supprime obligatoirement le champ longueur et donne la possibilité de supprimer la somme de
contrôle. La figure 5(a) illustre le format d’un entête UDP compressé. Initialement codés sur
2 octets chacun, les ports source et destination sont compressés en réduisant la plage de
valeurs disponibles selon un intervalle prédéfini. Avec une compression maximale, le numéro
du port est codé sur 4 bits autorisant l’utilisation de 16 ports (de 61616 à 61631). Avec une
compression moyenne, le numéro du port est codé 8 bits et il est donc inclus dans une plage
de 256 ports (de 61440 à 61695).
Le protocole IPv6 fait usage d’extensions afin d’étendre ses capacités. Ainsi, un datagramme
UDP ne devient pas forcément un paquet IPv6 contenant un entête IPv6 suivi directement de
l’entête UDP. Pour compresser efficacement un paquet IPv6, la couche d’adaptation spécifie
que tous les entêtes compressés doivent obligatoirement être contigus. Ainsi, pour bénéficier
de la compression de l’entête UDP tout en utilisant des extensions IPv6, un nouvel encodage
LOWPAN_NHC est introduit. L’encodage LOWPAN_NHC est composé du pseudo entête

12
LOW-PAN_NHC suivit directement par l’extension IPv6. Le format de ce pseudo en-tête est
présenté dans la figure 5(b). Il va permettre l’utilisation de ces différentes extensions : saut-à-
saut, routage, fragmentation, destination et mobilité mais également d’utiliser un entête IPv6
non compressé si besoin. Dans tous les cas, le champ longueur est supprimé de l’extension.
De plus, si le bit HC (indiquant la compression du prochain entête) est mis à1, le champ next
header est également supprimé.

FIGURE 5 : Compression d’entête UDP

3. ROUTAGE
Dans 6LoWPAN, deux approches sont utilisées pour regrouper les protocoles de routage,
l’approche MANET et l’approche ROLL.
 L’approche MANET (Mobile Adhoc NETwork) : Le groupe MANET a mise en place
plusieurs protocoles de routage. Basant sur la technique de routage, ils peuvent être
classés en deux catégories (Vecteur à distance, état de lien), basant sur la découverte
de chemin (Proactif et réactif). Les protocoles qui sont actuellement utilisés pour les
MANETs sont le protocole AODV (Adhoc On-demande Distant Vector), DYMO
(Dynamic Manet On-demande) et OLSR (Optimised Link State Routing).
 L’approche ROLL (Routing Over Low power Lossy networks) : Un groupe IETF
chargé de développé des protocoles pour des réseaux à faible énergies (LLN : Low
Lossy Network), ce groupe a standardisé un protocole nommé RPL (Routing Protocol
for Low power and Lossy Network)

a. Routage basé sur l’approche MANET


Pour acheminer les paquets vers leur destination, les réseaux 6LoWPAn utilent un protocole
de routage. À la différence des réseaux traditionnels dans lequel le routage est effectué
uniquement au niveau 3, il peut être effectué deux niveaux différents.

i. Le routage Mesh-Under
Dans un premier temps, un réseau 6LoWPAN peut utiliser un routage de niveau 2.
Directement intégré à la couche d’adaptation de 6LoWPAN, ce routage, nommé Mesh-Under,

13
m’est tous les hôtes à un saut IP du 6LBR même si plusieurs sauts physiques sont nécessaires.
Pour router les paquets sans les décompresser, un en-tête Mesh va être ajouté avant le paquet
IPv6.
Il va contenir l’adresse au niveau 2 du nœud ayant créé le paquet, l’adresse au niveau 2 du
destinataire et une limite de sauts (14 au maximum). Ces adresses de niveau 2 peuvent être
codées sur 64 ou 16 bits. 6LoWPAN ne définit que l’en-tête Mesh. Le calcul des routes ainsi
que leur maintenance sont effectué par d’autres mécanismes. Dans les protocoles Mesh-
Under, tout nœud peut être susceptible de router un paquet.
Ratifier en 2009 par l’IETF, le protocole 802.15.5 est un protocole de routage Mesh-Under
libre. Ce protocole utilise un arbre d’adressage pour router les données sans avoir besoin des
tables de routage. Initialement, la racine dispose d’une série d’adresses. Elle va ensuite
repartir ces adresses de manière contigüe à ses fils en fonction du nombre fils de chacun, et
ainsi de suite. Pour router les paquets, il suffit à un nœud de comparer l’adresse du
destinataire avec les adresses dont il dispose. Si l’adresse n’en fait pas partie, il transfère le
paquet à son père. Dans le cas contraire, il transfère le paquet vers son fils disposant de la
plage d’adresse contenant celle du destinataire. Si le paquet compressé est trop grand pour
être contenu dans une trame, il sera fragmenté en plusieurs morceaux. Cette fragmentation est
effectuée par la couche d’adaptation du nœud créant le paquet IPv6. Dans un routage Mesh-
Under, seul le destinataire du paquet IPv6 (ou le 6LDR) le reconstruit. La perte de l’un des
fragments est l’inconvénient de ce mécanisme car il sera impossible au destinataire de
reconstruire la paquet IPv6.

FIGURE 6 : Le Routage Mesh-Under

ii. Routage Route-Over


Le routage peut être effectué au sein de la couche réseau (niveau 3). Ces protocoles de
routage, de type route-over, génère un nombre de sauts IP équivalent au nombre de
transmissions physiques requises. Contrairement aux protocoles de routage Mesh-Under, seul
les 6LR ou le 6LBR sont autorisés à router des paquets. La présence de 6LR est donc
nécessaire pour étendre la zone couverte par le réseau 6LoWPAN. Comme le routage est
effectué au-dessus de la couche d’adaptation, les paquets fragmentés sont reconstitués à
chaque saut, ce qui rend ces protocoles plus robustes face aux pertes de fragments. Nous
pouvons citer comme exemple le protocole RPL définit par le groupe de travail Routing
Over Low Power and Lossy Networks de l’IETF. Ce protocole de routage utilise des

14
vecteurs de distance pour construire un graphe orienté acyclique et s’en servir pour router les
paquets au sein du réseau.

FIGURE 7: Le Routage Route-Over

iii. Taxonomie des protocoles


Les protocoles de routage dans les 6LoWPAN peuvent être classés selon plusieurs
aspects. Le schéma suivant montre ces classes différentes :

FIGURE 8: Classification des protocoles de routage 6LoWPAN

15
iv. Exigences de routage avec 6LoWPAN
Il existe quatre (04) conditions de base pour le routage dans 6LoWPAN :
- Le nœud doit supporter le mode « sleep » pour l’économie d’énergie.
- La génération des paquets over Head doit être minimisée.
- Messages de contrôle pour le routage doit être minimisé.
- Faible coût de traitement, calcul, et mémoire.
Le schéma suivant montre toutes les conditions qu’il faut vérifier pour mettre en place un
protocole de routage adéquat pour le 6LoWPAN :

4. NEIGHBOR DISCOVERY
Opérant au niveau 3, le protocole Neighbor Discovery fournit plusieurs mécanismes utilisés
par IPv6: l’auto-configuration d’adresses, la découverte de routeurs, la détection de
l’inaccessibilité de voisins et la résolution d’adresses de niveau 3 en adresses de niveau 2.
Cependant, ce protocole est difficilement utilisable sur les réseaux 6LoWPAN.
Si la compression des entêtes est relativement efficace et légère, principalement due au fait
qu'elle soit sans état, il faut aussi adapter les mécanismes de Neighbor Discovery
indispensable à IPv6 pour s'insérer dans un réseau et discuter avec ses voisins.
Malheureusement, Neighbor Discovery a été conçu avec le modèle Ethernet et n'est qu'un
raffinement d'ARP.
Tout d’abord, Neighbor Discovery fait un usage intensif des communications multicast,
comme par exemple lors de la résolution d’adresses. Dans un réseau de capteurs sans fil, les
communications multicast nécessitent que chaque nœud capteur sans fil retransmette le paquet
car il n’y a pas de mécanisme de diffusion global au niveau réseau. Par conséquent, les
communications multicast génèrent potentiellement un grand nombre d’émissions et
impactent sérieusement sur les réserves énergétiques des nœuds. Par ailleurs, Neighbor
Discovery suppose que les nœuds soient accessibles tout le temps. Hors, pour réduire la
consommation énergétique, les nœuds éteignent leur radio et ne peuvent donc pas être atteints
à tout moment. Neighbor Discovery n’est également pas conçu pour des liens sans fil non
bidirectionnels. Finalement, au sein de réseaux 6LoWPAN, il est possible que deux nœuds
puissent communiquer au niveau 2 sans appartenir au même réseau IPv6. En conséquence, le
groupe de travail 6LoWPAN a proposé une adaptation du protocole Neighbor Discovery pour
réseaux 6LoWPAN.

a. Obtention d’un préfixe


La première étape a été de réduire les communications multicast en rendant optionnel l’envoi
périodique des messages router advertisement. De ce fait, un nœud doit nécessairement
envoyer un message router solicitation pour obtenir et actualiser les informations sur les
préfixes IPv6. Lorsqu’un nœud arrive dans le réseau (dû à son démarrage ou à sa mobilité), il
envoie un premier message router solicitation en multicast. Dès que ce dernier dispose de
l’adresse d’un routeur, il enverra les prochains messages router solicitation en unicast. À la

16
réception d’un message router solicitation, un 6LBR ou un 6LR envoie en réponse un
message router advertisement en unicast au nœud effectuant la demande. Les messages router
advertisement contiennent toujours l’option source link layer address (SLLA)(utilisantl’EUI-
64 du nœud) et incluent deux nouvelles options :
- authoritative border router: cette option contient l’adresse IPv6 du 6LBR (pratique
pour un routage de type route-over).
- 6LoWPAN context option: cette option contient l’identifiant de contexte pour un
préfixe spécifique. Après avoir reçu un message router advertisement, le nœud
construit son adresse IPv6 globale à partir de l’un des préfixes inclus dans le message
et de son adresse MAC. L’adresse MAC peut être l’EUI-64 ou l’adresse MAC courte
qui sera transformée.

b. ENREGISTREMENT DE L’ADRESSE IPV6 GLOBALE


L’adaptation du protocole Neighbor Discovery définit un nouveau mécanisme remplacement
du mécanisme de résolution d’adresse qui utilisait un grand nombre de messages envoyés en
multicast. Désormais, les routeurs maintiennent un cache de voisinage contenant toutes les
adresses IPv6 de ses nœuds fils. Pour maintenir ce cache de voisinage, le nœud va
s’enregistrer auprès de son routeur. Pour cela, le nœud envoie un message neighbor
solicitation qui contient l’option SLLA et une nouvelle option nommée address registration.
Lors de la réception, le routeur s’assure que l’adresse IPv6 globale du nœud est unique dans le
réseau en utilisant son cache de voisinage. Si l’adresse est disponible, le routeur enregistre le
couple (adresse MAC, adresse IPv6 globale) dans le cache de voisinage et répond par un
message neighbor advertisement qui contient l’option address registration avec le champ
statut complété. Si l’enregistrement a réussi, le nœud peut commencer à utiliser l’adresse IPv6
globale configurée. Les nœuds envoient périodiquement des messages neighbor solicitation
pour maintenir le routeur informé de leur présence. Ils envoient également des messages
router solicitation périodiques pour mettre à jour les autres informations fournies par le
routeur. La figure 9 illustre la configuration et l’enregistrement d’une adresse IPv6 globale
dans un réseau 6LoWPAN.

17
FIGURE 9 :Échanges du protocole Neighbor Discovery dans le
cadre d’un routage route-over

c. VERIFICATION DE L’UNICITE L’ADRESSE IPV6


GLOBALE
L’EUI-64 est considéré comme unique et donc une adresse IPv6 générée à l’aide de cet
identifiant est également considérée comme unique. Hors, une adresse MAC courte peut ne
pas être unique au sein du réseau, il y a uniquement 216 possibilités. Si le nœud décide
d’utiliser son adresse MAC courte, une étape supplémentaire est requise lors de
l’enregistrement de l’adresse pour vérifier son unicité dans le cadre d’un routage route-over.
Lorsqu’un 6LR réceptionne un message neighbor solicitation utilisant une telle adresse, il va
vérifier l’unicité de cette dernière auprès du 6LBR. Pour cela il va lui envoyer un nouveau
message ICMPv6, nommé duplicate address request. Ce message contient l’EUI-64,
l’adresse IPv6 globale du nœud ainsi que sa durée de vie. À la réception d’un tel message, le
6LBR va vérifier l’unicité de l’adresse en la comparant avec les entrée de la table de
duplication. Cette table fonctionne exactement comme le cache de voisinage mais recense
uniquement les adresses IPv6 basées sur une adresse MAC courte de tout le réseau. Le 6LBR
va ensuite répondre par un message duplicate address confirmation. Ce message est
identique au premier, le 6LBR complète uniquement le champ statut avec la bonne valeur
avant de le retransmettre vers le 6LR. Une fois la réponse obtenue du 6LBR, le 6LR peut
finalement envoyer le message neighbor advertisement au nœud. Dans le cas où
l’enregistrement de l’adresse est refusé, le nœud peut recommencer la procédure en

18
utilisantsonEUI-64pour construire son adresse globale. Cette demande de vérification est
illustrée dans la figure 5.

5. QUELQUES AVANTAGES ET INCONVENIANTS


DE 6LoWPAN
A travers ses développements, le consortium 6LoWPAN a réussi à définir le mécanisme
d’encapsulation et de compression d’en-tête qui permet aux paquets IPv6 d’être transmise par
l’intermédiaire du protocole de communication IEEE 180.15.4. Grâce à cette évolution,
6LoWPAN permet à IPv6 d’intégré de nombreux matériels informatiques ainsi que divers
équipements comme des capteurs dans les réseaux qui les connectent.
- Sécurité : Les nœuds IEEE 802.15.4 peuvent fonctionner en mode sécurisé ou en
mode non-sécurisé. Deux modes de sécurité sont définis dans la spécification afin
d’atteindre différents objectifs de sécurité.
- Fragmentation des paquets : Le protocole 6LoWPAN permet de
fragmenter les paquets si ceux-ci sont trop importants pour la
couche MAC IEEE 802.15.4 mais permet également de les
compresser.
- En-tête des adresses IPv6 : Les adresses IPv6 étant sur 128 bits,
elles tiennent une place importante dans les en-têtes réduisant la
place allouée pour la donnée. 6LoWPAN permet via un en-tête ajouté
de spécifier quels champs peuvent être déduits ou ont été
supprimés et donc de réduire l’impact des en-têtes sur la taille de la
trame.
- Couche d’adaptation pour l’interopérabilité : 6LoWPAN nous
propose un mécanisme d’adaptation pour permettre
l’interopérabilité entre les domaines IPv6 et l’IEEE 802.15.4. Ceci fais
nécessairement intervenir le protocole RFC 4944 (Request For
Comment).

6. QUELQUES DOMAINES D’APPLICATION DE


6LoWPAN
Dans un premier temps, les usages possibles des réseaux 6LoWPAN ont été définis en juin
2007. Les réseaux 6LoWPAN sont prévus pour être déployés dans les domaines suivants:

19
FIGURE 10: Cas d'usage possible de 6LoWPAN

L'industrie (Industrial Monitoring)


On doit pouvoir détection de pièces défectueuses sur une chaîne de travail afin de
prendre les mesures nécessaires (remplacement) ou mesurer l'air ambiant pour la
prévention des risques dans les usines de chimie ou autres.
Les bâtiments, édifices(Structural Monitoring)
On doit pouvoir permettre la gestion "intelligente" des bâtiments pour économiser la
consommation d'énergie, en mesurant la température, vérifier si les lumières sont
allumées dans des bureaux vides et le cas échéant faire des actions : baisse de la
température, extinction de lumière… ou bien surveiller l'état des structures d'édifices
tels que des barrages, des ponts…
la maison (Connected Home)
On pourra permettre de mettre en place des solutions domotiques ou de surveillance
médicale à distance.
la santé (Healthcare)
l’utilisation de 6LoPWAN doit permettre à un médecin de surveiller et suivre l'état de
santé (taux de sucre (diabète), le pouls…) de ses patients directement sur un terminal
(PC, Smartphone…).
les transports (Vehicle Telematics)
On doit pouvoir surveiller la trajectoire d'une voiture sur les routes, et en cas de
détection d'une trajectoire dangereuse, pouvoir remettre la voiture dans le droit
chemin.
L'agriculture (Agricultural Monitoring)
On peut mesurer en temps réel différents paramètres environnementaux dans les
cultures (température, humidité, pression, pH, ...) afin de prendre des décisions telles
que la gestion de l'eau et l'utilisation de pesticides.

Pour chacun de ces usages, des fonctionnalités de base (mobilité, taille du réseau, niveau de
sécurité, etc.) ainsi que des architectures réseau 6LoWPAN sont proposées.

20
Ces utilisations sont "grand public", 6LoWPAN peut aussi être déployé pour des usages
"privés" tels que des usages militaires. L’intégration des 6LoWPAN dans les entreprises
utilisant des systèmes d'information basés sur une architecture orientée service (Service-
Oriented Architectures) est aussi faisable.

III.MOBILITE DANS LES RESEAUX DE


CAPTEURS SANS FIL : 6LoWPAN

Au sein de l’Internet des Objets, le déplacement des nœuds capteurs mobiles ne sera pas
limité à un seul réseau 6LoWPAN. Pour maintenir la connectivité d’un nœud mobile avec ses
correspondants, il est nécessaire d’utiliser un protocole de support de la mobilité. La
simplicité du protocole Mobile IPv6 en fait une solution idéale pour nœuds 6LoWPAN qui
sont fortement contraints. Les différents mécanismes utilisés par Mobile IPv6 s’intègrent
parfaitement dans les réseaux 6LoWPAN. Mobile IPv6 définit deux nouveaux types de
messages (binding update et binding acknowledgment) qui sont contenus dans une
trame802.15.4. Le format de ces messages est présenté dans la figure 11. L’entête de mobilité
de type binding update ou binding acknowledgment a une taille de12octets. De plus, un
message binding update comporte une option de destination qui inclut l’adresse mère du nœud
(sur 20 octets). De manière similaire, un message binding acknowledgement inclut un en-tête
de routage de type 2 ayant une taille de 12 octets. Ces messages de petite taille peuvent donc
être contenus dans une trame 802.15.4 sans devoir être fragmentés. Finalement,
l’encapsulation IPv6 dans IPv6 utilisée pour le tunnel bidirectionnel exploite des fonctions
nativesd’IPv6qui sont toujours disponibles dans la couche d’adaptation de 6LoWPAN. Cette
encapsulation va néanmoins laisser moins de place pour les données à transmettre.

FIGURE 11 : Format des messages de mobilité utilisés par Mobile IPv6

21
1. MECANISME DE COMPRESSION
Afin de réduire l’espace utilisé par les nouveaux messages de Mobile IPv6, un nouveau
mécanisme de compression a été proposé. Basé sur le mécanisme de compression HC 1, ce
mécanisme va réduire la taille de l’entête de mobilité et ses options. Il compresse les champs
en changeant le jeu de valeurs disponibles. Par exemple, le numéro de séquence, défini
initialement sur 16 bits, est réduit à 5 bits. La dernière méthode de compression change l’unité
de certains champs. Par exemple, l’unité de la durée de vie est doublée et définie à 8secondes.
Cette adaptation étant relativement récente, elle ne propose à l’heure actuelle aucune
compression pour les options de mobilité (telle que l’option adresse temporaire alternative)
utilisée par les messages de Mobile IPv6. Le gain de ce mécanisme de compression dépend de
l’entête à compresser. Un message binding update non compressé utilise 32 octets :12 octets
pour l’entête de mobilité et 20 octets pour les options. Le même message binding update
utilise plus que 23 octets une fois compressé :3 octets pour l’entête de mobilité et toujours 20
octets pour les options. Les nouveaux formats de l’entête de mobilité sont illustrés dans la
figure 12. Avec des ajustements mineurs, le mécanisme de compression devrait être
compatible avec l’encodage LOWPAN_IPHC.

FIGURE 12 : Format des messages compressés de Mobile IPv6

2. EVALUATION DU SUPPORT DE LA MOBILITE


DANS LES RESEAUX 6LoWPAN
Les évaluations des protocoles de support de la mobilité se divisent en deux catégories : ceux
qui évaluent leur utilisation au sein des réseaux de capteurs sans fil et ceux proposant des
solutions pour réduire le temps du handover.
Dans [1] , les auteurs ont comparé les performances d’un nœud mobile utilisant Mobile IPv6
avec un nœud mobile utilisant uniquement IPv6. Durant les expérimentations, le nœud mobile
se déplace entre deux réseaux IPv6: le réseau mère et un réseau visité. Un nœud
correspondant, localisé dans un troisième réseau, envoie 100 paquets ICMPv6 vers le nœud
mobile. Au 50ième paquet, le nœud mobile passe du réseau mère au réseau visité. Les différents
points évalués sont le ratio de livraison, le RTT, l’énergie consommée et l’impact de la
fragmentation. Leurs expérimentations ont montré que l’utilisation de Mobile IPv6 triple la
consommation énergétique du nœud mobile. De plus, lorsque la fragmentation de paquets est

22
nécessaire, le taux de perte de paquets atteint 80%. A partir de ces résultats, les auteurs ont
conclu que MobileIPv6 n’est pas une solution utilisable pour de la mobilité de niveau3 dans
les réseaux de capteurs sans fil. Cependant, le manque d’informations à propos de nombreux
paramètres, tels que l’implémentation et le mécanisme de détection de mouvement utilisé,
rend leur expérimentation non reproductible. De plus, cette évaluation n’utilise aucun
mécanisme de compression pourtant existant.
Dans [2], les auteurs proposent également une analyse de Mobile IPv6 dans les réseaux
6LoWPAN. Les auteurs se focalisent sur la surcharge des paquets de données et mettent en
avant la grande taille des messages de signalisation de Mobile IPv6. Ils observent que la taille
des messages binding update et binding acknowledgment sont similaires à la taille des paquets
de données, respectivement 32 et 24 octets. Les auteurs en concluent que Mobile IPv6 n’est
pas une solution viable pour la mobilité de niveau3 dans les réseaux de capteurs sans fil.
Cependant, ces messages sont uniquement transmis lorsque le nœud mobile entre dans un
nouveau réseau IPv6 ou pour mettre à jour les informations d’association. La taille de ces
messages n’a donc aucun un impact significatif sur les performances du nœud mobile. À
partir de ces deux références, la communauté scientifique a conclu que Mobile IPv6 n’est pas
utilisable au sein des réseaux 6LoWPAN. Elle a donc recherché de nouvelles solutions pour
gérer la mobilité au niveau3. Parmi ces propositions, nombreuses sont basées sur Proxy
Mobile IPv6.

IV.SECURITE DANS LES RESEAUX


6LoWPAN
La sécurité sur les 6LoWPAN doit permettre de garantir la confidentialité des données ainsi
que leur intégrité et la disponibilité du réseau. Différentes possibilités d'attaques sur les
réseaux 6LoWPAN ont été mises en évidence, celles-ci sont classifiées en deux catégories :

 Attaques de type externe :

attaque externe passive : exemple, écoute dans l'intention de découvrir des


informations sensibles. (problème confidentialité)
attaque externe active : exemple, faire un déni de service en effectuant un brouillage
du signal radio afin de paralyser le réseau (problème disponibilité)

 Attaques de type interne :

exemple : infiltration dans un LoWPAN pour collecter ou diffuser des informations à


des fins malveillantes (problèmes d'intégrité, confidentialité et disponibilité)

23
FIGURE 13 :Résumé de la sécurité sur 6LoWPAN

Afin de sécuriser au maximum les communications sur les 6LoWPAN, la sécurité doit être
implémentée sur différentes couches de la pile protocolaire.

 Sur la couche MAC : l'algorithme AES doit être utilisé pour sécuriser la couche
liaison.
 Sur la couche réseau :

l'utilisation d'IPsec est possible mais le chiffrement consomme beaucoup de


ressources et la méthode d'échange des clés IKEv2 (RFC 5996) n'est pas utilisable.
Une gestion de clé de chiffrement utilisant le minimum de charge utile ainsi qu'une
limitation des messages échangés entre les nœuds est un pré-requis.
Une extension du protocole SEND (RFC 3971) (SEcure Neighbor Discovery
protocol, « protocole sécurisé de découverte des voisins ») permettant de sécuriser le
mécanisme de découverte des voisins a été mise en place pour les réseaux 6LoWPAN,
appelé LSEND (Lightweight Secure Neighbor Discovery Protocol, « SEND allégé »).

 Sur la couche application : par exemple une solution est de mettre en place la
sécurisation via SSL.

Diverses propositions ont été faites pour optimiser la sécurité des 6LoWPAN, comme :

 l'utilisation des options "Timestamp" et "Nonce" de l'entête IPv6 pour protéger les
réseaux 6LoWPAN des IP fragmentation attacks (en français : « attaques par
fragmentation de paquets IP »)
 la compression de l'entête IPsec pour optimiser la charge utile.
 la mise en place d'un intergiciel permettant l'analyse de risque de sécurité dans les
6LoWPAN.
 l'optimisation du cryptage

24
V. CAS PRATIQUE AVEC LE SIMULATEUR
6TiSCH

1. POURQUOI DEVONS-NOUS SIMULER?


Nous devons savoir qu’avant qu’une entreprise adopte et investisse dans 6TSCH, elle doit
savoir si la technologie fonctionne pour ses applications. Cela signifie que ce standard doit
répondre à des questions les plus simples en ce qui concerne les performances du réseau. On
peut citer:
- Quelle est la distribution de latence 6TiSCH offrirait dans ce déploiement industriel
particulier?
- Si j'utilise 6TiSCH dans mon application d'agriculture intelligente, à quelle fréquence
devrai-je remplacer les piles? 6TiSCH offrirait-il plus de 99,999% de fiabilité de bout en bout
dans ce déploiement de stationnement intelligent particulier?
Ce qui est nécessaire pour répondre à ces questions, c'est un moyen de comparer la solution
standardisée aujourd'hui. Autrement dit, nous avons besoin d'un outil qui peut transformer un
déploiement et un modèle de trafic particuliers en indicateurs de performances de mise en
réseau clés tels que la batterie par nœud, durée de vie, fiabilité de bout en bout et distribution
de latence.

2. PROCEDURE D’INSTALLATION DU SIMULATEUR


1. Télécharger le code du simulateur en utilisant git:
$ git clone https://bitbucket.org/6tisch/simulator.git
2. Installer les dépendences de Python nécessaires à l’exécution:
- Se deplacer dans le repertoire simulator
cd simulator
- Exécuter la commande suivante :
pip install -r requirements.txt
(Le fichier requirements contient les librairies suivantes:
pytest, matplotlib,scipy, numy, k7, netaddr, eel>=0.9.11, watchdog, gitpython, psutil,
future)
3. Exécuter le fichier runSim.py:
$ cd bin
$ python runSim.py

N.B: * Un nouveau repertoire ayant une valeur temporelle comme nom sera créé sous
l’arborescence bin/simData/ ( e.g., `bin/simData/20181203-161254-775`). Les données
résultats et les données de graphes sont stockées dans le nouveau repertoire créé.

25
4. Démarrer l’interface graphique (GUI)
$ gui/backend/start
Starting the backend server on 127.0.0.1:8080

5. Ouvrir le navigateur http://127.0.0.1:8080 ou http://localhost:8080

3. DESCRIPTION DU SIMULATEUR 6TSCH

26
0 : représente d’une part l’icone connected qui dit on est connecté au serveur ou pas et
d’autre part le bouton du menu du simulateur. Si on clique dessus, on obtient différents
options du simulateur tels que:
- Dasboard: Tableau de bord,
- Settings: permettant d’accéder facilement aux paramètres du simulateur et les modifier
suivant le test que vous voulez effectuer,
- Results : permettants de consulter(télécharger) ou supprimer l’historiques des différents
résultats de la simulation.
- Trace Files :
- Reload : pour redémarrer le serveur,
- Shutdown : pour arrêter le serveur.

Cap00: Menu du simulateur

1
: fait un recapitulatif de du graphique en 5 . Il met en exergue le rapport global de bout
en bout du protocole de données ( Overall E2E[End to End] PDR) en pourcentage %, le
nombre de paquets transmis Tx, le nombre de paquets reçus Rx et le nombre de paquets
perdus Drop.

2 : fait un recapitulatif de du graphique en 6 qui est lui même lié au graphique 5 . Il met
en exergue le rapport global de bout en bout du temps de latence du protocole de
données ( Overall E2E[End to End] latency) en Seconde(s). Ces données sont la
moyenne(Avg), le maximum(Max), le minimum (Min) du temps de latence durant la
transmission des paquets de données depuis le depuis de la simulation.

3 : met en évidence le Slotframe Occupancy, c’est à dire les nombres maximal et minimal
de cellules qu’un capteur(ou noeud) planifie dans une Slotframe.

27
En mode TSCH, les noeuds se synchronisent sur une trame périodique (appelé slotframe)
composée d’un certain nombre d’intervalles de temps (appelées timeslots). Une slotframe est
un enchaînement d’un ensemble de timeslots. Les communications dans chaque timeslot
peuvent être basées sur la contention (c’est-à-dire en utilisant CSMA-CA) ou la non-
contention. La durée de chaque timeslot permet de transmettre un paquet et de recevoir un
accusé de réception. La taille d’une slotframe est définie par le nombre de timeslots dans la
slotframe. Chaque slotframe se répète de façon cyclique, formant ainsi un ordonnancement de
communication.
4 : met en évidence le Mote Stats (statistics), c’est à dire le nombre de noeuds de capteurs
(Total), le nombre de noeuds synchronisés(Synced) et le nombre de noeuds connectés de
manière sécurisée(SecJoined).
7 : ce graphique met en évidence le nombre de paquets perdus avec les diférentes raisons.
8 : permet de visualiser en direct la mise en place de topologie RPL au fur et à mesure que
les différents noeuds se synchronisent (Live View of The RPL Topology).
(RPL : Routing Protocol for Low-Power and Lossy Networks).

9 : Vue en direct et globale du planing (ou ordonnancement) TSCH.


Elle renseigne sur la taille de la fenêtre(ici 101), le nombre de cellules de transmission (Tx),
le nombre de cellules réceptrice ou de réception (Rx), le nombre de cellules ayant la nature
transmission/réception (Tx/Rx), le nombre de cellules ayant la nature transmission/part-
age(Tx/Shared), le nombre de cellules de nature transmission/réception/partagée
(Tx/Rx/Shared)
Le mode TSCH est principalement conçu pour ordonnancer la communication de données aux
nœuds du réseau ainsi que leurs liens respectifs. La communication entre les noeuds se
déroule en suivant un ordonnancement (schedule), ainsi les noeuds voisins, dont les
transmissions peuvent s’interférer, ne seront pas planifiés à transmettre sur le même slot de
temps (Slot Offset) et décalage de canal (Channel Offset).
L’ordonnancement est projeté sous forme de matrice composée du slot offset et du channel
offset, où chaque cellule représente un lien spécifique et peut être réservée pour un seul lien
ou être partagée entre de multiples liens. En cas de collision de ces dernières, un système
appelé backoff est défini par le protocole MAC IEEE 802.15.4e dans le but de résoudre ce
conflit. De plus, pour les slots partagés, l’algorithme CSMA/CA slotté est utilisé par les
noeuds du PAN-TSCH (Accettura et al. (2012), IEEE802.15.4e (2012)). Le standard IEEE
802.15.4e à mode TSCH décrit seulement le mode d’exécution de la couche MAC, mais ne
spécifie pas la façon de maintenir, construire et mettre à jour l’ordonnancement ni de
s’adapter aux containtes de trafic du réseau.
10 : button play(démarrer la simulation), le bouton Pause(pour mettre une pause) et le
temps d’exécution.

28
11 : présente la fonction d’ordonnancement choisi(au démarrage a la valeur UNKNOWN),
la classe de connectivité(au démarrage a la valeur UNKNOWN) et l’icone permettent
d’accéder directement aux paramètres du simulateur et de le modifier.

5. EXEMPLE DE SIMULATION
Paramètres de la Machine: Processeur AMD Dual-core A9-942e, cpu MHz: 2695.065 , cpu
cores : 2 .
Paramètres de la simulation de base:
- Le test se fera seulement en utilisant qu’un seul cpu.
- Nombre de noeuds (ou motes) : 48
- Slotframe:
* nombre de channel offset(ou canal Physique) : 15 ( de 0 à 15)
* nombre de timeSlots: 101 (de 0 à 100)
- Fonction d’ordonnancement(Scheduling Function) : MSF(Minimal Scheduling Function)
- Classe de Connectivité (Connectivity Class): FullyMeshed
- Temps de Simulation (Simulation Time) : 16 min
- Time slot duration : 10ms.

Resultat de la simulation :

29
30
6. QUELQUES METRIQUES PERMETTANT D’EVALUER
LES PERFORMANCES DE LA COUCHE RESEAU 6LoW-
PAN
Comme métriques choisies pour évaluer la performance de la couche 6LoW-PAN, nous
pouvons citer :
- Average Latency : Le temps de latence moyen d’arrivée des paquets de données à la
racine(en ASN[Absolute Slot Number], Numéro de Slot Absolu).
- Number of used cells : nombre de cellules utilisées, cellules ayant même temps les natures
transmettrice, réceptrice et partagéé(TX/RX/SHARED)
- Number of drops : les pertes de données dans le réseau sont classifiées par cause : NoRoute,
QueueFull, MaxRetries, etc . . .

Maintenant, réalisaons plusieurs simulations avec différents nombres de nœuds (4, 8, 16, 20,
30, 48, 60, 100, 200, 500, 1000) et voyons la stabilité et la robustesse du simulateur 6TSCH
avec les mêmes conditions précédentes à l’exception du nombre de nœuds que nous
modifierons.
Récapitulons le résultat dans un tableau.

Number_ Number_ Number_


Avg_ Max Max_ SecJo Number_p Number_pack
Nombre Pourc Min_ Min_slot Total_ Synced packet_d packet_ packet_dr
TX_ RX_ Drop_ lat(e _lat( slot_O ined_ acket_dro et_drops_total
de entag lat(e _Occ(en Mot_st _Mot_ rops_tota drops_to ops_total
PDR PDR PDR n en cc(en Mot_s ps_No_R _Time_Excee
noeuds e(%) n s) cells) at stat l_Full_Q tal_No_ _Max_Re
ms) ms) cells) tat oute d
ueue Cell tries
2 13 13 0 100 510 0.89 0.06 3 3 2 2 2 0 0 0 0 0
4 36 36 0 100 570 1.15 0.04 5 3 4 4 4 0 0 0 0 0
8 85 85 0 100 550 1.85 0.02 9 3 8 8 8 0 0 0 0 0
16 164 164 0 100 690 2 0.02 17 3 16 16 16 1 0 0 1 0
30 241 241 0 100 870 2.93 0.01 15 2 30 14 14 6 0 0 7 0
48 386 385 1 99.74 1130 6.37 0.05 14 3 48 47 47 10 0 1 13 0
60 389 389 0 100 1020 3.51 0.02 18 2 60 17 17 29 0 0 155 0
100 9 9 0 100 550 0.96 0.21 11 1 100 21 13 0 0 0 581 0
200 909 895 14 98.46 1600 7.81 0.01 23 2 200 173 173 73 12 0 485 0

31
Voici les courbes que l’on peut en déduire :

- Métrique Temps Moyen de Latente (Average Latency)

Temps moyen de Latence suivant le nombre de noeuds


1800
Nombre de noeuds Avg_lat(en ms)
2 510 1600

4 570 1400

8 550 1200
16 690 1000
Nombre de noeuds
Avg_lat(en ms)
30 870 800
48 1130
600
60 1020
400
100 550
200 1600 200

500 960 0
1 2 3 4 5 6 7 8 9 10

- Métrique Nombre de cellules utilisées (Number of used cells)

Number_TX/ Nombre de cellues utilisées


Nombre de
RX/ 600
noeuds
SHARED_cell
2 2 500
4 4
8 8 400
16 16 Nombre de noeuds
30 14 300 Number_TX/RX/SHARED_cell
48 47
60 21 200
100 9
200 173 100
500 83
0
1 2 3 4 5 6 7 8 9 10

32
- Number of drops : les pertes de données dans le réseau sont classifiées par cause :
NoRoute, QueueFull, MaxRetries, etc . . .

Number_pac Number_pac Number_pac Number_pac Number_pac Number_pac


Number_pack Number_packe
Nombre de ket_drops_to ket_drops_to ket_drops_to ket_drops_to ket_drops_to ket_drops_to
et_drops_No_ t_drops_total_
noeuds tal_Full_Que tal_Max_Retr tal_Time_Ex tal_Rand_Err tal_Full_Rea tal_Full_VRB
Route No_Cell
ue ies ceed or ssB Tbl
2 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0
16 1 0 0 1 0 0 0 0
30 6 0 0 7 0 0 0 0
48 10 0 1 13 0 0 0 0
60 29 0 0 155 0 0 0 0
100 0 0 0 581 0 0 0 0
200 73 12 0 485 0 0 0 0
500 0 0 0 3612 0 0 0 0

Nombre de paquets perdus avec les raisons dans le réseau suivant le nombre de nombre
4000

3500
Nombre de noeuds
3000
Number_packet_drops_No_Route
2500 Number_packet_drops_total_Full_Queue
Number_packet_drops_total_No_Cell
2000
Number_packet_drops_total_Max_Retries
1500 Number_packet_drops_total_Time_Exceed

1000 Number_packet_drops_total_Rand_Error
Number_packet_drops_total_Full_ReassB
500
Number_packet_drops_total_Full_VRBTbl
0
1 2 3 4 5 6 7 8 9 10

Ces différents résultats montrent l’efficacité et la qulité de performance de la couche réseau


6LoW-PAN. Mais l’on constate que lorsque le nombre de nœuds augmentent, le nombre de
perte de paquets de données routées dans le réseau augmente.

33
CONCLUSION

Au terme de ce qui précède , il était question pour nous d’étudier la couche réseau 6LoWPAN
dans tous ses aspects. Nous avons présenté le protocole IPv6 qui est utilisé pour
interconnecter les équipements à Internet. IPv6 définit de nouveaux mécanismes pour
permettre aux différents équipements de configurer automatiquement leur adresse sans utiliser
de services d’adressage. L’utilisation d’IPv6 au sein des réseaux de capteurs va permettre aux
nœuds d’avoir une connectivité de niveau3 et leur permettre ainsi de communiquer hors du
réseau dans lequel ils se trouvent. Cependant, l’intégration d’IPv6 pose principalement deux
problèmes : le protocole Neighbor Discovery utilise de nombreux messages envoyés en
multicast gourmands en énergie et le cumul des différents en-têtes va réduire drastiquement
l’espace disponible dans la trame pour les données applicatives. Pour résoudre ces problèmes,
les réseaux 6LoWPAN ont été standardisés par l’IETF. Ces réseaux intègrent une couche
d’adaptation d’IPv6 et utilisent une version modifiée du protocole Neighbor Discovery utilisé
lors de l’auto-configuration sans état de l’adresse IPv6.
L’intégration d’IPv6 est un sérieux avantage pour les nœuds capteurs qui peuvent désormais
transmettre leurs données vers leurs correspondants distants via Internet sans nécessiter de
protocole de traduction au niveau du 6LBR. Cependant, lors de leur déplacements, un nœud
mobile va obtenir des adresses IPv6 globales qui pourront être différentes en fonction du
réseau 6LoWPAN traversé. Sans support de la mobilité au niveau3, un correspondant
réinitialisera sa session avec le nœud mobile si le paquet a une adresse source différente de
celle attendue. Dans le prochain chapitre, nous nous intéresserons aux protocoles supportant
la mobilité au niveau3 et à leur utilisation dans les réseaux de capteurs sans fil.
Nous avons aussi constaté qu’afin de maintenir ses communications lorsqu’il se déplace, un
nœud mobile doit utiliser un protocole de support de la mobilité. Dans le cas contraire, tout
paquet émis vers l’ancienne adresse du nœud mobile sera perdu car elle est devenue obsolète.
De plus, lorsque le nœud mobile souhaitera utiliser sa nouvelle adresse, ses correspondants
réinitialiseront leur session car ils penseront que le paquet provient d’un autre nœud.

34
REFERENCES

BIBLIOGRAPHIE
Geoff Mulligan, « The 6LoWPAN architecture », Proceedings of the 4th workshop on
Embedded networked sensors, 2007, p. 78-82
IEEE Standard for Information technology-- Local and metropolitan area networks--
Specific requirements-- : Part 15.4: Wireless Medium Access Control (MAC) and
Physical Layer (PHY) Specifications for Low Rate Wireless Personal Area Networks
(WPANs), IEEE Std 802.15.4-2006 (Revision of IEEE Std 802.15.4-2003), 7
septembre 2006, 320 p

35
Houda Labiod, Hossam Afifi et Costantino Santis, Wi-Fi, Bluetooth, Zigbee and
WiMax, Dordrecht, Springer Netherlands, 2003, 11e éd.
Zach Shelby et Carsten Bormann, 6LoWPAN: The Wireless Embedded Internet,
Chichester, John Wiley & Sons, 2009
[1] T. Camilo, P. Pinto, A. Rodrigues, J. S. Silva, and F. Boa-vida, “Mobility
management in IP-based Wireless SensorNetworks,” inProceedings of the
International Symposiumon a World of Wireless, Mobile and Multimedia Networks,
Juin2008.
[2] A. Jara, R. Silva, J. Silva, M. Zamora, and A. Skarmeta,“Mobile IPv6over
Wireless Sensor Networks (6LoW-PAN) : Issues and Feasibility,” inProceedings of
the7th Eu-ropean Conference on Wireless Sensor Networks (EWSN’10),Février2010.

WEBOGRAPHIE
https://fr.wikipedia.org/wiki/6LoWPAN
https://fr.wikipedia.org/wiki/6LoWPAN#Les_Solutions_6LoWPAN
https://fr.wikipedia.org/wiki/IPv6
http://abcdrfc.free.fr/rfc-vf/pdf/rfc3513.pdf
https://au.int/sites/default/files/documents/31363-doc-session_1-1-introduction-to-
ipv4-and-ipv6-_fr.pdf
https://www.techniques-ingenieur.fr/base-documentaire/technologies-de-l-
information-th9/internet-des-objets-42612210/6lowpan-te8002/neighbor-discovery-
te8002niv10004.html
https://tel.archives-ouvertes.fr/tel-00793315/document

36

Vous aimerez peut-être aussi