[ad_1]

Comment testons-nous un système qui sera déployé comme ceci :

Déploiement à grande échelle d'un réseau maillé IoT

Avec une configuration de test qui ressemble à ceci :

Banc d'essai de réseau maillé IoT à grande échelle

La réponse: MACfiltrage de paquets au niveau. Avec un peu de logiciel pour nous aider à le configurer correctement.

Comment tester un réseau maillé IoT à grande échelle avec une configuration à petite échelle

Chez Thingsquare, nous construisons de grandes solutions Internet des objets (IoT) qui impliquent plusieurs milliers d’appareils par système.

Pour couvrir de vastes zones, nous utilisons des fréquences radio inférieures au GHz avec un réseau maillé IPv6. Dans un réseau maillé, chaque appareil étend la portée des autres appareils.

Qu’entend-on par grand ? Parfois, c’est un grand magasin. Parfois, c’est une ville entière.

Est-ce difficile?

Oui.

L’échelle est un défi en soi.

Pour ajouter au défi, chaque solution IoT est construite avec un code personnalisé.

Même avec une plate-forme solide comme point de départ, chaque solution est différente.

Un code personnalisé s’exécute sur les minuscules microprocesseurs qui se trouvent à l’intérieur de chaque appareil. Il existe un logiciel personnalisé qui contrôle les appareils et gère les données qu’ils produisent.

Ce logiciel doit être développé. Et il faut le tester. Et ses performances doivent être bonnes.

Les solutions IoT sont des systèmes très complexes. Dans des systèmes aussi complexes, il est difficile de prédire les performances sans exécuter réellement le système. Ensuite, mesurez ses performances.

Nous devons donc faire fonctionner le système dès que possible. Et le système doit être aussi proche de la réalité que possible.

Une configuration de laboratoire

Nous pourrions simplement déployer un système sur le terrain, avant même d’avoir écrit un code personnalisé. Et puis mettre à jour progressivement le code, en direct, sur le terrain au fur et à mesure que nous le développons.

Ça marche. Nous l’avons fait à l’occasion. Mais c’est très inefficace.

Et il y a toujours un risque que nous déployions par inadvertance une version du code qui a un bogue catastrophique qui rendra tout le système inutilisable.

Nous avons donc besoin d’une configuration de laboratoire.

Avec une configuration de laboratoire, nous avons un accès physique immédiat à tous les appareils. Cela signifie que nous pouvons les reprogrammer si nous cassons quelque chose.

Nous avons également le contrôle de l’environnement. Doit-on le tester avec une température spécifique ? Avons-nous besoin de générer des interférences radio sur des fréquences spécifiques ? Au labo, c’est facile. Sur le terrain? Pas tellement.

Une configuration de laboratoire peut être simple et toujours utile. Tout ce qu’il faut, c’est un tas de cartes matérielles placées à proximité les unes des autres.

La suite appartient au logiciel.

Comment faire en sorte qu’un système à petite échelle se comporte comme un système à grande échelle

Il existe plusieurs facteurs qui rendent une configuration de laboratoire différente d’un déploiement sur le terrain.

Dans le laboratoire, tous les appareils sont proches les uns des autres. Cela signifie qu’ils s’entendent.

Sur le terrain, les appareils sont éloignés les uns des autres. Ainsi, ils ne pourront entendre que les appareils qui se trouvent à côté.

Nous voulons imiter ce comportement en laboratoire.

C’est-à-dire que nous voulons atteindre ceci :

Réseau maillé IoT étendu sur une grande distance

Quand on a en réalité ça :

Réseau maillé IoT où tous les appareils sont regroupés à proximité les uns des autres

Voici donc ce que nous faisons :

  • Nous programmons chaque appareil avec la possibilité de sélectionner des appareils spécifiques qu’il choisit d’entendre – et lesquels ignorer.
  • Nous configurons cette table pour chaque appareil d’une manière spécifique – d’une manière qui correspond à la structure de réseau que nous voulons émuler.

Ce processus est appelé MAC filtrage, car il filtre des périphériques spécifiques en fonction de leur contrôle d’accès au support (MAC) adresse de couche. le MAC L’adresse de couche est une adresse longue de 16 octets qui est gravée dans le matériel de chaque périphérique. Cette adresse est parfois appelée EUI – Extended Unique Identifier.

Configuration manuelle des tableaux des appareils et de leurs MAC les adresses sont un travail difficile cependant. Nous facilitons donc les choses en permettant aux appareils d’être placés sur une carte.

Les appareils sont placés sur une carte

Une fois que tous les appareils sont placés sur la carte, nous cliquons sur le Apply bouton. Cela entraînera tous les appareils MAC filtres de couches à configurer en fonction de leurs positions sur la carte.

Mais attendez!

Que se passe-t-il si nous avons placé des appareils dans des positions où ils ne sont pas accessibles depuis d’autres appareils du réseau ? Cela pourrait rendre les appareils inaccessibles.

Heureusement, le système aide en identifiant cette situation :

Les appareils sont placés sur une carte

Et nous permet d’y remédier en plaçant les appareils problématiques dans de meilleures positions.

Les appareils sont placés sur une carte

Une fois tous les appareils positionnés, nous pouvons demander au système d’activer les filtres d’appareils.

Activez les filtres avec le bouton Activer les filtres

Le réseau commencera alors à activer ses filtres. Étant donné que le réseau a maintenant une disposition complètement différente, cela peut prendre quelques minutes pour que le réseau comprenne sa nouvelle structure.

Une fois que tous les appareils ont signalé leurs nouveaux parents, nous pouvons voir la structure du réseau dans la vue maillée.

La structure maillée du réseau reflète la vue cartographique que nous avons créée

Nous pouvons maintenant exécuter les mesures de performance que nous voulons, avec la structure de réseau complète que nous pouvons espérer avoir sur le terrain !

Comment ça marche, sous le capot

Sous le capot, les appareils forment un réseau maillé IPv6 sans fil. Chaque appareil possède une adresse IPv6 et un MAC-adresse de couche. Chaque appareil a également la possibilité d’activer un filtre de couche MAC, avec un ensemble spécifique d’adresses.

Par défaut, le MAC le filtre est désactivé. Jusqu’à ce que nous l’activions explicitement.

Lorsque nous plaçons les appareils sur la carte, et cliquez sur le Apply bouton, le système détermine quels appareils sont proches les uns des autres. Pour chaque appareil, il faut MAC adresses de ses voisins virtuels et les place dans une variable appelée d.feui. Ces variables sont ensuite synchronisées, de sorte que tous les appareils disposent d’une liste de ce MAC adresses à filtrer.

Chaque appareil aura un nombre différent de voisins dans sa table de filtrage.

La structure maillée du réseau reflète la vue cartographique que nous avons créée

Avant d’activer les filtres pour un réseau, il est crucial que toutes les tables de filtres aient été synchronisées. Sinon, nous pouvons nous retrouver dans une situation asymétrique : l’appareil A peut avoir l’appareil B dans sa table, mais l’appareil B n’a pas l’appareil A dans sa table. Les appareils pourraient alors ne jamais pouvoir se joindre.

Une fois que chaque filtre est synchronisé, les filtres sont activés simultanément.

Et puis, les appareils commencent à agir comme s’ils se trouvaient dans un réseau beaucoup plus vaste qu’ils ne le sont en réalité.

Désavantages

Bien que MAC-Le filtrage de couche est un moyen standard d’émuler des structures de réseau plus grandes, il n’est pas sans inconvénients.

  • Les appareils sont toujours physiquement proches les uns des autres et leurs transmissions radio vont, physiquement, interférer les unes avec les autres. Même s’ils n’entendent pratiquement pas les paquets des autres.
  • Sur le terrain, les appareils éloignés les uns des autres seront parfois entendus et parfois non. MAC le filtrage de couche n’émulera pas cela.

Cette méthode n’est donc pas capable de capturer tous les effets que nous voyons sur le terrain.

Mais cela nous permet de faire bien plus, dans un tiroir de commode, qu’on ne le pense.

Crédits supplémentaires

Photo de sergio souza provenant de Pexels