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].

Šiuo metu Jūs matote 31% šio straipsnio.
Matomi 2477 žodžiai iš 8068 žodžių.
Peržiūrėkite iki 100 straipsnių per 24 val. Pasirinkite apmokėjimo būdą:
El. bankininkyste - 1,45 Eur.
Įveskite savo el. paštą (juo išsiųsime atrakinimo kodą) ir spauskite Tęsti.
SMS žinute - 2,90 Eur.
Siųskite sms numeriu 1337 su tekstu INFO MEDIA ir įveskite gautą atrakinimo kodą.
Turite atrakinimo kodą?
Po mokėjimo iškart gausite atrakinimo kodą, kurį įveskite į laukelį žemiau:
Kodas suteikia galimybę atrakinti iki 100 straispnių svetainėje ir galioja 24 val.