• Nebyly nalezeny žádné výsledky

VYSOK ´E U ˇCEN´I TECHNICK ´E V BRN ˇE BRNO UNIVERSITY OF TECHNOLOGY

N/A
N/A
Protected

Academic year: 2022

Podíl "VYSOK ´E U ˇCEN´I TECHNICK ´E V BRN ˇE BRNO UNIVERSITY OF TECHNOLOGY"

Copied!
37
0
0

Načítání.... (zobrazit plný text nyní)

Fulltext

(1)

VYSOK ´ E U ˇ CEN´I TECHNICK ´ E V BRN ˇ E

BRNO UNIVERSITY OF TECHNOLOGY

FAKULTA INFORMA ˇ CN´ICH TECHNOLOGI´I USTAV PO ˇ ´ C´ITA ˇ COV ´ YCH SYST ´ EM ˚ U

FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS

ADAPTIVN´I VZORKOV ´ AN´I PAKET ˚ U IMPLEMENTOVAN ´ E V SOND ˇ E FLOWMON

BAKAL ´ A ˇ RSK ´ A PR ´ ACE

BACHELOR’S THESIS

AUTOR PR ´ ACE PETR KA ˇ STOVSK ´ Y

AUTHOR

BRNO 2007

(2)

VYSOK ´ E U ˇ CEN´I TECHNICK ´ E V BRN ˇ E

BRNO UNIVERSITY OF TECHNOLOGY

FAKULTA INFORMA ˇ CN´ICH TECHNOLOGI´I USTAV PO ˇ ´ C´ITA ˇ COV ´ YCH SYST ´ EM ˚ U

FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS

ADAPTIVN´I VZORKOV ´ AN´I PAKET ˚ U IMPLEMENTOVAN ´ E V SOND ˇ E FLOWMON

ADAPTIVE SAMPLING OF INPUT PACKETS IMPLEMENTED IN FLOWMON PROBE

BAKAL ´ A ˇ RSK ´ A PR ´ ACE

BACHELOR’S THESIS

AUTOR PR ´ ACE PETR KA ˇ STOVSK ´ Y

AUTHOR

VEDOUC´I PR ´ ACE Ing. JAN KO ˇ RENEK

SUPERVISOR

BRNO 2007

(3)

Abstrakt

V r´amci projektu Liberouter je vyv´ıjena sonda FlowMon urˇcen´a pro pasivn´ı monitorov´an´ı s´ıt´ı. Sonda na rozd´ıl od programov´ych ˇreˇsen´ı poskytuje vysokou stabilitu a pˇresnost v´ysledk˚u i pod nadmˇernou z´atˇeˇz´ıˇci ´utokem. Pro zajiˇstˇen´ı kvality v´ysledk˚u je tˇreba redukovat mnoˇzstv´ı zpracov´avan´ych dat tak, aby nedoˇslo k pˇret´ıˇzen´ı mˇeˇr´ıc´ıho syst´emu. Zp˚usob˚u pouˇz´ıvan´ych ke sn´ıˇzen´ı objemu vstupn´ıch informac´ı existuje cel´a ˇrada. Metoda redukce dat pouˇzit´a v sondˇe FlowMon se naz´yv´a vzorkov´an´ı. Adaptivn´ı vzorkovac´ı jednotka pak zaruˇcuje, ˇze aktu´aln´ı vzorkov´an´ı (pomˇer zpracovan´ych a zahozen´ych paket˚u) se pˇrizp˚usob´ı okamˇzit´emu stavu monitorovan´e s´ıtˇe.

Kl´ıˇcov´ a slova

Liberouter, FlowMon, VHDL, sit’ov´y tok, vzorkov´an´ı, agregace, filtrov´an´ı, adaptivn´ı vzor- kov´an´ı, redukce dat, kolektor, sonda, NetFlow

Abstract

There is a FlowMon probe being developed in a Libeouter project that is used for passive network measurements. The probe has better stability and accuracy than sofware based solutions even under a heavy load or network attack. To guarantee a precision of results there is a need to data reduction to prevent measuring system overload. There are few kinds of data reduction. Method used in the FlowMon probe is called sampling.Adaptive sampling unit sets the sampling rate (rate of processed and discarded packets) according to actual state of measured network.

Keywords

Liberouter, FlowMon, VHDL, ip flow, sampling, aggregation, filtering, adaptive sampling, data reduction, collector, probe, NetFlow

Citace

Petr Kaˇstovsk´y: Adaptivn´ı vzorkov´an´ı paket˚u implementovan´e v sondˇe FlowMon, bakal´aˇrsk´a pr´ace, Brno, FIT VUT v Brnˇe, 2007

(4)

Adaptivn´ı vzorkov´ an´ı paket˚ u implementovan´e v sondˇe Flow- Mon

Prohl´ aˇsen´ı

Prohlaˇsuji, ˇze jsem tuto bakal´aˇrskou pr´aci vypracoval samostatnˇe pod veden´ım Ing. Jana Koˇrenka. Dalˇs´ı informace mi poskytl Martin ˇZ´adn´ık, m˚uj vedouc´ı na projektu Liberouter.

Uvedl jsem vˇsechny liter´arn´ı prameny a publikace, ze kter´ych jsem ˇcerpal.

. . . . Petr Kaˇstovsk´y 13. kvˇetna 2007

Podˇekov´ an´ı

Za odborn´e veden´ı a vstˇr´ıcnost pˇri ˇreˇsen´ı probl´em˚u bych chtˇel podˇekovat Ing. Janu Koˇrenkovi a Martinovi ˇZ´adn´ıkovi.

c

Petr Kaˇstovsk´y, 2007.

Tato pr´ace vznikla jako ˇskoln´ı d´ılo na Vysok´em uˇcen´ı technick´em v Brnˇe, Fakultˇe in- formaˇcn´ıch technologi´ı. Pr´ace je chr´anˇena autorsk´ym z´akonem a jej´ı uˇzit´ı bez udˇelen´ı opr´avnˇen´ı autorem je nez´akonn´e, s v´yjimkou z´akonem definovan´ych pˇr´ıpad˚u.

(5)

Zad´an´ı

1. Nastudujte problematiku s´ıt’ov´ych tok˚u na b´azi protokol˚u NetFlow verze 5 a 9.

2. Seznamte se s architekturou sondy FlowMon vyvinut´e v r´amci projektu Liberouter.

3. Proved’te anal´yzu chov´an´ı sondy v pˇr´ıpadˇe ´utok˚u nebo nadmˇern´eho zat´ıˇzen´ı. Snaˇzte se detekovat situace, kdy doch´az´ı k nekontrolovan´emu zahazov´an´ı paket˚u.

4. Na z´akladˇe proveden´e anal´yzy navrhnˇete mechanizmus adaptivn´ıho vzorkov´an´ı pro- vozu s c´ılem odstranit nekontrolovan´e zahazov´an´ı paket˚u. Snaˇzte se tak´e o minimali- zaci poˇctu paket˚u zahozen´ych v d˚usledku vzorkov´an´ı.

5. Proved’te simulace navrˇzen´eho ˇreˇsen´ı pro r˚uzn´e zat´ıˇzen´ı a typy ´utok˚u.

6. Implementujte mechanizmus adaptivn´ıho s´amplov´an´ı v jazyce VHDL a ovˇeˇrte funkci na sondˇe FlowMon.

7. V z´avˇeru diskutujte vlastnosti navrˇzen´eho ˇreˇsen´ı.

(6)

Licenˇcn´ı smlouva

Licenˇcn´ı smlouva je uloˇzena v archivu Fakulty informaˇcn´ıch technologi´ı Vysok´eho uˇcen´ı technick´eho v Brnˇe.

(7)

Obsah

1 Uvod´ 5

2 Poˇc´ıtaˇcov´e s´ıtˇe a monitorov´an´ı s´ıt’ov´ych tok˚u 7

2.1 Poˇc´ıtaˇcov´a s´ıt’ . . . 7

2.1.1 Architektura poˇc´ıtaˇcov´e s´ıtˇe . . . 7

2.2 S´ıt’ov´y tok . . . 8

2.3 Monitorov´an´ı . . . 8

2.3.1 Aktivn´ı vs. pasivn´ı . . . 8

2.3.2 Motivace . . . 9

2.3.3 Mnoˇzstv´ı dat . . . 9

2.3.4 Kolektor. . . 9

2.4 NetFlow verze 5 . . . 10

2.5 NetFlow verze 9 . . . 10

2.6 Redukce objemu dat . . . 11

2.7 Hardwarov´a akcelerace monitorov´an´ı . . . 12

3 Architektura sondy FlowMon 14 3.1 Blokov´a struktura . . . 14

3.2 Vrstvov´y model . . . 16

3.3 Parametry sondy . . . 16

3.3.1 Zpracov´an´ı hlaviˇcek paket˚u . . . 17

3.3.2 Pˇrenos mezi kartami . . . 17

3.3.3 Pamˇet’ pro uchov´an´ı tok˚u . . . 17

3.3.4 Redukce vstupn´ıch dat. . . 17

4 Anal´yza chov´an´ı sondy 19 4.1 Nadmˇern´e zat´ıˇzen´ı . . . 19

4.2 Utoky´ . . . 20

4.2.1 DoS . . . 20

4.2.2 Skenov´an´ı port˚u . . . 21

4.3 D˚uleˇzit´e poznatky . . . 21

5 Adaptivn´ı vzorkovac´ı jednotka 23 5.1 N´avrh . . . 23

5.1.1 Blokov´e sch´ema . . . 23

5.1.2 Princip funkce . . . 25

5.1.3 Mˇeˇr´ıc´ı jednotky. . . 25

5.2 Implementace . . . 26

(8)

5.3 Simulace . . . 27

5.3.1 Simulaˇcn´ı model . . . 27

5.3.2 V´ysledky z´ıskan´e simulac´ı . . . 28

5.4 Ovˇeˇren´ı funkce . . . 29

5.5 Diskuze . . . 30

6 Z´avˇer 31

(9)

Kapitola 1

Uvod ´

Monitorov´an´ı poˇc´ıtaˇcov´ych s´ıt´ı motivuje rostouc´ı z´ajem o sluˇzby a aplikace dostupn´e pˇredevˇs´ım skrze internet. S rostouc´ım poˇctem soukrom´ych uˇzivatel˚u a organizac´ı vyuˇz´ıvaj´ıc´ıch vz´ajemnou komunikaci pomoc´ı poˇc´ıtaˇc˚u roste mnoˇzstv´ı pˇren´aˇsen´ych dat. Nˇekdy jde o nezabezpeˇcen´e informace nevelk´e hodnoty, jindy zase o d˚uvˇern´a data. Napˇr´ıklad elektronick´e bankovnictv´ı se stalo velice obl´ıbenou sluˇzbou. To pˇrin´aˇs´ı zv´yˇsenou hrozbu zneuˇzit´ı pˇred´avan´ych infor- mac´ı.

Nejen bezpeˇcnost vyˇzaduje sledov´an´ı toho, co se na komunikaˇcn´ıch veletoc´ıch dˇeje.

Kaˇzd´a dom´acnost vybaven´a internetem vyuˇz´ıv´a nab´ıdky nˇekter´eho z poskytovatel˚u pˇripojen´ı.

Pˇrehled a kontrola kvality sluˇzeb tvoˇr´ı dalˇs´ı velkou oblast vyuˇzit´ı s´ıt’ov´eho monitoringu.

Poˇcet koncov´ych uˇzivatel˚u internetu v souˇcasnosti nab´yv´a obrovsk´ych ˇc´ısel. To pˇrin´aˇs´ı i vyˇsˇs´ı z´atˇeˇz na p´ateˇrn´ı spoje, kter´e nyn´ı mus´ı obslouˇzit vˇetˇs´ı poˇcet klient˚u. Vyuˇz´ıvaj´ı se nov´e technologie s vyˇsˇs´ımi pˇrenosov´ymi rychlostmi a vznik´a popt´avka po n´astroj´ıch schopn´ych tyto d˚uleˇzit´a m´ısta sledovat. Dosud si poskytovatel´e vysokorychlostn´ıch pˇr´ıpojen´ı vystaˇcili s poˇc´ıtaˇcem vybaven´ym speci´aln´ım programem. Ukazuje se vˇsak, ˇze tato ˇreˇsen´ı se st´avaj´ı nedostaˇcuj´ıc´ımi.

SondaFlowMon vyv´ıjen´a v r´amci projektuLiberouternab´ız´ı pˇr´ıstup zaloˇzen´y na vyuˇzit´ı hardwarov´e akcelerace v´ypoˇct˚u. Akcelerovan´e zpracov´an´ı dok´aˇze sledovat vyˇsˇs´ı pˇrenosov´e rychlosti, a proto pod´av´a pˇresnˇejˇs´ı informace. Dojde–li vˇsak k extr´emn´ı situaci, napˇr´ıklad

´

utoku ˇci nadmˇern´emu zat´ıˇzen´ı, je tˇreba, i u hardwarem urychlen´ych prostˇredk˚u, redukovat mnoˇzstv´ı zpracov´avan´ych dat a zabr´anit tak pˇret´ıˇzen´ı, selh´an´ı monitorovac´ıho syst´emu.

Existuje nˇekolik metod redukce dat. ˇCasto pouˇz´ıvanou metodou se zaj´ımav´ymi vlast- nostmi je vzorkov´an´ı. Adaptivn´ı vzorkov´an´ı tvoˇr´ı n´astavbu, kter´a dynamicky mˇen´ı para- metry vzorkov´an´ı tak, aby reflektovalo aktu´aln´ı stav monitorovan´e s´ıtˇe.

V t´eto pr´aci se snaˇz´ıme odhalit a zamezit nekontrolovan´emu zahazov´an´ı paket˚u v d˚usledku redukce dat. Proto je do vstupn´ı ˇc´asti sondyFlowMon zaˇrazena adaptivn´ı vzorkovac´ı jed- notka. ˇCinnost´ı jednotky je v re´aln´em ˇcase pˇrizp˚usobovat zahazov´an´ı paket˚u tak, aby ne- doch´azelo k pˇret´ıˇzen´ı monitorovac´ıho n´astroje. Z´aroveˇn poˇzadujeme minimalizaci mnoˇzstv´ı zahozen´ych paket˚u.

Nejprve je vysvˇetlena teorie monitorov´an´ı s´ıt’ov´ych tok˚u a pˇredevˇs´ım vhodn´e metody redukce objemu zpracov´avan´ych dat. Velk´e objemy dat tvoˇr´ı pˇrek´aˇzku pˇri snaze sledovat provoz na vysokorychlostn´ıch p´ateˇrn´ıch spoj´ıch. Dalˇs´ı kapitola popisuje architekturu sondy FlowMon a odhaluje slab´a m´ısta, kter´a zp˚usobuj´ı nekontrolovan´e zahazov´an´ı paket˚u. At’

uˇz v d˚usledku nadmˇern´eho zat´ıˇzen´ı ˇci ´utoku. Spolu s anal´yzou chov´an´ı sondy v uveden´ych situac´ıch tak d´av´a z´aklad pro n´avrh ˇreˇsen´ı zabraˇnuj´ıc´ıho neˇz´adouc´ımu nekontrolovan´emu zahazov´an´ı paket˚u.

(10)

Po proveden´ı n´avrhu jednotky n´asleduje implementace a simulaˇcn´ı model. Implemen- tace tvoˇr´ı praktickou ˇc´ast pr´ace. Simulaˇcn´ı model slouˇz´ı k ovˇeˇren´ı platnosti hypot´ez. Pot´e je implementace testov´ana pˇr´ımo v hardwaru. V z´avˇeru diskutujeme z´ıskan´e ˇreˇsen´ı, jeho pˇrednosti a omezen´ı, vhodnost a moˇznosti nasazen´ı.

(11)

Kapitola 2

Poˇ c´ıtaˇ cov´ e s´ıtˇ e a monitorov´ an´ı s´ıt’ov´ ych tok˚ u

V prvn´ı, teoreticky zamˇeˇren´e, ˇc´asti si vysvˇetl´ıme z´akladn´ı pojmy z oblasti poˇc´ıtaˇcov´ych s´ıt´ı a monitorov´an´ı s´ıt’ov´ych tok˚u. Co je to poˇc´ıtaˇcov´a s´ıt’, vrstvov´y model ISO/OSI. Jak´e se pouˇz´ıvaj´ı komunikaˇcn´ı protokoly. Proˇc v˚ubec monitorovat a jak´e n´astroje a technologie jsou v souˇcasn´e dobˇe vyuˇz´ıv´any. Ozˇrejm´ıme si tak´e n´avaznost na sonduFlowMon.

2.1 Poˇ c´ıtaˇ cov´ a s´ıt’

Poˇc´ıtaˇcov´a s´ıt’ [5] je souhrnn´e oznaˇcen´ı pro technick´e prostˇredky, kter´e realizuj´ı spojen´ı a v´ymˇenu informac´ı mezi poˇc´ıtaˇci. Umoˇzˇnuj´ı tedy uˇzivatel˚um komunikaci podle urˇcit´ych pravidel, za ´uˇcelem sd´ılen´ı, vyuˇz´ıv´an´ı spoleˇcn´ych zdroj˚u nebo v´ymˇeny zpr´av.

2.1.1 Architektura poˇc´ıtaˇcov´e s´ıtˇe

Architektura poˇc´ıtaˇcov´e s´ıtˇe podle [10] zahrnuje celkov´e uspoˇr´ad´an´ı s´ıtˇe, tj. jej´ı topologii, formu komunikace, pouˇzit´e komunikaˇcn´ı protokoly a z´akladn´ı sluˇzby poskytovan´e komuni- kuj´ıc´ım uzl˚um.

Postupem ˇcasu vzniklo nˇekolik architektur. Uvedeme si ty nejpouˇz´ıvanˇejˇs´ı :

• SNA– firemn´ı architekturaIBMvytvoˇren´a s c´ılem propojen´ı termin´al˚u s centr´aln´ımi poˇc´ıtaˇci.

• OSI – referenˇcn´ı model otevˇren´ych syst´em˚u tvoˇr´ıc´ı mezin´arodn´ı standard a z´akladn´ı koncept architektury poˇc´ıtaˇcov´e s´ıtˇe [10].

• TCP/IP – vytvoˇren´a v r´amci v´yzkumn´ych prac´ı na pokusn´e akademick´e s´ıtiARPA- Net. Slouˇz´ı jako architektura pro souˇcasnou nejrozs´ahlejˇs´ı s´ıt’ Internet.

Architektury TCP/IP i ISO/OSI tvoˇr´ı nˇekolik oddˇelen´ych vrstev. Kaˇzd´a vrstva repre- zentuje jistou funkci poskytovanou vyˇsˇs´ı vrstvˇe a obsahuje protokoly pracuj´ıc´ı na dan´e vrstvˇe. Srovn´an´ı vrstev obou model˚u m˚uˇzeme vidˇet v tabulce 2.1.

V tabulce 2.1 jsou uvedeni i z´astupci protokol˚u pˇr´ısluˇsn´ych vrstev. Popiˇsme struˇcnˇe nejd˚uleˇzitˇejˇs´ı z nich :

• TCP – vytv´aˇr´ı, udrˇzuje a ruˇs´ı transportn´ı spojen´ı, prostˇrednictv´ım nichˇz komunikuj´ı aplikaˇcn´ı procesy v koncov´ych uzlech s´ıtˇe.

(12)

Model OSI Model TCP/IP

ˇc. vrstva ˇc. vrstva

7 aplikaˇcn´ı TELNET

6 prezentaˇcn´ı 4 aplikaˇcn´ı FTP

5 relaˇcn´ı HTTP, . . .

4 transportn´ı 3 transportn´ı TCP, UDP

3 s´ıt’ov´a 2 internet IP, ICMP, ARP

2 linkov´a

1 fyzick´a 1 ˇradiˇc komunikace

Tabulka 2.1: Srovn´an´ı vrstev model˚u ISO/OSI a TCP/IP

• UDP – poskytuje rychl´y a nezabezpeˇcen´y pˇrenos paket˚u bez potvrzov´an´ı pˇr´ıjmu a opakov´an´ı pˇrenosu (datagramov´a sluˇzba).

• IP – smˇeˇruje pakety s ´udaji protokol˚u vyˇsˇs´ı vrstvy (TCP, UDP) od zdrojov´eho k c´ılov´emu uzlu na s´ıti, kter´a se skl´ad´a z v´ıce vz´ajemnˇe propojen´ych poˇc´ıtaˇcov´ych s´ıt´ı.

• ICMP – pˇren´aˇs´ı chybov´e a ˇr´ıd´ıc´ı zpr´avy mezi uzly a smˇerovaˇci s´ıtˇe TCP/IP.

• ARP – doplˇnkov´y protokol, kter´y zabezpeˇcuje pˇriˇrazen´ı IP adres fyzick´ym adres´am linkov´e vrstvy.

2.2 S´ıt’ov´ y tok

S´ıt’ov´y tok (IP flow) je podle [12] mnoˇzina paket˚u proch´azej´ıc´ıch pozorovac´ım bodem v s´ıti v dan´em ˇcasov´em intervalu. Vˇsechny pakety pˇr´ısluˇs´ıc´ı k nˇejak´emu toku sd´ılej´ı jist´e spoleˇcn´e vlastnosti. Tˇemito vlastnostmi mohou b´yt:

• jedno nebo v´ıce pol´ı v z´ahlav´ı paketu (napˇr. zdrojov´a/c´ılov´a IP adresa, zdrojov´y/c´ılov´y port, druh protokolu transportn´ı vrstvy, atd.)

• jedna nebo v´ıce charakteristik samotn´eho paketu (napˇr. poˇcet MPLS znaˇcek, a dalˇs´ı)

• jedno nebo v´ıce pol´ı odvozen´ych od zpracov´an´ı paketu (napˇr. IP adresa n´asleduj´ıc´ıho smˇerovaˇce, vstupn´ı/v´ystupn´ı rozhran´ı smˇerovaˇce, atd.)

Obecnˇe se neurˇcuje pˇr´ısluˇsnost paketu k toku pouze na z´akladˇe shody hodnot uveden´ych vlastnost´ı. M˚uˇze to b´yt prakticky libovoln´a rozhodovac´ı funkce. Napˇr´ıklad skupina paket˚u jejichˇz zdrojov´a adresa leˇz´ı v dan´em rozsahu.

2.3 Monitorov´ an´ı

2.3.1 Aktivn´ı vs. pasivn´ı

Monitorov´an´ı poˇc´ıtaˇcov´ych s´ıt´ı dˇel´ıme na dva typy ( viz. [13]) :

• aktivn´ı – mˇeˇren´y provoz je ´uˇcelovˇe vytvoˇren pro potˇreby mˇeˇren´ı

• pasivn´ı – provoz na s´ıti je pouze sledov´an a nen´ı ovlivnˇen samotn´ym mˇeˇren´ım

(13)

Add) Pˇri pasivn´ım monitorov´an´ı je tˇreba odes´ılat nashrom´aˇzdˇen´a data ze sond rozloˇzen´ych v mˇeˇren´e s´ıti do sbˇern´eho m´ısta. Pˇrenos prob´ıh´a po stejn´em m´ediu a zvyˇsuje zat´ıˇzen´ı s´ıtˇe, neovlivˇnuje vˇsak samotn´e mˇeˇren´ı. Snahou samozˇrejmˇe z˚ust´av´a zv´yˇsen´ı z´atˇeˇze minimalizo- vat.

Sonda FlowMon realizuje pr´avˇe druh´y z v´yˇse zmiˇnovan´ych typ˚u. Proto se tato pr´ace bude d´ale zab´yvat jenom pasivn´ım monitorov´an´ım.

2.3.2 Motivace

Poˇzadavky na sledov´an´ı vyuˇzit´ı s´ıt’ov´ych zdroj˚u poch´az´ı zejm´ena od provozovatel˚u a spr´avc˚u s´ıt´ı. P˚uvodn´ı

”best effort“ model internetu nevyhovuje poˇzadavk˚um souˇcasn´ych aplikac´ı.

Je to zp˚usobeno t´ım, ˇze zach´az´ı s veˇsker´ym provozem stejnˇe. Coˇz je nevhodn´e, napˇr´ıklad kdyˇz chce poskytovatel pˇripojen´ı zajistit kvalitu sluˇzby, kter´a je citliv´a na zpoˇzdˇen´ı paket˚u.

Dalˇs´ım d˚uvodem pro monitorov´an´ı m˚uˇze b´yt ´uˇctov´an´ı zaloˇzen´e na mnoˇzstv´ı pˇrenesen´ych dat a typu vyuˇz´ıvan´ych sluˇzeb, tak´e snaha pˇredej´ıt zahlcen´ı a t´ım poruˇsen´ı podm´ınek dohodnut´ych s uˇzivateli. Velmi d˚uleˇzit´e je tak´e sledov´an´ı za ´uˇcelem odhalen´ı bezpeˇcnostn´ıch rizik, pˇr´ıpadnˇe prob´ıhaj´ıc´ıch ´utok˚u.

2.3.3 Mnoˇzstv´ı dat

Mnoho r˚uzn´ych poˇzadavk˚u motivuj´ıc´ıch monitorov´an´ı s´ıtˇe vytv´aˇr´ı rozd´ıln´e poˇzadavky na mnoˇzstv´ı zpracov´avan´ych dat. Napˇr´ıklad pokud chce poskytovatel pˇripojen´ı ´uˇctovat sv´e sluˇzby na z´akladˇe objemu pˇrenesen´ych dat, staˇc´ı mu k tomuto ´uˇcelu souhrnn´a (tzv. agre- govan´a) informace ud´avaj´ıc´ı poˇcet pˇrenesen´ych bajt˚u. Na druhou stranu, chce–li m´ıt de- tailnˇejˇs´ı pˇrehled o sluˇzb´ach, kter´e z´akazn´ık vyuˇz´ıv´a, nen´ı pˇredchoz´ı agregovan´a informace dostaˇcuj´ıc´ı.

Dalˇs´ı problematickou ˇc´ast´ı je sledov´an´ı stavu s´ıtˇe, stavu jednotliv´ych linek. Obvykl´e je mˇeˇren´ı mezi dvˇema koncov´ymi body. Tento pˇr´ıstup, ale neodhal´ı pˇr´ıpadn´e problematick´e spojen´ı na cestˇe. Cestu obvykle tvoˇr´ı posloupnost spojen´ı mezi dvˇema uzly. Pro vyhled´an´ı problematick´eho spoje by tedy bylo tˇreba um´ıstit monitorovac´ı zaˇr´ızen´ı do kaˇzd´eho uzlu po cel´e d´elce cesty. To sebou pˇrin´aˇs´ı n´ar˚ust dat urˇcen´ych ke zpracov´an´ı.

Zpracov´an´ı m˚uˇze prob´ıhat pˇr´ımo v uzlu s´ıtˇe, napˇr´ıklad ve smˇerovaˇci nebo pˇrep´ınaˇci.

Tato zaˇr´ızen´ı smˇeˇruj´ı, pˇrep´ınaj´ı pakety a jsou touto ˇcinnost´ı vyt´ıˇzena. Nezb´yv´a zde tedy prostor pro v´ykonovˇe n´aroˇcn´e zpracov´an´ı. Nav´ıc zaˇr´ızen´ı pro anal´yzu a uloˇzen´ı z´ıskan´ych informac´ı jsou drah´a.

Popsan´a omezen´ı vedou k jak´esi hierarchii prostˇredk˚u (viz. obr´azek2.1) urˇcen´ych k mo- nitorov´an´ı s´ıt´ı. Ve sledovan´e s´ıti jsou rozm´ıstˇeny sondy, kter´e prov´ad´ı prim´arn´ı ´ukony spojen´e s anal´yzou provozu. Z´ıskan´e v´ysledky pak odes´ılaj´ı do sbˇern´ych m´ıst urˇcen´ych k sekund´arn´ımu zpracov´an´ı. Tyto jsou naz´yv´any kolektory.

Se vzniklou hierarchi´ı vyvst´av´a probl´em, jak´ym zp˚usobem mezi prvky leˇz´ıc´ımi na jin´ych vrstv´ach hierarchie pˇred´avat informace. Vhodn´ym pˇr´ıstupem je pouˇz´ıt standardizovan´y form´at, kter´y umoˇzn´ı spolupr´aci zaˇr´ızen´ı od r˚uzn´ych v´yrobc˚u. Uveden´a krit´eria splˇnuj´ı veˇrejnˇe pˇr´ıstupn´e form´aty spoleˇcnosti Cisco:NetFlow verze 5 a NetFlow verze 9.

2.3.4 Kolektor

Jeˇstˇe neˇz pˇrejdeme k popisu form´at˚u pouˇz´ıvan´ych k exportu dat, zm´ın´ıme se kr´atce o jejich destinaci, tj. kolektoru.

(14)

Obr´azek 2.1: Blokov´e sch´ema monitorovac´ıho syst´emu

Zpravidla nen´ı kolektor nic jin´eho neˇz poˇc´ıtaˇcov´y syst´em s moˇznost´ı ukl´adat velk´e ob- jemy dat. Dovoluje tak uchov´avat dlouhodobˇejˇs´ı sledov´an´ı. Vzhledem k tomu, ˇze kolektor sb´ır´a data ze sond rozm´ıstˇen´ych po s´ıti, poskytuje komplexnˇejˇs´ı pohled na monitorovan´y objekt (poˇc´ıtaˇcovou s´ıt’).

Na kolektoru (poˇc´ıtaˇcov´em syst´emu) bˇeˇz´ı program, kter´y se star´a o samotn´e vyhodno- cov´an´ı z´ıskan´ych informac´ı. V pˇr´ıpadˇe sondyFlowMon je pouˇzito WWW grafick´e rozhran´ı NFSen.

2.4 NetFlow verze 5

Jedn´a se o form´atUDP datagramu, kter´y slouˇz´ı pro export dat smˇerem od sondy do kolek- toru. Skl´ad´a se z hlaviˇcky (viz. tabulka2.2) a jednoho nebo v´ıce z´aznam˚u (viz. tabulka2.3) o s´ıt’ov´em toku (tzv. flow). V prvn´ım poli hlaviˇcky datagramu je uvedena verze form´atu (1 nebo 5; verze 5 je rozˇs´ıˇren´ım verze 1). Druh´e pole hlaviˇcky obsahuje poˇcet n´asleduj´ıc´ıch z´aznam˚u (viz. [1]).

Vzhledem k tomu, ˇze se pro pˇrenos z´aznam˚u pouˇz´ıv´a protokol UDP, m˚uˇze doj´ıt ke ztr´at´am datagram˚u. Informaci o ztr´atˇe je tˇreba pˇredat programu zpracov´avaj´ıc´ımu data na kolektoru. Proto m´a hlaviˇcka datagramu pole oznaˇcovan´e flow sequence, nebo–li poˇradov´e ˇ

c´ıslo z´aznamu. Vznikne souˇctem pˇredchoz´ıho poˇradov´eho ˇc´ısla a poˇctu z´aznam˚u v pˇredchoz´ım datagramu. Po pˇrijet´ı m˚uˇze vyhodnocuj´ıc´ı program odeˇcten´ım oˇcek´avan´e hodnoty od hod- noty v datagramu zjistit mnoˇzstv´ı ztracen´ych z´aznam˚u. Tato informace je d˚uleˇzit´a pro statistick´e zpracov´an´ı informac´ı z´ıskan´ych na kolektoru.

2.5 NetFlow verze 9

Podle [4] se jedn´a o nejnovˇejˇs´ı form´at pouˇz´ıvan´y pro export dat. Je zaloˇzen na ˇsablon´ach, kter´e umoˇzˇnuj´ı definovat tvar exportovan´eho z´aznamu. Tento pˇr´ıstup je odoln´y v˚uˇci zmˇen´am protokol˚u. Pokud by se napˇr´ıklad zaˇcali pouˇz´ıvat nov´e protokoly, staˇc´ı vytvoˇrit novou ˇsablonu pro z´aznam bez nutnosti zmˇeny verze form´atu NetFlow. Stejnˇe lze do z´aznamu pˇridat nov´e vlastnosti bez poruˇsen´ı funkˇcnosti st´avaj´ıc´ıch implementac´ı pouze ´upravou ˇsablony.

(15)

Byty Obsah Popis

0 – 3 verze a poˇcet verze form´atu NetFlow a poˇcet z´aznam˚u v datagramu (1 – 30) 4 – 7 SysUptime souˇcasn´y ˇcas od nastartov´an´ı smˇerovaˇce v milisekund´ach 8 – 11 unix secs poˇcet sekund od 0000 UTC 1970

12 – 15 unix nsecs zbyl´e nanosekundy od 0000 UTC 1970 16 – 19 flow sequence ˇc´ıtaˇc vˇsech dosud monitorovan´ych tok˚u 20 – 23 vyhrazeno nepouˇzito

Tabulka 2.2: Form´at hlaviˇcky datagramu pro NetFlow verze 5

Byty Obsah Popis

0 – 3 srcaddr zdrojov´a IP adresa 4 – 7 dstaddr c´ılov´a IP adresa

8 – 11 nexthop IP adresa n´asleduj´ıc´ıho smˇerovaˇce

12 – 15 vstup a v´ystup SNMP index vstupn´ıho a v´ystupn´ıho rozhran´ı 16 – 19 dPkts poˇcet paket˚u v toku

20 – 23 dOctets celkov´y poˇcet byt˚u n´aleˇz´ıc´ıch do vrstvy L3 v paketech dan´eho toku

24 – 27 first SysUptime v dobˇe zaˇc´atku toku

28 – 31 first SysUptime v dobˇe pˇrijet´ı posledn´ıho paketu n´aleˇz´ıc´ıho toku

32 – 35 src a dst port TCP/UDP zdrojov´y a c´ılov´y port 36 – 39 pad1,

tcp flags, prot a tos

nulov´y byte, souhrnn´y OR vˇsech TCP pˇr´ıznak˚u, IP protokol, typ sluˇzby protokolu IP

40 – 43 src as a dst as autonomn´ı syst´em zdroje a c´ıle 44 – 47 src mask,

dst mask a pad2

poˇcet bit˚u v masce adresy zdroje a c´ıle, 2 byty nulov´e

Tabulka 2.3: Form´at z´aznamu o toku pro NetFlow verze 5

Struktura zpr´avy pˇren´aˇsej´ıc´ı z´aznamy o toc´ıch je oproti verzi 5 sloˇzitˇejˇs´ı. Na druh´e stranˇe tak pˇrin´aˇs´ı zm´ınˇen´e v´yhody ˇsablon. I pˇresto lze naj´ıt spoleˇcn´e rysy v obou verz´ıch. Stejnˇe jako verze 5 m´a i verze 9 hlaviˇcku. Ta vych´az´ı ze sv´eho pˇredch˚udce a nedoznala v´yraznˇejˇs´ıch zmˇen. Naopak ˇc´ast obsahuj´ıc´ı z´aznamy o toc´ıch je obohacena o moˇznost pˇrenosu ˇsablon a st´av´a se tak v´yraznˇe komplikovanˇejˇs´ı. Pro naˇsi potˇrebu bude postaˇcuj´ıc´ı vˇedˇet, ˇze m´a zpr´ava hlaviˇcku a po t´e n´asleduje datov´a ˇc´ast obsahuj´ıc´ı z´aznamy o toc´ıch a ˇsablony pro popis form´atu jednotliv´ych z´aznam˚u.

2.6 Redukce objemu dat

Bˇehem monitorov´an´ı je tˇreba zpracovat velk´e mnoˇzstv´ı dat a z´ıskan´e informace pak pˇren´est po mˇeˇren´e s´ıti ke kolektoru. Pokud by se mnoˇzstv´ı dat nijak neredukovalo, mohlo by doj´ıt k situaci, kdy namˇeˇren´e informace s´ıt’ zahlt´ı. To je zjevnˇe neˇz´adouc´ı. D´ale je potˇreba odlehˇcit z´atˇeˇz na smˇerovaˇc´ıch, kter´e jsou jiˇz zat´ıˇzeny smˇerov´an´ım paket˚u.

Zm´ınˇen´e okolnosti vedou k redukci dat, aˇckoliv je to v rozporu se z´ajmem o co nejpˇresnˇejˇs´ı

(16)

a detailn´ı mˇeˇren´ı. Pˇritom je preferov´ano jednopr˚uchodov´e zpracov´an´ı, kter´e potlaˇcuje ukl´ad´an´ı dat a n´asledn´e opˇetovn´e v´ypoˇcty. Jednopr˚uchodov´y pˇr´ıstup tak´e zvyˇsuje propustnost mˇeˇr´ıc´ıch zaˇr´ızen´ı.

Obvykle pouˇz´ıvan´e metody pro redukci dat jsou podle [6] :

• agregace – spojen´ı dat z d´ılˇc´ıch komponent do jednoho celku tak, ˇze komponenty jsou zahozeny. Agregace je obvykle aditivn´ı, tzn. souˇcet komponent. Napˇr´ıklad nalezen´ı celkov´eho provozu z nˇekolika zdroj˚u za ˇcasov´y interval.

Agreg´aty poskytuj´ı sloˇzenou informaci bez moˇznosti rozliˇsit pˇr´ıspˇevek jednotliv´ych souˇc´ast´ı.

• filtrov´an´ı– v´ybˇer podmnoˇziny dat na z´akladˇe jejich obsahu. Nevyhovuj´ıc´ı data jsou zahozena. Napˇr´ıklad provoz z dan´eho zdroje. Filtrov´an´ı lze pouˇz´ıt k zamˇeˇren´ı na jistou ˇc´ast provozu v okamˇziku, kdy v´ıme, jak´e m´a vlastnosti.

• vzorkov´an´ı – n´ahodn´y nebo pseudon´ahodn´y v´ybˇer podmnoˇziny. Nevybran´e poloˇzky (pakety) jsou zahozeny. Vzorkov´an´ı a filtrov´an´ı se svou definic´ı do jist´e m´ıry pˇrekr´yvaj´ı.

Je moˇzn´e implementovat vzorkov´an´ı pomoc´ı filtrov´an´ı za cenu sloˇzit´eho pravidla.

Kl´ıˇcov´y atribut, kter´y odliˇsuje agregaci a filtrov´an´ı od vzorkov´an´ı, je znalost vlast- nost´ı s´ıt’ov´eho provozu. Jin´ymi slovy, pokud chceme provoz agregovat nebo filtrovat mus´ıme pˇredem zn´at vlastnosti, kter´e sledovan´a podmnoˇzina m´a.

Naneˇstˇest´ı potˇreba redukce dat kles´a v m´ıstech v monitorovac´ı hierarchii vzd´alen´ych od samotn´ych sond. Pˇredevˇs´ım pak v ´uloˇziˇst´ıch, kde je moˇzn´e opakovan´e vyhodnocen´ı skladovan´ych dat.

2.7 Hardwarov´ a akcelerace monitorov´ an´ı

Jak jiˇz bylo uvedeno, prvotn´ı zpracov´an´ı paket˚u prob´ıh´a pˇr´ımo ve smˇerovaˇc´ıch. Pokud je u smˇerovaˇce zapnuta podpora pro zpracov´an´ı a export dat, znamen´a to pro produkty spoleˇcnostiCisco(v nejlepˇs´ım pˇr´ıpadˇe 50 %, v nejhorˇs´ı pˇr´ıpadech aˇz 300 %) n´ar˚ust zat´ıˇzen´ı vestavˇen´eho procesoru (viz. [2]).

Takov´ato ˇreˇsen´ı postaˇcuj´ı pro monitorov´an´ı v bˇeˇzn´ych uzlech s´ıtˇe. Chceme–li vˇsak mo- nitorovat p´ateˇrn´ı spoj, nezb´yv´a neˇz pouˇz´ıt PC vybaven´e s´ıt’ovou kartou a vhodn´ym pro- gramem nebo specializovan´e hardwarov´e ˇreˇsen´ı. Hardwarov´a ˇreˇsen´ı zastupuje pr´avˇe sonda FlowMon. Mluv´ıme pak o hardwarovˇe akcelerovan´em mˇeˇr´ıc´ım zaˇr´ızen´ı, u nˇehoˇz je snaha rozloˇzit z´atˇeˇz na vysoce optimalizovan´e v´ypoˇcty ˇreˇsen´e n´ızko´urovˇnov´ym pˇr´ıstupem (hard- ware) a m´enˇe optim´aln´ı v´ypoˇcty s vyˇsˇs´ım stupnˇem abstrakce (software). Software pak ˇreˇs´ı

´

ulohy jako statistick´e zpracov´an´ı a vizualizace v´ysledk˚u; jen obt´ıˇznˇe implementovateln´e na

´

urovni hardwaru.

Rozd´ıl mezi obˇema pˇr´ıstupy je pak stabilita, robustnost a zejm´ena vyˇsˇs´ı propustnost obvodov´eho ˇreˇsen´ı (viz. obr´azek 2.2). Na rozd´ıl od softwaru, kter´y obecnˇe vykazuje niˇzˇs´ı spolehlivost v mezn´ıch pˇr´ıpadech. Takov´e chov´an´ı nemus´ı vˇzdy znamenat velkou nev´yhodu.

Pˇredevˇs´ım vzhledem k pestrosti s´ıt’ov´eho provozu. V bˇeˇzn´em provozu prakticky nenast´av´a situace, kdy registrujeme jen nejkratˇs´ı pakety na maxim´aln´ı rychlosti linky.

(17)

Obr´azek 2.2: Srovn´an´ı propustnosti softwarov´eho ˇreˇsen´ınProbe se sondouFlowMon viz. [9]

(18)

Kapitola 3

Architektura sondy FlowMon

N´asleduj´ıc´ı kapitola se vˇenuje architektuˇre sondy FlowMon vyv´ıjen´e v r´amci projektuLi- berouter. Architektura pop´ıˇseme na ´urovni blok˚u. Zaj´ım´a n´as zejm´ena vstupn´ı ˇc´ast, do n´ıˇz bude zaˇrazena jednotka adaptivn´ıho vzorkov´an´ı.

Popisovan´a architektura je jiˇz druhou v´yvojovou f´az´ı. V t´eto f´azi je sonda odladˇena ve stabiln´ı verzi a pouˇz´ıv´a se a testuje na nˇekolika m´ıstech. V souˇcasnosti vznik´a na projektu Liberouter tˇret´ı v´yvojov´a f´aze. Dospˇela vˇsak zat´ım pouze do st´adia n´avrhu.

3.1 Blokov´ a struktura

Obr´azek 3.1: Blokov´a struktura sondyFlowMon viz. [3]

Z obr´azku 3.1 je patrn´y paralelismus, kter´y ve v´ykonovˇe n´aroˇcn´ych aplikac´ıch zvyˇsuje propustnost nejen procesor˚u, ale i jin´ych obvod˚u. Tak´e m˚uˇzeme vidˇet, ˇze sonda obsahuje dvˇe vstupn´ı rozhran´ı, na kter´ych je schopna monitorovat s´ıt’ov´y provoz. Z´aroveˇn umoˇzˇnuje zr- cadlit provoz z jednoho rozhran´ı na druh´e. Typick´e zapojen´ı pak vypad´a jako na obr´azku3.2.

(19)

Obr´azek 3.2: Typick´e zapojen´ı sondyFlowMon viz. [14]

Sonda je implementov´ana v programovateln´ych pol´ıch (FPGA) firmyXilinx, kter´e jsou um´ıstˇeny na z´akladn´ı kartˇe COMBO6X a rozˇsiˇruj´ıc´ı kartˇe COMBO-4SFPRO. Tyto karty jsou rovnˇeˇz vyv´ıjeny v r´amci projektuLiberouter.

Pod´ıvejme se nyn´ı na jednotliv´e bloky :

• IBUF – zkratka IBUF zastupuje vstupn´ı vyrovn´avac´ı pamˇet’ (z angl. input buffer).

Tento blok je z hlediska adaptivn´ıho vzorkov´an´ı nejd˚uleˇzitˇejˇs´ı. Star´a se o pˇr´ıjem ethernetov´ych r´amc˚u. Nad kaˇzd´ym pˇrijat´ym r´amcem provede ˇradu kontrol a pokud neskonˇc´ı pozitivn´ım v´ysledkem, obsah r´amce zahod´ı. V opaˇcn´em pˇr´ıpadˇe postupuje k dalˇs´ımu zpracov´an´ı. T´ımto zpracov´an´ım m˚uˇze b´yt i vzorkov´an´ı, kter´e se tak prov´ad´ı jen s platn´ymi pakety, coˇz ch´apeme jako poˇzadovanou vlastnost.

• SPLITTER – slouˇz´ı k rozdˇelen´ı vstupn´ıho toku do dvou paraleln´ıch v´ypoˇcetn´ıch jed- notek. T´ımto pˇr´ıstupem dosahujeme vyˇsˇs´ı propustnosti. Na druhou stranu je tak zabr´ano v´ıce zdroj˚u v programovateln´em poli. To tak´e vytv´aˇr´ı jeden z nejv´ıce ome- zuj´ıc´ıch faktor˚u hardwarov´e implementace vFPGA.

• HFE – (z angl. header field extractor) 16bitov´y procesor architektury s redukovanou instrukˇcn´ı sadou (RISC). Instrukˇcn´ı sada je optimalizov´ana pro zpracov´an´ı tok˚u dat.

Procesor analyzuje hlaviˇcky paket˚u a z´ıskan´a data ukl´ad´a do struktury zvan´e unifi- kovan´a hlaviˇcka. Tato datov´a struktura pak slouˇz´ı pro dalˇs´ı v´ypoˇcty a monitorov´an´ı tok˚u (viz. [3]).

V souˇcasn´e verzi sondy existuje pro kaˇzd´e s´ıt’ov´e rozhran´ı dvojice procesor˚u. Kaˇzd´y procesor dok´aˇze zpracovat milion paket˚u za sekundu. Dvojice pak zvl´adne zpracovat plnˇe vyt´ıˇzenou 1Gb/s linku v obou smˇerech.

• UH FIFO – tvoˇr´ı vyrovn´avac´ı pamˇet’ pro unifikovan´e hlaviˇcky pˇred jejich dalˇs´ım zpra- cov´an´ım. Ke kaˇzd´emu HFE procesoru pˇr´ısluˇs´ı jedno UH FIFO. V sondˇe jsou tedy celkem 4.

• UHDRV – ˇr´ıd´ı vyˇc´ıt´an´ı dat ze vˇsech 4 vyrovn´avac´ıch pamˇet´ı. O v´ybˇeru pamˇeti roz- hoduje spravedliv´y algoritmus round-robin.

• MONITOR– blok by bylo moˇzn´e d´ale rozdˇelit. To vˇsak nen´ı nezbytn´e. Postaˇc´ı vˇedˇet, ˇze pro kaˇzdou unifikovanou hlaviˇcku vypoˇc´ıt´a hash identifikuj´ıc´ı tok, jemuˇz p˚uvodn´ı paket n´aleˇzel. Z´aznam o toku je n´aslednˇe aktualizov´an (pokud existoval) nebo vy- tvoˇren (v opaˇcn´em pˇr´ıpadˇe). Pokud po uplynut´ı jist´eho ˇcasov´eho intervalu nedojde k obnoven´ı z´aznamu o toku, smaˇze se z pamˇeti a odeˇsle do softwaru.

(20)

3.2 Vrstvov´ y model

Obr´azek 3.3: Rozdˇelen´ı sondyFlowMon do vrstev viz. [14]

Obr´azek 3.3 ukazuje sondu v hlubˇs´ım kontextu. Vazbu na linkovou vrstvu s´ıt’ov´eho modelu ISO/OSI a z´aroveˇn vazbu na programovou ˇc´ast, kter´a je nezbytn´a pro z´ısk´an´ı v´ysledk˚u zpracovan´ych v sondˇe.

• fyzick´a vrstva (physical layer)– fyzick´e pˇripojen´ı k lince; obsluha na ´urovni etherne- tov´ych r´amc˚u

• zpracov´an´ı hlaviˇcek paket˚u (packet header parsing)– odpov´ıd´a vstupn´ı ˇc´asti blokov´eho sch´ematu aˇz po blok MONITOR

• monitorov´an´ı (monitoring) – odpov´ıd´a ˇc´asti MONITOR blokov´eho sch´ematu

• export do softwaru (export to sw) – v blokov´em sch´ematu souˇc´ast MONITORu; rea- lizov´an v´ystupn´ı vyrovn´avac´ı pamˇet´ı

• ovladaˇc (driver)– modul j´adra operaˇcn´ıho syst´emu umoˇzˇnuj´ıc´ı komunikaci uˇzivatelsk´ych program˚u s hardwarem

• filtrov´an´ı a anonymizace (filtering and anonymization) – anonymizace je d˚uleˇzit´a k ochranˇe uˇzivatelsk´ych dat a soukrom´ı; filtrov´an´ı slouˇz´ı k v´ybˇeru z´aznam˚u n´aslednˇe odes´ılan´ych na dan´y kolektor

• odes´ıl´an´ı z´aznam˚u o toku (flow exporter)– zapouzdˇruje odes´ılan´e z´aznamy do zpr´av ve form´atu NetFlow v5 nebo NetFlow v9 a n´aslednˇe pˇren´aˇs´ı na kolektor

3.3 Parametry sondy

Realizace sondy na kart´ach ˇradyCOMBO pˇrin´aˇs´ı jist´a omezen´ı dan´a hardwarov´ymi zdroji.

Jak jiˇz bylo zm´ınˇeno dˇr´ıve, sondaFlowMon je implementov´ana na dvojici karetCOMBO6X aCOMBO-4SFPRO. Druh´a z karet je oznaˇcov´ana jako tzv.interfaceov´a. Rozˇsiˇruje z´akladn´ı kartu o 4 gigabitov´e s´ıt’ov´e porty. Na obou kart´ach se nach´az´ı programovateln´e pole (FPGA) s pevnˇe dan´ymi zdroji.

(21)

3.3.1 Zpracov´an´ı hlaviˇcek paket˚u

Prvn´ı z omezen´ı, pˇri cestˇe dat od vstupn´ıho rozhran´ı k v´ystupn´ı vyrovn´avac´ı pamˇeti (viz.

ˇ

c´ast 3.1), tvoˇr´ı jednotka zpracov´an´ı hlaviˇcek paket˚u (HFE). Pro kaˇzd´e monitorovan´e roz- hran´ı je tˇreba m´ıt dvojici tˇechto jednotek, aby bylo moˇzn´e zvl´adnout plnˇe zat´ıˇzenou giga- bitovou linku. Uveden´e ˇreˇsen´ı vˇsak nen´ı dostaˇcuj´ıc´ı pro linku 10 GB/s.

Moˇzn´ym ˇreˇsen´ım by mohlo b´yt doplnˇen´ı n´avrhu o dalˇs´ı jednotky HFE a ˇsk´alovat tak v´ykon. Tento pˇr´ıstup vˇsak nar´aˇz´ı na mnoˇzstv´ı zdroj˚u dostupn´ych v FPGA. Z´aroveˇn ´uzce souvis´ı s n´asleduj´ıc´ım probl´emem, kter´y by se tak d´ale vystupˇnoval.

3.3.2 Pˇrenos mezi kartami

Zpracovan´a data je tˇreba z rozˇsiˇruj´ıc´ı karty pˇren´est na kartu z´akladn´ı, kde se vyhodnocuj´ı informace o s´ıt’ov´ych toc´ıch. Karty spojuj´ı konektory. Konektor˚u je omezen´e mnoˇzstv´ı a jejich fyzik´aln´ı konstrukce tak´e pˇredurˇcuje maxim´aln´ı frekvenci, na niˇz jsou schopny spoleh- livˇe pracovat. Poˇcet konektor˚u a pracovn´ı frekvence ud´av´a maxim´aln´ı propustnost spojen´ı.

V souˇcasn´em n´avrhu tato kapacita nedostaˇcuje pro monitorov´an´ı 10Gb/s linky.

Probl´em by mˇel b´yt odstranˇen v n´asleduj´ıc´ı generaci pˇrechodem k pouˇzit´ı jedin´e karty nam´ısto st´avaj´ıc´ı dvojice. Rozvody pˇr´ımo po desce jsou spolehlivˇejˇs´ı s lepˇs´ımi fyzik´aln´ımi vlastnostmi neˇz mechanicky spojen´e kontakty.

3.3.3 Pamˇet’ pro uchov´an´ı tok˚u

Uspˇ´ eˇsnˇe pˇrenesen´e informace je tˇreba zpracovat. Jak bylo zm´ınˇeno (viz.15), vyhodnocuje se pˇr´ısluˇsnost paketu k s´ıt’ov´emu toku. Informace o toc´ıch, kter´e jiˇz byly zachyceny, se ukl´adaj´ı v pamˇetech na z´akladn´ı (tak´e mateˇrsk´e) kartˇe. Kapacita a rychlost pamˇeti pˇredstavuje dalˇs´ı omezuj´ıc´ı prvek.

Pamˇet’ leˇz´ı na cestˇe od vstupu nejd´al a zahlt´ı se i v pˇr´ıpadˇe, kdy dvˇe pˇredchoz´ı omezen´ı neprojev´ı sv˚uj vliv. Lze ji proto ch´apat jako omezen´ı nejvˇetˇs´ı.

3.3.4 Redukce vstupn´ıch dat

Prvn´ı dvˇe omezen´ı m˚uˇzeme vyˇreˇsit ´upravou n´avrhu, pˇr´ıpadnˇe jin´ym pˇrizp˚usoben´ım. Nejsou ovlivnˇena skladbou s´ıt’ov´eho provozu. Jedn´ım z moˇzn´ych zp˚usob˚u jak odstranit probl´emy, by bylo zjistit maxim´aln´ı teoretickou propustnost pˇrenosov´eho kan´alu mezi kartami. Podle n´ı upravit vstupn´ı ˇc´ast sondy tak, aby nikdy nedoˇslo ke zpracov´an´ı vˇetˇs´ıho mnoˇzstv´ı dat, neˇz kan´al dovoluje pˇren´est.

Pevnˇe nastaven´a redukce vstupn´ıch dat vˇsak tak´e nen´ı optim´aln´ım ˇreˇsen´ım. Ne vˇzdy jsou linky vyuˇzity na 100 %. Pak m˚uˇze doj´ıt k redukci dat v okamˇziku, kdy nen´ı sonda plnˇe vyt´ıˇzena. Ztr´ac´ı se tak informace, kter´a m˚uˇze b´yt zpracov´ana. Vznikl´e ztr´aty nejsou pˇrijateln´e z pohledu koncov´eho uˇzivatele a je tˇreba jim pˇredej´ıt vhodn´ymi opatˇren´ımi.

Omezen´ı vytv´aˇren´e velikost´ı pamˇeti je pˇr´ımo z´avisl´e na profilu s´ıt’ov´eho provozu. Proto nen´ı moˇzn´e vytvoˇrit ide´aln´ı ˇreˇsen´ı zaloˇzen´e na vylepˇsen´ı pamˇet’ov´eho bloku, kter´e by mˇelo dlouhodobˇejˇs´ı platnost. ˇReˇsen´ı by bylo z´avisl´e na anal´yze provozu. Pˇr´ıkladem ´upravy m˚uˇze b´yt vylepˇsen´a organizace pamˇeti. Takov´a optimalizace je moˇzn´a pro zefektivnˇen´ı pr´ace sondy ve vˇetˇsinˇe pˇr´ıpad˚u; nen´ı vˇsak obecnˇe platn´a. Staˇc´ı napˇr´ıklad nasadit sondu v m´ıstˇe s nov´ym typem sluˇzby vytv´aˇrej´ıc´ım statisticky v´ıce s´ıt’ov´ych tok˚u. N´asledkem bude zhorˇsen´e chov´an´ı (rychleji zaplnˇen´a pamˇet’, dlouh´a doba pˇr´ıstupu k uloˇzen´ym tok˚um), coˇz nen´ı vhodn´e.

(22)

Vˇsechna zm´ınˇen´a omezen´ı vedou k ˇreˇsen´ı zaloˇzen´em na redukci mnoˇzstv´ı zpracov´avan´ych dat. Vstupn´ı ˇc´ast bude vˇzdy zpracov´avat jen takov´y poˇcet paket˚u, kter´y zpracovat dok´aˇze.

Pˇrenosov´y kan´al bude pˇren´aˇset tak´e jen objemy, kter´e pˇren´est zvl´adne a obdobnˇe to plat´ı i pro pamˇet’ tok˚u.

V ˇc´asti 2.6 byly uvedeny tˇri metody pouˇz´ıvan´e za t´ımto ´uˇcelem. Pro sondu FlowMon se jev´ı nejvhodnˇejˇs´ı vzorkov´an´ı pr´avˇe proto, ˇze nen´ı tˇreba zn´at vlastnosti monitorovan´eho provozu, aby mohl b´yt redukov´an.

(23)

Kapitola 4

Anal´ yza chov´ an´ı sondy

V t´eto kapitole se budeme zab´yvat mezn´ımi situacemi, ve kter´ych se m˚uˇze sondaFlowMon ocitnout. C´ılem je odhalit okamˇziky, kdy doch´az´ı k nekontrolovan´emu zahazov´an´ı paket˚u.

Tato informace bude n´aslednˇe d˚uleˇzit´a pro n´avrh a realizaci ˇreˇsen´ı, kter´e nekontrolovan´emu zahazov´an´ı paket˚u zabr´an´ı.

V ˇc´asti 3.3 byly diskutov´any omezen´ı vypl´yvaj´ıc´ı z architektury a fyzick´ych zdroj˚u.

Kaˇzd´e z omezen´ı se projev´ı pˇri obecnˇe r˚uzn´ych (pˇresto ˇcasto podobn´ych) okolnostech.

Pod´ıv´ame se proto na kaˇzd´e omezen´ı v kontextu zkouman´eho jevu.

4.1 Nadmˇ ern´ e zat´ıˇ zen´ı

Stav, kdy sonda ˇcel´ı vysok´emu s´ıt’ov´emu provozu. Data odpov´ıdaj´ı bˇeˇzn´emu profilu s´ıt’ov´eho provozu.

• HFE – architektura sondy je vytvoˇrena s c´ılem zvl´adnout plnˇe vyt´ıˇzenou 1Gb/s linku.

Tuto rychlost zvl´ad´a zpracovat. Pˇripoj´ıme-li vˇsak linku 10Gb/s a provoz bude vyˇsˇs´ı neˇz pˇribliˇznˇe 2,5Gb/s, nebudou jednotky HFE schopny zpracovat pˇr´ıval dat a dojde k nekontrolovan´emu zahazov´an´ı paket˚u (viz. obr´azek 4.1).

• pˇrenos mezi kartami – omezen´ı se projev´ı v pˇr´ıpadˇe popsan´em v pˇredchoz´ım bodˇe, tentokr´at vˇsak s kr´atk´ymi pakety na vstupu. Ty zvl´ad´a HFE zpracovat. Ze vˇsech vytv´aˇr´ı jiˇz zm´ınˇenou unifikovanou hlaviˇcku (d´elka hlaviˇcky je stejn´a pro r˚uznˇe dlouh´e pakety; pro nejkratˇs´ı pakety je pak UH z´aznam delˇs´ı neˇz samotn´y paket). Poˇcet vy- tvoˇren´ych hlaviˇcek je ale vyˇsˇs´ı, neˇz kapacita pˇrenosov´eho kan´alu mezi kartami (viz.

obr´azek4.1). Opˇet doch´az´ı k nekontrolovan´e ztr´atˇe dat; zahazov´an´ı paket˚u.

• kapacita a rychlost pamˇeti– k vyˇcerp´an´ı dostupn´e pamˇeti dojde v okamˇziku, kdy bude, v pˇrev´aˇzn´e vˇetˇsinˇe po sobˇe jdouc´ıch paket˚u, paket n´aleˇzet nov´emu/jin´emu s´ıt’ov´emu toku. Tato situace vˇsak za norm´aln´ıch okolnost´ı nenast´av´a. Naopak je to vlastnost jist´ych druh˚u ´utok˚u.

port toky pakety provoz test0p3000 6,2 k/s 146,3 k/s 859,8 Mb/s test0p3001 6,4 k/s 132,8 k/s 786,3 Mb/s

Tabulka 4.1: Hodnoty odpov´ıdaj´ıc´ı grafu na obr´azku 4.2v ˇcase 12:00

(24)

Obr´azek 4.1: Propustnost 10gigabitov´e verze sondy v z´avislosti na d´elce paket˚u Na obr´azku 4.2 m˚uˇzeme vidˇet bˇeˇzn´y s´ıt’ov´y provoz. Obr´azek doplˇnuje tabulka 4.1, v n´ıˇz jsou ´udaje o poˇctu tok˚u, paket˚u a celkov´em provozu. Z tˇechto ´udaj˚u vypl´yv´a, ˇze pr˚umˇern´y poˇcet paket˚u na jeden tok je vyˇsˇs´ı neˇz 20. Na rozd´ıl od ´utoku, kde by se tato hodnota bud’ pˇr´ımo rovnala jedn´e nebo se jedn´e bl´ıˇzila.

4.2 Utoky ´

Bˇehem s´ıt’ov´eho ´utoku je provoz umˇele vytvoˇren za urˇcit´ym c´ılem. Existuje jeˇstˇe ˇrada dalˇs´ıch ´utok˚u mimo n´ıˇze uveden´e. Ty jsou ale ve vˇetˇsinˇe pˇr´ıpad˚u zamˇeˇreny na uˇzivatelsk´e sluˇzby a chyby v nich obsaˇzen´e. Nevedou ke zv´yˇsen´e z´atˇeˇzi s´ıtˇe ani k velk´emu mnoˇzstv´ı novˇe vznikaj´ıc´ıch s´ıt’ov´ych tok˚u. Neovlivˇnuj´ı ˇcinnost sondy, a proto nebudou diskutov´any.

4.2.1 DoS

Utok typu´ DoS (z angl. Denial Of Service), m´a za c´ıl pˇret´ıˇzit vybran´y objekt(sluˇzba, stroj) a znemoˇznit tak jeho funkˇcnost. Existuje cel´a ˇrada technik jak tento ´utok vyvolat (viz. [7] a [8]).

Pod´ıvejme se na dva zp˚usoby veden´ı ´utoku. Jeden s c´ılem zat´ıˇzit s´ıt’ na jej´ı plnou kapa- citu. Druh´y s c´ılem pˇret´ıˇzit sonduFlowMon.

Prvn´ı z uveden´ych je obdobou nadmˇern´eho zat´ıˇzen´ı. Vzhledem k tomu, ˇze se vˇsak jedn´a o ´utok, budou m´ıt pakety tvar odpov´ıdaj´ıc´ı nejhorˇs´ımu pˇr´ıpadu, tj. nejkratˇs´ı moˇznou d´elku.

(25)

Obr´azek 4.2: Poˇcet tok˚u v ˇcase. Na port test0p3000 a test0p30001 je zapojen p´ateˇrn´ı spoj dle obr´azku 3.2. Sn´ımek je poˇr´ızen z kolektoruNfSen.

V pˇr´ıpadˇe gigabitov´e linky sonda situaci zvl´adne (viz. obr´azek2.2). V pˇr´ıpadˇe 10gigabitov´e linky sonda bude nekontrolovanˇe zahazovat pakety (viz. obr´azek 4.1).

Druh´y typ ´utoku, zamˇeˇren´y proti sondˇe, je zaloˇzen na znalosti probl´emu s uchov´an´ım informac´ı o velk´em mnoˇzstv´ı tok˚u. Provoz se tak bude skl´adat z nejkratˇs´ıch paket˚u. Kaˇzd´y paket bude n´aleˇzet jin´emu s´ıt’ov´emu toku. To povede k vyˇcerp´an´ı dostupn´e pamˇeti pro uchov´an´ı z´aznam˚u o toku. Sonda se bude snaˇzit nucenˇe expirovat nejstarˇs´ı z´aznamy. Tato operace je ˇcasovˇe n´aroˇcn´a a pˇri pln´em vyt´ıˇzen´ı vstupn´ı ˇc´asti se stane ´uzk´ym m´ıstem. V ta- kov´emto pˇr´ıpadˇe bude sonda nekontrolovanˇe zahazovat pakety.

4.2.2 Skenov´an´ı port˚u

Skenov´an´ı port˚u charakterizuj´ı pokusy o vytvoˇren´ı spojen´ı na porty vybran´eho stroje. T´ımto postupem ´utoˇcn´ık zjist´ı pˇr´ıtomnost spuˇstˇen´ych sluˇzeb, jejichˇz prostˇrednictv´ım se n´aslednˇe pokus´ı z´ıskat kontrolu, tj. pˇr´ıstup k dat˚um, spr´avcovsk´a hesla. Pˇritom se snaˇz´ı vyuˇz´ıt ˇspatnˇe zabezpeˇcen´ych nebo zcela nezabezpeˇcen´ych sluˇzeb.

Profil s´ıt’ov´eho provozu bˇehem tohoto ´utoku tak obsahuje velk´e mnoˇzstv´ı paket˚u s r˚uzn´ymi c´ılov´ymi porty. To znamen´a i velk´e mnoˇzstv´ı s´ıt’ov´ych tok˚u. A stejnˇe jako u ´utoku DoS n´asleduje zahlcen´ı pamˇeti a nekontrolovan´e zahazov´an´ı paket˚u.

4.3 D˚ uleˇ zit´ e poznatky

Jak vypl´yv´a z proveden´e anal´yzy, doch´az´ı v mezn´ıch situac´ıch k nekontrolovan´emu za- hazov´an´ı paket˚u. Nejvˇetˇs´ım negativem nekontrolovan´eho zahazov´an´ı je nemoˇznost zpˇetnˇe zjistit mnoˇzstv´ı nezpracovan´ych dat. Z´aroveˇn tak nen´ı moˇzn´e statisticky upravit z´ıskan´e v´ysledky a korigovat chybu vzniklou redukc´ı dat.

Reˇˇ sen´ı vede cestou ˇr´ızen´e redukce dat. V ˇc´asti2.6byly vyjmenov´any pouˇz´ıvan´e metody a tak´e odvozen z´avˇer, ˇze vhodn´a metoda pro sondu FlowMon je vzorkov´an´ı dat. Pokud jsou pakety zahazov´any v dan´em pravideln´em pomˇeru, lze statistick´ymi metodami urˇcit p˚uvodn´ı mnoˇzstv´ı dat. Z´ıskan´y v´ysledek samozˇrejmˇe zatˇeˇzuje chyba, ta je vˇsak zanedbateln´a

(26)

v porovn´an´ı se ztr´atou informac´ı v okamˇziku nekontrolovan´eho zahazov´an´ı, kdy ani nelze vzniklou chybu urˇcit.

Redukce dat se st´av´a nezbytnou pˇredevˇs´ım u 10gigabitov´eho ˇreˇsen´ı, kdy ji potˇrebujeme i pˇri ne zcela zat´ıˇzen´e lince. Zlepˇsen´ı situace m˚uˇze pˇrin´est jednotka s moˇznost´ı nastavit vzorkovac´ı pomˇer (tj. pomˇer zpracovan´ych a zahozen´ych paket˚u). Pomˇer by se pak odvodil od nejvyˇsˇs´ıho moˇzn´eho toku a propustnosti sondy.

Takov´e ˇreˇsen´ı je vˇsak suboptim´aln´ı v okamˇziku, kdy by nebyla linka plnˇe vyt´ıˇzena (viz. ˇc´ast3.3). Z tohoto pohledu se nejlepˇs´ım pˇr´ıstupem jev´ı nastavovat vzorkov´an´ı podle aktu´aln´ıho zat´ıˇzen´ı a vyuˇzit´ı zdroj˚u sondy. Nastaven´ı by tak mˇelo reflektovat okamˇzit´e vyt´ıˇzen´ı monitorovan´e linky (tj. poˇcet paket˚u za sekundu), zat´ıˇzen´ı pˇrenosov´eho kan´alu mezi kartami a souˇcasn´e zaplnˇen´ı pamˇeti.

(27)

Kapitola 5

Adaptivn´ı vzorkovac´ı jednotka

V pˇredchoz´ıch kapitol´ach jsme uvedli teorii monitorov´an´ı s´ıt’ov´ych tok˚u, popsali architek- turu sondyFlowMon a provedli anal´yzu chov´an´ı sondy v mezn´ıch situac´ıch. Z´ıskan´e z´avˇery zhodnot´ıme pˇri n´avrhu ˇreˇsen´ı, kter´e m´a zabr´anit nekontrolovan´emu zahazov´an´ı paket˚u.

5.1 N´ avrh

V pr˚ubˇehu v´yvoje sondy byla vytvoˇrena jednotka umoˇzˇnuj´ıc´ı pravideln´e, n´ahodn´e vzor- kov´an´ı a vzorkov´an´ı podle d´elky (nam´ısto paket˚u jsou poˇc´ıt´any byty; je–li napoˇc´ıt´ana dan´a hodnota, je paket obsahuj´ıc´ı tento byte zpracov´an). Tuto jednotku (d´ale vzorkovac´ı j´adro) lze programovˇe nastavit. Tato operace je vˇsak ˇcasovˇe n´aroˇcn´a a vyˇzaduje interakci se softwa- rovou vrstvou, kter´a vn´aˇs´ı velk´e zpoˇzdˇen´ı. Proto je vhodn´a pouze pro jednor´azov´e nastaven´ı.

Jako v´ysledek dostaneme neoptim´aln´ı vzorkov´an´ı, kter´e nereaguje na zmˇeny v monitoro- van´em provozu (viz. kapitola 4).

Potˇrebujeme vytvoˇrit jednotku, kter´a odstran´ı velk´e zpoˇzdˇen´ı pˇri ˇr´ızen´ı programem.

Pˇritom je tˇreba, aby nov´a hodnota mˇela platnost alespoˇn po nˇejak´y ˇcasov´y interval. Rozdˇel´ıme si proto mˇeˇrenou veliˇcinu na ˇradu interval˚u, ve kter´ych z˚ustane nastaven´ı platn´e.

Navrhovan´a jednotka pak v ˇcase mˇen´ı konfiguraci vestavˇen´eho vzorkovac´ıho j´adra.

Chov´an´ı ˇr´ıd´ı zadan´e hodnoty; jednotka je nejprve inicializov´ana a na z´akladˇe inicializace jiˇz autonomnˇe ˇr´ıd´ı j´adro v z´avislosti na vstupn´ıch parametrech.

Souˇcasnˇe je umoˇznˇeno pˇrej´ıt do reˇzimu programov´eho ovl´ad´an´ı, kdy je kontrola plnˇe na stranˇe softwaru. Reˇzim programov´eho ˇr´ızen´ı se pouˇz´ıv´a pˇredevˇs´ım pro lad´ıc´ı ´uˇcely, nebot’

sebou nese neduhy zm´ınˇen´e v´yˇse, tj. velkou odezvu, pomal´e reakce.

Jako vstupn´ı parametry jednotky slouˇz´ı dvˇe 16bitov´e hodnoty. Pro kaˇzd´y vstupn´ı para- metr existuje mˇeˇr´ıc´ı blok, kter´y zajiˇst’uje pˇrevod stavu zkouman´eho jevu do informace v od- pov´ıdaj´ıc´ım tvaru. V prvn´ım n´avrhu byl jeden mˇeˇr´ıc´ı blok zaintegrov´an pˇr´ımo v adaptivn´ı vzorkovac´ı jednotce. To vˇsak nebylo dostateˇcnˇe obecn´e ˇreˇsen´ı. Pˇresunut´ım mimo jednotku vzniklo univerz´aln´ı rozhran´ı umoˇzˇnuj´ıc´ı vytv´aˇret dalˇs´ı mˇeˇr´ıc´ı bloky. Tak se do budoucna zv´yˇsila moˇznost pro ´upravy, vylepˇsen´ı a zmˇeny.

5.1.1 Blokov´e sch´ema

Na obr´azku 5.1 vid´ıme blokov´e sch´ema n´avrhu. Popiˇsme si nyn´ı v´yznam a funkci jednot- liv´ych blok˚u :

(28)

Obr´azek 5.1: Blokov´e sch´ema adaptivn´ı vzorkovac´ı jednotky

• pˇripojen´ı ke sbˇernici (lb connect) – jak bylo uvedeno v´yˇse, jednotka mus´ı b´yt inici- alizov´ana. Inicializace je ˇr´ızena programovˇe, proto zde mus´ı existovat moˇznost ko- munikace s registry a pamˇetmi um´ıstˇen´ymi v jednotce. K tomuto ´uˇcelu slouˇz´ı pr´avˇe popisovan´y blok.

Zprostˇredkov´av´a komunikaci mezi syst´emem sbˇernic navrˇzen´ych pro komunikaci uv- nitˇr FPGA. To je pak sv´ymi v´yvody napojeno na dalˇs´ı podp˚urn´e obvody umoˇzˇnuj´ıc´ı pˇripojen´ı k syst´emov´e sbˇernici PCI/PCI–X/PCI–Express (z´aleˇz´ı na typu karty, nyn´ı je platn´a verze PCI–X).

• param1 a param2 – vstupn´ı sign´aly. Na z´akladˇe hodnoty sign´al˚u se prov´ad´ı nastaven´ı samotn´e vzorkovac´ı jednotky.

• pamˇet’ rozsah˚u pro param1 a param2 (param1 and param2 range memory) – slouˇz´ı pro uchov´an´ı hodnot rozsah˚u pro jednotliv´e vstupn´ı sign´aly. Vnitˇrnˇe sest´av´a ze dvou oddˇelen´ych pamˇet´ı. Plnˇen´ı prob´ıh´a ve f´azi inicializace prostˇrednictv´ım bloku pˇripojen´ı ke sbˇernici. Nastaven´e hodnoty je moˇzno kdykoliv znovu inicializovat.

• pamˇet’ vzorkovac´ıch pomˇer˚u (sampling memory) – udrˇzuje zadan´e hodnoty pomˇer˚u zpracovan´ych a zahozen´ych paket˚u; tvoˇren jednou pamˇet´ı. Stejnˇe jako pˇredchoz´ı blok je pˇripojen ke sbˇernici a nastavov´an v dobˇe inicializace.

• programov´a konfigurace (sw configuration)– slouˇz´ı k programov´emu ovl´ad´an´ı vzorko- vac´ı jednotky prostˇrednictv´ım sady ˇr´ıd´ıc´ıch a datov´ych registr˚u. Stejnˇe jako pˇredchoz´ı dva bloky pˇripojen ke sbˇernici.

• v´ypoˇcetn´ı jednotka (control unit) – vyhodnocuje pˇr´ısluˇsnost vstupn´ıch parametr˚u do interval˚u zadan´ych v pamˇetech rozsah˚u pro param1 a param2. Podle v´ysledku inkre- mentuje/dekrementuje ˇr´adkov´y index spoleˇcn´y pro vˇsechny pamˇeti (pamˇet’ rozsah˚u pro param1 a param2, pamˇet’ vzorkovac´ıch pomˇer˚u). V pˇr´ıpadˇe potˇreby pak vys´ıl´a posloupnost ˇr´ıd´ıc´ıch sign´al˚u prov´adˇej´ıc´ıch zmˇenu nastaven´ı vzorkovac´ıho j´adra.

(29)

• vzorkovac´ı j´adro(sau core unit) – vzorkuje vstupn´ı impulsov´y sign´al v pr´avˇe nasta- ven´em pomˇeru zvolenou metodou (at’ uˇz pravidelnou ˇci n´ahodnou).

Kaˇzd´y pˇr´ıchoz´ı impuls odpov´ıd´a pˇrijat´emu paketu. V n´avaznosti na pˇrijat´y impuls j´adro nastav´ı/nenastav´ı odpov´ıdaj´ıc´ı v´ystupn´ı sign´al a rozhodne, jestli se paket zpra- cuje/zahod´ı.

• mˇeˇr´ıc´ı blok(measurement unit) – zpracov´av´a jev, na jehoˇz z´akladˇe je vzorkov´an´ı ˇr´ızeno, do podoby skal´arn´ı hodnoty (16bit˚u). Vnitˇrn´ı architekturou se mohou jed- notliv´e mˇeˇr´ıc´ı bloky v´yraznˇe liˇsit. Napˇr´ıklad blok vyhodnocuj´ıc´ı aktu´aln´ı pr˚umˇern´y poˇcet paket˚u za sekundu bude zˇrejmˇe zcela odliˇsn´y od bloku poskytuj´ıc´ıho informaci o zaplnˇen´ı pamˇeti tok˚u.

5.1.2 Princip funkce

Samotn´e j´adro adaptivn´ı vzorkovac´ı jednotky tvoˇr´ı v´ypoˇcetn´ı jednotka. Skl´ad´a se ze ˇctyˇr 16bitov´ych srovn´avac´ıch obvod˚u a vyhled´avac´ı tabulky (obsahem adresovan´a pamˇet’). Ne- ust´ale vyhodnocuje porovn´an´ı vstupn´ıch parametr˚u s jejich pˇr´ısluˇsn´ymi mezemi uloˇzen´ymi v pamˇetech (viz. obr´azek 5.2) :

param1 < doln´ı limit pro param1 param1 > horn´ı limit pro param1 param2 < doln´ı limit pro param2 param2 > horn´ı limit pro param2

V´ysledkem tˇechto porovn´an´ı dost´av´ame ˇctyˇri logick´e hodnoty. Konkatenac´ı pak z´ısk´ame 4bitov´y vektor. Vektor slouˇz´ı jako vstupn´ı adresa jiˇz zm´ınˇen´e vyhled´avac´ı tabulky. Ta repre- zentuje logickou funkci. V´ystup logick´e funkce je 2bitov´y. Vznik´a tedy mapov´an´ı, kdy pro kaˇzd´y moˇzn´y 4bitov´y vektor existuje odpov´ıdaj´ıc´ı 2bitov´a hodnota. Tato hodnota ovl´ad´a ˇ

c´ıtaˇc ˇr´adkov´eho indexu (viz. obr´azek 5.2)

• 1. bit pokud m´a hodnotu logick´a 1, bude se mˇenit hodnota ˇc´ıtaˇce,

• 2. bit logick´e ´urovnˇe ˇr´ıkaj´ı, kter´ym smˇerem (nahoru ˇci dol˚u) se ˇc´ıt´a.

Zmˇena ˇc´ıtaˇce ˇr´adkov´eho indexu zp˚usob´ı zmˇenu rozsah˚u pro vstupn´ı parametry a tak´e vzorkovac´ıho pomˇeru. Pokud k takov´e ud´alosti dojde, vyvol´a ˇr´ıd´ıc´ı jednotka posloupnost sign´al˚u, kter´e vedou k obnoven´ı nastaven´ı vzorkovac´ıho j´adra. Tato akce se opakuje pokaˇzd´e, dojde–li ke zmˇenˇe pomˇeru; bud’ n´asledkem posunu ˇr´adkov´eho indexu nebo pˇreps´an´ım hod- not v pˇr´ısluˇsn´e pamˇeti (inicializac´ı).

5.1.3 Mˇeˇr´ıc´ı jednotky

Mˇeˇr´ıc´ı bloky jsou integr´aln´ı souˇc´ast´ı adaptivn´ı vzorkovac´ı jednotky. V´yˇse jsme popsali i jejich funkci, tj. snaˇz´ı se ohodnotit stav nˇejak´eho dˇeje skal´arn´ı hodnotou. V naˇsem pˇr´ıpadˇe vyjadˇruj´ı poˇcet paket˚u za sekundu nebo zaplnˇen´ı pamˇeti aj. Obecnˇe vˇsak mohou popisovat libovolnou vlastnost sondy, kter´a je nˇejak´ym zp˚usobem reprezentovateln´a skal´arn´ı 16bitovou hodnotou.

Vych´az´ı z anal´yzy proveden´e v pˇredchoz´ı kapitole :

(30)

Obr´azek 5.2: Detail pamˇet´ı pouˇzit´ych v adaptivn´ı vzorkovac´ı jednotce

• pr˚umˇern´y poˇcet paket˚u– poˇc´ıt´a aktu´aln´ı pr˚umˇern´y poˇcet paket˚u v uplynul´em ˇcasov´em intervalu. Intervaly jsou kr´atk´e a je tak zajiˇstˇena rychl´a reakce na zmˇeny. Tento blok m´a za c´ıl umoˇznit sondˇe, pomoc´ı zmˇeny vzorkovac´ıho pomˇeru, vypoˇr´adat se s nadmˇern´ym zat´ıˇzen´ım. Nastaven´ı vzorkovac´ıch pomˇer˚u odvod´ıme od zjiˇstˇen´e ma- xim´aln´ı propustnosti. V´ysledkem z´ısk´ame maxim´aln´ı vyuˇzit´ı sondy spolu s kontrolo- van´ym zahazov´an´ım paket˚u.

• zaplnˇen´ı vyrovn´avac´ı pamˇeti pro pˇrenos mezi kartami – tak´e jeden z moˇzn´ych pa- rametr˚u ovlivˇnuj´ıc´ıch ´uroveˇn vzorkov´an´ı; v souˇcasn´e dobˇe vˇsak nen´ı pro pˇrenos vy- rovn´avac´ı pamˇet’ pouˇz´ıv´ana.

• zaplnˇen´ı pamˇeti tok˚u – spolu s pr˚umˇern´ym poˇctem paket˚u tvoˇr´ı p˚uvodnˇe pl´anovan´e vstupn´ı parametry pro ˇr´ızen´ı adaptivn´ıho vzorkov´an´ı.

Pod´av´a informaci o zb´yvaj´ıc´ı kapacitˇe pamˇeti a pˇredch´az´ı tak jej´ımu vyˇcerp´an´ı zmˇenou vzorkovac´ıho pomˇeru.

Prozat´ım je implementov´ana pouze jedna mˇeˇr´ıc´ı jednotka a to jednotka pro v´ypoˇcet pr˚umˇern´eho poˇctu paket˚u za sekundu. Pˇri n´avrhu byl br´an ohled na moˇznost mˇenit vlast- nosti pomoc´ı generick´ych parametr˚u. Jednotka tak umoˇzˇnuje v dobˇe pˇrekladu nastavit ˇ

casov´y interval z nˇehoˇz se urˇcuje pr˚umˇern´y poˇcet paket˚u. D´ale lze mˇenit poˇcet pouˇzit´ych ˇ

c´ıtaˇc˚u a ovlivnit tak mnoˇzstv´ı zabran´ych zdroj˚u, ale pˇredevˇs´ım rychlost aktualizace mˇeˇren´e hodnoty. ˇC´ıtaˇce jsou rovnomˇernˇe pˇrekryty a proto se ´udaj aktualizuje po uplynut´ı doby

ren´y interval poˇcet ˇc´ıtaˇu .

5.2 Implementace

Vzhledem k tomu, ˇze hardwarovou platformou pro realizaci sondy je programovateln´e pole (FPGA), byl zvolen jazyk VHDL. V nˇem lze vytv´aˇren´y syst´em definovat na ´urovni struk- tur´aln´ı, kdy se pop´ıˇse propojen´ı jednotliv´ych stavebn´ıch prvk˚u, nebo behavior´aln´ı, kdy se naopak pop´ıˇse chov´an´ı architektury. V pˇr´ıpadˇe adaptivn´ı vzorkovac´ı jednotky se jedn´a o behavior´aln´ı popis.

(31)

Implementaˇcn´ım probl´em se vyskytl pˇri synchronizaci pamˇeti rozsah˚u s rozhodovac´ı funkc´ı. Pˇri ˇcten´ı dat z pamˇeti rozsah˚u doch´az´ı ke zpoˇzdˇen´ı, n´aslednˇe i pˇri porovn´an´ı se vstupn´ımi parametry. Teprve v´ysledek porovn´an´ı slouˇz´ı jako vstup logick´e funkce. Po dobu neˇz jsou data vyˇctena a provedeno porovn´an´ı je tˇreba blokovat ˇc´ıtaˇc ˇr´adkov´eho indexu.

Probl´em se stupˇnuje se snahou zv´yˇsit maxim´aln´ı frekvenci synchronizaˇcn´ıch hodin. Po- psan´a cesta od pamˇet´ı rozsah˚u po rozhodovac´ı funkci tvoˇr´ı nejdelˇs´ı logickou cestu. Probl´em vyˇreˇs´ıme vloˇzen´ım registru do cesty a umoˇzn´ıme tak zpracov´an´ı ve v´ıce kroc´ıch. Zkr´at´ı se d´elka cesty a zv´yˇs´ı maxim´aln´ı pouˇziteln´a frekvence hodin. Na druhou stranu se zvˇetˇs´ı zpoˇzdˇen´ı a je nutno prodlouˇzit dobu, po kterou mus´ı b´yt ˇc´ıtaˇc ˇr´adkov´eho indexu blokov´an.

Naˇstˇest´ı tyto prodlevy nejsou kritick´e. Zmˇena vstupn´ıch parametr˚u trv´a v´yraznˇe delˇs´ı dobu (samotn´y pˇr´ıjem paketu trv´a d´ele). Z´aroveˇn ale negativnˇe p˚usob´ı na dobu, po kterou se jednotka ustaluje v okamˇziku spuˇstˇen´ı (inicializaci).

5.3 Simulace

Nezbytn´ym krokem pˇri realizaci t´eto pr´ace je simulace chov´an´ı adaptivn´ı vzorkovac´ı jed- notky a tak´e anal´yza vlivu na zbytek sondy. Pomoc´ı simulace jsme schopni odhalit zda navrˇzen´e ˇreˇsen´ı splˇnuje kladen´e poˇzadavky.

5.3.1 Simulaˇcn´ı model

Pamˇet’ mez´ı pro param1 Vzorkovac´ı pomˇer horn´ı mez doln´ı mez

0 50 0

48 100 1

98 150 2

148 200 3

198 250 4

248 300 5

298 350 6

348 400 7

398 450 8

448 500 9

498 550 10

548 600 11

698 650 12

648 700 13

698 750 14

748 800 15

Tabulka 5.1: Nastaven´ı adaptivn´ıho vzorkov´an´ı odpov´ıdaj´ıc´ı grafu z obr´azku 5.3 Simulaˇcn´ı model vyuˇz´ıv´a rozˇs´ıˇren´ı jazyka C++, konkr´etnˇe knihovny SIMLIB (viz. [11]).

N´astroj je vhodn´y jak pro spojitou tak i pro diskr´etn´ı simulaci. V naˇsem pˇr´ıpadˇe se jedn´a o diskr´etn´ı model ˇr´ızen´y synchronizaˇcn´ımi impulsy (odpov´ıdaj´ı hodinov´emu sign´alu v ob- vodov´em ˇreˇsen´ı).

(32)

Model popisuje z´akladn´ı bloky uveden´e v blokov´em sch´ema (viz. obr´azek5.1). Neobsa- huje vˇsak jednotku pro pˇripojen´ı ke sbˇernici, kter´a je v programovac´ım jazyce zastoupena inicializac´ı promˇenn´ych.

Pouˇzit´e nastaven´ı adaptivn´ı vzorkovac´ı jednotky ukazuj´ı tabulky 5.1 (meze vstupn´ıch parametr˚u a odpov´ıdaj´ıc´ı vzorkovac´ı pomˇery) a 5.2(logick´a funkce).

Aby simulaˇcn´ı model odpov´ıdal souˇcasn´e v´yvojov´e f´azi jednotky a mˇeˇr´ıc´ıch blok˚u, vyuˇz´ıv´a pouze jeden vstupn´ı parametr. Proto uveden´a tabulka rozsah˚u obsahuje pouze jeden sloupec pro param1 a z´aroveˇn se zjednoduˇsila ˇr´ıd´ıc´ı funkce, kter´a reaguje pouze na hodnoty prvn´ıho parametru; hodnoty druh´eho zanedb´av´a.

vstup mˇenit nahoru — vstup mˇenit nahoru

0000 false false — 1000 true false

0001 false false — 1001 true false

0010 false false — 1010 true false

0011 false false — 1011 true false

0100 true true — 1100 false false

0101 true true — 1101 false false

0110 true true — 1110 false false

0111 true true — 1111 false false

Tabulka 5.2: Logick´a funkce odpov´ıdaj´ıc´ı grafu z obr´azku 5.3

Logick´a funkce (viz. tabulka 5.2) poskytuje ˇsirok´e prostˇredky pro nastaven´ı chov´an´ı.

T´ım, ˇze jsme schopni pro kaˇzdou vstupn´ı kombinaci definovat v´ystupn´ı hodnotu, lze dos´ahnout prakticky libovoln´eho chov´an´ı. Zˇrejmˇe nejzaj´ımavˇejˇs´ı se jev´ı varianta, kdy d´ame prioritu ˇr´ızen´ı jednomu ze dvou vstupn´ıch parametr˚u. Druh´y pak slouˇz´ı jako doplˇnkov´e ˇr´ızen´ı v pˇr´ıpadˇe, kdy prvn´ı nevyˇzaduje a naopak povoluje zmˇeny.

Vznik´a tak moˇznost reflektovat d˚uleˇzitost jednotliv´ych omezuj´ıc´ıch vliv˚u do nastaven´ı adaptivn´ı vzorkovac´ı jednotky. Prioritu by z´ıskal parametr vypov´ıdaj´ıc´ı o zaplnˇen´ı pamˇeti a jako doplˇnuj´ıc´ı by byl vyuˇzit pr˚umˇern´y poˇcet paket˚u.

Alternativn´ı varianta : oba parametry mohou samostatnˇe zv´yˇsit vzorkovac´ı pomˇer bez ohledu na druh´y. V opaˇcn´em pˇr´ıpadˇe, tj. sn´ıˇzen´ı pomˇeru, dojde ke zmˇenˇe jen pˇri shodˇe obou parametr˚u. Oba nab´yvaj´ı stejn´e v´ahy a jedn´a se tak o spravedliv´y pˇr´ıstup na m´ısto prioritn´ıho v prvn´ım pˇr´ıpadˇe.

5.3.2 V´ysledky z´ıskan´e simulac´ı

V´ysledky z´ıskan´e simulac´ı zobrazuje graf na obr´azku5.3. Rozloˇzen´ı pˇr´ıchodu paket˚u ud´av´a funkce cos(x) posunut´a nad osu x. Uprostˇred zobrazen´eho intervalu m´a minim´aln´ı hod- notu. Dojde tedy ke dvˇema pr˚unik˚um s pˇr´ımkou ud´avaj´ıc´ı maxim´aln´ı zat´ıˇzen´ı. Jednou jako funkce klesaj´ıc´ı, podruh´e rostouc´ı. Pr´avˇe proto byla vybr´ana; umoˇzˇnuje sledovat chov´an´ı v okamˇzic´ıch, kdy je tˇreba zaˇc´ıt/pˇrestat vzorkovat pakety.

Maxim´aln´ı hodnoty funkce pˇr´ıchodu paket˚u nab´yv´a pˇribliˇznˇe desetin´asobku maxim´aln´ıho zat´ıˇzen´ı. Toto je opˇet poˇzadovan´a vlastnost a ukazuje, jak by se sonda chovala pˇri pouˇzit´ı adaptivn´ı vzorkovac´ı jednotky na 10Gb/s lince (sonda bezpeˇcnˇe zvl´ad´a 1GB/s).

V tˇesn´e bl´ızkosti svisl´e osy vid´ıme velk´e mnoˇzstv´ı paket˚u oznaˇcen´ych za zpracovan´e.

Mnoˇzstv´ı vˇsak v´yraznˇe pˇresahuje pˇres hladinu maxim´aln´ı propustnosti. Tyto pakety by v re´aln´em provozu byly nekontrolovatelnˇe zahozeny. Jedn´a se vˇsak pouze o okamˇzik spuˇstˇen´ı

(33)

0 100 200 300 400 500

0 100000 200000 300000 400000 500000 600000 700000 800000 900000 1e+06

Prumerný pocet paketu za zvolenou casovou jednotku

Pakety

prijaté pakety zahozené pakety zpracované pakety maximální propustnost 50% vyuzití zdroju

Obr´azek 5.3: Graf vyjadˇruj´ıc´ı poˇcet pˇrijat´ych, zpracovan´ych a zahozen´ych paket˚u sondy, kdy ˇcel´ı velk´emu s´ıt’ov´emu provozu. Situace se rychle ust´al´ı a k dalˇs´ım obdobn´ym v´ykyv˚um nad´ale nedoch´az´ı.

Popsan´a negativn´ı vlastnost se projev´ı pouze v pˇr´ıpadˇe spuˇstˇen´ı nebo opakovan´e ini- cializace adaptivn´ı vzorkovac´ı jednotky. Nav´ıc se jednotka pˇrizp˚usob´ı velmi rychle, proto popsan´e chov´an´ı nebr´an´ı pouˇzit´ı v re´aln´e aplikaci.

Velmi d˚uleˇzitou souˇc´ast´ı grafu je i pˇr´ımka ud´avaj´ıc´ı hladinu 50% vyuˇzit´ı sondy. Poˇzadovan´e minim´aln´ı zat´ıˇzen´ı lze ch´apat jako vstupn´ı promˇennou pˇri v´ypoˇctu mez´ı pro jednotliv´e pa- rametry. V grafu vid´ıme, ˇze poˇcet zpracovan´ych paket˚u neklesne pod tuto hranici pokud samotn´y monitorovan´y provoz nepoklesne. Jin´ymi slovy m˚uˇzeme ˇr´ıct, ˇze vyuˇzit´ı sondy je vˇzdy nejm´enˇe 50%. Tato hranice lze nastavit i vyˇsˇs´ı podle potˇreby. Minimalizuje se tak mnoˇzstv´ı paket˚u zahozen´ych v d˚usledku vzorkov´an´ı a udrˇzuje se optim´aln´ı zat´ıˇzen´ı sondy.

5.4 Ovˇ eˇ ren´ı funkce

Adaptivn´ı vzorkovac´ı jednotka se pouˇz´ıv´a jak v 1GB/s verzi tak 10GB/s verzi sondy FlowMon. V re´aln´ych nasazen´ıch vyuˇz´ıv´ame prozat´ım softwarov´eho ˇr´ızen´ı vzorkov´an´ı. Ve zkuˇsebn´ım provozu vˇsak jiˇz byla jednotka testov´ana a vykazovala poˇzadovanou funkciona- litu.

Zkuˇsebn´ı provoz byl zachycen n´astrojem tcpdump a do sondy odesl´an pomoc´ı pˇr´ıkazu tcpreplay. Vˇse probˇehlo na jednom z pracovn´ıch poˇc´ıtaˇc˚u projektu Liberouter osazen´eho kartamiCOMBO6X a COMBO-4SFPRO.

Pˇr´ıkaz tcpreplay umoˇzˇnuje nastavit rychlost odes´ıl´an´ı zachycen´eho vzorku dat. Tak bylo moˇzn´e srovnat reakce vytvoˇren´e jednotky se skuteˇcnost´ı.

Po zah´ajen´ı pˇrenosu paket˚u z pomocn´eho stroje zapojen´eho proti sondˇe FlowMon byly

(34)

vyˇc´ıt´any aktu´aln´ı hodnoty lad´ıc´ıch registr˚u, kter´e prok´azaly shodu s pˇredpokl´adan´ymi hod- notami. Chov´an´ı odpov´ıdalo jak simulac´ım modelu vytvoˇren´eho v jazyce C++, tak simu- lac´ım samotn´e implementace v jazyce VHDL.

5.5 Diskuze

Velk´y prostor pro pr´aci s jednotkou nab´ız´ı jej´ı konfiguraˇcn´ı moˇznosti, kdy m˚uˇzeme prov´est ˇrady anal´yz a test˚u optim´aln´ıch vzorkovac´ıch pomˇer˚u a odpov´ıdaj´ıc´ıch rozsah˚u. Nem´enˇe d˚uleˇzit´e pak bude nastaven´ı mˇeˇr´ıc´ıch blok˚u (mohou v´yznamn´ym zp˚usobem zmˇenit reakce sondy).

Na druhou stranu pˇrin´aˇs´ı velk´a variabilita prostor pro vznik nevhodn´ych a ˇspatnˇe fun- guj´ıc´ıch nataven´ı. V pr˚ubˇehu v´yvoje bylo pˇri simulac´ıch VHDL k´odu zjiˇstˇeno, ˇze m˚uˇze napˇr´ıklad doj´ıt k neust´al´emu pˇrep´ın´an´ı mezi dvˇema vzorkovac´ımi pomˇery. K takov´emu jevu doch´az´ı v pˇr´ıpadˇe, kdy maj´ı stejnou v´ahu oba vstupn´ı parametry. Jin´ymi slovy je nevhodn´ym zp˚usobem sestavena ˇr´ıd´ıc´ı logick´a funkce.

Doporuˇcen´ım pro n´avrh mez´ı je vytvoˇrit pˇrekryt´ı jednotliv´ych interval˚u. Nastaven´ı se tak stane v´ıce odoln´ym proti oscilaci vstupn´ıho parametru kolem jedn´e z mez´ı. Pˇr´ıklad takov´eho pˇrekryt´ı lze spatˇrit i v tabulce5.1. Tam vid´ıme pˇrekryt´ı jen minim´aln´ı – vych´az´ı ze znalosti pr˚ubˇehu rozloˇzen´ı paket˚u (viz. obr´azek 5.3). Pro re´aln´e pouˇzit´ı se doporuˇcuje dodrˇzet pˇrekryt´ı, kter´e n´azornˇeji ukazuje obr´azek5.4.

Obr´azek 5.4: Uk´azka vhodn´eho pˇrekryt´ı mez´ı nastaven´ych pro vstupn´ı parametry Pro spr´avnou funkci je nezbytn´e korektn´ı nastaven´ı. Pˇri splnˇen´ı tohoto pˇredpokladu bude adaptivn´ı vzorkovac´ı jednotka plnit sv˚uj ´uˇcel, tj. zamezovat nekontrolovan´emu zaha- zov´an´ı paket˚u a z´aroveˇn minimalizovat mnoˇzstv´ı zahozen´ych paket˚u. Je tˇreba pˇripomenout nekontrolovan´e zahazov´an´ı, kter´e nast´av´a po spuˇstˇen´ı jednotky pˇri velk´em provozu. Ale jak jiˇz bylo ˇreˇceno, jedn´a se o velmi kr´atk´y jev, a proto lze ve v´ysledku zanedbat.

Dalˇs´ım krokem ve v´yvoji by mˇelo b´yt vytvoˇren´ı nov´ych mˇeˇr´ıc´ıch blok˚u. D˚uleˇzit´e bude zejm´ena vytvoˇrit blok pro zpracov´an´ı aktu´aln´ıho stavu pamˇeti tok˚u.

(35)

Kapitola 6

Z´ avˇ er

C´ılem t´eto pr´ace bylo vytvoˇrit jednotku adaptivn´ıho vzorkov´an´ı, kter´a bude z´aroveˇn mi- nimalizovat mnoˇzstv´ı paket˚u zahozen´ych v d˚usledku vzorkov´an´ı. Jednotka byla implemen- tov´ana, odzkouˇsena v hardwaru, a tud´ıˇz byl c´ıl splnˇen.

Pro ´uspˇeˇsnou realizaci byla nastudov´ana problematika s´ıt’ov´ych tok˚u, metody redukce dat a druhy s´ıt’ov´ych ´utok˚u. Tyto jsou pops´any v druh´e kapitole s n´azvemPoˇc´ıtaˇcov´e s´ıtˇe a monitorov´an´ı s´ıt’ov´ych tok˚u.

Jednotka byla vytv´aˇrena jako souˇc´ast sondy FlowMon, proto bylo tˇreba se sezn´amit s architekturou sondy. Architekturu popisuje tˇret´ı kapitola nazvan´a Architektura sondy FlowMon. Jako v´ychoz´ı bod pro samotnou implementaci poslouˇzila anal´yza chov´an´ı sondy v krajn´ıch pˇr´ıpadech, jak´ymi jsou ´utoky a nadmˇern´e zat´ıˇzen´ı (kapitola Anal´yza chov´an´ı sondy). N´avrh a n´asledn´a implementace byla provedena s ohledem na vysokou variabilitu pouˇzit´ı. Popis n´avrhu, implementace, simulace i ovˇeˇren´ı funkce obsahuje kapitolaAdaptivn´ı vzorkovac´ı jednotka.

Nejvˇetˇs´ı pˇrednost´ı adaptivn´ı vzorkovac´ı jednotky pak jsou t´emˇeˇr neomezen´e moˇznosti mˇenit nastaven´ı hardwaru bez nutnosti zmˇen samotn´e obvodov´e realizace. Z´aroveˇn posky- tuje n´ızko´urovˇnov´e ˇreˇsen´ı vysok´y v´ykon a rychlou odezvu na zmˇeny.

Moˇznosti nasazen´ı jsou ˇsirok´e. Pˇri pouˇzit´ı adaptivn´ı vzorkovac´ı jednotky lze provozovat sondu jak na bˇeˇzn´ych spoj´ıch lok´aln´ı ´urovnˇe, kdy vhodn´e nastaven´ı zajist´ı, ˇze se pakety nebudou zahazovat, tak i na p´ateˇrn´ıch spoj´ıch, kdy bude jednotka mˇenit vzorkovac´ı pomˇery podle aktu´aln´ıho zat´ıˇzen´ı a vyuˇzit´ı zdroj˚u.

Adaptivn´ı vzorkov´an´ı paket˚u zvyˇsuje n´askok sondyFlowMon pˇred konkurenˇcn´ımi soft- warov´ymi n´astroji. Pˇredevˇs´ım v okamˇzic´ıch ´utok˚u a nadmˇern´e z´atˇeˇze. Souˇcasnˇe minimali- zuje mnoˇzstv´ı ˇr´ızenˇe zahozen´ych paket˚u a udrˇzuje tak vysokou kvalitu nab´ızen´ych sluˇzeb.

Dovoluji si tedy ˇr´ıct, ˇze pr´ace splnila sv˚uj ´uˇcel a pˇrinesla ˇradu zaj´ımav´ych poznatk˚u, kter´e budou zhodnoceny zejm´ena ve f´azi nasazen´ı do skuteˇcn´eho provozu. Pˇrispˇeje nejen k lepˇs´ımu pˇrehledu o pouˇz´ıvan´ych s´ıt’ov´ych sluˇzb´ach, ale tak´e ke zv´yˇsen´ı bezpeˇcnosti poˇc´ı- taˇcov´ych s´ıt´ı.

Do budoucna by mˇela b´yt jednotka doplnˇena o dalˇs´ı mˇeˇr´ıc´ı bloky. Z´aroveˇn by pr´aci s jednotkou usnadnil n´astroj, kter´y by na z´akladˇe zadan´ych parametr˚u s´ıtˇe a poˇzadovan´eho vyuˇzit´ı sondy pˇripravil kompletn´ı konfiguraci jednotky. Pˇr´ıpadnˇe i sloˇzitˇejˇs´ı regulaˇcn´ı syst´em, kter´y by v pravideln´ych intervalech hodnotil kvalitu aktu´aln´ıho nastaven´ı a pˇrizp˚usoboval jej potˇreb´am uˇzivatele.

Odkazy

Související dokumenty

V teoretick´ e ˇ c´ asti pr´ ace jsou pops´ any moˇ znosti pouˇ zit´ı jazyka Kotlin pˇ ri v´ yvoji aplikac´ı pro Android a pˇ ri v´ yvoji serverov´ ych aplikac´ı

V n´ı byla tak´ e bˇ ehem porovn´ an´ı s dokumentac´ı objevena chyba v poˇ ctu iterac´ı pouˇ zit´ ych v procesu odvozen´ı kl´ıˇ ce z hlavn´ıho hesla (pro kte- rou bylo

V t´ eto sekci pop´ıˇ su moˇ zn´ e ˇ reˇ sen´ı pouˇ zit´ı akcelerometru pro ´ uˇ cel ovl´ ad´ an´ı auta pomoc´ı n´ aklonu, zvolen´ e ˇ reˇ sen´ı a schematick´

Pˇ ri pokraˇ cov´ an´ı zkoum´ an´ı problematiky tv´ arn´ eho poruˇ sen´ı bylo pozorov´ ano [34], ˇ ze tv´ arn´ e poruˇ sen´ı nen´ı plnˇ e vystihov´ ano s

Pˇredmˇ etem t´ eto bakal´ aˇrsk´ e pr´ ace je odvozen´ı diferenci´ aln´ıch rovnic obecn´ e teorie relativity vhodn´ ych pro jejich numerick´ e ˇreˇsen´ı.

Jednou z moˇ znost´ı zpracov´ an´ı ultrazvukov´ ych sn´ımk˚ u, nikoliv vˇ sak nejlepˇ s´ı, je pouˇ zit´ı prostˇ red´ı MATLAB, kter´ y je v akademick´ e sf´ eˇ re

Prezentace v´ ysledk˚ u by byla pˇ rehlednˇ ejˇ s´ı, pokud by pr´ ace obsahovala kromˇ e hromadn´ eho porovn´ an´ı vˇ sech pouˇ zit´ ych kombinac´ı tak´ e v´ıce

Podrobnosti o kartiˇcce, kter´e jdou v nastaven´ı vypnout, popisuj´ı zleva poˇcet ˇspatn ´ych odpovˇed´ı, odpovˇed´ı celkem, interval v dnech, o kolik´at´e