Aller au contenu principal

3. Classes of Constrained Devices (Classes d'appareils contraints)

3. Classes of Constrained Devices (Classes d'appareils contraints)

Malgré la diversité écrasante des appareils connectés à Internet, il peut être utile d'avoir une terminologie succincte pour différentes classes d'appareils contraints.

Dans ce document, les désignations de classe du tableau 1 peuvent être utilisées comme indicateurs approximatifs des capacités des appareils:

NomTaille des données (par ex., RAM)Taille du code (par ex., Flash)
Class 0<< 10 KiB<< 100 KiB
Class 1~ 10 KiB~ 100 KiB
Class 2~ 50 KiB~ 250 KiB

Tableau 1: Classes d'appareils contraints (KiB = 1024 octets)

Au moment de la rédaction de ce document, ces caractéristiques correspondent à des groupes distincts de puces et de cœurs de conception disponibles dans le commerce pour les appareils contraints. Bien qu'on s'attende à ce que les frontières de ces classes évoluent avec le temps, la loi de Moore tend à être moins efficace dans l'espace embarqué que dans les appareils informatiques personnels: les gains rendus disponibles par l'augmentation du nombre et de la densité de transistors sont plus susceptibles d'être investis dans des réductions de coûts et d'exigences en matière de puissance plutôt que dans des augmentations continues de la puissance de calcul.

Les appareils de classe 0 sont des motes très contraints de type capteur. Ils sont si sévèrement contraints en mémoire et en capacités de traitement qu'ils n'auront très probablement pas les ressources nécessaires pour communiquer directement avec Internet de manière sécurisée (mises en œuvre héroïques rares et soigneusement élaborées mises à part). Les appareils de classe 0 participeront aux communications Internet avec l'aide d'appareils plus grands agissant comme proxies, passerelles ou serveurs. Les appareils de classe 0 ne peuvent généralement pas être sécurisés ou gérés de manière complète au sens traditionnel. Ils seront très probablement préconfigurés (et seront rarement reconfigurés, voire pas du tout) avec un très petit ensemble de données. À des fins de gestion, ils pourraient répondre aux signaux de maintien en vie et envoyer des indications d'activation/désactivation ou d'état de santé de base.

Les appareils de classe 1 sont assez contraints en espace de code et en capacités de traitement, de sorte qu'ils ne peuvent pas facilement communiquer avec d'autres nœuds Internet utilisant une pile de protocoles complète telle que l'utilisation de HTTP, Transport Layer Security (TLS) et des protocoles de sécurité associés et des représentations de données basées sur XML. Cependant, ils sont suffisamment capables d'utiliser une pile de protocoles spécifiquement conçue pour les nœuds contraints (telle que le Constrained Application Protocol (CoAP) sur UDP [COAP]) et de participer à des conversations significatives sans l'aide d'un nœud passerelle. En particulier, ils peuvent fournir un support pour les fonctions de sécurité requises sur un grand réseau. Par conséquent, ils peuvent être intégrés en tant que pairs pleinement développés dans un réseau IP, mais ils doivent être parcimonieux avec la mémoire d'état, l'espace de code et souvent les dépenses énergétiques pour l'utilisation des protocoles et des applications.

Les appareils de classe 2 sont moins contraints et fondamentalement capables de prendre en charge la plupart des mêmes piles de protocoles que celles utilisées sur les ordinateurs portables ou les serveurs. Cependant, même ces appareils peuvent bénéficier de protocoles légers et optimisés en termes d'efficacité et de la consommation de moins de bande passante et de ressources réseau. En outre, l'utilisation de moins de ressources pour le réseau laisse plus de ressources disponibles pour les applications. Ainsi, l'utilisation des piles de protocoles définies pour les appareils plus contraints sur les appareils de classe 2 pourrait réduire les coûts de développement et augmenter l'interopérabilité.

Des appareils contraints avec des capacités nettement supérieures aux appareils de classe 2 existent. Ils sont moins exigeants d'un point de vue du développement de normes car ils peuvent largement utiliser les protocoles existants sans modification. Le présent document ne fait donc aucune tentative de définir des classes contraintes au-delà de la classe 2. Ces appareils peuvent toujours être contraints par une alimentation énergétique limitée.

En ce qui concerne l'examen des capacités des nœuds contraints, en particulier pour les appareils de classe 1, il est important de comprendre quel type d'applications ils sont capables d'exécuter et quels mécanismes de protocole seraient les plus appropriés. En raison des limitations de mémoire et autres, chaque appareil de classe 1 spécifique pourrait n'être capable de prendre en charge que quelques fonctions sélectionnées nécessaires à son fonctionnement prévu. En d'autres termes, l'ensemble des fonctions qui peuvent réellement être prises en charge n'est pas statique par type d'appareil: des appareils avec des contraintes similaires pourraient choisir de prendre en charge des fonctions différentes. Même si les appareils de classe 2 disposent de plus de fonctionnalités disponibles et peuvent être en mesure de fournir un ensemble plus complet de fonctions, ils doivent encore être évalués pour le type d'applications qu'ils exécuteront et les fonctions de protocole dont ils auraient besoin. Pour pouvoir dériver des exigences, les cas d'utilisation et l'implication des appareils dans l'application et le réseau doivent être analysés. Les cas d'utilisation peuvent combiner des appareils contraints de plusieurs classes ainsi que des nœuds Internet plus traditionnels.