SNMP
SNMP (ang. Simple Network Managerment Protocol) jest to protokół komunikacyjny służący do zarządzania i monitorowania informacji z urządzeń podpiętych do sieci komputerowych małego i dużego zasięgu. SNMP wykorzystuje do swojego działania znane w Internecie protokoły: UDP (User Datagram Protocol) – protokół bez połączeniowy do wysyłania pakietów oraz IP (Internet Protocol) – do rutowania pakietów przez sieć. SNMP powstał w 1989 roku na podstawie SGMP (Simple Gateway Managerment Protocol) i został opisany przez dokument RFC 1157 w odpowiedzi na zapotrzebowanie na łatwy i szybki protokół w implementacji i działaniu. Pierwsze wdrożenie protokołu odbyło się na platformie Unix. Protokół posiada też swoje wersję dla innych rodzajów sieci, np. opartych o IPX i z powodzeniem może pełnić role zarządcy sprzętu sieciowego.
Najważniejsze zadania SNMP
· monitorowanie wydajności węzłów sieci poprzez sprawdzenie wartości przepustowości oraz innych ważnych informacji, tj. ilość błędów transmisji, obciążenie zasobów urządzenia, temperatura w obudowie, itp.,
· konfiguracja i rekonfiguracja urządzeń w trybie online,
· zbieranie informacji o zdarzeniach nadzwyczajnych i błędach.
Schemat działania SNMP
Protokół składa się z czterech podstawowych elementów:
· Zarządcy – SMN ang. Station Managerment Network, czyli komputera sprawującego funkcje kontrolne, na podstawie zgromadzonych informacji z baz MIB urządzeń sieciowych oraz od innych Zarządców i funkcje korygujące błędy,
· Agenta, czyli zdalnej stacji zarządzanej obsługującej protokół IP, UDP i SNMP lub Agenta zastępczego, który występuje w imieniu innej stacji nie kompatybilnej z protokołem SNMP lub którąś z jego wersji tłumacząc informacje między nimi,
· Bazy informacji MIB,
· Protokołu transmisji SNMP.
Transmisja odbywa się po kolei poprzez trzy warstwy zarówno u Zarządcy jak i Agenta, które reprezentują po jednym z protokołów: SNMP, UDP i IP. Agent podczas komunikacji z Zarządcą korzysta z wbudowanej bazy informacji – MIB, która przechowuje informacje i statystyki, których może on od niego zażądać.
Komunikacja może odbywać się nie tylko między Zarządcą i Agentem, ale też między samymi Zarządcami w celu wymiany informacji w społeczności odpowiedzialnej za zarządzanie daną grupą urządzeń.
Przykład sieci SNMP
Proces komunikacji
· Komunikacja między dwoma stacjami odbywa się za pomocą specjalnie zdefiniowanych poleceń protokołu SNMP zwanych PDU (Protocol Data Units).
· GetRequest – Zarządca żąda odczytania wartości określonego obiektu w bazie MIB Agenta,
· GetNextRequest – Zarządca wymaga podania wartości obiektów, które są powiązane z innymi obiektami, co powoduje sekwencyjne przeszukanie bazy MIB,
· GetBulkRequest – zapytanie Zarządcy o blok informacji (wiele rekordów bazy) – SNMPv2 i nowsze,
· GetResponse – odpowiedź Agenta zawierająca rekordy z bazy odczytane na żądanie Zarządcy,
· SetRequest – polecenie wprowadzenia zmiany do bazy MIB Agenta,
· Trap – komunikat Agenta o pojawieniu się sytuacji nadzwyczajnej lub jakiegoś zdarzenia,
· InformRequest – pakiet typu Trap przesyłany między różnymi stacjami Zarządzania służący do wymiany informacji – SNMPv2 i nowsze.
Struktura informacji SNMP
Budowa ramki PDU dla poleceń wysyłanych przez Zarządcę: GetRequest, GetNextRequest, GetBulkRequest, SetRequest oraz Agenta w odpowiedzi na żądanie przesłania danych: GetResponse.
Budowa ramki PDU dla polecenia Trap dla komunikatów nadzwyczajnych generowanych przez Agenta
Rodzaje pułapek
· Link UP/Down – komunikat jest wysyłany, gdy zostaje nawiązane lub zerwane poprawne połączenie protokołu IP,
· Loss of EGP Neighbor – gdy zostaje utracony połączenie z jednym z najbliższych hostów w warstwie w protokole zewnętrznej ramki (Exterior Gateway Protocol),
· Cold/Worm Start – jest generowana wtedy, gdy nastąpi zimny restart z obudowy lub start systemu Agenta, oraz dla reinicjalizacji systemu (tzw. gorący start),
· Authentication Failure – komunikat zwracany do zarządcy, gdy wystąpi błąd autoryzacji w postaci podania nieznanej lub niedozwolonej nazwy grupy zarządzającej w przychodzącym pakiecie,
· Enterprise Specific – wiadomość generowana w momencie zaistnienia zdarzenia zdefiniowanego przez producenta sprzętu.
Zalety i wady
Protokół SNMP cieszy się aktualnie dosyć sporym zainteresowaniem wytwórców wszelkiego rodzaju sprzętu sieciowego, gdyż jest bardzo prosty i tani w implementacji ze względu na nieskomplikowany sposób działania samego protokołu, jego upowszechnienie i kompatybilność urządzeń wielu producentów.
Zalety SNMP:
· możliwość zbierania informacji typu Trap od wielu Agentów znajdujących się w sieci i powiadamianie Stacji Zarządzającej o wystąpieniu konkretnych zdarzeń,
· możliwość wymiany informacji między Zarządcami w grupie zarządzającej o obiekcie zarządzania (od wersji 2),
· generowanie stosunkowo małego ruchu sieciowego za sprawą wykorzystania protokołu UDP,
· oprogramowanie Agenta zajmuje bardzo mało pamięci i zasobów,
· protokół pozwala na kontrolę ilości wysłanych do sieci danych i czasu oczekiwania na odpowiedzi urządzeń,
· kompatybilność różnych wersji baz danych z różnymi wersjami SNMP, z małymi wyjątkami,
· dosyć dobry system bezpieczeństwa wykorzystujący w głównej mierze znane algorytmy szyfrowania (głównie wersja 3 SNMP).
Wady SNMP:
· skomplikowana budowa oprogramowania Agenta,
· ograniczanie przepustowości sieci,
· problem z obsługa bardzo dużych sieci ze względu na mała efektywność zarządzania w trybie odpytywania,
· brak odpowiednich mechanizmów gwarantujących zapewnienie bezpieczeństwa (głównie wersja 1 i 2),
· brak możliwości potwierdzenia odbioru przez Agenta wysłanego ostrzeżenia (wynika z budowy protokołu UDP - brak potwierdzeń podczas transmisji danych).
Borysek12