Введение
Распределенный сетевой протокол 3 (DNP3) - набор коммуникационных протоколов, используемых между компонентами в системах автоматизации процессов. Его основное применение - в коммунальных компаниях, таких как электро- и водопроводные компании. Использование в других отраслях не является распространенным. Он был разработан для связи между различными типами оборудования для сбора данных и контроля. Он играет решающую роль в системах SCADA, где он используется главными станциями SCADA (также известными как "магистральные станции"). Центр управления), дистанционные терминальные устройства (РТУ) и интеллектуальные электронные устройства (ИЭУ). Он в основном используется для связи между базовой станцией и РТУ или ИЭД. ICCP, протокол связи между центрами управления (часть IEC 60870 6), используется для связи между главными станциями. Конкурирующие стандарты включают более старый протокол Modbus и более новый протокол IEC 61850.
Distributed Network Protocol 3 (DNP3) is a set of communications protocols used between components in process automation systems. Its main use is in utilities such as electric and water companies. Usage in other industries is not common. It was developed for communications between various types of data acquisition and control equipment. It plays a crucial role in SCADA systems, where it is used by SCADA Master Stations (a. k. a. Control Centers), Remote Terminal Units (RTUs), and Intelligent Electronic Devices (IEDs). It is primarily used for communications between a master station and RTUs or IEDs. ICCP, the Inter Control Center Communications Protocol (a part of IEC 60870 6), is used for inter master station communications. Competing standards include the older Modbus protocol and the newer IEC 61850 protocol.
История
В то время как IEC 60870 5 все еще находился в стадии разработки и не был стандартизирован, возникла необходимость создания стандарта, который позволил бы обеспечить взаимодействие между различными поставщиками компонентов SCADA для электрической сети. Таким образом, в 1993 году GE Harris Canada (ранее известная как Westronic) использовала частично завершенные спецификации протокола IEC 60870 5 в качестве основы для открытого и немедленно реализуемого протокола, который специально отвечал требованиям Северной Америки. Протокол предназначен для обеспечения надежной связи в неблагоприятных условиях, в которых находятся системы автоматизации электроснабжения, специально разработан для преодоления искажений, вызванных электромагнитными помехами (EMI), стареющими компонентами (их ожидаемый срок службы может растянуться на десятилетия) и плохими средствами передачи.
Безопасность
Поскольку приложения умных сетей обычно предполагают доступ третьих лиц к тем же физическим сетям и базовой IP-инфраструктуре сети, была проделана большая работа по добавлению функций безопасной аутентификации в протокол DNP3. Протокол DNP3 соответствует стандарту IEC 62351 5. Некоторые поставщики поддерживают шифрование через bump in the wire для серийных коммуникаций или виртуальных частных сетей для коммуникаций на основе Интернет-протокола. Один из самых популярных методов "удар в проводе" начался первоначально как AGA 12 (Американская газовая ассоциация) в 2003 году, позже став IEEE Std. Этот стандарт был впоследствии отозван 27 марта 2014 года. Протокол DNP3 также упоминается в IEEE Std. IEEE 1379 2000, который рекомендует набор лучших практик для внедрения современных SCADA Master RTU/IED коммуникационных связей. К ним относятся не только шифрование, но и другие методы, повышающие безопасность от известных методов взлома. Рекомендуется использовать DNP3 с TLS, Transport Layer Security, в соответствии с IEC 62351 3.
Технические детали
Протокол DNP3 имеет значительные особенности, которые делают его более надежным, эффективным и совместимым, чем старые протоколы, такие как Modbus, за счет более высокой сложности. В терминах модели OSI для сетей, DNP3 определяет протокол уровня 2. Он обеспечивает мультиплексирование, фрагментацию данных, проверку ошибок, управление ссылками, приоритетизацию и услуги адресации уровня 2 для пользовательских данных. Он также определяет функцию "транспорт" (в некоторой степени похожую на функцию 4-го уровня) и "приложений" (слой 7), который определяет функции и общие типы данных, подходящие для общих приложений SCADA. Рама DNP3 сильно напоминает, но не идентична раме IEC 60870 5 FT3. Он использует циклические коды проверки избыточности для обнаружения ошибок. Повышенная эффективность полосы пропускания достигается за счет отчетности о данных, ориентированных на события. Удаленный терминал контролирует точки данных и генерирует события, когда он определяет, что данные должны быть представлены (например, когда он изменяет значение). Каждое из этих событий помещается в один из трех буферов, связанных с "классами" 1, 2 и 3. Кроме того, класс 0 определяется как "статическое" или текущее состояние отслеживаемых данных. Удаленный терминал сначала допрашивается с помощью того, что DNP3 называет "интегритетным опросом" (комбинированное считывание данных класса 1, 2, 3 и 0). Это заставляет Удаленный терминал отправлять все буферизированные события, а также все статические данные точек на главную станцию. После этого мастер опросит данные события, прочитав класс 1, класс 2 или класс 3. Считание классов может быть выполнено все вместе или каждый класс может быть считан с разной скоростью, обеспечивая механизм для создания различных приоритетов отчетности для разных классов. После опроса честности отправляются только значительные изменения данных. Это может привести к значительно более быстрому извлечению данных, чем опрос всего, все время, независимо от того, изменилось ли это значительно. Удаленный терминал может также быть настроен на автоматическую передачу данных класса 1, 2 или 3, когда они становятся доступными. Протокол DNP3 поддерживает синхронизацию времени с RTU. Протокол DNP имеет варианты с временными метками всех точечных объектов данных, так что даже при редком опросе RTU все еще возможно получить достаточно данных для восстановления последовательности событий, произошедших между опросами. Протокол DNP3 имеет значительную библиотеку общих точечно-ориентированных объектов. Основная цель этой обширной библиотеки заключалась в том, чтобы устранить необходимость в битовом отображении данных по другим объектам, как это часто делается во многих установках Modbus. Например, имеются варианты с плавающей запятой, поэтому нет необходимости отображать число на паре 16-битовых регистров. Это улучшает совместимость и устраняет такие проблемы, как эндианность. Удаленный терминальный блок для протокола DNP3 может быть небольшим, простым встроенным устройством или большим, сложным стойкой, заполненным оборудованием. Группа пользователей DNP установила четыре уровня подмножеств протокола для соответствия RTU. Группа пользователей DNP опубликовала процедуры испытаний для уровней 1 и 2, наиболее простых вариантов реализации. Протокол является надежным, эффективным и совместимым с широким спектром оборудования, но со временем стал более сложным и тонким. Все более требовательные промышленные приложения являются частью проблемы. Кроме того, концепции SCADA технически просты, но полевые приложения, которые интегрируют несколько типов оборудования, могут стать сложными для настройки или устранения неполадок из-за различий в реализации поставщиков.
Стандартизация IEEE
23 июля 2010 года IEEE принял DNP3 в качестве IEEE Std 1815 2010. IEEE Std 1815 был спонсирован Комитетом по передаче и распределению и Комитетом по подстанциям Общества по энергетике и энергетике IEEE, с дополнительным вкладом от Группы пользователей DNP. В апреле 2012 года IEEE одобрил Std 1815 2012 для публикации. IEEE Std 1815 2010 не используется. Версия стандарта 2012 года включает в себя функции для версии 5 безопасной аутентификации. Предыдущая версия безопасной аутентификации в IEEE 1815 2010 использовала только предварительно общие ключи. Новая версия может использовать инфраструктуру открытого ключа и облегчает изменения ключа удаленно.