Jednoduchý manažérsky protokol siete: Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
d →‎SNMPv1: preklepy
Bez shrnutí editace
Značky: vizuálny editor úprava z mobilu úprava z mobilného webu
Riadok 1:
'''Jednoduchý manažérsky protokol siete'''<ref>[http://www.vus.sk/iecd/new/Vyklad_srch.asp ''Výkladový terminologický slovník elektronických komunikácií'']</ref> alebo '''jednoduchý protokol manažérstva siete''' (angl. ''Simple Network Management Protocol''), skr. h staníc
{{IPstack}}
 
'''Jednoduchý manažérsky protokol siete'''<ref>[http://www.vus.sk/iecd/new/Vyklad_srch.asp ''Výkladový terminologický slovník elektronických komunikácií'']</ref> alebo '''jednoduchý protokol manažérstva siete''' (angl. ''Simple Network Management Protocol''), skr. '''SNMP''', je [[Balík internetových protokolov|protokol]] umožňujúci monitorovanie a správu zariadení v [[IP]] sieti. Primárne bol navrhnutý pre účely správy siete a týkal sa základných sieťových prvkov, napr. [[smerovač]]ov čomu zodpovedala štandardná MIB báza. Protokol sa však nakoniec uplatnil aj pri správe a monitorovaní ďalších zariadení pripojených v sieti, napríklad sieťových [[tlačiareň (hardvér)|tlačiarní]], serverov či koncových užívateľských staníc
 
== Architektúra ==
SNMP protokol definuje operácie nad '''MIB''' bázou ([[Management Information Base]]). MIB de facto popisuje možné '''OID''' (Object identifierer) - objekty s ktorými je možné pracovať, ich typ (Integer, Octet String, atď) a možný prístup k nim (read-only, read-write, write-only). Štandardná MIB báza už definuje mnoho premenných (OID, napr. informáciu o agentovi, správu/monitorovanie sieťových rozhraní, smerovacie tabuľky a i.). Výrobcovia zariadení pokrývajú spravidla len časť štandardnej MIB (slušný SNMP agent podporuje aspoň oblasť System Information). MIB je však navrhnutá tak, aby sa dala rozširovať vo vymedzenej privátnej oblasti vlastnou MIB výrobcu ([http://www.iana.org/assignments/enterprise-numbers]).
Architektúra SNMP rozoznáva prinajmenšom 2 komponenty:
 
* Spravovaný objekt ([[SNMP agent]], napr. na [[switch|prepínači]])
* Spravovacia stanica (napr. SNMP platforma)
 
Môže obsahovať subagentov (slave).
 
SNMP protokol definuje operácie nad '''MIB''' bázou ([[Management Information Base]]). MIB de facto popisuje možné '''OID''' (Object identifier) - objekty s ktorými je možné pracovať, ich typ (Integer, Octet String, atď) a možný prístup k nim (read-only, read-write, write-only). Štandardná MIB báza už definuje mnoho premenných (OID, napr. informáciu o agentovi, správu/monitorovanie sieťových rozhraní, smerovacie tabuľky a i.). Výrobcovia zariadení pokrývajú spravidla len časť štandardnej MIB (slušný SNMP agent podporuje aspoň oblasť System Information). MIB je však navrhnutá tak, aby sa dala rozširovať vo vymedzenej privátnej oblasti vlastnou MIB výrobcu ([http://www.iana.org/assignments/enterprise-numbers]).
 
SNMP agent spravidla používa [[User Datagram Protocol|UDP]] [[port]] 161 (a posiela SNMP trapy na UDP port 162). SNMP protokol používa ako [[prezentačná vrstva|prezentačnú vrstvu]] [[Abstract Syntax Notation 1|ASN.1]].
 
=== SNMP datagram ===
SNMP datagram sa skladá z hlavičky ktorá obsahuje verziu SNMP protokolu, identifikačné číslo datagramu (pre priradenie odpovede), informáciu o chybe (nastavenú v SNMP Response datagrame), autentifikačnú informáciu a typ PDU (SNMP Get Request, SNMP Get Response a pod). PDU (Protocol Data Unit) obsahuje zoznam OID ktoré identifikujú čítané alebo nastavované premenné a tiež ich hodnoty (v prípade SNMP Get datagramov prázdnu hodnotu - ASN NULL).
 
=== Operácie nad MIB bázou ===
 
* GET REQUEST: Číta informáciu z jednej alebo viacerých premenných definovaných OID
* GETNEXT REQUEST: Číta informáciu z jednej alebo viacerých premenných nasledujúcich po zadaných OID (vhodné napr. pri čítaní tabuliek)
* GET BULK: Číta informáciu z celého podstromu (od SNMPv2)
* GET RESPONSE: Odpoveď od agenta
* SET: Nastavenie jednej alebo viacerých premenných s daným OID
* TRAP: Spontánna správa od SNMP agenta (napr. správa o reštarte)
* INFORM: Ako SNMP Trap, ale potvrdzovaný (od SNMPv2)
 
== Verzie SNMP protokolu ==
=== SNMPv1 ===
Prvá verzia SNMP protokolu bola definovaná v roku [[1988]] ([[Request for comments|RFC]] 106, RFC 1066 a RFC 1067). Autentifikácia klienta (spravovaného) bola riešená pomocou tzv. „community string“, ktorý bol prenášaný ako čistý [[reťazec]]. Najmä preto sa protokol ďalej vyvíjal.
 
=== SNMPv2 ===
Verzia 2 SNMP protokolu sa snažila odstrániť nedostatky SNMPv1. Vzniklo mnoho jej odnoží ktoré riešili bezpečnosť a rozšírenia protokolu. Nakoniec sa stala prakticky štandardom '''SNMP v2c''', ktorá zaviedla nové PDU typy (INFORM, GET BULK), nové typy premených ([[64-bit]]ové hodnoty/počítadlá), ale autentifikácia ostala na úrovni SNMPv1. Štandardná MIB bola podstatne rozšírená.
 
=== SNMPv3 ===
[[Internet Engineering Task Force]] (IETF) ustanovuje od roku [[2004]] verziu SNMPv3 ako je definovaná [http://www.ietf.org/rfc/rfc3411.txt RFC 3411] až [http://www.ietf.org/rfc/rfc3418.txt RFC 3418] (STD0062). IETF označuje skoršie verzie ako neplatné a zastarané. Verzia SNMPv3 tak konečne štandardizovala nové autentifikačné mechanizmy.
 
== Príklad ==
Nasleduje výstup programu ''snmpwalk'' (snmpwalk je utilita v balíku Net-SNMP) pri zobrazení MIB časti SystemInformation (všeobecné informácie o zariadení a uptime).
 
SNMP datagram sa skladá z hlavičky ktorá obsahuje verziu SNMP protokolu, identifikačné číslo datagramu (pre priradenie odpovede), informáciu o chybe (nastavenú v SNMP Response datagrame),l autentifikačnú informáciu a typ PDU (SNMP Get Request, SNMP Get Response a pod). PDU (Protocol Data Unit) obsahuje zoznam OID ktoré identifikujú čítané alebo nastavované premenné a tiež ich hodnoty (v prípade SNMP Get datagramov prázdnu hodnotu - ASN NULL).
<code>
'''snmpwalk -c public punch system'''<br />
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-IO3-M), Version 12.2(15)T5, RELEASE SOFTWARE (fc1)<br />
TAC Support: http://www.cisco.com/tac<br />
Copyright (c) 1986-2003 by cisco Systems, Inc.<br />
Compiled Thu 12-Jun-03 15:49 by eaarm<br />
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.187<br />
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (835747999) 96 days, 17:31:19.99<br />
SNMPv2-MIB::sysContact.0 = STRING: wikiuser<br />
SNMPv2-MIB::sysName.0 = STRING: punch<br />
SNMPv2-MIB::sysLocation.0 = STRING: test<br />
SNMPv2-MIB::sysServices.0 = INTEGER: 78<br />
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00<br />
</code>
 
*
== Referencie ==
<references />
 
== Verzie reto sa protokol ďalej vyvíjal. ==
== Externé odkazy ==
=== SNMPv1l ===
* [http://www.windowsnetworking.com/articles_tutorials/Introduction-SNMP-Part1.html Úvod do SNMP]
Vzniklo mnoho jej odnoží ktoré riešili bezpečnosť a rozšírenia protokolu. Nakoniec sa stala prakticky štandardom '''SNMP v2c''', ktorá zaviedla nové
* [http://www.simpleweb.org SimpleWeb]
* http://www.henrys.de/daniel/download/SNMP.HTM
Nasleduje
* [http://www.snmp.com/FAQs/snmp-faq-part1.txt SNMP FAQ part 1]
*
* [http://www.snmp.com/FAQs/snmp-faq-part2.txt SNMP FAQ part 2]
* Implementácie:
** [http://www.net-snmp.org/ Net-SNMP:Ne Open source SNMP implementationimpl]
**
** [http://netsnmpj.sourceforge.net/ Netsnmpj: Open source SNMP for Java]
** [http://sourceforge.net/projects/opensnmp/ OpenSNMP: multi-threaded SNMPv3 engine]
* Cisco:
** [http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/ffun_c/fcfprt3/fcf014.htm Configuring SNMP Support]
** [http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/fun_r/cfr_1g11.pdf Cisco SNMP command reference]
** [http://www.cisco.com/go/mibs Cisco IOS MIB Tools]
 
[[Kategória:Internetové protokoly]]