Systemy bezprzewodowe i mobilne oraz ich bezpieczeństwo



Podobne dokumenty
Implementacja punktu dostêpu do sieci standardu IEEE ze wsparciem jakoœci œwiadczonych us³ug

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

WLAN bezpieczne sieci radiowe 01

Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego

USŁUGI DODATKOWE W SIECIACH BEZPRZEWODOWYCH VoIP oraz multimedia w sieciach WiFi problemy

EXSO-CORE - specyfikacja

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Spis treści. 1 Moduł RFID (APA) 3

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

SPIS TREŚCI Błąd! Nie zdefiniowano zakładki.

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Konfiguracja WDS na module SCALANCE W Wstęp

Web frameworks do budowy aplikacji zgodnych z J2EE

Uniwersalny Konwerter Protokołów

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

KONFIGURACJA ORAZ BADANIE PRZEPŁYWNOŚCI SIECI WLAN

Przesyłania danych przez protokół TCP/IP

Dlaczego Meru Networks architektura jednokanałowa Architektura jednokanałowa:

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Kształtowanie ruch w sieciach Linux

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Veronica. Wizyjny system monitorowania obiektów budowlanych. Instrukcja oprogramowania

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Współpraca modułu Access Point SCALANCE W788-2PRO ze stacjami klienckimi Windows.

INSTRUKCJA OBSŁUGI SUPLEMENT

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

Symfonia Mała Księgowość 2013 Specyfikacja zmian

5R]G]LDï %LEOLRJUDğD Skorowidz

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

CZĘŚĆ I Podstawy komunikacji bezprzewodowej

4. Podstawowa konfiguracja

Urządzenia sieciowe. Tutorial 1 Topologie sieci. Definicja sieci i rodzaje topologii

Bezprzewodowe sieci komputerowe

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

Metodyka projektowania komputerowych systemów sterowania

Definiowanie filtrów IP

TRX API opis funkcji interfejsu

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Jak ustawić cele kampanii?

ARP Address Resolution Protocol (RFC 826)

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

NS-2. Krzysztof Rusek. 26 kwietnia 2010

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

PBS. Wykład Zabezpieczenie przełączników i dostępu do sieci LAN

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

Zagadnienia egzaminacyjne ELEKTRONIKA I TELEKOMUNIKACJA studia rozpoczynające się przed r.

Zmiany w regulaminach usług transmisji danych i w cenniku usługi Biznesowy VPN

Architektura oraz testowanie systemu DIADEM Firewall Piotr Piotrowski

Księgarnia PWN: Mark McGregor Akademia sieci cisco. Semestr szósty

Komunikacja Master-Slave w protokole PROFIBUS DP pomiędzy S7-300/S7-400

PLAN KONSPEKT. do przeprowadzenia zajęć z przedmiotu. Wprowadzenie do projektowania sieci LAN

Instrukcja skrócona, szczegółowa instrukcja znajduje się na załączonej płycie lub do pobrania z

2.2 Opis części programowej

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

ZiMSK. VLAN, trunk, intervlan-routing 1

Spis treści. 1 Moduł Modbus TCP 4

Protokoły sieciowe - TCP/IP

FAQ: /PL Data: 09/06/2012. Zastosowanie zmiennych Raw Data Type WinCC v7.0

Roger Access Control System. Aplikacja RCP Point. Wersja oprogramowania : 1.0.x Wersja dokumentu: Rev. C

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

DLA SEKTORA INFORMATYCZNEGO W POLSCE

JAK PRAWIDŁOWO SPRAWOZDAWAĆ ZASIĘGI SIECI

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Rejestratory Sił, Naprężeń.

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Sieci Komputerowe Modele warstwowe sieci

11. Autoryzacja użytkowników

Adresowanie grupowe. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 25 kwietnia 2006

Wybrane mechanizmy gwarantowania jakości usług w sieciach IP. Dariusz Chaładyniak, Maciej Podsiadły * Warszawska Wyższa Szkoła Informatyki

MASKI SIECIOWE W IPv4

router wielu sieci pakietów

Projekt i implementacja filtra dzeń Pocket PC

Konfiguracja IPSec Brama IPSec w Windows 2003 Server

Topologie sieci WLAN. Sieci Bezprzewodowe. Sieć stacjonarna (infractructure) Sieć tymczasowa (ad-hoc) Access Point. Access Point

Adresy w sieciach komputerowych

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

w sieciach szerokopasmowych CATV i ISP - Model OSI

Definiowanie drukarek w programie ZAFIR

Opis protokołu RPC. Grzegorz Maj nr indeksu:

Podstawowa konfiguracja routera TP-Link WR740N

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Routing średniozaawansowany i podstawy przełączania

Załącznik nr 1 do Instrukcji użytkownika minisiis, SIIS 5.x. Spis kodów błędów

9. System wykrywania i blokowania włamań ASQ (IPS)

LABORATORIUM WIRTUALNE W DYDAKTYCE I BADANIACH NAUKOWYCH

1 Moduł Bramki xcomfort

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

PRZEWODNIK PO PRZEDMIOCIE

Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:

Transkrypt:

Projekt badawczy zamawiany PBZ-MNiSzW-02/II/2007 pt. Usługi i sieci teleinformatyczne następnej generacji aspekty techniczne, aplikacyjne i rynkowe Raport merytoryczny z realizacji zadań badawczych grupy tematycznej Systemy bezprzewodowe i mobilne oraz ich bezpieczeństwo Sprawozdanie za okres: 1 stycznia 2009 r. 31 grudnia 2009 r. Jednostka wykonująca: Katedra Telekomunikacji Akademia Górniczo-Hutnicza Kierownik grupy: prof. dr hab. inż. Andrzej R. Pach Kraków, 02.02.2010

Numer zadania Nazwa zadania badawczego Kierownik zadania Wykonawcy Termin rozpoczęcia Termin zakończenia zadania zadania 29 Opracowanie i implementacja systemu pomiaru parametrów ruchu do celów sterowania jakością połączeń prof. dr hab. inż. Andrzej Pach AGH Andrzej Pach, Marek Natkaniec, Katarzyna Kosek-Szott, Szymon Szott, Mariusz Witosz 13 18 30 Implementacja zaprojektowanego rozwiązania w kartach bezprzewodowych prof. dr hab. inż. Andrzej Pach AGH Andrzej Pach, Andrzej Głowacz, Marek Natkaniec, Katarzyna Kosek-Szott, 13 18 Szymon Szott 31 Opracowanie i oferowanie certyfikatów kompetencji w zakresie wybranych zagadnień łączności bezprzewodowej - certyfikat kompetencji w zakresie sieci 802.16 (WiMax). dr hab. inż. Paweł Szulakiewicz PP Paweł Szulakiewicz, Robert Kotrys, Piotr Remlein, Andrzej Stelter 13 18 32 Ocena, porównanie i realizacja nadajników i odbiorników dla sieci WLAN. Algorytm przydziału zasobów kanału dla sieci IEEE 802.11e pracującej w trybie HCCA dr hab. inż. Paweł Szulakiewicz PP Paweł Szulakiewicz, Robert Kotrys, Piotr Remlein, Andrzej Stelter, Maciej Krasicki 13 18 33 Przeprowadzenie badań symulacyjnych w celu weryfikacji protokołów prof. dr hab. inż. Józef Woźniak PG Józef Woźniak, Przemysław Machań 13 18 34 Przygotowanie środowiska symulacyjnego, analiza wydajności proponowanych rozwiązań prof. dr hab. inż. Józef Woźniak PG Józef Woźniak, Tomasz Mrugalski 13 18 35 Analiza wydajności obsługi użytkowników sieci UMTS w aspekcie ruchowym dr hab. inż. Wiesław Ludwin AGH Wiesław Ludwin, Michał Wągrowski 13 18 2

36 Opracowanie oprogramowania sterującego pracą stanowiska pomiarowego dr inż. Jacek Stefański PG Sławomir Ambroziak, Andrzej Białowąs, Ryszard Katulski, Jarosław Sadowski,Jacek Stefański 13 18 37 Opracowanie oprogramowania na mikroprocesor DSP realizującego podstawowe bloki nadajnika i odbiornika modemu z wykorzystaniem oprogramowania uruchomieniowego prof. dr hab. inż. Krzysztof Wesołowski PP Krzysztof Wesołowski, Adrian Langowski, Michał Sybis, Łukasz Sajkowski 13 18 38 Analiza i projektowanie szerokopasmowych dipolowych i monopolowych anten planarnych dla systemów 4G dr hab. inż. Włodzimierz Zieniutycz PG Włodzimierz Zieniutycz, Mariusz Pergoł, Łukasz Sorokosz 13 18 39 Weryfikacja zaproponowanej techniki na przykładowych projektach urządzeń dla nowoczesnych systemów komunikacji bezprzewodowej dr hab. inż. Włodzimierz Zieniutycz PG Włodzimierz Zieniutycz, Michał Mrozowski, Łukasz Balewski, Adam Lamęcki 13 18 40 Bezpieczeństwo bezprzewodowych sieci sensorowych dr inż. Krzysztof Szczypiorski, PW Aleksandra Stępień, Krzysztof Szczypiorski, Elżbieta Zielińska 13 18 41 System automatycznego wykrywania ataków w sieci mobilnej etap III dr inż. Lucjan Janowski AGH Lucjan Janowski, Maciej Korczyński, Krzysztof Rusek 13 18 42 Opracowanie i implementacja systemu pomiaru parametrów ruchu do celów sterowania jakością połączeń prof. dr hab. inż. Andrzej Pach AGH Andrzej Pach, Marek Natkaniec, Katarzyna Kosek-Szott, Szymon Szott, Mariusz Witosz 19 24 43 Implementacja zaprojektowanego rozwiązania w kartach bezprzewodowych prof. dr hab. inż. Andrzej Pach AGH Andrzej Pach, Andrzej Głowacz, Marek Natkaniec, Katarzyna Kosek-Szott, 19 24 Szymon Szott 44 Opracowanie i oferowanie certyfikatów kompetencji w zakresie wybranych zagadnień łączności bezprzewodowej - certyfikat kompetencji w zakresie sieci 802.16 (WiMax). dr hab. inż. Paweł Szulakiewicz PP Paweł Szulakiewicz, Robert Kotrys, Piotr Remlein, Andrzej Stelter 19 24 3

45 Ocena, porównanie i realizacja nadajników i odbiorników dla sieci WLAN. Algorytm przydziału zasobów kanału dla sieci IEEE 802.11e pracującej w trybie HCCA dr hab. inż. Paweł Szulakiewicz PP Paweł Szulakiewicz, Robert Kotrys, Piotr Remlein, Andrzej Stelter, Maciej Krasicki 19 24 46 Przygotowanie środowiska symulacyjnego, analiza wydajności proponowanych rozwiązań prof. dr hab. inż. Józef Woźniak PG Józef Woźniak, Przemysław Machań 19 24 47 Analiza wydajności obsługi użytkowników sieci UMTS w aspekcie ruchowym dr hab. inż. Wiesław Ludwin AGH Wiesław Ludwin, Michał Wągrowski 19 24 48 Przeprowadzenie pomiarów w warunkach rzeczywistych w celu weryfikacji przyjętych założeń dr inż. Jacek Stefański PG Sławomir Ambroziak, Andrzej Białowąs, Ryszard Katulski, Bronisława Rauhut- Sobczak, 19 24 Jarosław Sadowski, Wojciech Siwicki, Jacek Stefański 49 Opracowanie oprogramowania na mikroprocesor DSP realizującego podstawowe bloki nadajnika i odbiornika modemu z wykorzystaniem oprogramowania uruchomieniowego prof. dr hab. inż. Krzysztof Wesołowski PP Krzysztof Wesołowski, Adrian Langowski, Michał Sybis, Łukasz Sajkowski 19 24 50 Analiza i projektowanie szerokopasmowych dipolowych i monopolowych anten planarnych dla systemów 4G dr hab. inż. Włodzimierz Zieniutycz PG Włodzimierz Zieniutycz, Mariusz Pergoł, Łukasz Sorokosz 19 24 51 Bezpieczeństwo bezprzewodowych sieci sensorowych dr inż. Krzysztof Szczypiorski PW Aleksandra Stępień, Krzysztof Szczypiorski, Elżbieta Zielińska 19 24 52 System automatycznego wykrywania ataków w sieci mobilnej dr inż. Lucjan Janowski AGH Lucjan Janowski, Maciej Korczyński, Krzysztof Rusek 19 24 4

Nr i nazwa zadania 29, 42: Opracowanie i implementacja systemu pomiaru parametrów ruchu do celów sterowania jakością połączeń Streszczenie Lokalne sieci bezprzewodowe pozwalają na tworzenie infrastruktury sieciowej bez stosowania sieci stałych. Można je wykorzystać do tworzenia sieci szkieletowych w strukturach punkt-punkt oraz wielopunkt, podczas gdy punkty dostępu służą zwykle do przyłączania węzłów mobilnych. W przypadku zastosowania sieci standardu IEEE 802.11 w charakterze punktów dostępu do Internetu w miejscu publicznym konieczne staje się stosowanie zabezpieczeń sieci i mechanizmów kontroli jakości usług. Jedynie w ten sposób można zapewnić wszystkim użytkownikom możliwość poprawnego korzystania z sieci (często istnieje np. potrzeba ograniczenia wykorzystywanych przez użytkowników zasobów, tak aby zapewnić innym użytkownikom realizację usług transmisji głosu, wideo oraz innych usług izochronicznych). W raporcie przedstawiono sposób realizacji systemu pomiaru parametrów ruchu zaproponowany dla implementowanego punktu dostępowego standardu IEEE 802.11 a/b/g/e. Punkt dostępowy zbudowany został w oparciu o układ scalony wyprodukowany przez firmę Atheros, posiadający wsparcie dla wszystkich wymienionych rozszerzeń standardu IEEE 802.11 i działający w systemie operacyjnym Linux. 5

Sprawozdanie merytoryczne z wykonanych zadań: 29, 42: Opracowanie i implementacja systemu pomiaru parametrów ruchu do celów sterowania jakością połączeń 1. Cel i zakres zadania Celem zadania jest przedstawienie możliwości realizacji systemu pomiaru parametrów ruchu w projektowanym punkcie dostępu ze wsparciem jakości świadczonych usług. Zastosowane mechanizmy pozwalają na kontrolę parametrów QoS (Quality of Service) w warstwie łącza danych oraz warstwie sieciowej modelu OSI/ISO. Możliwe będzie wykorzystanie jednego z trzech dostępnych schematów pracy punku dostępu: a) użycie tylko standardu IEEE 802.11e - zapewnienie gwarantowanej jakości świadczonych usług w warstwie łącza danych modelu OSI/ISO, b) użycie tylko dyscyplin kolejkowych zapewnienie gwarantowanej jakości świadczonych usług w warstwie sieciowej modelu OSI/ISO, c) podejście mieszane z wykorzystaniem obu tych mechanizmów. Dodatkowym celem opracowywanego systemu będzie możliwie jak najlepsze wykorzystanie parametrów kolejek transmisyjnych zdefiniowanych w standardzie IEEE 802.11e w tym celu wykonane zostaną testy sprawdzające wpływ ustawień poszczególnych parametrów na osiągane szybkości transmisji. Mechanizmy zapewnienia jakości usług powinny być jedynie częścią systemu. System jako całość powinien umożliwić zarządzanie punktem dostępowym standardu IEEE 802.11a/b/g ustawienie podstawowych parametrów konfiguracji interfejsów oraz adresu IP urządzenia. System powinien posiadać interfejs graficzny umożliwiający użytkownikowi prostą konfigurację parametrów punktu dostępowego bez wnikania w szczegóły implementacyjne i mechanizmy systemu operacyjnego. Zestaw oferowanych opcji powinien być na tyle ograniczony i przejrzysty aby możliwa była sprawna konfiguracja prostej sieci bezprzewodowej, nawet przez niedoświadczonego użytkownika. Mechanizmy zapewnienia jakości usług powinny być pogrupowane względem warstwy modelu OSI/ISO. 2. Opis uzyskanych rezultatów Całkowita przepustowość sieci bezprzewodowej standardu IEEE 802.11 jest bardzo ograniczona w porównaniu do współczesnej sieci kablowej standardu IEEE 802.3. Dodatkowo zawodność transmisji bezprzewodowej powoduje degradację osiąganych parametrów transmisji. Wymagania użytkowników sieci rosną natomiast w miarę rozwoju Internetu strony internetowe zawierają coraz więcej treści multimedialnych, co pociąga za sobą większe wymagania odnośnie wielkości potrzebnych przepustowości. Internet jest obecnie coraz częściej wykorzystywany do komunikacji głosowej i wideo, co powoduje wzrost wymagań względem transmisji ruchu sieciowego przesyłanego między użytkownikami. Pojęcie jakości usług może być postrzegane na kilka różnych sposobów w zależności od tego jaka jest specyfikacja jakości usług: 6

a) Wyceniona jakość usług - pojęcie marketingowe, cena usług w zależności od pewnych jej parametrów - informacje które przedstawia się potencjalnemu klientowi aby zachęcić go do wykupienia usługi. b) Postrzegana jakość usług - jakość usług postrzegana/wymagana przez użytkownika sieci - subiektywne wrażenie użytkownika sieci, zależne od tego jakich aplikacji używa i w jaki sposób wykorzystuje sieć. c) Wewnętrzna jakość usług - rzeczywista jakość usług, określona przez jej parametry mierzalne a także właściwości urządzeń sieciowych i materiałów wykonania instalacji sieciowej. Formalnym opracowaniem, które w najdokładniejszy sposób prezentuje pojęcie jakości usług oraz mechanizmy związane z tym pojęciem jest rekomendacja ITU-T X.641. Dokument ten w sposób w pełni zautomatyzowany przedstawia propozycję/projekt środowiska do zarządzania jakością usług. Rekomendacja ITU-T X.641 porusza takie tematy jak: sposób pomiaru jakości usług, schematy zarządzania jakością usług, fazy komunikacji podczas której można zarządzać jakością usług oraz weryfikację jakości usług. Rekomendacja zawiera definicję charakterystyk jakości usług mierzalnych aspektów sieci/systemu komputerowego, które opisują rzeczywisty poziom jakości usług w systemie (w odróżnieniu od obserwowanego przez użytkownika). Jakość usług w kontekście prezentowanej pracy opiera się na kilku charakterystykach, z których najważniejsze są: dostępna dla użytkownika przepustowość oraz maksymalne opóźnienie transmisji pakietu. Gwarancja jakości usług w systemie polega na zapewnieniu, że zmierzone wartości tych charakterystyk będą takie jak ustawił użytkownik systemu (poprzez graficzny interfejs użytkownika) albo wyższe. Bardzo popularnym schematem zapewnienia gwarantowanej jakości świadczonych usług jest użycie dyscyplin kolejkowych. Dyscypliny kolejkowe są algorytmami decydującymi o kolejności transmisji pakietów. W przypadku klasowych dyscyplin kolejkowych wszystkie pakiety, skierowane przez jądro systemu operacyjnego do wysłania, szeregowane są do odpowiednich klas ruchu sieciowego. Dyscyplina kolejkowa przetwarza kolejno wszystkie klasy ruchu transmitując pakiety należące do tej klasy. To ile pakietów zostanie wysłane zależy od parametrów przypisanych klasie - pozostałe oczekują na transmisję w następnych cyklach działania algorytmu. Dyscypliny kolejkowe korzystają z klasyfikatorów (reguł klasyfikacji pakietów) w celu przyporządkowania ruchu sieciowego do odpowiednich klas. Klasyfikatory oferują wiele różnych metod klasyfikacji, jednak najczęściej wykorzystywane są reguły klasyfikacji na podstawie adresu docelowego MAC. Mechanizm dyscyplin kolejkowych jest silnie rozwiniętym narzędziem, szeroko rozpowszechnionym i wykorzystywanym, posiada jednak pewną wadę: nie jest możliwe sterowanie ruchem sieciowym w węzłach końcowych sieci - dyscypliny kolejkowe, pracując w punkcie dostępowym, sterują ruchem do abonenta. Wzrost wymagań względem parametrów transmisji ruchu sieciowego od abonenta, spowodowany rozwojem technologii multimedialnych, pociąga za sobą konieczność stosowania mechanizmów kontroli ruchu sieciowego już na urządzeniu użytkownika (węźle sieci). Możliwa jest także częściowa kontrola tego ruchu w punkcie dostępowym, jednak wydajność takiego rozwiązania jest znacznie niższa (zmniejsza się wydajność sieci) niż w przypadku kontroli u abonenta. Standard IEEE 802.11e (nazywany też potocznie WMM WiFi MultiMedia) opracowany poprzez organizację standaryzacyjną IEEE 802.11 jest częściowym rozwiązaniem problemu sterowania ruchem sieciowym od abonenta. Standard nie pozwala co prawda sterować 7

ruchem sieciowym w sposób tak dokładny jak dyscypliny kolejkowe, jednak w odróżnieniu od dyscyplin kolejkowych jest mechanizmem rozproszonym działającym na punkcie dostępowym i klientach sieci. Opracowanie standardu IEEE 802.11e skłoniło producentów do implementacji tych mechanizmów w swoich. Standard ten postrzegany był przez wielu operatorów jako rozwiązanie problemów zapewnienia gwarantowanej jakości świadczonych usług, a producenci urządzeń, chcąc konkurować o klientów, musieli starać się o to żeby ich sprzęt wspierał oczekiwany standard. Możliwe stało się budowanie sieci bezprzewodowej w oparciu o urządzenia różnych producentów i stosowanie wspólnych mechanizmów zapewnienia gwarantowanej jakości świadczonych usług. Dużą niedogodnością w stosowaniu standardu IEEE 802.11e jest brak możliwości sterowania transmisją każdego klienta sieci z osobna. Standard pozwala na sterowanie ruchem do abonenta oraz ruchem od abonenta, jednak wartości parametrów przypisywane klientom są wspólne. Niedogodność ta jest znacząca ponieważ ogranicza możliwości różnicowania ruchu sieciowego użytkowników sieci. Standard IEEE 802.11e obejmuję tylko warstwę dostępu do medium MAC (Medium Access Control) nie definiuje więc parametrów transmisji (minimalnej i maksymalnej przepustowości oraz opóźnienia transmisji). Tak więc jakość usług zapewniana przez standard nie może być postrzegana w taki sam sposób w jaki zostało to przedstawione w rekomendacji ITU-T X.641. Standard IEEE 802.11e stanowi obecnie stałą pozycję w ofercie producentów punktów dostępowych standardu IEEE 802.11 oraz urządzeń użytkownika (klientów sieci). Producenci nie prezentują jednak dopracowanych sposobów na wykorzystanie możliwości, które daje im standard IEEE 802.11e większość implementacji ogranicza się jedynie do możliwości ustawienia podstawowych parametrów opisanych w standardzie, nie prezentując jednak użytkownikowi żadnych konkretnych pomysłów na wykorzystanie i sposób działania tych parametrów. Co więcej, można powiedzieć że trudno jest znaleźć gdziekolwiek praktyczne informacje na temat proponowanych wartości tych parametrów oraz uzyskanych rezultatów. Wiele opracowań naukowych porusza temat wpływu wartości parametrów standardu IEEE 802.11e na wydajność pracy sieci. Prace te, w większości przypadków, prezentują jednak modele matematyczne i symulacje komputerowe. Brakuje opracowań zawierających praktyczne informacje na temat poprawnych wartości parametrów i uzyskanych wyników w rzeczywistym środowisku testowym. 2.1 Sprzętowe kolejki transmisyjne urządzeń standardu IEEE 802.11e - zapewnienie gwarantowanej jakości usług na poziomie warstwy 2 modelu OSI/ISO Pakiety przekazywane przez sterownik (oprogramowanie) do buforów urządzenia IEEE 802.11e trafiają przed wysłaniem do jednej z kilku kolejek urządzenie posiada wiele buforów (zawierających pakiety do transmisji), kolejkowane są numery tych buforów. Standard IEEE 802.11e definiuje 4 kolejki transmisyjne o zróżnicowanych priorytetach. Kolejki zaimplementowane są jako część układu elektronicznego (pamięci) nie są strukturami danych w sterowniku (oprogramowaniu). Priorytety kolejek różnią się między sobą ramki zaklasyfikowane do kolejki o wyższym priorytecie będą miały pierwszeństwo nad ramkami zaklasyfikowanym do kolejki o niższym priorytecie. Reguły klasyfikacji nie zostały określone w standardzie IEEE 802.11e klasyfikacja ta pozostawiana jest sterownikowi urządzenia może być zaimplementowana w zupełnie dowolny sposób. Nazwy kolejek stanowią propozycję jakie ramki powinny być do nich klasyfikowane. Kolejne nazwy kolejek to: a) AC_VO (ang. Voice dane głosowe, wymagające minimalnych opóźnień) kolejka o najwyższym priorytecie - np. rozmowa programu Skype. 8

b) AC_VI (ang. Video dane wymagające dość dużej przepustowości i w miarę możliwości minimalnych opóźnień) np. transmisja sygnału wideo c) AC_BE (ang. Best Effort dane o normalnych wymaganiach przepustowości i opóźnień) - np. transfer HTTP d) AC_BK (ang. Background dane o niskich wymaganiach względem przepustowości i opóźnień) np. transfer FTP Dokładne zachowanie kolejek ustalane jest przez ustawienie parametrów pracy protokołu IEEE 802.11e. Prowadzeniem transmisji dla każdej z kolejek zajmuje się niezależna funkcja dostępu do medium EDCAF (Enhanced Distributed Channel Access Function). Funkcja ta jest algorytmem, którego wykonanie prowadzi do uzyskania dostępu do medium. Funkcje działają niezależnie algorytm działania jest taki sam, jednak stan (krok algorytmu i zmienne algorytmu) każdej z kolejek jest różny. Standard IEEE 802.11e definiuje dwa uzupełniające się mechanizmy uzyskiwania dostępu do medium: a) Globalny wewnątrz całej sieci - zapewnia że ramki transmitowane z kolejki o wyższym priorytecie/lepszych parametrach jednego z węzłów sieci będą transmitowane przed ramkami wychodzącymi z kolejki o niższym priorytecie/gorszych parametrach, innego węzła sieci. b) Lokalny wewnątrz interfejsu sieciowego zapewnia, że ramki transmitowane z kolejki o wyższym priorytecie będą transmitowane przed ramkami wychodzącymi z kolejki o niższym priorytecie. Transmisje pakietów według priorytetu kolejki IEEE 802.11e zapewnione są przez algorytm rozstrzygania wewnętrznych kolizji. Zadaniem tego algorytmu jest pobieranie w pierwszej kolejności do transmisji ramek o najwyższym priorytecie. Parametry kolejek IEEE 802.11e przesyłane są przez punkt dostępowy w ramkach typu Beacon, Probe Response i Association Response. W przypadku nie otrzymania zestawu parametrów IEEE 802.11e, węzeł sieci przyjmuje wartości standardowe - zdefiniowane w sterowniku (osoby projektujące sterownik powinny ustalić domyślne wartości tych parametrów, tak aby były zgodne ze standardem IEEE 802.11e). Procedura uzyskiwania dostępu do medium w trybie EDCA standardu IEEE 802.11 została szczegółowo opisana w raporcie A1.1 zadania A1 projektu. Standard IEEE 802.11e definiuje osobne zestawy parametrów kolejek dla urządzeń użytkownika i punktu dostępowego. Dla wszystkich klientów zdefiniowany jest wspólny zestaw parametrów kolejek. Punkt dostępowy rozgłasza parametry wewnątrz ramek zarządzających standardu IEEE 802.11: a) Ramek Beacon b) Odpowiedzi Probe Response c) Odpowiedzi Association Response Każdy węzeł sieci modyfikuje parametry swoich kolejek po otrzymaniu uaktualnionych wartości konfiguracyjnych. Aby uzyskać możliwość sterowania parametrami kolejek każdego węzła sieci z osobna należy więc zrezygnować z rozsyłania ramek Beacon lub zrezygnować z umieszczania parametrów kolejek standardu IEEE 802.11e w ramkach Beacon. Konieczne było zmodyfikowanie mechanizmów standardu IEEE 802.11e w taki sposób, aby możliwe było przydzielenie różnym węzłom sieci, odmiennych parametrów kolejek standardu IEEE 802.11e (takich jak CWmin, CWmax, TXOP oraz AIFS) pozwala to zróżnicować jakość usług świadczonych dla różnych klientów sieci. 9

Ruch sieciowy wychodzący z punktu dostępowego jest klasyfikowany do różnych kolejek standardu IEEE 802.11e, na podstawie wartości pola TOS (Type of Service) oraz adresu docelowego MAC. W przypadku ruchu do abonenta parametry kolejek są wspólne (parametry kolejek punktu dostępowego), jednak zdefiniowanie reguł klasyfikacji pozwala zróżnicować ruch sieciowy wychodzący z punktu dostępowego do różnych węzłów sieci. 2.1.1 Zapewnienie gwarantowanej jakości usług na poziomie warstwy drugiej modelu OSI/ISO w ruchu do abonenta Sterownik MADWIFI implementuje mechanizm klasyfikacji pakietów do kolejek transmisyjnych IEEE 802.11e na podstawie wartości pola TOS. Odwzorowanie to jest zapisane na stałe w kodzie sterownika. Podczas tej klasyfikacji nie uwzględnia się adresu docelowego MAC. Mechanizm klasyfikacji zostanie przesunięty do EBTABLES. Zadaniem EBTABLES jest etykietowanie pakietu (poprzez ustawienie wartości pola MARK) pasujących do zdefiniowanego wzorca (na podstawie adresu MAC i wartości pola TOS) pewną zdefiniowaną liczbą: a) 0x01: dla pakietów kierowanych do kolejki AC_VO b) 0x02: dla pakietów kierowanych do kolejki AC_VI c) 0x04: dla pakietów kierowanych do kolejki AC_BK d) 0x08: dla pakietów kierowanych do kolejki AC_BE W sterowniku MADWIFI zaimplementowano odwzorowanie, które na podstawie wartości tego pola kieruje pakiety do odpowiedniej kolejki transmisyjnej IEEE 802.11e. Poniższy diagram przedstawia mechanizm przetwarzania pakietu przez reguły EBTABLES: Rys.1. Proces etykietowania pakietów na podstawie zawartości pola TOS oraz adresu docelowego MAC. Pakiety przetwarzane w stosie sieciowym, które kierowane są do wysłania przez którykolwiek z interfejsów przetwarzane są w łańcuchu POSTROUTING tabeli NAT (reguły 10

EBTABLES aplikowane są w wielu miejscach stosu sieciowego, POSTROUTING jest jednym z nich przetwarzane w tym miejscu są wszystkie pakiety wychodzące niezależnie od pochodzenia). Do pakietów stosowane są dwa stopnie klasyfikacji (struktury hierarchiczne tworzone są w EBTABLES poprzez utworzenie łańcuchów zestawów reguł na danym poziomie hierarchii, pakiet zaklasyfikowany na wyższym poziomie jest dalej przetwarzany w łańcuchu reguł niższego poziomu). Pierwszy stopień klasyfikacji to klasyfikacja na podstawie adresu docelowego MAC - pakiety przekazywane są dalej do łańcuchów reguł odpowiadających danym adresom MAC. Pakiety nie zaklasyfikowane do żadnego łańcucha przekazywane są dalej do transmisji bez zmiany pola MARK. Drugi stopień klasyfikacji (wewnątrz łańcuchów MAC) to klasyfikacja na podstawie wartości pola TOS nagłówka IP pakietu. Klasyfikacja następuje na podstawie 0-4 reguł odpowiadających dozwolonym wartością pola TOS. W przypadku jeżeli pakiet nie zostanie zaklasyfikowany za pomocą żadnej reguły - uruchamiana jest ostatnia reguła (domyślna, zdefiniowana dla każdego adresu docelowego MAC), która powoduje oznaczenie pakietu znacznikiem MARK=0x08 co odpowiada klasyfikacji do kolejki transmisyjnej AC_BE. Reguły klasyfikacji (pierwszego poziomu oraz drugiego poziomu) ustalane są przez użytkownika systemu z poziomu graficznego interfejsu użytkownika. Nie jest wymagane zdefiniowanie reguł (zarówno pierwszego jak i drugiego poziomu) w tym przypadku wykorzystane zostaną domyślne reguły klasyfikacji. Na przedstawionym diagramie dla pierwszego adresu docelowego MAC zdefiniowano reguły dla typu usługi (TOS): Minimize Delay, Maximize Reliability, Minimize Monetary-Cost. Dla drugiego adresu docelowego MAC nie zdefiniowano żadnej reguły - obecna jest jedynie domyślna reguła klasyfikacji. Mechanizm kierowania pakietów do odpowiednich kolejek transmisyjnych w sterowniku MADWIFI zmodyfikowano w ten sposób, aby na podstawie wartości pola MARK, pakiety były umieszczane w odpowiadających tej wartości kolejkach transmisyjnych IEEE 802.11e. Wartość pola MARK nie jest porównywana do odpowiednich stałych w zamian wykonywana jest operacja równoważna stan odpowiednich bitów testowany jest z wykorzystaniem operatora bitowego AND. Schemat pozwala na kierowanie pakietów tego samego typu (przesyłanych przez te same aplikacje) ale kierowanych do różnych klientów, do różnych kolejek transmisyjnych IEEE 802.11e a więc także uzyskanie różnych parametrów transmisji. 2.1.2 Zapewnienie gwarantowanej jakości usług na poziomie warstwy 2 modelu OSI/ISO w ruchu od abonenta Sterownik MADWIFI umożliwia ustawienie parametrów kolejek transmisyjnych IEEE 802.11e osobno dla punktu dostępowego i klientów. Możliwe jest jedynie ustawienie wspólnych parametrów dla wszystkich klientów. Funkcjonalność ta rozszerzona została w ten sposób, że możliwe jest ustawienie parametrów kolejek transmisyjnych dla każdego klienta z osobna. Ramki Probe Response i Association Response wysyłane są na adres konkretnego urządzenia jako odpowiedź na ramki Probe Request i Association Request. Aby umożliwić ustawienie osobnych parametrów kolejek dla różnych klientów, należy uniemożliwić punktowi dostępowemu rozsyłanie wartości domyślnych w ramkach Beacon, a ramki Probe Response i Association Response wypełniać regułami charakterystycznymi dla danego klienta. Wyłączenie periodycznego rozsyłania ramek Beacon wydaje się być potencjalnym rozwiązaniem. Ramki Beacon postrzegane są jako zagrożenie bezpieczeństwa sieci, powodują utratę przepustowości oraz zasobów urządzeń, jednak błędna konstrukcja 11

sterownika MADWIFI (poprawne działanie sterownika zostało uzależnione od periodycznego wysyłania ramek Beacon) sprawia, że nie można zastosować tego rozwiązania. Rozwiązaniem alternatywnym jest zezwolenie na transmisję ramek Beacon, nie przesyłając jednak parametrów kolejek IEEE 802.11e wewnątrz tych ramek. Minusem tego rozwiązania także jest zależność od poprawności implementacji sterownika. Nieprawidłowe działanie sterownika na urządzeniu użytkownika może powodować pewne kłopoty sterownik MADWIFI w 90% przypadków poprawnie ustawia wartości kolejek transmisyjnych, jednak w pozostałych 10% przypadków bez żadnego uzasadnienia przyjmowane są wartości domyślne. W systemie zdefiniowane zostały trzy zestawy parametrów: a) zestaw wartości parametrów kolejek IEEE 802.11e dla punktu dostępowego b) zestaw domyślnych wartości parametrów kolejek IEEE 802.11e dla klientów sieci używany jeżeli nie zdefiniowano reguł specyficznych dla danego klienta c) zestawy reguł specyficznych dla danego klienta (dla każdego klienta osobny zestaw) wartości z tego zestawu pełnią rolę nadrzędną nad wartościami domyślnymi. Wartości specyficzne dla danego klienta ustawia się dla każdej kolejki transmisyjnej IEEE 802.11e z osobna poprzez graficzny interfejs użytkownika. Użytkownik systemu może więc na przykład zdefiniować tylko specyficzne reguły dla pewnej kolejki AC_VO, pozostawiając wartości domyślne wartości parametrów pozostałych kolejek. Struktury opisujące wartości specyficzne umieszczone są wewnątrz sterownika MADWIFI. Interfejsem do tych ustawień z przestrzeni użytkownika jest system plików PROCFS. Sterownik MADWIFI odpowiadając na ramkę Probe Request lub Association Request odczytuje odpowiednią strukturę, odnajdując ją najpierw na liście poprzez porównanie adresów docelowych MAC, a następnie na jej podstawie wypełnia ramkę Probe Response lub Association Response. Rys. 2. Domyślne wartości parametrów kolejek IEEE 802.11e klienta. 12

Rys. 3. Wartości specyficzne parametrów kolejek IEEE 802.11e oraz reguły klasyfikacji dla klienta sieci. 2.2 Wykorzystanie dyscyplin kolejkowych HTB - zapewnienie gwarantowanej jakości usług na poziomie warstwy 3 modelu OSI/ISO sterowanie ruchem do abonenta Ruch sieciowy wychodzący z punktu dostępowego powinien być klasyfikowany do różnych klas na podstawie adresu docelowego MAC. W systemie zdefiniowano dwie klasy ruchu sieciowego klasę główną (przez którą przepływa cały ruch sieciowy) oraz klasę domyślną (do której trafia ruch nie zaklasyfikowany do żadnej z pozostałych klas). HTB (Hierarchical Token Bucket) jest algorytmem kolejkowania pakietów decyduje o transmisji pakietu zakwalifikowanego do pewnej klasy ruchu sieciowego. Sposób działania algorytmu Token Bucket można zobrazować w najprostszy sposób wykorzystując abstrakcyjne pojęcie wiadra (ang. Bucket) do którego wpadają z pewną częstotliwością żetony (ang. Token). W rzeczywistej implementacji wiadro zostało zastąpione licznikiem bajtów możliwych do wysłania pewna ilość bajtów przydzielana jest w jednostce czasu. Transmisja pakietu wymaga zabrania części żetonów z wiadra można wyobrazić sobie, że wiadro jest dziurawe i wylewa się z niego pewna ilość żetonów przy każdym wysłanym pakiecie. Pewna ilość żetonów wpada do wiadra w jednostce czasu proces ten jest niezależny od transmisji pakietów. Jeżeli zbyt mało żetonów wpada do wiadra w porównaniu z ilością, która zostanie zużyta na transmisję pakietów, wiadro staje się puste uniemożliwia to transmisję pakietów aż do czasu kiedy wiadro zapełni się do tego stopnia żeby możliwa była transmisja przynajmniej jednego pakietu. Każdej z klasy przydzielone zostało jedno wiadro, różna ilość żetonów może wpadać do wiadra danej klasy w jednostce czasu dzięki czemu jedne z klas będą mogły transmitować więcej pakietów niż inne. Transmisja prowadzona jest cyklicznie z kolejnych klas i znów od początku. Maksymalna ilość żetonów jaka może być zabrana z wiadra podczas jednego cyklu transmisji to burst wartość ta ustalana jest dla każdej klasy z osobna i oznacza maksymalną ilość bajtów jaka może być wysłana w jednym cyklu. Algorytm HTB w odróżnieniu od zwykłego Token Bucket wprowadza hierarchię klas klasy tworzą strukturę drzewa. Dobrym przykładem jest hierarchia w której korzeń drzewa stanowi klasę zbiorczą oznaczającą cały transmitowany ruch sieciowy. Drugi poziom hierarchii tworzą węzły oznaczające ruch sieciowy 13

transmitowany do pewnego użytkownika sieci. Trzeci poziom hierarchii (liście) to ruch sieciowy konkretnego protokołu (np. HTTP, FTP, rozmowa Skype) konkretnego użytkownika sieci. W odróżnieniu od Token Bucket, HTB nie zatrzymuje transmisji w momencie opróżnienia się wiadra z żetonami żetony mogą być pożyczone od klasy nadrzędnej w hierarchii żetony te wypływają z wiadra tej nadrzędnej klasy. Każda z klas może pożyczyć tylko tyle żetonów od klasy nadrzędnej, że ich suma wraz z żetonami własnymi będzie mniejsza bądź równa wartości maksymalnej ceil (maksymalna ilość bajtów wysłanych w jednostce czasu). To ile uda się pożyczyć żetonów od klasy nadrzędnej zależy od tego ile pożyczyła ona innym swoim klasom podrzędnym. Filtr FWMARK: filtry są narzędziem które klasyfikuje pakiety do klas na podstawie ustalonego wzorca. Filtr FWMARK klasyfikuje pakiety na podstawie wartości pola MARK struktury reprezentującej pakiet przepływający przez stos sieciowy systemu Linux. Filtracji (klasyfikowania) pakietów dokonuje się na samej górze hierarchii klas w korzeniu drzewa hierarchii. Wartość pola FWMARK ustalana jest przez inne narzędzie stosu sieciowego Linux EBTABLES. Rys. 4. Reguły współdziałania filtra klasyfikującego FWMARK z dyscypliną kolejkową HTB klasyfikacja pakietów do klas. EBTABLES jest zbiorem konfigurowalnych reguł pozwalających wykonywać na przetwarzanym w stosie sieciowym pakiecie pewne operacje modyfikować zawartość pakietu, odrzucać pakiet. Reprezentacja pakietu warstwy łącza danych w systemie Linux rozszerzona została o dodatkowe pola, które są widoczne tylko podczas przetwarzania tego pakietu w stosie sieciowym. Przy wysyłaniu pakietu pola te są ignorowane. MARK jest polem, które może być wykorzystane w dowolny sposób do etykietowania tego pakietu czterobajtową liczbą całkowitą. EBTABLES posiada wbudowaną operację mark - jej parametrem jest liczba całkowita, którą oznaczony zostanie pakiet. Oznaczenie to może zostać wykorzystane w sterowniku IEEE 802.11 w celu klasyfikacji pakietu do odpowiedniej kolejki transmisyjnej. EBTABLES jest narzędziem wbudowanym w jądro systemu Linux. Sterowanie regułami EBTABLES następuje poprzez wywoływanie odpowiednich komend programu narzędziowego ebtables. 14

EBTABLES posiada wbudowany wzorzec TOS, do którego pasują wszystkie pakiety posiadające pole TOS o wartości równej parametrowi tego wzorca. Wzorzec taki pozwala wykonywać pewne operacje na wszystkich pakietach o wartości pola TOS równej parametrowi tego wzorca np. etykietować. Użytkownik systemu ma możliwość ustawienia poprzez graficzny interfejs użytkownika następujących parametrów usługi: a) rate : przepustowość gwarantowana, b) ceil: maksymalna dostępna przepustowość, c) burst: minimalna gwarantowana ilość bajtów jaka może być wysłana przez klasę HTB w jednym cyklu bez przejścia do obsługi kolejnej klasy, d) cburst: maksymalna możliwa ilość bajtów jaka może być wysłana przez klasę HTB bez przejścia do obsługi kolejnej klasy. Hierarchia klas została przedstawiona na rysunku: Rys. 5. Hierarchia klas dyscypliny kolejkowej HTB Hierarchia jest jednostopniowa pakiety klasyfikowane są do klas HTB na podstawie adresu docelowego MAC. Przez klasę główna root przepływa cały ruch sieciowy kierowany do wszystkich klientów sieci. Wartości parametrów rate oraz ceil tej klasy powinny być równe maksymalnej dostępnej na interfejsie IEEE 802.11 przepustowości wartość ta zależna jest od liczby klientów sieci oraz warunków radiowych i powinna zostać wyznaczona eksperymentalnie. Wartość 2200KB/s jest domyślną wartością rate i ceil dla kolejki głównej. Odpowiada to zasobom sieci pracującej w normalnych warunkach radiowych. Klasa domyślna default jest wykorzystywana do transmisji pakietów, które nie zostały przydzielone do żadnej z pozostałych klas (ruch sieciowy do pozostałych użytkowników). Klasa ta powinna mieć ustawione niskie wartości parametrów rate i ceil, a dla wszystkich pozostałych klientów w sieci powinny zostać zdefiniowane reguły HTB. Pakiety są przydzielone do odpowiednich klas HTB na podstawie wartości pola MARK. Wartość ta jest ustalana przez reguły EBTABLES w łańcuchu POSTROUTING tabeli NAT analogicznie jak w przypadku klasyfikacji do kolejek IEEE 802.11e. 2.3 Podejście mieszane Hierarchia klas ruchu dyscypliny kolejkowej została rozszerzona o dodatkowy poziom kolejki standardu IEEE 802.11e. Reguły klasyfikacji ruchu do kolejek są takie same jak w przypadku podejścia ze standardem IEEE 802.11e. Należy tak konstruować mechanizmy gwarantowania jakości usług aby nie marnować zasobów sieci. Przepustowości, które zostały przydzielone danemu użytkownikowi, a które nie zostały przez niego zajęte powinny 15

zostać rozdzielone pomiędzy innych aktywnych użytkowników. Zagadnienie to jest szczególnie ważne w przypadku algorytmów kolejkowania działających na warstwie sieciowej modelu OSI/ISO. Ruch sieciowy od abonenta: Ruch sieciowy od abonenta sterowany jest w sposób analogiczny jak w przypadku podejścia z wykorzystaniem tylko standardu IEEE 802.11e poprzez odpowiednie sterowanie parametrami kolejek transmisyjnych. Ruch do abonenta: W celu zapewnienia jakości usług ruchu do abonenta wykorzystane zostały zarówno kolejki transmisyjne IEEE 802.11e jak i dyscyplina kolejkowa HTB. Poniższy diagram przedstawia operacje wykonywane na każdym pakiecie IP podczas przetwarzania w omawianym schemacie. Rys. 6. Przetwarzanie pakietów kierowanych do abonenta w schemacie mieszanym zapewnienia gwarantowanej jakości usług. Użytkownik systemu, poprzez interfejs graficzny, definiuje kolejno: a) reguły klasyfikacji pakietów do odpowiednich kolejek IEEE 802.11e na podstawie wartości pola TOS, b) parametry dyscypliny kolejkowej HTB dla całego klienta, c) parametry dyscypliny kolejkowej HTB dla klas odpowiadającym poszczególnym kolejkom standardu IEEE 802.11e. Mechanizm etykietowania pakietów z wykorzystaniem pola MARK pozostaje ten sam, jednak zmienia się format tego pola. Cztery pierwsze bity zostały wykorzystane na oznaczenie kolejki transmisyjnej do której powinien trafić pakiet. Pozostałe bity zawierają identyfikator klienta równoznaczny z identyfikatorem klasy HTB odpowiadającej temu klientowi. Rys. 7. Format pola MARK w podejściu mieszanym cztery najmłodsze bity zajmuje identyfikator kolejki IEEE 802.11e, pozostałe bity przeznaczone zostały na identyfikator klienta 16

Struktura klas HTB i filtrów jest odmienna w stosunku do schematu z dyscyplinami kolejkowymi - wprowadzono dodatkowy poziom. Do każdej klasy klienta (powiązanej z adresem docelowym MAC) przyporządkowano od 1 do 5 klas podrzędnych. Zawsze jest to przynajmniej jedna klasa - klasa domyślna przez którą przepływa ruch nie zaklasyfikowany do żadnej z pozostałych klas. Pozostałe cztery klasy odpowiadają kolejkom IEEE 802.11e dla których zdefiniowano reguły HTB. Rys. 8. Reguły HTB kolejki transmisyjnej AC_VO. Poniższy rysunek przedstawia pełną strukturę klas HTB: Rys.9. Struktura klas HTB w podejściu mieszanym Definicja reguł klasyfikacji do kolejki IEEE 802.11e na podstawie wartości pola TOS jest niezależna od definicji reguł HTB dla tej kolejki w efekcie możliwa jest sytuacja gdy użytkownik nie zdefiniuje odwzorowania TOS, ale zdefiniuje regułę HTB lub też odwrotnie 17

nie zdefiniuje reguły HTB, ale zdefiniuje odwzorowanie TOS. Pierwszy przypadek nie ma większego sensu ale nie spowoduje też błędu. Ruch sieciowy nie popłynie przez zdefiniowaną kolejkę HTB, popłynie natomiast przez kolejkę domyślną. Drugi przypadek jest dość realną sytuacją jeżeli odwzorowanie TOS będzie do kolejki AC_BK to będzie to ruch z kolejki o najniższym priorytecie i również nie powinno mu się zapewniać żadnych parametrów ruchu trafi do kolejki domyślnej. 3. Szczegóły implementacji systemu Poniższy rysunek przedstawia proponowaną architekturę systemu. W ramach zadania 1.2 dokonano implementacji sterownika Madwifi, skryptów interpretera poleceń oraz serwera konfiguracji systemu. Rys.10. Architektura projektowanego systemu punktu dostępowego ze wsparciem QoS 3.1 Sterownik MADWIFI warstwa jądra systemu W systemie wykorzystano jądro Linux w wersji 2.6.24 (jest to wersja domyślne dołączana do systemu operacyjnego OPENWRT, wzbogacona o modyfikacje zwiększające stabilność pracy i dostosowujące system do architektury sprzętowej). Sterownik MADWIFI także będący częścią systemu został rozszerzony o dodatkowe repozytorium parametrów kolejek IEEE 802.11e zawierające parametry specyficzne dla klienta. Repozytorium to zostało zaimplementowane w postaci listy struktur języka C. 3.2 Skrypty interpretera poleceń: warstwa systemu operacyjnego Serce systemu stanowi demon opisany w następnym rozdziale. Demon ustawia konfigurowane parametry poprzez wywołanie skryptów interpretera poleceń. Skrypty korzystają z kilku programów narzędziowych oraz systemu plików SYSFS oraz PROCFS. Główne wykorzystywane programy narzędziowe to: iproute (ustawienia adresu IP), brctl (ustawienia parametrów mostu sieciowego), ifconfig (sterowanie stanem interfejsu), ebtables (reguły klasyfikacji pakietów), wlanconfig (program narzędziowy będący częścią sterownika 18

MADWIFI sterowanie interfejsami IEEE 802.11), wireless tools (sterowanie interfejsami IEEE 802.11), tc (zarządzanie dyscypliną kolejkową HTB). 3.3 Demon konfiguracji systemu Demon pełni rolę serwera konfiguracji oczekuje połączenia klientów na znanym numerze portu. Klienci konfiguracji (np. Graficzny Interfejs Użytkownika) łączą się do demona odczytując ustawienia (w celu prezentacji użytkownikowi systemu), lub zapisują odczytane wcześniej ustawienia. Wszystkie parametry konfiguracji utrzymywane są w pliku o nazwie configuration.txt. Plik ten jest początkowo wczytywany do pamięci demona. Kolejne żądania klientów odczytu parametrów wypełniane są danymi z pamięci. Zawartość pamięci i pliku jest spójna. Zmiana parametrów konfiguracji powoduje zmianę zawartości pamięci oraz zapisanie w pliku configuration.txt wprowadzonych zmian. Zawartość pliku konfiguracyjnego jest zawsze spójna z zawartością pamięci demona. 4. Publikacje, upowszechnianie wyników Do czasopisma Telekomunikacja Cyfrowa - Technologie i Usługi została złożona publikacja (obecnie znajduje się ona w recenzji): M. Natkaniec, M. Witosz, K. Kosek-Szott, Sz. Szott, A. R. Pach Implementacja punktu dostępu do sieci standardu IEEE 802.11 ze wsparciem jakości świadczonych usług Przygotowywana jest kolejna publikacja na konferencję KKRRiT 2010. 5. Podsumowanie W raporcie przedstawiono sposób realizacji systemu konfiguracji i pomiaru parametrów ruchu zaproponowany dla implementowanego punktu dostępowego standardu IEEE 802.11 a/b/g/e. System umożliwia zapewnienie jakości usług według trzech poniższych schematów: a) Zapewnienie jakości usług na warstwie sieciowej modelu OSI/ISO za pomocą algorytmu kolejkowania HTB. Schemat ten dotyczy jedynie ruchu do abonenta, nie jest możliwe sterowanie z wykorzystaniem tego schematu urządzeniami użytkowników sieci. b) Zapewnienie jakości usług na warstwie łącza danych modelu OSI/ISO za pomocą kolejek IEEE 802.11e. W ruchu od abonenta transmisja sterowana jest ustawieniami parametrów kolejek IEEE 802.11e. Parametry kolejek przesyłane są w ramkach zarządzających Probe Response i Association Response. Są one kierowane do każdego klienta niezależnie. W ruchu do abonenta transmisja sterowana jest poprzez kierowanie (klasyfikację) pakietów do odpowiednich kolejek transmisyjnych IEEE 802.11e na podstawie zawartości pola TOS i adresu docelowego MAC. c) Zapewnienie jakości usług na warstwie sieciowej i łącza danych modelu OSI/ISO z wykorzystaniem algorytmów kolejkowania i kolejek IEEE 802.11e. Jest to podejście mieszane. W ruchu od abonenta implementacja będzie analogiczna do przypadku drugiego; w ruchu do abonenta transmisja będzie sterowana poprzez kierowanie (klasyfikację) pakietów do odpowiednich klas algorytmu HTB (pierwszy poziom), a następnie do odpowiednich kolejek transmisyjnych IEEE 802.11e (drugi poziom) na podstawie zawartości pola TOS i adresu docelowego MAC. 19

Dalsze prace w ramach zadania A.1.3 będą się koncentrowały na opracowaniu klienta konfiguracji systemu, interfejsu graficznego użytkownika, a także przeprowadzeniu serii testów potwierdzających poprawność działania zaproponowanych w punkcie dostępowym mechanizmów QoS. 20

Nr i nazwa zadania 30,43: Implementacja zaprojektowanego rozwiązania w kartach bezprzewodowych Streszczenie Niniejszy raport częściowy opisuje w jaki sposób zaimplementowano system nadzoru jakości usług dla środowiska ad-hoc w sterowniku kart bezprzewodowych oraz w systemie Linux. Został podany dokładny cel i zakres tego podzadania. Następnie opisano ogólne założenia implementacji zaproponowanej architektury. Przedstawiono każdy z modułów tworzących architekturę. Podano komunikaty wymieniane pomiędzy poszczególnymi modułami. Raport zawiera również wyniki badań eksperymentalnych. W trakcie badań proponowane rozwiązanie zostało porównane z dwiema funkcjami dostępu do kanału radiowego standardu IEEE 802.11 (DCF i EDCA). Proponowane rozwiązanie pozwala zapewnić najlepszą jakość usług. Raport kończy się podsumowaniem. 21

Sprawozdanie merytoryczne z wykonanych zadań 30, 43: Implementacja zaprojektowanego rozwiązania w kartach bezprzewodowych 1. Cel i zakres zadania Celem opisywanego podzadania jest implementacja zaproponowanego rozwiązania w kartach bezprzewodowych oraz w systemie Linux. Zakres zadania obejmuje implementację następujących modułów proponowanej architektury QoS: Kontroler Ad-hoc QoS Moduł Rutingu Moduł Klasyfikacji i Znakowania Moduł Znakowania CN Moduł Wykrywania CN Moduł Pomiarowy MMM Sterownik kart bezprzewodowych ze wsparciem EDCA w trybie ad-hoc Moduł Sygnalizacji Moduł Klienta/Zarządcy QoS Moduł TC Moduł Wykrywania RCN 2. Opis uzyskanych rezultatów Moduły architektury (Rysunek 1) zostały zaimplementowane w systemie operacyjnym Ubuntu Linux 6.06 w wersji Long-Term Support ze zmodyfikowanym (na potrzeby architektury QoS) jądrem systemu w wersji 2.6.16.5. Moduł pomiarowy MMM (ang. MAC Measurement Module, MMM) został przygotowany w przestrzeni jądra systemu (ang. kernel space) dla sterownika MadWifi, który zapewnia wszystkie niezbędne funkcjonalności i jest obecnie najbardziej zaawansowanym sterownikiem. Kod modułu MMM jest wykonany w języku C. Pozostałe moduły działają w przestrzeni użytkownika (ang. user space). Ich kod został napisany w języku C++. Wybór otwartego oprogramowania, jako podstawy dla implementacji, pozwoli w przyszłości na szerokie zastosowanie opracowanej architektury, łatwe modyfikacje oraz prowadzenie dalszych badań naukowych. 22

a) b) Rysunek 1. Węzeł mobilny (a) i brama dostępowa (b) W opracowanym rozwiązaniu sprzętowym, zastosowano karty Cisco Aironet pracujące w standardach IEEE 802.11. Karty te korzystają z chipsetu Atheros. Karta bezprzewodowa pracuje w trybie promiscuous, który pozwala na działanie modułu pomiarowego równocześnie z transmisją przy użyciu pojedynczej karty bezprzewodowej. Pozwala to wyeliminować niedogodności związane ze stosowaniem osobnych kart dla pomiarów i transmisji, co ma znaczenie dla stosowalności architektury w praktyce. Integracja i testowanie rozwiązań stosowanych w architekturze QoS dokonywana jest na bazie protokołu IPv6 z użyciem narzędzi zapewnianych przez system operacyjny. 2.1 Implementacja Modułu Pomiarowego MMM Każdy węzeł mobilny sieci ad-hoc jest odpowiedzialny za przeprowadzanie pomiarów na poziomie warstwy MAC dla realizacji funkcji przyjmowania zgłoszeń oraz różnicowania ruchu. Moduł pomiarowy warstwy MAC (MMM) zawiera algorytmy pozwalające zbierać informacje odnośnie wielu szczegółowych parametrów sieci, takich jak: przepustowość, szybkość transmisji, liczby ramek różnego typu oraz średnie opóźnienia transmisji ramek. Moduł umożliwia także szacowanie zajętości okna współzawodnictwa. Informacje te są przesyłane do modułu Klienta QoS. Budowa modułu pomiarowego Funkcja analizy ramek modułu MMM została ulokowana w sterowniku karty bezprzewodowej pomiędzy warstwą sieciową IP, a oprogramowaniem firmware karty (Rysunek 2). Takie umiejscowienie pozwala na wykonywanie szybkich i wydajnych obliczeń na podstawie informacji o pakietach transmitowanych pomiędzy warstwami IP i MAC. Dzięki temu, można zrezygnować ze stosowania dodatkowych bibliotek dla przechwytywania ruchu sieciowego, co niosłoby ze sobą problemy z ograniczeniami wydajności przetwarzania. Umiejscowienie modułu MMM pozwala także na wystarczająco dokładne pomiary oraz przyszłe rozszerzenia o dodatkowe funkcjonalności. 23

Rysunek 2. Ulokowanie modułu pomiarowego. MadWifi (ang. Multiband Atheros Driver for Wireless Fidelity) jest sterownikiem urządzeń sieci bezprzewodowych dla systemu operacyjnego Linux opartych na chipsetach firmy Atheros Communications. Możliwe jest konfigurowanie urządzeń przy pomocy rozszerzeń jądra systemu dla sieci bezprzewodowych (ang. Wireless Extensions) oraz narzędzi Wireless Tools i standardowych poleceń systemu Linux zarządzających interfejsami sieciowymi. Sterownik MadWifi jest produktem o otwartym oraz stale rozwijanym kodzie. Obecne prace koncentrują się nad zwiększeniem stabilności pracy oraz implementacją standardu IEEE 802.11. Podstawowa funkcjonalność sterownika spełnia założone wymagania projektowe dla implementacji modułu pomiarowego. Priorytetyzacja ruchu Sterownik MadWifi dostarcza podstawowych metod priorytetyzacji ruchu przez odwzorowywanie pól nagłówka MSDU (ang. MAC Service Data Unit) do czterech zdefiniowanych w standardzie klas. Każdej z nich przypisane są domyślnie wartości parametrów EDCA (Tabela 1). Parametry EDCA ustawione domyślnie w sterowniku różnią się od parametrów standardu IEEE 802.11. Wartości TXOP dla AC_BK są różne od zera i niezgodne ze standardem. Tabela 1. Domyślne parametry EDCA sterownika MadWifi. Klasa ruchu CW MIN CW MIN AIFS TXOP [μs] DSSS OFDM DSSS OFDM DSSS OFDM DSSS OFDM AC_BK 4 4 10 10 2 2 2048 2048 AC_BE 5 4 10 10 7 7 0 0 AC_VI 4 3 5 4 2 2 6016 3008 AC_VO 3 2 4 3 2 2 3264 1504 24

Badanie działania sterownika ukazało także błędną implementację standardu w trybie Ad- Hoc. Proces budowania bazy sąsiadów przebiegał niewłaściwie, co skutkowało błędną interpretacją możliwości tych stacji w tym możliwości pracy w standardzie IEEE 802.11. W celu przeprowadzenia badań w trybie Ad-Hoc sterownik został zmodyfikowany tak, aby domyślnie wysyłał wszystkim sąsiadom ramki QoS. Wykonane zostało to przez zmianę funkcji klasyfikującej pakiety i tworzącej nagłówek ramki. Pomiary MAC W ramach funkcji analizy ramek opracowano dokładne algorytmy pomiarów, działające dla schematu transmisyjnego RTS-CTS-DATA-ACK funkcji EDCA standardu IEEE 802.11, przy szybkościach transmisji 1-54 Mbit/s. Zbierane pomiary to m.in.: całkowita przepustowość zajęta w kanale bezprzewodowym, aktualna szybkość transmisji, średnie opóźnienia transmisji ramek wysyłanych (mierzone od momentu odebrania ramki przez warstwę MAC do chwili odebrania potwierdzenia po wymianie ramek), liczby ramek wysłanych, liczby ramek wysłanych i przekraczających ustalony próg jakości obsługi, liczby ramek odebranych i utraconych, liczby aktywnych stacji, długości interwałów czasowych, w których następują pomiary, czasy bezczynności sterownika, w których nie zarejestrowano żadnych transmisji. Całość parametrów jest zbierana zarówno dla każdej z czterech zdefiniowanych klas ruchu jak i sumarycznie dla całości ruchu obecnego w sieci. W drugim przypadku zestawienie jest łączne i przekracza sumę ruchu w czterech zdefiniowanych klasach z uwagi na fakt, że w sieci istnieje także ruch bezklasowy, który zużywa zasoby sieciowe. Komunikacja W celu zapewnienia poprawnego działania funkcji przyjęcia nowego zgłoszenia, konieczne jest dostarczenie modułowi decyzyjnemu Klienta QoS informacji o wolnych zasobach transmisyjnych. Moduł kontrolera QoS komunikuje się z modułem pomiarowym MMM (Rysunek 3.). Przy pomocy komunikatu REPORT-MMM odbierane są najważniejsze parametry QoS, m.in. zajętość przepustowości sieci dla różnych klas ruchu oraz średnie opóźnienie ramek transmitowanych do sąsiednich stacji. 25

MMM QoSC TC & ECNM REPORT-MMM TC Configuration REPORT-MMM REPORT-MMM QUEUE-INFORMATION TC-RATE-CONF QUEUE-INFORMATION TC-RATE-CONF ECN Detection Class Y BW violation ECN-MARK-REQUEST Mark ECN, Class Y DATA DATA, Class Y ECN Marked Rysunek 3. Schemat transmisji komunikatu z pomiarami. Ma to na celu realizację rozproszonego zarządzania zasobami i zapewnienie różnicowania usług. Pomiary dostarczane przez moduł MMM są także używane w module Klienta QoS do wykrywania przeciążenia w kanale radiowym. 2.2 Implementacja Modułu Kontrolera Ad-hoc QoS Kontroler Ad-hoc QoS odpowiedzialny jest za nadzorowanie procesu różnicowania ruchu w sieciach ad-hoc. Komunikuje się on z następującymi modułami: Moduł Pomiarowy MMM, Klient QoS, Zarządca QoS, Moduł Sygnalizacji, Moduł Rutingu, Moduł Znakowania CN, Moduł Wykrywania CN, Moduł Wykrywania RCN oraz Moduł TC. Komunikacja z Modułem Pomiarowym MMM Moduł pomiarowy MMM ma pojedynczy interfejs dwukierunkowy skojarzony z Modułem Kontrolera QoS. Interfejs ten został zaimplementowany jako gniazdo netlink w przestrzeni jądra systemu LINUX. Typy wiadomości wymieniane przez ten interfejs to: MMM_CONFIGURATION (konfiguracja Modułu Pomiarowego MMM) wysyłana przez Kontroler Ad-hoc QoS oraz MMM_REPORT (raport Modułu Pomiarowego MMM) wysyłana periodycznie przez Moduł MMM. Oba typy wiadomości składają się ze wspólnego nagłówka oraz odpowiednich parametrów. Nagłówek składa się z typu wiadomości (message_type) oraz długości wiadomości (message_length). Wiadomość MMM_CONFIGURATION definiuje podstawowe parametry QoS: interwał raportowania (mmm_interval), dopuszczalny poziom opóźnienia (overall_threshold), kody DSCP dla czterech klas ruchu (dscp_codes), poziomy QoS odpowiadające każdej z klas ruchu (thresholds). Wiadomość MMM_REPORT zawiera statystyki zebrane w warstwie MAC. Parametry raportowane dla całej sieci to: liczba stacji aktywnych w danym kanale radiowym (nrstations) oraz aktualna szybkość transmisji (tx_rate). Zdefiniowano też pięć tablic jedną dla ruchu całkowitego oraz cztery dla każdej z monitorowanych klas ruchu. Tablice te zawierają informacje na temat: monitorowanego kodu DSCP (dscp), ustalonych poziomów QoS dla każdej z monitorowanych klas (threshold), średnie opóźnienie transmisji (avgdelay), liczba ramek wysłanych (nrtx), liczba ramek przekraczających ustalony poziom QoS (nrexc), liczba ramek odebranych (nrrx), liczba 26