پروتکل DNP3

پروتکل DNP3

0

پروتکل شبکه توزیع شده (DNP3 مخفف Distributed Network Protocol 3) مجموعه ای از پروتکل های ارتباطی است که بین دستگاه ها در سیستم های اتوماسیون استفاده می شود. کاربرد اصلی آن در تاسیساتی مانند شرکت های برق و آب است. استفاده در صنایع دیگر معمول نیست. پروتکل DNP3 برای ارتباط بین انواع مختلف تجهیزات جمع آوری و کنترل اطلاعات تهیه شده است، این پروتکل نقش مهمی در سیستم های SCADA ایفا می کند، جایی که توسط ایستگاه های اصلی SCADA (مراکز کنترل) (مخفف Supervisory Control and Data Acquisition)، واحدهای ترمینال از راه دور (RTU) و دستگاه های الکترونیکی هوشمند (IED) استفاده می شود. در درجه اول برای ارتباطات بین ایستگاه اصلی (مرکز کنترل) و RTU یا IED استفاده می شود. پروتکل ICCP (مخفف Inter-Control Center Communications، بخشی از IEC 60870-6)، برای ارتباطات داخلی ایستگاه کنترل مرکزی استفاده می شود.


پروتکل DNP3


DNP3 ایستگاه Master را قادر می سازد تا از ایستگاه Substation با استفاده از کامندهایی که وظایف کنترلی از پیش تعریف شده ای دارند، دیتا را درخواست کند و همچنین Substation را با فرستادن دیتا درخواست شده قادر به پاسخگویی می کند. توسط این پروتکل می توان بیشتر از 65000 تا device را در یک link آدرس دهی کرد. با استفاده از این پروتکل کاربرها می توانند بین device هایی که دارای vendor های متفاوتی هستند ارتباط بوجود آورند. بدین طریق دیگر نیازی به استفاده از پروتکل های دیگر وجود ندارد و همین امر باعث کاهش هزینه های اعمالی می شود زیرا مراحل مورد نیاز برای تست کردن، نگهداری و آموزش هم کمتر می شود. به عبارتی دیگر از این پروتکل برای انتقال دیتا از نقطه A به نقطه B با استفاده از ارتباط سریال (RS232 و RS485) و IP (ارتباط لایه 3) استفاده می شود. این پروتکل به منظور بهینه کردن انتقال اطلاعات و کامندهای کنترلی از یک master به slave ها طراحی شده است. هدف این پروتکل انتقال دیتاهای حجیم و سنگین مانند email یا queries hypertext نمی باشد و همانطور که اشاره شد برای کاربردهای ساده ای مانند SCADA مورد استفاده قرار می گیرد. در شکل زیر نمونه ای از یک شبکه SCADA تحت پروتکل DNP3 ارائه شده است:


پروتکل DNP3


سیستم های SCADA سیستم های کنترلی و پردازشی real-time می باشند. توسط این سیستم ها یک کاربر از ایستگاه master توانایی جمع آوری و پردازش دیتای دریافت شده از یک یا چند واحد salve را پیدا می کند. همچنین می تواند ساختارهای کنترلی محدود شده ای را ارسال کنند. علاوه بر این، قابلیت کنترل و مانیتور کردن وضعیت تجهیزات را بوجود می آورد تا بتواند react های مناسبی را در زمان مناسب فرمان دهد. مانند اینکه به محض دیدن خطا، سیگنال یا پیغام alarm را تولید کرده و فرمان باز و بسته کردن موتورها را صادر کند. از این سیستم ها می توان برای کنترل توان تولیدی، انتقال و توزیع نیروی برق، تجهیزات مورد نیاز در راستای کاربردهایی در حوزه برق، گاز و آب، تجهیزات تولیدی گاز و روغن، پمپ ها و ایستگاه های گاز استفاده کرد.


ویژگی‌های پروتکل DNP3

از مهم‌ترین قابلیت‌های پروتکل DNP3 می‌توان موارد زیر را نام برد:

  • امکان درج درخواست و پاسخ برای چندین نوع داده مختلف در یک پیغام
  • امکان تقسیم بندی پیغام ها به چندین فریم (بخشی از پیغام) برای اطمینان از تشخیص خطا در ارسال یا دریافت
  • پاسخ به درخواست ها فقط با داده های تغییر یافته
  • امکان اطلاق درجه اهمیت به داده‌ها و درخواست دوره ای داده ها براساس درجه اهمیت آن ها
  • امکان ارسال پاسخ بدون درخواست (unsolicited)
  • پشتیبانی از همزمانی سیستم ها و فرمت زمان استاندارد
  • امکان ارتباط چند سیستم بالادستی (Multiple Master) و عملکرد peer-to-peer
  • امکان تعریف داده‌ها توسط کاربر
  • امکان انتقال فایل


لایه ها در پروتکل DNP3

DNP3 دارای 3 لایه می باشد: لایه application، لایه data link، و لایه فیزیکی (لایه ای است که توافقات ارتباطی آنجا صورت می گیرد). برای پشتیبانی کردن از پیغام ها و وظایف RTU (مخفف remote terminal unit) که دارای طولی بیشتر از ماکزیمم طول فریم تعریف شده در لایه application می باشند، DNP3 یک شبه لایه transport را add کرده است تا بتواند برای برقراری ارتباط با لایه data link از آن استفاده کند. برای درک بهتر مطالب فوق به شکل زیر توجه شود:


پروتکل DNP3


انتقال در پروتکل DNP3 (Transport)

پروتکل DNP3 بصورت لایه ای می باشد و دارای 3 لایه ساده شده استاندارد، ارائه شده توسط IEC می باشد. IEC به اختصار آن را EPA (معماری عملکرد پیشرفته Enhanced Performance Architecture) می نامد. با این وجود، DNP3 لایه چهارم، یک لایه انتقال که اجازه تقسیم بندی پیام را می دهد، به EPA اضافه می نماید.

  1. لایه فیزیکی: لایه فیزیکی در درجه اول به رسانه های فیزیکی مربوط می شود که پروتکل از طریق آن ها منتقل می شود. معمولا DNP3 از طریق یک لایه فیزیکی سریال ساده مانند RS-232 یا RS-485 با استفاده از رسانه های فیزیکی مانند مس، فیبر، رادیو یا ماهواره مشخص می شود. برنامه های جدیدتر DNP3 را از طریق اتصال اترنت پیاده سازی کرده اند.
  2. لایه پیوند داده: لایه پیوند داده پیوند منطقی بین فرستنده و گیرنده اطلاعات را مدیریت می کند و ویژگی های خطای کانال فیزیکی را بهبود می بخشد. برای DNP3 این کار با شروع هر فریم پیوند داده با یک هدر پیوند داده، و قرار دادن CRC (16 بیتی) در هر 16 بایت از فریم انجام می شود. فریم بخشی از یک پیام کامل است که از طریق لایه فیزیکی منتقل می شود. حداکثر اندازه یک فریم پیوند داده 256 بایت است.
  3. لایه انتقال: لایه انتقال پیام های برنامه را به چندین فریم پیوند داده تقسیم می کند. برای هر فریم، یک کد تابع بایت درج می کند که نشان می دهد فریم داده اولین فریم پیام است، آخرین فریم یک پیام یا هر دو آن ها (برای پیام های تک فریم). کد تابع همچنین شامل یک عدد شمارنده افزایشی است که با هر فریم افزایش می یابد و به لایه گیرنده فریم اجازه می دهد تا فریم های جا مانده را تشخیص دهد.
  4. لایه کاربرد: لایه کاربرد به پیام های کامل دریافت شده پاسخ می دهد و پیام ها را براساس نیاز یا در دسترس بودن داده های کاربر ایجاد می کند. پیام ها پس از ساخت، به لایه انتقال منتقل می شوند و در آنجا تقسیم بندی می شوند و به لایه پیوند داده ارسال می شوند و در نهایت از طریق لایه فیزیکی ارتباط برقرار می شود.


پروتکل DNP3


کاربرد پروتکل DNP3

پروتکل DNP3 دارای ویژگی های قابل توجهی است که آن را قوی تر، کارآمدتر و با قابلیت همکاری بیشتری نسبت به پروتکل های قدیمی مانند Modbus، با هزینه پیچیدگی بالاتر، می نماید.
از نظر مدل OSI برای شبکه ها، DNP3 یک پروتکل لایه 2 را مشخص می کند. این امر مالتی پلکس، تقسیم اطلاعات، بررسی خطا، کنترل پیوند، اولویت بندی و خدمات آدرس دهی لایه 2 را برای داده های کاربر فراهم می کند. همچنین یک تابع Transport (تا حدودی مشابه عملکرد لایه 4) و یک لایه برنامه (لایه 7) که توابع و انواع داده های عمومی مناسب برای برنامه های رایج SCADA را تعریف می کند.
پروتکل DNP3 قوی، کارآمد و سازگار با طیف گسترده ای از تجهیزات است، اما با گذشت زمان پیچیده تر و ظریف تر شده است. تقاضای روزافزون برای کاربردهای صنعتی بخشی از این چالش است. همچنین کانسپت SCADA از نظر فنی ساده هست اما برنامه هایی که چندین نوع تجهیز را با هم ادغام می کنند، به دلیل اختلاف در پیاده سازی، می توانند برای راه اندازی یا عیب یابی پیچیده شوند.


امنیت پروتکل DNP3

از آنجاکه برنامه های شبکه هوشمند به طور کلی دسترسی اشخاص ثالث به همان شبکه های فیزیکی و زیرساخت های IP اصلی شبکه را درخواست می کنند، کارهای زیادی برای افزودن ویژگی های تأیید اعتبار ایمن به پروتکل DNP3 انجام شده است. پروتکل DNP3 با IEC 62351-5 سازگار است. برخی از فروشندگان برای ارتباطات سریال یا شبکه های خصوصی مجازی برای ارتباطات مبتنی بر پروتکل اینترنت از رمزگذاری از طریق bump-in-wire پشتیبانی می کنند. یکی از مشهورترین روش های bump-in-wire در ابتدا با نام AGA-12 (انجمن گاز آمریکا) در سال 2003 آغاز شد و بعداً تبدیل به IEEE Std 1711-2010 شد. این استاندارد متعاقباً در تاریخ 27 مارس 2014 پس گرفته شد.
پروتکل DNP3 نیز در IEEE Std به عنوان مرجع شناخته می شود. IEEE 1379-2000 مجموعه ای از بهترین روش ها برای پیاده سازی مدرن لینک پیوندها SCADA Master-RTU/IED می باشد. این ها نه تنها رمزگذاری هستند، بلکه سایر اقدامات نیز جهت افزایش امنیت در برابر روش های شناخته شده نفوذ می باشند. توصیه می شود از DNP3 مطابق با استاندارد لایه امنیتی IEC 62531-3 TLS استفاده کنید.



وب سایت مرجع پروتکل DNP3

در این آدرس تعدادی فایل به صورت pdf وجود دارد که می توانید از آن ها استفاده نمایید: https://www.dnp.org/About/Overview-of-DNP3-Protocol



لینک سایر صفحات این مطلب



انتشار و کپی از این مطلب تنها با ذکر منبع مجاز می باشد

سنجش افزار آسیا

کلمات کلیدی