Vous êtes sur la page 1sur 102

PROTOCOLES DU MODELE IOT

Motivations
• Connectivité omniprésente : diversité des solutions de connectivité sans fil, possibilité de
connecter ―tout‖.

• Disponibilité et adoption généralisée de IP (Internet Protocol).

• Miniaturisation et coût faible des composants électroniques.

• Progrès dans le domaine Cloud Computing : disponibilité des services qui permettent de
bénéficier de capacités de calcul avec les objets physiques.

• Progrès dans le domaine Big Data : une multitude d‘algorithmes sont disponibles pour collecter
et analyser les données.
• Croissance du marché de masse : la vision du monde connecté a atteint une maturité et
l’engagement est irréversible
Définition de l’IOT
• Définition 1 : Le groupe de travail « Internet of Things Global Standards
Initiative » (IoT-GSI), piloté par l’Union Internationale des
Télécommunications (UIT), considère l‘IoT comme :

« Infrastructure mondiale pour la société de l’information qui permet de disposer de


services évolués en interconnectant des objets (physiques ou virtuels) grâce aux
technologies de l’information et de la communication interopérables existants ou en
évolution ».
- Recommandation UIT-T Y.2060 renommée Y.4000
M2M versus IoT versus IoE
• M2M : Un périphérique qui capture un événement et le transmet sur le réseau à une
application. L'application traduit l'événement en informations significatives.

• IoT : IoT Un réseau d'éléments identifiables de manière unique qui communiquent


sans interaction humaine à l'aide de la connectivité IP.

• IoE Rassemble non seulement l’Internet des Objets mais également les processus,
les données et les personnes (via smartphones et réseaux sociaux).
Industrie/application de l’IOT

• Selon IoT analytics, les objets connectés sont classés en 2 catégories:

– Objets connectés Grand Public sont des objets dédiés au grand public (wearables) : montre,
bracelet, vêtement, etc. La vraie valeur d’un objet connecté est dans l’usage améliorée qu’il va
apporter à son utilisateur.

– Objets connectés dans le B2B sont source de nouveaux business. Gartner assure que les objets
connectés à usage industriel se vendront moins que ceux destinés au grand public dans les
années qui viennent, mais ils rapporteront plus d’argent.

• Les entreprises doivent passer d’une offre de produit à une offre de service, gage de
plus de valeur.
Technologies clés génériques
• L‘IoT fonctionne avec le support de plusieurs technologies tels que les réseaux de capteurs
sans fil, le Cloud Computing, les analyses Big Data, les protocoles de communication, les
services web, etc.
– Les réseaux de capteurs sans fil RCSF: (Wireless Sensor Network, WSN) Un RCSF se compose d‘un
nombre de Noeuds-Capteurs qui ont des fonctionnalités de capturer et traiter/transmettre les
données.

– Cloud Computing : fournit un espace de stockage de données IoT et offre des services de
visualisation, analyse et archivage des données.

– Big Data : offre des outils d‘analyse avancées pour les données massives collectées par les objets
IoT selon leurs caractéristiques : volume, vitesse, variabilité (forme de données : texte, audio,
video, image).
Technologies clés génériques
– Les protocoles de communication : sont indispensables pour assurer la connectivité entre objets et
applications. Les protocoles de communication définissent le format des données, taille paquets,
adressage, routage, etc.

– Les systèmes embarqués : Les objets connectés sont formés essentiellement des cartes à
microcontrôleur intégrant un
microprocesseur, une mémoire et des ports d‘ E/S pour la connexion
des capteurs.
Architecture et composants de l’IoT
Architecture de l’IoT

• L‘architecture d‘une solution IoT varie d‘un système à l‘autre en se basant sur
le type de la solution à mettre en place.
• L’architecture la plus élémentaire est une architecture à trois couches:

– La couche perception possède des capteurs et actionneurs qui détectent et recueillent


des informations sur l’environnement.

– La couche réseau est responsable de la connexion, du transport et du traitement des


données issues des capteurs et actionneurs.

– La couche application est chargée de fournir à l’utilisateur des services spécifiques et


applications intelligentes.
Modèle de référence de l’IoT
• Modèle de référence de l’IoT selon la recommandation UIT-T Y.2060
Choix de la topologie
Choix de la topologie
Point à point
• Un réseau point à point établit une connexion directe entre deux
nœuds de réseau : la communication ne peut avoir lieu qu'entre
ces deux nœuds ou périphériques.

– Avantages : simple et faible coût.


– Limitations : ne permet pas le passage à l‘échelle (évolutivité, scalabilité) .
La portée du réseau est donc limitée à un saut
Choix de la topologie
Etoile (Star)

• Un réseau étoile se compose d‘un seul concentrateur auquel tous les nœuds
sont connectés.

• Ce concentrateur central agit comme un point de connexion commun à tous les


autres nœuds du réseau : tous les nœuds périphériques peuvent ainsi communiquer
avec tous les autres en transmettant et en recevant du concentrateur central
uniquement.
– Avantages : faible latence, haut débit
– Limitations : la portée du réseau est limitée à un seul saut.
Topologie des réseaux
Topologie Mesh

• Un noud est connecté à un ou plusieurs autres nœuds du même réseau. Cela


forme un maillage dans lequel une donnée émise est relayée potentiellement
par plusieurs nœuds avant d’arriver à destination, c’est ce qu’on appelle une
route.

• Les nœuds peuvent établir de nouvelles routes en fonction de leurs états (par
exemple en panne) et des caractéristiques du support physique (par exemple
une diminution du bruit).
Portée des réseaux
• Il existe deux grandes catégories de réseaux qui permettent de
transmettre des informations entre plusieurs objets connectés avec une
consommation maîtrisée et minimale d‘énergie :

– Les réseaux à longue portée (Réseaux radio bas-débit (Sigfox, LoRa), réseaux
cellulaires mobiles)
– Les réseaux à moyenne portée (Bluetooth LE, Wifi, z- Wave)
– Les réseaux à courte portée (RFID, NFC, Bluetooth, )
Portée des réseaux
Technologies à courte portée
RFID
• La RFID ou encore la Radio Frequency Identification est une système permettant
de mémoriser et récupérer des données à distance.
• Il est composé d'une étiquette RFID (appelée tag), d'un lecteur RFID, et d'une
antenne
• Le système est activé par un transfert d’énergie électromagnétique entre une
étiquette radio et un émetteur RFID.

• La RFID récupère les données par le biais d'ondes radio

• Les composants permettent à la fois de lire et de répondre aux signaux.


RFID
• La radio-identification ou les étiquettes (balises) RFID
stockent les identifiants (UII Unique Item Identifier or EPC,
Electronic Product Code) et les données et elles sont
attachées aux objets.
• Exemple : les étiquettes autoadhésives, qui peuvent être
collées ou incorporées dans des objets ou produits et même
implantées dans des organismes vivants (animaux, corps
humain).
• Les radio-étiquettes comprennent une antenne associée à une
puce électronique qui leur permet de recevoir et de répondre
aux requêtes radio émises depuis l‘émetteur-récepteur.)
NFC
• NFC Near-Field Communication (communication en champ proche).
• est une technologie qui s’appuie la RFID.
• La principale différence avec la RFID est qu'un dispositif NFC peut agir
non seulement comme un lecteur, mais aussi comme une
étiquette (mode d'émulation de carte).
• En mode "peer-to-peer", il est également possible de transférer des
informations entre deux dispositifs NFC.
NFC
• NFC favorise des interactions bidirectionnelles simples et sûres entre
deux dispositifs électroniques (les smartphones en particulier), pour
permettre aux consommateurs d'effectuer des transactions par
paiement sans contact, d'accéder à des contenus numériques et de se
connecter à des dispositifs électroniques.
• Norme : ISO/CEI18000-3
• Fréquence : 13,56MHz (ISM)
• Portée : 10 cm
• Vitesses de transmission : 100–420 Kbit/s
• Plutôt que d'utiliser Bluetooth ou WiFi, Xender utilise la technologie
NFC, et assure un taux de transfert qui est de 4 à 40 fois plus rapide
que le Bluetooth normal.
Bluetooth : 802.15.1
• Technologie basée sur la norme IEEE 802.15.1.
• La technologie Bluetooth est un acteur incontournable pour les
réseaux de courte portée (WPAN). Low power, Low cost.
• Technologie évolutive : du Bluetooth classique vers le Smart
Bluetooth.
• Fréquence : 2,4 GHz (ISM).
• Portée : 10 m (Téléphone mobile, écouteurs, équipement médical).
• Vitesses de transmission : 1 Mbit/s (version 1.2), 24Mbit/s (version
3.0).
Bluetooth
Les éléments fondamentaux du Bluetooth sont
définis dans les deux premières couches
protocolaires, la couche radio et la couche
bande de base. Ces couches prennent en charge
les tâches matérielles telle que le contrôle du
saut de fréquence et la synchronisation des
horloges.

La couche physique (appelée aussi hôte)


La couche applicative (appelée aussi module).
La couche Interface
La couche radio (la couche la plus basse)
s'occupe de l'émission et de la réception des
ondes radio. Elle définit les caractéristiques
telles que la bande de fréquence et
l'arrangement des canaux, les caractéristiques
du transmetteur, de la modulation, du receveur,
etc.

Elle transmet des bits du maître vers l'esclave et


vice versa : c'est un système radio de faible
puissance avec une portée de 10 m qui opère
dans la bande des fréquences de 2.4GHz.
La bande de base : Elle définie les adresses
matérielles des périphériques (équivalent à
l'adresse MAC d'une carte réseau). Cette adresse
est nommée BD_ADDR (Bluetooth Device
Address) et est codée sur 48 bits.

Elle prend en charge la communication entre les


appareils. Les différents types de connexions
sont au nombre de trois à savoir :

 La liaison synchrone à débit élevé (un débit


bidirectionnel de 432Kb/s)

 La liaison asynchrone (Le maître peut envoyer


721Kb/s à l'esclave, et l'esclave peut envoyer
57,6Kb/s au maître.)

 La liaison « canal voix/donné » ou liaison SCO


(Un esclave a au maximum trois liaisons SCO
avec son maître, chacune d'elles supportant
un canal vocal PCM à 64000 bit/s. Exemple la
manipulation de données en temps réel, via
une connexion téléphonique
Link Controller : gère la configuration et le
contrôle de la liaison physique entre deux
périphériques maîtres et esclaves et les types de
liaisons (synchrones ou asynchrones)

Le travail du contrôleur de lien est de


commander la construction de paquets à la
couche inférieur (baseband), un à un, afin
d'établir et de maintenir une ligne de
transmission fiable.
Il implémente les mécanismes de sécurité
comme :

 L'authentification,
 le pairage
 la création et la modification des clés,
 le cryptage.
Link Manager : gère les liens entre les
périphériques maîtres et esclaves et les types de
liaisons (synchrones ou asynchrones).
Il qui implémente les mécanismes de sécurité
comme l'authentification, le pairage, la création
et la modification des clés, le cryptage.

L'interface de contrôle de l'hôte (HCI) : Cette


couche a pour rôle de faire le lien entre le
matériel et le logiciel. Les protocoles de
transport suivants sont supportés : - USB
(Universal Serial Bus) - PC Card - RS-232 - UART
L2CAP (Logical Link Control & Adaptation
Protocol) : Elle a trois fonctions principales que
sont :

Premièrement, elle accepte des paquets


pouvant atteindre 64Ko en provenance des
couches supérieures et les découpe en trames
pour la transmission. A l'extrémité réceptrice,
les trames sont réassemblées en paquets.

Deuxièmement, elle assure le multiplexage et le


démultiplexage pour plusieurs sources de
paquets. Une fois qu'un paquet a été
réassemblé, elle détermine le protocole de
couche supérieure destinataire, par exemple
RFCOMM ou le protocole de téléphonie.

Troisièmement, elle satisfait aux exigences de


qualité de service, que ce soit au cours de
l'établissement des liaisons ou pendant leur
exploitation normale. Elle la taille maximale des
paquet et la taille maximale de la charge utile.
RFCOMM est un service basé sur les
spécifications RS-232, qui émule des liaisons
séries. Il peut notamment servir à faire passer
une connexion IP par Bluetooth.

SDP (Service Discovery Protocol) : Ce protocole


permet à un appareil Bluetooth de rechercher
d'autres appareils et d'identifier les services
disponibles.

OBEX (Object Exchange) : Ce service permet de


transférer des données
Principe général

les différents dispositifs du réseau suit certaines


étapes importantes :
 (Mode passif) : A l'initialisation d'un réseau
Bluetooth, tous les périphériques sont en
mode standby. C'est à dire qu'ils ne
connaissent pas les autres dispositifs
Bluetooth qu'il peut y avoir dans leur zone de
couverture. Dans cet état les périphériques
écoute et cherche la présence de
transmission toutes les 1,28 secondes
(inquiry scan) afin de savoir si quelqu'un
désire communiquer.
 Phase d'inquisition : découverte des points
d’accès
 Synchronisation avec le dispositif (paging)
 Découverte des services
 Création d’un canal avec l'esclave
 Pairage éventuel à l’aide d’un code PIN
(sécurité)
 Utilisation du réseau.
ZigBee
ZigBee est une technologie pour la
communication de type WPAN (Wireless
Personal Areal Network).

Il appartient particulièrement à la famille des


réseaux personnels sans fil LP-WPAN (Low Power
- WPAN) basé sur le standard IEEE 802.15.41

Ses caractéristiques en font une technologie qui


vient compléter et non pas remplacer les offres
des standards de communication bien connus tels
que le WLAN (Wireless Local Area Network) WiFi et le
WPAN Bluetooth.
ZigBee
La couche physique : Supporte la gestion des fréquences
d’émission et de réception, le débit des données envoyées
ou reçues, le type de modulation et le codage numérique
des informations.

La couche d’accès au médium ou MAC (Medium Access


Control) : c’est la couche principale pour les aspects
logiciels. Elle définit la façon dont un nœud du réseau
pourra dialoguer (transmettre ou recevoir).

La couche réseau : Assure principalement les règles


d’établissement d’un réseau, l’association et
l’interconnexion de tous les nœuds dans le réseau, le
transfert des informations entre les entités de ce réseau
via une route, ainsi que la structure des trames qui seront
échangés.
ZigBee
La couche application : Donne entre autres une
signification aux informations échangées dans le réseau.

Les domaines d’application : Equipements généralement


embarqués qui peuvent être opérationnels dans une
résidence ou dans l’industrie de portée de quelques
dizaines de mètres (jusqu’à 100m).

Caractéristiques :
Fréquence : (2,4 GHz, 250 kbps), (868 MHz, 20 kbps),
(915 GHz, 40
kbps) (ISM).
– Portée : 10-100 m.
– Vitesses de transmission : 250 Kbit/s (low data
rates).
ZigBee
• Les routeurs jouent le rôle d‘un pont de données entre le client et le coordinateur. Il permettent :
• d’étendre la taille du réseau en permettant aux autres modules de s’enregistrer auprès d’eux et non exclusivement auprès
du coordinateur. Cela évite de saturer le coordinateur en nombre de modules inscrits. La taille maximum d’un réseau peut
ainsi atteindre 65536 modules.

• d’étendre la portée du réseau. Chaque routeur répète les signaux reçu aux autres modules qui lui sont enregistrés.
• De répercute le signal aux autre routeurs pour atteindre le End-device concerné.

• Une mécanique de tables de liaison permet à chaque dispositif de jouer le rôle de coordinateur, permettant à deux
dispositifs éloignés de dialoguer par l’intermédiaire d’un élément à portée.
Protocoles IoT
Encapsulation
• Flux de données dans la pile de protocoles
Pile de protocoles IoT
Protocoles de la couche application

• Une application IoT permet aux objets connectés d‘envoyer leurs données à un
serveur Web Internet ou une plateforme Cloud.
• Les protocoles de la couche application permettent de transmettre des
commandes depuis les applications utilisateurs aux actionneurs des objets
connectés.
• L‘infrastructure Web classique n‘est pas adaptée à la majorité des applications IoT qui
sont dotées d’équipements de faibles ressources : petits microcontrôleurs, petites
quantités de mémoire RAM, énergie limitée, etc.
Familles de Protocoles de la couche application
• Les protocoles applicatifs qui sont utilisés pour les applications IoT sont classés en 3
familles:

– Protocole de transfert web: Web REST, COAP


– Protocole de messagerie: MQTT, XMPP et AMQ.
– Protocole réseau: Websocket
Protocoles de transfert web: Web REST, COAP
Services Web REST ( Representational
State Transfert )

REST est un modèle d’architecture orienté ressource utilisés dans le développement


de services Internet à systèmes hypermédia distribués,

Lorsqu'un client émet une requête pour avoir une ressource , le serveur transfère la
représentation de la ressource demandées (Etat) au client.
Par exemple, lorsqu'un client demande à Twitter de récupérer l'objet d'un utilisateur
(ressources), le serveur renvoie l'état de cet utilisateur, son nom, ses abonnés et les
publications partagées sur Twitter.
Services Web REST ( Representational
State Transfert )
PROPRIÉTÉS DU WEB REST

Apatride (sans état)

Le REST est sans état : les requêtes peuvent être effectuées indépendamment les
unes des autres et inclues toutes les informations nécessaires pour permettre au
serveurs d’y répondre

La communication client–serveur se fait sans conservation de l'état de la session de


communication sur le serveur entre deux requêtes successives.

L'état de la session est conservé par le client et transmis à chaque nouvelle requête.
Services Web REST ( Representational
State Transfert )
Cacheable

REST est capable de stocker des données pouvant être mises en cache.

Selon ce principe, les données d’une réponse devraient être indirectement ou


clairement classées comme pouvant être mis en cache ou non.

Dans le cas où une réponse peut être mise en cache, le cache client a le droit de
recycler ces données de réponse pour des demandes similaires à l'avenir.

Identification des ressources par un URI


Services Web REST ( Representational
State Transfert )
 Utilise les messages HTTP

 GET : Retourne la représentation de l'information


correspondante à l'URI demandée
 PUT : Demande que la ressource de l'information
transmise soit créée, ou mise à jour
 POST : Demande que la représentation de l'information
transmise soit traitée
 DELETE : La ressource visée doit être détruite
Services Web REST ( Representational
State Transfert )
• Chaque ressource est définie
par un unique URI (Uniform
Resource Identifier).
• REST utilise plusieurs formats
pour représenter les
ressources : Text, JSON, XML.
JSON est le format le plus
utilisé.
• L‘importance du REST découle
de la simplicité de la
communication et du fait qu‘il
est supporté par toutes les
plateformes M2M Cloud.
Services Web REST ( Representational
State Transfert )
• Chaque ressource est définie
par un unique URI (Uniform
Resource Identifier).
• REST utilise plusieurs formats
pour représenter les
ressources : Text, JSON, XML.
JSON est le format le plus
utilisé.
• L‘importance du REST découle
de la simplicité de la
communication et du fait qu‘il
est supporté par toutes les
plateformes M2M Cloud.
Services Web REST

• Le client envoie une requête POST pour indiquer au


serveur une nouvelle température de 21°C, pour l‘objet
X043UI.
• Le serveur lui répond avec un code de 200 pour indiquer
que tout est OK.
• Le client envoie une requête GET pour demander la
localisation de l‘objet A012BE à la date du 01-02- 2018.

• Le serveur répond en envoyant les coordonnées.


Services Web REST ( Representational
State
• Le serveur ajoute également
Transfert )
un code réponse HTTP, à trois chiffres, afin
d’indiquer l’état de la réponse dont la
forme est comme suit :
– 2xx indique le succès du traitement de la
requête du client (exemple : 200 pour OK)
– 3xx redirige le client vers un
autre lien
– 4xx indique une faute dans la requête du
client (exemple : 404 pour Not Found)
– 5xx indique une erreur de la part du serveur
(exemple : 500 pour Internal Server Error)
Protocole de transfert web : Service Web REST

• REST (Representational State Transfer) n‘est pas un protocole mais plutôt


un style d‘architecture Web client-serveur qui permettant de gérer,
identifier et manipuler des ressources.
• Les capteurs, les actionneurs et les systèmes de commande en général
peuvent être représentés comme des ressources et peuvent ainsi exposer
leurs services via un service Web RESTful.
• Web REST est une interface de programmation d‘application qui utilise des
requêtes HTTP avec les méthodes {GET, PUT, POST, DELETE} pour
demander un service Web.
• L‘importance de REST découle de la simplicité de la communication et du
fait qu‘il est complet : on peut réaliser n‘importe quel service Web avec
l‘architecture REST.
• En plus REST est supporté par toutes les plateformes M2M Cloud.
CoAP ( Constrained Application Protocol )

Description générale

 Le protocole CoAP est principalement destiné aux équipements et aux machines qui sont connectés
par des liens radio lents ( « LowPAN » ou les LPWAN), allant parfois à seulement quelques dizaines
de kb/s.

 COAP (Constrained Application Protocol) est un protocole de communication générique optimisé


pour les architectures de contraintes et spécifie le mode de fonctionnement des périphériques de
faible puissance dans l'Internet des objets (IoT, Internet of Things).

 CoAP fonctionne sur UDP

 Utilise les Messages HTTP (GET,PUT,DELETE,POST)

 La réponse contient l'acquittement (PiggyBack)

 CoAP fonctionne de manière asynchrone.


CoAP ( Constrained Application Protocol )

Fonctionnement

 CoAP utilise une approche à deux couches que sont :

 une couche de messagerie utilisée pour traiter la non fiabilité d ’UDP ainsi que la nature
asynchrone des interactions (4 messages sont définis CON, ACK, NON, RST)

 une couche d ’interaction sous forme de requête/réponse héritée du protocole HTTP (Requêtes
GET, POST, PUT, DELETE

 La taille d ’un message CoAP ne doit pas dépasser 1024 octets, mais un mécanisme de transfert de
bloc de données CoAP permet l ’envoi de différents fragments d ’un même message, chaque
fragment était considéré comme un message.

 CoAP supporte l ’envoi de messages en multicast.


CoAP ( Constrained Application Protocol )

Fonctionnement

 Un jeton (token) est utilisé pour associer une requête à une réponse indépendamment des
messages qui les transportent.

 Le Token est indépendant de l ’identificateur de message.

 Une requête est transportée dans un message CON (Confirmable) ou NON (Nonconfirmable) et si la
réponse est disponible immédiatement dans le cas d ’un message CON, elle est transportée dans un
message Acknowledgement (ACK).

 Si le message ACK est perdu, l ’émetteur du message CON le retransmettra


CoAP ( Constrained Application Protocol )
Fonctionnement

 Si le serveur n ’est pas en mesure de répondre immédiatement à une requête transportée dans un
message CON, il répond simplement via un message ACK sans contenu.
 Lorsque la réponse est prête, le serveur l ’émet dans un nouveau message CON (qui devra être
acquitté par le client via un message ACK sans contenu).
 Le token permet de corréler une requête et sa réponse.
CoAP ( Constrained Application Protocol )
Fonctionnement

 Si une requête est émise dans un message Non-confirmable (NON), alors la réponse est émise via un nouveau
message NON.

 Lorsqu ’un récepteur n ’est pas du tout en mesure de traiter un message CON (même pas en mesure de
fournir une réponse d ’erreur), il répond avec un message Reset (RST) à la place du message
Acknowledgement (ACK).

 Lorsqu ’un récepteur n ’est pas du tout en mesure de traiter un message NON, il peut répondre avec un
message Reset (RST).

 Le paramètre EXCHANGE_LIFETIME est 247 secondes par défaut).


CoAP ( Constrained Application Protocol )

Fonctionnement
CoAP ( Constrained Application Protocol )

Message COAP
EXCHANGE_LIFETIME : 247 secondes par défaut
CoAP ( Constrained Application Protocol )
Message COAP

Le message CoAP a une entête, suivi par la valeur du Token dont la longueur est indiquée
par le champ TKL, une option, un payload ( optionnel.)

 L'en-tête de CoAP commence par une partie fixe de quatre octets qui comprend :

 La version du protocole (Ver) : il s ’agit de la version du protocole CoAP, à savoir 1.

 Le type de message (T): Indique si le message est de type Confirmable (0),


Nonconfirmable (1), Acknowledgement (2), ou Reset (3).

 La longueur du Token (TKL): Indique la longueur (variable) du champ Token (0-8


octets)
CoAP ( Constrained Application Protocol )

Message COAP
• Code: Entier sur 8 bits, séparé en 3 bits de class (bits les plus significatifs) et 5 bits de
détail (bits les moins significatifs).
 La classe indique une requête (0), une réponse de succès (2), une réponse d
’erreur client (4) ou une réponse d ’erreur de serveur (5).

• Un Message ID sur deux octets qui permet de détecter les duplicatas et d'associer un
accusé de réception à un message précis.
CoAP ( Constrained Application Protocol )

Message COAP
CoAP ( Constrained Application Protocol )
Exemple de requête – reponse COAP
CoAP ( Constrained Application Protocol )
Segmentation d’un message CoAP
 CoAP utilise ses propres mécanismes de fragmentation via le transfert des représentation des ressources en utilisant
plusieurs blocs de requête/réponse.

 Cette approche permet au serveur de fonctionner sans état, sans établissement de connexion et sans avoir à mémoriser les
précédents transferts de bloc.
CoAP ( Constrained Application Protocol )
Interfonctionnement entre CoAP et HTTP

 Dans beaucoup de cas, les applications M2M/IoT communiqueront via le protocole HTTP alors que les capteurs/actionneurs
supporteront le protocole CoAP compte tenu des contraintes que leurs sont liés. Dans ce contexte, il est nécessaire de
disposer d’un proxy qui fera la traduction de protocole HTTP/CoAP
Protocoles de messagerie: MQTT, XMPP et AMQ
MQTT (Message Qeuning Telemetry Transport)

 MQTT (Message Qeuning Telemetry Transport) est un protocole de messagerie de publication et d‘abonnement (publish/subscribe)
basé sur le protocole TCP/IP.

 L‘approche publish/subscribe classifie les messages par catégories (topics) aux quelles les destinataires s‘abonnent (subscribe).

 Le client qui envoie un message (topic) est nommé publisher, celui qui reçoit le message est nommé subscriber.

 Un élément du réseau appelé broker, connu par le publisher et le subscriber, filtre les messages reçus et les distribue.
MQTT (Message Qeuning Telemetry Transport)

 Caractéristiques de MQTT

 MQTT (Message Qeuning Telemetry Transport) est un protocole de messagerie de publication et d‘abonnement
(publish/subscribe)
 Basé sur IP
 Asynchrone
 Adapté aux réseaux à faible bande passante
 Idéal pour l’utilisation sur les réseaux sans fils grâce notamment à un nombre limité de messages de petite taille
 Faible consommation en énergie car la publication et la consommation des messages est rapide
 Nécessite peu de ressources de calculs et de mémoires
 Transmet un message à plusieurs entités en une seule connexion TCP
 Orienté message (data)
 One to many, many to many
 Entêtes compressées MQTT topics sont structurées d‘une façon hiérarchique.
 Les topics sont sensibles à la casse, codées en UTF-8 et doivent comporter au moins un caractère.
MQTT
MQTT
XMPP (Extensible Messaging and Presence Protocol )

• Protocole de messagerie instantanée.


• L'objectif étant de faciliter l'interopérabilité des différentes messageries
instantanées.

• Basé sur XML : ce qui permet d'avoir des possibilités d'extensions aux
applications plus nombreuses qu'avec SIP.

• Utilise une sécurisation TLS (Transport Layer Security) des communications pour
éviter toute atteinte à la vie privée. Ainsi, aucun historique de conversation n'est
conservé sur le serveur, contrairement à d'autres systèmes de messagerie.
XMPP (Extensible Messaging and Presence Protocol )

Il est constitué de deux parties bien distinctes :


• La première est un protocole de base qui regroupe les concepts fondamentaux
pour faire fonctionner une infrastructure Jabber

• La deuxième, ce sont les XEPs, XMPP Extension Protocol, permettent d'ajouter


des fonctionnalités au protocole Jabber.

• l'un des principaux avantages de ce protocole est l'interopérabilité des


messageries qui l'implémentent. En effet, il est possible de dialoguer avec des
contacts n'utilisant pas le même logiciel de messagerie, juste le même protocole
qu'est XMPP.

• XMPP est utilisé par de nombreux acteurs notamment Google Talk,


Wanadoo, Livecom, Gizmo Project, etc.
XMPP (XMPP (Extensible Messaging and Presence Protocol )

Son fonctionnement est basé sur une architecture client/serveur


Fonctionnement du protocole XMPP
AMQP (Advanced Message Queuing Protocol)

 Le fonctionnement du protocole AMQP est basé sur le même principe que celui de MQTT, toutefois la notion
de publisher/subsciber est remplacée par celle de producer/consumer

Il utilise un mécanisme qui fait interagir :

 le message : objet qui concerne la communication

 le producteur (Producer) : le créateur et l’expéditeur du message.

 Broker (Exchange + file d’attente) : il réceptionne les messages et les distribue aux différentes files
d’attente (Queue)
 l’Exchange : Par un mécanisme de Binding, il oriente le message dans la file d’attente concernée
 Le consommateur (Consumer) : Destinataires du message
AMQP (Advanced Message Queuing Protocol)
Protocole réseau (Websocket)
• Le protocole Websocket permet l’établissement d’un canal de
communication full- duplex en une seule connexion TCP entre un client
et un serveur.
• Les trois principales phases de la vie du canal :
– la phase de connexion appelée «Handshake» initié par le client
– la phase d’échange bidirectionnel de messages
– la phase de clôture du canal initiée par l’une des deux parties
Protocole réseau (Websocket)
Protocole de transport TCP
• La couche Transport permet la communication et protège les données lorsqu'elles
circulent entre les couches.

• Le protocole TCP (Transmission Control Protocol) est utilisé pour la majorité des
connexions Internet.

• Il offre une communication d'hôte à hôte, en divisant de grands ensembles de


données en paquets individuels, et en renvoyant et réassemblant les paquets en
fonction des besoins

REMARQUE
TCP n’est pas une bonne option pour la communication dans des environnements à
faible consommation d’énergie car il a une surcharge importante en raison du fait
qu’il s’agit d’un protocole orienté connexion.
6LoWPAN (IPv6 Low Power Wireless Personal Area Network)

 6LoWPAN a été conçu pour permettre à IPv6 d’intégrer les appareils à contraintes et les
réseaux 802.15.4 qui les interconnectent

 6LoWPAN permet à des objets 802.15.4 de communiquer sur les réseaux IPv6 de sorte
que la connexion de bout en bout soit adressable

 6LoWPAN se trouve entre la couche liaison de données et la couche réseau


6LoWPAN (IPv6 Low Power Wireless Personal Area Network)

Propriétés du protocole 6LoWPAN


• Il a pour fonctions :
– La Fragmentation et rassemblements des paquets pour s'adapter au support
802.15.4 et reconstituer toutes les trames 802.15.4 reçues pour
régénérer le paquet IPv6 d'origine
– La Compression des en-têtes.
– Le Routage (connexions multi-sauts)
• Il ne prévoit pas de fonctions de sécurité en plus de celles potentiellement
mises en œuvre au niveau du 802.15.4 et de IP V6
6LoWPAN (IPv6 Low Power Wireless Personal Area Network)

Limites de IPV4 et IPV6 dans les réseaux de norme 802.15.4

 IPV4 et IPV6 sont adaptés pour les réseaux locaux, les réseaux métropolitains et les
réseaux étendus

 IPV4 et IPV6 sont très difficiles à implémenter pour les réseaux de capteurs et autres
systèmes à contrainte en raison, notamment, de la taille de leurs en-têtes qui sont de
taille fixe respectif, 20 et 40 octet
 Le volume des données minimales utiles imposées pour un MTU est de 1280 octet.

 Ce principe ne peut être respectées par les réseaux à contrainte 802.15.4 qui, eux, ont
taille maximale PSDU (de l'anglais Physical layer Service Data Unit de 127 octets
6LoWPAN (IPv6 Low Power Wireless Personal Area Network)

Fragmentation et réassemblage
 La couche adaptation 6LoWPAN fragmente les paquets IPv6 avant de les envoyer et les rassembler à
la réception

 Chaque fragment est précédé d’une en-tête de 4 ou 5 octets qui contient :


 5 bits : pour montrer qu’il s’agit d’un fragment
 8 bits : pour identifier la position du fragment dans le paquet IP (uniquement présent dans
les fragments suivant le premier)
 11 bits : pour garder la taille du paquet IP avant fragmentation ;
 16 bits : identifiant commun à tous les fragments d’un même paquet IP ;

 Si un seul fragment se perd, le paquet IP ne peut pas être reconstitué. Il faudra alors émettre à
nouveau tous les fragments
 Toutefois 6LoWPAN a implémenter un mécanisme d’acquittement des fragments qui permet à
l’expéditeur de ne retransmettre que les fragments non reçus (non acquittés).
6LoWPAN (IPv6 Low Power Wireless Personal Area Network)

Fragmentation et réassemblage
6LoWPAN (IPv6 Low Power Wireless Personal Area Network)

Compression des en-têtes

Le taux de compression est défini selon le type de communication :

 Pour les communications sur un lien local, l’en-tête IPv6 peut être réduit à
2 octets
 Pour des communications qui nécessitent plusieurs sauts IP, l’en-tête peut être
compressé sur 7 octets
6LoWPAN (IPv6 Low Power Wireless Personal Area Network)
6LoWPAN (IPv6 Low Power Wireless Personal Area Network)

Routage

6LoWPAN utilise l’algorithme LOWPAN_IPHC pour l'encapsulation et la


compression d'entêtes IPV6 afin de permettre aux paquets d’etre envoyés ou reçus
via le protocole de communication IEEE 802.15.4
L'en-tête IPv6s octets IPHC, résultante de la compression, intègre les informations
:
 de qualité de service,
 des prochains en-têtes,
 le nombre de sauts, et
 les adresses source/destination compressées

 Le routage est de type mesh-under ou route-over


6LoWPAN (IPv6 Low Power Wireless Personal Area Network)
Routage

 route-over réalise le routage au niveau de la couche réseau alors que le


Mesh-under l’implémente au niveau de la couche adaptation

 Dans le route-over, le paquet IPv6 est reconstitué sur chaque équipement


intermédiaire afin de prendre la décision de routage. Il offre une meilleures
sécurité dans des conditions dégradées (perte de paquets)

 Dans le mesh-under, le paquet IPv6 n’est reconstitué que sur l'équipement


destinataire. La décision de routage se fait au niveau 6LoWPAN. Il permet
d’avoir de court délais de transmission par rapport au route-over
6LoWPAN (IPv6 Low Power Wireless Personal Area Network)

Routage
6LoWPAN (IPv6 Low Power Wireless Personal Area Network)
Protocole de routage RPL
Les objets ont des ressources électriques limitées et sont souvent connectés
par des liens radio de qualité mediocre.

Les protocoles de routage traditionnels ne sont pas très adaptés à cette


situation car les routeurs ont peu de courant et pas mal de paquets se
perdent en route

Le groupe de travail ROLL de l’IETF a mis en place le protocole de routage


RPL (Routing Protocol for LLN (Low power and Lossy Network) pour
répondre aux contraintes spécifiques qu’impose ce type de réseaux.
Protocole de routage RPL
Les contraintes des réseaux IOT diffèrent selon les cas :
• certains réseaux veulent optimiser la consommation d’énergie
• d’autres doivent garantir la bonne réception des données.

RPL est un protocole de routage à vecteur de distance s’appuyant sur IPv6


qui a été conçu de manière suffisamment flexible pour répondre aux
exigences spécifiques des différentes situations à travers des métriques
disponibles sur chaque nœud.

Il construit un DODAG (Destination Oriented Directe Acyclic Graph) pour


l’acheminement des données vers la station de base.
Principe de fonctionnement du Protocole de routage RPL

 Par conséquent, Ces métriques sont utilisées pour optimiser la position du


nœud dans le DODAG en calculant son rang par rapport à ses parents.

 Dans le DODAG, chaque nœud transmet les données qu’il a récolté


jusqu’au DODAGroot (racine).

 Chaque nœud dans le DODAG sélectionne un parent selon une métrique


de routage donnée et une fonction objective. Les données récoltées sont
acheminées de fils à parent jusqu’à la racine.
Principe de fonctionnement du Protocole de routage RPL

La construction du DODAG commence par la racine ou LBR


(LoWPAN Border Router) qui est le nœud de collecte de données.

Initialement seule la racine fait partie intégrante de la topologie


active RPL

 Au cas où il y a plusieurs racines, le protocole de routage RPL


spécifie un ensemble de messages de contrôle ICMPv6 pour
échanger des informations liées à la construction du DODAG.

Le nœud racine sélectionné envoie périodiquement dans son


voisinage des informations de configuration embarquées dans des
messages de contrôle RPL appelés DIO (DODAG Information Objet)
Principe de fonctionnement du Protocole de routage RPL

Le nœud racine commence la diffusion périodique dans


son voisinage des informations de configuration
embarquées dans des messages de contrôle RPL appelés
DIO (DODAG Information Objet)

Les nœuds à portée de communication de la racine


recevront et traiteront ce message DIO, puis ils rendront
la décision de joindre ou pas le DODAG sur la base de
certains critère définis par la fonction objectif, et le coût
du chemin annoncé
Principe de fonctionnement du Protocole de routage RPL

La décision de joindre le DODAG étant prise, les nœuds qui


reçoivent les DIO peuvent rejoindre le réseau en choisissant
leur prochain saut ou parent RPL vers la racine

La racine du DODAG calcule le rang (position) du nœud


dans le graphe.

Si ce nœud est configuré pour agir comme un routeur dans


le réseau il commence à diffuser à son tour dans son
voisinage les nouvelles informations de la structure qu’il
vient de rejoindre à travers des messages DIOs.

Si le nœud n’est pas configuré pour être un routeur alors il


rejoint tout simplement la structure DODAG et n’envoie pas
de message DIO.
Principe de fonctionnement du Protocole de routage RPL

Lorsqu’un nœud reçoit plusieurs DIO qui viennent des voisins


différents, il opère un choix pour sélectionner parmi ceux-ci, celui
qui offre le meilleur coût au regard de l’objectif recherché et
envoie un DAO (Destination Advertisment Object au nœud racine afin
de répondre au message DIO

Pour ce cas nœud central dans la topologie finale a choisi pour parent
celui de droite au détriment de celui de gauche

Les nœuds voisins qui reçoivent les DIO vont répéter ce processus de
sélection de parent, d’ajout d’itinéraire et d’annonce des nouvelles
informations concernant la structure DODAG à l’aide des messages
DIOs.Ce processus continue jusqu’à couvrir tous les nœuds du réseau.
Principe de fonctionnement du Protocole de routage RPL

Lorsqu’un nœud reçoit plusieurs DIO qui viennent des voisins


différents, il opère un choix pour sélectionner parmi ceux-ci, celui
qui offre le meilleur coût au regard de l’objectif recherché et
envoie un DAO (Destination Advertisment Object au nœud racine afin
de répondre au message DIO

Pour ce cas nœud central dans la topologie finale a choisi pour parent
celui de droite au détriment de celui de gauche

Les nœuds voisins qui reçoivent les DIO vont répéter ce processus de
sélection de parent, d’ajout d’itinéraire et d’annonce des nouvelles
informations concernant la structure DODAG à l’aide des messages
DIOs.Ce processus continue jusqu’à couvrir tous les nœuds du réseau.
Messages de contrôle du protocole RPL

Le protocole RPL comporte quatre types de messages de contrôle utilisés


dans la phase de découverte de routes.

DIO (DODAG Information Object ) : ce message est envoyé de manière


périodique depuis le nœud racine vers tous ses nœuds voisins.

Les DIO se font par défaut en multidiffusion, mais en cas de sollicitation


spécifique d’un nœud, la monodiffusion est utilisée.
Messages de controle du protocole RPL

 Le DIO transporte plusieurs informations optionnelles mais celles qui sont


obligatoires :

 RPLinstanceID : Identifie de façon unique l’instance RPL dans le réseau

 DODAGID : Caractérise la racine du DODAG, (généralement l’adresse IPv6)

 Rang du nœud émetteur dans le DODAG : Renseigne sur sa position dans le


DODAG

 Numéro de version du DODAG : Permet de savoir si les informations reçues


sont « fraîches » ou obsolètes
Messages de controle du protocole RPL

 DIS (DODAG Information Sollicitation ) : Il est utilisée par un nœud qui souhaite
rejoindre la topologie (envoi en multidiffusion) ou qui réclame des informations de
configuration plus récentes (envoi en monodiffusion).

 DAO (Destination Advertisment Object ) : Message envoyé par les nœuds esclaves
(capteurs) au nœud racine afin de répondre au message DIO.

 DAO-Ack (DAO-Acknowledgment) : Il est utilisé par la destination en réponse à un


message DAO reçu pour acquitter ce dernier. En cas de non réception du DAO-Ack
par la source, celle-ci peut réémettre le DAO initial.
Protocole de routage RPL
Eléments de sécurité

• RPL est conçu pour des réseaux de machines ayant peu de capacités et il a par défaut peu
de sécurité.

• Dans le mode de base, n’importe quelle machine peut se joindre au réseau et se faire
désigner comme routeur.
• Dans le mode «pré-installé », les machines doivent connaître une clé pour joindre
le réseau.
• Dans le mode de sécurité maximale, dit «authentifié », il y a deux clés, une pour devenir
un nœud ordinaire et une pour devenir un routeur
Choix de la technologie
• La connectivité IoT exige l‘utilisation des normes spécifiques (WiFi, Zigbee
...) qui ont une portée limitée

• Les technologies cellulaires (2G, 3G, 4G) ne sont pas efficaces pour les
IOT. Les normes cellulaires basées sur la release 13 traitent la plupart des
lacunes, mais le coût est élevé et la disponibilité est limitée.

• Des alternatives telles que LoRa et SigFox sont largement utilisés dans le
monde pour des longues distances mais avec un débit de données limité.

• Les satellites pour l'IoT offriront des services dans des zones qui n'ont pas
de connectivité Internet.
FIN

Vous aimerez peut-être aussi