SNMP چیست و چگونه کار می کند؟
آیا تاکنون به این فکر کرده اید که نرم افزارهای مانیتورینگ، اطلاعات مربوط به کلاینت ها را چگونه دریافت کرده و برای شما مانیتور می کنند؟تمامی نرم افزارهایی (مانند نرم افزارهای مانیتورینگ و آنتی ویروس ها) که قرار است اطلاعات را از یک کلاینت دریافت و پردازش کنند، نیاز دارند که از طریقی این اطلاعات را دریافت نمایند. Simple Network Management Protocol یا همان SNMP پروتکل مشهور و پرکاربرد برای این کار و مدیریت شبکه است. از SNMP برای جمع آوری اطلاعات مربوط به کانفیگ ها و تجهیزات شبکه مانند سرورها، پرینترها، سوییچ ها و روترها، بر اساس یک IP، استفاده می شود.
اگر بخاطر داشته باشید، شبکه به چندین لایه تقسیم می شود. SNMP در واقع یک پروتکل لایه Application است که برای تبادل اطلاعات مدیریتی بین تجهیزات شبکه استفاده می شود. این پروتکل بخشی از همان پروتکل TCP/IP می باشد. SNMP یکی از پروتکل های بسیار ارزشمند و پرکاربرد برای مدیریت و مانیتور عناصر و تجهیزات شبکه های LAN به کار می رود.
بطور کلی نحوه کار SNMP بدین شکل است که یک agent (ویژگیست که روی کلاینت ها نصب و فعال شده تا اطلاعات کلاینت را جمع آوری کرده و به سرور بفرستد) اطلاعات کلاینت ها را به SNMP Manger (همان سروری که قرار است اطلاعات کلاینت ها را از agent دریافت کرده و به نرم افزار مانیتورینگ تحویل بدهد) ارسال کرده و مانیتور می کند.
اجزای SNMP و کاربردهای آنها
در شبکه، عموما یک یا چندین کامپیوتر از وظیفه مدیریت یا مانیتور تجهیزات را به عهده دارند (مانند سرور مانیتورینگ) که به آنها SNMP Manager گفته می شود. در واقع هر تجهیز و کلاینتی که شما می خواهید آن را مدیریت و مانیتور کنید، ویژگی به نام agent را روی آن فعال کرده تا اطلاعات را از طریق پروتکل SNMP به SNMP Managerارسال کند. وظیفه SNMP Manager، دریافت اطلاعات و query از agent، تعیین متغیرهای مورد نظر خود و اعلام وقایع و تغییرات به agent است.
Agent نیز برنامه و ویژگی است که درون تجهیزات شبکه قرار دارد و می بایست فعال شود. فعال سازی آن باعث می شود تا اطلاعات مدیریتی کلاینت را بصورت localجمع آوری کرده و آنها را برای ارسال به SNMP Manager آماده کند، تا هر زمان SNMP Manager درخواست کرد، پاسخگو باشد. البته این agent می تواند استاندارد بوده (مانند Net-SNMP) یا مربوط به شرکت خاصی (مانند HP insight agent) باشد. بنابراین، بطور کلی وظایف agent در موارد زیر خلاصه می شود:
- جمع آوری اطلاعات مدیریتی درباره محیطی که در آن قرار دارد
- ذخیره و بازبابی اطلاعات مدیریتی به عنوان MIB (در ادامه توضیح داده می شود)
- علامت دادن به SNMP Manager در صورت بروز هر تغییر یا اتفاقی در کلاینت
- عمل کردن همانند یک پ.ر.و**ی برای تجهیزاتی که با SNMP مدیریت نشده اند
در واقع یک SNMP Manager می تواند، انواع اطلاعات زیر را از agent درخواست کرده و مانیتور کند:
- آمار و تشخیص هویت پروتکل شبکه
- یافتن تجهیزات متصل به شبکه
- اطلاعات پیکربندی نرم افزاری و سخت افزاری
- آمار کارکرد و میزان کارایی تجهیز
- پیام های خطا و event ها
- آمار کارکرد برنامه ها و نرم افزارهای استفاده شده در کلاینت
اگر در agent اجازه write به SNMP Manager بدهید، SNMP Manager می تواند درخواست ایجاد یک کانفیگ را با استفاده از پیام Set به agent ارسال کرده و یک پارامتر local را تغییر دهد و در اصطلاح کلاینت را از راه دور و با استفاده از SNMP کانفیگ کند. البته دقت کنید که درخواست های Set به مجموعه پارامترهای کوچکی از کلاینت محدود می شود که برایشان دسترسی read-write تعریف شده است. بیشتر پارامترهای کلاینت فقط اجازه خواندن داشته و read-only می باشند.
شکل زیر، اجزای SNMP را در هر لایه TCP/IP مشخص می کند: