VARIABLES(5) Net-SNMP VARIABLES(5)

variables - قالب تعیین نام متغیرها برای ابزارهای SNMP

نحو و معناشناسی اطلاعات مدیریتی در پروتکل SNMP بر اساس تعاریف اشیای MIB تعیین می‌شود که از یک یا چند فایل MIB (یا «ماژول‌های MIB») بارگذاری می‌گردند. این تعاریف برای کارکرد صحیح خود پروتکل SNMP الزامی نیستند، اما معمولاً توسط برنامه‌های کلاینت SNMP برای نمایش معنادار اطلاعات مورد نیاز هستند.

فایل MIB همچنین هنگام توسعه یک عامل SNMP (یا زیرعامل) که این اطلاعات را ارائه می‌دهد، به عنوان یک سند طراحی عمل می‌کند و تضمین می‌نماید که کلاینت و سرور درک مشترکی از ماهیت اطلاعات مدیریتی داشته باشند.

اشیای MIB با استفاده از شناسه‌های شیء (OID) مشخص می‌شوند که می‌توانند به چندین شکل مختلف نوشته شوند. توجه داشته باشید که تمام مثال‌های این بخش به همان شیء یکسان MIB اشاره دارند.

قالب بنیادین یک OID دنباله‌ای از مقادیر صحیح (یا «زیرشناسه‌ها») است که معمولاً با استفاده از نقطه برای جداسازی زیرشناسه‌های جداگانه نوشته می‌شود.


.1.3.6.1.2.1.1.1
این همان قالبی است که درون خود پروتکل SNMP و در بسته‌های ارسالی روی شبکه استفاده می‌شود.

این شیوه نمایش OID نیازی به در دسترس بودن فایل‌های MIB یا تعاریف شیء MIB ندارد. با این حال، متکی بر این است که برنامه کلاینت یا مدیر شبکه بداند یک OID عددی معین به چه چیزی اشاره می‌کند؛ بنابراین برای کسانی که تازه کار با SNMP را آغاز کرده‌اند، نمایش چندان مفیدی نیست.

این قالب را می‌توان با دادن گزینه خط فرمان -On به بیشتر دستورات Net-SNMP به دست آورد.

یک قالب مشابه (اما تا حدی آگاه‌کننده‌تر) از همان نمایش لیست نقطه‌گذاری‌شده استفاده می‌کند، اما زیرشناسه‌های عددی با نام‌های برگرفته از فایل‌های MIB مربوطه جایگزین شده‌اند.


.iso.org.dod.internet.mgmt.mib-2.system.sysDescr
این قالب (مانند OID عددی) یک شیء خاص MIB را به طور یکتا مشخص می‌کند، اما فهرست نام‌ها نشانه‌ای از ماهیت اطلاعاتی که این شیء نمایش می‌دهد فراهم می‌سازد. با این حال، متکی بر در دسترس بودن فایل‌های MIB مرتبط است (مانند همه قالب‌ها به جز OID صرفاً عددی). همچنین این شناسه‌های OID معمولاً بسیار طولانی هستند!

این قالب را می‌توان با ارائه گزینه خط فرمان -Of به بیشتر دستورات Net-SNMP دریافت کرد.

گونه‌ای از این قالب (که معمولاً هنگام نگارش OIDها در متون توصیفی به جای اجرای برنامه‌ها استفاده می‌شود)، ترکیب نام و زیرشناسه عددی است:


.iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1)
.sysDescr(1)

روش جایگزین برای مشخص کردن کم‌وبیش یکتای یک OID، ارائه نام شیء MIB همراه با نام ماژول MIB تعریف‌کننده آن است.

SNMPv2-MIB::sysDescr
نام‌های اشیای MIB در یک ماژول معین یکتا هستند، بنابراین تا زمانی که دو ماژول MIB با نام یکسان وجود نداشته باشند (که نادر است ولی غیرممکن نیست)، این قالب شیء مورد نظر را در قالبی به نسبت فشرده مشخص می‌کند. همچنین یافتن تعریف شیء MIB را نسبتاً آسان می‌سازد.

این قالب پیش‌فرض برای نمایش OIDها در برنامه‌های Net-SNMP است. همچنین می‌توان با تعیین صریح گزینه خط فرمان -OS در بیشتر دستورات Net-SNMP آن را به کار گرفت.

احتمالاً رایج‌ترین روش برای تعیین اشیای MIB استفاده از نام شیء به تنهایی است؛ بدون مسیر کامل یا نام ماژول تعریف‌کننده آن.

sysDescr
این روش کوتاه‌ترین و راحت‌ترین راه برای ارجاع به یک شیء MIB است. با این حال، ریسک این روش آن است که اگر دو ماژول MIB هر کدام شیئی با نام یکسان تعریف کرده باشند (که در برخی شرایط کاملاً مجاز است)، مشخص نیست دقیقاً کدام شیء MIB مد نظر است. برای استفاده روزمره، به ویژه هنگام به کارگیری اشیای استاندارد MIB، این روش احتمالاً امن است. اما آگاهی از ابهامات بالقوه آن اهمیت دارد.

این قالب را می‌توان با ارائه گزینه خط فرمان -Os به بیشتر دستورات Net-SNMP دریافت نمود.

نسخه‌های پیشین این نرم‌افزار (UCD نسخه 4.x و قدیمی‌تر) از رویکرد ساده‌ای برای کوتاه کردن نحوه تعیین OIDها استفاده می‌کردند. اگر مسیر کامل OID با .iso.org.dod.internet.mgmt.mib-2 آغاز می‌شد، این پیشوند پیش از نمایش از OID حذف می‌گردید. سایر OIDها به صورت کامل نمایش داده می‌شدند.

به همین ترتیب، اگر یک OID به کتابخانه UCD ارسال می‌شد که با نقطه شروع نمی‌شد (و در قالب module::name نبود)، همان پیشوند به ابتدای آن افزوده می‌شد. بنابراین OID نمونه از قالب‌های فوق به این شکل ارائه یا نمایش داده می‌شد:

system.sysDescr
مدیریت ناسازگار OIDها بسته به مکان آن‌ها در درخت OID، دردسرهایی بیش از مزایای خود به همراه داشت و این قالب دیگر توصیه نمی‌شود.

رفتار پیشین را می‌توان با دادن گزینه خط فرمان -Ou (برای نمایش خروجی) یا -Iu (برای تفسیر OIDهای ورودی بدون نقطه ابتدایی) در بیشتر دستورات Net-SNMP به دست آورد.

snmpcmd(1)

انتظار نمی‌رود تجزیه‌کننده فایل‌های MIB تفاسیر عجیب و غیرمعمول (اگرچه معتبر) از نمادگذاری ASN.1 را پردازش کند.

01 Oct 2010 V5.9.5.2