Vous êtes sur la page 1sur 12

MASTER 1 INFORMATIQUE UDS – RESEAUX ET SERVICES DISTRIBUES

2019-2020

RSD 428 : RAPPORT SYNTHETIQUE SUR LA COUCHE


6TOP DU PROTOCOLE 6TISCH

MEMBRES DU GROUPE :
➢ TONLE NOUMBO FRANCK BRUNO - CM-UDS-16SCI2468
➢ KUAJO DARLIN - CM-UDS-19SCI0673
➢ NANKENG MELI BAUDOUIN - CM-UDS-16SCI0708
➢ ARSENE AUDREY PENDA NGOG - CM-UDS-15SCI0976

Examinateur : DR Elie FUTE TAGNE


TABLE DES MATIERES
RSD 428 : RAPPORT SYNTHETIQUE SUR LA COUCHE 6TOP DU PROTOCOLE 6TiSCH .............................. 1
INTRODUCTION ....................................................................................................................................... 3
1. Presentation du 6TiSCH ................................................................................................................... 4
1.1 Le protocole IPv6 ..................................................................................................................... 4
1.2 La norme IEEE 802.15.4 Time-Slotted Channel Hopping(TSCH) .............................................. 4
1.3 LE PROTOCOLE RPL .................................................................................................................. 5
1.4 L'architecture de la couche MAC de 6TiSCH ........................................................................... 5
2. Presentation de 6TiSCH Operation Sublayer(6top) Protocol(6P).................................................... 6
2.1. Présentation du contexte ........................................................................................................ 6
2.2 Les transactions 6P .................................................................................................................. 7
3. Les fonctions d'ordonnancement (SF) ............................................................................................. 8
3.1 Présentation ............................................................................................................................ 8
3.2 La fonction d'ordonnancement minimale ............................................................................... 8
3.3 Adaptation au trafic................................................................................................................. 8
3.4 Gestion de la collision.............................................................................................................. 9
4. Le simulateur 6TiSCH ET LA COUCHE 6TOP ..................................................................................... 9
4.1 Présentateur du simulateur .................................................................................................... 9
4.2 Présentation des métriques pour la couche 6top ................................................................. 10
CONCLUSION ......................................................................................................................................... 12

2
INTRODUCTION

De nos jours, les progrès technologiques permettent d’envisager la connexion des objets du
quotidien à l’Internet. L’omniprésence programmée de ces objets implique la fabrication d’objets bon
marché (peu d’autonomie énergétique, peu de mémoire de stockage et peu de puissance de calcul).
L’ensemble connecté de ces objets est appelé réseau LLN (Low power and Lossy Network), et appart.
Dans le cas d'espèce, ils peuvent être déployés dans la lutte contre La pandémie du COVID 19 en
permettant notamment de prévenir les utilisateurs lors d'un éventuel contact avec des personnes
soupçonnées d’être contamines. L'on se doute bien que pour faire, la collecte de données effectuée
par ces objets, ainsi que la communication entre ces derniers doit être fluide, rapide et surtout
sécurisée. Et c'est là qu'intervient le protocole 6TiSCH qui standardise la communication au sein d’un
réseau LLN en combinant la norme IEEE 802.15.4 Time-Slotted Channel Hopping (TSCH) et l'adressage
IPv6. Dans ce rapport, notre étude sera portée sur la couche 6Top de ce protocole. Pour une meilleure
compréhension de ce sujet, nous présenterons tout d’abord le protocole 6TiSCH. Un point d’honneur
sera ensuite mis sur la présentation de la couche 6Top qui est la tache nous incombe principalement.
Par la suite une présentation des fonctions d’ordonnancement de cette couche sera de mise et l’on
conclura par la présentation du simulateur 6TiSCH et des métriques fournies par celui-ci lors d’un
changement au niveau de la couche 6Top.

3
1. PRÉSENTATION DU 6TISCH

Le protocole 6TiSCH comme dit plus haut repose entièrement sur la combinaison de l'IPv6 et de
la norme IEEE 802.15.4 TSCH.

1.1 LE PROTOCOLE IPV6

L’IPv6 (Internet Protocol version 6) étant le protocole dans lequel une adresse IP repose sur
128 bits et permet donc à 2^128 soit à 340 282 366 920 938 463 463 374 607 431 768 211 456
d'appareils de se connecter, il parait assez évident que n'importe quel protocole souhaitant
standardiser la communication dans l'IoT devrait se baser sur celui-ci. Notons également que IPv6
dispose de mécanismes d'attribution automatique des adresses et facilite la renumérotation.

1.2 LA NORME IEEE 802.15.4 TIME-SLOTTED CHANNEL HOPPING(TSCH)

La norme IEEE 802.15.4 quant à elle standardise les opérations à effectuer au sein d'un LR-WPAN
(Low-Rate Wireless Personal Area Networks) et donc d'un LLN dans notre cas. Plus précisément elle
spécifie le comportement que doivent adopter la couche physique et la sous couche MAC au sein de
la communication.
Dans le cas du 6TiSCH, c'est beaucoup plus le mode TSCH qui attire notre attention car il est au
cœur de presque toutes les normes sans fils de faible puissance de l'IoT. Le TSCH est une méthode
d'accès au canal qui combine le TDMA (Time-Division Multiple Access) et le FDMA (Frequence Division
Multiple Access) pour assurer un bon accès au canal tout en économisant de l’énergie. Sa particularité
vient du fait que tout au long de la communication, chaque nœud connait à l'avance quand il doit
allumer ou éteindre la radio, ce qui constitue un avantage énorme dans notre souci d'économie
d’énergie. Dans le TSCH, le TDMA divise le temps en slot, tandis que le FDMA divise le temps en
channel. On obtient une matrice M*N(horloge) ou M est le nombre de "channel disponible" et N le
nombre de slots.

Figure 1 Horloge TSCH d'un nœud

4
L'horloge définit si un nœud transmet, reçoit ou dort pendant une transmission. C'est le 6TiSCH qui
s'occupe de la conception de l'horloge.

1.3 LE PROTOCOLE RPL

Une autre pièce clé du 6TiSCH est le routage. Celui-ci doit être le plus efficient et ergonomiste
possible. De l'acronyme Routing Protocol for Low Power and Losy Network, il s'agit d'un standard de
routage pour les réseaux dont les nœuds sont de type LLN.
Le routage se définissant comme un mécanisme pour l'acheminement des paquets d'un
émetteur vers un ou plusieurs destinataires, à travers des routeurs et des protocoles de routage. Le
RPL se base sur un algorithme a vecteur de distance. Les protocoles de routage à vecteur de distance
créent des tables de routage ou aucun nœud n'a une vision globale du réseau, la diffusion se faisant
de proche en proche. Le RPL s'appuie sur le DODAG (Destination Oriented Directed Acyclic Graph) qui
est un graphe orientée acyclique a une seule racine.
Comme message émis lors du routage, on a le DIO qui est envoyé par la racine vers ses voisins
de façon périodique. On a également le DAO qui est envoyé par les capteurs à la racine pour répondre
au DIO.
Le RPL optimise le multipoint-to-point (tous les nœuds ont accès à la racine) et le point-to-
multipoint (la racine peut atteindre toutes les cellules). Le multipoint-to-point est assure par la
construction du DODAG. Pour assurer le point-to-multipoint, chaque nœud sélectionne un parent
préféré à partir du DIO. Ensuite chaque nœud enverra son DAO à la racine qui sera capable de
construire des routes et les ajouter à chaque paquet transmis au nœud pour qu'il puisse l'atteindre.

1.4 L'ARCHITECTURE DE LA COUCHE MAC DE 6TISCH

L'architecture de la couche MAC de 6TiSCH se résume dans la figure suivante :

Figure 2 Architecture de la couche MAC de 6TiSCH

5
Les composants MAC bas sont formés par un module IEEE 802.15.4e qui est chargé d'exécuter la
machine d'état qui guide les activités effectuées dans une tranche de temps, et le composant IEEE
802.15.4 est utilisé pour gérer les en-têtes et découpler les activités de la tranche de temps de l'analyse
des en-têtes. Au niveau de la couche MAC supérieure, le composant 6top est chargé de la gestion de
l'horaire, de la table de voisinage, des files d'attente et des fonctions de surveillance de la couche MAC.

2. PRESENTATION DE 6TISCH OPERATION SUBLAYER(6TOP)


PROTOCOL(6P)

Le (6TiSCH) Operation Sublayer (6top) Protocol (6P) permet la planification distribuée dans les
réseaux 6TiSCH. Il permet aux nœuds voisins d'ajouter/supprimer des cellules TSCH les unes aux autres
(Il dynamise les cellules). Le 6P fait partie de la sous-couche d'opération 6TiSCH (6top), la couche juste
au-dessus de la couche MAC IEEE Std 802.15.4 TSCH. La couche 6top est composé d'une ou plusieurs
fonctions de planification (SF pour Scheduling Function) et du protocole 6top défini par la suite. Une
SF 6top décide quand ajouter/supprimer des cellules, et il déclenche les transactions 6P. Il peut donc
se définir tout simplement comme un algorithme par lequel un nœud décide qu'il a besoin
d’ajouter/supprimer des cellules. Il devient tout de suite évident que le 6P repose grandement sur les
SF.

2.1. PRÉSENTATION DU CONTEXTE

Considérons le cas canonique où le nœud "A" émet des requêtes 6P au nœud "B". Nous
utilisons cet exemple tout au long de cette partie : le nœud A représenté toujours le nœud qui émet
une requête 6P, et le nœud B représente le nœud qui reçoit cette requête.

(R)
/\
/ \
(B)-----(C)
| |
| |
(A) (D)

Nous considérons que le nœud A surveille les cellules de communication qu'il a dans son
programme vers le nœud B :

✓ Si le nœud A détermine que le nombre de trames de la couche liaison qu'il envoie au nœud B
par unité de temps dépasse la capacité offerte par les cellules TSCH qu'il a programmées au
nœud B, il déclenche une transaction 6P avec le nœud B pour ajouter une ou plusieurs cellules
à la programmation TSCH des deux nœuds.

✓ Si le trafic est inférieur à la capacité offerte par les cellules TSCH qu'il a programmées au nœud
B, le nœud A déclenche une transaction 6P avec le nœud B pour supprimer une ou plusieurs
cellules dans le programme TSCH des deux nœuds.

6
✓ Le nœud A PEUT également surveiller les statistiques afin de déterminer si des collisions se
produisent sur une cellule particulière vers le nœud B. Si cette fonction est activée, le nœud A
communique avec le nœud B pour "déplacer" cette cellule particulière vers un emplacement
différent [slotOffset, channelOffset] dans le planning TSCH.

Il en résulte une gestion distribuée des horaires dans un réseau 6TiSCH.


La SF définit quand ajouter/supprimer une cellule à/sur un voisin. Différentes applications
nécessitent différents SF. Un nœud peut mettre en œuvre plusieurs SF et les exécuter en même temps.
Au moins une SF doit être en cours d'exécution. Le champ SFID contenu dans tous les messages 6P
permet à un nœud d'invoquer la SF approprié sur la base d'une transaction par 6P.
Notons également que chaque cellule de l'horloge est "hard" ou "soft".

✓ Une cellule "hard" peut être lue, ajouté, supprimée ou mise à jour par le 6top.
✓ Une cellule "soft" ne peut être que lue par le 6top.

A partir de cette spécification, l'on comprend que toutes les cellules utilisées par le 6top sont des
cellules "hard". Les cellules "soft" peuvent être utilisées lorsque l'on crée une horloge par nous-même.

La cellule minimale est une cellule "hard" utilise pour la réception et l'émission par tous les nœuds
du réseau. Elle transporte les infos de routage et les EBs (Enhanced Beacon, trame contenant diverses
informations telles que le numéro du timeslot d'une cellule et autres) sont émis pour étendre le réseau.

2.2 LES TRANSACTIONS 6P

Nous appelons "transaction 6P" une négociation complète entre deux nœuds voisins. Une
transaction 6P particulière est exécutée entre deux nœuds à la suite d'une action déclenchée par un
SF. Pour qu'une transaction 6P réussisse, les deux nœuds doivent utiliser la même SF pour traiter la
transaction en question. Une transaction 6P démarre lorsqu'un nœud souhaite
ajouter/supprimer/relocaliser une ou plusieurs cellules avec un de ses voisins. Une transaction 6P se
termine lorsque la ou les cellules ont été ajoutées/supprimées/relocalisées dans le calendrier des deux
nœuds ou la transaction 6P a échoué. Les messages 6P échangés entre les nœuds A et B au cours d'une
transaction 6P doivent être échangés sur des cellules unicastes non partagées (cellules "dédiées")
entre les nœuds A et B. Si aucune cellule dédiée n'est prévue entre les nœuds A et B, des cellules
partagées peuvent être utilisées. Il est important de maintenir la cohérence entre les horloges des
deux nœuds voisins. Une perte de cohérence peut entraîner une perte de connectivité. Un exemple
est lorsque le nœud A a une cellule d'émission vers le nœud B mais que le nœud B n'a pas la cellule de
réception correspondante. Pour vérifier la cohérence, les nœuds voisins conservent un numéro de
séquence (SeqNum). Les nœuds voisins échangent le SeqNum dans le cadre de chaque transaction 6P
afin de détecter une éventuelle incohérence.
Dans une transaction 6P en 2 étapes, A sélectionne une liste de cellules candidates et l'envoie
à B. Puis B sélectionne N cellules dans la liste et la communique à A en lui envoyant une réponse.
Lorsque B reçoit un accusé de réception de sa transmission à A, il sait que A a reçu la réponse et ajoute
les cellules sélectionnées dans son planning. Dans une transaction en 3 étapes, c'est B qui fournit une
liste de cellules candidates et A qui sélectionne les cellules exactes à utiliser. Outre l'ajout et la
suppression, 6P permet également de déplacer les cellules existantes à une autre position dans la
matrice de planification.

7
3. LES FONCTIONS D'ORDONNANCEMENT (SF)

3.1 PRÉSENTATION

L'algorithme par lequel un nœud décide qu'il a besoin d’ajouter/supprimer des cellules est
appelée une fonction d’ordonnancement (SF). La SF permet la nature déterministe de 6TiSCH : elle
décide quand ajouter/supprimer des cellules et à quel voisin, combien de cellules ajouter/supprimer
et quelles cellules exactes utiliser. Cela permet l'optimisation de différents critères, tels que la latence
ou la consommation d'énergie. Il y a de nombreuses propositions de SF dans 6TiSCH. Le SF est identifié
de façon unique par son champ SFID. Celui-ci va de 0 à 255. Nous présenterons le MSF (The Minimal
Scheduling Function) dans les lignes qui suivront.

3.2 LA FONCTION D'ORDONNANCEMENT MINIMALE

L'ordonnancement minimale surveille l'utilisation des liens et adapte le nombre de cellules


pour maintenir l'utilisation dans les limites prédéfinies. En effet, cela permet au MSF de s'adapter
dynamiquement au trafic. Le MSF quant à lui définit à la fois le comportement d'un nœud lorsqu'il
rejoint le réseau et la manière dont l'horloge est gérée de manière distribuée. Lorsqu'un nœud
exécutant MSF démarre, il rejoint le réseau en suivant les étapes décrites dans la section suivante.
L'état final du processus de connexion est que le nœud est synchronisé au réseau, qu'il s'est
mutuellement authentifié auprès du réseau, qu'il a identifié un parent de routage et qu'il a programmé
une cellule Tx négociée vers/depuis son parent de routage. Après le processus de jointure, le nœud
peut continuellement ajouter/supprimer/relocaliser des cellules. Il le fait pour trois raisons : pour faire
correspondre les ressources de la couche de liaison au trafic, pour gérer le changement de parent et
pour gérer une collision d'horaire.

3.3 ADAPTATION AU TRAFIC

Un nœud qui implémente le MSF doit implémenter le comportement que l’on décrira par la
suite. L'objectif de MSF est de gérer de manière distribuée le calendrier de communication de
l'horloge 6TiSCH. Pour un nœud, cela se traduit par la surveillance de l'utilisation actuelle des cellules
dont il dispose vers l'un de ses voisins, la plupart du temps vers le parent sélectionné.
✓ Si le nœud détermine que le nombre de trames de la couche liaison qu'il tente d'échanger avec
le parent sélectionné par unité de temps est supérieur à la capacité offerte par les cellules
négociées par TSCH qu'il a programmées avec lui, le nœud envoie une commande 6P ADD à ce
parent pour ajouter des cellules au programme TSCH.

✓ Si le trafic est inférieur à la capacité, le nœud envoie une commande 6P DELETE à ce parent
pour supprimer des cellules du programme TSCH.

✓ Lorsqu'un nœud change de parent, le MSF lui ajoute des cellules pour la communication avec
son nouveau parent et supprime celles avec son ancien parent dans l'horloge.

8
Le nœud doit maintenir deux paires séparées des compteurs suivants pour le parent sélectionné,
une pour les cellules Tx (Transmission) négociées vers ce parent et une pour les cellules Rx (Réception)
négociées vers ce parent.

3.4 GESTION DE LA COLLISION

Le risque de la planification distribuée est que deux paires de nœuds du réseau décident
d'utiliser la même cellule. Il en résulte une collision d'horaires et une dégradation des performances
lorsque les transmissions pendant les créneaux horaires correspondants peuvent interférer avec le(s)
récepteur(s). Pour éviter les collisions, le MSF surveille le PDR (Packet Delivery Ratio) de chaque cellule
individuellement. Il s'agit du ratio entre les paquets reçus et ceux envoyés. Pour le déterminer, le MSF
envoie la technique suivante.
Le nœud DOIT maintenir les compteurs suivants pour chaque cellule Tx négociée vers le parent
sélectionné :
NumTx : Compte le nombre de tentatives de transmission sur cette cellule. Chaque fois que le
nœud tente de transmettre une trame sur cette cellule, NumTx est incrémenté d'exactement 1.
NumTxAck : Compte le nombre de tentatives de transmission réussies sur cette cellule. Chaque
fois que le nœud reçoit un accusé de réception pour une tentative de transmission, NumTxAck est
incrémenté d'exactement 1.
Comme NumTx et NumTxAck sont tous deux initialisés à 0, nous avons nécessairement NumTxAck
<= NumTx. Le PDR ici est le rapport NumTxAck/NumTx ; et nous le représentons sous forme de
pourcentage. Une cellule avec PDR=50% signifie que la moitié des trames transmises ne sont pas
acquittées.
Pour assimiler l'utilisation du PDR dans la gestion des collisions, prenons le scenario suivant. A et
B ont 10 cellules communes pour communiquer avec un PDR de 80% pour les 10 cellules. Si parmi ces
cellules, il advient que le PDR de l'un deviens légèrement inférieur à 80%, le MSF déduit qu'elle est
victime de collision (car elle a moins de succès que les autres) et il la déplace vers une autre position.

4. LE SIMULATEUR 6TISCH ET LA COUCHE 6TOP

4.1 PRÉSENTATEUR DU SIMULATEUR

Le simulateur 6TiSCH est un simulateur d'évènement discret (il s'agit d'un simulateur utilise
dans le cadre de l'étude de la dynamique d'un système). Le simulateur nous fournit avec précision :
✓ Le comportement du SF en réponse au trafic.

✓ Le comportement du protocole de routage en réponse aux changements topologiques.

✓ Le comportement du 6P en réponse aux chutes de la couche MAC.

✓ Le comportement de l'application en réponse à l'ordonnancement, au routage et à la


configuration de la pile réseau.

9
4.2 PRÉSENTATION DES MÉTRIQUES POUR LA COUCHE 6TOP

Pendant l'exécution de la simulation, les gestionnaires d'événements déclenchent des mises à jour
pour les différentes mesures. Plus de 50 paramètres différents sont mis en œuvre. Les mesures
peuvent être définies par cycle pour suivre l'évolution d'une mesure spécifique par cycle de slotframe
TSCH ou en valeur absolue pour obtenir le résultat total après la simulation. Nous appelons cycle de
slotframe le nombre de créneaux temporels dans un slotframe (c'est-à-dire 101 créneaux par défaut).
Des mesures absolues (telles que la charge consommée) peuvent être obtenues par nœud ou agrégées
sur l'ensemble des nœuds du réseau. Le SF se plaçant comme le centre de la couche 6top, nous vous
présentons ci-dessous les métriques générées par le simulateur lors de l'utilisation d'un SF lambda, et
lors de l'utilisation du MSF ou suivant le nombre de cœurs du processeur.
Les 2 premières figures nous présentent l'amélioration de la latence, lorsque l'on quitte d’une
SF lambda au MSF. L'on remarque une amélioration incroyable de la latence lors de l'utilisation du MSF
pour le même CDF (Cumulative Distribution Function) que le SF Lambda. Elle quitte 70 à 1.75. Ce qui
concorde avec notre étude car le MSF établit la meilleure communication possible dans les limites
prédéfinies contrairement à une SF lambda qui ne tient pas compte de tous ces facteurs et contribue
par conséquent a l'augmentation de la latence.

Figure 3 La latence pour un SF lambda Figure 4 La latence pour le MSF

Cela est également mis en évidence par les deux graphes suivants. Le premier exprime le fait
que les nœuds d'un réseau géré par un SF lambda ont une durée de vie de 1 an tout au plus.
Contrairement au MSF qui accorde 1.2 ans tout au plus.

10
Figure 5 La durée de vie pour un SF lambda Figure 6 La durée de vie pour le MSF

A travers ces 4 métriques, l'on peut sans aucun doute affirmer la pertinence de nos propos quant
à l'étude menée sur la couche 6top. En effet la SF est au centre de cette couche, car un remplacement
de celle-ci a des effets considérables voire absolus sur tous les paramètres de notre couche et du
réseau tout entier (latence, durée de vie du nœud, temps de synchronisation, …).

11
CONCLUSION
Parvenu au terme de notre analyse, rappelons que l’objectif visé était celui de faire un rapport
synthétique de la couche 6Top du protocole 6TiSCH et des technologies y afférentes. Durant cette
analyse, nous avons pu remarquer que le 6TiSCH profite de la multiple plage d’adressage du protocole
IPv6 et de l’économie d’énergie fournit par le mode TSCH de la norme IEEE 802.15.4 pour devenir le
protocole idéal pour les réseaux IoT LLN. Par la suite nous avons constaté que la couche 6Top, principal
objet de notre étude reposait principalement sur les fonctions d’ordonnancement permettent aux
nœuds de pouvoir interagir sur leurs cellules afin d’assurer une bonne communication et une bonne
congestion dans le réseau. Ensuite il était question de présenter le simulateur 6TiSCH et des métriques
faisant état de l’influence que possède la couche 6Top dans le bon déroulement de la communication.
Au terme de tout cela, l’on peut sans aucun doute affirmer avoir une connaissance de base sur ce
protocole et en particulier sur la couche 6Top et se poser la question à savoir comment la sécurité est
assure dans le protocole 6TiSCH ?

12

Vous aimerez peut-être aussi