Mérési útmutató
Csomagszintű QoS mérés WLAN hálózatokban
Összeállította: Czakó György Dávid Ladányi Zsolt
Utolsó módosítás: 2008. október 7.
Csomagszintű QoS mérés WLAN hálózatokban
Mérés célja A mérés célja, hogy megismerjük a 802.11 hálózatokat, azok fizikai és MAC réteg funkcióit és a gyakorlatban láthassuk ezek működését. Mérés során megtapasztaljuk, hogy mi a különbség az eddig használt más adatkapcsolati rétegű technológiák (IEEE 802.3) és a WLAN hálózatok működésének jellege és szállítási minőség teljesítménye között. A mérés során FreeBSD, OpenWrt és Windows operációs rendszerek alatt egy WLAN mintahálózat működésén keresztül vizsgáljuk meg a valóságban összetettebb működést. A mérés végére egy átfogó képünk lesz a vezeték nélküli hálózatok teljesítményéről és technológiai korlátairól.
Technológiai háttér A WLAN hálózat (IEEE 802.11x) a köztudattal ellentétben nem vezeték nélküli Ethernet (IEEE 802.3) hálózat, hanem mindkettő egy külön, második rétegbeli szabvány. Az ún. Wi-Fi vagy WLAN hálózatok teljesen más fizikai és adatkapcsolati réteggel rendelkeznek, mint az Ethernet hálózatok. A felettük elhelyezkedő protokoll rétegek lehetnek azonosak. A gyakorlatban mindkét hálózat átjárható. A 802.11x hálózatok használata közben a felhasználó számára észrevehetetlen a különbség, pedig a topológia és a közeghozzáférés különbözősége miatt teljesen más mechanizmusokkal éri el ugyannak a forgalomnak a továbbítását. A következő részekben megvizsgáljuk a Wi-Fi hálózatok fizikai és adatkapcsolati rétegeinek működését. WLAN Fizikai réteg Architekturális komponensek A WLAN celluláris architektúrára épül, ahol a rendszer a GSM rendszerhez hasonlóan cellákra van osztva (1. ábra). Az egyes cellákat Basic Service Set-nek (BSS) nevezik, ezeket a bázisállomások irányítják, melyeket hozzáférési pontnak (Access Point - AP) neveznek. A kliens egy vezeték nélküli hálózati csatolóval ellátott számítógép.
2 / 18
1. ábra
Elméletileg egyetlen cellával is kialakítható vezeték nélküli hálózat, leggyakrabban mégis több cellából álló rendszereket valósítanak meg, ahol a hozzáférési pontok valamilyen (általában vezetékes) gerinchálózaton, elosztórendszeren (Distribution System - DS) keresztül kapcsolódnak egymáshoz, azaz egyben Bridge-ként is funkcionálnak a vezetékes hálózat felé. Hálózati topológiák 1. Szövevényes topológia esetén nincs központi állomás, minden eszköz azonos szerepet tölt be (peer-to-peer hálózat). Ilyenkor mindegyik csomópont szabadon kommunikálhat a hatósugarán belül levő bármelyik másikkal külső eszköz igénybevétele nélkül. Ezt a működési módot WLAN hálózatok esetén ad-hoc módnak nevezzük, hiszen egyszerűen, bármilyen előre telepített infrastruktúra nélkül működik a hálózat. 2. Ezzel szemben a csillag topológia, olyan hálózatot jelent, ami egy hozzáférési pont segítségével működik. Az egyik mobil csomópont elküldi az információt a központi állomásnak, ami azt a célcsomópont felé továbbítja, ez az elrendezés az infrastruktúrahálózat.
2. ábra
A továbbiakban csak infrastruktúra topológiájú 802.11a,b,g hálózatokról beszélünk.
3 / 18
WLAN MAC réteg Az adatkapcsolati réteg két alrétegből áll, alul helyezkedik el a MAC (Media Access Control), fölötte az LLC azaz a Logical Link Control réteg.
3. ábra
A MAC réteg vezérli a vezeték nélküli állomások közötti kommunikációt. Mielőtt egy állomás kereteket továbbíthatna, hozzáférést kell kapnia a közeghez, ezt az ún. CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) ütközést elkerülő közeghozzáférés szabályozásával éri el. Ezzel a technikával az ütközéseket elkerülik, hiszen a vezetékes közegben használható ütközésérzékelés már nem lehetséges, mivel a rejtett terminál probléma miatt nem mindegyik állomás érzékeli az ütközést. (A, B, C állomás esetén A és C adni akar B-nek; de A már kiesik a C cellájából, ezért A és C nyugodtan elküldik adásukat B-nek, miközben B semmit nem ért belőle az ütközés miatt)
4. ábra Rejtett terminál probléma
Az IEEE 802.11 szabvány a rejtett terminál problémának megoldására a Virtual Carrier Sense technikát alkalmazza. Ha egy terminál adatot szeretne küldeni, először elküld egy rövid RTS (Request to Send) keretet, amivel adási szándékát jelzi a többi terminál felé. Minden terminál, aki veszi ezt a keretet, visszatartja az adást, ugyanis az RTS tartalmazza az adás várható hosszát, ezért minden állomás beállítja az ún. NAV (Network Allocation Vector) változót, amely azt tartalmazza, hogy hány időrésnyi ideig nem próbálkozhat az adással (és a csatornát sem kell hallgatnia).
4 / 18
A célállomás egy szintén rövid CTS (Clear to Send) üzenettel válaszol az RTS keretre, ezzel jelezve, hogy készen áll az adat vételére. A CTS válasz az RTS vétele után SIFS (Short Inter-Frame Space) idő múlva kerül elküldésre. Minden állomás, aki veszi a CTS keretet, visszatartja az adását (NAV beállítás). Így a küldő-, és a célállomás hatósugarán belüli állomások is tudni fognak az adatküldésről, és nem fogják azt megzavarni. A CTS vétele után újabb SIFS idő múlva küldheti az adó az adatkeretet. A rádiós kapcsolódási felülettel rendelkező állomások fél-duplex összeköttetéssel rendelkeznek, tehát nem képesek párhuzamosan sem ütközésvizsgálatra, sem annak eldöntésére, hogy sikeres volt-e az adattovábbítás. Ehelyett pozitív nyugtázást alkalmaznak minden egyes adatkeret elküldése után, azaz a küldő állomás akkor lehet bizonyos a sikeres továbbításban, ha a keretre kapott válasz egy ACK nyugta, ellenkező esetben nem kap megerősítést. Mivel azonban nincs kizárva, hogy maga a nyugta vész el, ezért definiáltak egy SIFS (Short Inter-Frame Space) időnek nevezett állandót, amely egy időzítő szerepet tölt be, ennyi idő múlva küldi a vevő az adatkeret utolsó bájtjának sikeres vétele után a nyugtát. A SIFS idő úgy van meghatározva, hogy kisebb annál az időnél, amit adás előtt minden állomásnak a csatorna figyelésével kell töltenie (DIFS), így nem fordulhat elő, hogy valamelyik terminál adni kezd, amíg egy másik állomás vár a nyugtára. Amennyiben a küldő állomás a SIFS idő lejárta után nem kap nyugtát, úgy a csomagküldést sikertelennek nyilvánítja (pedig elképzelhető, hogy a nyugta vész el) és az exponenciális backoff algoritmus szerint meghatározott időtartam múlva újra próbálkozik a csomag adásával. A hozzáférés megszerzésére két módszer létezik a 802.11 MAC rétegében, mégpedig a Distributed Coordination Function (DCF) illetve a Point Coordination Function (PCF). DCF esetén tisztán elosztott a működés, minden állomás egyenlő esélyekkel verseng a közegért. PCF esetén versenymentes (Contention Free Period) és versenyzéses időszakok (Contention Period) váltják egymást. A versenyzéses időszak alatt az állomások DCF-et használnak, míg a versenyzésmentes időszak alatt (CFP) a Point Coordinator – tipikusan az AP - végig kérdezi (pollozza) az egyes állomásokat, hogy szeretnének-e adni.
Az elosztott közeghozzáférési mód (Distributed Coordination Function, DCF) A DCF közeghozzáférési mód egy véletlen közeghozzáférési elárás, alapja a vivőérzékeléses technika (CSMA – Carrier Sense Multiple Access), ami azt jelenti, hogy az a terminál, aminél rendelkezésre áll egy küldendő csomag, az „belehallgat a csatornába” (carrier sense) és amennyiben ott valamelyik más terminál adását érzékeli, elhalasztja adását. Ütközés akkor fordul elő, ha két állomás valamilyen módon mégis egyszerre ad. Ennek elkerülésére (CSMA/CA – Collision Avoidance) a bináris exponenciális visszatartási (backoff) algoritmus szolgál. Alapesetben amennyiben DIFS (Distributed Inter-Frame Space) ideig a csatorna üres, és a terminál nincs backoff állapotban, akkor megkezdheti adását az RTS keret küldésével. Nyilvánvalóan a DIFS nagyobb a SIFS-nél, ennek jelentősége az, hogy az RTS-CTS-adatkeret üzenetváltás közben, illetve a sikeresen elküldött adatkeret és a rá vonatkozó ACK között egyetlen más állomás sem adhat. 5 / 18
Az IEEE 802.11 elosztott közeghozzáférést vezérlő protokolljának a bináris exponenciális backoff algoritmus a magja. Ez az eljárás határozza meg lényegében a protokoll teljesítőképességét, ugyanis ez ütemezi közvetve a mobil terminál közeghez való hozzáférését. Nevét egyrészről onnan kapta, hogy az állomások átvitelét képes felfüggeszteni adott időre, más szóval visszatartani, a visszatartási időt pedig olyan diszkrét, zárt intervallumból veszi, amelynek mérete az egymást követő választások során mindig kétszeresére változik (ez adja az exponenciálisan növekedő jellegét). Az algoritmust három különböző esetben futtatják az állomások: •
amennyiben adás előtt a csatornát foglaltnak érzékelte
•
sikeres keretküldés után,
•
ütközés esetén.
Sikeres keretküldés alkalmával, ha egy terminál pozitív nyugtát kap egy keret átvitelére, akkor egy bizonyos ideig nem küldheti az újabbat. Így csökkenthető a sikeres csomagküldéseket közvetlenül követő ütközések valószínűsége. Az a résekben mért időtartam, ameddig vissza kell tartania az állomásnak kerettovábbítását, egy [1,CW min] zárt, egyenletes eloszlású, diszkrét intervallumból kerül kiválasztásra, ahol CW min (CW -> Contention Window) egy előre definiált konstans érték. Ha ütközés történt, az eljárás ugyancsak sorsol az [1, CWmin] intervallumból, viszont ha a sorsolást követően egyes állomások mégis közös időrésben szólalnak meg, akkor ugyancsak átviteli hiba történik, minek következtében egy következő sorsoló procedúra következik immáron megkétszerezett intervallummérettel. Ezzel egyre csökken annak a valószínűsége, hogy a nagyobb intervallumból az állomások megint azonos visszatartási időtartamot kapjanak. A duplázás csak előre rögzített számú alkalommal történhet, a tartomány méretére vonatkozó felső korlátot pedig a CW max állandó határozza meg. Amennyiben a visszatartási idő meghatározásra került – akár sikeres, akár sikertelen adatküldést követően –, ezen intervallum ténylegesen nem a valós hallgatási időtartamot jelenti. A sorsolt backoff intervallum ugyanis egy egész szám, a backoff algoritmusban részt vevő terminál pedig folyamatosan figyeli a csatornát, minden olyan esetben, amikor DIFS ideig szabadnak találta, utána minden egyes üresnek talált időrés esetén eggyel csökkenti a backoff számlálót. Ha közben valaki ismét el kezd adni, a számlálást felfüggeszti az adás és a rá vonatkozó ACK végéig és utána DIFS ideig.
5. ábra DCF közeghozzáférés szemléltetése
6 / 18
A Point Coordination Function (PCF) algoritmus bemutatása A PCF algoritmus alkalmazása esetén az Access Pointban található egy ú.n. Point Coordinator ami megszabja, hogy melyik állomás mikor adhat. Ha adhat, akkor az éppen kérdezett állomás (és senki más) adhat. A pollozás addig tart, amíg a CFP idő le nem jár. A CFP idő megszabására azért van szükség, hogy a PCF-et nem támogató állomások is adhassanak. A PCF működési módjából adódóan alapja lehet bizonyos szintű QoS biztosítási algoritmusoknak, kihasználva, hogy amíg egy állomás adhat, addig csak ő adhat és senki más. Mind a két módnak meg vannak az előnyei és a hátrányai, és bár elvileg mindkét mód része a szabványnak, manapság még csak nagyon kevés gyártó építi be Access Point-jaiba a PCF támogatást. Ennek oka, hogy az elosztott működés implementációja egyszerű, olcsó AP-k gyártását teszi lehetővé, a PCF-DCF együttes használatával az AP-kbe többlet intelligenciát kellene integrálni, amely döntést hoz a CFP és CP intervallumok hosszáról, a CFP időszak alatt az állomások lekérdezési sorrendjéről és gyakoriságáról (ütemezés), ehhez felderíti a terminálok képességeit, az egyes aktív kapcsolatok igényeit, az egyes terminálok puffereinek állapotát és adatbázist tart fenn ezekről.
Az EDCA (Enhanced Distributed Channel Access) Az eredeti IEEE 802.11 szabványban megadott DCF nem garantálja, hogy a küldött adat véges időn belül megérkezik. Vannak olyan alkalmazások, amik sikeres működésükhöz megkövetelik, hogy a hálózat adott időre kézbesítse az információt. Például ilyen a hang valós idejű átvitele. A 2005-ben elfogadott 802.11e jelű módosítás új közeghozzáférést vezet be, ami elosztott módon biztosítja a szolgáltatás minőségét (QoS). Az új közeghozzáférés neve Enhanced Distributed Channel Access (EDCA), ez a DCF kiterjesztése. A protokoll a küldendő adatokat forgalmi osztályokba (Access Category, AC) sorolja. Az egyes osztályokhoz olyan közegelérési paraméterek tartoznak, hogy tükrözzék a szolgáltatás minőségével szemben támasztott követelményeket. Ha egy állomás adatot akar küldeni, akkor DIFS (DCF Inter-Frame Space) helyett AIFS (Arbitration Inter-Frame Space) ideig egyfolytában szabadnak kell érzékelnie a közeget. Minden osztályhoz külön AIFS idő tartozik. Siker esetén az állomás a DCF-nél látottakhoz hasonlóan visszaszámlál egy véletlen értéktől nulláig, de az ablak mérete az adat osztályától is függ.
6. ábra EDCA működése
7 / 18
Az alábbi táblázat ismerteti, hogy az egyes forgalmi osztályok hogyan feleltethetők meg a felhasználói prioritási (User Priority) szinteknek. Ezt a prioritást az IP fejlécben található DSCP érték (ToS mező első 6 bitje) módosításával érhetjük el.
7. ábra Prioritások megfeleltetése
Az alábbi decimális értékek beállításával érhetjük el a csomagok megfelelő osztályba sorolását: • Background: 8 (DSCP érték, bináris ábrázolásban: 001000) • Best Effort: 0 (Ez az alap minden csomagnál) • Video: 40 (DSCP érték, bináris ábrázolásban: 101000) • Voice: 56 (DSCP érték, bináris ábrázolásban: 111000) A szabvány által javasolt alap paraméterek:
8. ábra EDCA paraméterek
8 / 18
EDCA paraméterek: • AIFS • CWmin • CWmax • TxOp (Transmission Opportunity) Számítási mechanizmus: AIFS effektív érték AIFS = SIFS + AIFSn * slot time
CWmin, CWmax effektív érték A fenti táblázatban már az effektív értékek szerepelnek a Contention Window méretére, azonban a későbbiekben a tesztek során a szabványban használatos úgynevezett kódolt formát kell majd alkalmaznunk a beállításoknál.
TxOp
9. ábra TxOp szemléltetése
Minőség értelmezése A médiaanyagok (hang, videó) átvitel minőségének meghatározása nem egyszerű kérdés. A cél a média, végpontnál történő emberi érzékelés által meghatározott jó minőségű átvitele és a minőség szinten tartása. Az emberi érzékelés általában a fő meghatározó, így viszont a minőség mérése szubjektív elbírálás alá esik, hiszen nem mindenkinek ugyanolyan a hallása, látása, a beszédfelismerő képessége. Ennek mérése során emberek ún. MOS pontokkal (Mean Opinion Score; 1 rossz – 5 kiváló) értékelik az átvitt médiát. Ez a módszer a Quality of Experience (QoE) működött is, hiszen az eddigi vezetékes és mobil telefonok hangátvitele során használt kodekek minőségét ezzel a módszerrel határozták meg. IP alapú hangátvitelnél ellenben már nem támaszkodhatunk az áramkörkapcsolt átvitel segítségére, arra hogy a végpontok közötti adatforgalom paraméterei változatlanok.
9 / 18
Csomagkapcsolt átvitel során az IP médiafolyam minőségi paraméterei (késleltetés, jitter, csomagvesztés, burst hiba) az összeköttetés minden egyes pontján romolhatnak. Egy szolgáltatás minőségének jellemzésére (QoS – Quality of Service) meg kell határozni egy olyan módszert, ami a szubjektív értékelés és az IP adatfolyam paraméterei között lévő összefüggést kihasználja. Ha ezt megtaláljuk, akkor a végponthoz közel a média adatcsomagjainak paramétereit megvizsgálva következtethetünk a megérkező média érzékelhető minőségére. A paraméterek értékelésére az ún. MDI-t (Media Delivery Index) használható. Mérnöki kutatás során kénytelenek vagyunk kiértékeléskor ezt a módszert használni, mivel nehézkes lenne a megoldások megfelelő számú kontrollcsoporttal történő pontozása. QoE módszer rendelkezik hiányosságokkal: •
Nem lehet vele minden egyes minőség csökkenést észlelni, ugyanis az emberi figyelem nem folyamatos.
•
Szubjektív, az egyének adottságai befolyásolják a megítélést.
•
Tartalomfüggő, mert egy adás egyes részei fontosabbak. Az eredményt befolyásolhatja hogy hol tapasztalható a minőség degradáció.
Ha egy meglévő technológiára akarunk új szolgáltatást helyezni, pl.: IP alapokra szeretnénk minőségi videó vagy hangszolgáltatást, már olyan technikát kell alkalmazni, amely a szolgáltatók, üzemeltetők oldaláról segít meghatározni a felügyeletük alatt átmenő adatfolyamok minőségét és a hálózati szűk keresztmetszeteket. A módszernek hatékonyan kell mérnie a paraméterek változását, hogy segítséget nyújthasson a degradációt okozó tényezők meghatározásában, mind hálózati mind a használt technológiák terén. Figyelembe kell azonban venni, hogy a szolgáltatók hálózata egy része lehet a transzportot végző infrastruktúrának, és a hálózati eszközökhöz is csak limitált hozzáférése van. A végberendezésen mért minőség számukra nem mond semmit, nem tudnak vele dolgozni, mert már az adás akkor célba ért. Az adatfolyamnak 3 paraméterét szokták megadni, amivel a szállítás minősége jellemezhető: késleltetés, késleltetés ingadozás (jitter), bithiba arány. • •
•
A késleltetés azt mondja, meg hogy mennyi a végponthoz megérkező csomagok közötti időbeli különbség. A késleltetés ingadozás a csomagok közötti késleltetés változását jelenti, azt hogy mennyire hullámzik a csomagok beérkezése. Ez a két paraméter hatását akkor értjük meg igazán, ha belegondolunk, hogy egy alkalmazás esetén, az egyik oldalon adatok csomagba rakása és átküldése történik, míg a másik oldalon a csomagokból az alkalmazás felépítése. Egy videó lejátszás esetén máris szembetűnő, ha a csomagokból nem a kellő sebességgel vagy rendszerességgel dekódolható a film. A csomagok beérkezésének egyenletesnek kell lenni az egyenletes dekódoláshoz. A csomagok egyenletességét kiegyenlítő pufferekkel oldják meg. A pufferek növelik a késleltetést, de csökkentik a jittert. A bithiba közvetlen adatvesztéssel jár. Okozhatja átviteli hiba, csomageldobás, szegmens kiesés. Egy valószínűségi számmal jellemzik.
10 / 18
Mérés kivitelezése Mérés során felhasznált eszközök: • WLAN kártya 802.11b • Access Point (OpenWRT-vel) • Notebook (FreeBSD, Windows XP) • Wireshark, MatLab, Microsoft Excel A mérés célja, hogy a WLAN hozzáférést jellemezzük szolgáltatási minőség szempontjából. Alapvetően a késleltetés (egyirányú) és késleltetés ingadozás (egyirányú) meghatározását tűztük ki célul, ezzel magát a WLAN protokollt szeretnénk értékelni. Ez a késleltetés definíció némileg eltér a fentebb említett adatfolyam minőség mérésétől: Azt az időt, amelyre egy csomagnak a kiinduló oldaltól a cél állomásig való eljutáshoz szüksége van, nevezzük egyirányú késleltetésnek. Ez az idő két részből tevődik össze: egyrészt a csomagnak a mobil kliens hálózati interfészének (WLAN kártya) illetve az AP MAC ütemezőjében adásra várva eltöltött időből, másrészt a rádiós közegben elszenvedett késleltetésből. Ott az adatfolyam paramétereit akartuk megtudni, itt viszont a MAC réteg teljesítményét szeretnénk meghatározni, hogy egy csomag késleltetéséhez mennyiben járul hozzá a MAC ütemezőben töltött idő. Ennek meghatározásához hasonló eszközöket és módszereket használunk csak más elrendezésben. Egy MAC keret késleltetése a MAC ütemező várakozási sorába való bekerülés pillanatától a vevőbe való megérkezésig tartó időintervallum lesz. A közeghozzáférés fentebb leírt nem determinisztikus jellege miatt a késleltetés véletlenszerű, előre nem tervezhető. A mérés legegyszerűbben akkor lenne kivitelezhető, ha ismernénk azt az időpontot, amikor az adott csomag az ütemezőbe belép, illetve amikor megérkezik a klienshez. Az időpontok ismeretében, már könnyen megállapítható az a késleltetés, amit a csomag a versengésből adódóan szenvedett el. A késleltetés ilyetén mérése sajnos újabb problémákat vet fel. A mérés megvalósításához ugyanis össze kell hangolni az adó és a vevő óráját, ami egy Access Point – számítógép, mint adó-vevő kapcsolat esetén különösen problémás. Az órák szinkronizálása két számítógép esetén sem valósítható meg mindig elég hatékonyan illetve kellően egyszerűen.
WLAN kártyák működési módjai A rádiós közeg tulajdonságaiból adódóan minden csomag, ami a levegőben utazik a WLAN kártya számára hozzáférhető. A WLAN kártyák többsége két speciális módban képes működni, Promiscuous illetve Monitor módban. Egy vezeték nélküli kártya, alap esetben csak azokat a csomagokat juttatja el a magasabb rétegek felé, melyek neki szólnak. Ezt a csomagban található címzett MAC cím segítségével állapítja meg. A nem hozzá irányított csomagokat eldobja. Promiscuous módú működés esetén a WLAN kártya nem csak a neki szóló csomagokat továbbítja, hanem minden olyan csomagot, ami az adott SSID-vel rendelkező hálózat csomagja, ebben a módban a kártya képes forgalmazni is a hálózaton. Monitor módban a kártya nem képes forgalmazni a hálózaton viszont minden csomagot elkap nem dob el semmit, függetlenül az SSID-től. A monitor módot hálózati problémák szűrésére illetve többnyire WEP kulcsok feltörésére használják. Mi is ezt fogjuk használni a mérés során.
11 / 18
Mik azok a sniffer programok és hogyan működnek A sniffer programok olyan cél szoftverek, melyek képesek egy hálózati adapter forgalmát elfogni valamelyik szinten. Számunkra azok a programok érdekesek melyek a forgalmat MAC szinten figyelik és naplózzák. A programok általában sokféleképpen paraméterezhetők, attól függően, hogy milyen forgalom elfogására, figyelésére van szükség. Léteznek általános „sniffer” programok illetve olyanok melyek kifejezetten 802.11x keretek elfogására lettek tervezve. A snifferek kis általánosítással két nagy csoportba sorolhatók. Az egyik csoport tagjai a libpcap (windows alatt winpcap) ingyenesen felhasználható könyvtárra épülnek, míg másik részük saját, egyedi fejlesztésű (gyakran csak a forgalomban lévő WLAN kártyák szűk körével együttműködő) csomag elfogó könyvtárat használ. Az első csoportba tartozó programokról általánosan elmondható, hogy ingyenesek, míg a második csoport tagjai általában kereskedelmi forgalomban megvásárolható szoftverek, ennek megfelelő tudással. A mérés során szoftveres eszközökkel végezzük a minőségi tényezők meghatározását. Szoftveres eszközökkel a mérés egyszerűen bárki számára elvégezhető.
WLAN MAC réteg ütemezésének mérése Mérési topológia:
10. ábra Mérési topológia
12 / 18
A labor áll egy FON routerből és 3 db laptopból. Minden laptopban van WLAN kártya, amely EDCA képes. Az egyik laptop a vevő gép, minden forgalom felé irányul (ez veszi a videót és ez az FTP és IPERF szerver is). Windows XP rendszer. A második laptop az FTP (Best Effort – AC_BE) és az IPERF (Background – AC_BK) zavaró forgalomért a felelős. Windows XP rendszer. A Fujitsu gép több funkciót is ellát. Ezen fut a monitorozás (Wireshark) és ez küldi egyúttal a videó forgalmat (Video – AC_VI) is Etherneten keresztül. FreeBSD rendszer. A Wireshark a gép Ethernet és WLAN interfészét figyeli, időbélyeggel látja el a csomagokat. Ezzel a megoldással megoldottuk az óraszinkronizálás problémáját, hiszen a két interfészen futó Wireshark példányok ugyanazzal a kernel órával dolgoznak.
Fel/Le irányú mérés A mérés nem olyan egyszerű, mint vezetékes esetben, hiszen a kliensek közötti adatok az AP-on mennek keresztül. Az adatirányt tekintve a kapcsolat aszimmetrikus, hiszen egy állomásnál van fel és le irányú kapcsolat (uplink, downlink). Mi a mérés során csak a downlink irányban fogunk mérni, mivel feltételezzük, hogy (nagyságrendileg) ugyanúgy működik a 2 irányba a forgalom, és csak mérési topológia összeállításában van különbség. Ethernet hálózaton a mérő notebook a routeren (AP) keresztül videó csomagokat küld a VLCPlayer nevű lejátszó alkalmazás és stream server segítségével. A vevő szintén VLCPlayer-rel veszi a közvetített videót. A mérő notebook-on eközben fut a Wireshark nevű forgalommonitorozó program 2 példányban. Egyik a WLAN-t monitorozza, másik a notebook vezetékes interfészét. A vezetékes szakasz csupán konstans elhanyagolható késleltetést visz a rendszerbe. A videó csomagok késleltetését tehát úgy kapjuk meg, ha összevetjük a vezetékes interfészen a kiküldés idejét a router felé, a router WLAN interfészén történt küldés időpontjával. A zavaró forgalmat generáló notebook WLAN-on keresztül küldi a router-nek az FTP és IPERF csomagokat, mely továbbítja azokat a vevő géphez. Windows alatt a Background (AC_BK) forgalom kategorizálásához a DSCP értékeket a Windows Resource Kit Tools – Traffic Control Monitor segítségével állíthatjuk be. A FreeBSD-s gépen ipfw-vel (Linux iptables tűzfalának felel meg) lehet a videó forgalom csomagjainak DSCP értékét beállítani.
13 / 18
Szintetikus forgalomgenerálás eszközei Ezektől az eszközöktől elvárhatjuk, hogy csomagszinten lehessen paraméterezni. Ez tartalmazhatja a csomagok közötti kiküldési időt, csomagméretet, sebességet, darabszámot vagy a forgalmazás idejét. A futtató állomás számára nem jelent nagy számítási kapacitás kiesést, hiszen a küldött csomagok nem kerülnek további feldolgozásra, azokból legfeljebb az adás minőségi paraméterei határozhatók meg. Viszont annál jobban skálázható hálózati terhelést tudunk elérni vele. Tetszőleges sebességet állíthatunk be vele egészen a hálózati maximumig. Iperf Kliens-szerver felépítésű TCP/UDP forgalom diagnosztikai eszköz. Hálózati beállítások – pufferek, ablakméretek, maximális adatméretek (MTU)- hibáinak felderítéséhez lehet használni, hálózat minőségi paramétereit méri meg (csomagvesztés, jitter). A kliens adatfolyamot TCP vagy UDP streamet forgalmaz megadott paraméterekkel, ebből állítja elő a minőségi paramétereket. Állítható a csomagméret, puffer méret, hányszor vagy meddig küldje ki a puffert, továbbá a TCP ablakméret, UDP stream esetén a sávszélesség. Windows, Linux, Unix alatt is használható.
Mérési eredmények feldolgozása Wireshark Az Wireshark egy funkció gazdag, sniffer felülettel is rendelkező ingyenes program. Főleg a már elkapott forgalom elemzésére szolgál. A program könnyen értelmezhető grafikus felülettel rendelkezik, ahol képesek vagyunk az egyes elkapott csomagokba bele tekinteni. A programban sok különböző szűrőt alkalmazhatunk az elfogott forgalomra, hogy láthatóvá tegyünk, vagy elrejtsünk bizonyos csomagokat, adat folyamokat. A program képes csak bizonyos csomagok illetve forgalmak kiszűrésére. A programban megnyithatunk más sniffer programok által lementett forgalmakat. Sok különböző beépülő modul készíthető az Wiresharklal való együttműködésre. A programban a mérés megkezdésekor be kell állítani, hogy melyik interfészen és mit szeretnénk mérni. Lehetőség van csak a magasabb szintű keretek elfogására, de akár lenyúlhatunk a rádiós rétegekig is. Nekünk ez utóbbira van szükségünk, mert a WLAN menedzsment keretei nem jutnak feljebb a MAC rétegnél. A késleltetést a két Wireshark dump fileból kell összehozni. Mindkettőben megkeressük ugyanazt a keretet és a hozzátartozó időbélyeget. Az időbélyegek különbsége adja a késleltetést. A késleltetések ingadozása adja a jittert. Az egyirányú késleltetést úgy számítjuk, hogy megnézzük, mikor kapta el a csomagot a forgalmazó kártya, és összehasonlítjuk azzal az időponttal, amikor a monitor módban levő kártya elfogta ugyanezt a keretet.
14 / 18
Exportálás: A File menü Export menüpontjából kiválasztjuk a PDML formátumot Csak a megjelenített csomagokra van szükségünk, ezért megnyomjuk a Displayed gombot Megadjuk a kívánt fájlnevet Exportálunk A mérési eredmények kiszámításának lépései a következők: •
Az Wireshark által elkapott forgalmakat exportálni kell a korábbiakban leírt módon.
•
Az eredményül kapott pdml fájlok tartalmazzák az egyes csomagokra vonatkozó összes kigyűjthető információt, amelyeknek csak egy részhalmazára van szükségünk. Az adatok szűrését egy XSLT transzformáció segítségével végezzük el, így az eredményül kapott xml fáljban már csak a számunkra releváns attribútumok maradnak meg.
•
A transzformációs lépés után a kapott xml fájlokat feldolgozva jutunk a késleltetési, csomagvesztési, aggregált átviteli értékeket tartalmazó szöveges állományhoz
•
A QoS paraméterek számításához egy külön MatLab függvény került kifejlesztésre. Ennek funkciója, hogy a nyers mérési adatokat tartalmazó xml állományt feldolgozza és ebből a kívánt QoS paraméterek értékeit szöveges állományba elhelyezze.
A feldolgozó futtatása:
xslt adás1.pdml ip.xslt adás1.xml
15 / 18
Alkalmazási példa (késleltetés-számítás): A következő példán mutatjuk be a feldolgozó program működését: első lépésben a monitor módban működő kártyán elkapott forgalmat szűrjük meg (Wireshark szűrés és xslt transzformáció alkalmazásával). A második lépésben a vezetékes interfészen elkapott forgalomra végezzük el a fenti műveletet. Az eredményül kapott két állományban szereplő időbélyegek különbségét számítjuk ki az utolsó fázisban, ami végül egy text fájlba kerül lejegyzésre.
A monitor módban működő kártya által gyűjtött információk szűrése
A csomagkésleltetés kiszámítása:
delay_count(’adas1.xml’,’adas2.xml’,’delay.txt’) Végeredmény grafikusan:
16 / 18
Mérési feladatok:
Mérési jegyzőkönyvnek tartalmaznia kell a mérési eredmények rekonstruálásához szükséges információkat. A jegyzőkönyv szemléltető jelleggel tartalmazzon képeket, ábrákat, de az érdemi mondanivalót megfelelő mennyiségű szövegnek kell tartalmaznia. Az elkészített jegyzőkönyvnek a mérnöki munkát kell dokumentálnia, megfelelő formátumban elkészítve. 1. Alapok Mérőállomás: • Indítson el egy parancssort • Vizsgálja meg, hogy a mérőállomásnak milyen hálózati interfészei vannak és azoknak mik a beállításai [ifconfig] • Vizsgálja meg, hogy a vezetéknélküli adapter (ath0) milyen hozzáférési ponthoz (Access Point) csatlakozott, milyen módban van (man ifconfig, man iwconfig) • Állítsa a vezetéknélküli adaptert monitor módba • Ellenőrizze a kapcsolatot a mérőállomás és a vevő gép között. (ping, traceroute) 2. WLAN csomagvizsgálat kikapcsolt EDCA esetén • Ellenőrizze, hogy az EDCA ki van-e kapcsolva a routerben • Hálózati adapterenként (rl0, ath0) indítson el egy-egy példányt a Wireshark programból. Wireshark csomagvizsgálat indításakor a keret típust (Link Layer header type) 802.11 plus WLAN radiotap header-re állítsa az ath0 esetén • VLCPlayer segítségével indítson video folyamot a vevő gép felé • A mérést végezze el 6Mbit-es Iperf udp zavaróforgalommal is • Készítse el mindkét esethez a diagramokat • Mérje meg, hogy milyen sebességű zavaróforgalomtól kezdve jelennek meg képhibák a vevőnél 3. WLAN csomagvizsgálat EDCA esetén • Kapcsolja be az EDCA-t • Állítsa be a mérőállomáson a tűzfal segítségével a kimenő video folyam csomagjainak DSCP értékét a video osztálynak megfelelőre, cél port: 1234 • VLCPlayer segítségével indítson video folyamot a vevő gép felé • A mérést végezze el 6Mbit-es Iperf udp zavaróforgalommal is (a zavaróforgalom background osztályú legyen [tcmon]) • Készítse el mindkét esethez a diagramokat • Az előző feladatban mért sebességnél, vagy fölötte jelentkeznek képhibák? 4. Mérés vegyes háttérforgalommal EDCA esetén • Az előbbi méréseket végezze el úgy, hogy FTP zavaróforgalommal is terhelje a hálózatot pluszban (best effort zavaróforgalom)
5. EDCA paraméterek módosítása • Listázza ki az EDCA paramétereket és módosítsa. A módosított beállításokkal végezzen méréseket! 17 / 18
Ellenőrző kérdések: • • • • • • • • • • • • • • •
Mi a QoS? Rövidítés feloldása. Mi a lényege, és miért nehéz megvalósítani WLAN környezetben? Milyen hálózati topológiák lehetségesek a 802.11x protokoll esetében? Mi ezen topológiák jellemzői? Milyen architekturális egységekből épül fel egy WLAN hálózat? Mi az SSID, BSS, DS, AP? Milyen közeghozzáférési protokollt használnak a vezetékes Ethernet hálózatokban? Miért nem megfelelő ez vezetéknélküli hálózatok esetében? Hogyan értesülnek az ütközésről a 802.11x hálózatban a terminálok? Milyen közeghozzáférési protokollt használ a 802.11x? Röviden írja le működési elvét! Mit jelent a rejtett terminál problémája vezetéknélküli hálózatok esetében? Mire szolgálnak az RTS/CTS vezérlő keretek? Mi a SIFS, mi a DIFS? Hol van szerepük a hálózat működésében? 802.11x alap közeghozzáférési módjai? Mi a fő különbség ezek között? Melyiket használják a hálózatok? Mik a hálózati adapterek működési módjai? Mik azok a sniffer programok? Mi az EDCA? Mik a paraméterei? Mi a különbség az EDCA és a DCF között? A PCF mód rövid ismertetése! Milyen forgalmi osztályokat különböztet meg az EDCA? Miért alkalmasak ezek az osztályok a QoS megvalósítására?
18 / 18