Communication Protocol

پروتکل‌های اسکادا

پروتکل‌های اسکادا

مدل 7 لایه OSI

 پروتکل چیست؟

پروتکل‌های اسکادا عبارت هستند از مجموعه استانداردی از قوانین و توافق‌ها که تعیین می کنند چگونه دستگاه‌ها درون یک شبکه با هم ارتباط برقرار کنند. قالب انتقال داده ها، مکانیزم چک کردن خطا که هنگام نقل و انتقال در داده‌ها پیش می آید، مکانیزم تصحیح خطا، روش فشرده سازی داده‌ها، همگی، از سوی قوانین استاندارد پروتکل تعیین می شوند.

معرفی مدل 7 لایه OSI

بر اساس مدل OSI پروتکل‌های اسکادا از 7 لایه مطابق شکل تشکیل شده است.

  • لايه فيزيکي :

 وظيفه اصلي در لايه فيزيکي ، انتقال بيتها بصورت سيگنال الکتريکي و ارسال آن بر روي کانال مي باشد . واحد اطلاعات در اين لايه بيت است و بنابراين اين لايه هيچ اطلاعي از محتواي پيام ندارد و تنها بيتهاي 0 و 1 را ارسال يا دريافت مي کند . پارامترهايي که بايد در اين لايه مورد نظر باشند عبارتند از :

  1. ظرفيت کانال فيزيکی و نرخ ارسال ( Channel Capacity and Bit Rate )
  2. نوع مدولاسيون
  3. چگونگي کوپلاژ با خط انتقال
  4. مسائل مکانيکي و الکتريکي مانند نوع کابل ، باند فرکانس و نوع رابط ( کانکتور ) کابل .

در اين لايه که تماماً سخت افزاري است ، مسائل مخابراتي در مبادله بيتها ، تجزيه و تحليل شده و طراحي هاي لازم انجام مي شود . طراح شبکه مي تواند براي طراحي اين لايه ، از استانداردهاي شناخته شده انتقال همانند RS-232 و RS-422 و RS-485 و … که سخت افزار آنها موجود است ، استفاده کند  . اين لايه هيچ وظيفه اي در مورد تشخيص و ترميم خطا ندارد .

  • لايه پيوند داده ها :

وظيفه اين لايه در پروتکل‌های اسکادا آن است که با استفاده از مکانيزمهاي کشف و کنترل خطا ، داده ها را روي يک کانال انتقال مطمئن به مقصد برساند . در حقيقت مي توان وظيفه اين لايه را بيمه اطلاعات در مقابل خطاهاي احتمالي دانست ؛ زيرا ماهيت خطا به گونه اي است که قابل رفع نيست ولي مي توان تدابيري اتخاذ کرد که فرستنده از رسيدن يا نرسيدن صحيح اطلاعات به مقصد مطلع شده و در صورت بروز خطا مجدداً اقدام به ارسال اطلاعات کند؛ با چنين مکانيزمي يک کانال داراي خطا ، به يک خط مطمئن و بدون خطا تبديل خواهد شد.

يکي ديگر از وظائف لايه پيوند داده ها در پروتکل‌های اسکادا آن است که اطلاعات ارسالي از لايه بالاتر را به واحدهاي استاندارد و کوچکتري شکسته و ابتدا و انتهاي آن را از طريق نشانه هاي خاصي که Delimiter ناميده مي شود ، مشخص نمايد . اين قالب استاندارد که ابتدا و انتهاي آن دقيقاً مشخص شده ، فريم ناميده مي شود ؛ يعني واحد اطلاعات در لايه دوم فريم است .

کشف خطا که از وظايف اين لايه مي باشد مي تواند از طريق اضافه کردن بيتهاي کنترل خطا مثل بيتهاي Parity  Check  و CRC و Checksum انجام شود .یکي ديگر از وظايف لايه دوم کنترل جريان يا به عبارت ديگر تنظيم تعداد ارسال فريم ها می باشد به گونه اي که يک دستگاه کند هيچ گونه فريمي را به خاطر آهسته بودن از دست ندهد .

يکي ديگر از وظايف اين لايه آن است که وصول داده ها يا عدم رسيدن داده ها را به فرستنده اعلام کند .در بسياري از شبکه ها از کانال مشترکی استفاده مي کنند و ارسال همزمان دو ايستگاه منجر به تصادم ( اختلاط سيگنال انتقال ) و خرابي داده ها خواهد شد.

يکي ديگر از وظايف اين لايه آن است که قراردادهايي را براي جلوگيري از تصادم سيگنال ايستگاههايي که از کانال اشتراکي استفاده مي کنند ، وضع کند ، چراکه فرمان ارسال داده بر روي کانال مشترک از لايه دوم صادر مي شود. اين قرارداداها در زير لايه اي به نام ( Medium Access Sublayer )   MAS  تعريف شده است. وقتي يک واحد اطلاعاتي تحويل يک ماشين متصل به کانال فيزيکی در شبکه شد ، وظيفه اين لايه پايان مي يابد . از ديدگاه اين لايه ، ماشين‌هايی که به کانال فیزیکی متصل نمي باشند ، در دسترس نيستند . کنترل سخت افزار لايه فيزيکی به عهده اين لايه است. البته نبايد فراموش کرد که وظايف اين لايه نيز با استفاده از سخت افزارهاي ديجيتال انجام مي شود .

  • لايه شبکه :

در اين لايه اطلاعات به صورت بسته هايي سازماندهي مي شود و براي انتقال مطمئن تحويل لايه دوم مي شود . با توجه به آنکه ممکن است بين دو ماشين در شبکه مسيرهاي گوناگوني وجود داشته باشد ، لذا اين لايه وظيفه دارد هر بسته اطلاعاتي را پس از دريافت به مسيري هدايت کند تا آن بسته بتواند به مقصد برسد . در اين لايه بايد تدابيري انديشيده شود تا از ازدحام ( يعني ترافيک بيش از اندازه بسته ها در يک مسيرياب يا مرکز سوئيچ ) جلوگيري شده و از ايجاد بن بست ممانعت بعمل بياورد .

هر مسير ياب مي تواند به صورت ايستا و غير هوشمند بسته ها را مسيريابي کند . همچنين مي تواند به صورت پويا و هوشمند براي بسته ها مسير انتخاب نمايد . در اين لايه تمام ماشينهاي شبکه داراي يک آدرس جهاني و منحصر به فرد خواهند بود که هر ماشين بر اساس اين آدرسها اقدام به هدايت بسته ها به سمت مقصد خواهد کرد .

اين لايه ذاتاً بدون اتصال است يعني پس از توليد يک بسته اطلاعاتي در مبدا ، بدون هيچ تضميني در رسيدن آن بسته به مقصد ، بسته شروع به طي مسير در شبکه مي کند . وظايف اين لايه به سيستم نامه رساني تشبيه شده است ؛ يک پاکت محتوي نامه پس از آنکه مشخصات لازم بر روي آن درج شد ، به صندوق پست انداخته مي شود ، بدون آنکه بتوان زمان دقيق رسيدن نامه و وجود گيرنده نامه را در مقصد ، از قبل حدس زد . در ضمن ممکن است نامه به هر دليلي گم شود يا به اشتباه در راهي بيفتد که مدتها در مسير بماند و زماني به گيرنده آن برسد که هيچ ارزشي نداشته باشد .

 در اين لايه تضميني وجود ندارد وقتي بسته اي براي يک ماشين مقصد ارسال مي شود آن ماشين باید آماده دريافت آن بسته باشد و بتواند آنرا دريافت کند . در ضمن هيچ تضميني وجود ندارد وقتي چند بسته متوالي براي يک ماشين ارسال مي شود به همان ترتيبي که بر روي شبکه ارسال شده ، در مقصد دريافت شوند . همچنين ممکن است که وقتي بسته اي براي يک مقصد ارسال مي گردد ، به دليل دير رسيدن از اعتبار ساقط شده و مجدداً ارسال شود و هر دو بسته ( جديد و قديم ) با هم برسند . اين مسائل در لايه بالاتر قابل حل خواهد بود .

هرچند وظائف اين لايه مي تواند بصورت نرم افزاري پياده شود ولي براي بالاتر رفتن سرعت عمل شبکه ، مي توان براي اين لايه يک کامپيوتر خاص طراحي نمود تا در کنار سخت افزار لايه هاي زيرين ، بسته ها را روي شبکه رد وبدل کند .

  • لايه انتقال :

در اين لايه بر اساس خدمات لايه زيرين ، يک سرويس انتقال بسيار مطمئن و اتصال گرا(Connection Oriented) ارائه مي شود. تمام مشکلاتي که در لايه شبکه عنوان شد در اين لايه حل و فصل مي شود. قبل از ارسال بسته ها ، نرم افزار اين لايه اقدام به ارسال يک بسته ويژه مي نمايد تا مطمئن شود که ماشين گيرنده آماده دريافت اطلاعات است .اطلاعات ارسالی شماره گذاري شده تا هيچ بسته اي گم نشود يا دو بار دريافت نشود .ترتيب جريان بسته ها حفظ مي شود . در اين لايه پروسه هاي مختلفي که بر روي يک ماشين اجرا شده اند ، آدرس دهي مي شوند به نحوي که هر پروسه بر روي يک ماشين ، به عنوان يک هويت مستقل ، داده هاي خود را ارسال يا دريافت نمايد .

 واحد اطلاعات در اين لايه قطعه ( Segment ) است . از وظايف ديگر اين لايه در پروتکل‌های اسکادا مي توان به موارد زير اشاره کرد:

تقسيم پيامهاي بزرگ به بسته هاي اطلاعاتي کوچکتر, بازسازي بسته هاي اطلاعاتي و تشکيل يک پيام کامل, شماره گذاري بسته هاي کوچکتر جهت بازسازي , تعيين و تبيين مکانيزم نامگذاري ايستگاه هايي که در شبکه اند. وظايف اين لايه ( و لايه هاي بعدي ) با استفاده از نرم افزار پياده سازي مي شود و فقط بر روي مقصد نهايي (ماشينهاي کاربران ) وجود دارد و مراکز سوئيچ به وظايف اين لايه احتياجي ندارند ( مگر در موارد خاص).

  • لايه جلسه:

وظايف اين لايه فراهم آوردن شرايط يک جلسه ( نشست )همانندورودبه سيستم ازراه دور ( Remote/Login )، احراز هويت طرفين ، نگهداري اين نشست و توانايي از سرگيري يک نشست در هنگام قطع ارتباط مي باشد. در اين لايه نيز واحد اطلاعات پيام است . وظايف اين لايه را مي توان در موارد زير خلاصه کرد :

برقراري و مديريت يک جلسه شناسايي طرفين مشخص نمودن اعتبار پيامها اتمام جلسه حسابداري مشتري ها (Accounting)

  • لايه ارائه ( نمايش ):

در اين لايه معمولا کارهايي صورت مي گيرد که اگر چه بنيادي و اساسي نيستند وليکن به عنوان نيازهاي عمومي تلقي مي شوند مثلاً :

فشرده‌سازي فايل ( Data Compression )

  1. رمزنگاري ( Encryption ) براي ارسال داده‌هاي محرمانه
  2. رمزگشايي ( Decryption )
  3. تبديل کدها به يکديگر وقتي که دو ماشين از استانداردهاي مختلفي براي متن استفاده مي کنند . ( مثل تبديل متون EBCDIC  به ASCII و بالعکس )
  • لايه کاربرد :

در اين لايه استاندارد ، مبادله پيام بين نرم افزارهايي که در اختيار کاربر بوده به نحوي که با شبکه در ارتباطند ، تعريف مي شود . لايه کاربرد شامل تعريف استانداردهايي نظير انتقال نامه هاي الکترونيکي ، انتقال مطمئن فايل ، دسترسي به بانکهاي اطلاعاتي راه دور ، مديريت شبکه و انتقال صفحات وب است .

  • پروتکل‌های اسکادا

  1. پروتکل‌های اسکادا در مراکز کنترل دیسپاچینگ و پایانه راه دور ( Indactic , IEC 101 , IEC-104 , DNP3 )
  2. پروتکل‌های اسکادا در مراکز کنترل با یکدیگر ( IEC 60870-6-TASE 2./ICCP )
  3. تجهیزات ایستگاه‌ها با یکدیگر در اتوماسیون پست ( Modbus ,  IEC 61850 )
  4. ارتباط با تجهیزات حفاظت ( IEC 60870-5-103 )