آنچه در این مقاله میخوانید [پنهانسازی]
- ⭐ پروتکل SNMP چیست؟
- ⭐ معماری و اجزای پروتکل SNMP
- ⭐ مدیر SNMP (SNMP Manager یا NMS)
- ⭐ نماینده SNMP (SNMP Agent)
- ⭐ پایگاه اطلاعات مدیریت (Management Information Base – MIB)
- ⭐ شناسه شیء (Object Identifier – OID)
- ⭐ نحوه کارکرد پروتکل SNMP (پیامها)
- ⭐ 1. پیامهای Get (درخواست بازیابی)
- ⭐ 2. پیام Set (درخواست تنظیم)
- ⭐ 3. پیامهای اعلان (Trap و InformRequest)
- ⭐ نسخههای پروتکل SNMP و امنیت
- ⭐ SNMP نسخه 1 (SNMPv1)
- ⭐ SNMP نسخه 2 (SNMPv2c)
- ⭐ SNMP نسخه 3 (SNMPv3)
- ⭐ مزایا و محدودیتهای SNMP
- ⭐ مزایای SNMP
- ⭐ محدودیتهای SNMP
- ⭐ نتیجه گیری
- ⭐ سوالات متداول (FAQs)
- ⭐ پروتکل SNMP دقیقاً چیست؟
- ⭐ اجزای اصلی SNMP کدامند؟
- ⭐ نسخههای مختلف پروتکل SNMP کدامند و تفاوت اصلی آنها چیست؟
- ⭐ پورتهای مورد استفاده پروتکل SNMP در لایه حمل و نقل کدامند؟
پروتکل مدیریت ساده شبکه (SNMP) یک پروتکل استاندارد اینترنت است که به طور گسترده برای مدیریت و نظارت بر دستگاههای متصل به شبکه در شبکههای IP استفاده میشود. این پروتکل در لایه کاربرد (Application Layer) مجموعه پروتکلهای اینترنت فعالیت میکند و به طور معمول از پورتهای 161 و 162 (برای پیامهای Trap) پروتکل UDP استفاده میکند. SNMP یک چارچوب استاندارد برای نظارت و مدیریت دستگاههایی مانند روترها، سوئیچها، سرورها، چاپگرها و فایروالها فراهم میآورد.
مدیران شبکه از SNMP برای مدیریت عملکرد شبکه، کشف و حل مشکلات شبکه، و برنامهریزی برای رشد آتی شبکه بهره میبرند. ضرورت این پروتکل از دهههای 70 و 80 میلادی ناشی شد، زمانی که شبکهها به صورت دستی و تک به تک (با استفاده از CLI) مدیریت میشدند و هیچ سیستم نظارت متمرکزی وجود نداشت. این کمبود باعث میشد که عیبیابی و تجزیه و تحلیل مشکلات گذشته تقریباً غیرممکن باشد، به همین دلیل گروه مهندسی اینترنت (IETF) توسعه SNMP را در سال 1987 آغاز کرد تا یک روش استاندارد و ساده برای جمعآوری و مدیریت دادهها ارائه دهد.
پروتکل SNMP چیست؟
SNMP یک پروتکل استاندارد است که برای جمعآوری و سازماندهی اطلاعات مربوط به دستگاههای مدیریتشده در شبکههای IP و همچنین برای اصلاح آن اطلاعات جهت تغییر رفتار دستگاهها به کار میرود . این پروتکل یک راهکار استاندارد برای جمعآوری اطلاعات درباره انواع دستگاهها از تولیدکنندگان مختلف در صنعت شبکه فراهم میکند. اساس کار SNMP بر مدل درخواست-پاسخ (request-response) استوار است؛ به این صورت که یک سیستم مدیریت (Manager) از طریق پیامهایی که به واحدهای داده پروتکل (PDUs) معروف هستند، با دستگاهها ارتباط برقرار کرده و اطلاعات فعالیتهای آنها را دریافت میکند.
SNMP برای دستگاههایی که مشخصات مشترکی دارند (مانند داشتن CPU، RAM، رابطهای شبکه و سیستمعامل) ایدهآل است؛ این پروتکل هر ویژگی دستگاه را به عنوان یک متغیر یا شیء (Object) نمایش میدهد. سپس یک برنامه کاربردی (مدیر شبکه) میتواند با خواندن و در صورت لزوم اصلاح این متغیرها، وضعیت دستگاه را نظارت و مدیریت کند. در کنار این قابلیتهای نظارتی، SNMP همچنین برای تشخیص هرگونه نقص در شبکه و حتی پیکربندی دستگاههای راه دور نیز استفاده میشود.
معماری و اجزای پروتکل SNMP
شبکهای که توسط SNMP مدیریت میشود، شامل سه جزء اصلی است که همکاری آنها امکان نظارت متمرکز را فراهم میکند. این معماری به گونهای طراحی شده است که مدیر شبکه بتواند به صورت متمرکز از وضعیت تک تک اجزای شبکه مطلع شود:
مدیر SNMP (SNMP Manager یا NMS)
این یک سیستم متمرکز است که برای نظارت بر کل شبکه به کار میرود و به عنوان ایستگاه مدیریت شبکه (NMS) نیز شناخته میشود. مدیر SNMP رابط بین مدیر شبکه و سیستم مدیریت است؛ این سیستم دادههای عملیاتی را از دستگاهها با استفاده از پیامهای کوئری (Query) جمعآوری میکند. همچنین وظیفه دارد کوئریهایی را به نمایندهها ارسال کند، پاسخهای آنها را دریافت کند، متغیرهای آنها را پیکربندی کند و رویدادهایی که از آنها میآید را ثبت کند .
نماینده SNMP (SNMP Agent)
این یک ماژول نرمافزاری مدیریتی است که بر روی دستگاه مدیریتشده (مانند روتر یا سوئیچ) نصب میشود و در سیستمعامل دستگاه قرار دارد. نماینده SNMP اطلاعات را در یک پایگاه داده محلی نگهداری میکند و این امکان را به مدیر میدهد که مقادیر ذخیرهشده در این پایگاه داده را بخواند و یا بنویسد. به عنوان مثال، یک مدیر میتواند متغیرهای ذخیرهشده توسط روتر، مانند تعداد بستههای دریافتی و ارسالی، را بررسی کند تا مطمئن شود روتر دچار تراکم نشده است .
پایگاه اطلاعات مدیریت (Management Information Base – MIB)
MIB شامل اطلاعات مربوط به منابعی است که باید مدیریت شوند و این اطلاعات به صورت سلسله مراتبی سازماندهی شدهاند. MIB در واقع پایگاه دادهای از متغیرهای دستگاه است که امکان مدیریت آنها وجود دارد؛ این پایگاه داده برای هر نماینده (دستگاه) منحصر به فرد است. متغیرهای قابل دسترسی از طریق SNMP در MIBها سازماندهی شدهاند و هر متغیر توسط یک شناسه شیء (OID) مشخص میشود که درختی سلسله مراتبی از اطلاعات دستگاه را تشکیل میدهد.
شناسه شیء (Object Identifier – OID)
OID آدرسی است که سیستم برای شناسایی دستگاهها و متغیرهای خاصی که مدیران در حال مدیریت و نظارت بر آنها هستند، استفاده میکند. OIDها به صورت سلسله مراتبی در MIBها سازماندهی شدهاند و به مدیر اجازه میدهند تا اطلاعات مربوط به یک دستگاه خاص را بدون نیاز به درخواست صریح از نماینده برای جمعآوری آن، بازیابی کند. این سلسله مراتب تضمین میکند که چارچوبی سازگار و جهانی برای سازماندهی اشیاء در سیستمها و تولیدکنندگان مختلف وجود داشته باشد.
نحوه کارکرد پروتکل SNMP (پیامها)
SNMP یک پروتکل مبتنی بر درخواست-پاسخ است که در آن سیستم مدیریت (NMS) یک درخواست ارسال میکند و دستگاه راه دور پاسخ را برمیگرداند. از آنجا که وضعیت یک شیء میتواند به مرور زمان تغییر کند (مثلاً یک رابط شبکه ممکن است قطع شود)، NMS دستگاه را در فواصل زمانی منظم (Polling Interval) کوئری میکند تا اطلاعات بهروز شده را بازیابی کند. این ارتباط از طریق دستهبندیهای مختلفی از پیامها (یا PDUs) انجام میشود:
1. پیامهای Get (درخواست بازیابی)
مدیر SNMP از این پیامها برای بازیابی دادهها یا مقدار یک شیء مدیریت شده خاص که با OID آن مشخص شده، از نماینده استفاده میکند. انواع اصلی پیامهای Get شامل GetRequest (برای بازیابی مقدار یک OID خاص) و GetNextRequest (برای بازیابی مقدار OID بعدی در درخت MIB، که برای پیمایش جداول استفاده میشود) است. همچنین، GetBulkRequest که در SNMPv2c اضافه شد، برای بازیابی چندین OID در یک درخواست واحد به منظور کارایی بیشتر استفاده میشود.
2. پیام Set (درخواست تنظیم)
از پیام SetRequest توسط مدیر SNMP برای تغییر یا پیکربندی مقادیر یک نمونه شیء در نماینده SNMP استفاده میشود. این پیامها شامل شناسه شیء (OID) و مقدار جدید مورد نظر برای اعمال بر روی دستگاه هستند. پیامهای Set برای اطمینان از اینکه فقط کاربران مجاز میتوانند پیکربندی دستگاه را تغییر دهند، نیاز به احراز هویت و دسترسی خواندن و نوشتن (RW) دارند.
3. پیامهای اعلان (Trap و InformRequest)
Trap یک پیام ناخواسته و یکطرفه است که توسط نماینده (دستگاه) و بدون درخواست قبلی از مدیر به ایستگاه مدیریت ارسال میشود و معمولاً هنگام وقوع یک خطا یا رویداد مهم (مانند قطع شدن یک رابط شبکه) فرستاده میشود. InformRequest که در SNMPv2c اضافه شد، همانند Trap یک اعلان ناهمزمان است، با این تفاوت که مدیر در پاسخ به آن یک تأییدیه باز میگرداند تا اطمینان از دریافت پیام حاصل شود، چیزی که در Trap وجود ندارد.
نسخههای پروتکل SNMP و امنیت
سه نسخه اصلی از SNMP توسعه و به کار گرفته شده است که هر نسخه بهبودهایی را در عملکرد، انعطافپذیری و امنیت نسبت به نسخه قبلی ارائه میدهد. با گذشت زمان، امنیت به یکی از بزرگترین نقاط ضعف SNMP تبدیل شده بود، تا زمانی که SNMPv3 این ضعف را به طور قابل توجهی برطرف کرد.
SNMP نسخه 1 (SNMPv1)
این نسخه اولیه پروتکل است که در سال 1988 منتشر شد و به دلیل سادگی در تنظیم، به سرعت مورد پذیرش قرار گرفت. SNMPv1 از رشتههای انجمنی (Community Strings) برای احراز هویت استفاده میکند که مانند یک رمز عبور ساده عمل میکنند، اما این رشتهها به صورت متن ساده و بدون رمزگذاری در شبکه ارسال میشوند. این ضعف امنیتی بزرگ (ارسال رمز عبور به صورت متن آشکار) باعث شده است که استفاده از آن در محیطهای نیازمند امنیت بالا توصیه نشود.
SNMP نسخه 2 (SNMPv2c)
SNMPv2c بهبودهایی در ساختار MIB، نگاشتهای حمل و نقل و انواع بستههای پروتکل نسبت به نسخه 1 ارائه داد و قابلیتهای جدیدی مانند GetBulkRequest را برای بازیابی حجم زیادی از دادهها معرفی کرد. همچنین در این نسخه، امکان استفاده از شمارندههای 64 بیتی به جای شمارندههای 32 بیتی فراهم شد که برای شبکههای پرسرعت (مثل 10 گیگابیتی) حیاتی است تا از بازگشت سریع شمارنده به صفر جلوگیری شود. با این وجود، SNMPv2c همچنان از همان مدل امنیتی مبتنی بر رشتههای انجمنی (Community-based) نسخه ۱ استفاده میکند.
SNMP نسخه 3 (SNMPv3)
SNMPv3 در سال 1998 معرفی شد و تمرکز اصلی آن بر امنیت بود، بهطوری که احراز هویت قوی و رمزگذاری دادهها را اضافه کرد. این نسخه با استفاده از الگوریتمهایی مانند HMAC با MD5 یا SHA برای احراز هویت، و DES-56 یا AES برای رمزگذاری (حفظ حریم خصوصی)، امنیت بالاتری را فراهم میکند و به مدیران اجازه میدهد که احراز هویت و رمزگذاری را به صورت جداگانه یا ترکیبی استفاده کنند. SNMPv3 به دلیل ارائه قابلیتهای محرمانگی، یکپارچگی و احراز هویت، امنترین نسخه تا به امروز محسوب میشود و به عنوان استاندارد فعلی اینترنت تعیین شده است.
مزایا و محدودیتهای SNMP
SNMP به عنوان یک ابزار اساسی در مدیریت شبکه دارای مزایا و معایبی است که استفاده از آن را در محیطهای مختلف تعیین میکند.
مزایای SNMP
پیادهسازی SNMP نسبتاً آسان است و نمایندههای آن به طور گستردهای در انواع دستگاهها پیادهسازی شدهاند. سربار عملیاتی در سطح نماینده حداقل است، به این معنی که بار محاسباتی زیادی بر روی دستگاههای مدیریتشده وارد نمیکند. رویکرد نظرسنجی (Polling) که در SNMP استفاده میشود، برای اشیاء مدیریتشده مبتنی بر شبکه محلی (LAN) مناسب است و همچنین بهترین رابط مستقیم بین مدیر و نماینده را ارائه میدهد.
محدودیتهای SNMP
یکی از محدودیتهای مهم SNMP این است که مقیاسپذیری (Scalability) خوبی ندارد و با افزایش اندازه شبکه، عملکرد آن دچار مشکل میشود. این پروتکل به دلیل روش نظرسنجی مداوم (Polling) دارای سربار ارتباطی بالایی است. همچنین، SNMP فاقد تعریف استاندارد کنترل است و از بسیاری از پسوندهای اختصاصی (private MIB) ویژه پیادهسازیهای خاص استفاده میکند که میتواند چالشهای قابلیت همکاری ایجاد کند.
اگر مباحثی مثل SNMP، MIB، OID و مدیریت تجهیزات شبکه برای شما جذاب است اما احساس میکنید برای درک عمیقتر به یک مسیر یادگیری استاندارد نیاز دارید، آموزش +Network بهترین نقطه شروع شماست. در این دوره پایهایترین مفاهیم شبکه تا سطحی که بتوانید SNMP، TCP/IP، Subnetting، DHCP و دهها موضوع مهم دیگر را مثل یک متخصص تحلیل کنید آموزش داده میشود.
نتیجه گیری
پروتکل مدیریت ساده شبکه (SNMP) یک پروتکل حیاتی و مهم برای نظارت و مدیریت دستگاههای متصل به شبکه در محیطهای IP است. این پروتکل به مدیران شبکه این توانایی را میدهد که عملکرد شبکه را به طور مؤثر نظارت کنند، خطاها را کشف و رفع کنند و حتی دستگاههای راه دور را پیکربندی نمایند. اگرچه سادگی و محبوبیت SNMP مزایای قابل توجهی را فراهم میکند، این پروتکل دارای محدودیتهایی از جمله نگرانیهای مربوط به مقیاسپذیری و هزینههای بالای ارتباطی (به ویژه در نسخههای قدیمیتر) است. با این حال، با ظهور نسخه SNMPv3 که امنیت قوی و قابلیتهای رمزگذاری را اضافه کرده است، این پروتکل همچنان یک ابزار اساسی و مهم در مدیریت شبکه باقی میماند.
سوالات متداول (FAQs)
پروتکل SNMP دقیقاً چیست؟
پروتکل مدیریت ساده شبکه (SNMP) یک پروتکل لایه کاربرد است که برای جمعآوری و سازماندهی اطلاعات مدیریتی درباره دستگاههای شبکه و انتقال این دادههای مدیریتی بین دستگاهها استفاده میشود. این پروتکل امکان نظارت بر عملکرد شبکه، تشخیص خطاها، و پیکربندی دستگاههای راه دور را فراهم میکند.
اجزای اصلی SNMP کدامند؟
اجزای اصلی یک شبکه مدیریتشده توسط SNMP شامل پنج مورد است: مدیر SNMP (NMS)، دستگاههای مدیریتشده، نماینده SNMP (Agent)، پایگاه اطلاعات مدیریت (MIB) و شناسههای شیء SNMP (OID). نماینده اطلاعات را در MIB ذخیره میکند و مدیر از طریق OID به این اطلاعات دسترسی پیدا میکند.
نسخههای مختلف پروتکل SNMP کدامند و تفاوت اصلی آنها چیست؟
سه نسخه اصلی از SNMP وجود دارد: SNMPv1، SNMPv2c و SNMPv3. تفاوت اصلی آنها در سطح امنیت ارائه شده است. SNMPv1 و SNMPv2c از رشتههای انجمنی (Community Strings) ناامن برای احراز هویت استفاده میکنند. در مقابل، SNMPv3 امنترین نسخه است زیرا شامل احراز هویت قوی (با استفاده از MD5 یا SHA) و رمزگذاری دادهها (محرمانگی) است.
پورتهای مورد استفاده پروتکل SNMP در لایه حمل و نقل کدامند؟
SNMP در لایه کاربرد بر روی پروتکل UDP اجرا میشود. نماینده SNMP درخواستها را بر روی پورت 161 UDP دریافت میکند، در حالی که مدیر اعلانها (Traps و InformRequests) را بر روی پورت 162 UDP دریافت میکند.

