Académique Documents
Professionnel Documents
Culture Documents
Chaput Emmanuel
2021-2022
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 1 / 83
Plan I
Notes :
1 Introduction
2 L’architecture 6TiSCH
3 Le protocole COAP
4 Le standard MQTT
5 Le protocole RPL
6 Références bibliographiques
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 2 / 83
Introduction
Notes :
1 Introduction
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 3 / 83
Contexte de l’IoT
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 4 / 83
L’architecture 6TiSCH
Notes :
2 L’architecture 6TiSCH
L’architecture
IEEE 802.15.4e
La sous couchee 6top
6LowPAN
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 5 / 83
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 6 / 83
L’architecture
Notes :
2 L’architecture 6TiSCH
L’architecture
IEEE 802.15.4e
La sous couchee 6top
6LowPAN
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 7 / 83
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 8 / 83
IEEE 802.15.4e
Notes :
2 L’architecture 6TiSCH
L’architecture
IEEE 802.15.4e
La sous couchee 6top
6LowPAN
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 9 / 83
La technologie IEEE 802.15.4
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 10 / 83
TSCH
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 11 / 83
2 L’architecture 6TiSCH
L’architecture
IEEE 802.15.4e
La sous couchee 6top
6LowPAN
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 12 / 83
La sous-couche 6top
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 13 / 83
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 14 / 83
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 15 / 83
Un exemple : MSF
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 16 / 83
6LowPAN
Notes :
2 L’architecture 6TiSCH
L’architecture
IEEE 802.15.4e
La sous couchee 6top
6LowPAN
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 17 / 83
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 18 / 83
IPv6 sur IEEE 802.15.4e
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 19 / 83
Encapsulation
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 20 / 83
Quel routage ?
Notes :
Le groupe de travail 6LowPAN s’est intéressé aux contraintes sur le routage
[13]
Pas de solution, mais des guidelines
Contraintes spécifiques aux réseaux industriels [21], urbains [5], domestiques
[1], du bâtiment [19]
Un réseau 802.15.4 peut être
En étoile
Maillé
Quel routage dans un réseau maillé LoWPAN ?
Variété des nœuds (alimentés ou non)
Certains nœuds sont extrèmement contraints
La prise en compte des périodes de sommeil est critique
Les LoWPANs sont essentiellement des réseaux feuilles (stub)
Besoin d’efficacité dans des environnements peu fiables
Ni 802.15.4 ni IPv6/802.15.4 [20] ne stipulent comment construire la
topologie
Deux approches sont évoquées
Le route-over
Ce sera le choix de RPL
Le mesh-under
Comme LOADng
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 21 / 83
Autoconfiguration des adresses
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 22 / 83
Le procotocle COAP
Notes :
3 Le protocole COAP
Le paradigme RESTfull
Introduction
Architecture et principes
Format des messages
La fiabilité
Les échanges
Un exemple simple
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 23 / 83
Le paradigme RESTfull
Notes :
3 Le protocole COAP
Le paradigme RESTfull
Introduction
Architecture et principes
Format des messages
La fiabilité
Les échanges
Un exemple simple
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 24 / 83
Le groupe de travail CORE
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 25 / 83
Le paradigme RESTfull
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 26 / 83
Le paradigme RESTfull
Notes :
Roy Fielding décrit les principes qui doivent guider le développement d’une application RESTful
Modèle client-serveur
Séparation des contingences liées à l’interface utilisateur de celles liées au stockage
Sans état
Chaque requête du client doit contenir toutes les informations nécessaires et ne compter sur aucun
contexte présent sur le serveur
Mise en place de caches
Si une réponse est identifiée comme “cachable”, alors le client peut la réutiliser plus tard pour une
autre requête
Interface uniforme
Fondée en particulier sur la notion d’hypermédias
Système en couches
Un composant ne voit pas au delà de la couche avec laquelle il interagit
Code à la demande
Les fonctionnalités du client peuvent être enrichies par le biais de scripts ou applets
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 27 / 83
REST et la notion de ressources
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 28 / 83
Introduction
Notes :
3 Le protocole COAP
Le paradigme RESTfull
Introduction
Architecture et principes
Format des messages
La fiabilité
Les échanges
Un exemple simple
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 29 / 83
Le protocole COAP
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 30 / 83
Architecture et principes
Notes :
3 Le protocole COAP
Le paradigme RESTfull
Introduction
Architecture et principes
Format des messages
La fiabilité
Les échanges
Un exemple simple
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 31 / 83
Architecture et principes
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 32 / 83
3 Le protocole COAP
Le paradigme RESTfull
Introduction
Architecture et principes
Format des messages
La fiabilité
Les échanges
Un exemple simple
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 33 / 83
Le format des messages
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 34 / 83
La fiabilité
Notes :
3 Le protocole COAP
Le paradigme RESTfull
Introduction
Architecture et principes
Format des messages
La fiabilité
Les échanges
Un exemple simple
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 35 / 83
La fiabilité
Notes :
La réception d’un message de type CON doit être confirmé par le récepteur
Message de type ACK
Utilisant le même Message ID
Sinon Time Out et Exponential Backoff
Les messages NON ne reçoivent donc pas de confirmation
Mais peuvent faire l’objet d’un RST (si traitement impossible)
Ils ont un Message ID pour éviter les doublons
Les requêtes multicast sont des messages NON
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 36 / 83
Transmission des messages non fiabilisés
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 37 / 83
Les échanges
Notes :
3 Le protocole COAP
Le paradigme RESTfull
Introduction
Architecture et principes
Format des messages
La fiabilité
Les échanges
Un exemple simple
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 38 / 83
Les échanges
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 39 / 83
Les requêtes
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 40 / 83
Les réponses
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 41 / 83
Un exemple simple
Notes :
3 Le protocole COAP
Le paradigme RESTfull
Introduction
Architecture et principes
Format des messages
La fiabilité
Les échanges
Un exemple simple
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 42 / 83
Un exemple simple (1)
Notes :
La réponse du serveur . . .
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 48 / 83
Le standard MQTT
Notes :
4 Le standard MQTT
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 49 / 83
Le standard MQTT
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 50 / 83
L’architecture
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 51 / 83
Les topics
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 52 / 83
Le protocole
Notes :
Le message CONNECT
Permet au client de demander une connexion au broker
Contient l’identifiant du client (ou pas si sateless)
Divers paramètres liés au client
Le message CONNACK
Permet au broker de confirmer l’établissement de la connexion
Le message PUBLISH
Permet au publisher de transmettre des données
Contient notament le topic
Le message SUBSCRIBE
Permet au subscriber de manifester son intérêt auprès du broker
Contient notament des topics
Autres messages
SUBACK, UNSUBSCRIBE/UNSUBACK, PUBREC, PUBREL, PUBCOMP
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 53 / 83
La qualité de service
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 54 / 83
Le protocole RPL
Notes :
5 Le protocole RPL
Introduction
Principe de base : le DODAG
Construction d’un DODAG
Un exemple de fonction : OF 0
Multiplicité des DODAGs
Le fonctionnement général
Le protocole
L’algorithme trickle
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 55 / 83
Introduction
Notes :
5 Le protocole RPL
Introduction
Principe de base : le DODAG
Construction d’un DODAG
Un exemple de fonction : OF 0
Multiplicité des DODAGs
Le fonctionnement général
Le protocole
L’algorithme trickle
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 56 / 83
Le protocole RPL
Notes :
“An LLN is typically composed of many embedded devices with limited power,
memory, and processing resources interconnected by a variety of links. There
is a wide scope of application areas for LLNs, including industrial monitoring,
building automation (e.g., heating, ventilation, air conditioning, lighting, access
control, fire), connected home, health care, environmental monitoring, urban
sensor networks, energy management, assets tracking, and refrigeration.”
[25]
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 57 / 83
Le protocole RPL
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 58 / 83
5 Le protocole RPL
Introduction
Principe de base : le DODAG
Construction d’un DODAG
Un exemple de fonction : OF 0
Multiplicité des DODAGs
Le fonctionnement général
Le protocole
L’algorithme trickle
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 59 / 83
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 60 / 83
Construction d’un DODAG
Notes :
5 Le protocole RPL
Introduction
Principe de base : le DODAG
Construction d’un DODAG
Un exemple de fonction : OF 0
Multiplicité des DODAGs
Le fonctionnement général
Le protocole
L’algorithme trickle
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 61 / 83
Construction du DODAG
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 62 / 83
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 63 / 83
Un exemple de fonction : OF 0
Notes :
5 Le protocole RPL
Introduction
Principe de base : le DODAG
Construction d’un DODAG
Un exemple de fonction : OF 0
Multiplicité des DODAGs
Le fonctionnement général
Le protocole
L’algorithme trickle
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 64 / 83
Un exemple de fonction : OF 0
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 65 / 83
5 Le protocole RPL
Introduction
Principe de base : le DODAG
Construction d’un DODAG
Un exemple de fonction : OF 0
Multiplicité des DODAGs
Le fonctionnement général
Le protocole
L’algorithme trickle
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 66 / 83
Multiplicité des DODAGs
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 67 / 83
Les identifiants
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 68 / 83
Le fonctionnement général
Notes :
5 Le protocole RPL
Introduction
Principe de base : le DODAG
Construction d’un DODAG
Un exemple de fonction : OF 0
Multiplicité des DODAGs
Le fonctionnement général
Le protocole
L’algorithme trickle
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 69 / 83
Caractérisation du routage
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 70 / 83
Le Non-Storing Mode
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 71 / 83
Le Storing Mode
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 72 / 83
Les métriques et contraintes
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 73 / 83
Le protocole
Notes :
5 Le protocole RPL
Introduction
Principe de base : le DODAG
Construction d’un DODAG
Un exemple de fonction : OF 0
Multiplicité des DODAGs
Le fonctionnement général
Le protocole
L’algorithme trickle
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 74 / 83
Les messages
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 75 / 83
Format des messages
Notes :
Code
Format TLV classique
0x00 DIS
0x01 DIO Types définis
0x02 DAO 0x00 Pad1 (padding)
0x03 DAO ACK 0x01 PadN (padding)
0x80 Secure DIS 0x02 Metric container [26]
0x81 Secure DIO 0x03 Route information préfixe et durée
0x82 Secure DAO 0x04 DODAG conf. décrit le DODAG
0x83 Secure DAO ACK 0x05 Target Prefix atteignable ou cherché
0x8a Consistency check 0x06 Transit info. définit un chemin
Security 0x07 Solicited info. permet de préciser la
Permet de sécuriser les demande
version 0x8? 0x08 Prefix info. annonce préfixe
Intégrité, anti rejeu, 0x09 RPL target ou tagging
confidentialité
Base
Dépend du code
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 76 / 83
Contenu de la base
Permettent de découvrir l’instance RPL
Obtenir les paramètres du DODAG InstanceID Quelle instance de RPL
Sa version Version Number Version du DODAG
Son mode de fonctionnement
Rank Du nœud source
...
Trouver un ensemble de parents G Grounded
Sur réception de ces messages MOP Mode Of Operation
Choisir son parent (Storing ?)
Déterminer son rank
Prf Préférence de la racine
Maintenir le DODAG
DTSN DAO Trigger Sequence
Number
Flags Non spécifiés
DODAGID L’identifiant du DODAG
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 77 / 83
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 78 / 83
Les D ODAG Information Sollicitations (ou DIS)
Notes :
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 79 / 83
L’algorithme trickle
Notes :
5 Le protocole RPL
Introduction
Principe de base : le DODAG
Construction d’un DODAG
Un exemple de fonction : OF 0
Multiplicité des DODAGs
Le fonctionnement général
Le protocole
L’algorithme trickle
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 80 / 83
L’algorithme trickle
Notes :
Objectifs
Permettre à des nœuds communiquants de maintenir des données
cohérentes
Assurer une réactivité importante (eg quelques dizaines de
millisecondes)
Limiter les transmissions (eg quelques messages par heure)
Auto-adaptable à la densité des nœuds
Mise en œuvre simple et peu coûteuse
Décrit dans [16, 18, 17]
Principes
Choisir une date aléatoire de transmission dans un intervalle
Ne transmettre que si un nombre minimal de messages ont été
reçus
Utiliser un intervalle court en cas d’incohérence
Faire croître rapidement l’intervalle sinon
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 81 / 83
L’algorithme trickle
Notes :
Initialisation
τ ∈ [τmin , τmax ] a
Au début d’un intervalle
Paramètres de l’algorithme c←0
τmin durée minimale de l’intervalle t ∈ [τ /2, τ [ (choisi aléatoirement)
τmax durée maximale de l’intervalle À la réception d’une donnée cohérente
k seuil sur le nombre de messages c ←c+1
reçus
À la réception d’une donnée incohérente b
Variables τ ← τmin
τ durée de l’intervalle courant Commencer un nouvel intervalle
c nombre de message reçus sur À la date de transmission t
l’intervalle courant Transmettre si et seulement si c < k
t date de transmission dans À la fin d’un intervalle
l’intervalle courant τ ← min(2 × τ, τmax )
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 82 / 83
Exercice
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 83 / 83
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 83 / 83
Updated by RFCs 2646, 3798, 5147, 6657.
[8] J. Hui and P. Thubert.
Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks. Notes :
Technical Report 6282, IETF, September 2011.
[9] IETF , https ://datatracker.ietf.org/wg/core.
Constrained RESTful Environments (core).
[10] IETF, https ://datatracker.ietf.org/wg/6lowpan.
IPv6 over Low power WPAN (6lowpan).
[11] IETF, https ://datatracker.ietf.org/wg/6tisch.
IPv6 over the TSCH mode of IEEE 802.15.4e (6tisch).
[12] J. Kempf.
Goals for Network-Based Localized Mobility Management (NETLMM).
RFC 4831, IETF, April 2007.
[13] E. Kim, D. Kaspar, C. Gomez, and C. Bormann.
Problem Statement and Requirements for IPv6 over Low-Power Wireless Personal Area
Network (6LoWPAN) Routing.
Technical Report 6606, May 2012.
[14] E. Kim, D. Kaspar, and JP. Vasseur.
Design and Application Spaces for IPv6 over Low-Power Wireless Personal Area Networks
(6LoWPANs).
Technical Report 6568, IETF, April 2012.
[15] N. Kushalnagar, G. Montenegro, and C. Schumacher.
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 83 / 83
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 83 / 83
RFC 7554 (Informational), May 2015.
[29] T. Winter, P. Thubert, A. Brandt, J. Hui, R. Kelsey, P. Levis, K. Pister, R. Struik, JP. Vasseur,
and R. Alexander. Notes :
RPL : IPv6 Routing Protocol for Low-Power and Lossy Networks.
Technical Report 6550, IETF, March 2012.
Chaput Emmanuel Une brève introduction auxprotocoles réseaux pour l’IoT 2021-2022 83 / 83
Notes :
Notes :