پروتکل SNMP چیست و چگونه کار می کند؟
پروتکل مدیریت شبکه ساده (SNMP) یک پروتکل استاندارد اینترنتی است که برای نظارت و مدیریت دستگاههای متصل شده به شبکه از طریق IP استفاده میشود. SNMP برای نظارت بر ارتباط بین روترها، سوئیچها، فایروالها، load balancer ها، سرورها، دوربینهای مداربسته و دستگاههای بیسیم استفاده میکند.
SNMP دادهها را از دستگاههای مختلف برای نظارت بر شبکه جمعآوری، سازماندهی و ارسال میکند تا به شناسایی و جداسازی خطاها کمک کند. همچنین نقاط پایانی نظارتی و سیستم مانیتورینگ برای ارتباط یکپارچه به SNMP متکی هستند. در ادامه این مقاله به طور مفصل به بررسی این پروتکل خواهیم پرداخت.
فهرست مطالب
- پروتکل SNMP
- پورت و شماره پورت SNMP چیست؟
- چرا به ابزارهای نظارتیSNMP نیاز دارید؟
- پروتکل SNMP چگونه کار می کند؟
- اجزای پروتکل SNMP
- نسخه های پروتکل SNMP
- دستورات SNMP
- ارتباطات SNMP معمولی
- نتیجه گیری
پروتکل SNMP
پروتکل مدیریت شبکه ساده یک پروتکل لایه کاربردی، از 7 لایه مدل OSI است که توسط هیئت معماری اینترنت در RFC 1157 تعریف شده است. SNMP برای تبادل اطلاعات مدیریتی بین دستگاههای شبکه استفاده میشود. این پروتکل، یکی از پرکاربردترین پروتکلها برای مدیریت شبکه است. SNMP بخشی از مجموعه پروتکل کنترل انتقال/اینترنت (TCP/IP)، تعیین شده توسط IETF است.
سازمانها از پروتکل SNMP برای نظارت و مدیریت دستگاهها در یک شبکه LAN یا WAN استفاده میکنند. اکثر دستگاههای شبکه موجود در بازار شامل SNMP هستند.
پورت و شماره پورت SNMP چیست؟
SNMP از پورت 161 و پورت 162 برای ارسال دستورات و پیامها استفاده میکند. مدیران SNMP از طریق پورتهای SNMP تعیین شده با عوامل SNMP ارتباط برقرار میکنند. انتقال پیام SNMP از طریق پروتکل User Datagram (UDP) انجام میشود. پروتکلهای امنیت لایه انتقال (TLS) یا امنیت لایه انتقال داده (DTLS) نیز برای بعضی از موارد استفاده میشوند.
در اینجا لیستی از شماره پورت هایی که هر پروتکل برای فرآیندهای خاص استفاده میکند آورده شده است:
شماره پورت | پروتکل | وظیفه |
---|---|---|
161 | UDP | درخواست رسید توسط agent |
161 | UDP | ارتباط مدیر با agent |
162 | UDP | تایید اطلاع رسانی توسط مدیر |
هر پورت موجود | UDP | تولید اعلان توسط agent |
10161 | TLS/DTLS | درخواست تایید |
10162 | TLS/DTLS | تایید اطلاع رسانی |
چرا به ابزارهای نظارتیSNMP نیاز دارید؟
مدیران شبکه، دستگاههای موجود در شبکه را مدیریت میکنند و پورتها، رابطها و موارد دیگر را تخصیص میدهند یا آزاد میکنند تا از عملکرد مداوم شبکه اطمینان حاصل کنند. نظارت دقیق بر دستگاهها توسط SNMP بخش مهمی از این امر است. ابزارهای نظارتی SNMP به یک مدیر نیاز دارند تا agentSNMP را پیکربندی کند تا دادههای نظارتی را به مدیر SNMP ارسال کند. از آنجایی که ابزار های مدیریت شبکه، وظیفه نظارت را بر عهده دارند، مدیران میتوانند روی انجام اقدامات اصلاحی تمرکز کنند.
بر اساس بینشهایی که این ابزارها ارائه میکنند، مدیران میتوانند در دسترس بودن و عملکرد دستگاههای شبکه SNMP را پیگیری کنند و مشکلات را برای حفظ امنیت شبکه پیدا کرده و برطرف کنند. یک ابزار مانیتورینگ ایدهآل SNMP نسخههای مختلف پروتکل را نظارت میکند تا به مدیران IT کمک کند تا دید کاملی از محیط شبکه خود داشته باشند. برنامه نظارتی SNMP دادههای جمع شده را مستقیماً به صورت داشبورد و نمودار نشان میدهد. در ادامه به برخی از مهم ترین دلایل نیاز به ابزار های SNMP اشاره می کنیم:
- میتوانید به طور خودکار دستگاههای مختلف متصل به شبکه را کشف، نظارت و مدیریت کنید.
- میتوانید معیارهای کلیدی عملکرد را در سطوح interface و device نظارت کنید.
- میتوانید دیدی کامل و ریز بینانه را در عملکرد دستگاه شبکه به دست آورید.
- میتوانید محدودیتهای آستانه (محدوده ای که انتظار دارید شبکه شما در آن کار کند) را پیکربندی کنید و در صورت بروز مشکل، پیغام هشدار ایجاد کنید.
پروتکل SNMP چگونه کار می کند؟
SNMP به وسیله ارسال پیامهای پروتکلی و همچنین درخواستهای SNMP GET با دستگاههای موجود در شبکه که قادر به پاسخ به SNMP هستند، کار میکند. تمام این ارتباطات قابل ردیابی هستند و ابزارهای نظارت شبکه از درخواستهای GET برای استخراج دادهها از SNMP استفاده میکنند و ترافیک از منابع مختلف به شبکه شما منتقل میشود. به علاوه یک پروتکل SNMP با کل شبکه و دستگاههای موجود در آن ارتباط برقرار میکند.
همانطور که قبلا ذکر شد، SNMP از قبل روی دستگاهها پیکربندی شده است و پس از فعال شدن پروتکل، دستگاهها آمار عملکرد خود را ذخیره میکنند. هر سرور شبکه چندین فایل پایگاه اطلاعات مدیریت (MIB) خواهد داشت. این فایلها برای واکشی دادههای مانیتورینگ، جستجو میشوند. عملکرد SNMP کاملا به اجزای آن بستگی دارد و هر جزء آن به مدیریت منابع کمک میکند.
اجزای پروتکل SNMP
اجزای SNMP شامل مدیریت SNMP، دستگاههای مدیریت شده با یک SNMP agent و MIB های SNMP که حاوی SNMP OID هستند، است.
SNMP manager
SNMP manager سیستم مرکزی است که برای نظارت بر شبکه SNMP استفاده میشود. همچنین به عنوان یک ایستگاه مدیریت شبکه (NMS) نیز شناخته میشود. SNMP manager مسئول ارتباط با دستگاههای شبکه است و دارای یک SNMP agent است. SNMP manager روی هاست درون شبکه اجرا میشود. و از agent ها پرس و جو میکند، پاسخها را دریافت میکند، متغیرها را تنظیم میکند و رویدادها را از طریق agent ها تأیید میکند.
Managed devices
دستگاههای مدیریت شده، یک موجودیت شبکه دارای SNMP هستند که توسط SNMP manager مدیریت میشود. اینها معمولاً روترها، سوئیچ ها، چاپگرها یا دستگاههای بیسیم هستند.
SNMP agent
عامل SNMP یا SNMP agent یک فرآیند نرم افزاری است که نقش مهمی در مدیریت شبکه ایفا میکند. agent به درخواستهای SNMP از سمت SNMP manager پاسخ میدهد تا وضعیت و آمار یک گره شبکه را ارائه دهد. این مورد به صورت لوکال در دستگاههای شبکه موجود هستند.
SNMP MIB
یک MIB بخشی جداییناپذیر از مدلهای مدیریت شبکه را تشکیل میدهد. SNMP MIB ساختاری است که فرمت تبادل اطلاعات را در یک سیستم SNMP تعریف میکند. هر SNMP agent یک پایگاه داده اطلاعاتی دارد که پارامترهای هر دستگاه را که مدیریت میکند را توصیف میکند.
همانطور که گفتیم، SNMP manager یک سیستم نرمافزاری است که از SNMP برای جمع آوری دادهها برای مدیریت خطا، مدیریت عملکرد و برنامهریزی ظرفیت استفاده میکند. یک SNMP manager دادههای جمع آوری شده را در یک MIB به عنوان یک پایگاه داده مشترک بین عامل و مدیر ذخیره میکند.
MIB ها به عنوان فایلهای متنی در قالب خاصی ذخیره میشوند که ویرایشگران MIB، سازندگان SNMP agent، ابزارهای مدیریت شبکه و ابزارهای شبیهسازی شبکه میتوانند آن را درک کنند و ساخت، آزمایش، استقرار و عملیات شبکه را با استفاده از آن، تسهیل میکنند. اشیاء مدیریت شده در یک فایل MIB، شناسه شی (شناسه شی یا OID) نامیده میشوند.
OID های SNMP
OID ها با رشتههایی از اعداد که با نقطه جدا شدهاند قابل شناسایی هستند. دو نوع شی مدیریت شده وجود دارد:
- اشیاء اسکالر توسط یک نمونه شی تعریف میشوند (یعنی فقط یک نتیجه میتواند وجود داشته باشد).
- اشیاء جدولی توسط چندین نمونه شی مرتبط که در جداول MIB گروهبندی میشوند، تعریف میشوند.
MIB ها OID ها را به صورت سلسله مراتبی سازماندهی میکنند، که توسط یک ساختار درختی با شناسههای متغیر جداگانه برای هر OID نشان داده میشود. این ساختار درختی شامل تمام ویژگی های قابل مدیریت همه موارد چیده شده در آن است.
نسخه های پروتکل SNMP
پروتکل SNMP دارای سه نسخه است: SNMPv1، SNMPv2c و SNMPv3.
- SNMPv1
- SNMPv1 اولین نسخه این پروتکل است. راهاندازی آن آسان است و در RFC 1155 و 1157 تعریف شده است.
- SNMPv2c
- این نسخه اصلاح شده شامل انواع بستههای پروتکل پیشرفته، نگاشتهای جابه جایی داده و عناصر ساختار MIB است. اما از ساختار مدیریتی موجود SNMPv1 نیز استفاده میکند که “مبتنی بر جامعه” است، به این علت، اسم این نسخه SNMPv2c است. این نسخه در RFC 1901، RFC 1905 و RFC 1906 تعریف شده است.
- SNMPv3
- SNMPv3 از پیکربندی راه دور موجودیتهای SNMP پشتیبانی میکند. همچنین رمزگذاری و احراز هویت را نیز اضافه میکند که میتوانند با هم یا جداگانه استفاده شوند و این نسخه را به امنترین نسخه تبدیل می کنند. RFC های SNMPv3 عبارتند از RFC 1905، RFC 1906، RFC 2571، RFC 2572، RFC 2574 و RFC 2575.
دستورات SNMP
دستورات SNMP به بازیابی، مدیریت، اصلاح و تجزیه دادهها کمک میکند. این دستورات مدیریت شبکه را آسانتر می کند.
- GET
- SNMP manager درخواستی را برای دستگاه مدیریت شده صادر میکند. دستور GET یک یا چند مقدار را از دستگاه مدیریت شده بازیابی میکند.
- GET NEXT
- GET NEXT، مانند GET، مقدار OID بعدی را در درخت MIB بازیابی میکند.
- GET BULK
- این دستور دادههای انبوه را از یک جدول بزرگ MIB بازیابی میکند.
- SET
- مدیران از دستور SET برای تغییر یا تخصیص مقدار در دستگاه مدیریت شده استفاده میکنند.
- TRAPS
- بر خلاف دستورات قبلی که SNMP manager شروع میکند، عوامل SNMP دستور TRAPS را راهاندازی میکنند. TRAPS سیگنالی است که هنگام وقوع رویدادها توسط عامل به مدیر ارسال می شود.
- INFORM
- درست مانند TRAPS، این دستور را نیز از agent شروع میکند. با این حال، برخلاف TRAPS، دستور INFORM پس از دریافت پیام، تأییدیهای به مدیر ارسال میکند.
- RESPONSE
- این دستور برای بازگرداندن مقدار یا سیگنال اقدامات هدایت شده توسط مدیر استفاده میشود.
ارتباطات SNMP معمولی
از آنجایی که آنها بخشی از مجموعه TCP/IP هستند، پیام های SNMP باندل شده و توسط UDP منتقل میشوند. تصویر زیر نمونهای از چنین ارتباطی است.
نتیجه گیری
همانطور که گفتیم، یک دستگاه SNMP با استفاده از پروتکل مدیریت شبکه ساده مدیریت میشود. روترها، سوئیچها، فایروالها، load balancer ها، دستگاههای ذخیرهسازی، دستگاههای UPS و چاپگرها همگی مجهز به SNMP هستند. فروشندگان agent هایSNMP را از قبل پیکربندی میکنند و ادمینها باید SNMP را فعال کنند تا مدیریت دستگاه را شروع کند.
مدیریت شبکه برای اطمینان از عملکرد صحیح اجزای مختلف شبکه بسیار مهم است. SNMP از پروتکل ها و روشهای استاندارد برای جمع آوری دادهها پیروی میکند. این یکی از بهترین راهحل ها برای مدیریت شبکه است، و در عین حال یک راه حل ساده محسوب میشود.