Que se passe-t-il dans un réseau maillé sans fil IPv6 de 100 sauts?

Actualités de de l'Intelligence Artificielle - Machine Learning - Objets connectés

Que se passe-t-il dans un réseau maillé sans fil IPv6 de 100 sauts?


Un réseau maillé sans fil est un réseau dans lequel les nœuds du réseau aident d’autres nœuds à atteindre la couverture et la connectivité en transférant des messages pour le compte d’autrui.

Les systèmes d’éclairage public sont un exemple où un réseau maillé sans fil est nécessaire. Un réseau à un seul tronçon ne fournirait pas une couverture suffisante, de sorte que les lumières s’entraident pour se rapprocher.

Un réseau IoT maillé IPv6 sans fil à l'état sauvage



L’image ci-dessus montre une installation d’un maillage IPv6 de la plate-forme IoT Thingsquare à l’état sauvage. (Bien que notre système soit connu pour être capable de fonctionner sur de très petits appareils fonctionnant avec une seule pile bouton, cette installation particulière n’utilise pas ces mécanismes de faible puissance car les lampadaires ont accès à l’alimentation.)

Le grand défi avec un si grand réseau sans fil est de comprendre ce qui se passe – et comment développer le logiciel qui les fait fonctionner.

Dans cet article, nous examinons comment nous développons de tels systèmes à grande échelle chez Thingsquare et les outils que nous utilisons. Nous repoussons les limites avec un réseau de 100 sauts, ce qui est plus grand que ce que nous voyons généralement dans les installations du monde réel.

Un banc d’essai sans fil à 100 nœuds

Pour voir ce qui se passe dans un réseau à 100 sauts, nous avons construit un banc d’essai dans notre bureau. Le banc d’essai se compose de 100 nœuds sans fil placés dans une étagère. Les nœuds utilisent tous le TI CC2538 System-on-a-Chip sans fil, exécutant le maillage sans fil Thingsquare sur un IEEE Couche radio basse puissance 802.15.4e. Les nœuds sont alimentés par USB, mais n’ont sinon qu’une connexion sans fil. Chaque nœud dispose également d’une LED, que nous utilisons pour développer et tester notre système d’éclairage sans fil. Par défaut, les nœuds forment un grand réseau sans fil.

Banc de test sans fil pour réseau maillé IPv6 IoT
Vue de visualisation sans fil du réseau maillé IPv6 IoT

Un banc d’essai de 100 nœuds et le réseau maillé sans fil créé par les nœuds du banc d’essai.

Étant donné que chaque nœud du banc de test est proche les uns des autres, ils peuvent facilement former un réseau à un seul saut. Autrement dit, chaque nœud peut atteindre tous les autres nœuds sans maillage.

Pour configurer un réseau de 100 sauts, nous configurons manuellement leurs routes. De cette façon, nous pouvons forcer le système à devenir un réseau à 100 sauts.

Mise en place de 100 sauts

Après avoir configuré le système pour avoir une structure de 100 sauts, le maillage ressemble à ceci:

Réseau maillé sans fil IPv6 6lowpan IoT avec 100 sauts

Le banc d’essai à 100 nœuds dans une configuration maillée sans fil de 100 sauts.

Nous avons maintenant un moyen de tester le système avec 100 sauts, quelque chose qui dépasse tout ce que nous sommes susceptibles de voir dans la nature.

100 sauts en action

Pour voir les 100 sauts en action, nous avons configuré un nœud pour qu’il agisse comme un renifleur et exécutons Wireshark pour capturer les paquets du réseau. Nous demandons ensuite au nœud qui est à 100 sauts de sécuriser TLS connexion avec le backend. Dans les journaux Wireshark, nous voyons le TLS trafic ainsi que le trafic de contrôle ICMPv6 utilisé par le protocole de routage RPL pour configurer et maintenir son graphique de routage.

(Pour plus d’informations sur le RPL Protocole de routage IPv6, consultez cet article de notre documentation.)

Inspection de la sécurité du réseau IoT du trafic TLS
Inspection de la sécurité du réseau IoT du trafic TLS

Wireshark enregistre depuis le renifleur montrant ICMPv6 et TLS circulation.

Si nous regardons le trafic à l’intérieur du réseau, nous pouvons voir comment les paquets se déplacent de nœud en nœud, à la manière d’un serpent:

Paquets réseau IoT

Les paquets traversent chaque nœud du réseau, 100 sauts au total.

Dans le simulateur

Un système maillé sans fil est extrêmement complexe et si un banc d’essai est essentiel pour tester le système, il ne suffit pas pour le développer.

Pour développer notre système maillé sans fil, nous utilisons notre simulateur de réseau sans fil. Le simulateur nous permet de configurer le même environnement que celui que nous voyons dans le monde réel, mais sur un seul ordinateur. Là, nous pouvons inspecter presque tous les aspects du système pour voir ce qui se passe.

Simulateur de réseau sans fil IoT IPv6

Le simulateur de réseau sans fil Cooja.

Pour voir un comportement similaire à celui de notre banc de test, nous avons mis en place une simulation avec une grille régulière de nœuds et les configurons de la même manière que nous l’avons fait dans le banc de test: ils choisissent les parents dans le graphe de routage pour rendre le réseau aussi long que possible.

Le simulateur nous permet également de voir les paquets dans une fenêtre de chronologie, où nous pouvons voir exactement ce que fait chaque nœud à un moment donné.

Simulateur sans fil de réseau IoT IPv6 avec trafic de protocole sécurisé TLS
Simulateur sans fil de réseau IoT IPv6 avec trafic de protocole sécurisé TLS

UNE TLS connexion dans le réseau et vues de la chronologie. Nous voyons l’échange de paquets sur plusieurs sauts.

Conclusion

Le réseau maillé sans fil nous permet de créer des réseaux à très grande échelle. Mais ces réseaux sont complexes et pour construire les logiciels qui les font fonctionner, nous avons besoin à la fois de bancs de test matériels et de simulateurs logiciels.