Protokoły SNMP i RMON. Vademecum profesjonalisty

27
Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: [email protected] PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ IDZ DO IDZ DO ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG KATALOG KSI¥¯EK KATALOG KSI¥¯EK TWÓJ KOSZYK TWÓJ KOSZYK CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOCIACH ZAMÓW INFORMACJE O NOWOCIACH ZAMÓW CENNIK ZAMÓW CENNI K CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE SPIS TRECI SPIS TRECI DODAJ DO KOSZYKA DODAJ DO KOSZYKA KATALOG ONLINE KATALOG ONLINE Protoko³y SNMP i RMON. Vademecum profesjonalisty Autor: William Stallings T³umaczenie: Mateusz Michalski ISBN: 83-7197-920-7 Tytu³ orygina³u: SNMP, SNMPv2, SNMPv3, and RMON 1 and 2 Format: B5, stron: 604 SNMP (Simple Network Management Protocol) wraz z RMON (Remote Network Monitoring) to najefektywniejsze narzêdzia do zarz¹dzania wspó³czesnymi, bardzo zró¿nicowanymi systemami sieciowymi, co powoduje postrzeganie ich jako standard w zakresie zarz¹dzania sieciami. „Protoko³y SNMP i RMON. Vademecum profesjonalisty” to doskona³y podrêcznik skierowany do administratorów, menad¿erów i projektantów sieci komputerowych, opisuj¹cy zagadnienia zarz¹dzania sieciami w oparciu o SNMP. Napisana zwiêle i konkretnie, skupiaj¹ca siê na zagadnieniach praktycznych ksi¹¿ka, opisuje SNMPv1, SNMPv2 oraz najnowsz¹ wersjê SNMPv3, a tak¿e RMON1 i RMON2 — czyli wszystko to, czego u¿ywa siê obecnie w sieciach LAN i WAN. Dziêki ksi¹¿ce bêdziesz móg³ lepiej okreliæ swoje wymagania co do systemu zarz¹dzania sieci¹, poznaæ przes³anki, którymi kierowali siê projektanci oraz zdobêdziesz niezbêdn¹ wiedzê do efektywnego wykorzystania dostêpnych produktów wspieraj¹cych SNMP. W ksi¹¿ce autor zawar³ pomocne informacje wprowadzaj¹ce w tematykê zarz¹dzania sieciami, w tym przegl¹d wymagañ stawianych systemom zarz¹dzania. Znajdziesz w niej wyjanienia zagadnieñ podstawowych, takich jak architektura zarz¹dzania sieci¹, monitoring wydajnoci, poprawnoci dzia³ania i wykorzystania zasobów sieciowych oraz kontrola konfiguracji i bezpieczeñstwa. Nie zabrak³o szczegó³owych informacji na temat dzia³ania protoko³u SNMPv1 oraz jego rozszerzeñ wprowadzonych w wersji 2. i 3., ze szczególnym uwzglêdnieniem mechanizmów bezpieczeñstwa — uwierzytelnianiu, szyfrowaniu, modelu bezpieczeñstwa USM (User-based Security Model) i modelu kontroli dostêpu VACM (View-based Access Control Model).

description

SNMP (Simple Network Management Protocol) wraz z RMON (Remote Network Monitoring) to najefektywniejsze narzędzia do zarządzania współczesnymi, bardzo zróżnicowanymi systemami sieciowymi, co powoduje postrzeganie ich jako standard w zakresie zarządzania sieciami."Protokoły SNMP i RMON. Vademecum profesjonalisty" to doskonały podręcznik skierowany do administratorów, menadżerów i projektantów sieci komputerowych, opisujący zagadnienia zarządzania sieciami w oparciu o SNMP. Napisana zwięźle i konkretnie, skupiająca się na zagadnieniach praktycznych książka, opisuje SNMPv1, SNMPv2 oraz najnowszą wersję SNMPv3, a także RMON1 i RMON2 -- czyli wszystko to, czego używa się obecnie w sieciach LAN i WAN. Dzięki książce będziesz mógł lepiej określić swoje wymagania co do systemu zarządzania siecią, poznać przesłanki, którymi kierowali się projektanci oraz zdobędziesz niezbędną wiedzę do efektywnego wykorzystania dostępnych produktów wspierających SNMP.W książce autor zawarł pomocne informacje wprowadzające w tematykę zarządzania sieciami, w tym przegląd wymagań stawianych systemom zarządzania. Znajdziesz w niej wyjaśnienia zagadnień podstawowych, takich jak architektura zarządzania siecią, monitoring wydajności, poprawności działania i wykorzystania zasobów sieciowych oraz kontrola konfiguracji i bezpieczeństwa. Nie zabrakło szczegółowych informacji na temat działania protokołu SNMPv1 oraz jego rozszerzeń wprowadzonych w wersji 2. i 3., ze szczególnym uwzględnieniem mechanizmów bezpieczeństwa -- uwierzytelnianiu, szyfrowaniu, modelu bezpieczeństwa USM (User-based Security Model) i modelu kontroli dostępu VACM (View-based Access Control Model).

Transcript of Protokoły SNMP i RMON. Vademecum profesjonalisty

Page 1: Protokoły SNMP i RMON. Vademecum profesjonalisty

Wydawnictwo Helion

ul. Chopina 6

44-100 Gliwice

tel. (32)230-98-63

e-mail: [email protected]

PRZYK£ADOWY ROZDZIA£PRZYK£ADOWY ROZDZIA£

IDZ DOIDZ DO

ZAMÓW DRUKOWANY KATALOGZAMÓW DRUKOWANY KATALOG

KATALOG KSI¥¯EKKATALOG KSI¥¯EK

TWÓJ KOSZYKTWÓJ KOSZYK

CENNIK I INFORMACJECENNIK I INFORMACJE

ZAMÓW INFORMACJEO NOWO�CIACH

ZAMÓW INFORMACJEO NOWO�CIACH

ZAMÓW CENNIKZAMÓW CENNIK

CZYTELNIACZYTELNIA

FRAGMENTY KSI¥¯EK ONLINEFRAGMENTY KSI¥¯EK ONLINE

SPIS TRE�CISPIS TRE�CI

DODAJ DO KOSZYKADODAJ DO KOSZYKA

KATALOG ONLINEKATALOG ONLINE

Protoko³y SNMP i RMON.

Vademecum profesjonalisty

Autor: William Stallings

T³umaczenie: Mateusz Michalski

ISBN: 83-7197-920-7

Tytu³ orygina³u: SNMP, SNMPv2, SNMPv3,

and RMON 1 and 2

Format: B5, stron: 604

SNMP (Simple Network Management Protocol) wraz z RMON (Remote Network

Monitoring) to najefektywniejsze narzêdzia do zarz¹dzania wspó³czesnymi, bardzo

zró¿nicowanymi systemami sieciowymi, co powoduje postrzeganie ich jako standard

w zakresie zarz¹dzania sieciami.

„Protoko³y SNMP i RMON. Vademecum profesjonalisty” to doskona³y podrêcznik

skierowany do administratorów, menad¿erów i projektantów sieci komputerowych,

opisuj¹cy zagadnienia zarz¹dzania sieciami w oparciu o SNMP. Napisana zwiê�le

i konkretnie, skupiaj¹ca siê na zagadnieniach praktycznych ksi¹¿ka, opisuje SNMPv1,

SNMPv2 oraz najnowsz¹ wersjê SNMPv3, a tak¿e RMON1 i RMON2 — czyli wszystko

to, czego u¿ywa siê obecnie w sieciach LAN i WAN. Dziêki ksi¹¿ce bêdziesz móg³ lepiej

okre�liæ swoje wymagania co do systemu zarz¹dzania sieci¹, poznaæ przes³anki,

którymi kierowali siê projektanci oraz zdobêdziesz niezbêdn¹ wiedzê do efektywnego

wykorzystania dostêpnych produktów wspieraj¹cych SNMP.

W ksi¹¿ce autor zawar³ pomocne informacje wprowadzaj¹ce w tematykê zarz¹dzania

sieciami, w tym przegl¹d wymagañ stawianych systemom zarz¹dzania. Znajdziesz

w niej wyja�nienia zagadnieñ podstawowych, takich jak architektura zarz¹dzania sieci¹,

monitoring wydajno�ci, poprawno�ci dzia³ania i wykorzystania zasobów sieciowych

oraz kontrola konfiguracji i bezpieczeñstwa. Nie zabrak³o szczegó³owych informacji

na temat dzia³ania protoko³u SNMPv1 oraz jego rozszerzeñ wprowadzonych w wersji 2.

i 3., ze szczególnym uwzglêdnieniem mechanizmów bezpieczeñstwa — uwierzytelnianiu,

szyfrowaniu, modelu bezpieczeñstwa USM (User-based Security Model) i modelu

kontroli dostêpu VACM (View-based Access Control Model).

Page 2: Protokoły SNMP i RMON. Vademecum profesjonalisty

���������

�������� �

Rozdział 1. � ��� ��1.1. Wymagania dotyczące zarządzania siecią............................................................... 121.2. Systemy zarządzania siecią ................................................................................... 171.3. Układ książki....................................................................................................... 25Dodatek 1A. Zasoby internetowe................................................................................. 29

�������� ��� ���� ���� �� ������� ���������������������������������������������

Rozdział 2. ������������� ���� ��2.1. Architektura monitorowania sieci .......................................................................... 332.2. Monitorowanie wydajności ................................................................................... 382.3. Monitorowanie uszkodzeń.................................................................................... 492.4. Monitorowanie wykorzystania .............................................................................. 522.5. Podsumowanie .................................................................................................... 53Dodatek 2A. Podstawy teorii kolejkowania................................................................... 54Dodatek 2B. Podstawy analizy statystycznej................................................................. 60

Rozdział 3.� ���������� ����� ��3.1. Sterowanie konfiguracją ....................................................................................... 633.2. Sterowanie zabezpieczeniami................................................................................ 673.3. Podsumowanie .................................................................................................... 75

��������� ���������� ����������� ��������������������������������������������������

Rozdział 4.� ��� ������������� ��������������� ���������� ��4.1. Historia rozwoju .................................................................................................. 794.2. Podstawowe pojęcia............................................................................................. 864.3. Podsumowanie .................................................................................................... 91

Rozdział 5.� �� ����!������������������"#����� ��5.1. Struktura informacji zarządzania ........................................................................... 945.2. Zagadnienia praktyczne ...................................................................................... 1085.3. Podsumowanie .................................................................................................. 120Dodatek 5A. Stany połączenia TCP ........................................................................... 120

Rozdział 6.� ����������$�����% �&'6.1. Baza MIB-II...................................................................................................... 1256.2. Baza MIB interfejsu ethernetowego..................................................................... 153

Page 3: Protokoły SNMP i RMON. Vademecum profesjonalisty

6 Protokoły SNMP i RMON. Vademecum profesjonalisty

6.3. Podsumowanie .................................................................................................. 159Dodatek 6A. Diagramy Case’a .................................................................................. 160Dodatek 6B. Adresy IP............................................................................................. 161

Rozdział 7.� ��� ���������("���������� ������)����� ��'7.1. Pojęcia podstawowe........................................................................................... 1657.2. Specyfikacja protokołu ....................................................................................... 1737.3. Wykorzystanie usług transportowych................................................................... 1917.4. Grupa SNMP .................................................................................................... 1937.5. Zagadnienia praktyczne ...................................................................................... 1957.6. Podsumowanie .................................................................................................. 203Dodatek 7A. Porządkowanie leksykograficzne............................................................ 203

���������� !�"� ������������������������������������������������������������������������������ #$%

Rozdział 8.� *�+������(�� �����)�,��������������-� ��� �������- &.�8.1. Pojęcia podstawowe........................................................................................... 2088.2. Grupa statistics .................................................................................................. 2218.3. Grupa history .................................................................................................... 2248.4. Grupa host ........................................................................................................ 2288.5. Grupa hostTopN................................................................................................ 2328.6. Grupa matrix ..................................................................................................... 2368.7. Rozszerzenie tokenRing w RMON...................................................................... 2408.8. Podsumowanie .................................................................................................. 246Dodatek 8A. Zasady nadawania wartości obiektowi EntryStatus (z RFC 1757).............. 247

Rozdział 9.� *�+������(�� �����)�+������ �+��� &/�9.1. Grupa alarm ...................................................................................................... 2499.2. Grupa filter........................................................................................................ 2549.3. Grupa capture.................................................................................................... 2629.4. Grupa event ...................................................................................................... 2669.5. Zagadnienia praktyczne ...................................................................................... 2699.6. Podsumowanie .................................................................................................. 272

Rozdział 10.� 0�1�& &��10.1. Przegląd .......................................................................................................... 27310.2. Grupa katalogu protokołów............................................................................... 28310.4. Grupa mapowania adresów............................................................................... 29210.5. Grupy hostów w RMON2................................................................................. 29510.6. Grupy macierzowe w RMON2.......................................................................... 29910.7. Grupa zbioru historii użytkownika ..................................................................... 30810.8. Grupa konfiguracji sondy.................................................................................. 31310.9. Rozszerzenia w urządzeniach RMON1 do standardu RMON2 ............................. 31710.10. Zagadnienia praktyczne .................................................................................. 31710.11. Podsumowanie............................................................................................... 319

�������&� ���������� �#�������#� ������������������������������������������������ �#�

Rozdział 11. ����2&�)��� ����!���������� �&�11.1. Historia rozwoju .............................................................................................. 32311.2. Struktura informacji zarządzania........................................................................ 32711.3. Posumowanie .................................................................................................. 347Dodatek 11A. Konwencja tekstowa RowStatus........................................................... 348

Page 4: Protokoły SNMP i RMON. Vademecum profesjonalisty

Spis treści 7

Rozdział 12.� ����2&�)�������(" �''12.1. Operacje protokołu........................................................................................... 35512.2. Odwzorowania transportowe............................................................................. 38012.3. Współpraca z SNMPv1 .................................................................................... 38012.4. Podsumowanie ................................................................................................ 385

Rozdział 13.� ����2&�)�$�����%����,����34 �5�13.1. Baza informacji zarządzania w SNMPv2............................................................ 38713.2. Wyrażenia zgodności........................................................................................ 39313.3. Rozwinięcie grupy interfaces z bazy MIB-II....................................................... 40013.4. Posumowanie .................................................................................................. 408Dodatek 13A. Konwencja tekstowa TestAndIncr ........................................................ 408

������&� ���������� ����������� ������������������������������������������������ '$(

Rozdział 14.� 6+,�������������,� ������������2� /��14.1. Szyfrowanie standardowe z wykorzystaniem DES .............................................. 41114.2. Bezpieczna funkcja kodująca MD5.................................................................... 41714.3. Bezpieczna funkcja kodująca SHA-1 ................................................................. 42014.4. Uwierzytelnianie wiadomości przy użyciu HMAC .............................................. 424

Rozdział 15.� ����2��)���-�����#�����+���!� /&�15.1. Historia rozwoju .............................................................................................. 42915.2. Przegląd SNMPv3............................................................................................ 43215.3. Architektura SNMP ......................................................................................... 43715.4. Aplikacje SNMPv3.......................................................................................... 45115.5. Bazy MIB dla aplikacji SNMPv3 ...................................................................... 45415.6. Podsumowanie ................................................................................................ 463Dodatek 15A. Konwencje tekstowewykorzystywane w architekturze zarządzania SNMP ............................................... 464

Rozdział 16.� ����2��)����������������#����(���������+�$��������7 ���8�� /��16.1. Przetwarzanie komunikatów.............................................................................. 46916.2. Model bezpieczeństwa oparty na użytkownikach w protokole SNMPv3................ 47816.3. Podsumowanie ................................................................................................ 502

Rozdział 17. ����2��)�����+�������+���� ���#���������������- '.�17.1. Model VACM.................................................................................................. 50317.2. Obsługa kontroli dostępu .................................................................................. 50817.3. Bazy MIB modelu VACM ................................................................................ 51217.4. Posumowanie .................................................................................................. 519Dodatek 17A. Zasady korzystania z poddrzew i masek................................................ 520

) �*��������������������������������������������������������������������������������������������������� %#%

Dodatek A� 0�������������"(��9:�;�� '&�A.1. Działanie protokołów TCP i IP........................................................................... 528A.2. Warstwy protokołów TCP/IP ............................................................................. 529A.3. Aplikacje TCP/IP.............................................................................................. 532A.4. Protokół datagramów użytkownika ..................................................................... 533A.5. Standardy w protokołach TCP/IP ....................................................................... 534

Page 5: Protokoły SNMP i RMON. Vademecum profesjonalisty

8 Protokoły SNMP i RMON. Vademecum profesjonalisty

Dodatek B� 6$ �����!������!� �"��������)�6��� '��B.1. Składnia abstrakcyjna ........................................................................................ 537B.2. Podstawy ASN.1............................................................................................... 539B.3. Definicje makr w ASN.1.................................................................................... 553B.4. Podstawowe zasady kodowania .......................................................................... 559B.5. Alternatywne zasady kodowania......................................................................... 567

�"�������� '��

%�$+��,� � '��

��������� '��

Page 6: Protokoły SNMP i RMON. Vademecum profesjonalisty

Rozdział 13.

������������� �����������

Rozpoczniemy ten rozdział opisem bazy MIB dla SNMPv2, która wykorzystywana jestzarówno w SNMPv2, jak i w SNMPv1. Następnie rozpatrzone zostaną wyrażenia zgodno-ści; używane są one do określania wymagań dotyczących zgodności dla ujednoliconych bazMIB i pozwalają producentom określić zakres ich implementacji. Dalej przyjrzymy sięrozszerzeniom MIB związanym z grupą ���������, które definiowane są w oparciu o SMIprotokołu SNMPv2 i wykorzystują pewne cechy tego protokołu.

�������������� ������������������������

SNMPv2 MIB definiuje obiekty, które opisują zachowanie jednostek SNMPv2. Takie bazyMIB składają się z trzech grup:

� grupy system — rozwinięcie oryginalnej grupy system z bazy MIB-II po to, byzawierała zestaw obiektów pozwalających na pełnienie przez jednostkę SNMPv2roli agenta przy określaniu swych zasobów dynamicznie konfigurowalnych obiektów,

� grupy SNMP — usprawnienie pierwotnej grupy snmp z bazy MIB-II, składające sięz obiektów dostarczających podstawowego oprzyrządowania do działania protokołu,

� grupy MIB objects — zestaw obiektów zajmujących się jednostkami PDU typuSNMPv2-Trap i pozwalających współpracującym jednostkom SNMPv2, wszystkimwystępującym w roli zarządców, na skoordynowane wykorzystanie operacji ��protokołu SNMPv2.

Rozpatrzymy kolejno każdą grupę MIB.

��������������� �

Grupa ��� zdefiniowana w SNMPv2 MIB jest faktycznie tą samą grupą, co zdefinio-wana w MIB-II, z dodatkiem paru nowych obiektów. Rysunek 13.1 prezentuje skorygowanągrupę ���, która ciągle pozostaje jednak częścią hierarchii MIB-II.

Page 7: Protokoły SNMP i RMON. Vademecum profesjonalisty

388 Część IV � SNMP wersja 2 (SNMPv2)

����������Skorygowanagrupa system

Porównanie rysunku 13.1 z oryginalną grupą ��� (rysunek 6.1) pokazuje, że wszystkienowe obiekty mają nazwy zaczynające się prefiksem � . Obiekty te mają związek z za-sobami systemowymi i używane są przez jednostkę SNMPv2 pełniącą rolę agenta do opisukontrolowanych przez nią zasobów obiektowych; mogą być dynamicznie konfigurowaneprzez zarządcę. Tabela 13.1 grupuje wspomniane obiekty1. Jak widać, dochodzi jedna wiel-kość skalarna i pojedyncza tablica obiektów-zasobów. Wielkość skalarna to ���� ����������, która rejestruje wartość ������ w momencie ostatniej zmiany stanu bądź war-tości któregokolwiek z obiektów zawartych w tablicy obiektów-zasobów; innymi słowy, jestto czas ostatniej zmiany w zestawie dających się kontrolować zasobów, sterowanych przeztego zarządcę. Tablica obiektów-zasobów ma tryb RO (Tylko-do-odczytuy) i składa sięz pojedynczego wiersza dla każdego zasobu obiektowego konfigurowalnego dynamicznie.

1Użyto następujących oznaczeń: ���������(tylko-do-odczytu) — RO, ��������� (do zapisu i odczytu) — RW,

����� ����� (do odczytu i tworzenia) — RC, ����� ������� (niedostępne) — NA.

Page 8: Protokoły SNMP i RMON. Vademecum profesjonalisty

Rozdział 13. � SNMPv2 — bazy MIB i zgodność 389

� ��� ��� Uzupełnienie SNMPv2 grupy system

Obiekt Składnia Opis

�������������� ��������� Wartość �������� z chwili ostatniej zmiany stanu bądźwartości jakiejkolwiek instancji ������

��������� �������� �! �������� Tablica dynamicznie konfigurowalnych zasobów obiektóww jednostce SNMPv2 pełniącej rolę agenta

�������� �������� Informacja dotycząca poszczególnych dynamiczniekonfigurowalnych zasobów obiektów

��������" ����#�� Liczba całkowita stanowiąca indeks w tablicy ���������

������ �$��� ������!��� Identyfikator obiektu (ID) danego wpisu. Jest toodpowiednik obiektu ����%� ��� z MIB-II

������� � ������������ Tekstowy opis danego zasobu obiektu. Jest to odpowiednikobiektu ����� � z MIB-II

���������� ��������� Wartość �������� w momencie ostatniej modyfikacjiwartości tego wiersza

�����������������

Jest to ta sama grupa, którą zdefiniowano w MIB-II, lecz zawierająca pewne nowe obiektyi pozbawiona zarazem części oryginalnych obiektów. Grupa ��� przechowuje pewneelementarne informacje dotyczące ruchu pakietów, odnoszące się do działania SNMPv2.Wszystkie obiekty, oprócz jednego, są 32-bitowymi licznikami z trybem RO (Tylko-do-odczytu) — zgrupowano je w tabeli 13.2. Wspomniany wyjątek dotyczy obiektu ��������������������, mającego tryb RW (Do-zapisu-i-odczytu), typu wyliczeniowego całkowi-tego, przyjmującego wartości ���������� i �������� �, wskazujące, czy jednostka SNMPv2jest uprawniona do generowania pułapek ������������!�"������.

Porównanie do pierwotnej grupy ��� MIB-II (rysunek 7.5) pokazuje, że analizowana grupa(rysunek 13.2) zawiera zdecydowanie mniej parametrów. Wynika to stąd, że tak szczegó-łowe dane nie są niezbędne do rozwiązywania faktycznych problemów, a poza tym znaczą-co zwiększają rozmiar agenta. W związku z tym zaadaptowano bardziej wydajną grupęobiektów.

������������������� ��

Grupa #$%���&��� zawiera dodatkowe obiekty odnoszące się do sterowania obiektami bazyMIB (rysunek 13.3). Pierwsza część tego zestawu jest podgrupą �������, złożoną z dwóchobiektów związanych z pułapkami:

� ��������$', który jest identyfikatorem aktualnie wysyłanego obiektu pułapki lubpowiadomienia. Wartość tego obiektu występuje jako druga (������ w każdejjednostce PDU typu )*#+( ����� i $��!�� �,���.

Page 9: Protokoły SNMP i RMON. Vademecum profesjonalisty

390 Część IV � SNMP wersja 2 (SNMPv2)

� ��� ���� Liczniki w uzupełnionej grupie SNMP

�����������

Liczba wszystkich pakietów odebranych przez jednostkę SNMPv2 z usługi transportowej

�������� �������

Liczba wszystkich komunikatów SNMP dostarczonych do jednostki SNMP, przeznaczonych dlanieobsługiwanej wersji SNMP

�������� �������������

Liczba wszystkich komunikatów SNMP dostarczonych do jednostki SNMP, używających nazwyspołeczności nieznanej jednostce

�������� ������������

Liczba wszystkich komunikatów SNMP dostarczonych do jednostki SNMP, reprezentującychoperacje SNMP nie akceptowane przez społeczność określoną w komunikacie

�����������������

Liczba wszystkich błędów ASN.1 lub BER, które wystąpiły w trakcie dekodowania otrzymanychkomunikatów SNMP

��������������

Liczba wszystkich jednostek PDU typu #����&'���( #����"���&'���( #��)'�*��&'���, �����&'���i ��+�����&'���, które zostały pominięte, ponieważ rozmiar wiadomości zwrotnej, stanowiącejjednostkę PDU z alternatywną odpowiedzią zawierającą puste pole powiązań zmiennych, byłwiększy albo od ograniczeń lokalnych, albo maksymalnego dopuszczalnego rozmiaruwiadomości w jednostce wysyłającej żądanie

��������������

Liczba wszystkich jednostek PDU typu #����&'���( #����"���&'���( #��)'�*��&'���, �����&'���i ��+�����&'���, które zostały pominięte, ponieważ kontekst wskazywał na agenta proxy, a transmisjawiadomości (prawdopodobnie przetłumaczonej) nie powiodła się w taki sposób (inny niżprzekroczenie dopuszczalnego czasu oczekiwania na odpowiedź), że do jednostki wysyłającejżądanie nie mogła być wysłana żadna jednostka PDU z odpowiedzią

� ����������������, który jest identyfikatorem obiektu przedsiębiorstwazwiązanego z aktualnie wysyłaną pułapką. Gdy agent proxy odwzorowujejednostkę PDU typu ���� (zdefiniowaną w RFC 1157) na jednostkę PDUtypu )*#+( �����, wartość tej zmiennej występuje jako ostatnia (������.

Drugą część zestawu obiektów z tej grupy stanowi podgrupa ���)�� złożona z pojedyncze-go obiektu ���)������*!. Obiekt ten służy do rozwiązania dwóch problemów mogącychpojawić się przy korzystaniu z operacji ��:

�� Na tym samym obiekcie MIB zarządca może dokonywać wielu operacji typu ��i może być ważne, aby wszystkie one wykonane były w porządku ich wysyłania,nawet jeśli w trakcie transmisji ten porządek został zaburzony.

�� Jednoczesne użycie operacji �� przez wielu zarządców może skutkowaćniespójnością bądź błędami w bazie danych.

Dla wyjaśnienia drugiego punktu rozważmy prosty przykład. Przypuśćmy, że wartośćobiektu MIB odpowiada adresowi miejsca w buforze, który używany jest do gromadzeniadanych pobranych od zarządcy przy użyciu pewnego protokołu transferu plików. Wartość

Page 10: Protokoły SNMP i RMON. Vademecum profesjonalisty

Rozdział 13. � SNMPv2 — bazy MIB i zgodność 391

�����������Uzupełniona

grupa SNMP

����������Grupa

snmpMIBObjects

obiektu wskazuje następne dostępne miejsce. Zarządca wykorzystuje tę wartość w nastę-pujący sposób: najpierw odczytuje tę wartość, następnie zwiększa ją tak, by wskazywała nanastępne miejsce, i ostatecznie przesyła odpowiednie dane. Może jednak przy tym zajśćnastępująca sekwencja zdarzeń:

�� Menedżer A pobiera wartość obiektu, która wynosi, załóżmy, x.

�� Menedżer B pobiera tę samą wartość.

�� Menedżer A potrzebuje y oktetów przestrzeni buforu i dlatego wydaje agentowipolecenie, by zmodyfikował wartość obiektu do x+y.

Page 11: Protokoły SNMP i RMON. Vademecum profesjonalisty

392 Część IV � SNMP wersja 2 (SNMPv2)

�� Menedżer B potrzebuje z oktetów przestrzeni buforu i dlatego wydaje agentowipolecenie, by zmodyfikował wartość obiektu do x+z.

�� Oba menedżery (A i B) są przygotowane do wysłania danych do buforu, poczynającod lokacji wyznaczonej przez wartość x.

W rezultacie albo A nadpisze dane B, albo na odwrót. Co więcej, jeśli z < y i A wyśle swojedane po B, to nie tylko nadpisze dane B, ale jeszcze część danych A zostanie nadpisanaprzez następnego nadzorcę używającego tego buforu.

Ten problem, w którym rezultat zależny jest od kolejności zachodzenia niezależnychzdarzeń, nazywany jest sytuacją wyścigu (Race)2.

Jedyny obiekt w grupie ���)�� jest definiowany następująco:

�������������,�� �)$��� �-.� �-��/0 ����/���� � 1/0�/����� ��������� ��/��� '����� ������.���� 2)��*��� ���3�� 3�( '��4����%5 � ��67��� '%5 � %������*�� ��1.89( ��:�'%5 � ���� 3��35� 6( �*��������� *��3������ ����� %� ��� �����*�7' ��1.89; ����*� ��� '4�� %��� �� *������ %� 3��'���%; /� ���3��< ��*7���5 *������ %:( ��4��( 3���4��= � �� ����3��( 3��+�����< �����*�� %���� �'� �: �% ������ � ����*�6 *�4��% ��'��� 1�)2 >>? @ ������� , A

Obiekt ������$��� jest konwencją tekstową i jest typu całkowitego ($*��-� : 0..2 147483 647). Jej zakres mieści się w przedziale od 0 do 231–1. Zasady modyfikacji tegoobiektu są następujące. Załóżmy, że aktualna wartość obiektu wynosi K. W tej sytuacji:

�� Jeśli agent otrzyma polecenie �� dla tego obiektu z wartością K, wartość obiektujest zwiększana do (K+1) modulo 231, polecenie wykonywane jest prawidłowoi odsyłana jest wartość K.

�� Jeśli agent otrzyma polecenie �� dla tego obiektu z wartością różną od K, operacjakończy się niepowodzeniem, a zwrócona zostanie informacja o błędzie typu���!������.���� (sprzeczna wartość).

Definicja konwencji tekstowej ������$��� zamieszczona jest w dodatku 13A.

Wiadomo, że polecenie �� wykonywane jest jako niepodzielna instrukcja atomowa;oznacza to, że po odebraniu jednostki PDU typu )�� �,��� przeprowadzane są wszystkieoperacje �� dla zmiennych zawartych w polu powiązań, jeśli wszystkie one są poprawnei dopuszczalne, lub nie przeprowadzana jest żadna, jeśli choć jedna z nich nie jest poprawna.Tak więc obiekt ���)�� może być używany w następujący sposób: gdy zarządca żądaustawienia jednej lub kilku wartości obiektów agenta, najpierw pobiera wartość obiektu���)��. Następnie wysyła jednostkę PDU )�� �,���, której lista powiązań zmiennychzawiera obiekt ���)�� z pobraną wartością oraz odpowiednią parę wartości dla każdegoustawianego obiektu. Jeśli dwóch lub więcej zarządców wysyła )�� �,���, używająctej samej wartości ���)��, pierwszy, który dotrze do agenta, zakończy się powodzeniem(zakładając, że nie wystąpią żadne inne problemy), co w rezultacie spowoduje zwiększenie

2W [Stallings (1995b)] znaleźć można szerokie omówienie problemów rozproszonego, jednoczesnego dostępu.

Page 12: Protokoły SNMP i RMON. Vademecum profesjonalisty

Rozdział 13. � SNMPv2 — bazy MIB i zgodność 393

wartości obiektu ���)��; pozostałe operacje �� zakończą się niepowodzeniem z racjiniewłaściwej wartości ���)��. Poza tym jeśli zarządca zażąda przeprowadzenia ustawieniaserii obiektów i jednocześnie wymaga gwarancji, że zostaną one wykonane we właściwymporządku, każda operacja zawierać powinna obiekt ���)��.

Zgodnie z definicją, jest to zgrubna technika koordynacji; jeśli wszyscy zarządcy używająobiektu ���)��, tylko jeden z nich w danym momencie może prawidłowo wysyłać doagenta żądanie, dotyczące wszystkich obiektów zawartych w MIB. Jeżeli obiekt �������$��� jest związany z pojedynczą grupą, wtedy ograniczenia jednoczesnego dostępu doty-czyć będą obiektów tej grupy.

�����������������������

Specyfikacja SNMPv2 zawiera dokumenty dotyczące zgodności. Ich celem jest definicjanotacji pozwalającej określić minimalne wymagania dotyczące implementacji, a takżerzeczywisty poziom osiągniętej implementacji.

W dokumencie poruszającym zagadnienia zgodności zdefiniowano cztery makra:

� �%/����- ��+ — wskazuje te obiekty w MIB, które są częścią grupy zgodności,

� *��$"$���$�*�- ��+ — identyfikuje zbiór powiadomień,

� #�'������#+�$�*�� — ustala wymagania w stosunku do agenta względemimplementacji modułów i obiektów bazy MIB,

� �-�*����+�%$�$�$�) — definiuje możliwości poszczególnych implementacji agenta.

������������������� �!�"�

Makro to używane jest do specyfikacji grup spokrewnionych obiektów zarządzanych.Tak jak w SNMP SMI, grupa zarządzanych obiektów w SNMPv2 jest podstawową jed-nostką zgodności. Makro �%/����- ��+ zapewnia producentowi systematyczny sposób opisustopnia zgodności przez wskazanie, które grupy zostały zaimplementowane.

Specyfikacja SNMPv2 wyjaśnia występującą w SNMP niejednoznaczność, o której wspo-mniano w podrozdziale 7.5. Ze specyfikacji SNMPv2 wynika, że obiekt jest „zaimplemen-towany” jedynie wówczas, gdy przy operacji odczytu można otrzymać jakąś sensownąwartość. Poza tym dla obiektów, których wartość można zmieniać, implementacja musibyć w stanie wpływać na stosowną zarządzaną jednostkę w odpowiedzi na operację ��.Jeżeli agent nie może zaimplementować obiektu, musi zwrócić komunikat o błędzie (taki jaknp. �!)�����&���) w odpowiedzi na operację protokołu. Niedozwolone jest, aby agent zwra-cał wartość obiektu, którego nie zaimplementował.

Listing 13.1 prezentuje makro �%/����- ��+, które składa się z następujących głównychklauzul:

� klauzula �%/���) — wykaz wszystkich obiektów w grupie, których klauzula#�0�����)) przyjmuje jedną z następujących wartości: ����������!���!���,�����!��, �����1���� lub ����������� (wynika z tego, że obiekty mające klauzulę#�0�����)) o wartości �!���������� nie należą do makra �%/����- ��+;

Page 13: Protokoły SNMP i RMON. Vademecum profesjonalisty

394 Część IV � SNMP wersja 2 (SNMPv2)

���������� Makro OBJECT-GROUP

�)$����#���. 1/��� >>? )�#���-.� ���/���� >>? ��%� ��.��� 2��/���2 ����'� 2������.����2 ��"� ��+��.���B/��� ���/���� >>? 8��'� CB/��� �)$��� ������!���D��%� ��.��� >>? 2�)$���2 2@2 ��%� �� 2A2��%� �� >>? ��%� � E ��%� �� 2(2 ��%� ���%� � >>? 8��'� C���� ��%� �����D����'� >>? 2 '�����2 E 2����� ����2 E 2��������2��+��.��� >>? 2��!������2 ��"� E ������"� >>? 2222 ������ 2222���

do obiektów takich zaliczają się tablice pojęciowe, wiersze pojęciowe i obiektybędące indeksami wierszy. Każdy z wymienionych w tej klauzuli obiektów musibyć zdefiniowany za pomocą makra �%/�����2+� w tym samym module,w którym występuje moduł �%/����- ��+),

� klauzula )����) — wskazuje, czy dana definicja jest aktualna, czy przestarzała,

� klauzula '�)� $+�$�* — zawiera tekstową definicję grupy razem z opisem wszelkichrelacji z innymi grupami (wartość podawana przy wywoływaniu makra �%/����- ��+jest identyfikatorem obiektu przypisanym do grupy),

� klauzula �"� �*�� — może zawierać tekstowy odsyłacz do grupy zdefiniowanejw innym module informacji.

Prostym przykładem definicji z wykorzystaniem makra �%/����- ��+ jest definicja gru-py ���:

����#��'� �)$����#���.�)$���� @ ������.*��( ������)��B�������( ������/��.��������( ����)������������( ���������������( ����.��"�����( ����������/'���������( A��/��� '�����������.����2F��6� ����*�6 '��4����%5 � �������5 ���7'�: � *������: %�������* ��1.89;2>>? @ ����1�)#��'�� G A

�����������������#��$���� �!�"�

Makro *��$"$���$�*�- ��+ jest używane do definiowania zestawu powiadomień dla potrzebzgodności. Listing 13.2 przedstawia to makro, składające się z następujących głównychklauzul:

� klauzula *��$"$���$�*) — wykaz wszystkich notyfikacji należących do danej grupyzgodności (każdy z wyszczególnionych obiektów musi być zdefiniowany za pomocąmakra *��$"$���$�*��2+� w tym samym module, w którym występuje moduł*��$"$���$�*�- ��+),

Page 14: Protokoły SNMP i RMON. Vademecum profesjonalisty

Rozdział 13. � SNMPv2 — bazy MIB i zgodność 395

����������� Makro NOTIFICATION-GROUP

����!��/�����#���. 1/��� >>? )�#���-.� ���/���� >>? ����+� ������.��� 2��/���2 ����'� 2������.����2 ��"� ��+��.���B/��� ���/���� >>? 8��'�CB/��� �)$��� ������!���D����+� ������.��� >>? 2����!��/�����2 2@2 ����+� ������ 2A2����+� ������ >>? ����+� ����� E ����+� ������ 2(2 ����+� ���������+� ����� >>? 8��'�C���� ����+� ���������D����'� >>? 2 '�����2 E 2����� ����2 E 2��������2��+��.��� >>? 2��!������2 ��"� E ������"� >>? 2222 ������ 2222���

� klauzula )����) — wskazuje, czy dana definicja jest aktualna, czy przestarzała,

� klauzula '�)� $+�$�* — zawiera tekstową definicję grupy razem z opisemwszelkich relacji z innymi grupami (wartość podawana przy wywoływaniumakra *��$"$���$�*�- ��+ jest identyfikatorem obiektu przypisanym do grupy),

� klauzula �"� �*�� — może zawierać tekstowy odsyłacz do grupy definiowanejw innym module informacji.

Prostym przykładem definicji *��$"$���$�*�- ��+ jest definicja powiadomień z bazy SNM-Pv2 MIB:

����)��� ����+� ������#��'� ����!��/�����#���. ����!��/����� @ ��������( �'������ �����!���'�� A ��/��� '����� ������.���� 2��� ���+�*� %�( *�6�� %������*� ��1.89 �'�� �����������<;2 >>? @ ����1�)#��'�� H A

���������������%"&� ����&�$���

Makro #�'������#+�$�*�� określa minimalny zestaw wymagań w odniesieniu do imple-mentacji jednego bądź wielu modułów MIB. Makro to przedstawiono na listingu 13.3. Zna-czenie klauzul )����), '�)� $+�$�* i �"� �*�� jest analogiczne do tych samych w makrach�%/���)�- ��+ i *��$"$���$�*�- ��+.

���������� Makro MODULE-COMPLIANCE

1��������1.��/��� 1/��� >>? )�#���-.� ���/���� >>? 2��/���2 ����'� 2������.����2 ��"� ��+��.��� 1��'��.���B/��� ���/���� >>? 8��'� CB/��� �)$��� ������!���D����'� >>? 2 '�����2 E 2����� ����2 E 2��������2��+��.��� >>? 2��!������2 ��"� E ����1��'��.��� >>? 1��'��� E ����1��'��� >>? 1��'�� E 1��'��� 1��'��1��'�� >>? 21�����2 1��'������ ����3� ���'7'

Page 15: Protokoły SNMP i RMON. Vademecum profesjonalisty

396 Część IV � SNMP wersja 2 (SNMPv2)

1�������.��� �������� �.���1��'������ >>? ���'����+���� � 1��'��������+��� E ����1��'��������+��� >>? 8��'� C���'���� �)$��� ������!���D E ����1�������.��� >>? 21/��/���-�#���.�2 2@2 #��'�� 2A2 E ����#��'�� >>? #��'� E #��'�� 2(2 #��'�#��'� >>? 8��'� C���'� �)$��� ������!���D�������� �.��� >>? �������� �� E ������������ �� >>? �������� � E �������� �� �������� ��������� � >>? �������� �#��'� E ��%� ��������� �#��'� >>? 2#���.2 8��'� C���� �)$��� ������!���D 2������.����2 ��"���%� � >>? 2�)$���2 8��'� C���� ��%� �����D ����".��� I��������".��� / ���.��� 2������.����2 ��"����'�� �< ���������� �� *��'3'�� �-��/0 ����*�'����".��� >>? 2�-��/02 ��� C�-��/0D E �������'�� �< ���������� �� *��'3'�� �-��/0 ����*�'I��������".��� >>? 2I������-��/02 ��� CI�����-��/0D E ����/ ���.��� >>? 21���/�����2 / ��� E ����/ ��� >>? 2����� �������2 E 2� ��������+�������+2 E 2��������2 E 2���������2 E2����� �����2��"� >>? 2222 ������ 2222���

Klauzula #�'��� używana jest raz lub więcej razy, tak aby wymienić każdy moduł objętywymogiem implementacji. Klauzula, która odnosi się do tego modułu, nie musi zawieraćjego nazwy. Inne klauzule #�'��� identyfikowane są poprzez nazwę modułu i, opcjonalnie,identyfikator obiektu.

Każda sekcja #�'��� określa te grupy, które są obowiązkowe i te, które są opcjonalne dladanej implementacji. Jeżeli występuje chociaż jedna grupa obligatoryjna, wówczas dołą-czana jest klauzula #�*'��� 2�- ��+), która zawiera wykaz wszystkich grup obowiązko-wych dla danego modułu. Aby zachować zgodność z danym modułem, implementacja musiobejmować wszystkie grupy obowiązkowe.

Dla każdej grupy, która jest warunkowo obowiązująca lub bezwarunkowo opcjonalna,przewidziano oddzielną klauzulę o nazwie - ��+. Klauzula '�)� $+�$�* wykorzystywanajest do specyfikacji okoliczności, przy których dana grupa warunkowo obowiązuje (np. jeżelizaimplementowany jest konkretny protokół bądź jeśli implementowana jest inna grupa).

Wykorzystując klauzulę �%/���, można określić uściślone wymagania w stosunku doobiektów należących do jednej z wyspecyfikowanych grup. Dla każdego takiego obiektuzamieszcza się oddzielną klauzulę �%/���. Możliwe są trzy rodzaje dopasowań. Pierwszedwa stosują się do składni danego obiektu, którego wartość można odczytywać bądź zapi-sywać. Dopuszczalne są następujące uściślenia:

� zakresu — dla typów $*��-� i -����3 zakres dopuszczalnych wartości może byćdostosowany przez zwiększenie dolnych ograniczeń, redukcję górnych ograniczeńi (lub) zmniejszenie ilości alternatywnych wyborów wartości i zakresu,

Page 16: Protokoły SNMP i RMON. Vademecum profesjonalisty

Rozdział 13. � SNMPv2 — bazy MIB i zgodność 397

� wyliczeń — dla typów $*��-� i %$��)� $*- wyliczenie poszczególnych wartościmoże być dopasowane przez odrzucenie jednej lub więcej wartości,

� rozmiaru — dla typów ������)� $*- rozmiar wartości, wyrażony w znakach, możebyć uściślony przez podniesienie dolnego ograniczenia, redukcję górnegoograniczenia i (lub) zmniejszenie ilości alternatywnych wyborów wartości i zakresu,

� zestawu — dla typów ������)� $*- zestaw dozwolonych znaków w wartości możebyć ograniczony przez wprowadzenie kolejnych podtypów (patrz dodatek B.1— omówienie podtypów).

Wymienione dopasowania definiowane są w klauzuli )2*��0 dla obiektów tylko do odczytui w klauzuli 4 $���)2*��0 dla obiektów, których wartość można nastawiać.

Trzecia grupa uściśleń dotyczy kategorii dostępu do obiektu. W celu zdefiniowania mini-malnego poziomu dostępu używana jest klauzula #$*�����)). Implementacja jest zgodna,jeśli poziom dostępu przez nią zapewniany jest większy lub równy określonemu w tensposób poziomowi minimalnemu lub też mniejszy lub równy poziomowi maksymalnemuspecyfikowanemu w klauzuli #�0�����)) definicji obiektu.

Wartość podawana przy wywoływaniu makra #�'������#+�$�*�� jest identyfikatoremobiektu przypisanym do danej definicji zgodności. Przykładowe wyrażenie zgodności dlabazy SNMPv2 MIB wygląda następująco:

����)��� �������� � 1��������1.��/��� ��/��� '����� ������.���� 2I��4���� 3�����= � ��� %�������* ��1.89 ���������'%5 � ��1.89 1�);2 1����� 1/��/���-�#���.� @ ����#��'�( �������#��'�( �����#��'�( ����)��� ����+� ������#��'� A #���. ��������'���#��'� ������.���� 2#�'�� �� %��� ���������%�� ��� %�������* ��1.89( *�6�� ���7'�'%5 '���3��������� ������ �� ���7� 3��= �� �;>>? @ ����1�)�������� �� 9 A

Powyższy moduł określa, że agent będzie zgodny, jeśli zaimplementuje wszystkie grupywymienione w klauzuli #�*'��� 2�- ��+) i zapewni wsparcie dla mechanizmów uwierzy-telniania opartych na społecznościach (zdefiniowanych w SNMPv1).

�����'��% ()*)�� ���+,)-�.�)

Makro �-�*����+�%$�$�$�) jest używane do dokumentowania możliwości jednostki proto-kołu SNMPv2 pełniącej rolę agenta. Makro to wykorzystywane jest do opisu dokładnegopoziomu wsparcia, które zapewnia agent w odniesieniu do wybranej grupy MIB. Definicjataka może określać, że niektóre obiekty mają ograniczoną lub rozszerzoną składnię czypoziom dostępu. Ściśle mówiąc, tego typu określenia możliwości specyfikują dopasowanialub odmiany w odniesieniu do makr �%/�����2+� w modułach bazy MIB. Zauważmy, że tedopasowania czy odmiany nie odnoszą się do makr #�'������+�%$�$�$�).

Page 17: Protokoły SNMP i RMON. Vademecum profesjonalisty

398 Część IV � SNMP wersja 2 (SNMPv2)

Formalna definicja możliwości agenta może być pomocna przy optymalizacji współdzia-łania. Jeżeli stacja zarządzająca zawiera określenia możliwości wszystkich agentów, z któ-rymi współdziała, wówczas może tak dopasować ich zachowanie, aby zapewnić optymalnewykorzystanie zasobów własnych, agenta i sieciowych.

Listing 13.4 prezentuje makro �-�*����+�%$�$�$�). Klauzula + �'���� ����)� zawieratekstowy opis wersji produktu zawierającego danego agenta, a klauzula '�)� $+�$�* zawieratekstowy opis samego agenta. Reszta definicji zawiera po jednej sekcji dla każdego modułuMIB, dla którego agent zapewnia pełną bądź częściową implementację.

����������� Makro AGENT-CAPABILITIES

/#�����/./)������� 1/��� >>? )�#���-.� ���/���� >>? 2.�����������/��2 ��"� 2��/���2 ����'� 2������.����2 ��"� ��+��.��� 1��'��.���B/��� ���/���� >>? 8��'� CB/��� �)$��� ������!���D����'� >>? 2 '�����2 E 2��������2��+��.��� >>? 2��!������2 ��"� E ����1��'��.��� >>? 1��'��� E ����1��'��� >>? 1��'�� E 1��'��� 1��'��1��'�� >>? 2��..����2 1��'������ 2��������2 2@2 #��'�� 2A2 B��������.���1��'������ >>? ������+��� 1��'��������+���1��'��������+��� >>? 8��'� C���'���� �)$��� ������!���D E ����#��'�� >>? #��'� E #��'�� 2(2 #��'�#��'� >>? 8��'� C���� �)$��� ������!���DB��������.��� >>? B��������� E ����B��������� >>? B�������� E B��������� B��������B�������� >>? ��%� �B�������� E ����+� �����B������������+� �����B�������� >>? 2B/��/����2 8��'� C���� ����+� ���������D / ���.��� 2������.����2 ��"���%� �B�������� >>? 2B/��/�����2 8��'� C���� ��%� �����D ����".��� I��������".��� / ���.��� ��������.��� ��+B��.��� 2������.����2 8��'� C��� ������� ��"�D����".��� >>? 2�-��/02 ��� C�-��/0D E ����I��������".��� >>? 2I������-��/02 ��� CI�����-��/0D E ����/ ���.��� >>? 2/�����2 / ��� E ����/ ��� >>? 2���������������2 E 2� ��������+�������+2 E 2��������2 E 2���������2 E 2����� �����2 E 2��������2��������.��� >>? 2���/�������������2 2@2 ����� 2A2 ��������� >>? ���� E ����� 2(2 �������� >>? 8��'� C���� ��%� �����D��+B��.��� >>? 2��!B/�2 2@2 8��'� C��+8�� ��%� �����"D 2A2 E ������"� >>? 2222 ������ 2222���

Page 18: Protokoły SNMP i RMON. Vademecum profesjonalisty

Rozdział 13. � SNMPv2 — bazy MIB i zgodność 399

Opis każdego modułu MIB rozpoczyna się klauzulą )�++� �), określającą nazwę modułu.Następnie klauzula $*���'�) specyfikuje wykaz grup MIB z tego modułu, które agentimplementuje. Ostatecznie, dla każdej obsługiwanej grupy MIB, w definicji zawartychmoże być zero lub więcej specyfikacji obiektów, które agent implementuje w odmiennylub dopasowany sposób w porównaniu z makrodefinicją �%/�����2+� tych obiektów.Dla każdego z takich obiektów określa się, co następuje. Po pierwsze, klauzula .� $��$�*)określa nazwę takiego obiektu. Następnie wystąpić może jedna lub więcej części określają-cych dopasowania. )���5+��� i 4����)���5+��� mają tę samą semantykę, co analogiczneelementy makra #�'������#+�$�*��. ����+��� używane jest do oznaczenia, że agentzapewnia niższy poziom dostępu niż określony w klauzuli #�0�����)) definicji danegoobiektu. ������!�+��� określa nazwy obiektów kolumnowych z wierszy pojęciowych,którym należy bezpośrednio przypisać wartości poprzez operację �� protokołu zarządzania,aby agent umożliwił zmianę stanu instancji kolumny statusowej tych wierszy na aktywny(����(���6�). Element '��.�� określa uściśloną wartość '�".���dla danego obiektu. Klau-zula '�)� $+�$�* zawiera tekstowy opis odmiany bądź dopasowania implementacji.

Wartość podawana przy wywoływaniu makra �-�*����+�%$�$�$�) jest identyfikatoremobiektu przypisanym do danej definicji możliwości.

Specyfikacja SNMPv2 zawiera użytkowy przykład określania możliwości, pokazany nalistingu 13.5. W przykładzie tym agent implementuje SNMPv2, interfejsy, IP, TCP, UDPi moduły EVAL bazy MIB. Dla każdego z tych modułów określono zakres implementacji.

����������� Przykład określenia możliwości agenta z wykorzystaniem makra AGENT-CAPABILITIES

�"����������� /#�����/./)������� .������ ����/�� 2I����� ,;, ������ /�1� ��� J)��2 ��/��� '����� ������.���� 2����� /�1� ��� J)��2

��..���� ��1.89�1�) �������� @ �����#��'�( ����#��'�( �������#��'�( ����)��� ����+� ������#��'� A B/��/���� �������� ������.���� 2.'7��*� �������� ��������� ��3 *�4�� ������ �'�' �������'2 ��..���� �!�1�) �������� @ �+#������#��'�( �+.� *��#��'� A

B/��/���� �+/��������'� �-��/0 ����#�� @ '�C,D( ���C9D A ������.���� 2I J)�� ��� ��4�� '����< ���' ���������2

B/��/���� �+��������'� �-��/0 ����#�� @ '�C,D( ���C9D A ������.���� 2I J)�� ��+���� %� %��� ������ 3���2

��..���� �.�1�) �������� @ ��#��'�( � ��#��'� A

B/��/���� ����+�'����� �-��/0 ����#�� C9KK;;9KKD ������.���� 2��*� %��� ����=< J)��2

Page 19: Protokoły SNMP i RMON. Vademecum profesjonalisty

400 Część IV � SNMP wersja 2 (SNMPv2)

B/��/���� ����/��������� /����� ��������������� ������.���� 2��+���� %� �������:��� J)��2

B/��/���� �������1�������� ���/������������� @ �������1����.��/������ A ������.���� 2��3������� �����' J)�� ���� 3��6�� �����' ������*�7'( %�* � �����' ����'�2

��..���� ��.�1�) �������� @ � �#��'� A

B/��/���� � ���������� /����� �������� ������.���� 2I J)�� ��� ��4�� ���� 3������<2

��..���� ��.�1�) �������� @ '��#��'� A

��..���� �B/��1�) �������� @ +'� �����#��'�( �"���������#��'� A

B/��/���� �"������ ���/������������� @ �8�������� A ������.���� 21�4�� ���3< ����3�2

>>? @ � ��/����� , A

������������ ������!"���#�����$���%�����&�'&&

Jak wyjaśniono w rozdziale 6., dokument RFC 1573 (Evolution of the Interfaces Group ofMIB-II — Rozwinięcie grupy interfaces w bazach MIB-II) porządkuje i udoskonala grupę��������� z RFC 1213 (MIB-II), wykorzystując w definicjach SMIv2.

Grupa ��������� w bazach MIB-II definiuje ogólny zestaw zarządzanych obiektów, takby każdy interfejs sieciowy mógł być zarządzany niezależnie od jego typu. Takie ogólnepodejście jest dostosowane do typowych architektur protokołów, w których protokółmiędzysieciowy, taki jak IP, zaprojektowany został do pracy ponad jakimkolwiek interfej-sem sieciowym. Poza tym dzięki użyciu modułów dopasowanych do typu architektur,takich bazy MIB dla sieci ethernet czy token-ring, możliwe jest dodanie kolejnych obiektówwymaganych w danym typie interfejsu sieciowego.

Doświadczenia z pracy z grupą ��������� i modułami specyficznymi dla różnych typówsieci wykazały istnienie pewnych niedostatków tej grupy, zdefiniowanej w MIB-II. Doku-ment RFC 1573 zajmuje się tymi brakami przez wyjaśnienia, korekty i rozwinięcie strukturyMIB przeznaczonej dla interfejsów. Dokument ten obejmuje w szczególności następująceproblemy:

�� Numeracja interfejsu (Interface Numbering) — grupa ��������� z MIB-II(rysunek 6.2) definiuje obiekt ��*����� jako liczbę interfejsów sieciowychobecnych w systemie i specyfikuje, że każda wartość obiektu ��$���5 musi

Page 20: Protokoły SNMP i RMON. Vademecum profesjonalisty

Rozdział 13. � SNMPv2 — bazy MIB i zgodność 401

zawierać się w przedziale od 1 do wartości ��*����� i pozostawać niezmienna.To wymaganie jest kłopotliwe w urządzeniach pozwalających na dynamicznedodawanie i usuwanie interfejsów sieciowych, tak jak ma to miejsce na przykładw przypadku połączeń typu SLIP/PPP.

�� Podwarstwy interfejsu (Interface Sublayers) — istnieje konieczność wyróżnianiakilku podwarstw poniżej warstwy międzysieciowej.

�� Połączenia wirtualne (Virtual Circuits) — potrzebne jest miejsce na odnotowywaniefaktu, że pod warstwą międzysieciową danego interfejsu znajdować się mogą różnepołączenia wirtualne.

�� Interfejsy bitowe, znakowe i o stałej długości (Bit, Charakter andFixed-LengthInterfaces) — zorientowanie tablicy ������� na transmisję pakietową może byćnieodpowiednie w przypadku interfejsów niepakietowych z natury, jak choćbywykorzystujących transmisję znakową (przykładowo PPP na EIA-232), bitową(na przykład DS1) czy przesyłających paczki o stałej, określonej długości (ATM).

�� Rozmiar liczników (Counter Size) — wraz ze wzrostem szybkości sieci minimalnyczas dla 32-bitowych liczników uległ skróceniu, powodując powstawanie problemówz przepełnieniami.

�� Prędkość interfejsu (Interface Speed) — przedział wartości obiektu ��)���� jestograniczony od góry do 231 – 1 b/s lub poniżej 2,2 Gb/s. Taka prędkość jest osiąganalub nawet przekraczana przez niektóre interfejsy (np. SONET OC-48 – 2,448 Gb/s).

�� Liczniki Multicast/Broadcast (Multicast/Broadcast Counters) — liczniki w �������przewidziane są do łącznego obejmowania transmisji typu Multicast i Broadcast.Niekiedy przydatne są jednak odrębne liczniki dla pakietów obu typów.

� Dodanie nowych wartości ����� — potrzebna jest możliwość dodawania nowychwartości wyliczeniowych obiektu �����. Sposób zdefiniowania obiektu �����w bazie MIB-II powoduje, że nowe wartości dostępne są tylko w nowych wydaniachMIB, co zdarza się raz na kilka lat.

� ��)������� — definicja obiektu ��)������� w MIB-II jest niejednoznaczna.Niektórzy implementatorzy nadali temu obiektowi wartość identyfikatora typu�%/����$'�*�$"$� bazy MIB dostosowanej do rodzaju stosowanego medium.Inni wykorzystali do tego celu identyfikator tabeli dostosowanej do rodzajumedium lub identyfikator wpisu z tej tabeli bądź nawet identyfikator obiektuindeksowego tej tabeli.

Dalej przyjrzymy się, w jaki sposób uwzględniono każdy z tych problemów.

Dokument RFC 1573 zawiera powtórzenie, z niewielkimi modyfikacjami, definicji grupy��������� z MIB-II. Dodatkowo wprowadza cztery nowe tabele (rysunek 13.4):

� Tabelę rozszerzeń (Extensions Table) (��0�����),

� Tabelę stosu (Stach Table) (��)���7�����),

� Tabelę testów (Test Table) (����������),

� Tabelę otrzymanych adresów (Receive Address Table) (�� �(����������).

Page 21: Protokoły SNMP i RMON. Vademecum profesjonalisty

402 Część IV � SNMP wersja 2 (SNMPv2)

����������� Dodatki do grupy interfaces wprowadzone w SNMPv2

�������������)*� �(�

Grupa ta w RFC 1573 ma identyczną strukturę jak grupa ��������� w MIB-II. Składa sięwięc z obiektu ��*����� i tabeli �������. Ważną różnicą jest klauzula '�)� $+�$�* obiektu��$���5, która brzmi następująco:

Page 22: Protokoły SNMP i RMON. Vademecum profesjonalisty

Rozdział 13. � SNMPv2 — bazy MIB i zgodność 403

Wielkość jednoznaczna, większa od zera, dla każdego interfejsu bądź podwarstwyinterfejsu w zarządzanym systemie. Zaleca się, by przydzielane były kolejne numery,

poczynając od 1. Wartość ta dla każdej podwarstwy interfejsu musi pozostawać

niezmienna przynajmniej od momentu inicjalizacji danej jednostki systemu

zarządzania do momentu kolejnej jej inicjalizacji.

Obiekt ��*����� nadal odzwierciedla liczbę interfejsów, a więc również liczbę wierszyw tabeli �������. Jednakże nie jest konieczne ograniczanie zakresu numeracji do przedziałuod 1 do wartości ��*�����. Pozwala to na dynamiczne dodawanie i usuwanie interfejsów.

Dokument RFC 1573 pozwala, aby do jednego fizycznego interfejsu odnosiło się wielewierszy tabeli �������, po jednym dla każdej logicznej podwarstwy. Jednak dokument tenzaleca oszczędne stosowanie tego typu strategii. Poza tym zaleca się niestosowanie oddziel-nych wierszy w tabeli dla połączeń wirtualnych.

Ranga niektórych obiektów tabeli ������� została zdeprecjonowana. I tak ograniczonoznaczenie obiektów ��$�*����+7� i �����*����+7�, zliczających wszystkie pakiety typuNonunicast, wprowadzając w tabeli ��0����� liczniki odrębnie zliczające pakiety typuMulticast i Broadcast. Podobnie ma się rzecz z obiektem �����8���, który był rzadkoimplementowany. Także obiekt ��)������� stracił znaczenie ze względu na swoją niejedno-znaczność i fakt, że nie dostarcza żadnych dodatkowych informacji poza tym, co zapewniaobiekt �����.

Kolejną zmianą w tabeli ������� jest inna składnia �����, będąca obecnie konwencjątekstową $�*������, która może zostać przedefiniowana (przez wprowadzenie nowychwartości) bez konieczności ogłaszania nowej wersji bazy MIB. Za aktualizację $�*������jest odpowiedzialna organizacja IANA (Internet Assigned Number Authority — Władze

przydzielania numerów w Internecie).

��������!�// �/ *) ��� ,)�)*� �( ��

Tabela ��0����� dostarcza dodatkowych informacji w uzupełnieniu tabeli �������. Tabela tai obiekty do niej wpisywane definiowane są następująco:

�+0����� �)$�����-.� �-��/0 �������� �! �+0���� 1/0�/����� ����� ������� ��/��� '����� ������.���� 2I*�3 ���6 ��� 35 � �����+�%�6; �� 3�� ���6 �*��=���� %��� ��3�3 ����=< ����*�' �+�'����; ������ �� 3����� �����*�� ����*� ��� ������ �����+�%�';2 >>? @ �+1�)��%� �� , A�+0���� �)$�����-.� �-��/0 �+0���� 1/0�/����� ����� ������� ��/��� '����� ������.���� 2I��� 3�����%5 �����*�� ��+���� %� 3��35�3����( ���������� ��� ������ �����+�%�'2 /�#1���� @ �+���� A >>? @ �+0����� , A

Page 23: Protokoły SNMP i RMON. Vademecum profesjonalisty

404 Część IV � SNMP wersja 2 (SNMPv2)

�+0���� >>? �������� @ �+���� ������������( �+��1'��� ���.*�� ��'����L9( �+��)���� ���.*�� ��'����L9( �+�'�1'��� ���.*�� ��'����L9( �+�'�)���� ���.*�� ��'����L9( �+M���� ���� ��'����NJ( �+M���� ���.*�� ��'����NJ( �+M���1'��� ���.*�� ��'����NJ( �+M���)���� ���.*�� ��'����NJ( �+M��'�� ���� ��'����NJ( �+M��'�� ���.*�� ��'����NJ( �+M��'�1'��� ���.*�� ��'����NJ( �+M��'�)���� ���.*�� ��'����NJ( �+���*��������������� ����#��( �+M�������� #�'��L9( �+.����� '�'�1��� ��'��B��'�( �+����� ���.������ ��'��B��'� A

Jak widać, tabela ��0����� jest poszerzeniem tabeli �������. Dlatego też indeksowana jestprzez ��$���5 z �������. Tabela ta zawiera obiekt ��*��� będący tekstowym odwołaniem dointerfejsu. Jeśli różne wpisy tej tabeli odwołują się do różnych podwarstw tego samegointerfejsu, wówczas wszystkie one mają taką samą wartość ��*���.

Następne cztery obiekty kolumnowe (��$�#�������+7�9 ��$�%�!�����+7�9 �����#��������+7�9 �����%�!�����+7�) zliczają pakiety typu Mulicast i Broadcast odebrane i trans-portowane przez dany interfejs. Liczniki te zastąpiły wcześniejsze ��$�*�����7� i ������*����+7� z tabeli �������.

Dalsze osiem obiektów (��:�$������9 ��:�$�����+7�9 ��:�$�#�������+7�9 ��:�$�%�!������+7�9 ��:���������9 ��:��������+7�9 ��:����#�������+7�9 ��:����%�!������+7�) określa się jako liczniki „dużej pojemności”. Wszystkie one są 64-bitowymi wersjamianalogicznych liczników z tabeli �������, z tą samą semantyką. Dzięki nim agent jest w sta-nie poprawnie zliczać pakiety w interfejsach o dużej prędkości przesyłu danych.

Obiekt �����7��'!1����������� jest wyliczeniowym typem $*��-� z wartościami ���������������������� �. Obiekt ten wskazuje, czy dla danego wpisu powinny być gene-rowane pułapki typu ���7�� i ���7'!1�. Domyślnie obiekt ten powinien mieć wartość���������� �, jeśli dany wpis definiuje interfejs działający w oparciu o inny interfejs (jak określonow ��)���7�����). W przeciwnym razie generowanie wspomnianych pułapek jest dopusz-czalne i obiekt ten powinien być ustawiony na wartość����������;

Następny obiekt,���:���)����9�to miernik estymujący aktualną szybkości transferu�da-nych interfejsu wyrażoną w Mb/s. Jeżeli obiekt ten ma wartość�n, to rzeczywista pręd-kość przesyłu danych mieści się w jednostronnie domkniętym przedziale (n–0.5,�n+0.5].

Obiekt���+�!����!�#!���jest wyliczeniowym typem�$*��-� �z wartościami �������i������ �. Obiekt ten ma wartość���������wówczas, gdy interfejs akceptuje wszystkietransportowane ramki lub pakiety, i ����� �,� gdy interfejs akceptuje tylko te pakiety(ramki), które adresowane są dla danej stacji. Definicja ta nie obejmuje pakietów typuMulticast i Broadcast;

Ostatni obiekt, ���!�����!�+�����, ma wartość �������, gdy podwarstwa interfejsu posiadałącze fizyczne, i wartość ����� � w przeciwnym razie.

Page 24: Protokoły SNMP i RMON. Vademecum profesjonalisty

Rozdział 13. � SNMPv2 — bazy MIB i zgodność 405

���������� ,�����)*� �( ��

Tabela ��)���7����� ukazuje relacje pomiędzy różnymi wierszami tabeli ������� związa-nymi z tym samym fizycznym interfejsem do medium. Wskazuje te podwarstwy, któredziałają ponad innymi. Każdy wpis tabeli ��)���7����� definiuje powiązania międzydwoma wpisami w �������. Obiekt ��)���7:��������� zawiera wartość indeksu ��$���5wyższej z dwóch powiązanych podwarstw; z kolei obiekt ��)���7�!1������ ma wartośćindeksu ��$���5 niższej podwarstwy. Tabela ta jest podwójnie indeksowana przez te obiek-ty. Do tworzenia i usuwania wpisów tej tabeli wykorzystywany jest obiekt ��)���7)����posiadający składnię konwencji !1)���� (zobacz dodatek 11A).

�����'���� ,�� �0-�)*� �( ��

Tabela ���������� określa obiekty, umożliwiające zarządcy nakazanie agentom przepro-wadzenie różnych testów interfejsu. Tabela ta zawiera jeden wpis dla każdego interfejsu.Obiekty z tej tabeli zebrano w tabeli 13.3.

� ��� ��� Obiekty tabeli ifTestTable

Obiekt Składnia Tryb dostępu Opis

�+��������� �������� �!�+��������

NA Tabela umożliwiająca zarządcy przeprowadzanie testów

�+�������� �������� NA Opis testu dla danego interfejsu

�+������ ����/���� � RW Identyfikuje bieżące wywołanie testu

�+��������'� ����#�� RW Wskazuje, czy któryś zarządca ma aktualnie prawawymagane do wywołania testu danego interfejsu;przyjmuje wartości �����C,D i �����C9D

�+������� /'������'���� RW Identyfikuje test aktualnie trwający bądź taki, któryma zostać wywołany

�+�������'�� ����#�� RO Wskazuje wynik ostatniego testu

�+�������� �)$��� ������!��� RO Kod zawierający szczegółowe informacje o wyniku testu

�+�������� ���������� RW Wskazuje na właściciela danego wpisu tabeli

Każdy wpis w tabeli ���������� daje trzy możliwości:

�� Umożliwia zarządcy, przez ustawienie wartości obiektu ��������, określenie testu,jakiemu poddany ma zostać interfejs. Po zadaniu tej wartości agent uruchamia test.

�� Umożliwia zarządcy uzyskanie wyników testu przez odczyt wartości obiektów����� ���� i ������!��. Wyniki są rejestrowane we wspomnianych obiektachpo zakończeniu testu przez agenta.

�� Zapewnia mechanizm umożliwiający poprawne przeprowadzenie testu tylko jednemuzarządcy w danej chwili. Jednocześnie gwarantuje, że żaden test nie zostaniezażądany w trakcie trwania innego testu. Wykorzystuje się w tym celu obiekty�����$� oraz �����)����.

Page 25: Protokoły SNMP i RMON. Vademecum profesjonalisty

406 Część IV � SNMP wersja 2 (SNMPv2)

Listing 13.6, zaczerpnięty z definicji tabeli ����������, objaśnia logikę korzystania z tejtabeli. Kiedy zarządca zechce przeprowadzić test na danym interfejsie, najpierw wysyłarozkaz -�� �,��� w celu pobrania właściwego wiersza tabeli i odczytania wartości obiek-tów �����$� i �����)����. Jeśli status testu ma wartość �!�$���9 zarządca może konty-nuować procedurę; w przeciwnym razie musi ponawiać pytanie aż do zwolnienia wiersza.

������������Logika tabeli ifTestTable

���O��6��> ������3 C�+������( �+��������'�D ���6*� C�+��������'� P? ��������D @ QR R.:��� �����3��� ��* �7'��( R%�* �7'�� ��� ���� �'� ��� 3��35� � �� *��+��'�'%� RQ *�6�*�� ��6S������ ������3C�+������( �+��������'�D A QR R���� ��� '4�� T ���6�'%� �� ��3�%5< RQ ����=<O���*�� ? �+������ %�=��C '���C�+������ ? ����=<O���*��( �+��������'� ? �����( �+�������� ? U�6%��������.UD ?? )VW�D QR R��� 3��35� � ��3�%57 ��� ����3 T ���6� �� U���O��6��U RQ �*�*O�� ���O��6��X QR R)��*��� '������� RQ '�������� ��������6 ����' QR R��' �������� ����' RQ '���C�+������� ? ����O��O��3������3����DX � 3�*����� �� 3�*�Y 3���� ����' � �� 3����� ����= � �+�������'�� �� 3�*�Y 3���' ����' ����� '����� ����=< �+�������'�� ����� '����� ��3� �� ����*� �+��������'� �� U��������U �������� �3��*� � �����*� � ��*6 ����' ���3 �+������ %�=��C�+������ ?? ����=<O���*��Z,D ��*� �5 �������

Gdy okaże się, że dany wiersz nie jest zajęty, zarządca będzie próbował zażądać testu,używając w tym celu tej samej wartości �����$�, którą ostatnio odebrał. Wartość ta jedno-znacznie identyfikuje każdy test. Zarządca wysyła )�� �,���, próbując ustawić pole ������$� na odebraną wartość. Obiekt �����$� ma składnię ������$���. Przypomnijmy z pod-rozdziału 12.3.5, że obiekt o takiej składni używany jest w następujący sposób: jeżelibieżąca wartość instancji tego obiektu w agencie wynosi K i od zarządcy odebrane zostanieżądanie ustawienia go na tę samą wartość, operacja ta kończy się pomyślnie, a wartośćobiektu zwiększana jest o 1. W przypadku, gdy odebrana wartość jest różna od K, test się nieudaje. Tak więc jeśli zarządca odczyta wartość pola �����$�, a następnie spróbuje ustawićje na taką samą wartość, to próba ta zakończy się pomyślnie jedynie wówczas, gdy żadeninny zarządca nie przeszkodził i nie rozpoczął własnego testu.

Page 26: Protokoły SNMP i RMON. Vademecum profesjonalisty

Rozdział 13. � SNMPv2 — bazy MIB i zgodność 407

Jeżeli ustawienie �����$� powiedzie się, agent zmieni wartość �����)���� na $���,blokując w ten sposób próby innych zarządców, a ��)���1��� na wartość przesłaną przezzarządcę. Następnie agent wyśle PDU z odpowiedzią informującą zarządcę o pomyślnymprzeprowadzeniu operacji. W ten sposób dany zarządca przejmuje konkretny wiersz w tym-czasowe posiadanie.

Po przejęciu wiersza zarządca może kontynuować wywołanie testu. Odbywa się to przezwysłanie rozkazu )�� �,��� ustawiającego �������� na wartość wskazującą, którytest należy przeprowadzić. W odpowiedzi agent rozpoczyna wykonywanie testu i ustawiapole ����� ���� na wartość ��+�!����3�. Po zakończeniu testu umieszcza jego wynikiw polu ����� ����, które przybierać może następujące wartości:

� �!����� — do tej pory nie zażądano przeprowadzenia żadnego testu,

� ����� � — test zakończony pomyślnie,

� ��+�!����3� — test trwa,

� �!�)���!�����6� — test nie jest zaimplementowany,

� �������! ���<� — test nie może zostać przeprowadzony w związku ze stanemsystemu,

� ��!�����=� — test został przerwany,

� �������>� — test zakończył się niepomyślnie.

Dodatkowe informacje mogą się znajdować w ������!��.

��������������� ������ �������������

Tabela ta zawiera po jednym wpisie dla każdego adresu (typu Multicast, Broadcast i Uni-cast), dla którego dany system odbierać będzie pakiety w jednym z interfejsów, z wyjątkiempracy w trybie Promiscuous. Oznacza to, że tabela ta zawiera wszystkie adresy, które systemrozpoznaje i dla których przechwytywać będzie pakiety zawierające te adresy jako jedenz adresów docelowych.

Tabela ta składa się z trzech obiektów kolumnowych:

� �� �(���������� — konkretny adres typu Multicast, Broadcast lub Unicast,który system rozpoznaje jako odpowiedni adres docelowy do przechwytywaniapakietów,

� �� �(�����)���� — używany do tworzenia i likwidacji wierszy w tej tabeli,posiada składnię !1)����9

� �� �(�������� — wskazuje, czy adres jest typu !�������, (!������� � czy�!�.!�������3�; adres typu �!�(!������ (nieulotny) będzie istniał także po restarciesystemu, natomiast adres typu (!������ (ulotny) zostanie utracony. Adres typu!���� (inny) oznacza, że informacja ta nie została udostępniona w danej tablicy.

Page 27: Protokoły SNMP i RMON. Vademecum profesjonalisty

408 Część IV � SNMP wersja 2 (SNMPv2)

���(����$! �����

W rozdziale tym opisano dwie bazy MIB związane ze specyfikacją SNMPv2. Baza SNM-Pv2 MIB zawiera informacje dotyczące wykorzystania samego protokołu. Rozszerzeniegrupy ���������, wprowadzone w RFC 1573, zdefiniowane jest przy użyciu SMIv2i wykorzystuje niektóre właściwości SNMPv2 omówione w tym rozdziale.

Specyfikacja SNMPv2 zawiera mechanizm opisu wymagań zgodności z daną bazą MIBoraz środki umożliwiające producentom określanie zakresu swoich implementacji. W do-kumencie poruszającym zagadnienia zgodności zdefiniowano cztery makra:

� �%/����- ��+ — wskazuje te obiekty w MIB, które są częścią grupy zgodności,

� *��$"$���$�*�- ��+ — identyfikuje zbiór powiadomień,

� #�'������#+�$�*�� — ustala wymagania w stosunku do agenta pod względemimplementacji modułów i obiektów bazy MIB,

� �-�*����+�%$�$�$�) — definiuje możliwości poszczególnych implementacji agenta.

)���#�*���+��,�������#�*$#����-�$#+�&��

TestAndIncr ::= TEXTUAL-CONVENTION

STATUS currentDESCRIPTION

„Reprezentuje informację w postaci liczby całkowitej, wykorzystywaną do operacji atomo-wych. Jeżeli protokół zarządzania wykorzystany zostanie do zmiany wartości instancjiobiektu o tej składni, nowa wartość dostarczana poprzez protokół zarządzania musi byćidentyczna z aktualną wartością tego obiektu. W przeciwnym razie operacja �� protokołuzarządzania zakończy się niepowodzeniem i zgłoszeniem błędu ���!������.����(sprzeczna wartość). W przypadku zgodności nadesłanej wartości: jeżeli aktualna wartośćtego obiektu jest maksymalna (tj. 231 czyli 2 147 483 647 dziesiętnie), wówczas zostaniewyzerowana, w innym przypadku zwiększana jest o jeden (zauważmy, że niezależnie odtego, czy operacja �� protokołu zarządzania się powiedzie, pola (��������������� w jed-nostce PDU żądania i odpowiedzi są identyczne).

Wartość klauzuli ����)) dla obiektu mającego taką składnię jest albo read-write, albo readcreate. W momencie tworzenia obiektu kolumnowego o takiej składni jego wartość możebyć dowolnie określona poprzez protokół zarządzania.

W przypadku reinicjalizacji części systemu związanej z zarządzaniem siecią wartośćwszystkich instancji obiektów o tej składni musi być albo zwiększana od wartości sprzedreinicjalizacji, albo (jeśli wartość ta jest nie znana) musi być nadana jej wartość pseu-dolosowa.”

SYNTAX INTEGER (0..2147483647)