Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplomnaya_rabota3.doc
Скачиваний:
14
Добавлен:
07.05.2019
Размер:
817.66 Кб
Скачать

3. Протокол snmp

Всю необхідну інформацію протокол SNMP отримує з бази керуючої інформації (Management Information Base, MIB). MIB являє собою базу даних стандартизованої структури. База даних має деревоподібну структуру, а всі змінні класифіковані за тематикою. Кожне піддерево містить певну тематичну підгрупу змінних. Найбільш важливі компоненти, що відповідають за роботу мережевих вузлів, об'єднані в підгрупі MIB-II.

Існують два типи MIB: стандартні і фірмові. Стандартні MIB визначені комісією з діяльності Інтернет (Internet Activity Board, IAB), а фірмові - виробником пристрою.

У таблиці 3.1. наведено список найбільш поширених стандартів баз керуючої інформації.

Стандарти баз керуючої інформації

Таблиця 3.1.

База

Призначення

MIB-II

Задает множество объектов, которые могут быть использованы для управления сетевыми интерфейсами.

MIB повторителя

Включена в подмножество MIB-II. Устанавливает объекты, которые можно использовать для управления повторителем.

MIB моста

Включена в подмножество MIB-II.

Задает объекты данных, которые можно использовать для управления мостом.

RMON MIB

Указывает объекты данных, которые можно использовать для управления сетью в целом, при помощи протокола RMON.

У базах даних, зазначених у таблиці 1, присутня безліч змінних, які можуть бути корисні для діагностування мережі та мережних пристроїв.

Наприклад, використовуючи MIB-II, можна отримати відомості про загальну кількість пакетів, переданих мережевим інтерфейсом, а за допомогою MIB повторювача можна дізнатися інформацію про кількість колізій в порту.

У MIB кожен об'єкт має ім'я і тип. Ім'я об'єкта характеризує його становище в дереві MIB. При цьому ім'я дочірнього вузла включає в себе ім'я батьківського сайту і задається цілим числом.

3.1. Формати і імена об'єктів snmp mib

Для іменування змінних бази MIB і однозначного визначення їх форматів використовується додаткова специфікація, звана SMI - Структура управління інформацією. Наприклад, специфікація SMI включає як стандартного ім'я IpAddress і визначає його формат як рядок з 4 байт. Інший приклад - ім'я Counter, для якого визначено формат у вигляді цілого числа в діапазоні від 0 до 232-1.

При описі змінних MIB і форматів протоколу SNMP специфікація SMI спирається на формальну мову ASN.1, прийнятий ISO як нотації для опису термінів комунікаційних протоколів (правда, багато комунікаційні протоколи, наприклад IP, PPP або Ethernet, обходяться без цієї нотації). Нотація ASN.1 служить для встановлення однозначної відповідності між термінами, взятими із стандартів, призначених для людського використання, і тими даними, які передаються в комунікаційних протоколах апаратурою. Досягається однозначність дуже важлива для гетерогенного середовища, характерної для корпоративних мереж. Так, замість того щоб вказати, що деяка змінна протоколу є ціле число, розробник протоколу, що використовує нотацію ASN.1, повинен точно визначити формат і допустимий діапазон змінної. У результаті документація на MIB, написана за допомогою нотації ASN.1, може точно і механічно транслюватися у форму кодів, характерних для повідомлень протоколів.

Нотація ASN.1 схожа на інші метамови, наприклад нормальну Бекусову форму, використовувану при описі мов програмування, зокрема Алгол. Нотація ASN.1 підтримує базовий набір різних типів даних, таких як ціле число, рядок і т. п, а також дозволяє конструювати з цих базових типів складові дані -. масиви, перерахування, структури.

Існують правила трансляції структур даних, описаних на ASN.1, в структури даних мов програмування, наприклад C + +. Відповідно, є транслятори, що виконують цю роботу. Приклади описів даних за допомогою ASN.1 приведені нижче при описі протокольних блоків даних SNMP. Нотація ASN.1 широко використовується при описі багатьох стандартів OSI, зокрема моделей керованих об'єктів і структури повідомлень протоколу CMIP.

Імена змінних MIB можуть бути записані як в символьному, так і в числовому форматах. Символьний формат використовується для представлення змінних в текстових документах і на екрані дисплея, а числові імена - в повідомленнях протоколу SNMP. Наприклад, символьному імені SysDescr відповідає числове ім'я 1, а точніше 1.3.6.1.2.1.1.1.

Складений числове ім'я об'єкту SNMP MIB відповідає повному імені цього об'єкта в дереві реєстрації об'єктів стандартизації ISO. Розробники протоколу SNMP не стали використовувати традиційний для стандартів Інтернету спосіб фіксації чисельних параметрів протоколу в спеціальному RFC, що зветься «Assigned Numbers» (там описуються, наприклад, чисельні значення, які може приймати поле протоколу IP-пакета, і т. П.). Замість цього вони зареєстрували об'єкти баз MIB SNMP у всесвітньому дереві реєстрації стандартів ISO, показаному на рис. 6

Рис. 3.1. Простір імен об'єктів ISO

Як і в будь-яких складних системах, простір імен об'єктів ISO має деревоподібну ієрархічну структуру, причому на рис. 6 показана тільки його верхня частина. Від кореня цього дерева відходять три гілки відповідають стандартам, контрольованим ISO, ITU і спільно ISO-ITU. У свою чергу, організація ISO створила гілку для стандартів, створюваних національними та міжнародними організаціями (гілка орг). Стандарти Інтернет створювалися під егідою Міністерства оборони США (Департамент Оборони, Міністерства оборони), тому стандарти MIB потрапили в піддерево DoD-інтернет, а далі, природно, до групи стандартів управління мережею - гілка Упр. Об'єкти будь-яких стандартів, що створюються під егідою ISO, однозначно ідентифікуються складовими символьними іменами, що починаються від кореня цього дерева. У повідомленнях протоколів символьні імена не використовуються, а застосовуються однозначно відповідні їм складові числові імена. Кожна гілка дерева імен об'єктів нумерується в дереві цілими числами зліва направо, починаючи з одиниці, і ці числа і замінюють символьні імена. Тому повне символьне ім'я об'єкта MIB має вигляд: iso.org.dod.internet.mgmt.mib, повне числове ім'я: 1.3.6.1.2.1.

Група об'єктів приватної (4) зарезервована за стандартами, створюваними приватними компаніями, наприклад Cisco, Hewlett-Packard і т. п. Це ж дерево реєстрації використовується для іменування класів об'єктів CMIP і TMN.

Відповідно, кожна група об'єктів MIB-I і MIB-II також має крім коротких символьних імен, наведених вище, повні символьні імена і відповідні їм числові імена. Наприклад, короткий символьне ім'я групи Система має повну форму iso.org.dod.internet.mgmt.mib.system, а її відповідне числове ім'я - 1.3.6.1.2.1. Частина дерева імен ISO, що включає групи об'єктів MIB, показана на рис. 7.

Рис. 3.2. Частина дерева імен ISO, що включає групи об'єктів MIB-I

Формат повідомлень SNMP

Протокол SNMP обслуговує передачу даних між агентами і станцією, що управляє мережею. SNMP використовує дейтаграмним транспортний протокол UDP, не забезпечує надійної доставки повідомлень. Протокол, що організує надійну передачу дейтаграм на основі з'єднань TCP, дуже завантажує керовані пристрої, які на момент розробки протоколу SNMP були не дуже потужні, тому від послуг протоколу TCP вирішили відмовитися.

SNMP часто розглядають тільки як рішення для управління мережами TCP / IP. Хоча SNMP найчастіше і працює над UDP (він може також працювати і над TCP), він може працювати і над транспортними мережевими протоколами стека OSI - ТРО, ТР4, НКБС, а також над протоколами МАС-рівня. Зростає підтримка протоколу SNMP і в інших транспортних середовищах. Наприклад, фірма Novell почала підтримувати протокол SNMP з версії NetWare 3.11, а деякі виробники обладнання (наприклад, Bay Networks) реалізують у своїх пристроях передачу повідомлень SNMP за допомогою як IP, так і IPX.

Повідомлення SNMP, на відміну від повідомлень багатьох інших комунікаційних протоколів, не мають заголовків з фіксованими полями. Відповідно до нотацією ASN.1 повідомлення SNMP складається з довільної кількості полів, і кожне поле передує описувачем його типу і розміру.

Будь-яке повідомлення SNMP складається з трьох основних частин:

  • версії протоколу (версія)

  • ідентифікатора спільності (громади), що використовується для групування пристроїв, керованих певним менеджером

  • області даних, в якій власне і містяться описані вище команди протоколу, імена об'єктів та їх значення. Область даних ділиться на блоки даних протоколу (Protocol Data Unit, PDU).

Загальний формат повідомлення SNMP в нотації ASN.1 виглядає наступним чином:

SNMP-повідомлення:: =

Послідовності {

Версія INTEGER {

версія-1 (0)

},

співтовариство

OCTET STRING,

SNMP-БРП

БУДЬ

}

Область даних може містити п'ять різних типів PDU, що відповідають п'яти командам протоколу SNMP:

SNMP-блоки розподілу живлення:: =

ВИБІР {

Get-запит

GetRequest-PDU,

Get-запит наступного

GetNextRequest-PDU,

Get-відповідь

GetResponse-PDU,

набір-запиту

SetRequest-PDU,

пастка

Trap-PDU,

}

І нарешті, для кожного типу PDU є визначення його формату. Наприклад, формат блоку GetRequest-PDU описаний таким чином:

GetRequest-PDU:: =

НЕЯВНІ послідовності {

запит-ідентифікатор

ID запиту,

помилок статус

ErrorStatus,

помилка-індекс

ErrorIndex,

змінної прив'язки

VarBindList}

Далі стандарт SNMP визначає відповідно формат змінних блоку GetRequest-PDU.

Мінлива запиту ID - це 4-байтове ціле число (використовується для встановлення відповідності відповідей запитами), ErrorStatus і ErrorIndex - це однобайтові цілі, які в запиті повинні бути встановлені в 0. VarBindList - це список числових імен об'єктів, значеннями яких цікавиться менеджер.

Примітиви протоколу SNMP

SNMP - це протокол типу «запит-відповідь», тобто на кожен запит, що надійшов від менеджера, агент повинен передати відповідь. Особливістю протоколу є його надзвичайна простота - він включає в себе всього кілька команд.

Команда Get-запит використовується менеджером для отримання від агента значення будь-якого об'єкта по його імені.

Команда GetNext-запиту використовується менеджером для витягання значення наступного об'єкта (без зазначення його імені) при послідовному перегляді таблиці об'єктів.

За допомогою команди Get-відповідь агент SNMP передає менеджеру відповідь на команди Get-запит або GetNext-запит.

Команда Встановити використовується менеджером для зміни значення будь-якого об'єкта. За допомогою команди Установити відбувається власне управління пристроєм. Агент повинен розуміти сенс значень об'єкта, який використовується для управління пристроєм, і на підставі цих значень виконувати реальне керуючий вплив - відключити порт, приписати порт певної VLAN і т. п. Команда Встановити придатна також для установки умови, при виконанні якого агент SNMP має надіслати менеджеру відповідне повідомлення. Може бути визначена реакція на такі події, як ініціалізація агента, рестарт агента, обрив зв'язку, відновлення зв'язку, невірна аутентифікація і втрата найближчого маршрутизатора. Якщо відбувається будь-яка з цих подій, то агент ініціалізує переривання.

Команда Пастка використовується агентом для повідомлення менеджеру про виникнення особливої ​​ситуації.

Версія SNMP v.2 додає до цього набору команду GetBulk, яка дозволяє менеджеру отримати декілька значень змінних за один запит.

Примітиви протоколу SNMP

SNMP - це протокол типу «запит-відповідь», тобто на кожен запит, що надійшов від менеджера, агент повинен передати відповідь. Особливістю протоколу є його надзвичайна простота - він включає в себе всього кілька команд.

Команда Get-запит використовується менеджером для отримання від агента значення будь-якого об'єкта по його імені.

Команда GetNext-запиту використовується менеджером для витягання значення наступного об'єкта (без зазначення його імені) при послідовному перегляді таблиці об'єктів.

За допомогою команди Get-відповідь агент SNMP передає менеджеру відповідь на команди Get-запит або GetNext-запит.

Команда Встановити використовується менеджером для зміни значення будь-якого об'єкта. За допомогою команди Установити відбувається власне управління пристроєм. Агент повинен розуміти сенс значень об'єкта, який використовується для управління пристроєм, і на підставі цих значень виконувати реальне керуючий вплив - відключити порт, приписати порт певної VLAN і т. п. Команда Встановити придатна також для установки умови, при виконанні якого агент SNMP має надіслати менеджеру відповідне повідомлення. Може бути визначена реакція на такі події, як ініціалізація агента, рестарт агента, обрив зв'язку, відновлення зв'язку, невірна аутентифікація і втрата найближчого маршрутизатора. Якщо відбувається будь-яка з цих подій, то агент ініціалізує переривання.

Команда Пастка використовується агентом для повідомлення менеджеру про виникнення особливої ​​ситуації.

Версія SNMP v.2 додає до цього набору команду GetBulk, яка дозволяє менеджеру отримати декілька значень змінних за один запит.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]