DNP3 - DNP3

Le protocole de réseau distribué 3 ( DNP3 ) est un ensemble de protocoles de communication utilisés entre les composants des systèmes d' automatisation de processus . Son utilisation principale est dans les services publics tels que les compagnies d'électricité et d'eau. L'utilisation dans d'autres industries n'est pas courante. Il a été développé pour les communications entre divers types d' équipements d' acquisition de données et de contrôle. Il joue un rôle crucial dans les systèmes SCADA , où il est utilisé par les stations maîtres SCADA (également appelées centres de contrôle), les unités terminales distantes (RTU) et les dispositifs électroniques intelligents (IED). Il est principalement utilisé pour les communications entre une station maître et des RTU ou IED. ICCP, le protocole de communication entre les centres de contrôle (une partie de la CEI 60870-6 ), est utilisé pour les communications entre les postes maîtres. Les normes concurrentes incluent l'ancien protocole Modbus et le nouveau protocole CEI 61850 .

Diagramme de présentation DNP

Histoire

Alors que la CEI 60870-5 était encore en cours de développement et n'avait pas été normalisée, il était nécessaire de créer une norme qui permettrait l'interopérabilité entre les composants SCADA de divers fournisseurs pour le réseau électrique. Ainsi, en 1993, GE-Harris Canada (anciennement connu sous le nom de Westronic) a utilisé les spécifications du protocole CEI 60870-5 partiellement complétées comme base pour un protocole ouvert et immédiatement implémentable qui répondait spécifiquement aux exigences nord-américaines. Le protocole est conçu pour permettre des communications fiables dans les environnements défavorables auxquels les systèmes d'automatisation des services publics électriques sont soumis, étant spécifiquement conçu pour surmonter la distorsion induite par les interférences électromagnétiques (EMI), les composants vieillissants (leur durée de vie prévue peut s'étendre sur des décennies) et une mauvaise transmission médias.

Sécurité

Étant donné que les applications de réseau intelligent supposent généralement l'accès par des tiers aux mêmes réseaux physiques et à l'infrastructure IP sous-jacente du réseau, beaucoup de travail a été fait pour ajouter des fonctionnalités d'authentification sécurisée au protocole DNP3. Le protocole DNP3 est conforme à la norme CEI 62351-5 . Certains fournisseurs prennent en charge le chiffrement via bump-in-the-wire pour les communications série ou les réseaux privés virtuels pour les communications basées sur le protocole Internet. L'une des méthodes de bump-in-the-wire les plus populaires a commencé à l'origine sous le nom d'AGA-12 (American Gas Association) en 2003, devenant plus tard IEEE Std. 1711-2010. Cette norme a par la suite été retirée le 27 mars 2014.

Le protocole DNP3 est également référencé dans IEEE Std. IEEE 1379-2000 , qui recommande un ensemble de bonnes pratiques pour la mise en œuvre de liaisons de communication SCADA Master-RTU / IED modernes. Celles-ci incluent non seulement le cryptage, mais d'autres pratiques qui améliorent la sécurité contre les méthodes d'intrusion bien connues.

Il est recommandé d'utiliser DNP3 conformément à la norme CEI 62531-3 TLS, Transport Layer Security.

Détails techniques

Le protocole DNP3 possède des fonctionnalités importantes qui le rendent plus robuste, efficace et interopérable que les protocoles plus anciens tels que Modbus, au prix d'une plus grande complexité.

En termes de modèle OSI pour les réseaux, DNP3 spécifie un protocole de couche 2 . Il fournit des services de multiplexage, de fragmentation des données, de vérification des erreurs, de contrôle de liaison, de priorisation et d'adressage de couche 2 pour les données utilisateur. Il définit également une fonction de transport (quelque peu similaire à la fonction de la couche 4 ) et une couche application ( couche 7 ) qui définit des fonctions et des types de données génériques adaptés aux applications SCADA courantes. La trame DNP3 ressemble fortement à la trame CEI 60870-5 FT3 , mais n'est pas identique . Il fait un usage intensif des codes de contrôle de redondance cyclique pour détecter les erreurs.

L'amélioration de l'efficacité de la bande passante est obtenue grâce à des rapports de données orientés événements . L'unité terminale distante surveille les points de données et génère des événements lorsqu'elle détermine que les données doivent être signalées (par exemple, lorsqu'elle change de valeur). Ces événements sont chacun placés dans l'un des trois tampons, associés aux "Classes" 1, 2 et 3. En plus de ceux-ci, la Classe 0 est définie comme l'état "statique" ou courant des données surveillées.

L'unité terminale distante est initialement interrogée avec ce que DNP3 appelle une «interrogation d'intégrité» (une lecture combinée de données de classe 1, 2, 3 et 0). Cela amène le terminal distant à envoyer tous les événements mis en mémoire tampon ainsi que toutes les données de points statiques à la station maître. Ensuite, le maître interroge les données d'événement en lisant la classe 1, la classe 2 ou la classe 3. La lecture des classes peut toutes être effectuées ensemble ou chaque classe peut être lue à une vitesse différente, fournissant un mécanisme pour créer différentes priorités de rapport pour les différentes classes. Après un sondage d'intégrité, seules les modifications de données importantes sont envoyées. Cela peut entraîner une récupération des données beaucoup plus réactive que l'interrogation de tout, tout le temps, indépendamment du fait que cela ait changé de manière significative.

L'unité terminale distante peut également être configurée pour signaler spontanément les données de classe 1, 2 ou 3, lorsqu'elles deviennent disponibles.

Le protocole DNP3 prend en charge la synchronisation de l'heure avec une RTU. Le protocole DNP a horodaté des variantes de tous les objets de données ponctuelles de sorte que même avec des interrogations RTU peu fréquentes, il est toujours possible de recevoir suffisamment de données pour reconstruire une séquence d'événements de ce qui s'est passé entre les interrogations.

Le protocole DNP3 possède une bibliothèque substantielle d'objets communs orientés point. L'objectif de cette bibliothèque étendue était d'éliminer le besoin de données de mappage de bits sur d'autres objets, comme cela se fait souvent dans de nombreuses installations Modbus. Par exemple, des variantes de nombres à virgule flottante sont disponibles, il n'est donc pas nécessaire de mapper le nombre sur une paire de registres 16 bits. Cela améliore la compatibilité et élimine les problèmes tels que l' endianité .

Une unité terminale distante pour le protocole DNP3 peut être un petit périphérique intégré simple, ou il peut s'agir d'un grand rack complexe rempli d'équipements. Le groupe d'utilisateurs DNP a établi quatre niveaux de sous-ensembles du protocole pour la conformité RTU. Le groupe d'utilisateurs DNP a publié des procédures de test pour les niveaux 1 et 2, les implémentations les plus simples.

Le protocole est robuste, efficace et compatible avec une large gamme d'équipements, mais il est devenu plus complexe et plus subtil avec le temps. Les applications industrielles de plus en plus exigeantes font partie du défi. De plus, les concepts SCADA sont techniquement simples, mais les applications sur le terrain qui intègrent plusieurs types d'équipement peuvent devenir complexes à installer ou à dépanner en raison des différences dans les implémentations des fournisseurs.

Normalisation IEEE

L' IEEE a adopté DNP3 en tant que norme IEEE 1815-2010 le 23 juillet 2010. La norme IEEE 1815 a été coparrainée par le comité de transmission et de distribution et le comité des sous-stations de l' IEEE Power & Energy Society , avec une contribution supplémentaire du groupe d'utilisateurs DNP .

En avril 2012, l' IEEE a approuvé la norme Std 1815-2012 pour publication. IEEE Std 1815-2010 est obsolète. La version 2012 de la norme inclut des fonctionnalités pour l'authentification sécurisée version 5. La version précédente de l'authentification sécurisée dans IEEE 1815-2010 utilisait uniquement des clés pré-partagées . La nouvelle version est capable d'utiliser l'infrastructure à clé publique et facilite les changements de clé à distance.

Les références

  • 1379-2000 - Pratique recommandée par l'IEEE pour les communications de données entre des terminaux distants et des dispositifs électroniques intelligents dans un sous-poste . 2001. doi : 10.1109 / IEEESTD.2001.92412 . ISBN 978-0-7381-2639-5.
  • 1815-2010 - Norme IEEE pour les communications des systèmes d'alimentation électrique - Protocole de réseau distribué (DNP3) . 2010. doi : 10.1109 / IEEESTD.2010.5518537 . ISBN 978-0-7381-6312-3.
  • 1815-2012 - Norme IEEE pour le protocole de réseau distribué par communications des systèmes d'alimentation électrique (DNP3) . 2012. doi : 10.1109 / IEEESTD.2012.6327578 . ISBN 978-0-7381-7292-7.

Liens externes