Analýza súčasného stavu
Aplikačné využitie meraní prevádzkových parametrov počítačových sietí (originally by Michal Kascak)
Úvod
V dnešných spojovo orientovaných prostrediach poskytovatelia služieb zvyčajne aplikujú účtovanie založené na používaní pre hlasové služby a paušálne účtovanie pre dátové služby. V prostredí internetu (založené na nespojovanom IP) sa požiadavky na účtovanie príliš neodlišujú. Poskytovateľ musí byt’ schopný účtovať za výnimočné služby vyššie poplatky. Toto si vyžaduje nove nástroje na efektívnu kvantifikáciu a meranie hodnoty služby a zaistenie jej dohodnutej úrovne.
Klasifikácia sieťovej prevádzky a schopnosť špecifikovať, odchytávať, merať a účtovať za príslušnú kvalitu služieb (
QoS?) je kritická pre poskytovateľov, ktorí chcú diferencovať poskytované služby a účtovať vyššie poplatky za lepšie služby. Toto umožňujú vznikajúce nové technológie, ktoré dovoľujú poskytovateľom účtovať na základe používania služieb na sieťovej, služobnej a aplikačnej úrovni.
Bližšia špecifikácia zadania
Práca sa zaoberá možnosťami využitia merania prevádzkových parametrov počítačových sietí, ktoré definuje a opisuje štandard IPFIX. Hlavný dôraz bol kladený práve na účtovanie založené na používaní siete. Implementačným východiskom bola existujúca realizácia štandardu IPFIX vo forme aplikácie
BasicMeter, pre ktorú bol navrhnutý a implementovaný modul, ktorý spĺňa základné požiadavky na účtovací systém. Cieľom mojej práce bolo nasadenie tohto modulu do reálnej prevádzky a s tým súvisiace testovanie.
Analýza problematiky
Účtovanie
Špecifikom služby je možnosť jej účtovania zákazníkovi. Paušálne účtovanie je relatívne priame - požaduje, aby poskytovateľ vedel určiť aktivačné a deaktivačné časy služieb a ponúknuť dohodu o úrovni poskytovaných služieb. Danou limitovanou množinou požiadaviek, paušálne účtovanie môže byť uskutočnené efektívne bez potreby na interakciu so sieťovými elementmi alebo podpornými systémami.
Na druhej strane, diferencované ponuky služieb, ako napríklad vrstvené dátové a aplikačné služby, požadujú viac sofistikované metriky na meranie a účtovanie pre rôzne úrovne hodnôt. Z pohľadu príjmov, poskytovateľ by mal preferovať účtovanie za využitie siete a služieb, nie jednoducho paušálnym spôsobom. Pre účtovanie na základe používania je potrebné poznať využitie sieťových zdrojov, za ktoré je zodpovedná aktívna služba.
V tomto modeli zákazník kupuje službu, nie počet prenesených bytov. Služba charakterizovaná ako identifikovateľná množina paketov s rovnakými vlastnosťami (packet flow) alebo podmnožina sieťovej prevádzky produkovanej zákazníkom, ktorá prebieha v špecifickej doméne alebo sieťovej ceste medzi koncovými stanicami. Inými slovami, pre presné účtovanie a vystavenie účtu za poskytnuté služby, poskytovateľ musí mať príslušné sieťové prvky a softvérové nástroje schopné efektívne a presne zozbierať špecifické metriky z týchto sieťových prvkov. Tieto musia byť takisto schopné produkovať zmysluplné dáta na vhodnej úrovni granularity. Operátor siete musí vedieť abstrahovať účtovné metriky na úrovni služby z perspektívy koncových zariadení.
Riadenie účtovania
Architektúra riadenia účtovania zahŕňa interakciu medzi sieťovými zariadeniami, účtovacími servermi a faktúrovacími servermi. Sieťové´ zariadenie odchytáva dáta o spotrebe zdrojov vo forme účtovacích metrík. Táto informácia je potom posunutá účtovaciemu serveru. Typicky sa toto deje prostredníctvom účtovacieho protokolu, aj keď je možné, aby zariadenia generovali ich vlastné záznamy o spojení.
Účtovací server potom spracuje tieto dáta prijaté zo sieťového zariadenia. Tento proces môže zahŕňať sumarizáciu dočasných informácií, elimináciu duplikátnych dát alebo generovanie záznamov o spojení. Spracované dáta sú potom odoslané faktúrovaciemu serveru, ktorý typicky určí sadzbu a generuje faktúru, ale taktiež môže vykonať audit, analýzu trendu alebo funkcie na plánovanie kapacity. Relačné záznamy môžu byť agregované a kompresované účtovacím serverom pred tým, ako sú poslané faktúrovaciemu serveru z dôvodu redukcie veľkosti dát a zaťaženia siete.
Produkcia účtovacích záznamov
Typicky sa vygeneruje jeden účtovací záznam pre jedno spojenie alebo v niektorých prípadoch množina dočasných záznamov, ktoré môžu byť zosumarizované do jedného záznamu pre fakturačné účely. Pre podporu služieb ako bezdrôtový prístup alebo komplexný faktúrovací proces je potrebné sofistikovanejšie riešenie.
Je nutné generovať niekoľko účtovacích záznamov z jedného spojenia ak sa jedná o účtovanie počas trvania tohto spojenia. Napríklad, cena služby môže byť vyššia počas pracovných hodín ako počas víkendových. Pre spojenie pokračujúce z jednej tarify do druhej je potrebné, aby sieťové zariadenie oboznamovalo o poslaných paketoch počas obidvoch dôb.
Analýza súčasného stavu
Export dát
Merací proces odchytáva sieťovú prevádzku na priradenom sieťovom rozhraní. Tieto dáta následne spracováva a výstupom sú informácie o sieťovej prevádzke v podobe záznamov o dátových tokoch. Tieto informácie sú exportované v podobe správ protokolu IPFIX zberaciemu procesu.
Produkcia účtovacích záznamov
Kolektor prijíma dáta vo formáte správ IPFIX, ktoré následné spracováva. Prijatá správa môže obsahovať buď záznamy o šablónach alebo samotné informácie o dátových tokoch. Ak kolektor zistí, že sa jedná o záznam šablóny, túto uloží do pamäti. Doba uskladnenia šablóny v pamäti je voliteľná, štandardne 300 sekúnd. V prípade, že kolektor rozpozná dátový záznam hľadá príslušnú šablónu v pamäti. Podľa nej rozdelí dátový záznam na jednotlivé polia, ktoré uloží do príslušných štruktúr. Pre produkciu účtovacích záznamov, musí šablóna obsahovať, ako už bolo spomenuté, niekoľko povinných špecifikátorov polí. Každý takýto záznam dátového toku vstupuje do procesu agregácie do účtovacieho záznamu, a teda všetky prijaté záznamy o dátových tokoch v danom časovom intervale so spoločnými charakteristikami vytvárajú jeden účtovací záznam. Zosumarizovaný účtovací záznam má tieto charakteristiky:
- Zdrojová a cieľová IP adresa
- Použitý transportný protokol
- Zdrojový a cieľový port
- IP Differentiated Services Code Point (DSCP)
- Príznak multicastu
- Čas exportu účtovacieho záznamu
- Súhrnný počet paketov v dátových tokoch
- Súhrnný počet bytov v dátových tokoch
- Počet dátových tokov v účtovacom zázname
- Identifikátor účtovaného objektu, ktorému záznam patrí
Nasadenie v prevádzke
Merací nástroj
BasicMeter je nasadený na serveri qos-meter.cnl.tuke.sk v adresári /home/kudla/BasicMeter.
Exportér
Vzorový konfiguračný súbor config.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<configuration>
<readFile>false</readFile>
<dumpFile>test.dump</dumpFile>
<interface>eth0</interface>
<pcapFilter>ip</pcapFilter>
<flows>
<!-- in miliseconds smaller then activeTimeout-->
<passiveTimeout>5000</passiveTimeout>
<!-- in miliseconds -->
<activeTimeout>30000</activeTimeout>
</flows>
<sampling>
<!--
type: 0 - none (all packets are sampled)
1 - systematic count-based (parameter1 - number of sampled packets in a row, parameter2 - number of unsampled packets in a row)
2 - systematic time-based (parameter1 - interval lenght of sampling in seconds [integer], parameter2 - interval length of not sampling in seconds [integer]
3 - random n-of-N (parameter1 - number of selected packets, parameter2 - number of packets to select from [must be lower than 1000 and greater than parameter1])
4 - uniform probability (parameter1 - probability of sampling [%], parameter2 - irrelevant)
5 - non-uniform probability (parameter1 - start of "sure sampled" interval [secs from epoch (0:00, 1.1.1970)], parameter2 - end of "sure sampled" interval [secs from epoch])
-->
<type>0</type>
<parameter1>4</parameter1>
<parameter2>10</parameter2>
</sampling>
<templates>
<template id="256">
<field>86</field>
<!-- <field>8</field>
<field>12</field>
<field>7</field>
<field>11</field> -->
</template>
<!--<template id="257">
<field>12</field>
<field>13</field>
</template> -->
</templates>
<collector>
<version>10</version>
<host>127.0.0.1</host>
<port>4739</port>
<protocol>UDP</protocol>
<sourceID>0</sourceID>
</collector>
</configuration>
Collector
Vzorový konfiguračný súbor JXColl.conf:
# Possible logging: ALL (default) DEBUG INFO WARN TRACE ERROR FATAL OFF
loglevel=ALL
# Listen Port for incoming flows, default 9996
lport=4739
#lport=4739
# Listen Protocol (TCP, UDP, UDP_DP-default)
lprotocol=UDP
# Direct Connect setup : port (default 2138) , login (default none), password (default none)
dcport=2138
#dcport=2139
dclogin=bm
dcpassword=bm
#Netflow 9 template timeout in seconds (default 5 minutes=300 seconds) N/A todo ;)
template_timeout=300
#Postgresql database export (yes,true ; no,false (default) )
exportpg=yes
#Postgresql host (default localhost)
pgdbHost=127.0.0.1
#Postgresql port (default 5432)
#pgdbPort=5432
#Postgresql database name (default bm)
pgdbName=basicmeter
#Postgresql database name (default none)
pgdbLogin=bm
#Postgresql database name (default none)
pgdbPassword=bm
#Mysql database export (yes,true ; no,false (default) )
exportmysql=no
#Mysql host (default localhost)
mysqldbHost=localhost
#Mysql port (default 3306)
#mysqldbPort=3306
#Mysql database name (default bm)
mysqldbName=bm
#Mysql database name (default none)
mysqldbLogin=bm
#Mysql database name (default none)
mysqldbPassword=bm
#Accounting
accRecordExportInterval=120
Collector ukladá dáta do databázy (
PostgreSQL?) účtovacích záznamov, ktorá takisto beží na serveri qos-meter.cnl.tuke.sk.
Databáza: basicmeter
User:bm
Password:bm
Port:5432
Script na vytvorenie tabuliek databázy je k dispozícii na wiki
Analyzér
Konkrétny príklad použitia je v príslušnej používateľskej príručke. Spustiteľný jar archív je k dispozícii na wiki -
BasicMeter.jar
Zoznam použitých zdrojov
[1.] SADASIVAN, G., BROWNLEE, N., CLAISE, B., QUITTEK, J.: Architecture for IP Flow Information Export, Internet Draft, IPFIX Working Group [online], September 2006. Dostupné na internete: <
http://www.ietf.org/internetdrafts/draft-ietf-ipfix-architecture-12.txt >
[2.] POTOCKÝ, M.: Analýza, návrh a vlastná implementácia štandardov IPFIX a PSAMP v meracom nástroji
BasicMeter. Diplomová práca. Košice: Technická Univerzita v Košiciach, Fakulta elektrotechniky a informatiky,2006. 65 s.
[3.] KAŠČÁK, M.: Príspevok k problematike aplikačného využitia meraní prevádzkových parametrov počítačových sietí. Diplomová práca. Košice: Technická Univerzita v Košiciach, Fakulta elektrotechniky a informatiky, 2007, 65 s.
[4.] ROHÁĽ, O.: Vyhodnotenie a návrh optimalizácie sieťovej prevádzky použitím pasívnych meraní prevádzkových parametrov počítačových sietí. Diplomová práca. Košice: Technická Univerzita v Košiciach, Fakulta elektrotechniky a informatiky, 2007, 73 s.
--
DaliborKudla - 22 Oct 2007
Poznamky
- schema.sql: script na vytvorenie tabuliek puchlakovej databazy (lukasov navrh)