Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
zaum-kurs-2013.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
654.85 Кб
Скачать

1.2.1PySnmp архітектура

PySNMP програмне забезпечення має справу з SNMP характеристиками на мові програмування Python.

З точки зору програміста , розташування PySNMP програмного забезпечення відображає еволюцію SNMP протоколу. Вона була написана з нуля, від тривіальних SNMPv1 до повнофункціональної SNMPv3. Таким чином, доступні кілька рівнів API з SNMP функціональністю:

  • Найдавніший і низькорівневий SNMPv1/v2c протокол. Тут програмісту передбачається побудувати/розібрати SNMP повідомлення і їх корисне навантаження – Protocol Data Unit ( PDU ), керування на рівні протоколу помилок, питання транспорту...

  • Хоча це питання вважається досить складним для вирішення, це API, ймовірно, забезпечує кращу продуктивність, обсяг пам'яті і гнучкість, тим більше якщо необхідна підтримкаMIB доступу та / або SNMPv3.

  • Частина стандартних SNMPv3 виражається в якихось абстрактних API для SNMP двигуна і його компонентів. PySNMP реалізація приймає це абстрактне API в значній мірі, тому він доступний в розпорядження програміста. Як побічний ефект, SNMP RFC, можна послатися на API семантики при програмуванні PySNMP на цьому рівні. Цей API є набагато більш високого рівня, ніж попередні, тут програмісту доведеться керувати двома основними питаннями: створення місцевого сховища даних конфігурації ( LCD ) від SNMP двигунів і збірку/розбір PDU. PySNMP система поставляється в багатомовному вигляді, таким чином, на цьому рівні всі SNMPv1, SNMPv2c і SNMPv3 функції доступні.

  • Нарешті, на самому високому рівні API для SNMP функціональності доступна за допомогою стандартного протоколу SNMPv3 додатків. Ці додатки охоплюють найбільш часті потреби.

Додатки API ще більше спрощують роботу програміста, приховуючи LCD питанння управління (на відміну від SNMPv3). Цей API може бути використано в Oneliner виглдяі, для швидкого і простого створення прототипів.

Що стосується його внутрішньої структури, PySNMP складається з кількох великих, спеціалізованих компонентів. Вони зазвичай приймають форму класів, які перетворюються в пов'язані об'єкти під час виконання. Отже, ось основні компоненти:

  • SNMP Engine являє собою об'єкт, що містить посилання на всі інші компоненти SNMP системи. Користувач програми має один екземпляр класу SNMP Engine,яке можливо ділиться багатьма SNMP застосуваннями всіх видів. Як і інші зв’язки в компонентах, як правило, накопичення різної конфігурації та службової інформації в режимі виконання, SNMP об'єкт Engine здається важким для налаштування в працездатний стан.

  • Транспортна підсистема використовується для відправки SNMP-повідомлень і приймання їх від мережі. Підсистема вводу/виводу складається з абстрактного диспетчера і одного або більш абстрактного класу транспорту. SNMP часто використовує UDP транспорт, але інші теж можливі для використання. Інтерфейси транспорту Dispatcher в основному використовують повідомлення і PDU Dispatcher. Однак, при використанні SNMPv1/v2c-native API (низького рівня), ці інтерфейси будуть викликатися безпосередньо.

  • Повідомлення І PDU диспетчер є серцем SNMP системи. В його основні обов'язки входить диспетчерування з SNMP-додатками за допомогою різних підсистем,а такожза SNMP повідомлення, що надходять від мережі до SNMP додатка. Він підтримує логічний зв'язок з інструментарієм управління контролером, який здійснює операції з Managed Objects.

  • Модулі обробки повідомлень – обробляють повідомлення і операції на рівні протоколу. Найголовніше, вони включають розбір повідомлень і виклику служби безпеки по мірі необхідності. Всі модулі MP спільного використання стандартних API використовуються повідомлення і PDU Dispatcher.

  • Модулі Message Security виконує перевірку автентичності повідомлень і/або шифрування. 

  • Підсистема контролю доступу використовує LCD інформацію для керування віддаленим доступом до керованих об'єктів. Це використовується при обслуговуванні Agent додатків або Trap приймачівв менеджері програм.

  • Колекція виділених Managed Objects екземпляри використовуються PySNMP для своїх внутрішніх цілей. Вони в сукупності називаються місцевим сховищем даних конфігурації (LCD). У PySNMP, всі SNMP конфігурації двигуна і статистика зберігається в LCD. 

LCD – Configurator є оболонкою, спрямована на спрощення LCD операцій.

У більшості випадків користувач повинен мати справу тільки з високимрівнем API Oneliner для всіх PySNMP компонентів. Однак реалізації SNMP агентів, довірених осіб і деяких інших тонких особливостей менеджерів вимагають використання стандартних API додатків. 

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