SNMP چیست | راهنمای جامع
یکی از بزرگترین مسئولیتهای مدیر سیستم، جمعآوری اطلاعات در مورد سرورها و زیرساختهای شبکه است. تاکنون ابزارهای مختلفی برای جمعآوری و پردازش این دادهها معرفی شدهاند که خیلی از آنها بر اساس تکنولوژي SNMP عمل میکنند. اما SNMP چیست؟ چه کارکردی دارد و چرا باید از آن استفاده کنیم؟
به زبان ساده SNMP یک پروتکل مدیریت شبکه است که امکان اشتراکگذاری وضعیت سرور را فراهم میکند. اگرچه این پروتکل بهخودیخود ساده است، بعضی از برنامههایی که آن را پیاده میکنند، پیچیدهاند و درک آنها به کمک احتیاج دارد. در این راهنما قصد داریم با پروتکل SNMP و جزئیات مربوط به آن آشنا شویم. همراه ما باشید.
پروتکل snmp چیست؟
برای آن دسته از خوانندگانی که هیچ اطلاعاتی درباره این پروتکل ندارند، مقاله را با تعریف SNMP شروع میکنیم.
SNMP مخفف عبارت «Simple Network Management Protocol» به معنی پروتکل مدیریت شبکه ساده و یکی از رایجترین انواع پروتکلهای نظارتی برای دستگاههای شبکه است. این پروتکل در اواخر دهه ۱۹۸۰ توسعه یافت؛ اما بهخاطر سادگی و عملکرد خوبش هنوز بعد از حدود ۳۰ سال محبوب است و کاربرد دارد. از جمله مهمترین کارکرد آن میتوان به کنترل و پیکربندی دستگاهها و تشخیص خطا و اطلاعرسانی آنها اشاره کرد.
یک واحد مدیریت مرکزی، اطلاعات مربوط به بستههای شبکه را با عامل SNMP در دستگاه شبکه مربوطه مبادله میکند. SNMP تضمین میکند بستههای داده استاندارد باشند و ارتباط بین واحد مدیریت مرکزی و عامل را تضمین میکند. به همین خاطر بسیاری از فروشندگان از این پروتکل استاندارد پشتیبانی میکنند.
چرا به پروتکل SNMP نیاز داریم؟
اما بپردازیم به اینکه ضرورت استفاده از SNMP چیست. در دنیای امروز مقیاس شبکهها روز به روز بزرگتر و برنامههای کاربردی متنوعتر از قبل میشوند. در چنین شرایطی مدیران شبکه باید با این مشکلات دستوپنجه نرم کنند:
- رشد سریع تعداد دستگاههای شبکه، بار کاری مدیران را افزایش میدهد. علاوه بر این، مناطق تحت پوشش شبکهها پیوسته در حال گسترش است و نظارت لحظهای و مکانیابی خطای دستگاههای حقیقتا دشوار خواهد بود.
- شبکهها دستگاههای مختلفی را شامل میشوند و رابطهای مدیریتی سختافزارهای مختلف استانداردهای متفاوتی دارند که مدیریت شبکه را پیچیده میکند.
SNMP برای رفع این مشکلات توسعه یافته است. این پروتکل استاندارد مدیریت شبکه به طور گسترده در تمام شبکههای TCP/IP استفاده میشود و مزایای زیر را به همراه دارد:
- مدیر شبکه میتواند از SNMP برای پرسوجوی اطلاعات، تغییر اطلاعات و یافتن عیوب دستگاهها از این پروتکل استفاده کند و بهرهوری را افزایش دهد.
- با ارائه ویژگیهای متنوع هزینههای مدیریت شبکه را کم میکند.
- نصب و راهاندازی SNMP سخت نیست و کمترین تاثیر را روی دستگاههای شبکه میگذارد.
پایگاه اطلاعات مدیریت (MIB) چیست؟
هر عامل SNMP یک پایگاه داده اطلاعاتی دارد که پارامترهای دستگاه مدیریتشده را توصیف میکند. مدیر SNMP برای درخواست اطلاعات خاص از عامل، توسط این پایگاه داده عمل میکند و اطلاعات را در صورت نیاز برای سیستم مدیریت شبکه (NMS) ترجمه میکند. این پایگاه داده مشترک بین عامل و مدیر، پایگاه اطلاعات مدیریت (MIB) نامیده میشود.
MIB معمولا شامل مجموعه استانداردی از مقادیر آماری و کنترلی است که برای نودهای سخت افزاری یک شبکه تعریف میشود. همچنین SNMP اجازه میدهد این مقادیر استاندارد با مقادیر یک عامل خاص گسترش یابد. به طور خلاصه، فایلهای MIB مجموعه سوالاتی هستند که مدیر SNMP میتواند از نماینده بپرسد. Agent این دادهها را به صورت محلی جمع آوری و ذخیره میکند. بنابراین مدیر SNMP باید از این سؤالات استاندارد و خصوصی برای نمایندهها کاملا آگاه باشد.
مانیتورینگ SNMP چه اجزایی دارد؟
شاید بخواهید بدانید اجزای مانیتورینگ SNMP چیست؟
SNMP یک چارچوب منعطف ارائه میدهد که در آن چندین مؤلفه با هم کار میکنند تا مهندسان شبکه بتوانند نظارت خوبی روی سلامت و عملکرد دستگاهها داشته باشند. همکاری این مولفهها به مهندسان شبکه امکان میدهد صرفنظر از نوع دستگاه یا نرم افزاری که روی آن اجرا میشود، اطلاعات مفید را استخراج کنند.
۱. مدیر SNMP (Manager)
سرور یا یک فرایند خارجی که برای جمعآوری اطلاعات از دستگاههای شبکه، یک نظرسنجی راه میاندازد و پاسخها را جمع آوری میکند. این مدیران همچنین ایستگاه مدیریت شبکه (NMS) نیز نامیده میشوند.
۲. عامل SNMP (Agent)
کلاینت نرم افزاری که از قبل روی اکثر دستگاههای شبکه نصب شده و با ذخیره اطلاعات مربوط به وضعیت دستگاه، به محض راه اندازی نظرسنجی آنها را در اختیار مدیر میگذارد.
مقاله کلاینت چیست را نیز مطالعه کنید.
۳. دستگاههای تحت مدیریت
دستگاهی در شبکه که عامل روی آن نصب، فعال و پیکربندی شده است. روترها، سوئیچها، فایروالها و نقاط دسترسی بیسیم نمونههایی از دستگاههایی هستند که میتوان به وسیله SNMP مدیریت کرد.
۴. پایگاه اطلاعات مدیریت (MIB)
MIB فرهنگ لغتی حاوی اطلاعات ساختاریافته و سلسله مراتبی یک دستگاه است. هر عامل MIB خاص خود را دارد و مجموعهای از تمام اشیائی است که مدیر میتواند مدیریت کند. MIB به هشت گروه طبقهبندی میشود:
۵. شناسه شی (OID)
شناسه شی آدرسی روی یک دستگاه است که اطلاعات خاصی را نمایش میدهد. OID ها میتوانند هرگونه اطلاعات قابل اندازهگیری مثل زمان کار، سرعت یا دمای خنککننده و همچنین عناصر قابل تنظیم مثل حداکثر پهنای باند یا نام دستگاه را نشان دهند.
نحوه عملکرد پروتکل SNMP چیست؟
گفتیم که از این پروتکل برای جمعآوری اطلاعات از کل دستگاههای شبکه استفاده میشود. اما چگونه؟ نحوه عملکرد پروتکل SNMP چیست؟
این پروتکل با تکیه بر یک یک مدل کلاینت-سرور، اطلاعات را با پرس و جو از یک مؤلفه مشتری نرم افزار (عامل SNMP) جمعآوری میکند. همچنین میتوان SNMP Agent را طوری پیکربندی کرد تا اطلاعات را بدون پرسوجو به مدیر شبکه ارسال کند.
این عامل روی اکثر دستگاههای شبکه از قبل نصب میشود و برای شروع جمعآوری اطلاعات باید ابتدا SNMP را در دستگاه فعال کرده و شخصی را به عنوان مدیر پیکربندی کرد.
مرورگر و ابزار SNMP
مجموعه ابزارهای رایگان ManageEngine شامل یک مرورگر SNMP MIB است که به بارگیری یا تخلیه MIB ها و واکشی دادههای MIB از عوامل کمک میکند. SNMP MIB Browser نیز یک ابزار کامل برای نظارت بر دستگاهها و سرورهای SNMP است. میتوانید چندین ماژول MIB را بارگیری کنید، مشاهده کنید و عملیات GET، GETNEXT و SET SNMP را انجام دهید. استفاده از این نرم افزار نظارت بر SNMP را سادهتر میکند و به شما امکان مشاهده، پیکربندی و تجزیهوتحلیل تلههای SNMP را میدهد. همچنین به کمک آن میتوانید عملیات SNMP را از دستگاههای ویندوز و لینوکس انجام دهید.
شماره پورت SNMP
SNMP معمولاً از شماره پورت 161 و 162 پروتکل دادهگرام کاربر (UDP) استفاده میکند؛ چون فرایند انتقال پیام SNMP از طریق پروتکل UDP صورت میگیرد. پروتکلهای امنیت لایه حمل و نقل (TLS) یا امنیت لایه انتقال داده (DTLS) نیز در برخی مواقع مورد استفاده قرار میگیرند.
فرایند | پروتکل | شماره پورت |
درخواست رسید توسط نماینده | UDP | 161 |
ارتباط مدیر با نماینده | UDP | 161 |
رسید اطلاع رسانی توسط مدیر | UDP | 162 |
ساخت اعلان عامل | UDP | هر پورت آزاد |
درخواست رسید | TLS/DTLS | 10162 |
رسید اطلاع رسانی | TLS/DTLS | 10162 |
پروتکل SNMP چه کارهایی برای ما انجام میدهد؟
SNMP بسیار ساده و در عین حال قدرتمند است. برخی از امکانات مدیریتی که این پروتکل در اختیار ما میگذارد عبارتاند از:
- قابلیتهای خواندن و نوشتن: برای مثال میتوان از آن برای بازنشانی گذرواژهها از راه دور یا پیکربندی مجدد آدرسهای IP استفاده کرد
- جمع آوری اطلاعات در مورد میزان پهنای باند مورد استفاده
- جمعآوری گزارشات خطا در یک گزارش کلی و استفاده از آن جهت عیبیابی و شناسایی روندها
- ارسال هشدار ایمیلی درصورت کم شدن فضای دیسک سرور
- نظارت بر استفاده از CPU و حافظه سرور و ارسال هشدار در صورت تجاوز از حد آستانه
- ارسال پیام در صورت از کار افتادن دستگاه
- اجرای نظرسنجی فعالانه: ایستگاه مانیتورینگ هر چند دقیقه وضعیت دستگاهها وضعیت را چک میکند.
مهمترین مزایای SNMP چیست؟
بعد از آشنایی با این پروتکل پر استفاده، نوبت آن میرسد که ببینیم مزیتهای استفاده از SNMP چیست. در ادامه چند مورد را مرور میکنیم.
جمعآوری انواع دادهها از دستگاهها
مدیر شبکه با استفاده از پروتکل SNMP میتواند به تمام اطلاعات مربوط به دستگاههای موجود در شبکه دسترسی داشته باشد. از آنجا که بسیاری از سازندگان سختافزار از این پروتکل پشتیبانی میکنند، میتوان دادهها را از سوییچهای شبکه، روترها، UPS، لوازم NAS، چاپگرها و غیره جمعآوری کرده و از آنها در نرمافزار مانیتورینگ استفاده کرد.
مناسب برای زیرساختهای کوچک و بزرگ
به لطف SNMP، نرم افزار مانیتورینگ انواع دادههای مختلف مثل بار CPU فایروال، میزان تونر چاپگر شبکه، دمای اتاق سرور، یا تمام اطلاعات روی رابطهای یک سوئیچ را از همه دستگاهها بازیابی میکند. به این معنی که میتوان با خیال راحت از این پروتکل برای نظارت جامع بر محیطهای شبکه کوچک و همچنین در زیرساختهای بزرگ با اجزای متعدد استفاده کرد.
امکان نظارت مستقیم
شاید بپرسید منظور از نظارت مستقیم با SNMP چیست؟ از آنجایی که اکثر سازندگان سخت افزار شبکه اجازه نصب نرم افزارهای شخص ثالث را نمیدهند، میتوان با خیال راحت به SNMP اعتماد کرد و از آن برای مدیریت شبکه استفاده کرد. این یکی از بهترین روشهای ممکن برای نظارت بر همه دستگاههاست؛ بیآنکه نیازی به نصب یک عامل اضافی روی سخت افزار شبکه باشد.
آیا با SNMP امکان نظارت بر بخش IT وجود دارد؟
به کمک مانیتورینگ SNMP، میتوان مهمترین پارامترهای سوئیچها، نقاط دسترسی و روترها و همچنین دستگاههایی مثل لوازم خانگی، حسگرهای سختافزاری، چاپگرها و سایر تجهیزات شبکه را زیر نظر داشت. در واقع مانیتورینگ را میتوان یک پردازنده مرکزی دید که ضمن بازیابی دادهها از عوامل SNMP، به عنوان گیرنده پیامهای رویداد نیز عمل میکند؛ بدون آنکه سازنده سخت افزار مجبور باشد حقوق دسترسی بیشتری برای استفاده نرم افزار از دستگاه در نظر بگیرد.
اگر از عوامل نظارتی (Agents) ابزار مانیتورینگ استفاده میکنید، باید این عوامل را روی یک سیستم نصب و مدیریت کنید. بسته به ابزار نظارت، کار با عاملها کم و بیش زمانبر است، اما مزایای خودش را دارد. به خصوص اینکه در ارتباط با نظارت بر سرور، عوامل بینشهای عمیقتری از وضعیت و سلامت پلتفرم مورد نظر ارائه میکنند و برای انجام این کار به منابع کمتری نیاز دارند.
smtp چیست و چطور عمل میکند؟ برای آشنایی بیشتر مقاله مورد نظر را مطالعه نمایید.
معنای دستورات پروتکل SNMP چیست؟
یکی از دلایلی که اینگونه به پذیرش گسترده SNMP منجر شده، سادگی دستورات این پروتکل است. عملیاتها محدودند و بهخاطر سپردن آنها دشوار نیست. به علاوه به قدری انعطافپذیرند که تمام نیازهای ابزار پروتکل را برطرف میکنند. در این بخش میخواهیم ببینیم پرکاربردترین دستورات پروتکل SNMP چیست و خلاصهوار با آنها آشنا شویم:
- Get: پیام Get از جانب مدیر برای عامل (نرم افزار) ارسال میشود و مقدار یک OID خاص را درخواست میکند.
- GetNext: مدیر با ارسال پیام GetNext شی بعدی را در MIB درخواست میکند. بیآنکه دردسر پرسوجوی OID ها را به خود بدهد.
- Set: پیام Set از جانب مدیر برای عامل ارسال میشود تا مقدار متغیری روی عامل را تغییر دهد. این تنها عملیات نوشتن این پروتکل است.
- GetBulk: این درخواست مدیر شبیه ارسال چندین درخواست GetNext عمل میکند. بسته پاسخ تا حد امکان حاوی دادههای بیشتری خواهد بود.
- Response: این پیغام را عامل برای مدیر میفرستد تا به اطلاعات درخواستی او پاسخ دهد. در واقع هم برای انتقال دادههای درخواستی و هم به عنوان تاییدیه دریافت درخواست عمل میکند. برای هر یک از درخواستهای بالا و همچنین پیامهای Inform باید یک پیام Response ارسال شود.
- Trap: این پیام نیز توسط عامل برای مدیر ارسال میشود؛ در حالی که مدیر درخواستی برای آنها نداشته است. معمولا این پیامها رویدادهایی که در دستگاههای تحت مدیریت شبکه رخ میدهد را به اطلاع مدیر میرسانند.
- Inform: مدیر شبکه برای تأیید دریافت پیام Trap، یک پیام Inform به عامل ارسال میکند. عامل تا زمانی که این پیغام را دریافت نکند، احتمالا به ارسال پیام Trap ادامه خواهد داد.
تفاوت نسخههای مختلف SNMP چیست؟
چنانچه مشتاق شدهاید از این پروتکل استفاده کنید، احتمالا در طول بررسیهای خود با نسخههای مختلف این پروتکل روبرو میشوید و این سوال در ذهنتان شکل میگیرد که تفاوت نسخههای مختلف SNMP چیست؟
- SNMPv1 (نسخه 1): این اولین نسخه پروتکل است که کمترین تعداد توابع مدیریت شبکه را فراهم میکند. احراز هویت آن بر اساس نام انجمنهاست و بنابراین کدهای کمتری برای کنترل خطا دارد و سطح امنیت آن فوقالعاده پایین است.
- SNMPv2 (نسخه 2): این نسخه اصلاح شده SNMPv1 است که در آن ابتکاراتی در زمینههای امنیت، مدیریت شبکه و مدیریت عملکرد دیده میشود. حتی دستور جدیدی (GetBulkRequest) ادغام شده که میتواند با ارسال یک درخواست، دادههای بزرگتری از عامل دریافت کند.
- SNMPv3 (نسخه 3): در این نسخه ویژگی امنیت رمزنگاریشده نیز ارائه میشود که آن را نسبت به نسخههای قبل کارآمدتر میکند. امکانات مدیریت شبکه و پیکربندی عناصر شبکه از راه دور بر اساس مدل امنیتی مبتنی بر کاربر (USM) و مدل کنترل دسترسی مبتنی بر نمایش (VACM) از دیگر ویژگیهای این نسخه است.
مهمترین مشکلات و معایب SNMP چیست؟
اگرچه راهاندازی این ناظر جامع دردسر چندانی ندارد و با تلاش نسبتا کمی راهاندازی میشود، گاهی اوقات مشکلاتی بهوجود میآورد که نباید از آنها غافل شد. اگر میخواهید بدانید معایب SNMP چیست، این بخش را تا آخر بخوانید.
مشکلات مربوط به پیغام Trap
نظارت بر دستگاههای شبکه صرفا با تکیه بر پیامهای Trap چندان منطقی نیست. چون این پیامها بستههای UDP هستند که ممکن است گاهی گم شوند و به مدیر نرسند. در نتیجه مشکل بهوجودآمده شناسایی نخواهد شد. بهطور مشابه اگر یک سرویس مهم بالادستی از کار بیافتد و نتواند پیغام inform را ارسال کند، سیل پیامهای Trap بیوقفه برای مدیر ارسال میشوند که مشکلساز است.
ارسال دادههای نادرست یا ناقص از طرف عامل
نظارت با نظرسنجی SNMP همیشه راحت نیست. گاهی سازندگان بخشهای خاصی از پروتکل را پیادهسازی نمیکنند یا آنها را اشتباه پیادهسازی میکنند که باعث میشود عامل دادههای نادرست یا ناقص ارسال کند. در این صورت، مدیر باید به صورت دستی اطلاعات نادرست یا ناقص را حذف کند.
محدودیتهای نظارتی SNMP و ضرورت وجود عامل
تا زمانی که پای این پروتکل در میان است، نظارت بر سرور تا حد زیادی به دادههای سخت افزاری محدود خواهد بود. یعنی پروتکل میتواند فقط بخشی از اطلاعات مربوط به سیستم عامل یا اپلیکیشنهای روی سرور را ارائه کند و برای نظارت جامع به عواملی نیاز دارد که بتوانند این دادهها را ارائه دهند.
سرعت کمتر، مصرف CPU و حافظه بیشتر
SNMP تأثیر قابلتوجهی بر عملکرد نظارت شبکه دارد. مثلا در محیطهایی که هاستهای مختلفی وجود دارند، درخواستها بسیار آهسته و یا حتی خارج از بازه زمانی موردنظر پردازش میشوند. بهعلاوه نظارت با SNMP مصرف CPU و حافظه را به میزان قابل توجهی افزایش میدهد.
مطالعه مقاله بهترین نرم افزارهای مانیتورینگ شبکه از دست ندهید.
کلام آخر
هنوز بعد از ۳۰ سال هیچ استاندارد نظارتی دیگری همچون SNMP معرفی نشده که با عملکرد بهتر نسبت به این پروتکل، آن را از رده خارج کند. کماکان تمام دستگاهها و تجهیزات شبکه از SNMP پشتیبانی میکنند و با آن اطلاعات خود را به اشتراک میگذارند. از آنجایی این یکی از استانداردهای رایج دنیای امروز است، تقریبا تمام سیستمهای نظارتی از آن پشتیبانی میکنند و از مزایایش بهرهمند میشود.
در عین حال، از آنجایی که سایر پروتکلهای نظارتی برای نظارت بر اپلیکیشنها، کاربردهای مبتنی بر ابر، پلتفرمهای مجازیسازی و غیره رایجترند، ابزارهای نظارتی نمیتوانند و نباید فقط بر SNMP تکیه کنند و توصیه میشود به دنبال ابزارهای مکمل باشند.
اگر شما خوانندههای عزیز اطلاعات بیشتری درباره پروتکل SNMP دارید یا بر حسب تجربه چیزهای بیشتری از این پروتکل مدیریت شبکه یاد گرفتهاید که دانستنش مفید است، خواهشمندیم نظراتتان را با ما و همراهان ما در میان بگذارید.
دیدگاهتان را بنویسید