Az elmúlt évtizedek technikai fejlődése nyomán napjainkra a távközlési infrastruktúrában az adatátvitel vált dominánssá. Ezen belül is a decentralizált, IP alapú Internet tekinthető egyeduralkodónak, mely rugalmasságának köszönhetően volt képes globális hálózattá kinőni magát. A központi irányítás hiányában azonban a forgalom irányítása és monitorozása is komplex megoldásokat igényel.
Az Internet nagyléptékű forgalomirányítását a BGP (Border Gateway Protocol) protokoll látja el, amely jelenleg a 4-es verziónál tart. Működésének alapját tekintve egy path vector alapú protokoll, mely kétszintű hierarchiát feltételez: az egész hálózat autonóm rendszerek (autonomous system, AS) összessége, melyek közül mindegyik egy-egy üzemeltető irányítása alatt áll. Egy ilyen AS lehet tipikusan egy internetszolgáltató vagy egy nagyvállalat saját hálózata. Ezeken a hálózatokon belül lehet tetszőleges, ún. intra-domain routing protokollt használni, kívülről, a többi hálózat felől nézve azonban az egész egy rendszert alkot. Az AS-ek szélén lévő útválasztók, amelyek a többi hálózattal összekötő kapcsolatokat menedzselik, meghirdetik egymás számára, hogy mely AS-ek érhetőek el rajtuk keresztül, majd a hirdetmények alapján eldöntik, hogy melyik subnet merre található. Amennyiben egy célhoz több útvonal is létezik, az AS Path nevű attribútum az egyik legfontosabb szempont, ami alapján kiválasztják a megfelelőt. Ez az attribútum határozza meg, hogy mely AS-eken keresztül érhető el az adott hálózat.
Egy autonóm hálózat üzemeltetője ugyan teljes mértékben irányítása alatt tudja tartani a hálózatból kiáramló csomagokat, azonban a belépő forgalomra már kevesebb ráhatása lehet, hiszen annak routingolása alapvetően a többi szereplő döntésén múlik. A BGP természetesen lehetőséget nyújt preferenciáink meghirdetésére, de az ilyen irányú döntések meghozására már nem definiál módszereket. A Vodafone, mely hazánk egyik legnagyobb vezeték nélküli internetszolgáltatója, a nagysebességű HSDPA kapcsolatok megjelenése óta szintén ilyen problémákkal küzd, melyet a külső sávszélesség növelése csak kismértékben tud orvosolni.
A belépő forgalom optimális irányításához szükség van először is annak megismerésére, ami azonban rengeteg adat feldolgozását jelenti. A hálózati eszközök a forgalom nagyságáról általában alapértelmezésben csak interfészenként vezetnek statisztikát, nekünk azonban erre ezen belül forrás illetve célcím szerinti bontásban van szükségünk. A routeren áthaladó teljes forgalmat természetesen nem vizsgálhatjuk meg bájtonként külön céleszközzel, ennek aránytalanul nagyok lennének a költségei, azonban szerencsére a mai útvonalválasztók már hardveresen képesek a csomagok legfontosabb paramétereit, így pl. az IP címeket is, eltárolni, és egy adatgyűjtő egység felé továbbítani. Ez már nagyságrendekkel kezelhetőbb mennyiség, azonban egy nagyobb szolgáltató esetén még mindig komoly erőforrásokat igényel, az adatok statisztikai feldolgozásához pedig további szűrés szükséges.
Az így kapott adatok alapján ezután már meg tudjuk vizsgálni, hogy például egy túlterhelt bejövő vonalon milyen irányokból érkező forgalom dominál, majd ez alapján a többi hálózattal együttműködve egyenletesebb terheléseloszlást tudunk elérni.
Diplomamunkám célja, hogy egy arra alkalmas technológia, a Cisco Netflow protokolljának segítségével a hálózatba belépő forgalomról források szerinti bontásban statisztikát készítsek, hogy a fenti céloknak megfelelően szükség esetén döntést lehessen ezen adatok alapján hozni. A feladat leglényegesebb részét azonban nem is ezen eredmények értékelése, hanem az adatgyűjtő és feldolgozó motor elkészítése jelenti. A Netflow protokoll által exportált adatokból ugyanis nem csak a fenti információk tudhatók meg, hanem rengeteg más monitorozási célra használható, például támadások detektálása, számlázás, hálózaton belüli nagy forgalmazók felderítése stb.
Dolgozatom során először megvizsgálom a bejövő forgalom irányításának lehetőségeit, majd bemutatom a Netflow architektúrát, illetve megvizsgálom a jelenleg is elérhető, Netflow-t támogató szoftvereket, elsősorban abból a szempontból, hogy mennyire használhatóak a gyors adatgyűjtésre és feldolgozásra. Ezután az általam megvalósított adatgyűjtő motor tervezése és felépítése következik, melynek során külön figyelmet szentelek a folyamat lehető legoptimálisabb sebességére. Végül egy virtuális teszthálózat segítségével vizsgálom a szoftver működőképességét egy több autonóm rendszerből álló topológia segítségével.


One Response
január 24th, 2009 at 14:38
gratulálok
Szólj hozzá!