اینترنت اشیاء تئوریک نرم افزار

مدیریت شبکه با پروتکل SNMP

نوشته شده توسط نیلوفر مهرنیا

با گسترش شبکه ها و اهمیت روز افزون آنها, نیاز به ابزارهایی برای مدیریت مولفه های سخت افزاری و نرم افزاری سیستم های شبکه بیشتر از قبل حس میشود. ابزارهایی که میتوانند در مورد پایش میزبان ها, تشخیص خرابی کارت شبکه ی یک مسیریاب یا میزبان, پایش ترافیک برای کمک در به کارگیری منابع, تشخیص نفوذ و … مورد استفاده قرار بگیرند. مولفه های اصلی یک معماری مدیریت شبکه, موجودیت مدیریت کننده, موجودیت تحت مدیریت و پروتکل مدیریت شبکه هستند. در ادامه این آموزش با مرجع تخصصی آموزش شبکه به زبان فارسی، دیجی اسپارک همراه باشید.


مولفه های اصلی مدیریت شبکه


  • موجودیت مدیریت کننده(managing entity) : یک برنامه ی کاربردی است که در ایستگاه مرکزی مدیریت شبکه اجرا میشود و محل اصلی فعالیت های مربوط به مدیریت شبکه است. این بخش معمولا توسط نیروی انسانی اجرا و کنترل میشود. در اینجاست که میتوان به تحلیل, کنترل, پردازش و نمایش اطلاعات پرداخت و با دستگاه های شبکه تعامل داشت.

 

  • موجودیت تحت مدیریت(managed device) : یکی از تجهیزات شبکه است که در یک شبکه ی تحت کنترل وجود دارد. در یک موجودیت تحت مدیریت اغلب چندین شی وجود دارد (managed object). این اشیا هر کدام اطلاعاتی مخصوص خود دارند که در یک پایگاه اطلاعات مدیریت (MIB) گردآوری میشوند. مقادیر این اطلاعات در دسترس مدیریت کننده است و حتی میتواند آنها را تغییر دهد. در هر دستگاه تحت مدیریت, یک عامل مدیریت شبکه (network management agent) وجود دارد که ارتباط با موجودیت مدیریت کننده را برقرار میکند و دستورات ارسالی آن را انجام میدهد.

 

  • پروتکل مدیریت شبکه (network management protocol): ارتباط بین موجودیت مدیریت کننده و موجودیت تحت مدیریت را برقرار میکند. یکی از پروتکل های رایج در مدیریت شبکه, پروتکل SNMP است.

 


شناخت MIB


(Management Information Base) MIB یا پایگاه اطلاعات مدیریت, یک مخزن اطلاعاتی مجازی است که اطلاعات اشیای مدیریتی, که مقادیر آنها میتواند در کنار هم نشان دهنده ی وضعیت فعلی شبکه باشند را در خود نگه میدارد. موجودیت مدیریت کننده توسط ارسال پیام های SNMP به عامل دستگاه میتواند در مقادیر MIB پرس و جو کند یا آنها را تغییر دهد. اشیای MIB مربوط به هم در ماژول های MIB کنار هم جمع آوری میشوند. ماژول های MIB میتوانند استاندارد یا خصوصی( برای تجهیزات یک تولیدکننده خاص) باشند. برای نام گذاری ماژول های MIB روشی برگرفته از ISO استفاده میشود که ماژول های MIB استاندارد نیز در بخشی از این چارچوب قرار دارند. قسمتی از درخت نام گذاری ISO اشیا را در شکل زیر مشاهده میکنید:

Network management with SNMP protocol

همانطور که در تصویر بالا دیده میشود, در هر زیر شاخه از این درخت, عددی قرار داده شده که توسط این اعداد میتوان شناسه ی شی(OID) هر کدام از زیر شاخه ها را بدست آورد. برای مثال, زیر شاخه management با شناسه ۱.۳.۶.۱.۲ شناخته میشود. در زیرشاخه private فهرستی از نام ها و کدهای شرکت های خصوصی که در IANA ثبت نام کرده اند و در زیرشاخه MIB-2 تعاریف ماژول های MIB استاندارد وجود دارد.

Network management with SNMP protocol

در تصویر بالا اشیای زیر شاخه system را میبینید که اطلاعات کلی درباره ی دستگاه تحت مدیریت هستند و همه ی دستگاه ها باید از اشیای MIB system پشتیبانی کنند. در جدول زیر توضیحات و نوع هر کدام از این عناوین را مشاهده میکنید.

MIB system


ساختار اطلاعات مدیریت SMI


(Structure of Management Information)SMI یا ساختار اطلاعات مدیریت, یک زبان تعریف داده است که نوع داده ها, یک مدل شی و قوانین نوشتن و ویرایش اطلاعات مدیریت را تعریف میکند. اگر MIB را متناظر با اطلاعات در نظر بگیریم آنگاه SMI را باید متناظر با قالب اطلاعات در نظر گرفت.


انواع داده در SMI


برخی از انواع داده ی پایه در SMI که پرکاربردند:

INTEGER : عدد صحیح ۳۲ بیتی از مقدار منفی ۲ به توان ۳۱ تا مقدار ۲ به توان ۳۱

Unsigned32 : عدد صحیح مثبت ۳۲ بیتی از مقدار ۰ تا مقدار  ۲ به توان ۳۱

OCTET STRING : هر داده ی متنی یا باینری دلخواه با طول حداکثر ۶۵۵۳۵ بایت

IPAddress : آدرس اینترنتی ۳۲ بیتی

Counter32 : شمارنده ۳۲ بیتی

و …

 


معرفی پروتکل SNMP


(Simple Network Management Protocol)SNMP یا پروتکل مدیریت ساده ی شبکه, برای انتقال اطلاعات MIB بین موجودیت مدیریت کننده(manager) و عاملی(agent) که روی اشیای تحت مدیریت اجرا شده استفاده میشود.

 


انواع درخواست ها در SNMP


در SNMP دستوراتی برای get , set و trap کردن وجود دارد. Set کردن برای وقتی است که میخواهیم مقدار متغییری را در agent تغیر دهیم و get کردن برای مواقعی است که میخواهیم مقداری را از agent بخوانیم. دستوراتی که برای set و get کردن استفاده میشود از سمت manager به agent فرستاده میشود , در agent اقداماتی انجام میگیرد و پاسخی به manager باز میگردد که اصطلاحا به این حالت , حالت درخواست – پاسخ (request – response ) می گویند. اما trap ها در حالتی انجام میشوند که مورد غیر منتظره ای رخ داده است و agent باید به manager اطلاع دهد پس پیام هشدار (trap message) از سمت agent به manager ارسال میشود و درخواست و پاسخی در این مورد وجود ندارد.

  • پورت پیش فرض SNMP پورت ۱۶۱ و پورت پیام های trap پورت ۱۶۲ است.

snmp set get trap

  • در شکل زیر هفت نوع درخواست SNMP معرفی شده اند که به آنها واحد داده ی پروتکل (PDU) گفته می شود.

pdu snmp


نسخه های مختلف SNMP


سه نسخه مختلف از SNMP به نام های SNMPv1 , SNMPv2 , SNMPv3 وجود دارد. SNMPv3 نسبت به دو نسخه ی قبل خود امکانات بیشتری دارد. در این نسخه به امنیت توجه ویژه ای شده است و میتوان گفت دو نسخه ی ۱و ۲ امنیت بسیار پایینی دارند. نسخه سوم امنیت را به روش سنتی به شکل username و password تامین میکند و علاوه بر احراز هویت , ویژگی هایی مانند رمزگذاری , محافظت در مقابل حملات بازپخش و کنترل دسترسی را دارد.

اگر امکان استفاده از نسخه سوم SNMP برای شما وجود دارد (منابع محدود نباشند و …) حتما از این نسخه استفاده شود. نسخه های ۱ و ۲ بیشتر در مواقعی که نمیتوان از نسخه ۳ استفاده کرد , کاربرد دارند.

 


جمع بندی


در این مطلب به لزوم مدیریت شبکه, مولفه های اصلی مدیریت شبکه, معرفی پایگاه اطلاعات مدیریت (MIB) , روش بدست آوردن OID ,معرفی زبان SMI و پروتکل SNMP پرداختیم. در آموزش های بعدی به پیاده سازی عامل SNMP و روش تست آن در پلتفرم های مختلف خواهیم پرداخت.

چنانچه در درک مفاهیم این آموزش با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

درباره نویسنده

نیلوفر مهرنیا

مهندس نرم افزار

تبادل نظر و رفع عیب با ثبت دیدگاه