Úvod
Každá organizácia, ktorej súčasťou je aj počítačová sieť s veľkým pozitívom privíta znalosť jej topológie. Správcovia sietí – administrátori, využívajú čoraz častejšie softvérové monitorovacie prostriedky, pomocou ktorých jednoduchšie a rýchlejšie dokážu identifikovať a opraviť vzniknutý problém. Monitorovacie prostriedky majú za úlohu monitorovať sieť, napomáhať pri jej správe a dopomôcť k bližšej špecifikácii a rýchlejšiemu odstráneniu vzniknutého problému. Medzi takéto nástroje patrí aj nástroj
BasicMeter spolu s nástrojom SYNETS. Jednou z úloh týchto monitorovacích nástrojov je aj vizualizácia topológie siete, ktorá napomáha a značne zjednodušuje správu siete.
Vizualizačné prostriedky majú za úlohu zobraziť meranú topológiu a ponúknuť informácie o jednotlivých zariadeniach (adresácia, prepojenie, konfigurácia,...), a prenosových linkách (stratovosť paketov – packet loss, šírka pásma - bandwidth, priepustnosť – throughput), poprípade umožniť priamy prístup ku zariadeniu, ak je potrebné zmeniť jeho konfiguráciu alebo iné sieťové nastavenia.
Je pravdepodobnejšie, že fyzická topológia siete sa nebude meniť tak často, ako logická. Napr. zmenou konfigurácie alebo výpadkom jedného zo zariadení sa charakter celej počítačovej siete môže úplne zmeniť. Preto je vhodné, aby boli tieto zmeny monitorované automatizovaným systémom, ktorý by uchovával informácie o aktuálnej topológii počítačovej siete v prezerateľnej aj editovateľnej forme.
Z už vypracovaných projektov a návrhov sa za najvhodnejšie riešenie ukladania údajov považuje ich ukladanie do adresárovej služby LDAP, ktorej dáta sa dajú ďalej spracovávať rôznymi aplikáciami.
Systém umožňuje prehľad celkovej topológie, prvkov do nej pripojených, služby poskytované jednotlivými stanicami / servermi.
Cieľom tohto semestrálneho projektu je navrhnúť vizualizačný modul pre nástroj SYNETS, ktorý by dokázal konkrétnejšie zobraziť informácie získané z adresárovej služby LDAP o jednotlivých zariadeniach a prenosových linkách.
1 Bližšia špecifikácia zadania
Nástroj SYNETS umožňuje vizualizovať aktuálnu topológiu počítačovej siete, zároveň poskytuje základné informácie o jednotlivých sieťových zariadeniach a ich rozhraniach, ale neposkytuje napr. zobrazovanie údajov o prenosových linkách a niektorých ďalších údajov o zariadeniach, ktoré by mohli byť pre správu siete dôležité (napr. objem dát prenesených cez niektorý port zariadenia).
Úlohou tohto semestrálneho projektu je navrhnúť modifikáciu vizualizačného modulu, ktorý je týmto nástrojom používaný, tak, aby bol schopný zobrazovať aj dodatočné informácie o zariadeniach a prenosových linkách.
2 Analýza riešenia
Výstupom projektu je aplikácia pre automatickú vizualizáciu počítačovej siete, pričom časť informácií je získavaná automaticky a časť údajov je potrebné do systému zadať ručne. Problematike získavania a editovania informácií o sieti sa v rámci projektu SYNETS venujú iné podprojekty. Úlohou tohto semestrálneho projektu je z daných údajov pomocou vhodných postupov a technológií vygenerovať grafický výstup topológie siete.
Analýza použiteľných technológií má tieto časti:
- Analýza nástroja pre tvorbu grafického výstupu aplikácie
- Analýza dátového modelu pre uchovávanie informácií
- Analýza implementačných prostredí
2.1 Analýza nástroja pre tvorbu grafického výstupu aplikácie
Pre tvorbu grafického výstupu aplikácie je použitá aplikácia Graphviz. Pre vizualizáciu bola zvolená práve táto možnosť, keďže sa jedná o projekt, ktorý je vyvíjaný už dlhšiu dobu a je teda predpoklad, že už sú v ňom odstránené prvotné chyby, ktoré by sa pravdepodobne objavili aj v tomto projekte pri použití skôr spomínanej metódy.
2.1.1 Graphviz
Graphviz je súbor programov pre prezeranie a úpravu abstraktných grafov. Vykonáva
vizualizáciu pre prostriedky a stránky v oblastiach softvérového inžinierstva, počítačových sietí, databáz, reprezentácie informácií a bioinformatiky. Základ Graphvizu pozostáva z implementácie rôznych typov grafových schém. Tieto schémy môžu byt použité prostredníctvom knižníc jazyka C, rôznych skriptov, či prehliadačov internetových stránok. Algoritmus Graphvizu je zameraný na statické návrhy.
2.2 Analýza dátového modelu pre uchovávanie informácií
Pre uchovávanie informácií, ktoré bude potrebné vizualizovať bola zvolená adresárová služba LDAP.
2.2.1 Adresárové služby
Adresárové služby predstavujú aplikáciu pre ukladanie dát, ich organizáciu a prístup k nim. Špecifikum je predovšetkým v dátovom modeli, ktorý je rámcom pre prácu s dátami. Najjednoduchšia predstava je taká, že dáta sú uložené vo forme položiek, pričom každá položka obsahuje niekoľko atribútov (atribút – nositeľom dát, t.j. má priradenú hodnotu).
Na obrázku je znázornený vzťah atribútov a položiek - každá položka má jedinečné meno a názov každého atribútu je v rámci položky unikátny.Meno položky je štruktúrované, zložené z hierarchicky usporiadaných častí. Logicky sú takto položky v adresárových službách rozmiestnené v hierarchickej štruktúre – adresárovom strome.
Každá položka v adresárovom strome obsahuje unikátne meno, ktoré je zložené z časti, ktorá popisuje do ktorej vetvy adresárového stromu položka patrí a z unikátneho mena položky v rámci vetvy. Toto unikátne meno sa nazýva Distinguished Name (rozlišovacie meno).
Rozlišovacie meno jednoznačne identifikuje položku v globálnom mennom priestore adresárového stromu, môže sa skladať z viacerých relatívnych rozlišovacích mien. Relatívne rozlišovacie meno jednoznačne identifikuje položku v rámci jednej vetvy stromu. Skladá sa z jednotlivých relatívnych rozlišovacích mien, ktoré zodpovedajú vetvám adresárového stromu, ktorými je potrebné prejsť v hierarchii medzi položkami a koreňom stromu.
2.2.2 LDAP
LDAP (Lightweight Directory Access Protocol) bol primárne navrhnutý ako zjednodušený
variant protokolu DAP, t.j. ako jednoduchší prístupový protokol medzi klientom a adresárovým serverom. Hlavné zjednodušenie spočíva v použití rodiny protokolov TCP/IP ako komunikačnej vrstvy a v zjednodušení protokolu ako celku.
Postupom času došlo k „osamostatneniu“ protokolu LDAP - bola uplatnená idea samostatného LDAP servera, čo znamená adresárový server, ktorý komunikuje s klientom pomocou protokolu LDAP. Postupne sa pod pojmom LDAP rozumie nielen komunikačný protokol, ale aj samotný adresárový server. Z hľadiska klienta je nepodstatné, či pristupuje k adresárovým službám realizovaným samostatným (LDAP) serverom, alebo sa jedná iba o protokol prístupu k serveru.
Hlavné vlastnosti protokolu LDAP:
- Jednoduchosť, dobrý pomer implementačnej náročnosti oproti šírke spektra možného využitia
- Rozšíriteľnosť, otvorenosť
- Distribuovaný model uloženia dát a prístupu k nim
2.2.3 Architektúra protokolu LDAP
Protokol LDAP definuje komunikáciu medzi serverom a klientom. Klient pošle serveru
správu obsahujúcu požiadavku na vykonanie jednej z definovaných operácií a server vráti odpoveď. Správy tiež obsahujú príslušné dáta a informácie o ich formáte.
Základná schéma komunikácie:
- Klient nadviaže spojenie s LDAP serverom. Pre operáciu nadviazania spojenia sa používa termín binding. Klient sa môže pripojiť
anonymne, alebo musí preukázať svoju identitu - vykoná sa autentizácia. Pre nadviazanie spojenia je nutné, aby klient poznal IP adresu a port, na ktorom je LDAP server.
- Klient má k dispozícii spojenia na server a môže v jeho rámci posielať žiadosti o vykonanie definovaných operácií nad adresárovými dátami.
- Klient uzatvorí spojenie s adresárovým serverom. Pre túto operáciu sa používa termín unbinding.
Z hľadiska návrhu adresárových služieb je komunikačný protokol iba jedným z niekoľkých aspektov návrhu implementácie.
Praktické využitie tejto technológie v projekte Synets je, že celý informačný systém postavený na adresárovej štruktúre LDAP je rozšíriteľný, resp. zlučiteľný so systémami postavenými na štandardizovanej adresárovej štruktúre. Spôsobom zlučovania viacerých menších systémov môžu vznikať rozsiahle informačné systémy.
2.3 Analýza implementačných prostredí
Z dostupných možností výberu programovacieho jazyka použiteľného pre tvorbu webových stránok, ako sú Java, Python, ASP, PHP, bol zvolený skriptovací jazyk PHP kvôli jeho širokej podpore zo strany serverov a skriptovací jazyk Javascript, ktorý zabezpečuje niektoré operácie na strane klienta, ktoré by pomocou jazyka PHP neboli realizovateľné. Bola tým zabezpečená jednoduchá implementácia tejto aplikácie na väčšinu webových serverov.
2.3.1 Skriptovací jazyk PHP
PHP je skriptovací programovací jazyk, ktorý môže byt použitý na tvorbu www stránok. Skrátene PHP: Hypertext Preprocessor (počiatočné písmena pochádzajú zo staršej verzie – Personal Home Page), je open source-ový, programovací jazyk používaný na vývoj aplikácií spúšťaných na strane servera. Aby bolo možné PHP použiť v HTML stránke, musí server, kde je stránka uložená, jazyk PHP podporovať. Použitie PHP v HTML dokumente pozostáva z týchto krokov:
- Používateľ odošle svoje požiadavky serveru
- PHP spracuje údaje. Spracovanie údajov prebehne na strane servera
- Výsledok sa zobrazí vo forme HTML dokumentu vo www prehliadači používateľa.
Výsledkom spracovania údajov pomocou PHP je teda bežná HTML stránka.
Keďže sú skripty napísané v jazyku PHP vykonávané na strane servera, výsledkom, ktorý je prístupný pre koncového používateľa, sú vo väčšine prípadov stránky v jazyku HTML, ktoré je možné prezerať v ľubovoľnom prehliadači nezávisle na použitej platforme.
2.3.2 Javascript
Javascript je programovací jazyk, ktorý sa používa v internetových stránkach. Zapisuje sa priamo do HTML kódu, čo veľmi zjednodušuje jeho nasadenie v rámci projektov. Javascript je klientsky skript. To znamená, že sa program odosiela so stránkou klientovi (do internetového prehliadača) a tam je následne vykonávaný.
3 Návrh riešenia
Vyššie boli analyzované možnosti použitia rôznych technológií a prístupov k riešeniu danej problematiky. Pre získavanie informácií bude použitý protokol SNMP, na uchovávanie dát je to adresárový systém LDAP. Na vizualizáciu topológií sietí bude používaný nástroj Graphviz.
Cieľom projektu je generovať dva typy topologických schém –
aktuálnu topológiu, ktorá odráža aktuálny stav siete a
oficiálnu topológiu, ktorá je v rámci informačného systému verejne prístupná.
Úlohou tohto modulu je spracovať dáta uložené v adresárovom strome LDAP, z týchto
údajov určiť logické prepojenie jednotlivých zariadení a vygenerovať vizuálnu formu topológie siete. Tento proces môže byť rozdelený na dve fázy:
- Generovanie zdrojového súboru grafu
- Vytvorenie prezerateľnej formy grafu pomocou aplikácie Graphviz
Vo fáze generovania grafu sa jedná o generovanie, ktorého výstupom je textový súbor, ktorý v jazyku
Dot obsahuje opis grafu. Prostredníctvom tried a ich vnútorných metód sa získavajú potrebné údaje, ktoré sa zapisujú do súboru grafu. Najprv sa vložia všeobecné vlastnosti uzlov a hrán, neskôr sa pomocou volaných funkcií doplnia detaily o jednotlivých zariadeniach a vzťahy medzi nimi. Pomocou vizualizačnej triedy sú tieto informácie v konečnom dôsledku vygenerované ako obrázok a klikacia mapa.
V nasledujúcom kroku sa vnútornou funkciou exec() jazyka PHP vyvolá aplikácia neato, ktorá je súčasťou balíka Graphviz. Pomocou tejto funkcie a jej parametrov sa vygeneruje obrázok a klientská klikacia mapa.
3.1 Modifikácia modulu
Modifikácia toho modulu spočíva v množstve a druhu zobrazovaných informácií. Jedná sa o informácie týkajúce sa hlavne prenosových liniek, ale aj informácií zobrazovaných o jednotlivých sieťových zariadeniach. Modifikovaním modulu by sa mali používateľovi sprístupniť základné informácie už pri zobrazení topológie v obrázku, bez použitia myši na zobrazenie klikacej mapy. Cieľom je to, aby mohol používateľ vidieť údaje už vtedy, keď sa postaví kurzorom myši na zariadenie alebo prenosovú linku. Tieto informácie by sa mu mali zobraziť vo forme popisu objektu na obrázku. Pri prenosovej linke by to bolo napr. šírka pásma, priepustnosť a stratovosť paketov a pri zariadení počet rozhraní zariadenia, ktoré rozhranie je UP / DOWN alebo typ rozhrania.
S návrhom modifikácie modulu sa však spája aj problematika získavania dát z adresárovej štruktúry LDAP, pretože niektoré potrebné údaje sa do tejto štruktúry neukladajú, je nutné rozhodnúť o ďalšom, resp. inom riešení získavania dát. Jednou z možností je doimplementovanie ukladania dodatočných údajov. Druhou možnosťou je myšlienka integrácie projektu SYNETS s komplexným nástrojom
BasicMeter, čo ale zatiaľ predmetom tohto projektu nie je.
4 Záver
Táto práca sa zaoberala problematikou vizualizácie topológie v počítačových sieťach. Úlohou práce bolo navrhnúť modul pre informačný systém, ktorý zabezpečuje zobrazovanie informácií o zariadeniach tvoriacich počítačovú sieť.
Navrhovaná aplikácia by mala zobrazovať najzákladnejšie informácie o prvkoch danej siete pri vygenerovaní topológie siete do obrázku a tým zjednodušiť prístup používateľa k údajom už hneď na začiatku.
5 Použité zdroje
1. Vizualizácia prevádzky a topológie sieťových infraštruktúr, Peter Zaremba, Diplomová práca
http://www.cnl.tuke.sk/files/DP2006_Zaremba_Vizualizacia_prevadzky_a_topologie_sietovych_infrastruktur.pdf
2. LDAP - Adresárová služba
http://www.fi.muni.cz/~kas/p090/referaty/2004-jaro/skupina16/LDAP_xgregus1.html
3. Graphviz - Graph Visualization Software
http://www.graphviz.org/
4. Modulárny systém pre správu počítačovej siete, Peter Feciľak, Diplomová práca
http://dp.fw.sk/
--
TomasPeter - 18 Jan 2008