SNMP (Simple Network Management Protocol) jest obecnie najczęściej stosowanym protokołem komunikacyjnym używanym do zarządzania sieciami komputerowymi.
Dzięki wielu zaletom (takim jak: łatwość implementacji, dostępność wielu aplikacji opartych na tym protokole i niewielkie wymagania odnośnie sprzętu i przepustowości łączy sprzęgających zarządzane węzły sieci) protokół zyskał szerokie poparcie, zdecydowanie wygrywając rywalizację z protokołem CMIP (Common Management Information Protocol). Nie ma on obecnie na rynku poważnego rywala.
Protokół powstał w 1989 r. z inicjatywy organizacji Internet Activities Board, a jego protoplastą był prosty protokół SGMP (Simple Gateway Management Protocol).
SNMP używa do przesyłania pakietów w sieciach Internet (trzeba też pamiętać, że na rynku są dostępne aplikacje zarządzania SNMP wspierające inne rodzaje sieci, np. IPX) dwóch protokołów komunikacyjnych wchodzących w skład TCP/IP: protokołu IP (Internet Protocol; warstwa sieci w modelu OSI) i UDP (User Datagram Protocol – bezpołączeniowy protokół posługujący się tzw. datagramami; warstwa transportu w modelu OSI). Protokół SNMP jest opisany w RFC 1157.
Spis treści |
W interfejsy SNMP są wyposażone zarówno stacje zarządzające, jak i zarządzane węzły sieci. Mówiąc najprościej, interfejs jest zbiorem poleceń wysyłanych do zarządzanej stacji (celem uzyskania przez stację zarządzającą interesujących ją informacji). Stacja zarządzana z kolei wysyła w pewien uporządkowany sposób te informacje do stacji zarządzającej. Czyli jest to swego rodzaju prosty język, za pomocą którego zainstalowane w sieci węzły i urządzenia porozumiewają się z pakietem SNMP. I tak np. aplikacja zarządzająca może wygenerować polecenie GetRequest, które zażąda od węzła sieci podania liczby występujących kolizji pakietów, jaką węzeł zarejestrował na porcie numer X. Węzeł odczytuje wtedy wartość jednej ze zmiennych bazy danych MIB i odsyła ją do stacji zarządzającej, posiłkując się poleceniem protokołu SNMP GetResponse.
SNMP używa do pracy prostego zestawu poleceń, które monitorują pracę urządzeń w sieci.
Urządzenia wysyłają do konsoli zarządzania dane (zwane też obiektami bazy danych MIB), pozwalające administratorowi systemu sprawować kontrolę nad stacją.
SNMP używa do przesyłania pakietów protokołu UDP, zlokalizowanego w czwartej od dołu warstwie systemu otwartego OSI (warstwa transportu). Protokół UDP (User Datagram Protocol) służy do świadczenia usług komunikacyjnych w trybie bezpołączeniowym, używanym przez zarządcę do porozumiewania się z zarządzanymi stacjami.
W aplikacjach SNMP zarządzających sieciami spotkamy się nieraz z definicją agenta proxy. Agent tego rodzaju jest instalowany w tych węzłach sieci czy stanowiskach pracy, które nie wspierają standardowych rozwiązań proponowanych przez SNMP. Aby jednak można było nimi zarządzać przy użyciu aplikacji SNMP wymyślono agenta zastępczego, zwanego proxy. Jest to właściwie specyficznego rodzaju konwerter (oprogramowanie), tłumaczący polecenia generowane przez system SNMP na postać zrozumiałą przez zarządzaną stację. Jest to bardzo cenna opcja, pozwalająca zarządzać tymi urządzeniami sieciowymi, których konstrukcja nie jest przygotowana na wsparcie systemu SNMP.
Jednostki PDU poleceń GetRequest, GetNextRequest, SetRequest i GetResponse zawierają następujące pola:
SNMP ma zwoje zalety i wady, ale popularność tego protokołu świadczy o tym, że tych pierwszych jest dużo więcej. Niewątpliwymi zaletami protokołu są prostota w pracy i niski koszt implementacji aplikacji opartych na tym standardzie. Poza tym użytkownik ma pewność, że standard został zaakceptowany przez cały przemysł informatyczny i znakomita większość produktów sieciowych pracuje zgodnie z SNMP. Najważniejszą z wad SNMP wydaje się być brak mechanizmów zapewniających danym przesyłanym przez ten protokół odpowiedniego poziomu bezpieczeństwa.
Do głównych zalet SNMP zaliczyć należy:
Jeśli chodzi o wady, to można wymienić trzy podstawowe zastrzeżenia zgłaszane pod adresem protokołu SNMP:
Główna wada protokołu SNMP polega na tym, że nie gwarantuje on danym odpowiedniego poziomu bezpieczeństwa. Nie ma tu np. możliwości weryfikacji czy szyfrowania poleceń PDU. Aby usprawnić pracę aplikacji zarządzających sieciami, zaproponowano najpierw protokół S-SNMP (Secure SNMP), który oferował wiele rozwiązań nieobecnych w protokole SNMP. Jednak protokół ten nie był w pełni kompatybilny z SNMP, więc nie zyskał większej popularności. Następnie zaproponowano SNMPv2. Największa zmiana w stosunku do SNMP polega na wprowadzeniu dwóch nowych jednostek PDU:
Wydawałoby się, że protokół SNMPv2 powinien odnieść sukces. Niestety, nic takiego się nie stało. Aplikacji zarządzania opartych na tym standardzie jest bardzo mało. Niektórzy twierdzą, że SNMPv1 jest tak dobry, że nowe opcje wprowadzone do SNMPv2 są za mało atrakcyjne, aby zachęcić producentów systemów zarządzania do implementowania tego protokołu.