Открыть сервис

DNP3

DNP3 (Distributed Network Protocol 3) — это открытый протокол прикладного уровня, предназначенный для передачи данных и команд управления между компонентами автоматизированных систем диспетчерского управления и сбора данных (SCADA), удалённых терминалов (RTU), программируемых логических контроллеров (PLC) и других устройств в системах промышленной автоматизации, энергетики и инфраструктуры. Протокол обеспечивает надёжную, помехоустойчивую и безопасную передачу дискретных и аналоговых сигналов, а также команд управления в реальном времени.

История

Разработка протокола DNP3 началась в 1993 году компанией Harris Corporation (ныне часть L3Harris Technologies) по заказу электрических компаний США и Канады, стремившихся создать стандартизированный протокол для замены устаревших и проприетарных протоколов (например, Modbus, IEC 60870-5). Основной целью было повышение надёжности передачи данных в условиях высоких помех на линиях связи, характерных для энергетических объектов.

В 1998 году протокол был передан под управление некоммерческой организации DNP Users Group, которая занимается его поддержкой, развитием и сертификацией. В 2005 году DNP3 был принят в качестве стандарта IEEE 1815-2010 (с последующими обновлениями до IEEE 1815-2012). В 2010-х годах началась активная интеграция механизмов информационной безопасности, включая аутентификацию и шифрование (Secure DNP3). В России DNP3 используется на ряде объектов электроэнергетики, однако с 2010-х годов наблюдается тенденция к переходу на отечественные протоколы, такие как IEC 60870-5-104 и IEC 61850.

Архитектура и принципы работы

DNP3 работает по модели «клиент-сервер» (master-slave), где мастер-станция (обычно центральный диспетчерский пункт) инициирует запросы, а удалённые устройства (RTU, PLC) отвечают. Однако протокол поддерживает и асимметричные режимы, когда ведомое устройство может самостоятельно инициировать передачу данных (например, по событию или аварии).

Уровни модели OSI

DNP3 реализует три уровня модели OSI:

  • Физический уровень (Physical Layer) — определяет электрические и механические характеристики среды передачи. Поддерживаются последовательные интерфейсы (RS-232, RS-485) и TCP/IP (Ethernet, Wi-Fi, сотовые сети).
  • Канальный уровень (Data Link Layer) — обеспечивает надёжную передачу фреймов (кадров) с контролем целостности (CRC-16) и повторной передачей при ошибках. Каждый фрейм содержит адрес источника и получателя.
  • Прикладной уровень (Application Layer) — отвечает за форматирование данных, кодирование типов объектов (например, аналоговые значения, дискретные сигналы, счётчики) и управление командами.

Формат сообщений

Сообщение DNP3 состоит из заголовка (10 байт), содержащего:

  • Стартовый байт (0x0564) — признак начала фрейма.
  • Длина — размер блока данных.
  • Управляющий байт — флаги (например, подтверждение приёма, запрос повторной передачи).
  • Адрес получателя (16 бит) — идентификатор устройства.
  • Адрес отправителя (16 бит).
  • CRC-16контрольная сумма заголовка.

За заголовком следует блок данных (до 250 байт), который может содержать несколько объектов (например, 10 аналоговых сигналов). Каждый объект кодируется в формате «тип-длина-значение» (TLV).

Классификация и типы данных

DNP3 поддерживает несколько категорий данных, классифицируемых по типу и способу передачи:

По типу сигнала

  • Дискретные (бинарные) входы — состояние реле, выключателей, датчиков (0/1).
  • Аналоговые входы — значения тока, напряжения, температуры, давления (в формате float или integer).
  • Счётчики — накопленные значения (например, количество импульсов, потреблённая энергия).
  • Команды управления — включение/отключение устройств, изменение уставок.
  • Событиязапись изменений состояния с меткой времени (для аудита и анализа аварий).

По способу передачи

  • Статические данные — полный снимок состояния устройства (например, все текущие значения).
  • Событийные данные — только изменения с момента последнего опроса (эффективно для экономии пропускной способности).
  • Незапрашиваемые сообщения — ведомое устройство инициирует передачу при возникновении события (например, аварийное отключение).

Применение

DNP3 широко используется в отраслях, где требуется высокая надёжность и помехоустойчивость:

Электроэнергетика

  • Подстанциисбор данных с трансформаторов, выключателей, защит.
  • Диспетчерские пункты — управление нагрузкой, мониторинг напряжения и частоты.
  • Учёт электроэнергии — передача показаний счётчиков (в том числе в автоматизированных системах коммерческого учёта).

Нефтегазовая промышленность

  • Нефтеперекачивающие станции — контроль давления, температуры, уровня жидкости.
  • Газораспределительные сети — управление задвижками, мониторинг утечек.

Водоснабжение и водоотведение

  • Насосные станции — автоматическое включение/отключение насосов.
  • Очистные сооружения — сбор данных с датчиков качества воды.

Транспорт

  • Железнодорожная автоматика — управление стрелками, сигналами.
  • Трубопроводный транспорт — мониторинг целостности трубопроводов.

Преимущества и недостатки

Преимущества

  • Высокая помехоустойчивость — за счёт CRC-16 и механизмов повторной передачи.
  • Гибкостьподдержка различных физических сред (RS-232, RS-485, Ethernet, радиоканалы).
  • Масштабируемость — до 65535 устройств в одной сети.
  • Событийная модель — снижает нагрузку на каналы связи.
  • Стандартизация — IEEE 1815, что обеспечивает совместимость оборудования разных производителей.

Недостатки

  • Сложность реализации — по сравнению с Modbus, DNP3 требует более сложного программирования.
  • Объём сообщений — заголовок и CRC увеличивают накладные расходы.
  • Устаревшие механизмы безопасности — базовая версия (до Secure DNP3) не имеет встроенной аутентификации и шифрования, что делает её уязвимой для атак (например, подмена команд).
  • Ограниченная поддержка в России — из-за распространения стандартов IEC 60870-5 и IEC 61850.

Информационная безопасность

Исходная версия DNP3 (до 2010-х годов) не содержала механизмов защиты от несанкционированного доступа. В ответ на рост киберугроз (например, атака на украинскую энергосистему в 2015 году) была разработана спецификация Secure DNP3 (IEEE 1815-2012). Она включает:

  • Аутентификацию — проверка подлинности сообщений с помощью цифровых подписей (HMAC).
  • Шифрование — опциональное шифрование полезной нагрузки (AES-128).
  • Управление ключами — протокол обмена ключами (например, на основе сертификатов X.509).

Однако внедрение Secure DNP3 идёт медленно из-за необходимости обновления оборудования и программного обеспечения. На многих объектах до сих пор используется незащищённая версия протокола.

Сравнение с другими протоколами

ХарактеристикаDNP3Modbus RTU/TCPIEC 60870-5-104IEC 61850
ТипОткрытый, стандартизированныйОткрытый, простойОткрытый, стандартизированныйОткрытый, объектно-ориентированный
Среда передачиRS-232, RS-485, EthernetRS-232, RS-485, EthernetEthernetEthernet
НадёжностьВысокая (CRC-16, повторная передача)Средняя (CRC-16, без повторной передачи)Высокая (CRC-16, повторная передача)Высокая (CRC-32, дублирование)
Событийная модельДаНетДаДа
БезопасностьSecure DNP3 (опционально)НетIEC 62351 (опционально)IEC 62351 (встроенная)
ПрименениеЭнергетика, нефтегаз, ЖКХПромышленность, автоматизацияЭнергетика (Европа, Россия)Энергетика (подстанции)

Перспективы развития

Несмотря на появление более современных протоколов (IEC 61850), DNP3 сохраняет позиции в Северной Америке и Австралии, где установлено большое количество оборудования, поддерживающего этот протокол. Основные направления развития:

  • Интеграция с IoT — адаптация для работы в облачных SCADA-системах.
  • Улучшение безопасности — обязательное внедрение Secure DNP3 и поддержка TLS.
  • Совместимость с IEC 61850 — разработка шлюзов для совместной работы.

В России DNP3 используется ограниченно, в основном на объектах, построенных по западным проектам. С 2015 года Минэнерго РФ рекомендует переход на отечественные протоколы (например, на базе IEC 60870-5-104), что снижает перспективы DNP3 в стране.

Источники

  1. IEEE Standard 1815-2012 — «IEEE Standard for Electric Power Systems Communications—Distributed Network Protocol (DNP3)».
  2. DNP Users Group — «DNP3 Specification: Volume 1–10» (2018).
  3. Clarke, G. R. (2014). «Practical Modern SCADA Protocols: DNP3, IEC 60870.5 and Related Systems». Newnes.
  4. Баранов, А. В. (2019). «Протоколы передачи данных в АСУ ТП. DNP3 и IEC 60870-5-104». Издательство МЭИ.
  5. NIST Special Publication 800-82 Rev.2 (2015) — «Guide to Industrial Control Systems (ICS) Security».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →