Proceedings of International Scientific Conference of FME Session 4: Automation Control and Applied Informatics
Paper 32
Využití síťového managementu v automatizaci PUSTKA, Martin1 1
Ing., Katedra ATŘ-352, VŠB-TU Ostrava, 17. listopadu, Ostrava - Poruba, 708 33,
[email protected], http://home.vsb.cz/martin.pustka
Abstrakt: Je nesporné, že význam počítačových sítí prudce vzrůstá a síťová struktura nalézá využití i v automatizaci. Je totiž velmi jednoduché a levné využít pro komunikaci systémů v systému řízení nebo monitoringu stávající počítačovou síť. Protože systémy síťového managementu již v současnosti dosáhly jistého stupně vývoje a jsou k dispozici standartizované protokoly pro síťový i systémový management jeví se jako velmi výhodné držet se těchto standartů a využít jejich mnohých výhod. Představme si tedy zařízení, který je připojeno (např. přes sériový port) k systému nebo zařízení, které má přístup do počítačové sítě s protokolem TCP/IP. Systém pak může prostřednictvím nějakého protokolu poskytovat systémům v počítačové síti informace o stavu snímané veličiny. A proč tedy nepoužít existující a v praxi používané prostředky pro síťový management včetně používaného protokolu SNMP (Simple Network Management Protocol)? Výhodné také je, že lze pro monitoring použít stávající systémy pro management sítě, které umí s pomocí protokolu SNMP realizovat sběr hodnot a reagovat na ně podle námi definovaných pravidel. Další nespornou výhodou je možnost využití dnes rozsáhlých možností přístupů do počítačové sítě a také k datům (WWW server, stanice síťového managementu, mobilní zařízení, které umožňuje přístup do počítačové sítě). Klíčová slova: network management, SNMP, sběr informací
Organizace managementu a sběr informací V modelu komunikace se vyskytují dva typy účastníků: agent a manager. Manager je programové vybavení, které je umístěno na stanici síťového managementu a které zodpovídá za jednu nebo více činností managementu na objektech spadajících do jeho působnosti. Manager s těmito objekty komunikuje prostřednictvím agentů. Agent je programové vybavení umístěné na řízeném síťovém zařízení, které má přímý přístup k řízeným objektům. Vykonává operace na řízených objektech jen na základě výzev k operacím od manageru. Také vysílá informace managerovi. Každá zpráva prochází před odesláním filtrem, který zajistí, že manager dostane opravdu jen ty informace, které pro něj mají význam. Tím je zabezpečena síť před zahlcením zprávami. Tento mechanismus však od agenta vyžaduje jistou inteligenci.
Man ager
P říkaz / Odpověď
E x terní z aříz ení
E x terní z aříz ení
Obrázek 1: Model agent-manager
Problematika systémového managementu Systémový management je nedílnou součástí managementu síťového. Pro nás je zajímavý, protože v tomto příspěvku se budeme zabývat zejména tímto druhem managementu. Mezi funkce systémového managementu patří m.j. i následující funkce: • funkce managementu objektů (object management) - práce s objekty, předávání zpráv o událostech, specifikuje vzájemné vztahy mezi operacemi a hlášeními • funkce managementu stavů (state management) - poskytuje správě schopnost zjišťovat stav a jeho změny u řízených objektů, monitorovat celkovou operativnost a využívání zdrojů, řízení dostupnosti • funkce podávání poplašných hlášení (alarm reporting) - umožňuje co nejdříve detekovat problémy v síti nebo abnormální situace, které k problémům mohou vést, specifikuje typy poplašných hlášení a závažnost problémů. Rychlé a včasné objevení problémů je nezbytný požadavek na management. Součástí tohoto managementu může být také tzv. security alarm reporting - součást bezpečnostního managementu.
• funkce managementu hlášení o událostech (event report management) - používá se pro management podávání zpráv o událostech. Specifikovány jsou podmínky, za nichž je zpráva vyslána. • funkce záznámů (log control) - reaguje na požadavek uchování informací o událostech, vykonaných činnostech a o různých objektech. Důležité je, že záznamy lze zobrazit, smazat, ale nikoliv měnit. Je nutno mít možnost definovat, které události a jakým způsobech uchovávat. • funkce měření využití pro účely účtování (usage metering function for accounting purposes) - specifikuje model a informace potřebné pro sledování využívání zdrojů a také např. pro finanční účtování využití • funkce managementu testování (test management function) - specifikuje model a řízené objekty pro provedení testování vzdálených zdrojů. Testování může být prováděno řízeně za průběžného dohledu nebo neřízeně jen na základě požadavku na provedení testu. Lze provádět i rekurzivní testování, kdy vykonavatel testu po žádosti o test sám vyvolá žádost o test na jiném systému. • funkce plánování (schedulling function) - specifikuje model a informace pro management pro tvorbu a správu vzdáleného managera, týkající se plánovaných činností při managementu, jako např. plánování sběru dat, plánování testů apod. Aby tyto funkce byly realizovány tak, jak bychom očekávali, je nutné definovat některé vztahy a závislosti: • atributy pro reprezentaci vztahů (attributtes fo reprezenting relationships) dovolují rozpoznat a řídit stupeň vzájemné závislosti mezi částmi systému (tj. do jaké míry změna objektu může změna jednoho objektu ovlivnit objekt jiný). Vztah je definován jako soubor pravidel popisujících jak činnost jedné části otevřeného systému ovlivňuje činnost jiné části. • objekty a atributy pro řízení přístupu (objects and attributes for access control) specifikuje model řízení přístupu a informace pro management potřebné pro tvorbu a správu řázení přístupu ve spojení se systémovým managementem
Popis a možnosti protokolu SNMP Protokol SNMP (Simple Network Management Protocol) je protokolem management počítačových sítí a slouží pro komunikaci mezi managery a agenty na řízených uzlech sítě. Je to asynchronní, transakčně orientovaný protokol založený na transakcích typu dotaz-odpověď mezi síťovým managerem a agentem v počítačové síti. Převážná většina činností se provádí na základě výzvy, tj. periodického dotazování se řízených systémů. Jen malá část zpráv přichází k manageru bez jeho výzvy. Jedná se o tzv. pasti (traps). Jsou to zprávy o mimořádných událostech, na jejichž základě manager provádí další činnosti a přebírá zodpovědnost za stávající situaci.
SNMP v podstatě využívá k naprosté většině příkazů pouhých dvou příkazů. Prvním z nich je get (přečtení hodnoty proměnné) a set (změna hodnoty proměnné). Tato minimalizace má za cíl hlavní požadavek: jednoduchost a snadnou implementovatelnost (a tím ve svém důsledku i rozšíření). SNMP (ve verzích 1 a 2) používá následující příkazy: • get-request -získání informace z MIB • get-next-request - umožňuje získat managerovi informace o objektech v MIB bez znalosti jejich přesných jmen • set-request - změna hodnoty proměnné agenta • trap - jediný typ příkazu vysílaný bez předchozího vyžádání, agent jej zasílá managerovi jako reakci na specifikovanou událost, zpráva zůstává nepotvrzená, proto agent nemá jistotu, zda byla doručena • get-response - agent vykoná tuto operaci jako reakci na předchozí příkazy - je to vlastně odpověd agenta managerovi. Odpověď obsahuje i dotaz, protože protokol nezajišťuje souvislost mezi dotazem a odpovědí. • get-bulk - operace, která je součástí SNMP v.2. Umožňuje vyžádat si k přečtení celou skupinu informací z MIB, čímž se mnohdy urychluje komunikace. • inform - umožňuje komunikaci dvou managerů mezi sebou
MIB databáze MIB (Management Information Base) je databáze, která dovoluje jednoznačně identifikovat informace využívané systémem správy. Aby mohl SNMP manager i agent tyto informace získat a předávat, tak je nutná znalost struktury MIB. Báze dat je objektově orientovaná. Data jsou uložena jako objekty a sdružují se do tříd. Jednotlivé objekty mají hodnoty. Každý řízený objekt v MIB obsahuje veškeré informace potřebné informace pro popis. Způsob pojmenování objektů je založen na jejich vztahu. Jeden objekt může obsahovat jiné objekty nebo jiné třídy. MIB je tedy tvořena jedním stromem. Rozlišujeme několik typů objektů: • jednoduché typy (primitiva INTEGER, OCTET STRING, OBJECT IDENTIFIER, NULL) • složené typy (tabulky jako SEQUENCE OF primitiv nebo definovaný typ) • definované typy (např. IP adresa jako OCTET STRING, Couter, TimeTicks...)
root
ITU-T (0)
Standart (0)
Regulace (1)
ISO (1)
JTC ISO/ITU (2)
Mem (ISO3166) (2)
Ie-org (ISO6523) (3)
DoD (Department of defence) (6) Internet (1)
Obrázek 2: Hierarchie identifikátorů objektů v MIB (část stromu)
Každý agent musí být schopen udržovat objekty standartní MIB (např. síťové adresy, typy rozhraní, čítače). Jsou definovány tři mechanismy pro přidání: • přidání nových objektů prostřednictvím definice nové verze MIB-II • přidání nestandartních objektů přidáním experimentální větve • přidání vlastních objektů v rámci podstromu soukromé větve Do MIB byly zařazeny jen nejnutnější objekty. Předem byly vyloučeny objekty svým způsobem nadbytečné, např. ty, které mají konkrétní (např. aritmetické) vztahy s jinými objekty v MIB. Jednoduchost definice a omezená velikost báze umožňuje zaručit minimální dopad na činnost a složitost agentů. To se pak samozřejmě projeví v nárocích na zpracovatelský systém.
Podpora protokolu SNMP Komunikace mezi managerem a agenty probíhá na základě výměny zpráv. V protokolu TCP/IP se využívá transportní služba bez spojení - protokol UDP. Každá zpráva je jeden datagram, který se skládá z čísla verze protokolu, jména SNMP komunity (jedná se v podstatě o heslo) a vlastních dat. Pro komunikaci se využívá port UDP/161, pro zprávy o pastech pak port UDP/162. Po příjmu dat musí adresát provést kontrolu - autentifikaci odesilatele. V případě, že ověření proběhne úspěšně, je provedena příslušná akce. Neproběhne-li ověření úspěšně, je požadavek ignorován a nijak se na něj nereaguje. Příslušné podpůrné knihovny a využití lze nalézt pro spoustu jazyků i programových prostředí v různých OS (např. C/C++, Perl, PHP, Python, Java ...). Díky existujícím modulům je tak možné v relativně krátké době umožnit přes protokol SNMP přístup k datům, které poskytuje periferní zařízení systému a to jak pro čtení, tak pro zápis.
Využití SNMP Mezi hlavní výhody využití SNMP patří: • • • •
možnost prezentace a přístupu k datům přes WWW server přístup řídicího systému k řízenému je i nadále poměrně jednoduchý využití prověřených systémů managementu sítě pro ošetření kritických stavů přístup k ovládání snímače přes malá mobilní zařízení
Mobilní zaříz ení umož ňujíc í přístup do počítač ov é sítě
Řídicí s ys tém / Manager / ...
Síťov é prostředí
Stanice síťov ého managementu
WWW serv er
Systém ov ládajíc í perif erní zařízení (SNMP agent)
Obrázek 3: Příklady přístupů k řízenému/monitorovanému zařízení Možnost prezentace a přístupu k datům přes WWW server Dnes lze ve spoustě jazyků pro tvorbu dynamických stránek nalézt funkce umožňující využít protokolu SNMP. Namátkou jmenujme prostředky PHP, Perl, Python, unixový shell, ASP atd. Velkou výhodou celého systému je existence WWW prohlížečů na všech uživatelských platformách a tím máme zajištěné klienty na všech systémech. Tím lze opravdu velmi jednuduše realizovat přístup lidské obsluhy k řízenému systému. Přístup k ovládání snímače přes malá mobilní zařízení Dnes je již reálná situace, kdy máme malé zařízení PDA (např. zařízení Palm od firmy 3COM), které podporuje protokoly TCP/IP. Ve spojení s mobilním telefonem můžeme toto
zařízení použít pro přístup k prostředkům ovládaného či monitorovaného zařízení. Následně pak můžeme ručně provádět zásahy na řízeném objektu, přestože se nacházíme v místě, které je od nejbližšího lidského obydlí značně vzdáleno.
Závěr Dnes lze nalézt spoustu existujících a v praxi používaných systémů, které v módu 24/7/365 (24 hodin denně, 7 dní v týdnu, 365 dnů v roce) monitorují stav systémů a služeb v počítačové síti. V případě výpadku informují definovanými kanály (nejčastěji email, SMS, vizuální výstraha) příslušnou obsluhu, popř. spustí definovanou akci. Je otázkou nakolik lze konkrétní systém využít pro konkrétní aplikaci řízení. Mnohé systémy jsou však navrženy velmi modulárně a lze je velmi pružně upravit pro mnohé úlohy. Díky podpoře SNMP není však problém realizovat systém pro sběr informací z agentů, kteří SNMP podporují a realizovat tak konkrétní aplikaci, která se bude chovat podle našich požadavků. Následně pak lze realizovat skutečně velmi jednoduše systém, který bude příslušná data zpřístupňovat na WWW stránkách. Nakonec ještě získáváme přidanou (a řekl bych, že mnohdy poměrně významnou) službu: možnost testování a monitorování řízeného systému třetí stranou za pomocí existujících programových balíků.
Literatura [ 1 ] Pužmanová, R.: Moderní komunikační sítě.1998. Computer Press 1998. ISBN 80-7226-098-7 [ 2 ] RFC dokumenty. Dostupné na Internetu: http://www.rfc.net/ [ 3 ] PHP documentation. Dostupné na Internetu: http://www.php.net/manual/