Kurs EdgeLink cz. 6 - DNP3

19.05.2023 How to, Informacje produktowe /
Kurs EdgeLink cz. 6 - DNP3
Wizerunek autora
Aleksandra Panufnik Były pracownik Elmark Automatyka S.A.
Producent: Advantech
  • Zakłady przemysłowe

Trochę informacji o DNP3

DNP3 (Distributed Network Protocol version 3) to otwarty i publiczny protokół komunikacyjny powszechnie stosowany w branży energetycznej do komunikacji między różnymi typami urządzeń, takimi jak urządzenia do zdalnego sterowania (RTU), inteligentne urządzenia elektroniczne (IED) oraz systemy nadzoru i akwizycji danych (SCADA). DNP3 został opracowany przez Westronic Inc. i po raz pierwszy został wydany w 1993 roku. Od tamtej pory stał się powszechnie stosowany w przemyśle.

DNP - DISTRIBUTECH International 2024

Rysunek nr 1. Protokół DNP

DNP3 zapewnia niezawodne i bezpieczne przesyłanie danych pomiędzy różnymi typami urządzeń w systemie SCADA, takimi jak RTU i IED. Został specjalnie zaprojektowany, aby umożliwić niezawodną komunikację w niesprzyjających warunkach, na jakie narażone są systemy automatyki zakładów elektrycznych, i został specjalnie zaprojektowany w celu radzenia sobie ze zniekształceniami wywołanymi zakłóceniami elektromagnetycznymi (EMI), starzejące się komponenty oraz słabe media transmisyjne. Protokół ten obsługuje różne formaty danych, jak wartości analogowe i cyfrowe, alarmy, sterowanie zdalne oraz zmienne czasowe. DNP3 został wybrany jako zalecana praktyka przez grupę zadaniową IEEE C.2; RTU do protokołu komunikacyjnego IED.

Protokół DNP3 jest zaprojektowany z myślą o odporności na błędy i zakłócenia, co oznacza, że dane przesyłane przez DNP3 są zabezpieczone przed utratą lub uszkodzeniem w przypadku awarii sieci.

W związku z tym, że DNP3 jest protokołem specjalnie opracowanym dla branży energetycznej, posiada wiele zaawansowanych funkcji, które ułatwiają integrację różnych typów urządzeń i systemów przez co jest jednym z najczęściej stosowanych protokołów w tej branży.

Działanie

DNP3 działa w oparciu o model master-slave. Urządzenie podrzędne (slave) w przypadku DNP3 często określa się mianem stacji zdalnej (outstation). Komputery stacji zdalnej mogą zbierać informacje z wielu urządzeń w zdalnej lokalizacji i przekazywać je do stacji master lub stacje zdalne mogą przesyłać informacje bezpośrednio do urządzenia master.

W przeciwieństwie do protokołu Modbus, DNP3 posiada wbudowaną funkcjonalność przesyłania znacznika czasu i zdarzeniowego przesyłania sygnałów.

DNP3 zapewnia także bezpieczeństwo przesyłanych danych poprzez szyfrowanie oraz uwierzytelnienie urządzeń. Protokół ten umożliwia również przesyłanie danych w trybie offline, co oznacza, że urządzenie podrzędne może zapamiętać dane i przesłać je w momencie ponownego nawiązania połączenia z serwerem.

Typowe architektury systemu

Jeden-na-Jeden (one-to-one)

Najprostsza architektura posiadająca jedną stację nadrzędną i jedną stację zdalną. Fizyczne połączenie między dwoma urządzeniami to zazwyczaj dedykowane lub komutowane łącze telefoniczne.

Rysunek nr 2. Architektura Jeden-na-Jeden

wielopunktowe (multi-drop)

Jedna stacja nadrzędna komunikuje się z wieloma urządzeniami zdalnymi. Wymiana informacji prowadzona jest między stacją nadrzędną a jedną stacją zewnętrzną na raz. Master żąda danych z pierwszej stacji zewnętrznej, a następnie przechodzi do kolejnej stacji zewnętrznej w celu uzyskania danych odpytując każdą stację w kolejności okrężnej. Środkiem komunikacji jest wielopunktowa linia telefoniczna, kabel światłowodowy lub fale radiowe. Każda stacja zewnętrzna może odbierać komunikaty od urządzenia nadrzędnego i może odpowiadać tylko na komunikaty zaadresowane do siebie. Stacje zewnętrzne mogą słyszeć siebie nawzajem lub nie.

W niektórych formach multi-drop komunikacja odbywa się w trybie peer-to-peer (te same uprawnienia dla wszystkich hostów). Stacja może działać jako master do zbierania informacji lub wysyłania poleceń do stacji zewnętrznej w innej stacji. A potem może zmienić role, aby stać się stacją zewnętrzną innej stacji.

Rysunek nr 3. Architektura wielopunktowa

hierarchiczne

Prządzenie pośrodku jest stacją zewnętrzną w stosunku do stacji nadrzędnej po lewej stronie i jest stacją nadrzędną w stosunku do stacji zewnętrznej po prawej stronie. Środkowe urządzenie jest często określane jako sub-master.

Rysunek nr 4. Architektura hierarchiczna

koncentrator danych

Urządzenie może gromadzić dane z wielu stacji zewnętrznych po prawej stronie rysunku i przechowywać te dane w swojej bazie danych, skąd mogą je pobrać stacja główna po lewej stronie rysunku. Ten projekt jest często spotykany w podstacjach, w których koncentrator danych zbiera informacje z lokalnych inteligentnych urządzeń w celu ich przesłania do stacji głównej.

Rysunek nr 5. Architektura z koncentratorem danych

Klasy obiektów

Protokół DNP3 umożliwia zaliczanie obiektów do jednej z czterech klas:

  • Klasa 0 - dane statyczne (obiekty, których zmiany nie są rejestrowane)

  • Klasa 1 - dane dynamiczne, priorytet 1 (zwykle wysoki)

  • Klasa 2 - dane dynamiczne, priorytet 2 (zwykle średni)

  • Klasa 3 - dane dynamiczne, priorytet 3 ( zwykle niski)

Dzięki powiązaniu różnych zdarzeń z różnymi klasami można odczytywać klasy z różnymi częstotliwościami okresowymi. Zakładając, że klasa 1 miałaby najwyższy priorytet, jej odczytywanie odbywałoby się tak często, jak to możliwe. Odpytywanie klasy 2 odbywało by się rzadziej, a klasy 3 jeszcze rzadziej. W przypadku każdej odpowiedzi dotyczącej danej klasy zwrócone zostaną tylko te dane, które uległy zmianie, dzięki czemu komunikaty odpowiedzi będą niewielkie i wydajne. W celu pozyskania danych niezwiązanych z klasą 1, 2 lub 3, odpytuje się klasę 0. Ze względu na możliwą dużą ilość danych, które zostaną zwrócone w odpytywaniu klasy 0, może ono nie być zbyt wydajne i powinno być wykonywane jak najrzadziej. Stację zdalną można również skonfigurować tak, aby spontanicznie zgłaszała dane klasy 1, 2 lub 3, gdy staną się one dostępne.

Wady i zalety

Zalety:

  1. Wysoka niezawodność: DNP3 został opracowany z myślą o aplikacjach przemysłowych, które wymagają niezawodnej i wydajnej komunikacji.

  2. Otwartość: DNP3 jest protokołem otwartym, co oznacza, że ​​jest dostępny dla każdego, kto chce go stosować. Dzięki temu można łatwo dostosować go do różnych zastosowań i integracji z innymi systemami.

  3. Efektywność transmisji: DNP3 wykorzystuje raportowanie danych zorientowane na zdarzenia, dzięki czemu zdarzenia opisane różnymi klasami mogą mieć różne częstotliwości odczytywania. Stację zdalną można również skonfigurować tak, aby spontanicznie zgłaszała dane klasy 1, 2 lub 3, gdy staną się one dostępne.

  4. Bezpieczeństwo: DNP3 zawiera wiele funkcji bezpieczeństwa, takich jak autoryzacja, szyfrowanie i integralność danych, co zapewnia ochronę systemu przed nieautoryzowanym dostępem i atakami.

  5. Synchronizacja czasu: Protokół DNP3 obsługuje synchronizację czasu z RTU. Protokół DNP ma warianty ze znacznikami czasowymi wszystkich obiektów danych punktów, dzięki czemu nawet przy rzadkich odpytywaniach RTU nadal możliwe jest otrzymanie wystarczającej ilości danych do zrekonstruowania sekwencji zdarzeń, które miały miejsce pomiędzy odpytywaniami.

Wady:

  1. Złożoność: DNP3 jest protokołem złożonym, co może utrudnić jego implementację i konfigurację. Dlatego wymaga on odpowiedniej wiedzy i doświadczenia w zakresie systemów przemysłowych.

  2. Koszty: Urządzenia i systemy, które korzystają z protokołu DNP3, mogą być kosztowne, co może być problematyczne dla mniejszych przedsiębiorstw.

  3. Brak uniwersalności: DNP3 jest zaprojektowany specjalnie dla zastosowań przemysłowych i nie jest powszechnie stosowany w innych dziedzinach, co może ograniczyć jego popularność i rozwój.

Bezpieczeństwo

Początkowo protokół DNP3 nie był przeznaczony do zapewnienia bezpieczeństwa, a ze względu na otwartą konstrukcję, każdy był w stanie przypuścić atak na system SCADA. DNP3 jest protokołem master-slave podobnie jak Modbus, jednak obsługuje też niechciane komunikaty report-by-exception od slave'a do mastera, dlatego jest podatny na atak.

Ponieważ protokół DNP3 jest często wykorzystywany w infrastrukturach krytycznych, użytkownicy uznali za konieczne opracowanie skutecznego modelu zabezpieczeń dla tego protokołu.

Dlatego w celu uchronienia się przed cyberatakami wykorzystuje się m.in.:

Szyfrowanie TLS

Zabezpieczenie systemów połączonych przy pomocy TCP/IP. Dzięki temu odczytanie danych możliwe jest jedynie przez wewnętrzny system. Protokół DNP3 jest zgodny z normą IEC 62351-3, dlatego szyfrowanie TLS jest szeroko stosowane jako podstawowy środek bezpieczeństwa chroniący przed przypadkowym ujawnieniem informacji, nieautoryzowanym dostępem i manipulowaniem wiadomościami.

Bezpieczne uwierzytelnianie

Gdy ze strony urządzenia master lub slave (stacja zdalna) generowane są określone żądania, możliwe jest użycie opcjonalnego mechanizmu uwierzytelniania. Uwierzytelnianiem obejmuje się zwykle funkcje krytyczne, które wpływają na operacyjność systemu. W momencie żądania funkcji master zostaje wezwany do przesłania stosownej odpowiedzi na wiadomość ze stacji zdalnej na podstawie wcześniej udostępnionego klucza.

integralność wiadomości

Protokół DNP3 zapewnia integralność przesyłanych danych. To znaczy, że nie zostały zmodyfikowane lub zmanipulowane w trakcie transmisji. W tym celu stosowane są sumy kontrolne, takie jak CRC (Cyclic Redundancy Check), aby wykryć przypadkowe błędy transmisji. Sumy kontrolne sprawdzają, czy dane zostały poprawnie przesłane przez sieć.

potwierdzenie warstwy łącza

Cechą warstwy łącza DNP3 jest zdolność nadawcy ramki do wezwania odbiornika do wysłania potwierdzenia, że ​​ramka dotarła. Korzystanie z tej funkcji jest opcjonalne i często nie jest stosowane, ponieważ istnieją inne metody potwierdzania odbioru danych. Zapewnia dodatkowy stopień pewności niezawodnej komunikacji. Jeśli potwierdzenie nie zostanie odebrane, warstwa łącza może ponowić próbę transmisji. Wadą tej metody jest dodatkowy czas potrzebny na komunikaty potwierdzające i oczekiwanie na wielokrotne przekroczenia limitu czasu podczas konfigurowania ponownych prób.

Z każdą nową wersją protokołu DNP3 dodawane są nowe usprawnienia, np. wraz z 6 wersją DNP3 wprowadzone zostały funkcje takie jak:

  • zastosowanie algorytmu AEAD-AES-256-GCM, który jest używany przez TLS 1.2

  • inicjowanie klucza aktualizacji przy użyciu procesu „rejestracji urządzenia", w którym klucz ten nigdy nie jest znany ani przedstawiany osobie

  • opcjonalny scentralizowany mechanizm autoryzacji, w którym osoba za pośrednictwem systemu zwanego Authority, zatwierdza role łączności i RBAC dozwolone dla każdej pary urządzeń w systemie po wygenerowaniu kluczy przez te urządzenia

DNP3 w EdgeLink

Oprogramowanie EdgeLink umożliwia zastosowanie bramek sieciowych Advantech zarówno jako Master, jak i jako stację zewnętrzną. W tym artykule zostaną zaprezentowane obie możliwości.

Bramka ECU jako stacja zewnętrzna

stanowisko

Stanowisko składa się z następujących elementów:

  • brama ECU-1051D

  • laptop jako master

  • przyciski cyfrowe

  • sonda do pomiaru temperatury

  • sterownik PLC z panelem HMI Unitronics US5-B5-B1

  • Moduł I/O ADAM-6060

  • Moduł I/O ADAM-4048+

  • Switch przemysłowy ADAM-6520

Rysunek nr 5. Schemat stanowiska testowego dla bramki ECU jako stacji zewnętrznej

Master

Informacje przesyłane przez stację zewnętrzną są odbierane przez nadrzędne urządzenia takie jak SCADA czy RTU.

W prezentowanym przykładzie skorzystano z aplikacji Axon Test symulującej działanie mastera DNP3.

Rysunek nr 6. Odczytywanie przesyłanych danych przy pomocy Axon Test.

Bramka ECU jako master

stanowisko

Stanowisko dla bramki ECU w roli mastera składa się z następujących elementów:

  • brama ECU-1051D

  • laptop jako stacja zewnętrzna

Rysunek nr 7. Schemat stanowiska testowego dla bramki ECU jako master

Stacja zewnętrzna

Aplikacja Axon Test ma również możliwość symulowania urządzeń zewnętrznych komunikujących się przy pomocy protokołu DNP3. Wystarczy wybrać jaki rodzaj sygnału ma być generowany.

Rysunek nr 8. Dane generowane przez Axon Test.

Rysunek nr 9. Dane otrzymywane przez bramkę ECU

Podsumowanie

Podsumowując, DNP3 to protokół komunikacyjny, który został stworzony z myślą o potrzebach przemysłu energetycznego i automatyki przemysłowej. Dzięki swoim zaletom, takim jak niezawodność, bezpieczeństwo i skalowalność, stał się popularnym wyborem w branży. Pomimo tego, że istnieją pewne kwestie, które należy wziąć pod uwagę, takie jak złożoność konfiguracji i koszt wdrożenia, to DNP3 nadal jest uważany za jeden z najbezpieczniejszych i najskuteczniejszych protokołów w swojej dziedzinie. Wraz z ciągłym rozwojem technologii, można spodziewać się dalszej popularyzacji DNP3 i jego dalszego ulepszania, aby sprostać wymaganiom przemysłu 4.0.

Chcesz otrzymać instrukcję do tego stanowiska?

Napisz do nas!

e-mail: jaroslaw.molenda@elmark.com.pl

[1] A DNP3 Protocol Primer (A basic technical overview of the protocol, https://www.dnp.org/

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!