SNMP | |
---|---|
název | Simple Network Management Protocol |
Úroveň (podle modelu OSI ) | Aplikovaný |
Rodina | UDP |
Port/ID | 161/ UDP ,162/ UDP |
Účel protokolu | Správa síťových zařízení |
Specifikace | RFC 1155 , RFC 1212 , RFC 1213 , RFC 1157 , RFC 3411 |
Hlavní implementace (klienti) | Vestavěný do všech síťových operačních systémů |
Mediální soubory na Wikimedia Commons |
SNMP ( anglicky Simple Network Management Protocol - jednoduchý protokol pro správu sítě) je standardní internetový protokol pro správu zařízení v sítích IP založených na architektuře TCP / UDP . Mezi zařízení s podporou SNMP patří směrovače, přepínače, servery, pracovní stanice, tiskárny, stojany na modemy a další. Protokol se běžně používá v systémech správy sítě k monitorování zařízení připojených k síti za podmínek, které vyžadují pozornost správce. SNMP je definován Internet Engineering Task Force (IETF) jako součást TCP/IP . Skládá se ze sady standardů pro správu sítě, včetně protokolu aplikační vrstvy, schématu databáze a sady datových objektů.
Při použití SNMP jeden nebo více administrativních počítačů (nazývaných manažeři ) monitoruje nebo spravuje skupinu hostitelů nebo zařízení v počítačové síti. Každý spravovaný systém má trvale spuštěný program nazývaný agent , který sděluje informace manažerovi prostřednictvím SNMP .
Sítě spravované SNMP se skládají ze tří klíčových součástí:
Spravované zařízení je síťový prvek (hardware nebo software), který implementuje rozhraní pro správu (ne nutně SNMP), které umožňuje jednosměrný (pouze pro čtení) nebo obousměrný přístup ke konkrétním informacím o prvku. Spravovaná zařízení sdílejí tyto informace se správcem. Spravovaná zařízení mohou označovat jakýkoli druh zařízení: směrovače, přístupové servery, přepínače, mosty, rozbočovače, IP telefony, IP kamery, hostitelské počítače, tiskárny atd.
Agent je softwarový modul pro správu sítě umístěný na spravovaném zařízení nebo na zařízení připojeném k rozhraní pro správu spravovaného zařízení. Agent zná místní informace o správě a překládá tyto informace do nebo z formuláře specifického pro SNMP (zprostředkování dat).
Network Management System ( NMS ) je aplikace, která monitoruje a řídí spravovaná zařízení. NMS zajišťují většinu zpracování dat potřebných pro správu sítě. Každá spravovaná síť může mít jeden nebo více NMS.
Protože adresy objektů zařízení jsou definovány v digitálním formátu, je obtížné je zapamatovat. Pro jednoduchost se používají manažerské informační báze (MIB). MIB popisují strukturu spravovaných dat na subsystému zařízení; používají hierarchický jmenný prostor obsahující identifikátory objektů (OID). Každé OID se skládá ze dvou částí: textového názvu a číselné adresy SNMP. MIB jsou volitelné a hrají podpůrnou roli při překladu názvu objektu z lidského (slova) do SNMP (numerického) formátu. Velmi podobné serverům DNS . Jelikož se struktura objektů na zařízeních různých výrobců neshoduje, je téměř nemožné určit digitální SNMP adresy požadovaných objektů bez MIB báze. MIB používají notaci specifikovanou v ASN.1 .
SNMP funguje na aplikační vrstvě TCP/IP (vrstva 7 modelu OSI). SNMP agent přijímá požadavky na UDP portu 161. Manažer může odesílat požadavky z libovolného dostupného zdrojového portu na port agenta. Odpověď agenta bude odeslána zpět na zdrojový port na manažeru. Manažer přijímá oznámení (Traps a InformRequests) na portu 162. Agent může generovat oznámení z libovolného dostupného portu. Při použití TLS nebo DTLS jsou požadavky přijímány na portu 10161 a depeše jsou odesílány na portu 10162.
SNMPv1 specifikuje pět základních protokolových datových jednotek (PDU). Dvě další PDU, GetBulkRequest a InformRequest, byly představeny v SNMPv2 a portovány na SNMPv3.
Všechny SNMP PDU jsou sestaveny následovně:
IP hlavička (IP hlavička) | UDP hlavička (UDP hlavička) | verze (verze) | komunita (heslo) | PDU-type (PDU-type) | request-id (ID požadavku) | error-status (chybový stav) | error-index (index chyb) | proměnné vazby (vázané proměnné) |
Níže je uvedeno sedm výměnných jednotek protokolu SNMP:
Požadavek manažera na objekt získat hodnotu proměnné nebo seznamu proměnných. Požadované proměnné jsou specifikovány v poli pro vazby proměnných (část pole hodnot se nepoužívá). Načtení hodnot zadané proměnné musí agent provést jako atomickou operaci . Manažerovi bude vrácena odpověď s aktuálními hodnotami.
Požadavek manažera na objekt na změnu proměnné nebo seznamu proměnných. Vázané proměnné jsou uvedeny v těle požadavku. Změny všech specifikovaných proměnných musí agent provést jako atomickou operaci. Správci bude vrácena odpověď s (aktuálními) novými hodnotami proměnných.
Požadavek manažera na objekt, aby zjistil dostupné proměnné a jejich hodnoty. Odpověď s přidruženými proměnnými bude vrácena správci pro proměnnou, která je další v MIB v lexikografickém pořadí . Obejití celého MIB agenta lze provést iterativně pomocí GetNextRequest počínaje OID 0. Řádky tabulky lze číst zadáním sloupců OID v přidružených proměnných v požadavku.
Vylepšená verze GetNextRequest. Požadavek od manažera na objekt pro více iterací GetNextRequest. Odpověď bude vrácena správci s několika přidruženými proměnnými počínaje přidruženými proměnnými v požadavku. Pole PDU-specifické non-repeaters a max-repetitions se používají k řízení chování odezvy. GetBulkRequest byl představen v SNMPv2.
Vrátí přidružené proměnné a hodnoty od agenta manažerovi pro GetRequest, SetRequest, GetNextRequest, GetBulkRequest a InformRequest. Oznámení o chybách poskytují pole chybového stavu a indexu chyb.
Tato jednotka se používá jako odpověď na požadavky Get a Set a v SNMPv1 se nazývá GetResponse.
Asynchronní oznámení od agenta manažerovi. Zahrnuje aktuální hodnotu sysUpTime, OID identifikující typ depeše a volitelné související proměnné. Cílové adresování pro depeše je určeno pomocí konfiguračních proměnných depeší v MIB. Formát zprávy depeše byl změněn na SNMPv2 a PDU byla přejmenována na SNMPv2-Trap.
Asynchronní upozornění od manažera k manažerovi nebo od agenta k manažerovi. Oznámení mezi manažery a správci byla možná již v SNMPv1 (pomocí Trap), ale SNMP obvykle běží na UDP, kde není zaručeno doručení zpráv a nejsou hlášeny žádné ztracené pakety. InformRequest to řeší zasláním zpět potvrzení o přijetí. Příjemce odpoví Response, která opakuje všechny informace z InformRequest. Tento PDU byl představen v SNMPv2.
SNMP verze 1 (SNMPv1) je původní implementace protokolu SNMP. SNMPv1 pracuje s protokoly jako UDP, IP, CLNS, DDP a IPX. SNMPv1 je široce používaný a je de facto protokolem pro správu sítě v internetové komunitě.
První RFC pro SNMP, nyní známé jako SNMPv1, se objevily v roce 1988:
Tyto protokoly byly revidovány v následujících RFC:
Po nějaké době byl RFC 1156 (MIB-1) nahrazen běžnějším:
Verze 1 byla kritizována za špatnou bezpečnost. Autentizace klientů byla prováděna pouze pomocí tzv. "common string" (community string), ve skutečnosti heslo, které bylo přenášeno v čisté podobě. Vývoj SNMPv1 v 80. letech 20. století provedla skupina lidí, kteří považovali oficiálně financovanou práci HEMS/CMIS/CMIP organizací OSI/IETF/NSF za nerealizovatelnou na tehdejších počítačových platformách a za potenciálně nefunkční. SNMP byl schválen z přesvědčení, že se jedná o přechodný protokol potřebný k podniknutí kroků k rozsáhlému nasazení internetu a jeho komercializaci. V té době byl autentizační/bezpečnostní standard snem a byl zmařen skupinami pro vývoj protokolů.
SNMPv2 ( RFC 1441 - RFC 1452 ) reviduje verzi 1 a zahrnuje vylepšení výkonu, zabezpečení, soukromí a komunikace mezi manažery. Protokol zavedl GetBulkRequest, alternativu k iterativnímu použití GetNextRequest k získání velkého množství řídicích dat v jediném požadavku. Zároveň nové zabezpečení založené na SNMPv2 nikdy nezískalo široké přijetí, protože jej mnozí považovali za příliš složité.
Komunitní SNMPv2 (SNMPv2c) je definováno v RFC 1901 - RFC 1908 . Ve svých počátcích byla tato verze neformálně známá jako SNMPv1.5. SNMPv2c obsahuje SNMPv2 bez jeho kontroverzního bezpečnostního modelu; místo toho je použito jednoduché komunitní bezpečnostní schéma z SNMPv1. SNMPv2c byl často považován za de facto standard SNMPv2, přestože to byl oficiálně pouze „Návrh standardu“.
User Based SNMPv2 (SNMPv2u) je definován v RFC 1909 - RFC 1910 . V podstatě se jedná o kompromis, který se snaží nabídnout větší zabezpečení než SNMPv1, ale bez přidané složitosti SNMPv2. Jedna varianta této verze, SNMP v2*, byla komercializována a samotný mechanismus byl nakonec přijat jako jeden ze dvou bezpečnostních rámců v SNMP v3.
Nyní bylo zjištěno, že SNMPv2c není kompatibilní s SNMPv1 ve dvou klíčových oblastech: formáty zpráv a operace protokolů. Zprávy SNMPv2c používají jiné formáty záhlaví a datových jednotek protokolu (PDU) než SNMPv1. SNMPv2c také používá dvě protokolové operace, které nejsou definovány v SNMPv1. Kromě toho RFC 2576 definuje dvě možné strategie koexistence SNMPv1/v2c: proxy agenty a dvojjazyčné systémy správy sítě.
Proxy agentiAgent SNMPv2 může působit jako proxy agent jménem zařízení spravovaných SNMPv1 následovně:
Proxy agent mapuje depeše SNMPv1 na depeše SNMPv2 a poté je předává NMS.
Dvojjazyčné systémy správy sítěDvojjazyčné systémy správy sítě SNMPv2 podporují SNMPv1 i SNMPv2. Pro podporu takového prostředí musí řídicí aplikace v dvojjazyčném NMS komunikovat s agentem. NMS poté analyzuje informace uložené v místní databázi, aby zjistil, zda agent podporuje SNMPv1 nebo SNMPv2. Na základě těchto informací NMS komunikuje s agentem pomocí příslušné verze SNMP.
I když SNMPv3 nepřináší do protokolu žádné změny kromě přidání kryptografického zabezpečení, jedná se o vylepšení prostřednictvím nových textových konvencí, konceptů a terminologie.
Bezpečnost je velkým problémem SNMP od jeho počátku. Autentizace v SNMP verze 1 a 2 nebyla ničím jiným než heslem (řetězcem komunity), které bylo zasláno jako prostý text mezi manažerem a agentem.
Na rozdíl od SNMPv1 a v2 obsahuje v SNMPv3 každá zpráva bezpečnostní parametry, které jsou zakódovány jako oktetový řetězec. Význam těchto parametrů závisí na modelu zabezpečení, který používáte.
SNMPv3 poskytuje důležité bezpečnostní funkce:
Od roku 2004 IETF uznává SNMPv3, jak je definováno v RFC 3411 , RFC 3418 (také známý jako STD0062) jako aktuální standardní verzi SNMP. IETF označila SNMPv3 za úplný internetový standard, což je nejvyšší úroveň připravenosti RFC. Zároveň jsou starší verze považovány za zastaralé (označované jako „historické“ – Historic).
V praxi implementace SNMP často podporují více verzí: v1, v2c a v3.
Implementace SNMP se u jednotlivých prodejců platforem liší. V některých případech není SNMP považováno za dostatečně závažné pro základní vývojovou položku, a je proto pouze volitelnou funkcí. Někteří hlavní výrobci hardwaru mají tendenci příliš rozšiřovat svá vlastní rozhraní příkazového řádku (CLI) a řídicí systémy.
Zdánlivě jednoduchá stromová struktura a lineární indexování v SNMP není vždy dobře pochopeno v rámci interních datových struktur, které jsou prvky základního návrhu platformy. Zpracování požadavků SNMP na určité datové sady proto může vést k větší režii CPU, než je nutné. Jedním příkladem tohoto problému jsou velké směrovací tabulky, jako jsou BGP a IGP.
Modulární zařízení mohou dynamicky zvyšovat nebo snižovat své SNMP indexy (také nazývané případy), jak je hardware přidáván nebo odebírán. Nejčastěji se to používá s hardwarem, ačkoli virtuální rozhraní mají stejný účinek. Hodnoty indexu jsou obvykle přiřazeny při spouštění a zůstávají nezměněny až do dalšího restartu. Hardwarové indexy nebo virtuální entity přidané během živého zařízení mohou být přiřazeny na konci stávajícího rozsahu a případně znovu přiřazeny při příštím restartu.
Samotný SNMP je pouze protokol pro sběr a organizaci informací. Většina sad nástrojů pro implementaci SNMP nabízí určitou formu mechanismu zjišťování (standardizovanou sbírku dat společnou pro většinu platforem a zařízení) pro získání nového uživatele nebo umělce při spuštění. Jednou z těchto funkcí je často forma automatické konfigurace, při které jsou nová zařízení objevená v síti automaticky dotazována. V případě SNMPv1 a SNMPv2c se jedná o bezpečnostní riziko, protože komunity pro čtení SNMP budou na cílovém zařízení vysílány v čistém textu. I když se požadavky na zabezpečení v jednotlivých organizacích liší, při používání této funkce je třeba dbát opatrnosti, zejména v prostředích, jako jsou smíšená datová centra tenantů, zařízení pro hostování serverů a podobná prostředí.
snmpset a restartujte Cisco as53xx
URI | Schémata|
---|---|
Oficiální | |
neoficiální |
protokoly TCP /IP podle vrstev modelu OSI | Základní|
---|---|
Fyzický | |
odvedeny | |
síť | |
Doprava | |
zasedání | |
Zastoupení | |
Aplikovaný | |
Uplatněno jiné | |
Seznam portů TCP a UDP |