Simple Network Management Protocol Simple Network Management Protocol Rozwój W miarę wzrostu rozmiarów, złożoności i niejednorodności sieci, wzrastają koszty zarządzania nimi. Aby kontrolować te koszty, potrzebne są standardowe narzędzia, nadające się do szerokiej gamy produktów pochodzących od różnych producentów. W odpowiedzi na te potrzeby opracowany został Prosty protokół zarządzania siecią (Simple Network Management Protocol ) który ma być narzędziem przeznaczonym do zarządzania różnorodnymi, złożonymi sieciami. jest w istocie zbiorem standardów zarządzania siecią, obejmujących: - protokół wymiany danych, - specyfikację struktury bazy danych, - specyfikację obiektów danych. Kalendarium 987 Simple Gateway Monitoring Protocol (SGMP) High-Level Entity Management System (HEMS) CM over TCP/ (CMOT) 988 Structure of Management Information (SMI) Management Information Base (MIB) 989 Draft 99 zatwierdzenie secure - uzupełnienie w zakresie bezpieczeństwa RMON (Remote Network Monitoring) uzupełnienie - zdalny nadzór sieci 993 Draft, wersja druga (v2) 995 Aktualizacja v2 rozbudowa RMON o dodatek RMON2 998 Draft, wersja trzecia (v3)
Simple Network Management Protocol 2 Założenia protokołu : protokół komunikacji między stacją zarządzająca a urządzeniami zarządzanymi nie powinien generować nadmiernego ruchu; protokół powinien być prosty w implementacji aplikacja działająca na urządzeniu zarządzanym powinna go obciążać w możliwie małym stopniu; Podstawowe RfC (standardy de facto): RFC 55: Structure and Identification of Management Information for TCP/ -based Internets Struktura oraz identyfikacja informacji zarządzania w sieciach działających w oparciu o TCP/ opisuje, w jaki sposób zdefiniowane są zarządzane obiekty znajdujące się w MIB, RFC 23: Management Information Base for Network Management for TCP/ -based Internets: MIB-II Baza informacji zarządzania w zarządzaniu internetu działających w oparciu o TCP/ : MIB II opisuje zarządzane obiekty zawarte w MIB, RFC 57: Simple Network Management Protocol Prosty protokół zarządzania siecią definiuje protokół wykorzystany do zarządzania tymi obiektami.
Simple Network Management Protocol 3 Architektura zarządzania siecią Model używany do zarządzania siecią TCP/ zawiera następujące elementy: stację zarządzania, pełnomocnika (agenta) zarządzania, bazę informacji zarządzania, protokół zarządzania siecią. Działanie protokołu MANAGER AGENTS MIB
Simple Network Management Protocol 4 Architektura protokołu zarządzania siecią Management System Managed System Management Application Application Manages Objects Managed Resources Managed Objects 2 3 4 5 2 3 4 5 Manager Link Messages Agent Link Communications Network. GetRequest 2. GetNextRequest 3. SetRequest 4. GetResponse 5. Trap Pośrednicy (Proxy-Agents) Management Station Manager process Network-dependent protocols Proxy Agent Mapping function Agent process Network-dependent protocols Protocol architekture used by proxied device Network-dependent protocols Proxied device Manager process Protocol architekture used by proxied device Network-dependent protocols network network
Simple Network Management Protocol 5 Wymiana wiadomości MANAGER GET / SET TRAP AGENTS MIB Manager Agent get request get response port 6 get-next request get-next response port 6 set request set response port 6 port 62 trap
Simple Network Management Protocol 6 Formaty jednostek danych protokołu Message Version Community GetRequest, GetNextReq., GetResponse or SetRequest PDU PDU Type Request ID GetReq., GetNextReq., GetResp., SetReq. PDU Error Status Error Index Object, Value Object2, Value2... PDU Type Timestamp Enterprise Agent Address Generic Trap Type Trap PDU Specific Trap Type Object, Value Object2, Value2... Format wiadomości: GetRequest, GetNextRequest i SetRequest Datagram Wiadomość Wiadomość nagłówek nagłówek wersja community typ PDU ID zapytania Status i indeks błędu nazwa wartość... Nagłówek Nagłówek get/set zmienne Format wiadomości Trap Pakiet Wiadomość Wiadomość nagłówek nagłówek wersja community typ PDU enterprise Adres agenta Typ pułapki Kod spec. Znacznik czasu nazwa wartość... Nagłówek Nagłówek pułapki zmienne
Simple Network Management Protocol 7 Wiadomość ( message) Version = numer wersji protokołu; Community = nazwa community do którego odnosi wiadomość; PDU Type = typ wiadomości (GetRequest, GetNextRequest, SetRequest, GetResponse, Trap); Request ID = numer kolejny wysłanej wiadomości; Error Status Status błędu: 0 noerror toobig 2 nosuchname 3 badvalue 4 readonly 5 generr Error Index - Indeks błędu, zawiera dodatkowe informacje; Pary (Object-Value): Object = numeryczne nazwy obiektów, których operacja dotyczy; Value = wartość jaka ma zostać zapisana do obiektu, albo odczytana z obiektu; Generic Trap Type = rodzaj zdarzenia jakie jest raportowane (p. tab. niżej); Agent Address = adres agenta który wysłał trap; Timestamp = wartość obiektu sysuptime = czas jaki minął od uruchomienia urządzenia. Typ pułapki Nazwa Opis Typ pułapki 0 ColdStart Agent inicjuje się samodzielnie WarmStart Agent inicjuje się ponownie samodzielnie 2 LinkDown Stan interfejsu zmienił się z aktywnego na nieaktywny 3 LinkUp Stan interfejsu zmienił się z nieaktywnego na aktywny 4 AuthenticationFailure Otrzymano nieuwierzytelnioną wiadomość 5 EgpNeighborloss Partner EGP przeszedł w stan nieaktywny 6 EnterpriseSpecific określona przez firmę (użytkownika)
Simple Network Management Protocol 8 Protokół MANAGER Wiadomości AGENT MIB Łącze Łącze Przykładowa baza MIB address info (2) route-table 44.20.2.5 name () uptime printer- 23456 route-entry dest() policy(2 next(3) 2 5 7 9 2 3 5 5 7 2 2 3 2 3 2 3 8 8 9 3 2
Simple Network Management Protocol 9 Protokół : Get manager get agent MIB response Żądanie podania wartości jednej lub więcej zmiennych z MIB. Możliwe błędy: nosuchname toobig generr Znaczenie: Obiekt nie istnieje lub nie jest liściem drzewa MIT Odpowiedź nie mieści się w jednostce danych protokołu Inne przyczyny Przykładowe żądania/ odpowiedzi Get żądanie odpowiedź get(..0) (..0 => 44.20.2.5) get(.2.0) get(.) (error-status = nosuchname) (error-status = nosuchname) get(..0;.2.2.0) (..0 => 44.20.2.5;.2.2.0 => 23456) get(.3..3.5.) (.3..3.5. => 2) get(.3...5.) (.3...5. => 5) get(.3...5.,.3..2.5.,.3..3.5.) Tablica tras.3.. () (2) (3) 2 2 3 3 5 2 5 2 3 7 2 8 3 9 2 (.3...5. => 5,.3..2.5. =>,.3..3.5. => 2)
Simple Network Management Protocol 0 Protokół : Get-Next manager getnext agent MIB response Get-Next: Znajduje nazwę i wartość instancji następnego elementu MIB; Rozpoznaje strukturę MIB; Wyszukuje wiersze tablic. Możliwe błędy: nosuchname toobig generr Znaczenie: Koniec wpisów w bazie MIB Odpowiedź nie mieści się w jednostce danych protokołu Inne przyczyny Przykładowe żądania/ odpowiedzi Get-Next żądanie odpowiedź getnext(..0) (.2..0 => printer-) getnext(.2..0) (.2.2.0 => 23456) getnext() (..0 => 44.20.2.5) getnext(.3..3.5.) (.3..3.5.2 => 3) getnext(.3..,.3..2,.3..3) getnext(.3...2.,.3..2.2.,.3..3.2.) Tablica tras.3.. () (2) (3) 2 2 3 3 5 2 5 2 3 7 2 8 3 9 2 (.3...2. => 2;.3..2.2. => ;.3..3.2. => 2) (.3...3. => 3,.3..2.3. =>,.3..3.3. => 3)
Simple Network Management Protocol Protokół : Set manager set agent MIB response Żądanie nadania wartości istniejącej instancji obiektu w MIB; Stworzenie nowej instancji (np. wiersza tablicy). Żądanie set jest operacją atomową. Możliwe błędy: nosuchname badvalue toobig generr Znaczenie: Obiekt nie istnieje lub nie jest liściem drzewa MIT Nieprawidłowa wartość Odpowiedź nie mieści się w jednostce danych protokołu Inne przyczyny Przykładowe żądania/ odpowiedzi Set żądanie set(.2..0) set(.2..0 => my-printer,.2.2.0 => 0) odpowiedź (noerror;.2..0 => my-printer) (error-status = nosuchname; error-index = 2)
Simple Network Management Protocol 2 Protokół : Trap manager agent trap Trap służy do: sygnalizowania zdarzeń. Odbiór pułapek nie jest potwierdzany! Możliwa jest taka konfiguracja pełnomocnika (agenta), w której pułapki nie będą w ogóle transmitowane; pułapki będą transmitowane tylko do wybranych zarządców. Zdefiniowane pułapki Trap Typ pułapki Nazwa Opis 0 ColdStart Pełnomocnik inicjuje się samodzielnie WarmStart Pełnomocnik inicjuje się ponownie samodzielnie 2 LinkDown Stan interfejsu zmienił się z aktywnego na nieaktywny 3 LinkUp Stan interfejsu zmienił się z nieaktywnego na aktywny 4 AuthenticationFailure Otrzymano nieuwierzytelnioną wiadomość 5 EgpNeighborloss Partner EGP przeszedł w stan nieaktywny 6 EnterpriseSpecific Pułapka określona przez firmę (użytkownika)
Simple Network Management Protocol 3 Baza MIB () Grupa w MIB-II snmp snmpinpkts () snmpoutpkts (2) snmpinbadversions (3) snmpinbadcommunitynames (4) snmpinbadcommunityuses (5) snmpinasnparseerrs (6) snmpintoobigs (8) snmpinnosuchnames (9) snmpinbadvalues (0) snmpinreadonlys () snmpingenerrs (2) snmpintotalreqvars (3) snmpintotalsetvars (4) snmpingetrequests (5) snmpingetnexts (6) snmpinsetrequests (7) snmpingetresponses (8) snmpintraps (9) snmpouttoobigs (20) snmpoutnosuchnames (2) snmpoutbadvalues (22) snmpoutgenerrs (24) snmpoutgetrequests (25) snmpoutgetnexts (26) snmpoutsetrequests (27) snmpoutgetresponses (28) snmpouttraps (29) snmpenableauthentraps (30)
Simple Network Management Protocol 4 Sterowanie dostępem w Elementy koncepcji sterowania dostępem dla protokołu agent Set of managers MIB view access mode community (community name) community profile access policy community = związek pełnomocnika (agenta) z arbitralnym zestawem aplikacji zarządzających ; community name = nazwa unikatowa w obrębie danego agenta; community profile: widok MIB ( MIB view) = podzbiór obiektów MIB do których dane community może mieć dostęp; Podzbiór ten nie musi należeć do jednego poddrzewa MIB. Dla różnych community mogą być zdefiniowane różne widoki MIB. tryb dostępu ( access mode) = zasady dostępu do obiektów widoku: - tylko do odczytu (read-only) - do odczytu i zapisu danych (read-write). RFC 57 A Simple Network Management Protocol (),