Autoreferat rozprawy doktorskiej Algorytmy obsługi uŜytkowników w

Transkrypt

Autoreferat rozprawy doktorskiej Algorytmy obsługi uŜytkowników w
Politechnika Śląska
Wydział Automatyki, Elektroniki i Informatyki
Instytut Informatyki
Mgr inŜ. Jarosław Karcewicz
Autoreferat rozprawy doktorskiej
Algorytmy obsługi uŜytkowników w rozwiniętych sieciach
lokalnych i rozległych
Promotor:
Prof. dr hab. inŜ. Andrzej Grzywak
Gliwice 2007
1. Wprowadzenie
We współczesnych czasach coraz waŜniejszy staje się łatwy i szybki dostęp
do informacji. W celu umoŜliwienia takiego przepływu informacji powstały sieci
komputerowe. Klasycznym obecnie rozwiązaniem wielu sieci komputerowych jest połączenie
sieci lokalnych (LAN, ang. Local Area Network) z siecią rozległą Internet (WAN, ang. Wide
Area Network), wykorzystujące do komunikacji protokół IP za pośrednictwem urządzeń
zwanych ruterami [3]. Praca doktorska dotyczy właśnie sieci o takiej architekturze. Sieć
Internet od swojego powstania rozwija się w bardzo szybkim tempie, jej uŜytkownicy coraz
częściej juŜ korzystają ze zdalnie uruchamianych aplikacji, wymagają szybkiego dostępu
do olbrzymich archiwów danych, przesyłają dźwięk i obraz w czasie rzeczywistym, co wiąŜe
się z przesyłaniem coraz większej ilości danych w relatywnie krótkiej jednostce czasu między
siecią lokalną a rozległą.
W
analizowanym
przypadku,
zidentyfikowano
aktualny
i
waŜny
problem
udostępnienia usług internetowych wszystkim uŜytkownikom sieci lokalnej. Rozwiązanie
takie wiąŜe się z odpowiednim przydzielaniem pasma sieci Internet kaŜdemu uŜytkownikowi
w taki sposób, aby z jednej strony uwzględniać ich zapotrzebowanie, z drugiej natomiast
przepustowość współdzielonego łącza z siecią Internet. Charakterystyczne dla omawianej
architektury sieci jest fakt, Ŝe moŜliwość wpływania na przepływ danych przez łącze
Internetowe, a co za tym idzie, moŜliwość kształtowania tego ruchu, ogranicza się z reguły
do jej rutera brzegowego, bez moŜliwości wpływu na dalszą trasę przesyłu danych.
Przydział pasma uŜytkownikom w sieci lokalnej moŜe być rozwiązany w sposób
statyczny, w którym kaŜdemu uŜytkownikowi przydziela się stałe pasmo (stałą prędkość
transmisji) wynikające z równego podziału posiadanego łącza z siecią rozległą między tych
uŜytkowników. Taki przydział pasma powoduje, Ŝe mimo zapotrzebowania danego
uŜytkownika, przy niewykorzystywaniu swoich pasm przez innych uŜytkowników, nie
istnieje moŜliwość osiągnięcia większej prędkości niŜ przydzielona. Bardziej skutecznym
rozwiązaniem jest dynamiczny przydział pasma, uwzględniający moŜliwość poŜyczania
niewykorzystywanego pasma od innych uŜytkowników.
Oprócz podziału pasma pomiędzy uŜytkowników istnieje problem podziału
otrzymanego przez danego uŜytkownika pasma pomiędzy usługi internetowe z których
korzysta w danej chwili, gdzie uŜytkownik wymaga aby jedne z nich działały zawsze
z określoną jakością (priorytetyzuje te usługi), przy akceptacji na pogorszenie jakości innych
2
usług. W pracy przedstawiona została autorska metodyka realizacji dynamicznego przydziału
pasma uŜytkownikom uwzględniający moŜliwość priorytetyzacji usług.
Problem podziału łącza z siecią rozległą komplikuje się, jeŜeli przyjąć, Ŝe rzeczywista
dostępna przepustowość w łączu z siecią Internet moŜe się zmieniać w czasie (fluktuować).
Dotychczas nieznane są algorytmy obsługi uŜytkowników sieci lokalnej korzystających
z zasobów sieci rozległej, które przydzielają pasmo pozwalające na dowolny dynamiczny
przydział pasma według wymagania klienta z moŜliwością priorytetyzacji wyszczególnionych
usług internetowych, jak równieŜ uwzględniające fluktuacje rzeczywistej dostępnej
przepustowości.
Przedstawiana praca ma charakter teoretyczno-eksperymentalny i dotyczy badania
efektywności algorytmów przydziału pasma uŜytkownikom w sieci lokalnej korzystających
z zasobów sieci rozległych.
Celem pracy jest poprawa efektywności działania obecnie stosowanych rozwiązań
przydziału pasma w sieci lokalnej uŜytkownikom korzystających z zasobów sieci rozległych,
szczególnie w warunkach fluktuacji przepustowości w łączu internetowym.
W świetle powyŜszego została sformułowana teza główna pracy, oraz tezy
uzupełniające:
Teza główna:
Rozwinięcie klasycznego algorytmu hierarchicznego podziału łącza na drodze odpowiedniej
integracji istniejących algorytmów kolejkowania danych oraz wykorzystania metod
ilościowych, umoŜliwia poprawę efektywności podziału łącza ze szczególnym uwzględnieniem
wpływu fluktuacji przepustowości łącza z siecią Internet.
Tezy uzupełniające:
•
Zastosowanie algorytmów kolejkowania danych pozwala na eliminowanie zatorów łącza
internetowego.
•
Odpowiednia integracja algorytmów kolejkowania danych pozwala poprawić efektywność
działania tych metod w stosunku do zastosowania kaŜdego algorytmu z osobna.
•
Efektywność działania algorytmów hierarchicznego podziału łącza, jest zaleŜna
od wielkości wahań pomiędzy nominalną i realną wielkością transferu danych z siecią
rozległą.
3
Badania eksperymentalne przeprowadzono w laboratorium Katedry Informatyki
i Ekonometrii Wydziału Organizacji i Zarządzania Politechniki Śląskiej w Zabrzu.
Dodatkowo niektóre badania przeprowadzono w wybranych rzeczywistych sieciach
lokalnych.
Praca jest równieŜ oparta o doświadczenia autora związane z zapewnianiem jakości
usług internetowych w opisanych w pracy organizacjach.
Zawartość pracy
Pracę ujęto w 8 rozdziałach.
Rozdział
1
obejmuje
wprowadzenie
do
problematyki
rozprawy,
wraz
z wyszczególnieniem celu oraz tez pracy.
W rozdziale 2 przedstawiono genezę pracy oraz opis dwóch badanych, w warunkach
pozalaboratoryjnych, sieci komputerowych, w których zidentyfikowane zostały problemy
z jakością działania łącza internetowego.
W rozdziale 3 omówiono dostępne metody zapewnienia jakości usług w sieciach IP
(Quality of Service), wraz z analizą moŜliwości zastosowania tych metod dla sieci o jakich
architekturze mowa w pracy oraz ich problemów, które zostały zaprezentowane w pracy.
Scharakteryzowano równieŜ istniejące problemy z zapewnieniem jakości dostępu do sieci
Internet w sieciach LAN/WAN.
W rozdziale 4 przedstawiono zaproponowaną metodę dla zapewnienia jakości jaką
są algorytmy kolejkowania danych. Przeprowadzono równieŜ analizę zaprezentowanych
algorytmów, pod kątem moŜliwości rozwiązania problemów, które w pracy poruszono.
W rozdziale 5 opisano wybrany algorytm hierarchicznego podziału łącza, które
to algorytmy zostały wykazane we wcześniejszym rozdziale jako najbardziej efektywne
wobec
problemów, które w pracy poruszono, oraz przeprowadzono badania pod kątem
moŜliwości rozwiązania przez ten algorytm wskazanych problemów.
W rozdziale 6 sformułowano model zakładający integrację wielu róŜnych algorytmów
kolejkowania danych, opartego przede wszystkim o algorytm hierarchicznego podziału łącza.
Wykazano duŜą efektywność tego modelu w zagwarantowaniu jakości usług,
W rozdziale 7 wykazano niską efektywność zaproponowanego w rozdziale 6 modelu
w warunkach fluktuacji przepustowości łącza internetowego, wraz z badaniami dowodzącymi
występowanie takich warunków w rzeczywistych sieciach komputerowych. Następnie
zaproponowano mechanizm pozwalający na poprawienie efektywności zaproponowanego
wcześniej modelu w warunkach fluktuacji przepustowości łącza z siecią Internet oraz
4
mechanizm ten poddany został weryfikacji działania w warunkach laboratoryjnych jak
równieŜ w rzeczywistej sieci komputerowej.
W rozdziale 8 zawarto wnioski wynikające z przeprowadzonych prac teoretycznych
oraz eksperymentalnych.
2. Geneza rozprawy
Genezę rozprawy doktorskiej stanowią prace autora związane ze stworzeniem oraz
rozwojem infrastruktury dostępowej do sieci Internet dla sieci lokalnej Wydziału Organizacji
i Zarządzania Politechniki Śląskiej w Zabrzu oraz dla sieci lokalnej jednego z oddziałów
firmy „Spółdzielnia Inwalidów Naprzód” Z. P. Chr. Na potrzeby rozprawy sieć lokalna
Wydziału Organizacji i Zarządzania Politechniki Śląskiej będzie nazywana badaną siecią
lokalną pierwszą natomiast sieć lokalna jednego z oddziałów „Spółdzielni Inwalidów
Naprzód”
Z.
P.
Chr.
badaną
siecią
lokalną
drugą.
Badania
eksperymentalne
na rzeczywistych sieciach komputerowych zawarte w rozprawie przeprowadzone zostały
w w/w organizacjach. Taki dobór obiektu badań pozwolił dzięki moŜliwości porównania
wyników z dwóch róŜnych sieci komputerowych, na bardziej precyzyjne opracowanie
wniosków z uzyskanych rezultatów badań.
Wstępne badania problematyki poruszanej w pracy zostały przeprowadzone głównie
na podstawie badanej sieci lokalnej pierwszej. Na podstawie tych badań stwierdzono istnienie
problemu
powstawania
zatorów
łącza
internetowego
i
konieczność
opracowania
mechanizmów eliminujących takie sytuacje, jak równieŜ umoŜliwiającego nadanie priorytetu
jakości działania dla pewnych określonych usług sieciowych przed innymi usługami. W sieci
tej zostały wdroŜone opracowane i przedstawione w początkowej części pracy przez autora
rozwiązania omawianych problemów powstawania zatorów łącza. Opracowane mechanizmy
zostały następnie takŜe wdroŜone w badanej sieci lokalnej drugiej, w której stwierdzono
występowanie toŜsamych problemów jak w sieci badanej pierwszej. W sieci tej z kolei
zidentyfikowany został problem, który nie występował w sieci badanej pierwszej, wiąŜący się
z faktem, Ŝe efektywna przepustowość łącza internetowego tej sieci jest róŜna od nominalnej
podawanej przez dzierŜawcę tego łącza, a na dodatek nie jest stała, lecz zmienia się w czasie.
Sytuacja taka jak wykazano w rozprawie bardzo silnie wpływa na efektywność istniejących
metod podziału łącza internetowego, wdroŜonych w obu badanych sieciach. Istotne okazało
się więc opracowanie metody, która pozwalałaby na ograniczenie wpływu tego typu sytuacji
na przedstawione w pracy istniejące mechanizmy podziału łącza internetowego.
5
3. Metody zapewnienia Quality of Service
W obecnych sieciach komputerowych zdecydowanie najczęściej uŜywanym
protokołem warstwy III modelu ISO/OSI jest protokół IP. Protokół ten został utworzony
w ramach projektu DARPA w 1981 roku [21]. Celem jego opracowania, była chęć utworzenia
sieci, która miałaby działać w oparciu o przełączanie pakietów. Jego zadaniem jest
dostarczenie informacji od nadawcy do odbiorcy. Protokół ten jest protokołem
bezpołączeniowym, informacje są formatowane do pakietów IP, a następnie wysyłane w sieć
bez uŜycia mechanizmów gwarantujących skuteczne jej dotarcie do celu. KaŜdy pakiet jest
przesyłany przez sieć samodzielnie, niezaleŜnie od pozostałych, tak więc kaŜdy moŜe być
przesłany inną trasą. Rozprawa podjęta w tej pracy, dotyczy sieci wykorzystujących
ten właśnie protokół.
W trakcie przetwarzania pakietu IP przez urządzenie pośredniczące w ich
przekazywaniu, jakim jest router, pakiet ten jest umieszczany najpierw w buforze interfejsu
wejściowego a następnie interfejsu wyjściowego. Kształtowanie jakości usług moŜe odbyć się
więc poprzez manipulację tymi pakietami w buforze przy pomocy odpowiednich algorytmów.
Pozostaje jeszcze teŜ dodatkowo kwestia klasyfikacji tychŜe pakietów, ruchu jaki tworzą, oraz
takŜe kwestia informowania innych węzłów sieci o konieczności rezerwacji danych
parametrów jakości.
PoniewaŜ sam protokół IP nie dawał moŜliwości klasyfikacji ruchu oraz rezerwacji
zasobów dla tegoŜ ruchu, zaczęto poszukiwać rozwiązań, które miały być z załoŜenia
modelami klasy „End-To-End”, czyli mechanizmów mających zapewnić jakość danych
parametrów na całej drodze od nadawcy do odbiorcy, poprzez odpowiedni system rezerwacji
zasobów.
Zaprezentowane w rozprawie metody klasy „End-To-End”, na które kładzie się
obecnie w nauce nad omawianym problemem bardzo silny nacisk, mimo Ŝe są słuszne
i potrafią jak przedstawiono gwarantować najlepszą jakość usług w sieciach o jakich
architekturze mowa w pracy, ze względu na załoŜenia związane z koniecznością wpływu na
wszystkie, a przynajmniej większość węzłów pośredniczących w wymianie danych pomiędzy
stacjami w sieci, najdalsze zastosowanie jakie mają jest sama sieć lokalna, a najdalszym
punktem jej ruter brzegowy. Metody te są równieŜ niewystarczające w realizacji potrzeb jakie
stawiają uŜytkownicy sieci lokalnej, które zostały przedstawione w pracy. Wykazano
w rozprawie takŜe duŜą nieefektywność, najprostszego mechanizmu sterowania ruchem dla
sieci o jakich architekturze mowa w pracy, jakim jest filtrowanie ruchu sieciowego.
6
W związku z powyŜszym, w sieciach o budowie jakiej dotyczy rozprawa, zdecydowanie
lepszym wydaje się zaproponowane stosowanie niskopoziomowych mechanizmów, jakimi są
algorytmy kolejkowania danych.
Algorytmy
kolejkowania
danych
zajmują
się
sposobem
obsługi
danych
przechodzących przez bufor w urządzeniach sieciowych. Dzielą one bufor na pewną ilość
kolejek, które są następnie obsługiwane według określonego algorytmu postępowania.
W swoim działaniu wykorzystują mechanizm okien przesuwnych zaimplementowany
w protokole TCP, pozwalający na dostosowanie prędkości przesyłu do warunków w sieci.
W związku z powyŜszym algorytmy kolejkowania danych wpływają jedynie na ruch
transmitowany przy uŜyciu protokołu TCP. W rozprawie przedstawione zostały dostępne
opracowane algorytmy oraz charakterystyka ich działania. Z przeprowadzonej analizy
wynika, Ŝe najbardziej rozbudowane, ale i dające najlepsze efekty dla sieci lokalnych
korzystających z zasobów sieci rozległych, są algorytmy hierarchicznego podziału łącza,
z tego teŜ względu na nich głównie skupiono uwagę w pracy, jako mechanizmu
pozwalającego na dynamiczną obsługę uŜytkowników, i uwzględniającego moŜliwość
przydzielania określonych priorytetów usługom.
4. Wykorzystanie algorytmu hierarchicznego podziału
łącza na przykładzie algorytmu Hierarchicznego Wiadra
śetonów
W
dysertacji
zaprezentowano
i
przeanalizowano
przykładowy
algorytm
hierarchicznego podziału łącza, jakim jest algorytm Hierarchicznego Wiadra śetonów oraz
przeprowadzono laboratoryjne badania efektywności jego działania na transmisję danych
w sieciach LAN/WAN w sytuacjach zatorów łącza. Dla celów laboratoryjnych badań
eksperymentalnych w rozprawie, utworzone zostało laboratoryjne stanowisko badawcze oraz
opracowana metodologia ich przeprowadzania. Uzyskane wyniki w badaniach, z których
wielu pokrywających się przedstawiono w pracy reprezentatywne, pokrywają się z wynikami
podobnych eksperymentów zawartych w [78]. Pozwalają one wykazać bardzo duŜą precyzję
algorytmów
hierarchicznego
podziału
łącza
w
realizacji
dynamicznego
podziału
przepustowości łącza internetowego, uwzględniającego moŜliwość priorytetyzacji usług,
a takŜe zwiększyć bezpieczeństwo sieci lokalnej poprzez eliminację sytuacji powstawania
zatorów łącza internetowego, a przede wszystkim wynikającego z niego problemu
7
zawłaszczenia sieci przez uŜytkownika (usługę), lub grupę uŜytkowników (grupę usług).
Przedstawiona została takŜe analiza aspektów tworzenia algorytmu podziału łącza dla sieci
o omawianej architekturze, w oparciu o algorytmy hierarchicznego podziału łącza wynikająca
z doświadczeń autora, pozwalająca na zwiększenie efektywności ich działania.
5. Rozwinięcie algorytmu hierarchicznego podziału
łącza
Algorytmy hierarchicznego
podziału
łącza
mimo
wykazanej
bardzo
duŜej
efektywności w realizacji dynamicznego podziału pasma, nie eliminuje całkowicie moŜliwość
powstawania zatorów i wynikającego z niego problemu zawłaszczenia sieci. Wyodrębnione
klasy podziału w tym algorytmie są nadal kolejkami „First In First Out” (FIFO), co moŜe
powodować powstawanie zatorów w obrębie danej klasy. W celu wyeliminowania
powyŜszych problemów zaproponowano autorską metodykę tworzenia zintegrowanego
algorytmu podziału łącza, skupiającego wiele róŜnych odpowiednio połączonych algorytmów
kolejkowania, realizujących róŜne cele i opierające się w głównym stopniu na algorytmie
hierarchicznego podziału łącza. Efektywność tak utworzonego mechanizmu jak wykazano na
przykładzie badanych sieci lokalnych, w których przeprowadzono badania empiryczne,
poprzez własne obserwacje autora, jest bardzo duŜa. Dowód efektywności działania
opracowanego modelu we wskazanych badanych sieciach rzeczywistych, przy zastosowaniu
innych metod badawczych byłby zdaniem autora trudny do uzyskania.
6. Badania algorytmów hierarchicznego podziału łącza
w warunkach fluktuacji przepustowości łącza z siecią
WAN
Sieci lokalne korzystające z zasobów sieci rozległej realizują transfer danych
za pośrednictwem dzierŜawionego od operatora ISP (ang. Internet Service Provider) łącza
internetowego o określonej przepustowości. Łącza te w praktyce bardzo często
charakteryzowane są przez dwa parametry: nominalną (EIR) oraz gwarantowaną (CIR)
wartość przepustowości łącza. Efektem powyŜszego jest fakt, Ŝe dostępna przepustowość
takiego łącza często nie jest stała, lecz zmienna w czasie i oscyluje pomiędzy wartościami
tych parametrów, co zostało wykazane poprzez przeprowadzone badania ankietowe wśród
8
administratorów sieci w Polsce, oraz poprzez badania eksperymentalne w badanej sieci
lokalnej drugiej. Tak dobrane metody badawcze miały na celu wykazać istnienie
postawionego problemu w rzeczywistych warunkach, nie zwracając specjalnie uwagi na
dokładność jego zakresu występowania, gdyŜ uznano, Ŝe istotne jest samo udowodnienie jego
występowania. Wykazano w rozprawie na podstawie badań eksperymentalnych, z których
wielu pokrywających się wyników przedstawiono w pracy reprezentatywne, Ŝe występowanie
takich
sytuacji
na
zaproponowany
algorytm,
a w głównej
mierze
na
algorytmy
hierarchicznego podziału łącza, na którym ten zintegrowany algorytm się opiera, wpływa
bardzo niekorzystnie, znacznie pogarszając jego efektywność. Istotne staje się więc
opracowanie mechanizmu, który byłby w stanie poprawić efektywność działania algorytmów
hierarchicznego podziału łącza w warunkach fluktuacji przepustowości pasma internetowego.
Dla poprawy efektywności algorytmów hierarchicznego podziału łącza w warunkach
fluktuacji niezbędne jest zbadanie stanu aktualnej dostępnej wielkości przepustowości łącza
internetowego i porównanie go z nominalną wartością podaną przez dzierŜawcę łącza. Takie
badanie moŜe odbyć się poprzez chwilowe całkowite wypełnienie wygenerowanym ruchem
tegoŜ łącza i sprawdzenie prędkości transferu, jaki był w tym czasie osiągany. Taki sposób
badania jest jednak nieefektywny, powoduje na czas jego trwania, całkowite zablokowanie
tego łącza dla uŜytkowników sieci lokalnej. Niezbędne jest więc opracowanie takiego
mechanizmu,
który
pozwoliłby
na
stwierdzenie
występowania
stanu
fluktuacji
przepustowości łącza internetowego, przy minimalnym wykorzystaniu zasobów sieciowych
i sprzętowych.
Zgodnie z przedstawionymi załoŜeniami zaproponowano w rozprawie metodologię
mechanizmu według następującego algorytmu, przedstawionego na przykładzie systemu
operacyjnego LINUX (Rys. 1-3):
1. W ruterze obsługującym sieć lokalną zostaje wygenerowany ruch TCP
w kierunku tego rutera z jednym, bądź wieloma stacjami znajdujących się
w sieci rozległej.
2. Ten wygenerowany ruch „wpada” do klasy utworzonej specjalnie dla tych
pakietów, wypełniając tą klasę maksymalnie.
3. Za pomocą programu „iproute” [63] (wykorzystanie komendy tc –s dev ethx
class show) odnotowana zostaje ilość bajtów danych przesłana przez tą klasę,
z czego uzyskuje się prędkość transferu.
4. Punkty 1-5 są powtarzane co sekundę przez ustalony okres czasu.
9
5. Po zakończeniu wykonania pętli punktów 1-5, z odnotowanego co sekundę
transferu zostaje za pomocą aparatu matematycznego określone, czy stan
fluktuacji wystąpił, czy nie wystąpił.
6. Jeśli stan fluktuacji nie został stwierdzony, działanie algorytmu się kończy, nie
zmieniając nic w działaniu algorytmu hierarchicznego podziału łącza do czasu
następnego badania.
7. Jeśli został stwierdzony stan fluktuacji, podawana wielkość nominalnej
przepustowości łącza dla algorytmu hierarchicznego podziału łącza zostaje
pomniejszona o pewną określoną wartość, do czasu przeprowadzenia
następnego badania.
8. Jeśli w kolejnym badaniu znowu zostanie stwierdzony stan fluktuacji, znów
podawana
wielkość
nominalnej
przepustowości
łącza
dla
algorytmu
hierarchicznego podziału łącza zostaje pomniejszona o pewną określoną
wartość, do czasu przeprowadzenia następnego badania stwierdzającego
występowanie fluktuacji, przy czym wartość ta po kolejnych pomniejszeniach
nie moŜe spaść niŜej niŜ 50% nominalnej wartości łącza.
9. Jeśli w kolejnym badaniu zostanie stwierdzony stan poprawny, wielkość
nominalnej przepustowości łącza dla algorytmu hierarchicznego podziału łącza
zostaje powiększona o pewną określoną wartość, do czasu przeprowadzenia
następnego badania stwierdzającego występowanie fluktuacji, przy czym
wartość ta nie moŜe wynieść więcej niŜ nominalna wartość łącza.
10. Jeśli w kolejnym badaniu po kolejnych powiększeniach wartości nominalnej
przepustowości łącza dla algorytmu hierarchicznego podziału łącza, zostanie
stwierdzony stan fluktuacji, następuję pomniejszenie tej wartości do czasu
przeprowadzenia
następnego
badania
stwierdzającego
występowanie
fluktuacji.
Przedstawiony mechanizm zakłada pewien sposób generowania ruchu (Rys. 1), przy
czym istotne jest, aby był to ruch przesyłany za pomocą protokołu TCP, który jest
regulowany przez algorytmy kolejkowania. Najprostszym sposobem moŜe być na przykład
zainicjowanie połączeń ściągania danych z serwerów FTP. Dla tegoŜ wygenerowanego ruchu
naleŜy wyodrębnić osobną klasę o najniŜszym priorytecie, tak aby klasa ta była obsługiwana
jako ostatnia. Limit prędkości dla tej klasy musi zostać ustanowiony statycznie, tj. bez
moŜliwości poŜyczenia przepustowości od innej klasy, i musi on być wyznaczony na niskiej
wartości, proponuje się wartości 30 – 40 [kbit]. Przychodzące do rutera pakiety
10
wygenerowanego ruchu wypełniają przeznaczoną dla niej klasę, co jest badane przy pomocy
aplikacji „iproute”. Jeśli osiągany transfer dokładnie wypełnia klasę, oznacza to, Ŝe stan
fluktuacji nie występuje, jeśli natomiast osiągany transfer będzie bardzo niejednorodny,
oznacza to, Ŝe stan fluktuacji występuje. Aby zminimalizować wpływ opóźnień, strat
pakietów wynikających z przesyłu pakietu w sieciach pośredniczących, proponuje się, aby w
badaniu brały udział stacje znajdujące się jak najbliŜej rutera badanej sieci, lub aby ten ruch
odbywał się z kilku serwerów jednocześnie, gdzie przy klasie o tak małej wyznaczonej dla
niej prędkości wszelkie wpływy zewnętrzne w sieciach pośredniczących nie powinny mieć
odniesienia na badanie.
Rys. 1. Schemat blokowy algorytmu generowania ruchu dla celów zbadania
stanu wystąpienia fluktuacji w łączu internetowym
Źródło: Opracowanie własne
11
PoniewaŜ kolejkowanie ruchu sieciowego odbywa się na wyjściu interfejsu
sieciowego, tak więc w tej sytuacji ruch przychodzący jest kształtowany na wyjściu interfejsu
sieciowego sieci lokalnej, natomiast ruch przychodzący do samego rutera nie podlega
kształtowaniu ruchu, naleŜy do kształtowania ruchu zastosować interfejs pośredni.
W systemie LINUX do utworzenia interfejsu pośredniego stosuje się dodatek do pakietu
iptables: „IMQ” (ang. Intermediate Queueing Device) [84]. Do tego interfejsu pośredniego
skierować naleŜy ruch przychodzący do interfejsu sieciowego rutera od strony sieci WAN
i ruch kształtować na wyjściu tego interfejsu pośredniego. Takie rozwiązanie pozwala
kształtować ruch generowany nie tylko przez sieć lokalną, ale równieŜ przez ruter
obsługujący tą sieć.
Istotna staje się teŜ kwestia, w jaki sposób naleŜy badać z uzyskanego ciągu liczbowo
wyraŜonych prędkości transferu w odstępach sekundowych, stan występowania fluktuacji,
czyli kwestia, jakiego aparatu matematycznego uŜyć do tego celu. Z przeprowadzonych badań
eksperymentalnych wynika, Ŝe bardzo dobrze do tego celu nadaje się wyznaczanie stosunku
mediany (6.1) oraz kwartyla dolnego (6.2) z uzyskanego ciągu liczb (6.3).
Me = x0 +
h0
( N Me − nsk −1 )
n0
(6.1)
gdzie:
N Me
 n + 1 dla n nieparzystego

= 2
n dla n parzystego

 2
x0 – dolna granica przedziału mediany,
h0 – rozpiętość przedziału mediany,
n0 – liczebność przedziału mediany,
nsk-1 – liczebność skumulowanego szeregu liczebności z przedziału poprzedzającego
przedział mediany
Q1 = x0 +
h0
( N Q1 − n sk −1 )
n0
(6.2)
gdzie
N Q1
 n + 1 dla n nieparzystego

= 4
n
dla n parzystego

 4
12
Q1 / Me ≥ β
(6.3)
β - graniczna wartość stosunku Q1 /Me
UŜycie takiego aparatu matematycznego (Rys. 2) pozwala na wyeliminowanie
chwilowych odchyleń, tak iŜ do oceny jest brane pod uwagę 50% najbardziej
reprezentatywnych próbek. W stanie, kiedy fluktuacja nie występuje, wartości mediany oraz
Rys. 2. Schemat blokowy algorytmu uŜytego aparatu matematycznego
dla celów zbadania stanu wystąpienia fluktuacji w łączu internetowym
Źródło: Opracowanie własne
13
kwartyla dolnego powinny się pokrywać, bądź odchyłki te powinny być bardzo nieznaczne.
JeŜeli zaś stan fluktuacji występuje, odchylenia tych wartości są znaczne. Dodatkowo naleŜy
porównać równieŜ wartość mediany z wartością nominalną ustanowionej kolejki, które to
wartości powinny się pokrywać jeśli stan fluktuacji nie występuje (6.4).
Me / K ≥ α
(6.4)
K - wartość ustanowion ej kolejki [B/s]
α - graniczna wartość stosunku Me/K
Z przeprowadzonych badań eksperymentalnych wynika, Ŝe do uzyskania Ŝądanego efektu
badania, wystarczy juŜ zbadanie 20 próbek, czyli badanie przez 20 sekund, natomiast odstęp
czasu między kolejnymi badaniami nie powinien być mniejszy niŜ 5 minut.
Rys. 3. Schemat blokowy algorytmu wyznaczenia stanu wystąpienia fluktuacji
w łączu internetowym na podstawie wyników uzyskanych za pomocą aparatu
matematycznego
Źródło: Opracowanie własne
14
Przedstawiony mechanizm przy kaŜdorazowym badaniu zakłada odpowiednie
regulowanie wartości nominalnej prędkości łącza podawanej w skryptach wykorzystujących
algorytmy hierarchicznego podziału łącza, do rozdzielenia przepustowości tego łącza między
uŜytkowników sieci lokalnej (Rys 3.).
Mechanizm ten zakłada takŜe więc odpowiednie tworzenie tych skryptów pod kątem
jego wykorzystania. Wszystkie podawane wartości prędkości w skrypcie podziału łącza
muszą być zmiennymi wyznaczanymi w oparciu o podstawową zmienną, jaką jest nominalna
prędkość łącza, regulowana za pomocą przedstawionego w tej pracy mechanizmu. Jeśli
istnieją klasy, które muszą mieć stałą wartość prędkości, jak na przykład klasa przeznaczona
do celów badania, to podstawowa zmienna wyznaczająca nominalną prędkość łącza, do
samego celu podziału na kolejne zmienne podawane klasom musi być pomniejszona o sumę
wartości występujących stałych.
Zgodnie z zaproponowanym rozwiązaniem, dokonana została jego implementacja dla
systemu Linux w języku BASH, następnie poddano go pozytywnej weryfikacji w warunkach
laboratoryjnych za pomocą metod eksperymentalnych, z których wielu pokrywających się
wyników przedstawiono w pracy reprezentatywne. WdroŜono opracowany model równieŜ
w rzeczywistej sieci komputerowej – badanej sieci lokalnej drugiej, i przeprowadzono
badania empiryczne, poprzez własne obserwacje autora. Dowód efektywności działania
opracowanego modelu we wskazanej badanej sieci rzeczywistej, przy zastosowaniu innych
metod badawczych byłby zdaniem autora trudny do uzyskania.
7. Wnioski końcowe
W rozprawie podjęty został problem podziału łącza internetowego pomiędzy
uŜytkowników sieci lokalnej, w taki sposób, aby z jednej strony uwzględniać ich
zapotrzebowanie, z drugiej natomiast przepustowość współdzielonego łącza z siecią Internet.
Przedstawiona została analiza istniejących rozwiązań, z których ze względu na przyjęte
załoŜenia, wybrane zostało rozwiązanie oparte na algorytmach kolejkowania danych, i na
podstawie badań eksperymentalnych wykazano ich duŜą efektywność w realizacji podziału
łącza zgodnie z przyjętymi załoŜeniami. Pierwsze z tych załoŜeń zakładało moŜliwość
ingerencji na przepływający ruch sieciowy najdalej na ruterze brzegowym tej sieci lokalnej.
Drugie z załoŜeń obejmowało konieczność podziału przepustowości łącza między
uŜytkowników w sposób dynamiczny, tak aby została ona rozdzielana w całości między
15
uŜytkowników aktualnie korzystających z sieci. Trzecie z załoŜeń zawierało moŜliwość
priorytetyzacji pewnych usług sieciowych lub uŜytkowników względem innych. Jak wynikło
z
analizy
teoretycznej
moŜliwość
spełnienia
tych
załoŜeń
posiadają
algorytmy
hierarchicznego podziału łącza. W pracy zaproponowano stosowanie tych algorytmów
w odpowiednim połączeniu z innymi algorytmami kolejkowania danych, które odpowiednio
dobrane pozwalają znacznie poprawić efektywność działania całego algorytmu podziału
łącza. Dokonana została implementacja opracowanego zintegrowanego algorytmu podziału
łącza, jak równieŜ pozytywny pomiar skuteczności jego działania w badanej sieci lokalnej
pierwszej (sieć Wydziału Organizacji i Zarządzania Politechniki Śląskiej) oraz badanej sieci
lokalnej drugiej (sieć jednego z oddziałów „Spółdzielni Inwalidów Naprzód” Z. P. Chr.)
uzyskany na podstawie badania empirycznego, poprzez własne obserwacje autora. Dowód
efektywności działania przy zastosowaniu innych metod badawczych byłby zdaniem autora
trudny do uzyskania.
Podjęto w pracy następnie rozwaŜania dotyczące wpływu zmiennej w czasie wartości
przepustowości łącza z siecią rozległą na efektywność działania algorytmów hierarchicznego
podziału łącza, na którym oparty został zaproponowany algorytm zintegrowanego podziału
łącza. Udowodniono na podstawie badań eksperymentalnych w rzeczywistej sieci
komputerowej – badanej sieci lokalnej drugiej, jak równieŜ na podstawie badań ankietowych
wśród grupy administratorów sieci, Ŝe istnieje problem fluktuacji przepustowości łącz
internetowych w Polsce, przy czym problem ten dotyczy pewnej części tychŜe łącz.
Wykazany został równieŜ na podstawie badań eksperymentalnych silny negatywny wpływ
zmiennej w czasie przepustowości łącza z siecią rozległą na skuteczność działania algorytmu
hierarchicznego podziału łącza.
Zaproponowany został w pracy model, który pozwoliłby ograniczyć negatywny
wpływ fluktuacji przepustowości łącza internetowego na algorytmy hierarchicznego podziału
łącza. Model ten zakłada działanie, przy minimalnym wykorzystaniu zasobów sprzętowych
oraz sieciowych. ZałoŜenie to zostało spełnione dzięki wykorzystaniu okresowego
generowania niewielkiego ruchu sieciowego, dla którego została utworzona odrębna klasa
z niewielkim statycznym limitem prędkości transferu danych i najniŜszym priorytetem wśród
wszystkich klas. Rozwiązanie to bazuje na wykrytej właściwości, polegającej na tym,
Ŝe w sytuacji kiedy przepustowość nominalna i rzeczywista są sobie równe, to ruch ten
powinien „wpadać” do tej klasy wypełniając ją całkowicie, natomiast jeśli występuje
fluktuacja przepustowości, to klasa ta będzie wypełniana nierównomiernie. Dla celów
określenia stanu fluktuacji przyjęto aparat matematyczny badający odchylenia pomiędzy
16
wartością ustaloną dla tej kolejki a medianą uzyskaną z próbek osiągniętych prędkości
transferu danych okresowo generowanego ruchu, oraz medianą i kwartylem dolnym, gdzie
wartości te powinny się pokrywać, ewentualnie róŜniąc nieznacznie. Zaimplementowano
opracowany model dla systemu Linux wykorzystując język BASH i poddano go weryfikacji
w warunkach laboratoryjnych za pomocą badań eksperymentalnych. Następnie implementację
zaproponowanego rozwiązania wdroŜono w rzeczywistej sieci komputerowej – sieci lokalnej
drugiej i przeprowadzono badania empiryczne, poprzez własne obserwacje autora.
Weryfikacja zaproponowanego modelu wykazała ograniczenie negatywnego wpływu
fluktuacji przepustowości łącza internetowego na działanie algorytmów hierarchicznego
podziału łącza.
Zaproponowany model nie rozwiązuje zadanego problemu całkowicie. Jest
on prawidłowy, przy załoŜeniu warunków, w których zmiana wartości aktualnie dostępnej
przepustowości jest w czasie trwalsza. Model ten nie został stworzony z myślą
o poprawie efektywności rozpatrywanych algorytmów podziału łącza dla chwilowych wahań,
gdyŜ nie wywierają one tak negatywnego wpływu na rozpatrywaną z perspektywy dłuŜszego
okresu czasu efektywność w/w algorytmów, przynajmniej z punktu widzenia podziału
parametru jakim jest przepustowość, o ile częstotliwość ich występowania nie jest nadmiernie
duŜa. Biorąc pod uwagę powyŜsze, uznano, Ŝe znacznie istotniejszy negatywny wpływ
wywierają dłuŜej trwające w czasie wahania realnej udostępnianej wielkości transferu danych
przez łącze internetowe. W pracy skupiono się równieŜ tylko na jednym parametrze
zapewnienia jakości usług, tj. podziale przepustowości, gdyŜ parametr ten uznaje się
za najbardziej istotny w sieciach o rozpatrywanej architekturze.
W
kierunku
dalszych
prac
rozpatrywane
jest
zastąpienie
lub
wsparcie
zaproponowanego w modelu aparatu matematycznego, innymi narzędziami. Głównym
zagadnieniem do analizy w/w propozycji jest dokładniejsze określenie, czy wynik badania,
rozpatrywany w określonych granicach zamkniętych (od danej wartości do danej wartości
fluktuacja wystąpiła, bądź nie), zwraca prawidłowy wniosek stwierdzający stan wystąpienia
fluktuacji, jeśli wartość wyniku tego badania znajduje się blisko załoŜonej granicy.
Jednym z rozpatrywanych kierunków dalszych prac jest równieŜ wyznaczenie
efektywniejszego sposobu generowania ruchu między siecią rozległą a ruterem brzegowym
sieci
lokalnej
na
którym
wdroŜono
zaproponowany
w
pracy
mechanizm,
tak aby zminimalizować wpływ czynników zewnętrznych na przesyłane wygenerowane dane.
Analizując wyniki przeprowadzonych prac teoretycznych i doświadczalnych trudne
wydaje się stworzenie mechanizmów bardziej niskopoziomowych, tj. modernizując sam
17
zadany algorytm hierarchicznego podziału łącza, co pozwoliłoby na ograniczenie wpływu
chwilowych wahań nominalnej przepustowości łącza. Algorytmy te zakładają ograniczanie
tego parametru zapewnienia jakości usług, i rozdzielenie go między odbiorców danych,
według konkretnie zadanych wartości wyraŜonych w jednostkach informacji, których suma
równa jest nominalnej przepustowości łącza z siecią WAN. Najwłaściwszym rozwiązaniem
wydaje się tu być dzielenie tego łącza, nie poprzez rozdzielenie go na zadane określone
wartości, lecz w stosunku procentowym. W ten sposób jednak utracić moŜna jedną
z największych zalet tych algorytmów, jaką jest moŜliwość zagwarantowania ściśle
określonej, zawsze stałej przepustowości dla danego istotnego odbiorcy czy usługi.
Zaproponowany w pracy model, wydaje się być tu zdecydowanie bardziej elastycznym
mechanizmem, jakkolwiek nie będącym w stanie ograniczyć wpływu chwilowych wahań. Jak
zauwaŜono jednak wcześniej, negatywny wpływ tych chwilowych wahań, o ile ich
częstotliwość nie jest zbyt duŜa, jest nieznaczny.
Wyniki przeprowadzonych w rozprawie prac teoretycznych i doświadczalnych
pokazują, Ŝe tezy sformułowane w pracy są właściwe. Tym samym osiągnięto załoŜony cel
główny rozprawy.
W trakcie realizacji rozprawy doktorskiej powstał szereg publikacji własnych.
Autor pragnie złoŜyć serdeczne podziękowania Panu profesorowi Andrzejowi
Grzywakowi za przekazaną wiedzę, poświęcony czas i zaangaŜowanie w powstanie niniejszej
rozprawy doktorskiej.
18
BIBLIOGRAFIA
[1] Breyer R., Riley S.: Switched, Fast i Gigabit Ethernet. Wyd. Helion, Gliwice 2000
[2] Sportack M: Sieci komputerowe – Księga eksperta. Wyd. Helion, Gliwice 1999
[3] Scrimger R., LaSalle P., Leitzke C., Parihar M., Gupta M.: TCP/IP – Biblia, Wyd. Helion,
Gliwice 2002
[4] Debian. http://www.debian.org
[5] Iptables. http://www.netfilter.org
[6] Czarnowski A.: Nie tylko zdrowy rozsądek. PC Kurier 4/2000
[7] Stankiewicz R., Jajszczyk A.: Sposoby zapewnienia gwarantowanej jakości usług w
sieciach IP. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, Nr 2/2002
[8] Hardy W. C.: „Quality of Service” Measurement and Evaluation of Telecomunications
Quality of Sernice. John Willey & Sons Ltd., England 2001
[9] IP Quality of Service FAQ. Quality of Serviceforum.com, Wrzesień 1999
[10] E. Brent Kelly: Quality of Service In Internet Protocol (IP) Networks. Infocomm 2002
[11] Gautam R.: Quality of Service in Data Networks: Products. http://www.cse.ohiostate.edu/~jain/cis788-99/
[12] Quality of Service (Quality of Service). http://www.objs.com/survey/Quality of
Service.htm
[13] Johnson V.: Quality of Service – Glossary of Terms. Quality of Serviceforum.com, Maj
1999
[14] Ferguson P., Huston G.: Quality of Service: Delivering Quality of Service on the Internet
and in corporate networks. John Willey & Sons Ltd., England 2001.
[15] Szarecki R.: Quality of Service – jakość transmisji w Internecie. Nowoczesne
Technologie w Sieciach Teleinformatycznych, Numer Specjalny 01/2001
[16] Ferguson P., Huston G.: Quality of Service in the Internet: Fact, fiction, or Compromise?
INET’98
[17] Peukhuri M.: IP Quality of Service. http://keskus.hut.fi/u/puhuri/htyo/Tik-110.551/iwork/
[18] Turski J.: Gwarantowana jakość usług (Quality of Service) w sieciach IP. Praca mgr,
Politechnika Łódzka, Łódź 2003
[19] Comer E. D.: Sieci komputerowe i Intersieci. Wyd. WNT, Warszawa 2003
[20] Miś B.: Historia Internetu. http://www.wssmia.kei.pl/pomoce/Historiapl.pdf
[21] Information Sciences Institute University of Southern Kalifornia: Internet protocol,
DARPA internet program, protocol specification. RFC 791.
[22] Almquist P.: Type of Service in the Internet Protocol Suite. RFC 1349.
19
[23] Braden R., Clark D., Shenker S.: Integrated Services In the Internet Architecture: An
Overview. RFC 1633, Czerwiec 1994.
[24] Braden R., Zhang L., Berson S., Herzog S., Jamin S.: Resource Reservation Protocol
(RSVP) – Version 1 Functional Specification. RFC 2205, Wrzesień 1997.
[25] Sikorski I.: Sieci szkieletowe: Jakość usług gwarantowana. Telenet Forum. Wrzesień 2002.
[26] Nichols K., Blade S., Baker F., Black D.: Definition of the Differentiated Services Field
(DS Field) in the IPv4 and IPv6 Headers. RFC 2474.
[27] Jacobson V., Nichols K., Poduri K.: An Expedited Forwarding PHB. RFC 2598.
[28] Heinanen J., Baker F., Weiss W., Wroclawski J.: Assured Forwarding PHB Group.
RFC 2597.
[29] Zawadzki M: DiffServ w sieciach pakietowych - Równi i równiejsi. Telenet Forum.
Sierpień 2002.
[30] FreeBSD. http://www.freebsd.org
[31] Shenker S., Patridge C., Guerin R.: Specification of Guaranteed Quality of Sernice. RFC
2212.
[32] Wroclawski J.: Specification of the Controlled-Load Network Element Service. RFC
2211.
[33] Stankiewicz R., Jajszczyk A.: Wieloprotokołowa komutacja etykietowa
(MPLS) i jej rola w zapewnianiu jakości usług w sieciach IP. Przegląd
Telekomunikacyjny i Wiadomości Telekomunikacyjne, Nr 4/2002
[34] Le Faucheur F., Wu L., Davie B., Davari S., Vaanen P., Krishnan R., Cheval P., Heinan
J.: Multi-Protocol Label Switching (MPLS) Support of Differentiated Services. RFC
3270.
[35] Błedowski H.: Sterowanie ruchem współczesnych sieci pakietowych. Telenet Forum.
Październik 2002.
[36] Turski J.: Gwarantowana jakość usług (QoS) w sieciach IP. Praca dyplomowa
magisterska. Politechnika Łódzka. Czerwiec 2003
[37] Cisco: Internetworking technology handbook. http://www.cisco.com
[38] Semeria C.: Supporting differentiated service classes: queue scheduling disciplines.
Juniper Networks
[39] Nagle J.: On Packet Switches With Infinite Storage. RFC970
[40] Almesberger W.: Linux network traffic control – Implementation overview. EPFL ICA.
April 1999
20
[41] P. Mckenney. Stochastic Fair Queuing. In Internetworking: Reserach and Experience,
Vol. 2, January 1991
[42] Demers A., Keshav S., Shenker S.: Analisys and Simulation of a Fair Queuing
Alghorithm. Internetworking Research and Experience. October 1990.
[43] Guerin R., Peris. V.: Quality-of-service in packet networks: basic mechanisms and
directions. Computer Networks Volume: 31, Issue: 3, February 1999
[44] Floyd S., Jacobson V.: Link-sharing and resource management models for packet
networks. IEEE/ACM Transactions on Networking. Vol.3, No. 4 (Aug. 1995)
[45] Clark D. D., Jacobson V.: Flexible and Efficient Resource Management for Datagram
Network. Unpublished manuscript. April 1991
[46] Katevenis M., Sidiropoulos S., Courcoubetis C.: Weighted Round-Robin Cell
Multiplexing in a General-Purpose ATM Switch Chip. IEEE Journal on Selected Areas in
Communications, Vol. SAC-9, No. 8, October 1991
[47] Shredhar M., Varghese G.: Efficient fair queueing using deficit round robin. IEEE/ACM
Trans. Networking (4) 3. November 1994
[48] Partridge C.: Token bucket with leaky bucket rate control. Gigabit Networking, AddisonWesley, Reading, MA. 1994.
[49] Astuti D.: Packet handling. Technical report. Department of Computer Science,
University of Helsinki, 2003.
[50] Zhao W., Olshefski D., Schulzrinne H.: Internet Quality of Service – An overview.
Columbia University Technical Report, Feb. 2000.
[51] Maceluch R., Kasprzyk P., Domański A.: Dynamiczny przydział pasma uŜytkownika
sieci z wykorzystaniem usługi QoS w systemie LINUX. ZN Pol. Śl. Studia Informatica
Vol. 24, No 2A (53), Gliwice 2003.
[52] Czachórski T.: Modele kolejkowe w ocenie efektywności sieci i systemów
komputerowych. Wyd. Politechniki Śląskiej 1999.
[53] Tuner J. S.: New Directions in Communications. IEEE Communications Magazine,
24(10), October 1986.
[54] Liu E. Y.: On End-to-End Performance of Multi-service Concatenation. Proceedings of
IBM Center for Advanced Study Conference (CASCON'98). November 1998.
[55] Wagner K.: Short Evaluation of Linux’s Token Bucket Filter (TBF) Queuing Discipline.
May 2001.
[56] Anker T., Bergman E., Dolev D., Gelbourt I.: Hierarchical Bandwidth Sharing Made
Simple. Technical Report. The Hebrew University of Jerusalem. February 2002
21
[57] Devera M.: Hierarchical Token Bucket. http://luxik.cdi.cz/~devik/qos/htb/
[58] Stoica I., Zhang H., Eugene Ng T. S.: A Hierarchical Fair Service Curve Algorithm for
link-sharing, real-time and priority services. Proceedings of SIGCOMM'97. Carnegie
Mellon University.
[59] Benett J. C. R., Zhang H.: Hierarchical packet fair queuing algorithms. Proc.
SIGCOMM, August 1996
[60] Floyd S., Jacobson, V.: Random Early Detection gateways for Congestion Avoidance.
IEEE/ACM Transactions on Networking, vol. 1, no. 4, August 1993.
[61]
Weighted
Random
Early
Detection.
http://www.cisco.com/univercd/cc/td/
/doc/product/software/ios112/ios112p/gsr/wred_gs.htm
[62] Rusu V., Subredu M., Sparela I., Vraciu V.: Implementing real time Packet Forwarding
Policies using HTB. http://linux.dej.ro/Docs/HTB-DiabloPresentation.pdf
[63] Kuzniecow A.: Iproute2. ftp://ftp.icm.edu.pl/pub/Linux/iproute
[64] Iptables, Patch-O-Matic. http://www.netfilter.org/
[65] Brown M.: Traffic Control HOWTO. http://www.tldp.org/HOWTO/Traffic-ControlHOWTO/
[66] Linux Advanced Routing & Traffic Control. http://www.lartc.org
[67] Maxwell G., van Mook R., van Oosterhout M.,Schroeder P., Spaans J.: Linux Advanced
Routing & Traffic Control HOWTO, http://en.tldp.org/HOWTO/Adv-Routing-HOWTO/
[68] Layer7-Filter. http://l7-filter.sourceforge.net/
[69] CISCO Network-Based Application-Recognition (NBAR). http://www.cisco.com/
[70] Linux Kernel - http://www.kernel.org
[71] Mortensen C.: WRR. http://wipl-wrr.sourceforge.net
[72] Eugene Ng T. S.: HFSC. http://trash.net/~kaber/hfsc/
[73] Atanasov A.: ESFQ. http://www.ssi.bg/~alex/esfq/
[74] Scholz H.: Wormulon. http://www.wormulon.net/
[75] IPP2P. http://rnvs.informatik.uni-leipzig.de/ipp2p/
[76] Iperf. http://dast.nlanr.net/Projects/Iperf/
[77] Tannenbaum A. S.: Computer Networks. Prentice-Hall, Inc. New Jersey, 1996.
[78] Coene S.: HTB tests. http://www.docum.org/docum.org/
[79] Needham R.: Denial of Service: An Example. Communications of the ACM, 37(11):42–
47, November 1994.
[80] Gasidło P.: Ipt_account. http://www.barbara.eu.org/~quaker/ipt_account/
22
[81] Hertmeier D.: Prioritizing empty TCP ACKs with pf and ALTQ.
http://www.benzedrine.cx/
[82] Szczerba W.: Sterowanie ruchem w sieciach Linux. Praca magisterska. Poznań 2004
[83] T. Oetiker, D. Rand: MRTG: http://people.ee.ethz.ch/~oetiker/webtools/mrtg/
[84] IMQ. http://www.linuximq.net/
[85] Obretanov A., Dimitrow B.: Teoria masowej obsługi. Poradnik. PWN. Warszawa 1989.
23

Podobne dokumenty