پروتکل SNMP برگرفته از عبارت Simple Network Management Protocol است که به معنای «پروتکل مدیریت شبکه ساده» است. پروتکل SNMP یک فریمورک (چهارچوب) است که برای مدیریت دیوایسهای متصل به شبکه اینترنت از آن استفاده میشود. آن میتواند مجموعه ای از عملیاتها و اپراتورها را برای نظارت کردن و مدیریت شبکه اینترنت در اختیار ما قرار دهد. در این بخش از آموزش شبکه به بررسی این پروتکل کاربردی در مدیریت شبکه می پردازیم.
مفهوم پروتکل SNMP
پروتکل SNMP دارای دو بخش مدیر (Manager) و عامل (Agent) است.
بخش مدیر پروتکل در واقع یکهاست است که کنترل کننده و نظارت کننده یک مجموعه از عاملها مانند روترها است. مدیر یک پروتکل در لایه اپلیکیشن (Application layer) است که در آن تعداد کمی از ایستگاههای مدیریت میتوانند یک مجموعه از عاملها را کنترل کنند.
این پروتکل در سطح اپلیکیشن طراحی شده است و میتواند انواع دیوایسهائی را که توسط شرکتهای مختلف ساخته میشوند و در بخشهای مختلف لایه فیزیکی (Physical Layer) شبکه نصب میشوند را مدیریت کند.
از این لایه برای شبکههای غیر متجانس (Heterogenous Network) که از انواع شبکههای محلی (LAN) و شبکههای گسترده (WAN) ساخته شده است استفاده میشوند. برای ارتباط این شبکهها از روتروها یا گیت ویهای (Gateways) متعددی استفاده میشود.
مدیران و عاملها در پروتکل SNMP
در پروتکل SNMP یک مدیر در واقع هاستی است که برنامههای کلاینت SNMP را راه میاندازد در حالی که عامل یک روتر است که میتواند سرور SNMP را به کار بیندازد و اجرا کند.
مدیریت شبکه اینترنت از طریق ارتباطات و تعاملات ساده میان مدیران و عاملها ایجاد میشود.
در پروتکل SNMP عامل برای نگهداشتن اطلاعات در دیتابیسها به کار گرفته میشود، در حالی که مدیر برای دسترسی به مقادیر موجود در دیتابیسها به خدمت گرفته میشود. برای مثال، یک روتر میتواند متغیرهای متناسب با کار خودش مانند شمار بستههای دریافت شده و یا بستههای پیشرانده شده را در خود نگه دارد، در حالی که مدیر میتواند این متغیرها را با هم دیگر مقایسه کند و مشخص کند که روتر دچار ازدحام و آشفتگی شده است یا خیر.
عاملها همچنین میتوانند در فرایندهائی که توسط مدیر انجام میشود همکاری داشته باشند. یک برنامه سرور میتواند بر روی یک عامل اجرا شود تا به بررسی محیطی بپردازد و در صورتی که خطائی در حال بروز است آنها را بررسی کند. عاملها در اینجا پیامهای هشدار را به سوی مدیران ارسال میکنند.
سه ایده به کار رفته در مدیریت با پروتکل SNMP
- مدیر میتواند عامل را با درخواست کردن اطلاعاتی که بازتاب دهنده رفتار عامل است، چک کند؛
- مدیر میتواند یک عامل را به انجام برخی از عملیاتها وا دارد، برای اینجا میتواند از بازتنظیم کردن مقدارها در دیتابیس عامل استفاده کند؛
- یک عامل همچنین میتواند با مدیریت همکاری داشته باشد، برای این جا عامل از هشدارهای ارسال شده مدیر نسبت به اعمال نا معمول خود استفاده میکند.
اجزای مدیریت
مدیریت شبکه از طریق پروتکل SNMP قابل حصول نیست، اما از این پروتکل میتواند برای ارتباط با سایر دستگاههائی که دارای پروتکل مشابهی هستند استفاده کرد. مدیریت در اینجا میتواند از طریق د پروتکل دیگر محقق شود. این دو پروتکل عبارتند از:
- پروتکل SMI (Structure of Management Information)؛
- پروتکل MIB (Management information base)؛
مدیریت یک ترکیب از پروتکلهای SNMP، SMI و MIB است. تمام این سه پروتکل مانند مفهوم سینتکل انتزاعی (۱) (Abstract Syntax notation (1)) و قوانین کدگذاری پایه (Basic Encoding Rules (BER)) عمل میکنند.
پروتکل SMI
پروتکل SMI بر گرفته از عبارت Structure of Management Information به معنای «اطلاعات ساختار مدیریت» است. هم چنین پروتکل SIM جزئی است که در مدیریت شبکه به کار گرفته میشود. اصلی ترین کارکردهای آن تعریف انواع دادههائی است که میباید در آبجکتها (Object) ذخیره شود و نشان دادن کدگذاری داده برای انتقال بر روی شبکه است.
پروتکل MIB
پروتکل MIB برگرفته از عبارت Management Information Base است که یک جزء ثانویه برای مدیریت شبکه است. هر کدام از عاملها دارای بخش MIB خودشان هستند که تمام آبجکتهائی که مدیریت باید مدیریت کند را جمع میکند. پروتکل MIB در هشت گروه به تقسیم بندی آبجکتها میپردازد:
- سیستم (System)؛
- رابط کاربری (Interface)؛
- ترجمه آدرس (Address Translation)؛
- IPها؛
- ICMP؛
- TCP؛
- UDP؛
- EGP
این دستهبندیها تحت یک آبجکت MIB قرار میگیرند.
اجزای پروتکل SNMP
در بالا با پروتکل SNMP آشنا شدیم، اکنون وقت آن رسیده است که با پنج بخش این پرتکل نیز آشنا شویم. بخشهای اصلی این پروتکل به شرح زیر هستند:
- Get Request
- Get Next Request
- Set Request
- Get Response
- Trap
- بخش Get Request: این جز از پروتکل پیامهای را از سمت مدیر (Client) به سمت یک عامل (Server) ارسال میکند تا یک مقدار متغیر مشخص را بازیابی کند؛
- بخش Get Next Request: در اینجا پیامی از مدیر به عامل ارسال میشود تا مقدار یک متغیر مشخص بازیابی شود. این پیام برای بازیابی کردن مقدار متغیرهای موجود در یک جدول به کار گرفته میشود. اگر مدیر شماره ایندکس مدخل جدول مورد نظر را نداند، در این صورت آن نمی تواند مقدار مورد نظر را بازیابی کند. در این چنین شرایطی، پیام Get Next Request برای تعریف یک آبجکت به کار گرفته میشود.
- Get Response: پیام Get Response از سمت عامل به مدیر در پاسخ به دو پیام Get Request و Get Next Request ارسال میشود. این پیام حاوی مقدار متغییر درخواست شده به وسیله مدیر است.
- Set Request: این پیام از سوی مدیر به عامل داده میشود تا یک مقدار را در متغیر خاصی ست (جایگزین) کند.
- Trap: این پیام در زمانی از سوی عامل به سمت مدیر فرستاده میشود که بخواهد یک رویداد را به آنها گزارش کند. برای مثال اگر عامل راهاندازی مجدد شده باشد (Reboot)، در این صورت آن عامل مدیر را با ارسال پیامی درباره این رویداد و زمان راهاندازی مجدد آگاه میکند.