Tinklu duomenu srautu analize
5 (100%) 1 vote

Tinklu duomenu srautu analize

1. Įvadas 6

2. Analitinė apžvalga 8

2.1. Duomenų srautų informacijos surinkimo metodai 8

2.2. Eksportuojamų duomenų saugojimo ir analizės priemonės 14

2.3. Duomenų paruošimas vartotojui 17

3. Specifikacija 19

3.1. Projektuojamas objektas 19

3.2. Objekto paskirtis 19

3.3. Vykdomos funkcijos 19

3.4. Reikalavimai aparatūrinei posistemei 19

3.5. Reikalavimai informacinei posistemei 20

3.6. Reikalavimai vartotojo sąsajai 20

3.7. Reikalavimai programinei įrangai 21

3.8. Reikalavimai sistemos aptarnavimui 21

3.9. Reikalavimai dokumentacijai 22

4. Aparatūrinė posistemė 23

4.1. Aparatūrinės posistemės struktūrinė schema 23

4.2. Aparatūrinės įrangos parinkimas ir pagrindimas 24

4.2.1. Srautą generuojantis įrenginys 24

4.2.2. Srautą priimantis ir analizuojantis įrenginys 24

4.2.3. Asmeninis kompiuteris 25

4.2.4. Papildoma tinklo įranga 25

4.2.4.1. Generuojančio ir analizuojančio įrenginų sujungimas 26

4.2.4.2. Kitų komponentų sujungimas 26

4.2.4.3. Jungčių elementai ir kiti papildomi įrankiai 26

4.2.5. Nepertraukiamos srovės šaltinis 27

4.3. Kompiuterinės sistemos architektūros parinkimas 27

4.4. Kompiuterinio tinklo jungimas 27

4.4.1. Kompiuterinio tinklo topologijos parinkimas 27

4.4.2. Kompiuterinio tinklo planas 27

5. Informacinė posistemė 28

5.1. Informacijos srautų analizė ir projektavimas 28

5.1.1. NetFlow duomenų kaupimas 30

5.1.2. Pirminis NetFlow srautų apdorojimas 31

5.1.3. Antrinis NetFlow srautų apdorojimas 32

5.1.4. Ataskaitų pateikimas 34

5.1.4.1. Realaus laiko ataskaitos 35

5.1.4.2. Laiko juostos ataskaitos 37

5.2. Duomenų bazės projektavimas 38

5.2.1. Duomenų bazės lentelės 39

5.2.2. Lentelių laukelių reikšmės 39

6. Vartotojo sąsajos posistemė 41

6.1. Vartotojo sąsajos funkcijos 42

6.2. Vartotojo sąsajos planas 42

6.2.1. Realaus laiko posistemė 43

6.2.1.1. Realaus laiko posistemės schema 43

6.2.1.2. Realaus laiko posistemės vartotojo sąsaja 43

6.2.2. Laiko juostos posistemė 47

6.2.2.1. Laiko juostos posistemės schema 47

6.2.2.2. Laiko juostos posistemės vartotojo sąsaja 48

6.2.3. Archyvo peržiūros posistemė 51

7. Eksperimentinė dalis 52

7.1. Srautų duomenų saugojimo naudojant DBVS eksperimentas 52

7.1.1. Duomenų bylų apdorojimo programos eksperimentas 52

7.1.1.1. Duomenų bylų analizės srautams Lietuvoje eksperimentas 53

7.1.2. Duomenų kėlimo į MySQL DB eksperimentas 53

7.1.2.1. Lietuvos srautų duomenų kėlimo į DB eksperimentas 54

7.1.3. Programų apjungimo eksperimentas 54

7.1.3.1. Apjungimo programos „afprt“ eksperimentas 55

7.2. Eksperimento rezultatai 56

8. Išvados Error! Bookmark not defined.

9. Literatūros sąrašas 58

Anotacija

Darbo tikslas sukurti vieningą kompiuterinių tinklų duomenų srautų stebėjimo ir analizės sistemą LitNET akademinio tinklo valdymo centrui. Sistemos tikslas yra pateikti duomenų srautų ataskaitas vartotojui parankiu būdu, atspindėti padėtį tinkle bei saugoti tinklo srautų duomenis nuoseklesnei analizei.

Annotation

The main goal of this project is to create one centrialized system, developed to track computer data network flows for LitNET academical networks NOC. The main aim for this system is to represent network state in easy understandable form, reflect the situation in network and store data flows for further analysis.

1. Įvadas

Interneto paslaugų tiekimu užsiimančioms organizacijoms aktuali problema yra duomenų, kuriuos siunčia ir gauna klientai, apskaita. Šis projektas yra skirtas duomenų srautų analizei bei jų pateikimui vartotojui. Organizacija, kuriai yra ruošiamas projektas, yra LitNET (Lietuvos mokslo ir studijų kompiuterių tinklas). Turint didelį tinklą (šiuo atveju išdėstytą visoje Lietuvos Respublikos teritorijoje), aktualu žinoti, kokį duomenų srautą sunaudoja viena ar kita organizacija, universitetai, jų padaliniai ar mokyklos, kurios taip pat prijungtos prie LitNET tinklo.

LitNET tinklas įsteigtas 1991 metais ir šiuo metu jis pilnai funkcionuoja. Ruošiant projektą reikia išanalizuoti esamą tinklo struktūrą ir įvertinti jo galimybes tam, kad pilnai ir efektyviai išnaudoti dabartinę infrastruktūrą bei, minimaliai ją pakeičiant, pritaikyti duomenų srautams matuoti ir rezultatam apdoroti. Naudojantis analizės rezultatais, reikia atrasti tinkamiausią mechanizmą, parinkti bei suderinti tarpusavyje atitinkamas technologijas jam įgyvendinti.

Pirmiausia reikia parinkti duomenų srautų eksportavimo metodą bei technologiją ar Interneto protokolus, kuriuos naudos sistema tarnybiniams duomenims perduoti. Visa tai ir papildomos duomenų surinkimo programinės įrangos parinkimas aprašoma analitinėje apžvalgoje. Tinklo plėtra, atnaujinimas, naujų protokolų diegimas bei kiti patobulinimai neturi įtakoti sistemos darbą, todėl parenkamas standartizuotas, visuotinai pripažintas ir nuolat tobulinamas metodas. Jis taip pat minimaliai išnaudoja aparatūrinės įrangos bei tinklo pralaidumo resursus, kad kuo mažiau įtakoti viso tinklo darbą. Surinkimui naudojama programinė įranga parenkama taip, kad jos galimybių pakaktų sistemai realizuoti, tačiau ji nebūtų per sudėtinga ir tokiu būdų būtų naudojama kuo mažiau duomenis apdorojančios įrangos resursų. Parenkant programinę įrangą taip pat atsižvelgiama į jos kainą, todėl geriausia įranga – nemokama įranga.

Srautų matavimo duomenis reikia
išgauti iš tuos srautus maršrutizuojančių bei komutuojančių įrenginių. Srautų informacijos saugojimui ir apdorojimui taip pat naudojama specifinė aparatūrinė įranga. Visi šie sistemos elementai bei pati tinklo jungimo schema aptariami aparatūrinės posistemės projekte. Aparatūrinė įranga ir tinklo struktūra parenkama taip, kad tenkintų atitinkamo eksportavimo metodo įdiegimui keliamus reikalavimus. Aparatūra ir tinklo topologija yra suderinama su visais metodo pritaikymui reikalingais Interneto standartais. Informaciją surenkančios aparatūrinės įrangos techniniai parametrai parenkami taip, kad serveris būtų pakankamai spartus ir atliekant analizę nebūtų užlaikymų.

Už metodo ir eksportuojamų duomenų saugojimą, specifikacijos sudarymą bei specifinės aparatūros parinkimo projektą atsakingas projekto bendraautorius Vytautas Bruzgulis.

Informacija apie praėjusius duomenų srautus turi būti surenkama, išanalizuojama ir saugoma. Informacinės posistemės projekte aprašoma viskas, kas susiję su analizuojamos informacijos apdorojimu ir saugojimu. Surenkamų duomenų formatą reglamentuoja pasirinktas srautų eksportavimo metodas, todėl jis tiesiogiai įtakoja ir analizavimo mechanizmą. Pagal pradinį formatą išrenkama reikalinga informacija ir vėliau patalpinama į duomenų struktūras, kurių turinys analizuojamas ir sistemizuojamas. Galutinė informacija išsaugoma taip, kad vėliau ją būtų galima patogiai pasiimti, todėl saugojimui naudojama duomenų bazė. Jos struktūra parenkama taip, kad išrinkti reikiamus duomenis būtų patogu ir tai reikalautų kuo mažiau sistemos resursų.

Išsaugotus rezultatus reikia pateikti jais besidominčiam vartotojui, jam patogia forma, todėl reikalinga nesudėtinga ir kartu daug galimybių leidžianti vartotojo sąsaja, kurios projektas pateikiamas vartotojo sąsajos dalyje. Ataskaitų pateikimo vartotojui mechanizmas projektuojamas kuo mažiau priklausomas nuo vartotojo naudojamos aparatūrinės bei programinės įrangos, operacinės sistemos. Vartotojas turi galimybę keisti užklausos parametrus ir kuo lanksčiau manipuliuoti gautais rezultatais, kaip to reikalaujama specifikacijoje.

Eksperimentinėje dalyje aprašoma vienos konkrečios projekto funkcijos realizacija su konkrečiais duomenimis ir laukiamais konkrečiais rezultatais. Vykdomas pirminės duomenų analizės ir eksportavimo į duomenų bazę eksperimentas.

Eksportuojamos informacijos surinkimą, saugojimą, pateikimą vartotojui bei eksperimentinę dalis atliko projekto bendraautorius Vaidotas Januška.

2. Analitinė apžvalga

Tinklų duomenų srautų analizės ir apskaitos sistema atlieka keletą pagrindinių funkcijų: duomenų srautų informacijos surinkimas, jos analizė, apdorojimas, saugojimas ir pateikimas vartotojui. Įgyvendinant tokią sistemą, svarbiausia yra teisingai parinkti reikiamas technologijas, įgalinančias atlikti kiekvieną funkciją bei optimaliai jas visas sujungti į vientisą mechanizmą.

Sistemos funkcijoms atlikti reikalingi trys pagrindiniai komponentai: duomenų srautų informaciją eksportuojantis įrenginys, šią informaciją priimantis, apdorojantis, saugojantis bei pateikiantis vartotojams įrenginys ir vartojo įrenginys, skirtas rezultatų apžvalgai. Visų trijų tipų įranginių skaičius gali būti didesnis, negu vienas, todėl esant reikalui, informacija turi būti atitinkamai paskirstyta tarp jų, kad išvengti pakartotino tos pačios informacijos apdorojimo [CESNET].

2.1. Duomenų srautų informacijos surinkimo metodai

Norint gauti informaciją apie tinklu praėjusius duomenų srautus, reikalingas metodas jai apskaičiuoti bei perduoti iš srautus praleidinėjančio įrenginio į informaciją surenkantį.

Kolkas vienas iš populiariausių metodų, naudojamų tinklo resursų panaudojimui įvertinti yra serverių ir terminalų žurnalų failų analizavimas. Šis metodas nors ir populiarus, turi svarbų trūkumą: jo taikymas apribotas atitinkamų tinklo elementų registravimo galimybių. Be to, registracijos žurnalai nesuteikia galimybės įvertinti paslaugų diferenciacijos. Taigi, toks būdas nėra pakankamai lankstus šiuolaikinėms tinklo topologijoms ir paslaugų įvairovei analizuoti [IPmeter].

Šiuo metu Internete vyrauja dviejų tipų tinklo stebėjimo bei analizės metodologijos: aktyvi ir pasyvi [SLAC].

Aktyviai stebint tinklo parametrus, į tinklą įterpiami testiniai paketai arba tokie paketai siunčiami serveriams bei aplikacijoms. Pagal juos vėliau yra atliekami matavimai ir gaunama informacija apie tinklo būklę. Toks metodas sukuria papildomą srautą, todėl tikrasis pralaidumas arba jo parametrai nėra korektiški . Aktyvų metodą tikslinga naudoti tuo atveju, kai reikia pamatuoti tinklo pralaidumo parametrus [SLAC]. Šio projekto esmė yra matuoti tinklu praėjusių duomenų kiekius, todėl aktyvų metodą naudoti netikslinga. Be to, aktyvaus metodo sukurtas papildomas srautas turės įtakos bendram srauto kiekiui, o tai nėra pageidautina šioje situacijoje.

Pasyvios metodologijos esmė yra ta, kad įrenginiai, naudojami srautams stebėti, nesikiša į paties srauto tėkmę, o tiesiog analizuoja arba tiesiog skaičiuoja praeinančius paketus. Tokie įrenginiai gali būti specialios paskirties įrenginiai, kaip pvz. paketų gaudiklis (Sniffer), arba jie gali būti įterpiami į sudėtingesnius įrenginius, kaip maršrutizatorius, komutatorius ar net
galinius įrenginius. Tokiems matavimams yra sukurtos specialios technologijos, populiariausios iš kurių yra puotolinis stebėjimas RMON, paprastas tinklo stebėjimo protokolas (SNMP) bei NetFlow. Pasyviai apklausiant įrenginius nekuriami papildomi tinklo srautai, todėl jų poveikis yra minimalus [SLAC].

Tokio tipo metodus rekomenduojama naudoti norint surasti problemas tinkle (pvz. identifikuoti neveikiančius tinklo segmentus) bei tinklu praėjusios informacijos kiekiams matuoti [SLAC]. Taigi, pasyvaus matavimo metodologija geriau atitinka sistemai keliamus reikalavimus.

2.1.1. RMON metodas

Nuotolinis valdymas (Remote MONitoring) – tai standartizuotas tinklo monitoringo protokolas, įgalinantis įvairių tinklo įrenginių apsikeitimą tinklo stebėjimo informacija su monitoringo sistemomis. RMON suteikia tinklo administratoriams laisvės pasirenkant tinklo valdymo užklausas pagal tai, kokio tipo informacijos apie tinklą jie nori. [RMON]

RMON specifikuotas jo vartotojų bendruomenės padedant IETF. 1995 metais jis tapo standartu, kaip RFC 1757. Pirmojoje RMON versijoje buvo numatytos devynios tinklo parametrų, kurios paprastai reikalingos adminstratoriams, grupės [RMON].

Pagrindinis RMON trūkumas yra tai, kad jis nepateikia labai reikalingos informacijos apie tinklo OSI lygmenį (Network Layer) [RMON2].

1997 metais išleistas RFC 2021 specifikuoja naują, antrąją RMON versiją, kuri praplečia senąjį standartą dešimčia naujų grupių, nurodančių, kaip gauti duomenis iš tinklo lygmens [RMON2].

Nors antroji RMON versija ir suteikia žymiai daugiau galimybių matuoti įvairius tinklo parametrus, jos darbo mechanizmas išliko toks pats, kaip ir pirmosios versijos, t.y. užklausti įmanoma tik apibrėžtų grupių tipo informacijos [RFC2021].

Nors RMON specifikacijoje ir yra numatyti būdai dalinai matuoti ir apsikeisti informacija apie individualaus IP adreso sugeneruotus duomenų srautus, ateityje to gali nepakakti, todėl renkantis RMON metodą gali atsirasti sunkumų sprendžiant su tinklo praplečiamumu bei naujų technologijų diegimu susijusias problemas.

2.1.2. SNMP metodas

Paprastas Tinklo Valdymo Protokolas (SNMP) – tai aplikacijų lygmens protokolas, kuris palengvina valdymo informacijos apsikeitimą tarp tinklo įrenginų. Šis protokolas priklauso perdavimo kontrolės protokolo/Interneto protokolo (TCP/IP) protokolų šeimai. SNMP leidžia tinklo administratoriams valdyti tinklo našumo parametrus, rasti ir spręsti problemas tinkle bei planuoti tinklo praplėtimą [CISCO-SNMP].

Tinklo valdymo sistema, paremta SNMP sudaryta iš dviejų pagrindinių elementų tipų: vadovų ir agentų. Vadovas – tai tarsi valdymo pultas, kurio pagalba tinklo administratorius atlieka tinklo valdymo funkcijas. Agentai suteikia prieigą prie konkretaus įrenginio, kuris yra valdomas per atitinkamą sąsają. Valdomi įrenginiai: komutatoriai, maršrutizatoriai, serveriai bei kita įranga turi parametrų rinkinius, vadinamus objektais. Objektais gali būti techninės įrangos, konfigūraciniai, našumo ar kitos statistikos parametrai bei kita, kas tiesiogiai susiję su konkretaus įrenginio darbu. Šie objektai yra surūšiuoti bei išdėstyti virtualioje duomenų bazėje, vadinamoje valdymo informacijos baze (MIB). SNMP suteikia galimybę vadovams ir agentams komunikuoti, tam, kad apsikeisti valdymo informacijos bazėje esančių objektų reikšmėmis [SNMP-ARCH].

2.1 pav. SNMP architektūra

Siekiant padaryti SNMP kuo paprastesniu protokolu, į jo standartinę specifikaciją įtraukta ribota komandų ir atsakymų aibė. Valdančioji sistema, norėdama gauti konkretaus objekto arba jų aibės reikšmes, siunčia komandą Get arba GetNext. Norint pakeisti kokio nors objekto reikšmę, iš valdančiosios sistemos reikia siųsti komandą Set.Valdomas agentas gali siųsti įvykio pranešimą (trap) valdančiajai sistemai, taip nurodydamas iš anksto apibrėžtos sąlygos tenkinimą, pvz.: viršijus atitinkamo parametro nustatytą maksimalią leistiną reikšmę. Pagrindinės penkios SNMP operacijos yra tokios [SNMP-ARCH]:

• get (objekto reikšmės gavimo užklausa)

• get next (paeiliui einančių objektų aibės reikšmių gavimo užklausa)

• get response (atsakymas į get arba get next užklausas)

• set (objekto reikšmės pakeitimo operacija)

• trap (asinchroninė pranešimo siuntimo operacija)

SNMP užklausoms siųsti naudojama TCP/IP protokolų šeima. Kadangi SNMP negarantuoja patikimo duomenų persiuntimo, užklausoms naudojamas vartotojo datagramų transportinio lygmens protokolas (UDP). Pagrindinės SNMP transportavimo sąvybės [SNMP-ARCH]:

• Agentai klausosi UDP 161 porto

• Atsakymai siunčiami atgal užklausiusiajai valdančiajai sistemai iš dinamiškai parinkto porto, bet dauguma agentų tam taip pat naudoja 161 portą.

• Didžiausias SNMP pranešimas gali būti ne didesnis, kaip didžiausias UDP paketas (65507 baitai)

• Visi SNMP siunčiami paketai turi būti ne mažesni, kaip 484 baitai

• Asinchroniškai siunčiami įvykių pranešimai gaunami per 162 portą.

• UDP paketai tinkamesni tokiems persiuntimams, negu TCP, nes UDP reikalavimai tinklui yra minimalūs

• Tiek agentai, tiek valdančios sistemos yra patys atsakingi už klaidų kontrolę ir atstatymą

SNMP, kaip ir kitų Interneto srautus reguliuojančių protokolų standartus sudarinėja Interneto inžinerijos užduočių grupė (IETF) [SNMP]. Šiuo
IETF yra standartizavusi tokias SNMP versijas:

• SNMP versija 1 (SNMPv1) yra dabartinė standartinė SNMP versija. Ji aprašyta RFC 1157 ir yra galutinis IETF standartas [SNMP].

• SNMP versija 2 (SNMPv2) dažnai vadinama bendrijų eilutėmis paremtu SNMP. Techniškai ši SNMP versija vadinama SNMPv2c. Standartas aprašytas dokumentuose: RFC 1905, RFC 1906 ir RFC 1907 [SNMP].

• SNMP versija 3 (SNMPv3) yra naujausia SNMP versija. Ji standartizuota dokumentuose: RFC 2271, RFC 2272, RFC 2273, RFC 2274 ir RFC 2275 [SNMPv3-RFC].

Tiek 1 ir 2 SNMP versijos yra pakankamai panašios, tačiau SNMPv2 turi keletą naujų patobulinimų, tokių kaip papildomos protokolo operacijos (get bulk, notification, inform, report). SNMPv3 be viso to yra pagerintos saugumo bei nuotolinio konfigūravimo galimybės [SNMP-DIFF].

SNMP, kaip protokolas, teikia visas galimybes pilnaverčiam tinklo (tame tarpe ir jo pralaidumo) stebėjimui: protokolas paprastas (tarnybiniais pranešimais tinklas apkraunamas minimaliai, greitas apsikeitimas duomenimis, ribota užklausų tipų aibė nesąlygoja painiavos), tiek sinchroninių, tiek asinchroninių užklausų buvimas suteikia galimybę sukurti praktiškai bet kokio tipo duomenų apsikeitimą, SNMPv3 saugumo patobulinimai užtikrina, kad duomenų negalės suklastoti tretieji asmenys, egzistuoja nemokamų SNMP produktų, įskaitant ir paties protokolo realizacijas. Tačiau protokolas turi ir neigiamų sąvybių: UDP transportas, nors ir greitas, negarantuoja patikimo duomenų perdavimo, todėl jie gali būti ir prarandami, asinchroninių pranešimų mechanizmas nėra pakankamai lankstus, SNMP sukurtas kuo platesniam panaudojimui, todėl norint jį pritaikyti specializuotoms užduotims, reikės daugiau resursų, nei naudojant specializuotas aplikacijas ar protokolus.

2.1.3. NetFlow metodas

NetFlow technologija suteikia bazines galimybes matavimams atlikti, įskaitant tinklo srautų apskaitą, tinklo paslaugų apmokestinimą konkrečiam vartotojui, tinklo planavimą, paskirstytų paslaugos draudimo (DDOS) atakų stebėjimą, tinklo stebėjimą tiek paslaugų tiekėjams, tiek klientams. NetFlow teikia vertingą informaciją apie tai, kas naudojasi tinklu, kokios programos naudojamos, kada tinklas išnaudojamas ir kokie srautai perduodami [NETFLOW].

Tinklo srovė (flow) – tai viena kryptimi nuo konkretaus siuntėjo iki konkretaus gavėjo praėjusių duomenų paketų seka. Tinklo srovės identifikuojamos pagal siuntėjo ir gavėjo IP adresus bei transportinio lygmens protokolo portų numerius. NetFlow taip pat panaudoja IP protokolo tipo, paslaugos tipo (ToS) ir sąsajos, per kurią gaunami duomenys identifikatoriaus laukus, srovėms identifikuoti [NETFLOW1].

Nepalaikantys NetFlow tinklo įrenginiai kiekvieną atėjusį paketą analizuoja atskirai. NetFlow pagalba, įvairūs parametrai taikomi tik pirmajam srovės paketui. Iš pirmojo paketo gauta informacija yra panaudojama NetFlow atsargos atminties įrašui sudaryti. Po to sekantys tos pačios srovės paketai apdorojami pagal vieną ir tą pačią politiką, taip mažiau apkraunant tinklo įrenginį [NETFLOW1].

Naudojant NetFlow galima realizuoti keletą svarbių klientams aplikacijų [NETFLOW1]:

• Apskaita/Apmokestinimas – NetFlow duomenys leidžia atlikti tikslius matavimus (informaciją apie srovę sudaro IP adresai, paketų ir baitų kiekiai, laiko žymės, paslaugos tipo numeris, portų numeriai ir kt.) lanksčiai ir detalizuotai resursų panaudojimo apskaitai. Paslaugų tiekėjai gali panaudoti šio tipo informaciją pereinant nuo vienodo apmokestinimo prie sudėtingesnių apmokestinimo mechanizmų, paremtų dienos laiko, pralaidumo panaudojimo, konkrečios programos panaudojimo, paslaugos kokybės ir kt. Parametrų apmokestinimo. Verslo įmonės gali panaudoti šio tipo informaciją atskirų departamentų apmokestinimui arba atskirų resursų panaudojimo kaštams skaičiuoti.

• Tinklo planavimas ir analizė – NetFlow duomenys suteikia svarbią informaciją sudėtingiems įrankiams, kaip pvz. Netsys, kad optimizuoti tiek strateginį tinklo planavimą (su kuriais kaimynais sudarinėti tarpusavio ryšius, pagrindinio tinklo planavimą, maršrutizavimo politikos planavimą), tiek taktinius tinklo inžinerijos sprendimus (pvz. linijos pralaidumo padidinimas) – taip minimizuojant visą tinklo valdymo kainą bei padidinant tinklo našumą, pralaidumą ir patikimumą.

• NetFlow monitoringas – NetFlow duomenys suteikia galimybes ilgalaikam, artimam realaus laiko monitoringui. Srovėmis paremti analizės metodai gali būti naudojami, kad grafiškai pavaizduoti tiek susijusius su individualiais maršrutizatoriais srautus, tiek viso tinklo srautus, taip palengvinant galimų problemų atpažinimą.

• Aplikacijų monitoringas ir profiliavimas – NetFlow duomenys leidžia tinklo administratoriams gauti detalų konkrečių programų panaudojimo tinkle vaizdą atitinkamu laiko intervalu. Šią informaciją paslaugų tiekėjai gali panaudoti planuodami priskirti programoms tinklo resursų (pvz. žiniatinklio serverio dydžiui ir buvimo vietai priskirti).

• Vartotojų monitoringas ir profiliavimas – Netflow duomenis tinklo administratorius gali panaudoti, norėdamas sužinoti kiek tinklo resursų sunaudoja kiekvienas jo vartotojas. Tokia informacija vėliau galima panaudoti planuojant ir priskiriant prieigos prie tinklo parametrus bei potencialioms saugumo skylėms atrasti ir sutvarkyti.

• NetFlow
duomenų saugojimas – NetFlow duomenis galima saugoti archyve vėlesniam išgavimui ir analizei. Tai įpač naudinga Interneto paslaugų tiekėjams, kadangi NetFlow duomenys leidžia jiems nuodugniai tirti savo tinklą. Be to, NetFlow duomenys suteikia Interneto rinkos tyrėjams galimybę sužinoti, „kas“, „ką“, „kada“ ir „kiek laiko“ darė tinkle.

NetFlow metodas yra parinktas kaip standartinis Interneto monitoringo ir apskaitos metodas. Šiuo metu IETF yra suformuota darbo grupė, kuri tobulina IPFIX protokolą, paremtą NetFlow metodu [IPFIX].

IPFIX srovių informacija yra skelbiama nepertraukiamai ir nesinchroniškai. Kai konkreti srovė pasibaigia, informacija apie ją yra išsiunčiama specialiai nurodytam kolektoriui. Procesas yra vienkryptis, t.y. eksportuotojas nežino, ar kolektorius gavo jo siunčiamą informaciją. Tai sutaupo tinklo resursus, tačiau esant labai apkrautam tinklui dėl to galimas srovių informacijos praradimas. IPFIX srovių informaciją perduoda UDP transportiniu protokolu. Principinė IPFIX architektūros schema atrodo taip [IPFIX]:

2.2 pav. IPFIX architektūra

NetFlow metodas nuo pat jo sukūrimo buvo vystomas atsižvelgiant į tinklo apskaitos ir monitoringo reikalavimus. Jis sukurtas, kad naudotų kiek galima mažiau tinklo ir jo įrenginių resursų, teikiama informacija leidžia susidaryti pilnavertį įspūdį apie konkrečiu laiko momentu esančią situaciją tinkle, atitinkamai keisti tinklo nustatymus, planuoti jo plėtimąsi bei analizuoti galimus probleminius segmentus. NetFlow duomenų paketo struktūra parinkta atsižvelgiant į tai, kad juose esanti informacija bus ne tik analizuojama, bet ir archyvuojama, todėl NetFlow tikslinga naudoti ilgo laiko tinklo analizės sistemose [NetFlow1].

2.1.4. Išvada

Projektuojamai duomenų srautų analizės sistemai tikslingiausia naudoti NetFlow metodą. Jis sukurtas ir pritaikytas būtent tokio tipo sistemoms, todėl atitinka visus funkcinius reikalavimus. Jis pakankamai paprastas, todėl neapkrauna tiek tinklo, tiek jo įrenginių, o minimalus tarnybinis srautas užtikrina, kad srautų matavimai bus tikslūs. Jis turi didelį įvairių tinklo parametrų rinkinį, todėl gali būti nesunkiai praplečiamas, atsiradus naujiems tinklo analizės reikalavimams. Jo duomenų tipai sumodeliuoti taip, kad srautų informaciją būtų patogu ir optimalu saugoti vėlesniai analizei, o projektuojamoji sistema kaip tik ir atlikinės tokio tipo analizę.

2.2. Eksportuojamų duomenų saugojimo ir analizės priemonės

Parinkus duomenų eksportavimo mechanizmą, sekantis etapas yra gaunamų duomenų saugojimas bei analizė. Šiam tikslui reikia parinkti su eksportuojamais duomenimis suderinamą programinę įrangą. Projektas yra ruošiamas pelno nesiekiančiai organizacijai, todėl geriausia būtų pasinaudoti atviro kodo programine įranga.

2.2.1. Caida‘os programa Cflowd

Programa Cflowd skirta Cisco Catalyst maršrutizatorių eksportuojamiems srautams kaupti. Tai atviro kodo programinis paketas. Jis sudarytas iš pagrindinių surinkimo, saugojimo ir analizės modulių ir naudoja arts++ bibliotekų rinkinį. Šis paketas leidžia surinkti eksportuojamus duomenis, juos analizuoti ir pagal rezultatus planuoti tinklo plėtrą arba stebėti statistikas. Taip pat cflowd leidžia pagal gaunamus NetFlow duomenis tirti saugumo incidentus, atsekant konkrečias sroves [CFLOWD].

Principinė cflowd veikimo schema pavaizduota 2.3 paveiksle.

2.3 pav. Paketo Cflowd veikimo schema

Cflowd duomenų kaupimas yra realizuojamas dviejomis pakopomis. Pirmoji pakopa renka UDP protokolu siunčiamus duomenis atskiruose mazguose ir juos akumuliuoja. Antrojoje pakopoje surinkti duomenys tam tikrais laiko intervalais perduodami TCP protokolu ir išsaugomi diskuose [CFLOWD].

2.2.2. Mark Fullmer’io Flow-tools paketas

Flow-Tools – taip pat atviro kodo paketas, kuris gali kaupti bei dalinai analizuoti eksportuojamus srautus. Flow-tools gali apdoroti NetFlow informaciją, generuojamą Cisco ir Juniper maršrutizatorių. Paketo įdiegimui užtenka standartinių Linux OS bibliotekų [FLOW-TOOLS].

Principinė šio paketo veikimo schema pavaizduota 2.4 paveiksle.

2.4 pav. Paketo Flow-tools veikimo schema

Tiek duomenų kaupimo, tiek saugojimo funkcijos atliekamos tame pačiame mazge (vienos pakopos procesas). Duomenų surinkimas vykdomas realiu laiku tiesiai iš eksportuojančių įrenginių.Transportui naudojamas UDP protokolas.

2.2.3. Cisco produktas CiscoWorks

Šis Cisco siūlomas standartinis paketas be viso kito skirtas ir eksportuojamų duomenų saugojimui bei analizei, tačiau jis yra mokamas ir net nėra galimybės jį realiai išbandyti [CISCOWORKS].

2.2.4. Išvada

CiscoWorks programinis paketas yra mokamas bei apie jį nėra pakankamai informacijos, todėl jis netinka šio projekto įgyvendinimui.

Cflowd programinis paketas reikalauja dviejų pakopų – tai papildomi resursai. Šiam paketui reikalingos papildomos arts++ bibliotekos, o tai reiškia, jog sistemos migracijos metu gali kilti papildomų problemų. Galutiniam duomenų surinkimui naudojamas TCP protokolas, kuris yra žymiai lėtesnis ir labiau apkraunantis tinklą, nei UDP. Pirminių duomenų rinkimas vykdomas tam tikrais laiko intervalais, todėl negalima turėti realiu laiku surinktų duomenų.

Flow-tools paketas yra lankstus, nereikalauja papildomų bibliotekų. Duomenys kaupiami realiu laiku tiesiai
eksportuojančių įrenginių. Siuntimui naudojamas UDP protokolas, kuris įgalina greitesnį apdorojimą ir mažesnį tinklo apkrovimą, lyginant su TCP. Duomenų kaupimui naudojama viena pakopa, todėl reikia mažiau resursų. Taip pat šis programinis paketas turi labai lankstų saugojimo mechanizmą, daug dalinei analizei skirtų pagalbinių programėlių bei saugojimui naudoja suspaudimo algoritmus.

Labiausiai užduotyje keliamus reikalvimus atitinka, Flow-tools programinis paketas, kuris yra ir nemokamas.

Paketų savybių apibendrinimas pateiktas 2.1 lentelėje.

2.1 lentelė.Duomenų srautų kaupimo ir analizės programinių paketų savybių palyginimas

Charakteristika Programinio paketo pavadinimas

Cflowd Flow-tools CiscoWorks

Licencija Nemokamas Nemokamas Mokamas

Naudojami protokolai UDP,TCP UDP Nepakanka duomenų

Duomenų surinkimas dviejų pakopų vienos pakopos

Duomenų surinkimo intervalai nustatytais laiko intervalais realaus laiko surinkimas

Papildomi reikalavimai sistemai arts++ biblioteka nėra

Filtravimo mechanizmas yra yra

2.3. Duomenų paruošimas vartotojui

Pasirinktas Flow-tools paketas atlieka saugojimą ir dalinę analizę (reikalingos informacijos filtravimo funkciją), tačiau užduoties realizavimui tokios analizės nepakanka. Pilnai analizei atlikti reikalinga papildoma programinė įranga kurią reikės sukurti. Išanalizuotų duomenų saugojimui geriausia naudoti DBVS (duomenų bazės valdymo sistemą). Čia vėlgi reikėtų atkreipti dėmesį į tai, jog organizacija, kuriai ruošiamas projektas, nėra pelno siekianti, todėl geriausia jog DBVS būtų atviro kodo programa.

Iš populiariausių nemokamų DBVS, veikiančių SQL pagrindu, optimaliausia yra MySQL [MYSQL]. Ji yra paprasta, lengvai administruojama ir lanksti konfigūracijai (norint pasiekti optimaliausią našumą, nereikia daug pastangų).

3. Specifikacija

3.1. Projektuojamas objektas

Mūsų projektuojamas objektas – duomenų registravimo ir analizės sistema, paremta NetFlow technologija.

3.2. Objekto paskirtis

Pagrindinė projektuojamo objekto paskirtis – tinklo srauto duomenų, teikiamų NetFlow protokolu, kaupimas, analizavimas ir pateikimas vartotojui priimtna forma.

3.3. Vykdomos funkcijos

Pagrindinės funkcijos, kurias turės vykdyti objektas, yra:

• Pirminis duomenų surinkimas iš eksportuojančio įrenginio.

• Surinktų duomenų analizė.

• Duomenų valdymas.

• Duomenų pateikimas vartotojui.

3.4. Reikalavimai aparatūrinei posistemei

Pagrindiniai reikalavimai aparatūrinei posistemei yra:

• Bent vienas įrenginys, generuojantis ir NetFlow protokolu sugeneruotus duomenis eksportuojantis į tinklą, prie kurio yra prijungtas. Tai gali būti Cisco Catalyst, palaikantis NetFlow arba maršrutizatorius su įdiegta Linux operacine sistema bei nemokama NetFlow eksportuojančia programine įranga.

• Bent vienas įrenginys, surenkantis NetFlow protokolu išsiųstą informaciją iš tinklo, prie kurio yra prijungtas. Tai turėtų būti x86 architektūros kompiuteris, turintis bent vieną 1000 Mbps tinklo plokštę, įvesties bei išvesties įrenginius, reikalingus jam konfigūruoti (klaviatūra, monitorius), papildomo maitinimo šaltinio, bent dviejų kietųjų diskų (kad būtų įmanoma panaudoti RAID technologiją). Šis įrenginys turi turėti galimybę pasiekti generuojantį įrenginį per kompiuterinį tinklą.

• Bent vienas kompiuteris, kuriame galima būtų (per vartotojo sąsają) valdyti analizuojantį įrenginį bei iš jo gauti reikiamą statistinę informaciją. Tai turėtų būti kompiuteris, su pagrindiniais įvesties ir išvesties įrenginiais (klaviatūra, pelė, monitorius, spausdintuvas), bet viena 100MBps tinklo plokšte ir galimybe pasiekti informaciją apdorojantį įrenginį kompiuteriniu tinklu.

• Tinklo įranga, reikalinga sujungti visus aukščiau išvardintus įrenginius. Tai: UTP 5 kategorijos kabelis su antgaliais, jei nėra galimybės sujungti įrenginius tiesiogiai, tarpiniai įrenginiai (koncentratoriai, stiprintuvai, bridžai bei papildomas kabelis ir kištukai), kabelių tvirtinimo priemonės (loveliai, antgaliukai kištukams, laido laikikliai). Taip pat vienmodinis optinis kabelis su antgaliukais (kad prijungti srautą generuojantį įrenginį).

• Bent vienas nepertraukiamos srovės šaltinis (UPS), pakankamai galingas, kad išmaitintų tiek srauto generatorių(s), tiek srauto analizatorių.

3.5. Reikalavimai informacinei posistemei

Pagrindiniai reikalavimai informacinei posistemei yra:

• Nemokama, SQL sintaksę palaikanti duomenų bazė. Tai turėtų būti MySQL duomenų bazė su galimybe ją konfigūruoti optimizavimo tikslams.

Šiuo metu Jūs matote 50% šio straipsnio.
Matomi 4046 žodžiai iš 8068 žodžių.
Siųskite sms numeriu 1337 su tekstu INFO MEDIA (kaina 1,45 €) ir įveskite gautą kodą į laukelį žemiau:
Kodas suteikia galimybę atrakinti iki 100 straispnių svetainėje ir galioja 24 val.