Simple Network Management Protocol: Porovnání verzí

Smazaný obsah Přidaný obsah
→‎Detaily protokolu: opraven překlep
Některé části stránky trochu přepsány, vyhození odkazů na příliš obecné věci, přidání odkazů, změna zalamování ve zdrojovém textu, úprava stylistiky. Není tam dopsán detailní popis 'InformRequest' a 'Report' PDU.
Řádek 2:
'''Simple Network Management Protocol''' ('''SNMP''') je součástí [[TCP/IP|sady internetových protokolů]]. Slouží potřebám správy [[Počítačová síť|sítí]]. Umožňuje průběžný sběr nejrůznějších [[Data|dat]] pro potřeby správy sítě, a jejich následné vyhodnocování. Na tomto [[Protokol (informatika)|protokolu]] je dnes založena většina prostředků a nástrojů pro správu sítě.
 
Má tři verze: první verze (SNMPv1) zajišťuje základní funkcionalitu SNMP, druhá (SNMPv2) obsahuje navíc [[Autentizace|autentizaci]] a třetí (SNMPv3) [[Kryptografie|šifrování]] (zabezpečení). Nejvíce zařízení podporuje druhou verzi.
 
Rozlišuje se mezi stranou monitorovanou (hlídaný systém) a monitorovací (sběrna dat). Tyto strany mohou běžet buď odděleně na různých fyzických strojích, nebo v rámci jednoho stroje. Na monitorované straně je spuštěn agent a na straně monitorovací manager. Na straně monitorované jsou operativně shromažďovány [[informace]] o stavu [[systém]]u ([[Hardware|zařízení]]). Manager vznáší [[Požadavek|požadavky]] agentovi, zpravidla na zaslání požadovaných informací ([[Zpráva|zpráv]]). Agent zajišťuje realizaci [[Reakce|reakcí]] na požadavky managera. Získaný obsah zpráv se na straně monitorovací může dále různým způsobem zpracovávat (tabulky, grafy, …). [[Dorozumívání|Komunikace]] mezi agentem a managerem se označuje jako SNMP operace.
 
Na straně monitorované může existovat možnost takové [[konfigurace]], kdy agent zašle managerovi informace (SNMP MESSAGE) automaticky bez jeho požadavku. K tomu dojde zpravidla potom, kdy byla splněna předem definovaná [[podmínka]] (výpadek, [[Kolize (informatika)|kolize]], dosažení hraniční hodnoty, …), agent nečeká na odpověď. Takové konfiguraci agenta se říká SNMP TRAP (tzv. past na události).
 
== Přehled a základní pojmy ==
[[File:Snmp.PNG|thumb|Princip SNMP komunikace.|496x496px]]
SNMP je typicky využíváno na jednom či více správcovských počítačích (manažeři), které mají za úkol sledovat nebo řídit skupinu počítačů či jiných zařízení v síti. Na straně sledovaných zařízení je spuštěn agent, který následně poskytuje pomocí SNMP informace manažerovi.
počítačích (manažeři), které mají za úkol sledovat nebo řídit skupinu počítačů
či jiných zařízení na síti. Na straně sledovaných zařízení je spuštěn agent,
který následně poskytuje pomocí SNMP informace manažerovi.
 
Spravovaná data agentů jsou evidována jako proměnné. Protokol umožňuje jejich aktivní správu, kdy lze vzdáleně modifikovat tyto proměnné a změnit tak konfiguraci. Proměnné přístupné přes SNMP jsou uspořádány
hierarchicky. Tato hierarchie a další metadata (jako například typ a popis proměnné), jsou popsány pomocí [[Management Information Base|MBI]]s (Management Information Bases).
Protokol umožňuje jejich aktivní správu, kdy lze vzdáleně modifikovat tyto
proměnné a změnit tak konfiguraci. Proměnné přístupné přes SNMP jsou uspořádány
hierarchicky. Tato hierarchie a další metadata (jako například typ a popis
proměnné), jsou popsány pomocí MBIs (Management Information Bases).
 
Síť řízená pomocí SNMP se skládá ze tří hlavních částí:
* Spravované zařízení
* Agent – software, který běží na spravovaných zařízeních
* NMS (Network management station) – software, který běží na správcovských počítačích
 
''Spravované zařízení'' je síťový uzel, který podporuje SNMP rozhraní a umožňuje jednosměrný (pouze čtení) nebo obousměrný (čtení i zápis) přístup k informacím, které jsou vyměňovány s NMS. Zařízení jsou také často pojmenována jako síťový prvek a můžeme mezi ně zařadit například [[router]]y, [[switch]]e, [[VOIP]] telefony, [[IP kamera|IP kamery]] nebo tiskárny.
* NMS (Network management station) – software,
který běží na správcovských počítačích
Spravované zařízení je síťový uzel, který podporuje SNMP
rozhraní a umožňuje jednosměrný (pouze čtení) nebo obousměrný (čtení i zápis)
přístup k informacím, které jsou vyměňovány s NMS. Zařízení jsou také
často pojmenována jako síťový prvek a můžeme mezi ně zařadit například routery,
switche, VOIP telefony, IP kamery nebo tiskárny.
 
''Agent'' je softwarový modul pro správu sítě, který je umístěn na spravovaném zařízení. Zajišťuje reakce na požadavky správcovského počítače nabo odesílá SNMP Trapy.
na spravovaném zařízení. Zajišťuje reakce na požadavky správcovského počítače.
 
''Správcovský počítač (NMS)'' spravuje aplikace, které monitorují a kontrolují spravovaná zařízení. NMS zajišťuje většinu paměti a zdrojů pro správu sítě. V případě potřeby může existovat i více NMS v jedné spravované síti.
monitorují a kontrolují spravované zařízení. NMS zajišťuje většinu paměti a
zdrojů pro správu sítě. V případě potřeby může existovat i více NMS v jedné
spravované síti.
 
== Management information base (MIB) ==
SNMP sám o sobě nedefinuje, které informace (proměnné) by měl systém používat. Je tedy vhodné využití rozšíření, které umožňuje jejich nadefinování. MIB popisuje strukturu spravovaných dat, kdy se využívá hierarchický jmenný prostor obsahující [[Identifikátor objektu|identifikátory objektů]] (OID). Každý z těchto identifikátorů označuje proměnnou, která lze číst nebo nastavit přes SNMP. MIB využívá notaci definovanou pomocí SMIv2 ([[rfc:2578|RFC 2578]]), což je podmnožina [[Abstract Syntax Notation One|ASN 1]].
SNMP sám o sobě nedefinuje, které informace (proměnné) by
měl systém používat. Je tedy vhodné využití rozšíření, které umožňuje jejich nadefinování.
MIB popisuje strukturu spravovaných dat, kdy se využívá hierarchický jmenný
prostor obsahující [[Identifikátor objektu|identifikátory objektů]] (OID). Každý z těchto identifikátorů
označuje proměnnou, která lze číst nebo nastavit přes SNMP. MIB využívá notaci
definovanou pomocí SMIv2 ([[rfc:2578|RFC 2578]]), což je podmnožina [[Abstract Syntax Notation One|ASN 1]].
 
== Detaily protokolu ==
SNMP pracuje v aplikační vrstvě [[Internet Protocol Suite]] (7. vrstva [[Referenční model ISO/OSI|OSI modelu]]). V případě nezabezpečeného SNMP agent přijímá požadavky na [[UDP]] portu 161. Správce (manažer) vysílá požadavky k agentovi z jakéhokoliv dostupného portu. Odpověď agenta bude odeslána zpět do zdrojového portu správce. Správce přijímá asynchronní oznámení (Trapy) od agenta na portu 162. Agent může generovat oznámení z jakéhokoliv dostupného portu. Při použití zabezpečení (SNMPv3) agent přijímá požadavky na portu 10161. Správce přijímá asynchronní oznámení (Trapy) od agenta na portu 10162.
SNMP pracuje v aplikační vrstvě Internet Protocol Suite
(vrstva 7 [[Referenční model ISO/OSI|OSI modelu]]). SNMP agent obdrží požadavky na UDP portu 161. Správce
může zasílat žádosti z jakéhokoli dostupného zdrojového portu na port 161. Odpověď
agenta bude odeslána zpět do zdrojového portu manažera. Správce obdrží oznámení
na portu 162. Agent může generovat oznámení z jakéhokoliv dostupného portu. Při
použití Transport Layer Security nebo Datagram Transport Layer jsou přijímány požadavky
na portu 10161 a asynchronní oznámení (Traps) jsou zasílány do portu 10162.
 
SNMPv1 definuje pět [[Protokolová datová jednotka|datových jednotek]] (PDU): ''GetRequest'', ''SetRequest'', ''GetNextRequest'', ''Response'' a ''Trap''. Další dvě jednotky ''GetBulkRequest'' a ''InformRequest'' byly přidány v SNMPv2 a ve verzi SNMPv3 byl přidán PDU ''Report''.
SNMPv1 určuje pět datových jednotek (PDU). Další dvě
jednotky GetBulkRequest a InformRequest byly přidány v SNMPv2 a reporty
byly přidány ve verzi SNMPv3.
 
Všechny SNMP PDU jsou
Řádek 75 ⟶ 47:
|variable bindings
|}
 
'''GetRequest'''
 
Požadavek od manažera  ->k agentagentovi pro načtení proměnné nebo seznamu proměnných. Požadované proměnné jsou specifikovány ve vazbách (hodnoty nejsou používány). Vrácena je odpověď s aktuálními hodnotami.
seznamu proměnných. Požadované proměnné jsou specifikovány ve vazbách (hodnoty
nejsou používány).  Vrácena je odpověď s aktuálními
hodnotami.
 
'''SetRequest'''
 
Požadavek od manažera k agentovi na změnu hodnoty proměnné nebo pro změnu více hodnot v seznamu proměnných. Vazby proměnných jsou uvedeny v těle požadavku. Změny jsou provedeny jako atomické operace agenta. Je vrácena odpověď s novými hodnotami proměnných.
Požadavek manažer -> agent na
změnu hodnoty proměnné nebo seznamu proměnných. Vazby proměnných jsou uvedeny v
těle požadavku. Změny jsou provedeny jako atomické operace agenta. Je vrácena odpověď
s novými hodnotami proměnných.
 
'''GetNextRequest'''
 
Požadavek od manažera k agentovi pro zjištění dostupných proměnných a jejich hodnot. Vrací odpověď s hodnotou proměnné [[Lexikografické uspořádání|lexikograficky]] navazující na předchozí proměnnou v MIB. Celá MIB tabulka může být přečtena [[Iterace|iterativní]] aplikací pomocí ''GetNextRequest'' od OID na pozici 0. Řádky tabulky lze číst zadáním OID sloupců ve vazbách proměnných na základě vytvořené žádosti.
Požadavek manažer -> agent ke
zjištění dostupných proměnných a jejich hodnoty. Vrací odpověď s proměnnou
lexikograficky navazující na proměnnou v MIB. MIB agenta může být řízen
iterativním aplikací GetNextRequest začínající od OID 0. Řádky tabulky lze číst
zadáním OID sloupců ve vazbách proměnných na základě vytvořené žádosti.
 
'''GetBulkRequest'''
 
Optimalizovaná verze ''GetNextRequest''. Požadavek od manažera k agentovi pro více iterací ''GetNextRequest''. Vrací odpověď s více vazbami proměnných. PDU specifikuje velikost a opakování pole sloužícího k ovládání chování odezvy. ''GetBulkRequest'' byl představen v SNMPv2.
Optimalizovaná verze
GetNextRequest. Požadavek manažer -> agent pro více iterací GetNextRequest.
Vrací odpověď s více vazbami proměnných. PDU specifikuje velikost a opakování
pole sloužícího k ovládání chování odezvy. GetBulkRequest byl představen v
SNMPv2.
 
'''Response'''
 
Vrací vazby proměnných a potvrzení od agenta manažerovi, jako odpověď na příkazy ''GetRequest'', ''SetRequest'', ''GetNextRequest'', ''GetBulkRequest'' a ''InformRequest''. Zasílání zpráv o chybách je poskytováno pomocí polí ''error-status'' a ''error-index''.
Vrací variabilní vazby a
potvrzení od agenta manažerovi o příkazech GetRequest, SetRequest,
GetNextRequest, GetBulkRequest a InformRequest. Zasílání zpráv o chybách je
poskytováno pomocí polí error-status a error-index.
 
'''Trap'''
 
Asynchronní oznámení od agenta manažerovi. SNMP umožňuje agentovi oznámit významné události prostřednictvím nevyžádané SNMP zprávy. Obsahuje aktuální hodnotu ''sysUpTime'', OID identifikaci typu problému a nepovinné vazby proměnných. Formát zprávy byl změněn v SNMPv2 a PDU byl přejmenován ''SNMPv2-Trap''.
Asynchronní oznámení od agenta
 
manažerovi. SNMP umožňují agentovi oznámit řídící stanici významné události
'''InformRequest'''
prostřednictvím nevyžádané SNMP zprávy. Obsahuje aktuální hodnotu sysUpTime,
 
OID identifikaci typu problému a nepovinné vazby proměnných. Formát zprávy byl
'''Report'''
změněn v SNMPv2 a PDU byl přejmenován SNMPv2-Trap. Zatímco v klasickém
 
komunikace klient vždy aktivně požaduje informace ze serveru, SNMP umožňuje
dodatečné použití takzvaných "traps". Jedná se o datové balíčky,
které jsou odesílány z klienta SNMP na server, aniž by byly výslovně
požadovány.
 
{{Pahýl}}