Edellinen luku

5 Verkonhallintatyökaluja

Verkonhallinnassa tarvitaan useita erilaisia työkaluja erilaisiin tarpeisiin. Vaikka verkonhallintaohjelmistot on yleensä pyritty tekemään mahdollisimman kattaviksi, on usein käytännössä helpompi käyttää jotain pientä työkalua yksittäisen ongelman ratkaisemiseksi.

Tässä luvussa kerrotaan muutamista yleisimmistä ja käyttökelpoisiksi havaituista työkaluista, joilla voidaan valvoa ja hallita TCP/IP-verkkoja. Aluksi tarkastellaan verkon saavutettavuuden selvittämiseen tarvittavia työkaluja, jonka jälkeen esitellään verkon liikenteen analysoinnin ohjelmia. Lisäksi kuvataan erästä verkon turvallisuuden kannalta erittäin hyödyllistä ohjelmaa. Luvun lopussa käsitellään SNMP-pohjaisia työkaluja sekä kuvataan niitä vaatimuksia, joita SNMP-verkonhallintaohjelmistoille voidaan asettaa.

5.1 Verkon saavutettavuus

Verkon saavutettavuuden selvittämisessä otetaan selville, onko jokin laite ylipäänsä saavutettavissa ja mistä ongelmatilanne johtuu, jos ei ole.

5.1.1 Ping

Tunnetuin ja varmasti yleisin verkkoon liittyvien ongelmien ratkaisuun käytetty ohjelma on ping. Ping-ohjelma lähettää ICMP-protokollan mukaisia vastauspyyntöviestejä (EchoRequest) halutuille laitteille ja kerää saaduista vastauksista erilaista tietoa. ICMP-protokolla on hyvin yksinkertainen, ja jokaisen laitteen, joka toteuttaa IP-protokollan, täytyy kyetä vastaamaan ICMP-viesteihin. Usein myös TCP/IP-ohjelmistoissa on mukana ping-ohjelma, joten sitä voidaan sanoa joka paikan perustyökaluksi [Auerbach].

Ping-ohjelmaa käytetään usein selvitettäessä, onko jokin laite toiminnassa. Mikäli laitteeseen ei saada yhteyttä (esimerkiksi telnet-protokollalla) mutta se vastaa pingin lähettämiin viesteihin, voidaan olettaa vian olevan muualla kuin verkon laitteissa. Todennäköisesti vika on laitteessa, johon yhteyttä yritettiin ottaa. Ping-ohjelmalla voidaan myös tarkistaa, häviääkö verkossa paketteja ja minkälaisia viiveitä verkko aiheuttaa eri laitteiden välille. Mikäli huomattava määrä paketteja häviää, on syytä epäillä verkossa olevan jotain vialla. Täsmällistä prosenttilukua on hyvin vaikea määritellä, mutta 20 %:n hävikistä voi jo olla huolissaan.

Ping-ohjelman toteutukset ovat hyvin erilaisia eri järjestelmissä, mutta yleensä niille kyetään kertomaan, minkä kokoisia paketteja ja kuinka monta pakettia halutaan lähettää.

Seuraavassa esimerkissä lähetetään phoenix.oulu.fi -nimiselle koneelle viisi 56 tavun mittaista viestiä.

pizza ~ 240 % /etc/ping phoenix.oulu.fi 56 5

PING phoenix.oulu.fi: 56 byte packets

56 bytes from 130.231.240.17: icmp_seq=0. time=27. ms

56 bytes from 130.231.240.17: icmp_seq=1. time=26. ms

56 bytes from 130.231.240.17: icmp_seq=2. time=19. ms

56 bytes from 130.231.240.17: icmp_seq=3. time=19. ms

56 bytes from 130.231.240.17: icmp_seq=4. time=23. ms

----phoenix.oulu.fi PING Statistics----

5 packets transmitted, 5 packets received, 0% packet loss

round-trip (ms) min/avg/max = 19/22/27

Ensimmäisellä rivillä on tietokoneelle annettu komento kursiivilla. Tämän jälkeen on laitteelta saatu palaute. Ping kertoo kustakin saamastaan vastauksesta sen pituuden, lähettäjäkoneen IP-osoitteen, viestin järjestysnumeron sekä ajan, joka viestin edestakaiseen matkaan kuluu. Kahdella viimeisellä rivillä kerrotaan, montako pakettia on lähetetty ja montako vastausta on saatu, sekä näiden perusteella laskettu pakettien häviämisprosentti. Lisäksi kerrotaan, mitkä ovat minimi, keskiarvo ja maksimi paketin edestakaiselle matka-ajalle.

Joissakin totetuksissa voidaan ping saada kertomaan, minkä laitteiden kautta viesti kohdelaitteeseen kulkee, eli sen avulla voidaan seurata, mitä reittiä pitkin kohdelaitteeseen päästään. Seuraavassa on ote pingin vastauksesta, kun paketit on lähetetty samalle laitteelle kuin edellisessä esimerkissä:

64 bytes from 130.231.240.17: icmp_seq=7 ttl=251 time=4797 ms

RR: hutnet-gw.csc.fi (128.214.248.65)

mandariini-gw.funet.fi (128.214.6.216)

ananas-gw.funet.fi (128.214.254.1)

oliivi.oulu.fi (130.231.241.2)

phoenix.oulu.fi (130.231.240.17)

oliivi-gw.funet.fi (128.214.254.5)

ananas-gw.funet.fi (128.214.6.207)

lime-gw.funet.fi (128.214.248.1)

64 bytes from 130.231.240.17: icmp_seq=9 ttl=251 time=2905 ms (same route)

64 bytes from 130.231.240.17: icmp_seq=8 ttl=251 time=3906 ms

RR: hutnet-gw.csc.fi (128.214.248.65)

lime-gw.funet.fi (128.214.6.214)

ananas-gw.funet.fi (128.214.254.1)

oliivi.oulu.fi (130.231.241.2)

phoenix.oulu.fi (130.231.240.17)

oliivi-gw.funet.fi (128.214.254.5)

ananas-gw.funet.fi (128.214.1.2)

lime-gw.funet.fi (128.214.248.1)

Tässä seitsemäs ja yhdeksäs paketti (kohta icmp_seq) ovat menneet samaa reittiä, mutta kahdeksas paketti on kulkenut muuta reittiä ja siihen saatu vastaus on tullut vasta yhdeksännen paketin jälkeen.

Pakettien matkaan kuluvan ajan suuruus on seurausta siitä, että jokainen laite, jonka kautta paketti kulkee, joutuu lisäämään pakettiin oman IP-osoitteensa. Osoitteen lisäystä ei normaalisti ICMP-paketeille tehdä, eivätkä kaikki laitteet kyseistä operaatiota tee. On siis mahdollista, että edellisen esimerkin paketit ovat kulkeneet myös muiden kuin vastauksessa mainittujen laitteiden kautta.

Pingistä on myös useita erilaisia jatkokehitelmiä. Yksi tällainen on Fping, joka on Yhdysvalloissa Stanfordin yliopistossa tehty, erityisesti ns. skriptien (shell-script) tekoon tarkoitettu ping-ohjelma. Fpingille voidaan antaa tiedostossa lista laitteista joita halutaan testata, ja Fping palauttaa haluttessa niiden laitteiden nimet, joilta se ei saanut vastausta. Se kertoo myös haluttaessa tilastoa siitä, kuinka paljon vastausten saamiseen kului aikaa jne.

Seuraavassa esimerkki Fpingin käytöstä.

pizza ~ 83 % fping -sduf check_list_for_ping

lk-hp-21.hut.fi

60 hosts

59 alive

1 unreachable

0 unknown addresses

4 timeouts (waiting for response)

63 pings sent

59 pings received

1 msec (min round trip time)

3 msec (avg round trip time)

38 msec (max round trip time)

11.869 sec (elapsed real time)

Ensimmäisellä rivillä on kursiivilla annettu komento, jossa viimeisenä on tiedosto, josta luetaan laitteet, joita halutaan testata. Vastauksen alussa ovat niiden laitteiden nimet, joilta ei saatu vastausta. Tässä tapauksessa ainoastaan lk-hp-21.hut.fi -niminen kone ei vastannut. Tämän jälkeen on tilastoa siitä, kuinka monelle laitteelle viestejä lähetettiin, moniko vastasi ja moniko jätti vastaamatta. Viimeisellä riveillä kerrotaan, kuinka paljon aikaa komennon suorittamiseen kului.

Fping on erityisen kätevä, kun on suuri joukko laitteita, joiden saavutettavuutta halutaan testata, koska Fpingin antamaa vastausta on erittäin helppo käsitellä ohjelmalla edelleen.

Kuten edellä mainittiin, ping kuuluu lähes jokaiseen TCP/IP-toteutukseen mukaan. Fpingin lähdekoodin voi hakea anonyymi-ftp:llä koneesta ftp.funet.fi, hakemistosta /pub/unix/networking.

5.1.2 Traceroute

Traceroutea voidaan käyttää, kun halutaan selvittää, minkä laitteiden kautta paketit kohdelaitteeseen menevät. Sen avulla voidaan esimerkiksi selvittää, mikäli laite ei vastaa pingin lähettämiin viesteihin, onko vika mahdollisesti jossain kohdelaitteeseen johtavan reitin varrella.

Seuraavassa esimerkissä tarkistetaan edellisissä esimerkeissäkin käytettyyn phoenix.oulu.fi -nimiseen tietokoneeseen johtava reitti.

pizza ~ 76 % traceroute phoenix.oulu.fi

traceroute to phoenix.oulu.fi (130.231.240.17) from 0.0.0.0, 30 hops max, 20 byte packets

1 hutnet-gw (130.233.243.254) 9 ms 9 ms 9 ms

2 mandariini-gw.csc.fi (128.214.248.2) 9 ms 8 ms 8 ms

3 ananas-gw.funet.fi (128.214.6.207) 113 ms 31 ms 8 ms

4 oliivi-gw.funet.fi (128.214.254.5) 25 ms 23 ms 23 ms

5 phoenix.oulu.fi (130.231.240.17) 36 ms 23 ms 24 ms

Ensimmäisellä rivillä on annettu komento jälleen kursiivilla ja sen jälkeen ohjelmalta saatu vastaus. Vastauksen ensimmäisellä rivillä kerrotaan, mihin laitteeseen etsitään reittiä (phoenix.oulu.fi), kyseisen laitteen IP-osoite (130.231.240.17), kunka monta laitetta korkeintaan tarkistetaan reitin varrelta sekä minkä kokoisia paketteja käytetään.

Näiden jälkeen on listattu ne laitteet, tässä tapauksessa neljä laitetta, joiden kautta paketit kulkevat, sekä niiden IP-osoitteet. Viimeisenä on kullakin rivillä laitteeseen lähetettyjen (kolmen) paketin edestakaiseen matkaan kulunut aika.

5.2 Verkon liikenteen analysointi

Verkon liikenteen analysoinnissa selvitetään ylensä, mitä paketteja verkossa liikkuu, mistä ne tulevat ja minne ne ovat menossa.

5.2.1 Tcpdump

Tcpdump on Yhdysvalloissa, Kalifornian yliopistossa (Lawrence Berkeley Laboratory, University of California, Berkeley, CA) alunperin Sun Incorporationin SunOS-käyttöjärjestelmälle tehty ohjelma. Myöhemmin se on sovitettu myös useisiin muihin UNIX-järjestelmiin.

Tcpdump on erittäin monipuolinen ohjelma, jonka avulla voidaan seurata lähes kaikkea, mitä verkossa liikkuu. Tcpdump asettaa laitteen verkkoliitynnän sellaiseen tilaan, jossa se välittää ylemmille protokollille kaikki paketit, jotka se verkosta ehtii lukemaan. Mikäli tcpdumpia ajetaan riittävän tehokkaassa koneessa, voidaan näin saada talteen kaikkien verkossa liikkuvien pakettien tiedot. Tcpdumpille voidaan antaa hyvin monimutkaisia ja tarkkoja sääntöjä sen suhteen, mitä paketteja verkosta halutaan seurata. Sääntöjen avulla voidaan määritellä, miltä laitteita lähetetyt tai mille laitteille osoitetut paketit otetaan talteen. Voidaan myös valita vain tietyn protokollan (esimerkiksi telnet) paketit otettavaksi talteen.

Tällainen valinta pakettien välillä on tarpeen, sillä mikäli otettaisiin talteen kaikki tieto, mitä verkossa liikkuu, saataisiin niin runsaasti informaatiota, että sen tallentaminen levylle ei ole normaalisti järkevää.

Seuraavassa esimerkissä on ote tcpdumpin kirjoittamasta informaatiosta, kun on haluttu ottaa talteen ainoastaan eri laitteiden välisten yhteyksien alku- ja loppuviestit. Rivit eivät olisi mahtuneet tässä kokonaisuudessaan yhdelle riville, joten niiden lopusta on poistettu epäoleellista informaatiota.

ttt.hut.fi.1023 > backup.hut.fi.printer: S 2831441409:2831441409

backup.hut.fi.printer > ttt.hut.fi.1023: S 261952000:261952000

ttt.hut.fi.1023 > backup.hut.fi.printer: F 2831907490:2831907490

backup.hut.fi.printer > ttt.hut.fi.1023: F 261952006:261952006

Kullakin rivillä on ensimmäisenä paketin lähettänyt kone ja portti, josta paketti on lähetetty. Suurempi kuin -merkin jälkeen on kohdekone ja sen portti. Ensimmäisen kaksoispisteen jälkeen on S merkiksi siitä, että on kyse yhteyden aloityksesta (Syn), tai F, jolloin on kyseessä yhteyden lopetus (Fin). S:n ja F:n jälkeen on juokseva numerointi, jolla voidaan esimerkiksi seurata yhteyden aikana vaihdettujen pakettien sisältämien tavujen määrää.

Esimerkin yhteys alkaa laitteen ttt.hut.fi pyynnostä laitteelle backup.hut.fi. Kohdelaitteen nimen perässä on selväkielinen portin nimi, josta voidaan päätellä, että kyseessä tulostuksen lähetys ttt:stä backup:iin. Toinen rivi on backup-koneen vastaus, jossa se hyväksyy yhteyden aloittamisen. Kolmannella rivillä on ttt:n ilmoitus yhteyden loppumisesta, jonka backup vahvistaa, kuten neljänneltä riviltä voidaan havaita.

Näistä riveistä voidaan laskea, että yhteyden aikana ttt lähetti (2831907490-2831441409) = 466081 tavua ja backup lähetti (261952006-261952000) = 6 tavua informaatiota, eli yhteensä 466087 tavua tietoa.

Kuten edellä olevasta hyvin riisutusta esimerkistä voidaan päätellä, vaatii tcpdumpin käyttö hyvin paljon harkintaa, jotta se tuottamasta informaatiosta saataisiin järkevästi suodatettua oleellinen tieto.

Eräässä yliopiston laboratoriossa Kaliforniassa kerättiin tcpdumpin avulla kuukauden aikana noin 84 MB (miljoonaa tavua) informaatiota, joka tietyn prosessoinnin jälkeen saatin supistumaan 14,3 megatavuun informaatiota. Tuloksena oli tosin hyvin tarkkaa tietoa kuukauden aikana tapahtuneesta verkkoliikenteestä [Paxson].

5.2.2 NeTraMet ja NeMaC

NeTraMet (Network Traffic Meter) ja NeMaC (NeTraMet Manager/Collector) ovat Uudessa Seelannissa, Aucklandin yliopistossa (Computer Centre, The University of Auckland, Auckland, New Zealand) tehtyjä ohjelmia.

NeTraMet on ohjelma, joka samaan tapaan kuin Tcpdump kuuntelee kaikkea verkon liikennettä. NeTraMetille voidaan, käyttäen NeMaC-ohjelmaa, ladata verkon välityksellä sääntöjä, joiden mukaan se luokittelee halututut paketit, laskee niiden lukumäärät ja pakettien sisältämät tavut. NeMaC-ohjelmalla myös haetaan NeTraMetiltä sen kokoama tieto. Myös SNMP:tä voidaan käyttää tietojen hakemiseen, mutta NeMaC on huomattavasti kätevämpi siihen tarkoitukseen.

Kuvassa 16 on esitetty mahdollinen kokoonpano, jossa UNIX-työasemassa ajettava NeMaC-ohjelma kerää tietoa NeTraMetiä ajavilta laitteilta. NeMaC:in saa toimimaan lähes missä tahansa Unix-järjestelmässä, mutta NeTraMet on toistaiseksi toteutettu ainoastaan DOS-käyttöjärjestelmällä varustetuille PC:ille ja SunOS:llä varustetuille Sun-työasemille.

NeTraMetin käyttö on monessa suhteessa yksinkertaisempaa kuin Tcpdumpin. Sillä ei toisin saa aivan yhtä eksaktia tietoa kaikista paketeista, mutta NeTraMet onkin suunniteltu käytön valvonnan apuvälineeksi, ei niinkään kaiken verkossa liikkuvan tiedon kaappaamiseen. NeTraMetin etu on myös siinä, että sen vaatimat laitekapasiteetti on hyvin vaatimaton. Mikäli on tarpeen, voidaan useita halpoja DOS-laitteita sijoittaa verkon eri osiin ja ladata niihin halutut säännöt ja kerätä siten tarpeellinen informaatio menemättä itse paikan päälle.

NeTraMetin avulla voidaan seurata ethernet-verkosta useita eri protokollia. Se tuntee IP-, DECnet-, Novellin IPX-, Applen EtherTalk- ja CLNS-protokollat. Näistä protokollista voidaan sääntöjen avulla muodostaa erilaisia tietovoita (dataflow), joista voidaan laskea lähetettyjen ja vastaanotettujen pakettien lukumäärät sekä vastaavien pakettien tavujen määrät.

Tarkastellaan esimerkiksi kuvan 17 kokoonpanoa. Halutaan seurata IP-liikennettä siten, että luokitellaan paketit sen mukaan, mistä verkosta ne ovat tulossa ja mihin ne ovat menossa. Ylimpänä on verkko, jonka liikennettä halutaan seurata (130.233.242.0). Oikealla alhaalla on toinen verkko (130.233.208.0), jonka liikenne ulos kulkee seurattavan verkon kautta. Vasemmalla alhaalla ovat kaikki muut verkot.

Tarkkailtavassa verkossa ajettavaan NeTraMet-ohjelmaan voidaan ladata verkon kautta sääntö, jolla se luokittelee paketit edellä kuvatun periaatteen mukaisesti. Kun sääntöä on sovellettu verkon liikenteeseen esimerkiksi puolentoista tunnin ajan, voidaan saada seuraavanlaista informaatiota.

130.233.240.0 130.233.240.0  2856 0  262154 0

130.233.208.0 0.0.0.0 284747 367471 26323006 28789076

0.0.0.0 130.233.240.0 43055 49567 15319442 4995094

130.233.240.0 130.233.208.0 1062 460 77378 82504

Kullakin rivillä on alussa lähde- ja kohdeverkot, jonka jälkeen on kumpaankin suuntaan kulkeneiden pakettien lukumäärä ja lopuksi vastaavat tiedot siirrettyjen tavujen määrästä.

Tästä tiedosta voidaan helposti muodostaa seuraavanlainen taulukko:

--------------------------------------------------------
Liikenne         Paketteja      %    Tavuja      %      
--------------------------------------------------------
Paik. <-> Paik.       2856   0,38    262154   0,35   
Paik. <-> Muut.      92622  12,36  20314536  26,78  
Paik. <-> Aliv.       1522   0,20    159882   0,21   
Aliv. <-> Muut.     652218  87,05  55112082  72,66  
--------------------------------------------------------
Taulukosta voidaan havaita, että suurin osa aliverkon liikenteestä sekä pakettien että tavujen mukaan laskettuna koostuu kauttakulkuliikenteestä paikallisen aliverkon ja muiden verkkojen välillä.

NeTraMetin keräämien tietojen perusteella voidaan myös arvioida eri protokollien osuuksia verkon liikenteestä jne.

5.2.3 Etherload

Etherload on DOS-pohjainen protokolla-analysaattori. Se on varsin käyttökelpoinen väline, varsinkin jos ei haluta sijoittaa suuria summia rahaa oikean protokolla-analysaattorin hankintaan. Etherloadin tämän hetkinen versio (1.03) on ns. julkisohjelma -- toisin sanoen ilmaisohjelma.

Etherload ei ole yhtä tehokas kuin varsinaiset protokolla-analysaattorit, mutta se pystyy kyllä tehokkaassa PC:ssä ajettaessa analysoimaan huomattavan suuren osan verkon liikenteestä.

Protokollat, joita Etherload osaa analysoida, ovat DECnet, OSI, NetWare, NetBEUI ja TCP/IP. Sen avulla voidaan seurata Ethernetin kuormitusta, eri laitteiden välistä liikennettä, eri TCP- ja UDP-pakettien jakaumaa jne.

Etherloadin käyttö on hyvin yksinkertaista. Näytön yläreunassa on koko ajan esillä ne valinnat, joita kussakin tilanteessa voi tehdä.

5.3 Verkon turvallisuus

Verkon turvallisuuden varmistamisella halutaan estää asiattomien henkilöiden pääsy käsiksi laitteisiin, joihin heillä ei ole lupaa.

5.3.1 Tcpd

Tcpd on ohjelma, jolla voidaan tarkistaa, että yhteyspyynnön esittävä laite on todella se laite, joka se väittää olevansa. Sen avulla voidaan myös hyvin yksinkertaisesti määritellä ne laitteet, joilla on oikeus päästä käsiksi Tcpd:tä ajavaan järjestelmään. Toistaiseksi Tcpd on ainoa IP-verkon yhteyksien valvontaan tarkoitettu ohjelma, jonka CERT (Computer Emergency Responce Team) on hyväksynyt ja jota se jakaa ilmaiseksi kaikille halukkaille [Ukkonen].

Tcpd on lähtöisin Alankomaista, Eindhovenin teknillisestä korkeakoulusta (Eindhoven University of Technology), jossa se kehitettiin, kun haluttiin selvittää, kuka ja mistä oli murtautunut eräisiin heidän tietokoneisiinsa [Venema].

Tyypillisessä Unix-järjestelmän TCP/IP-toteutuksessa on prosessi, joka kuuntelee verkosta tulevia palvelupyyntöjä ja käynnistää niiden perusteella haluttua palvelua tarjoavan prosessin. Tcpd toimii siten, että palvelua tarjoavan prosessin sijasta käynnistetään Tcpd, joka tarkistaa, mistä pyyntö on tullut ja mahdollisesti jopa henkilön, jonka tunnuksella pyyntö lähettävästä laitteesta on tullut. Tämän jälkeen kirjoitetaan lokitiedostoon kellonaika, pyydetty palvelu sekä pyynnön esittäjä, ja vasta sitten käynnistetään palvelun tarjoava prosesssi. Näin voidaan seurata, mistä laitteista yhteyksiä on järjestelmään otettu.

Edellisen lisäksi Tcpd on mahdollista konfiguroida siten, että se tarjoaa palveluja vain tietyille laitteille, tai niin, että se kieltäytyy tarjoamasta joillekin tietyille laitteille palvelua. Voidaan esimerkiksi määritellä, että telnet- ja ftp-yhteyksiä sallitaan vain paikallisista, oman organisaation laitteista, mutta finger-palvelut tarjotaan kaikille sitä pyytäville.

5.4 Yksinkertaisia SNMP-työkaluja

Seuraavassa esitetään muutamia SNMP-pohjaisia työkaluja, joita voidaan käyttää hyväksi yksinkertaisissa hallintatehtävissä. Lisäksi joukossa on muutamia hieman kehittyneempiä sovelluksia.

5.4.1 Tricklet

Tricklet on joukko sovelluksia, joiden avulla voidaan tehdä yksinkertaisia SNMP-kyselyitä. Se on tehty Hollannissa, Delftin teknillisessä korkeakoulussa (Delft University of Technology).

Vaikka vastaavia sovelluksia on maailmalla hyvin paljon liikkeellä, eroaa Tricklet-ohjelmisto muista siinä, että sen mukana tulee SNMP-kirjasto Perliä varten. Perl on tulkattava ohjelmointikieli, jota käytetään nykyään hyvin paljon pieniin ohjelmointitehtäviin. Sen ja Trickletin mukana tulevan SNMP-kirjaston avulla on Perl-kielisten ohjelmien tekeminen ja sitä kautta SNMP-hallittavilta laitteilta saatavan tiedon kerääminen erittäin yksinkertaista.

Vaikka SNMP-verkonhallintaohjelmistoihin yleensä sisältyy mahdollisuus kerätä verkossa olevilta laitteilta erilaista informaatiota, ei tätä kerättyä tietoa useinkaan ole kovin helppoa käsitellä. Varsinkin, jos on tarpeen suorittaa eri olioista kerätylle tiedolle laskentaa, voi Perlin avulla yhteen paikkaan kerätty tieto olla helpompi käsitellä kuin verkonhallintaohjelmistojen mekanismeilla kerätty tieto.

Seuraavassa on pieni katkelma Perl-ohjelmakoodia, jonka avulla haetaan cisco Systems:in reitittimeltä sen eri verkkoliityntöjen lähettämien ja vastaanottamien pakettien määrät sekä lähetettäessä havaitut törmäykset.

&snmp_open(1) || die "cannot open a Spook connection\\n";

if ($iniHost ne "") { &snmp_host(1, $iniHost); }

&snmp_connect(1) || die "could not connect to ($iniHost)";

if ($iniComm ne "") { &snmp_community(1, $iniComm); }

@outunicasts = ();

@outnonunicasts = ();

@collisions = ();

@inunicasts = ();

@innonunicasts = ();

&snmp_tbl(1,main'ifoutNcollect,("ifOutUcastPkts[]"));

&snmp_tbl(1,main'ifoutNUcollect,("ifOutNUcastPkts[]"));

&snmp_tbl(1,main'ifCcollect,("locIfCollisions[]"));

&snmp_tbl(1,main'ifinNcollect,("ifInUcastPkts[]"));

&snmp_tbl(1,main'ifinNUcollect,("ifInNUcastPkts[]"));

&write_data;

#

# close the SNMP connection

#

&snmp_disconnect(1);

&snmp_close(1);

Koodin alussa avataan SNMP-yhteys reitittimeen. Sen jälkeen alustetaan muuttujat ja haetaan reitittimeltä SNMP:n avulla halutut tiedot. Lopuksi suljetaan yhteys. Saatu informaatio voidaan kirjoittaa tiedostoon, josta sitä on helppo jatkokäsitellä. Voidaan esimerkiksi laskea suhteellinen törmäysprosentti erilaisilla aikaväleillä jne.

5.4.2 Xsnmp

Xsnmp on yksinkertainen X-ikkunointijärjestelmään tehty sovellus, jonka avulla voidaan havainnollistaa verkon loogista rakennetta ja tarkkailla verkossa olevien laitteiden tilaa. Se on tehty Yhdysvalloissa, Kalifornian yliopistossa (Geography Department, University of California, Santa Barbara).

Xsnmp:n käyttöliittymä voi näyttää esimerkiksi seuraavanlaiselta (kuva 18).

Kuvan keskellä on reititin (hutnet-gw), johon on liitetty aliverkkoja ja niissä olevia laitteita. Xsnmp osaa esittää laitteet ja niiden väliset yhteydet IP-osoitteiden mukaan. Se ei osaa itse etsiä laitteita verkosta, vaan kaikki laitteet on käsin lisättävä kuvaan.

Xsnmp ei ole mitenkään täydellinen verkonhallintaohjelmisto, mutta sen avulla on suhteellisen helppo saada yleiskuva pienistä verkkokokoonpanoista.

5.4.3 BTNG

BTNG (Beholder The New Generation) on Hollannissa, Delftin teknillisessä korkeakoulussa (Delft University of Technology) tehty verkon etähallintaan tarkoitettu ohjelmisto.

BTNG toimii OS/2-käyttöjärjestelmän alaisuudessa. Se toteuttaa luvussa 4.5 esitellyn RMON MIB:in kokonaisuudessaan, joten sen avulla voidaan tehdä kaikkea RMON-konseptin mukaista verkonhallintaa SNMP:n avulla. BTNG on erittäin hyvä ohjelmisto, mikäli halutaan tutustua RMON:in käyttöön verkonhallinnassa. Se sopii myös tuotantokäyttöön.

BTNG-ohjelmiston mukana tulee vastaava kirjasto Perl-ohjelmointikieltä varten kuin edellä mainitussa Tricklet-ohjelmistossa. Molemmat ohjelmistot ovat peräisin samasta korkeakoulusta.

5.5 SNMP-verkonhallintaohjelmistoista

Kaupalliset verkonhallintaohjelmistot ovat yleensä hyvin suuria ja monimutkaisia järjestelmiä. Niitä on saatavilla useilta laite- ja ohjelmistovalmistajilta. Tunnetuimpia verkonhallintajärjestelmiä ovat Sun Microsystemsin SunNetManager, Hewlett-Packardin HP OpenView ja IBM:n NetView/6000.

Verkonhallintaohjelmistojen laajuuden vuoksi ei tässä ole mahdollista lyhyestikään kuvata niitä. Sen sijaan voidaan kuvata niitä vaatimuksia, mitä kyseiseille ohjelmistoille tulisi asettaa [Stallings].

Edellisen listan kuvaamista vaatimuksista voidaan todeta sen verran, että nykyiset ohjelmistot osaavat yleensä automaattisesti luoda loogisen kuvan verkosta. Usein niissä on myös mahdollisuus määritellä yksinkertaisia toimenpiteitä, joita suoritetaan, kun jokin verkossa oleva laite lähettää SNMP:n Trap-viestin. Kaikissa ohjelmistoissa on graafinen käyttöliittymä, joka on yleensä UNIX-järjestelmissä tehty X-ikkunointijärjestelmään.

Seuraava luku