Académique Documents
Professionnel Documents
Culture Documents
Motivations
• Connectivité omniprésente : diversité des solutions de connectivité sans fil, possibilité de
connecter ―tout‖.
• 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 :
• 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
– 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:
• Un réseau étoile se compose d‘un seul concentrateur auquel tous les nœuds
sont connectés.
• 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.
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.
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:
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
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
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.
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.
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.
Fonctionnement
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.
Fonctionnement
Un jeton (token) est utilisé pour associer une requête à une réponse indépendamment des
messages qui les transportent.
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 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).
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 :
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 )
• 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 )
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
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.
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
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
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)
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
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.
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
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
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.
• 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