Table des matières

Introduction

Composants utilisés

Protocole CSMP (Simple Management Protocol) CoAP

Utilisation du protocole CSMP dans les réseaux de terrain

Dépannage de CSMP

Erreurs de signature

Valider les informations de matériel/micrologiciel du compteur

Valider le certificat du compteur

Validez le fichier de configuration XML sur le compteur

Synchronisation d'horloge FND avec NTP

Les compteurs sont signalés dans FND

Stratégie d'équilibrage de charge et messages CSMP

Exemple de flux d'appels CSMP :

Compteur à FND

Actualisation manuelle des mesures d'un compteur à partir de FND

Réponse du compteur pendant la demande manuelle d'actualisation de la mesure (de FND)

Organigramme pour l'enregistrement CSMP

Introduction

Ce document décrit les détails du protocole CSMP ainsi que les étapes de dépannage des problèmes d'enregistrement.

Composants utilisés

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Protocole CSMP (Simple Management Protocol) CoAP

Le protocole de gestion simple CoAP (CSMP) est un protocole de gestion de réseau à distance destiné aux périphériques réseau intégrés fonctionnant sur des réseaux à large bande passante.

CSMP est construit sur le protocole CoAP (Constrained Application Protocol). CoAP est un protocole binaire basé sur UDP qui est conçu pour fournir une sémantique de type HTTP (GET/POST de ressources avec des URL) avec une surcharge d'en-tête minimale dans un environnement contraint et compatible avec la multidiffusion.

CSMP définit un petit ensemble de ressources CoAP identifiées par des chemins d'URL spécifiques qui représentent des points d'extrémité pour l'échange de données.

Le NMS et les périphériques finaux communiquent directement entre eux par le biais du protocole CoAP, sans proxy ni passerelles.

Un agent de gestion exécuté sur le périphérique intégré utilise le protocole CoAP comme client pour communiquer directement avec une application de gestion de réseau.

Le client CSMP dans le périphérique intégré envoie des requêtes à des ressources CoAP particulières fournies par un serveur CSMP dans l'application.

Avec la solution FAN, l'application de gestion du réseau est le FND (Field Network Director).

En outre, l'agent de gestion s'exécutant sur le périphérique intégré utilise CoAP comme serveur pour accepter les requêtes d'un FND s'exécutant dans un emplacement distant.

Le client CSMP dans le FND envoie des requêtes à des ressources CoAP particulières fournies par un serveur CSMP dans les périphériques intégrés.

Pour référence, un message CoAP a la structure suivante :

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|Ver| T | OC | Code | ID du message |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Options (le cas échéant) ...

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Charge utile (le cas échéant) ...

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Les options sont des TLV spécifiques au CoAP qui ont cette structure :

+—+—+—+—+—+—+—+—+—+

| Option Delta | Longueur | pour 0,14

+—+—+—+—+—+—+—+—+—+

| Valeur d'option ...

+—+—+—+—+—+—+—+—+—+

Le code de méthode ou code de réponse de type HTTP CoAP est contenu dans le champ « Code ». L'ensemble d'options CoAP inclut l'URL de la ressource (divisée en parties hôte, port, chemin et requête).

Utilisation du protocole CSMP dans les réseaux de terrain

FND gère les terminaux Mesh ou Meter, qu'il s'agisse d'un compteur de gaz, d'eau ou d'énergie. FND communique avec les terminaux de mesure à l'aide du protocole CSMP mentionné ci-dessus.

Les messages CSMP sont chiffrés. HSM ou SSM stocke les clés utilisées pour chiffrer les messages CSMP.

SSM (Software Security Module) ou HSM (Hardware Security Module) stocke également le certificat CSMP nécessaire à la communication.

Dépannage de CSMP

Erreurs de signature

Server.log indique que les compteurs comportent des erreurs de signature.

%IOTFND-6-UNSPECIFIED : %[ch=HandleMessage][eid=0007810800CA759B][sev=INFO][tid=CoAP Conformant-3] : Le groupe de microprogrammes en cours d'exécution sur le périphérique est id=243 mais doit être id=317(Signature CSMP non valide).             Envoi de GroupAssign.

Valider les informations de matériel/micrologiciel du compteur

Par exemple, le résultat obtenu pour le compteur EID "fd00:abd:51:c000:207:8108:e7:6fda"

[root@lcdcfndappp01 bin]# /opt/cgms-tools/bin/csmp-request -r [fd00:abd:51:c000:207:8108:e7:6fda] 75

[75/FirmwareImageInfo] : {"index" : 1,"fileHash" : "\x25\x9c\xcf\x36\xf9\x19\x8d\x4e\x13\xaa\x7f\x83\xa3\x94\x4a\xee\xe8\xc1\xc6\xc1\x0d\x7e\x11\xd2\xc0\x2d\x4f\xbc\xad\xdd\x97\x83","nomFichier" : "cg-mesh-node-5.6.2.1","version" : "5.6.21","fileSize" : 305408,"isDefault" : false,"isRunning" : true,"hwInfo" : {"hwId": "RFLAN/3.60/3.80"}} [75/FirmwareImageInfo] : {"index" : 2,"fileHash" : "\x25\x9c\xcf\x36\xf9\x19\x8d\x4e\x13\xaa\x7f\x83\xa3\x94\x4a\xee\xe8\xc1\xc6\xc1\x0d\x7e\x11\xd2\xc0\x2d\x4f\xbc\xad\xdd\x97\x83","nomFichier" : "cg-mesh-node-5.6.2.1","version" : "5.6.21","fileSize" : 305408,"blockSize" : 650,"isDefault" : false,"isRunning" : false,"hwInfo" : {"hwId": "RFLAN/3.60/3.80"}} [75/FirmwareImageInfo] : {"index" : 3,"fileHash" : "\x25\x9c\xcf\x36\xf9\x19\x8d\x4e\x13\xaa\x7f\x83\xa3\x94\x4a\xee\xe8\xc1\xc6\xc1\x0d\x7e\x11\xd2\xc0\x2d\x4f\xbc\xad\xdd\x97\x83","nomFichier" : "cg-mesh-node-5.6.2.1","version" : "5.6.21","fileSize" : 305408,"blockSize" : 650,"isDefault" : true,"isRunning" : false,"hwInfo" : {"hwId": "RFLAN/3.60/3.80"}} [75/FirmwareImageInfo] : {"index" : 4,"fileHash" : "\x3d\x03\xe4\x6c\xa7\x10\x3c\x75\x21\xf2\x41\x8f\x88\x4f\x56\x0e\x46\x7a\x06\xfc\x78\x24\x69\xeb\x0e\x8b\xfc\x03\x64\xb8\x8f\x85","nomFichier" : "cg-mesh-itron30-sl -REL-5.2.25","version" : "5.2.25","fileSize" : 40960} [root@lcdcfndappp01 bin]#

Valider le certificat du compteur

Utilisation du code TLV 43 pour CGMSSTATUS et vérification du champ NMSCertValid.

Le champ NMSCertValid peut indiquer si le certificat FND est valide ou non.

S'il s'agit d'une corruption matérielle, tous les paramètres lus à partir de la mémoire flash sont NULL, par exemple, le champ SSID. Par conséquent, si le nom SSID est présent, il ne s'agit pas d'une corruption matérielle.

Si le nom SSID est correct et que le champ NMSCertValid est signalé comme faux, il est possible que le fichier de certificat soit copié sur le compteur.

Validez le fichier de configuration XML sur le compteur

<DevCfgSchema> , si le multimètre reste en mode Démo , contactez le fournisseur du multimètre pour obtenir de l'aide.

<DemoMode_Cfg> <DemoModeEnable>true</DemoModeEnable> </DemoMode_Cfg>

Synchronisation d'horloge FND avec NTP

Cette erreur est visible :

%IOTFND-7-UNSPECIFIED : %[ch=EventProducer][sev=DEBUG][tid=CoAP-7] : Event Object qui est envoyé = EventObject [netElementId=1149847, eventTime=1622146931202, eventSeverity=0, eventSource=cgmesh, eventTypeName=signatureFailure, eventDisplayName=Signature CSMP non valide, eventTypeId=1085, eventMessage=Vérifier la configuration du certificat. Vérifiez également que le périphérique et l'IoT-FND sont synchronisés., lat=1000.0, lng=1000.0, geoHash=null, eid=F433280000005DE8, issueId=0, eventSave=CRITICAL, moduleId=null, domainName=root]

Symptôme : Dans FND, le périphérique associé passe à l'état d'enregistrement au lieu d'afficher UP.

1. Vérifiez si les horloges FND et NTP sont synchronisées,

2. Vérifiez si les horloges FND et Endpoints sont synchronisées.

Les compteurs sont signalés dans FND

Si les ME/mètres sont signalés comme ÉTEINTS dans FND, vérifiez si un pare-feu bloque les messages CSMP entrants.

Pour résoudre le problème sur le serveur FND, désactivez le service de pare-feu :

[root@iot-fnd ~]# systemctl list-unit-files | grep firewalld

firewalld.service disabled

Si elle est activée, vous pouvez la désactiver à l'aide de la commande ci-dessous :

[root@iot-fnd ~]# systemctl disable firewalld

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Stratégie d'équilibrage de charge et messages CSMP

Dans un environnement de cluster d’équilibrage de charge, vérifiez la communication entre les adresses source et de destination, ainsi que les ports entre les points d’extrémité de compteur (ME) et FND.

Vérifiez les statistiques CSMP avec la sortie getStats.sh. Si l'un des serveurs d'applications a un taux de traitement CSMP beaucoup plus élevé que les autres, alors l'équilibrage de charge est probablement mal configuré. En outre, lorsque vous analysez la sortie, si vous voyez que la taille de votre file d'attente augmente, cela confirme qu'il y a un processus de goulot d'étranglement quelque part.

Exemple de flux d'appels CSMP :

Requête CSMP adressée au compteur lors de l'enregistrement périodique des mesures.

Compteur à FND

Adresse IPv6 du lecteur IP Src

Adresse IP FND IPv6 de destination

Port UDP source 61624

Port UDP DST 61624

Actualisation manuelle de la métrique pour un compteur à partir de FND

Adresse IP source FND ipv6

Adresse IPv6 du compteur IP de destination

Port UDP source n'importe quel exemple : 9251

Port UDP DST 61624

Réponse du compteur lors de la demande manuelle d'actualisation de la mesure (depuis FND)

Adresse IPv6 du compteur IP source

Adresse IP IPv6 de destination FND

Port UDP source 61624

Port UDP DST qu'il a envoyé à l'exemple suivant : 9251

Si le ME envoie une réponse à l'IP d'équilibrage de charge (VIP) plutôt qu'à l'adresse IP demandée sur laquelle il a reçu la « requête » CSMP, « il doit être correctement routé à l'aide d'une configuration supplémentaire.

Organigramme pour l'enregistrement CSMP