Vous êtes sur la page 1sur 52

Chapitre 04

Couche Réseau pour IoT

Al i OUACHA
FSR, Uni versité Mohammed V de rabat
a.ouacha@um5r.ac.ma
Plan

 Rappel sur IPv6


 6lowPAN : couche d’adaptation

 Protocoles de routage

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 2


Système IoT

Rappel IPv6

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 3


Rappel sur IPv6

◦ Le très grand nombre d'objets connectés actuels et envisagés requiert un


vaste espace d'adressage.
◦ La densité des réseaux LoWPAN empêche les utilisateurs ou administrateurs
d'envisager des opérations manuelles (configuration) sur chaque objet.
◦ L’Impossibilité ou le difficulté d’accès aux Objets;

◦ Il est alors impératif de se baser sur des mécanismes d'auto-configuration


◦ Par exemple, chaque objet peut déterminer sa propre adresse IP.

◦ Ces contraintes peuvent être satisfaites par l'utilisation d'IPv6, qui a donc été
choisi comme le protocole d'interconnexion des objets avec l'Internet.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 4


Rappel sur IPv6
Adressage

◦ Une adresse IPv6 est codée sur 128 bits (16 Octet) , impliquant un espace
d'adressage extrêmement vaste.
◦ Ces adresses sont écrites sous une forme hexadécimale:
2001:0db8:0000:85a3:0000:0000:ac1f:8001
◦ Cette écriture peut également être compressée:
2001:db8:0:85a3::ac1f:8001
◦ Le «::» désignent une suite de 0 (Normalement la plus longue )
◦ Un «0» résume une suite de 0 consécutifs sur 2 octets
◦ Les «0» de début sur chaque 2 octets seront élémines.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 5


Rappel sur IPv6
Adresse IPv6

◦ Une adresse IPv6 comporte les champs suivants :


1) Le premier, sur n bits:
désigné sous le terme topologie publique et décrit la connectivité du site,
2) Le second, sur m bits:
décrit la topologie locale du site.
3) le troisième, sur 64 bits:
identifie de manière unique
une interface
1 2 3

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 6


Rappel sur IPv6

◦ Dans IPv6, le champ préfixe est désigné par un nombre représentant sa


longueur en bits
◦ l'écriture est donc de la forme : @IPv6/longueur_du_préfixe_en_bits
FE0C:DA98/32 FE0C:DA98:0:0/64 FE0C:DA98::/64
◦ Une adresse IP peut être utilisée comme URL,
◦ Dans IPv4 : http://80.12.4.212:8080 où :8080 désigne l'application
distante (port).
◦ En IPv6, une URL s’écrit comme : http://[FE0C:DA 98::5645:3763]:8080
la RFC 2732 propose d'écrire l'adresse IPv6 entre « [ ] »,
◦ http:// FEOC:DA98::5645:3763:8080 introduit une ambiguïté ?

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 7


Rappel sur IPv6
Type d’adresses

◦ IPv6 distingue trois types d'adresse :


◦ Adresses unicast (one-to-one) :
◦ Adresses multicast (one-to-any) :
◦ Adresses anycast (one-to-nearest)

◦ En IPv6 le broadcast est disparu. Il est


Remplacé par une généralisation
de multicast.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 8


Rappel sur IPv6
Entête IPv6

◦ IPv6 apporte des en-têtes de


paquets simplifiées, facilitant ainsi
leur traitement par les routeurs.

◦ Le protocole IPv6 intègre nativement


des mécanismes de sécurisation, de
qualité de service ou
d'autoconfiguration.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 9


Rappel sur IPv6

◦ Toutes ces caractéristiques ont motivé l'intégration d'IPv6 au sein d'objets


contraints constituant les réseaux personnels de faible consommation
(LoWPAN) ciblés par la norme IEEE 802.15.4.
◦ Étant donné qu'IPv6 nécessite la prise en charge de tailles de paquets bien
supérieures à la plus grande taille de trame IEEE 802.15.4, une couche
d'adaptation est définie (6LoWPAN).
◦ 6LoWPAN définit les mécanismes et les dispositions requis pour rendre IPv6
pratique sur les réseaux IEEE 802.15.4 :
◦ Compression d'en-tête,
◦ Fragmentation de paquets,
◦ Autoconfiguration d'adresse.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 10


6LoWPAN
MTU

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 11


6LoWPAN
Unité de transmission maximale (MTU)

◦ La taille MTU des paquets IPv6 est


de 1 280 octets.
◦ Un paquet IPv6 complet ne rentre
pas dans une trame IEEE 802.15.4.
◦ Les unités de données du protocole
802.15.4 ont des tailles différentes
en fonction de la quantité de
surcharge présente.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 12


6LoWPAN
Unité de transmission maximale (MTU)

◦ À partir d’une taille maximale de paquet de couche physique de 127 octets et


d’une surcharge de trame maximale de 25 octets, la taille de trame maximale
résultante au niveau de la couche de MAC est de 102 octets.
◦ La sécurité de la couche liaison impose une surcharge supplémentaire (dans le
cas maximum: 21 octets), ne laisse que 81 octets disponible.
◦ De plus, comme l’en-tête IPv6 fait 40 octets, cela ne laisse que 41 octets pour
les protocoles de couche supérieure, comme UDP.
◦ Ce dernier utilise 8 octets dans l'en-tête, ce qui ne laisse que 33 octets pour
les données d'application.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 13


6LoWPAN
Unité de transmission maximale (MTU)

◦ Afin de pouvoir utiliser ou, à défaut, envisager des applications générant


davantage de données, il est impératif de pouvoir gagner de la place dans le
paquet IPv6, par exemple en en compressant l’en-tête.

◦ Si les paquets restent de taille trop importante, il est ensuite possible de


fragmenter les émissions tout en garantissant un réassemblage à destination,
qui utilisera encore plus d'octets.

◦ Ces mécanismes de compression d'en-tête et de fragmentation ont été


standardisés au sein du groupe de travail 6LoWPAN de l'IETF (RFC 6282 et
4944 respectivement).

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 14


6LoWPAN
Unité de transmission maximale (MTU)

◦ Compresser + Fragmenter.
◦ Ces mécanismes ont été
standardisés au sein du groupe
de travail 6LoWPAN de l'IETF
(RFC 6282 et RFC 4944).

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 15


6LoWPAN
Architecture

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 16


6LoWPAN
Architecture

◦ L'architecture 6LoWPAN est composée de


réseaux sans fil à faible consommation
(LoWPAN) qui sont des réseaux stub IPv6.

◦ L'architecture globale comporte Trois


types différents de LoWPAN:
◦ LoWPAN simples (Simple LoWPANs)
◦ LoWPAN étendus (Extended LoWPANs)
◦ LoWPAN ad hoc (Ad hoc LoWPANs).

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 17


6LoWPAN
Architecture

◦ Ad hoc LoWPAN :
◦ n’est pas connecté à Internet, mais fonctionne sans infrastructure.
◦ Simple LoWPAN :
◦ connecté via un routeur Edge LoWPAN à un autre réseau IP.
◦ Extended LoWPAN :
◦ Englobe les LoWPAN de plusieurs routeurs Edge ainsi qu'un lien de base les
interconnectant

◦ Un LoWPAN est un ensemble de nœuds 6LoWPAN qui partagent un préfixe


d'adresse IPv6 commun.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 18


Architecture 6LoWPAN

◦ Les LoWPANs sont connectés à d'autres


réseaux IP via des Routeurs Edge.

◦ Le routeur Edge joue plusieurs rôles:


◦ Gérer de l’achemine du trafic
entrant et sortant du LoWPAN,
◦ Gérer la compression
◦ Assurer la découverte de voisins
◦ Gérer la connectivité IPv4 dans
le cas ou le LoWPAN doit être
connecté à un réseau IPv4.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 19


6LoWPAN
Couche d'adaptation
&
Pile de protocoles

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 20


6LoWPAN
Pile de protocoles

◦ 6LoWPAN change radicalement l’environnement de l’IoT.


◦ Il introduit une couche d'adaptation entre les couches liaison et réseau dans
la pile IP pour permettre la transmission de datagrammes IPv6 sur des liaisons
radio IEEE 802.15.4.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 21


6LoWPAN
Couche d'adaptation

◦ Lors de l'envoi de données via les couches MAC et PHY, une couche
d'adaptation est toujours utilisée.
◦ Pour 6LoWPAN, la RFC 4944 définit la manière dont une trame de données
IPv6 est encapsulée sur une liaison radio IEEE 802.15.4.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 22


6LoWPAN
Couche d'adaptation

◦ Compression d'en-tête,
◦ Compresse les en-têtes IPv6 de 40 octets et UDP de 8 octets en se basant sur
l'utilisation de champs communs.
◦ Les champs d'en-tête sont supprimés lorsqu'ils peuvent être dérivés de la
couche de liaison.
◦ La façon dont les en-têtes peuvent être compressés est l’un des facteurs qui
ont conduit la norme à ne prendre en charge qu’IPv6 et non IPv4.

◦ Fragmentation et réassemblage
◦ La liaison de données IEEE 802.15.4 avec une longueur de trame maximale
de 127 octets ne correspond pas au MTU d'IPv6, qui est de 1 280 octets.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 23


6LoWPAN
Couche d'adaptation

◦ Configuration automatique sans état.


◦ La configuration automatique sans état est le processus par lequel les
appareils du réseau 6LoWPAN génèrent automatiquement leur propre
adresse IPv6.
◦ Pour éviter le cas où deux appareils obtiennent la même adresse, 6LoWPAN
utilise le mécanisme de Détection d’Adresses Dupliquée (DAD - Duplicate
Address Detection).

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 24


6LoWPAN
Couche d'adaptation

◦ Tout au long de la couche d'adaptation 6LoWPAN, le concept clé se base sur


un contexte partagé pour éliminer des champs d'en-tête.
◦ Cela peut compresser tous les en-têtes jusqu’à quelques octets. Il est possible
de compresser les champs d'en-tête car ils portent souvent des valeurs
communes.
◦ Les valeurs communes sont dues à l'utilisation fréquente d'un sous-ensemble
de fonctionnalités IPv6, à savoir UDP, TCP et ICMP.
◦ La couche d'adaptation 6LoWPAN supprime également les informations
dupliquées qui peuvent être dérivées d'autres couches, telles que les adresses
IPv6 et les champs de longueur UDP/IPv6.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 25


6LoWPAN
Format de la Trame

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 26


6LoWPAN
Format de Trame

◦ Les formats d'encapsulation (appelés "encapsulation LoWPAN" - "LoWPAN


encapsulation") constituent la charge utile dans l'unité de données (PDU) de
protocole MAC IEEE 802.15.4.
◦ La charge utile dans 6LoWPAN (un paquet IPv6) suit l’en-tête d'encapsulation.

◦ Tous les datagrammes encapsulés LoWPAN et transportés via IEEE 802.15.4


sont préfixés par une pile d'en-tête d'encapsulation.
◦ Chaque en-tête de la pile d'en-tête contient un type d'en-tête suivi de zéro
ou plusieurs champs d'en-tête.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 27


6LoWPAN
Format de Trame

◦ Tous les datagrammes encapsulés LoWPAN et transportés via IEEE 802.15.4


sont préfixés par une pile d'en-tête d'encapsulation.
◦ Chaque en-tête de la pile d'en-tête contient un type d'en-tête suivi de zéro
ou plusieurs champs d'en-tête.
◦ Exemples des piles d'en-têtes typiques qui peuvent être utilisées :

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 28


6LoWPAN
Format de Trame

◦ Lorsque plus d’un en-tête LoWPAN est utilisé dans le même paquet, ils
doivent apparaître dans l’ordre suivant :
◦ En-tête d’adressage du maillage (Mesh Addressing Header)
◦ En-tête de diffusion (Broadcast Header)
◦ En-tête de fragmentation (Fragmentation Header)
◦ En-tête de Compression IPv6 (IPv6 Header)
◦ Charge utile en dernière position (Payload)

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 29


6LoWPAN
Format de Trame

????

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 30


6LoWPAN
Format de Trame

◦ Type de répartition et en-tête (Dispatch Type and Header)

◦ Le type de répartition (Dispatch Type) : défini par les deux premier bits.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 31


6LoWPAN
Format de Trame

◦ Type de répartition et en-tête (Dispatch Type and Header)

◦ Le type de répartition (Dispatch Type) : défini par les deux premier bits.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 32


6LoWPAN
Format de Trame

◦ Type de répartition et en-tête (Dispatch Type and Header)

◦ Le type de répartition (Dispatch Type) : défini par les deux premier bits.
◦ Dispatch (6 bits): Identifie le type d’en-tête qui suit immédiatement l’en-tête
de répartition (Dispatch).
◦ type-specific header: En-tête déterminé par le Dispatch

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 33


6LoWPAN
Format de Trame

Dispatch Type and Header


◦ Exemples de valeurs et
leurs correspondances pour
le champ Dispatch :

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 34


6LoWPAN
Compression d'en-tête IPv6

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 35


6LoWPAN
Compression d'en-tête IPv6

◦ Le mécanisme de compression d'en-tête IPv6 exploite des informations


disponibles dans la couche 6LoWPAN.
◦ On suppose alors que les communications qui utilisent 6LoWPAN reposent sur
IPv6, que la taille de la charge utile peut être déduite des couches inférieures
ou encore que les adresses des interfaces sont générées à partir de préfixes
propres aux liens IEEE 802.15.4 sous-jacents.
◦ L'en-tête compressée LOWPAN_HC1 intègre notamment des informations
permettant de reconstituer les adresses source et destination, ainsi que les
en-têtes qui suivent.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 36


6LoWPAN
Compression d'en-tête IPv6

◦ L’exemple suivant montre trois scénarios de communication :

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 37


6LoWPAN
Compression d'en-tête IPv6

1. Communication entre deux appareils au sein du même réseau 6LoWPAN,


en utilisant des adresses lien-local, l'en-tête IPv6 peut être compressé à
seulement 2 octets.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 38


6LoWPAN
Compression d'en-tête IPv6

2. La communication destinée à un appareil en dehors du réseau 6LoWPAN


et le préfixe du réseau externe sont connus, où l'en-tête IPv6 peut être
compressé à 12 octets.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 39


6LoWPAN
Compression d'en-tête IPv6

3. Similaire à 2, mais sans connaître le préfixe du périphérique externe, cela


donne un en-tête IPv6 de 20 octets.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 40


6LoWPAN
Compression d'en-tête IPv6

◦ L'en-tête LOWPAN_HC1 a le format suivant :

◦ IPv6 source address (bits 0 and 1):


◦ 00: PI, II ◦ 10: PC, II PI: Prefix carried in-line.
◦ 01: PI, IC ◦ 11: PC, IC PC: Prefix compressed.
II: Interface identifier carried in-line.
◦ IPv6 destination address (bits 2 and 3): IC: Interface identifier elided
◦ 00: PI, II ◦ 10: PC, II
◦ 01: PI, IC ◦ 11: PC, IC
FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 41
6LoWPAN
Compression d'en-tête IPv6

◦ L'en-tête LOWPAN_HC1 a le format suivant :

◦ Traffic Class and Flow Label (bit 4):


◦ 0: not compressed;
◦ full 8 bits for Traffic Class and 20 bits for Flow Label are sent
◦ 1: Traffic Class and Flow Label are zero
◦ Next Header (bits 5 and 6):
◦ 00: not compressed; full 8 bits are sent ◦ 10: ICMP
◦ 01: UDP ◦ 11: TCP
FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 42
6LoWPAN
Compression d'en-tête IPv6

◦ L'en-tête LOWPAN_HC1 a le format suivant :

◦ HC2 encoding (bit 7):


◦ 0: No more header compression bits
◦ 1: HC1 encoding immediately followed by more header compression bits
per HC2 encoding format.
◦ Bits 5 and 6 determine which of the possible HC2 encodings apply (e.g.,
UDP, ICMP, or TCP encodings).

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 43


6LoWPAN
Compression d'en-tête UDP

◦ Encodage des champs d'en-tête UDP

◦ Le « codage HC_UDP » pour UDP est le suivant (sur 7 bits) :


◦ Port source UDP (bit 0) :
◦ 0: Non compressé, transporté « en ligne »
◦ 1: compressé à 4 bits.
◦ Le port source réel de 16 bits est obtenu en calculant : P + valeur short_port.
◦ La valeur de P est le nombre 61616 (0xF0B0).
◦ Le short_port est exprimé sous la forme d'une valeur de 4 bits qui est
transportée "en ligne"
FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 44
6LoWPAN
Compression d'en-tête UDP

◦ Encodage des champs d'en-tête UDP

◦ Port de destination UDP (bit 1) :


◦ 0: Non compressé, transporté « en ligne »
◦ 1: compressé à 4 bits.
◦ Le port de destination réel de 16 bits est obtenu en calculant : P + valeur
short_port.
◦ La valeur de P est le nombre 61616 (0xF0B0).
◦ Le short_port est exprimé sous la forme d'une valeur de 4 bits qui est
transportée "en ligne"
FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 45
6LoWPAN
Compression d'en-tête UDP

◦ Encodage des champs d'en-tête UDP

◦ Longueur (bit 2) :
◦ 0: non compressé, transporté "en ligne"
◦ 1: compressé,
◦ longueur calculée à partir des informations de longueur d’en-tête IPv6.
◦ La valeur du champ de longueur UDP est égale à la longueur de charge
utile de l'en-tête IPv6, moins la longueur de tout en-tête d'extension
présent entre l'en-tête IPv6 et l'en-tête UDP.
◦ Réservé (bits 3 à 7)
FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 46
6LoWPAN
Fragmentation

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 47


6LoWPAN
Fragmentation

◦ Lorsqu'un paquet IPv6 (avec compression d'en-tête ou non) peut être inclus
dans une trame IEEE 802.15.4, l'encapsulation se déroule classiquement sans
fragmentation.
◦ Si ce n'est pas le cas, il est possible de générer plusieurs fragments et
d'ajouter un en-tête de fragmentation qui permettra le réassemblage à la
destination.
◦ Le premier fragment contient l'en-tête suivante :

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 48


6LoWPAN
Fragmentation

◦ On retrouve ici les 5 bits du Dispatch indiquant qu'il s'agit d'un premier
fragment.
◦ Le champ datagram_size précise la taille du paquet IP avant fragmentation
◦ Le champ datagram_tag est une étiquette, identique pour tous les fragments
d’un même paquet IP.

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 49


6LoWPAN
Fragmentation

◦ Les fragments suivants devraient contenir l'en-tête de fragmentation suivante:

◦ Les 5 bits du Dispatch positionnés à 11100, ce qui signifie qu'il s'agit d'un
fragment de paquet IPv6 mais pas le premier.
◦ Les champs datagram_size et datagram_tag sont les mêmes que le 1er
fragment
◦ le champ datagram_offset indique la position de ce fragment au sein du
paquet IPv6
FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 50
Routage dans IoT

FSR - MSID - 2023-2024 CHAPITRE 04 - COUCHE RÉSEAU POUR IOT 51


Chapitre 05
&&&&&&&&&&&&&&&&

Al i OUACHA
FSR, Uni versité Mohammed V de rabat
a.ouacha@um5r.ac.ma

Vous aimerez peut-être aussi