المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

الاصطلاحات

يحصل يبدأ ب ifIndex

كائنات الاستقصاء

كائنات الاستقصاء المستندة إلى ifIndex

كائنات الاستقصاء إذا لم يكن الجدول مفهرسا بواسطة IfIndex أو مفهرسا تبادليا

ربط Bridge-MIB ب IF-MIB

معلومات ذات صلة

المقدمة

عند التحقق من كائنات بروتوكول إدارة الشبكة البسيط (SNMP)، يجب عليك في بعض الأحيان معرفة ما يتم استقطابه بالضبط. لكي تفهم هذا تماما، تحتاج أن تعرف كيفية ربط الكائن الذي يتم استفتاؤه بما تريد إستطلاعه. يغطي هذا المستند المبادئ الأساسية لكيفية إستخدام الفهارس في SNMP لتجميع الكائنات في جداول.

المتطلبات الأساسية

المتطلبات

يجب أن يكون لدى قراء هذا المستند معرفة بالمواضيع التالية:

- معرفة عامة ببروتوكول SNMP

- البرامج المستخدمة للاستعلام عن أجهزة Cisco عبر SNMP

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:

- UCD SNMP، الإصدار 4.2

- Cisco Catalyst 5509 مع برنامج Cisco IOS® Software، الإصدار 5.5(7)

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.

الاصطلاحات

للحصول على مزيد من المعلومات حول اصطلاحات المستندات، ارجع إلى اصطلاحات تلميحات Cisco التقنية.

يحصل يبدأ ب ifIndex

أحد الأشياء الأولى التي تتعلمها، عندما تتعامل مع SNMP، هو ifIndex. هذا مفتاح أساسي لكل الكائنات. اعتبر ذلك طريقة لتفكيك جميع الواجهات (المادية والمنطقية) وتعيين قيمة لها. يتم تعيين هذه القيمة أثناء تحميل الجهاز، وقد لا يتم تغييرها. إذا كانت هناك حاجة لاستطلاع أي معلومات حول تلك الواجهة المحددة، فيجب أن تستخدم القيمة المعينة.

يتم تحديد IfIndex في قاعدة معلومات الإدارة (IF-MIB (RFC 1213 ) بهذه الطريقة:

InterfaceIndex ::= TEXTUAL-CONVENTION

DISPLAY-HINT "d"

STATUS       current

DESCRIPTION

"A unique value, greater than zero, for each interface

or interface sub-layer in the managed system.  It is

recommended that values are assigned contiguously

starting from 1.  The value for each interface sub-

layer must remain constant at least from one re-

initialization of the entity's network management

system to the next re-initialization."

SYNTAX       Integer32 (1..2147483647)

بالنسبة لأي قاعدة معلومات إدارة (MIB)، تكون الطريقة السريعة لمعرفة الفهرس الذي ينظم الجدول هي النظر إلى إدخال الجدول:

ifEntry OBJECT-TYPE

SYNTAX      IfEntry

MAX-ACCESS  not-accessible

STATUS      current

DESCRIPTION

"An entry containing management information applicable

to a particular interface."

INDEX   { ifIndex }

::= { ifTable 1 }

بافتراض قاعدة معلومات الإدارة (MIB) وإدخال جدول، يمكنك تحديد كيفية فهرسة الجدول. يزود القسم تالي مثال من ifIndex.

كائنات الاستقصاء

كائنات الاستقصاء المستندة إلى ifIndex

عندما تقوم بإصدار الأمر snmpwalk لاستطلاع كائن مستند إلى ifIndex (ifName) للمنفذ 7/4 على المحول، فأنت تحصل على هذا الإخراج:

sj-cse-568: snmpwalk 172.16.99.60 public ifname

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.1 = sc0

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.2 = sl0

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.3 = VLAN-1

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.4 = VLAN-1002

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.5 = VLAN-1004

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.6 = VLAN-1005

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.7 = VLAN-1003

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.8 = 7/1

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.9 = 7/2

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.10 = 7/3

!--- This is the relevant line:

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.11 = 7/4

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.12 = 7/5

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.13 = 7/6

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.14 = 7/7

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.15 = 7/8

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.16 = 7/9

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.17 = 7/10

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.18 = 7/11

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.19 = 7/12

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.20 = ATM8/0

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.22 = /A

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.23 = /B

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.24 = Nu0

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.25 = LEC/ATM8/0.10

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.532 = 3/1

ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.533 = 3/2

!--- Output suppressed.

في هذا الإخراج الناتج من إستطلاع ل ifName (ifDescr على الموجهات)، لاحظ وجود رقم مرتبط بكل صف، بعد ifName. هذا هو ifIndex الذي تم تعيينه للواجهة الفعلية في نفس الصف. هذا يعني أن الصف الثاني من الاستطلاع، ميناء 7/4، تم تعيين IFindex 11. إذا كنت تريد معلومات عن المنفذ 7/4 من كائن IFindexed، أستخدم فهرس من 11. وهذا يعني إضافة .11 إلى نهاية معرف كائن MIB (OID)، لاسترداد مثيل هذا الكائن الذي يتوافق مع نفس قيم IfIndex.

كائنات الاستقصاء إذا لم يكن الجدول مفهرسا بواسطة IfIndex أو مفهرسا تبادليا

في بعض الأحيان، لا يتم فهرسة الجداول بواسطة ifIndex، مثل إستخدام Bridge-MIB. يفحص هذا الإخراج كيفية فهرسته:

dot1dBasePortEntry OBJECT-TYPE

SYNTAX  Dot1dBasePortEntry

ACCESS  not-accessible

STATUS  mandatory

DESCRIPTION

"A list of information for each port of the

bridge."

REFERENCE

"IEEE 802.1D-1990: Section 6.4.2, 6.6.1"

INDEX  { dot1dBasePort }

::= { dot1dBasePortTable 1 }

يوضح هذا الإخراج أن dot1dBasePortEntry يتم فهرسته بواسطة dot1dBasePort. كيف تتم ترجمة ذلك مرة أخرى إلى ifIndex؟ يقوم BRIDGE-MIB بالوصول إلى كائن يسمى dot1dBasePortIfIndex. يتم تعريف الكائن بهذه الطريقة:

dot1dBasePortIfIndex OBJECT-TYPE

SYNTAX  INTEGER

ACCESS  read-only

STATUS  mandatory

DESCRIPTION

"The value of the instance of the ifIndex object,

defined in MIB-II, for the interface corresponding

to this port."

::= { dot1dBasePortEntry 2 }

يوضح هذا الإخراج كيفية الارتباط من قاعدة معلومات الإدارة (BRIDGE-MIB) إلى قاعدة معلومات الإدارة (IF-MIB). المثال التالي يوضح كيف يتلائم كل شيء مع بعضه.

ملاحظة: يتم إنشاء قاعدة معلومات الإدارة (BRIDGE-MIB) لكل شبكة محلية ظاهرية (VLAN)، وبالتالي يجب إستخدام "public@vlan-id" للبيئات غير التابعة لشبكة VLAN1.

ربط Bridge-MIB ب IF-MIB

عندما تقوم بإصدار سير سريع على BRIDGE-MIB، فإنك تحصل على إخراج العينة التالية لفهرس. أستخدم dot1dBasePortIfIndex (.1.3.6.1.2.17.1.4.1.2) لتعيينه مرة أخرى إلى ifIndex. بمجرد أن يكون لديك IfIndex، استخدمه لاستبيان الكائنات الأخرى بناء على IfIndex.

sj-cse-568: snmpwalk 172.16.99.60 public .1.3.6.1.2.1.17.1.4.1.2

17.1.4.1.2.203 = 671

17.1.4.1.2.204 = 672

17.1.4.1.2.205 = 673

17.1.4.1.2.206 = 674

17.1.4.1.2.207 = 675

17.1.4.1.2.208 = 676

17.1.4.1.2.209 = 677

17.1.4.1.2.210 = 678

17.1.4.1.2.211 = 679

17.1.4.1.2.212 = 680

17.1.4.1.2.213 = 681

17.1.4.1.2.214 = 682

17.1.4.1.2.215 = 683

17.1.4.1.2.216 = 684

17.1.4.1.2.257 = 581

17.1.4.1.2.385 = 8

17.1.4.1.2.386 = 9

17.1.4.1.2.387 = 10

17.1.4.1.2.388 = 11

17.1.4.1.2.389 = 12

17.1.4.1.2.390 = 13

17.1.4.1.2.391 = 14

17.1.4.1.2.392 = 15

17.1.4.1.2.393 = 16

17.1.4.1.2.394 = 17

17.1.4.1.2.395 = 18

17.1.4.1.2.396 = 19

17.1.4.1.2.449 = 22

يظهر سطر النص الغامق (17.1.4.1.2.388 = 11) أن .388 هو فهرس. نظرا لأنك قمت باستطلاع كائن dot1dBasePortIfIndex من BRIDGE-MIB، فإن .388 هو dot1dBasePortIfIndex. 11 في سطر المخرجات هو في الواقع ifIndex. إذا قمت بتجميع المعلومات من هذا الاستطلاع ومن الاستطلاع السابق، أنت يستطيع حددت أن ميناء 7/4 له ifIndex من 11 و dot1dBasePortIfIndex (فهرسة ل BRIDGE-MIB) من .388.

معلومات ذات صلة

- الدعم الفني - Cisco Systems