Zapewnienie jakości usług w sieciach IP



Podobne dokumenty
QoS w sieciach IP. Parametry QoS ( Quality of Services) Niezawodność Opóźnienie Fluktuacja ( jitter) Przepustowość ( pasmo)

Integrated Services i Differentiated Services

Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego

ARCHITEKTURA USŁUG ZRÓŻNICOWANYCH

Ponadto SLA powinno definiować następujące parametry:

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

QoS jak o tym myśleć w kontekście L2 i L3. Piotr Wojciechowski (CCIE #25543) Architekt Rozwiązań Sieciowych Kraków, 28 września 2011

Transmisja z gwarantowaną jakością obsługi w Internecie

Kształtowanie ruch w sieciach Linux

Wymagania i zalecenia dla usługi głosowej w Sieci FreePhone. MASH.PL Wymagania i zalecenia dla usługi głosowej w Sieci FreePhone Strona 1

Quality of Service (QoS)

Quality of Service in Internet

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Zarządzanie ruchem i jakością usług w sieciach komputerowych

Implementacja modułu do wspomagania konfiguracji. Usługi i sieci teleinformatyczne następnej generacji aspekty techniczne, aplikacyjne i rynkowe

router wielu sieci pakietów

Service Level Agreement (SLA) jest to porozumienie pomiędzy klientem a dostawcą usługi.

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

Zarządzanie pasmem opis ogólny

Protokoły sieciowe - TCP/IP

Sieci komputerowe Warstwa transportowa

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

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

Uproszczenie mechanizmów przekazywania pakietów w ruterach

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

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Szeregowanie pakietów

Adresy w sieciach komputerowych

ZiMSK. VLAN, trunk, intervlan-routing 1

Przesyłania danych przez protokół TCP/IP

Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Konfigurowanie sieci VLAN

Sterowanie dostępem i szeregowanie pakietów

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik

ARP Address Resolution Protocol (RFC 826)

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

VPLS - Virtual Private LAN Service

DANE W SIECIACH TELEKOMUNIKACYJNYCH

TEMAT ROZPRAWY DOKTORSKIEJ:

Multicasty w zaawansowanych usługach Internetu nowej generacji

QoS jakośćusługwsieciachip

GS HP. 24-portowy zarządzalny przełącznik. Opis produktu. Charakterystyka produktu

PORADNIKI. Routery i Sieci

ASUS RT-N56U. pawel100g, 29 listopad 2010, 15:05

Metoda QoS płaszczyzny danych w specjalnych systemach łączności

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

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

MODEL OSI A INTERNET

ZiMSK NAT, PAT, ACL 1

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Quality of Service w sieciach LAN/WAN

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

WOJSKOWA AKADEMIA TECHNICZNA

Katedra Inżynierii Komputerowej Politechnika Częstochowska. Zastosowania protokołu ICMP Laboratorium podstaw sieci komputerowych

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

ROZWIĄZANIA KOMUNIKACYJNE CISCO IP KLASY SMB: PODSTAWA WSPÓLNEGO DZIAŁANIA

TCP/IP. Warstwa łącza danych. mgr inż. Krzysztof Szałajko

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Telefonia Internetowa VoIP

Materiały przygotowawcze do laboratorium

Przesył mowy przez internet

Routing. mgr inż. Krzysztof Szałajko

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

Sieci Komputerowe 2 / Ćwiczenia 2

DLACZEGO QoS ROUTING

ADRESY PRYWATNE W IPv4

LABORATORIUM SYSTEMY I SIECI TELEKOMUNIKACYJNE CZĘŚĆ 2 MODELOWANIE SIECI Z WYKORZYSTANIEM SYMULATORA NCTUNS

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

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

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

ZAPEWNIENIE JAKOŚCI TRANSMISJI DANYCH SYSTEMÓW INFORMATYCZNYCH W ROZLEGŁYCH SIECIACH KOMPUTEROWYCH

Instrukcje dotyczące funkcji zarządzania pasmem w urządzeniach serii ZyWALL.

Sieci Komputerowe Modele warstwowe sieci

Sieci komputerowe - administracja

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

ZP-92/022/D/07 załącznik nr 1. Wymagania techniczne dla routera 10-GIGABIT ETHERNET

Zarządzanie przepływem

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

co to oznacza dla mobilnych

1. Sieć komputerowa - grupa komputerów lub innych urządzeń połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów.

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

Regulamin świadczenia Usługi Multimedia Internet przez Multimedia Polska S.A. oraz Multimedia Polska-Południe S.A.

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

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

Translacja adresów - NAT (Network Address Translation)

Brinet sp. z o.o. wyłączny przedstawiciel DrayTek w Polsce

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

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

Warstwy i funkcje modelu ISO/OSI

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Model OSI. mgr inż. Krzysztof Szałajko

Bezpieczeństwo w M875

Wykład 3: Internet i routing globalny. A. Kisiel, Internet i routing globalny

Zapory sieciowe i techniki filtrowania danych

Sterowanie ruchem w sieciach szkieletowych

Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej

Transkrypt:

Zapewnienie jakości usług w sieciach IP 1. Zarządzanie pasmem 2. QoS a polityka Cisco 3. Klasyfikacja ruchu ToS, IP Precedence i DSCP 4. Mechanizmy dyscypliny kolejkowania 4.1. Składniki kolejek 4.2. Dyscypliny kolejkowania 5. Mechanizmy zapobiegania przeciążeniom i zatorom RED (Random Early Detection) oraz WRED (Weighted Random Early Detection) 5.1. Cechy szczególne kolejkowania 5.2. Cechy dyscyplin kolejkowania 5.3. Zarządzanie ruchem 5.4. Skale czasowe w zarządzaniu ruchem 5.5. Kontrolowanie łączy typu wąskie gardło 5.6. Opóźnienia wnoszone przez kolejkowanie 6. Wygładzanie ruchu 6.1. CAR (Committed Access Rate) 6.2. Strategie zapewnienia jakości usług 6.3. Rozróżnianie klas oraz rezerwacja zasobów 6.5. Mechanizm DiffServ 6.6. Protokół RSVP Resorce Reservation Protocol (RFC 2205, 2210, 2211, 2212, 2750, 3936) Bibliografia

1. Zarządzanie pasmem Firmy płacą ogromne pieniądze za konserwację sieci i jej administrowanie, tak aby była ona jak najbardziej komfortowa w użytkowaniu. Ruch w sieci zależny jest od wykorzystywanych aplikacji. Korzystanie przez użytkowników z aplikacji generujących duży ruch w sieci może prowadzić do nadmiernego obciążenia sieci i uniemożliwienia funkcjonowania usług ważnych z punktu widzenia działania firmy. Aby zapobiec takim sytuacjom, wprowadzono gwarantowaną jakość usług, takich jak transmisja głosu (VoIP) czy obrazu, nazywanych metodami QoS (ang. Quality of Service). Przedstawione w niniejszym module zagadnienia teoretyczne i praktyczne mają na celu pokazanie znanych, a nie do końca rozumianych, zagadnień z dziedziny QoS zarządzanie ruchem. Mamy nadzieję, że materiał tu zaprezentowany pozwoli nie tylko zrozumieć, ale i samodzielnie zaprojektować odpowiednią politykę zarządzania pasmem. Zarządzanie pasmem to zbiór czynności prowadzących do jak najlepszego wykorzystania możliwości transmisji oferowanych przez urządzenia dostępne w sieci, z punktu widzenia różnych kryteriów formułowanych dla takich sieci. Jednym z istotnych kryteriów może być zapewnienie odpowiedniej jakości wybranych usług sieciowych, określane w literaturze anglojęzycznej jako Quality of Service (QoS). QoS jest kompletem technologii, pozwalającym na określenie sposobów uzyskania zadanego poziomu usług świadczonych w sieciach komputerowych. Te technologie to inaczej zbiory mechanizmów zapewniających podtrzymanie określonych parametrów transmisji danych. Wymagania stawiane niektórym usługom spowodowały, że jakość świadczonych usług musi być coraz większa. Do tej pory przekazywanie danych w sieci polegało głównie na przekazywaniu pakietów w nieuszeregowanej kolejności pakiety były odpowiednio szeregowane u odbiorcy, a te, które zostały stracone, były przesyłane jeszcze raz. Pojawienie się aplikacji czasu rzeczywistego (audio, wideo) spowodowało, że zwrócono uwagę na pewne parametry sieci, które do tej pory były przeważnie pomijane. Transmisja głosu i obrazu nie może być narażona na jakiekolwiek uszkodzenie lub utratę pakietów, gdyż nadmierne opóźnienie czy retransmitowanie brakujących pakietów czyni tę transmisje bezużyteczną (zob. Rudenko, 2001: 123-157; Hucaby, 2006: s. 397 423; http://www.roz6.woiz. polsl.pl/~jarkarc/index.php?id=qos; http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/qos.pdf). W celu zapewnienia QoS najczęściej wykorzystywane są m.in. następujące protokoły (http://en.wikipedia.org/wiki/quality_of_service): Differentiated services (DiffServ), Integrated services (IntServ), Resource reservation Protocol (RSVP), RSVP-TE, Asynchronous Transfer Mode (ATM), MPLS, IEEE 802.1p, IEEE 802.11e, IEEE 802.11p, Pole Type of Service (TOS) w nagłówku IP. 2

2. QoS a polityka Cisco Quality of Service można również określić jako zdolność sieci do zapewnienia lepszej bądź wyjątkowej wydajności wybranym użytkownikom i aplikacjom kosztem innych użytkowników lub aplikacji. System operacyjny Cisco IOS QoS umożliwia administratorom sieci kontrolowanie i przewidywanie wydajność różnych aplikacji sieciowych oraz kontrolowanie ruchu w sieci. Daje również możliwość zarządzania nowszymi aplikacjami multimedialnymi oraz programami p2p. Celem QoS jest dostarczenie lepszej i bardziej przewidywalnej jakości sieci przez: dedykowanie określonej przepustowości (bandwith), kontrolowanie zmienności opóźnienia (jitter) oraz samego opóźnienia (delay). QoS osiąga te cele dzięki dostarczeniu odpowiednich narzędzi do: zarządzania zatorami, ograniczania ruchu w sieci, lepszego wykorzystania najbardziej kosztownych łączy oraz ustalenia polityki ruchu w przekroju całej sieci. Implementacja QoS do sieci musi być poprzedzona ustaleniem polityki ruchu w sieci. Cisco proponuje wykonanie następujących trzech kroków, które mają na celu w pełni wykorzystać usługę QoS: identyfikację ruchu w sieci oraz jego wymagań, podział ruchu na klasy, zdefiniowanie polityki dla każdej klasy ruchu. Pierwszym etapem jest identyfikacja ruchu w sieci oraz jego wymagań. Przeprowadzając audyt sieci, należy ustalić, który typ ruchu jest najważniejszy w sieci. Wyszczególnienie najważniejszego ruchu aplikacji w danej sieci umożliwi łatwe ustalenie liczby klas ruchu oraz przydzielenie im przywilejów. W większości sieci priorytetem stają się m.in. rozmowy głosowe oraz wideokonferencje, jednak nie można także zapomnieć o standardowym przepływie danych, który również musi być uwzględniony. Ruch pakietów zawierających dźwięk ma bardzo duży priorytet w QoS. Nie stawia on dużych wymagań wobec łącza i ma mały wpływ na inny ruch w sieci. Pakiety dźwiękowe są przeważnie małe (60 do 120 bajtów), jednak nie tolerują żadnego opóźnienia oraz strat. Rezultatem opóźnień czy strat pakietów jest nieakceptowalna jakość dźwięku (lub wręcz brak dźwięku). Z tego względu do transmisji dźwięku używany jest protokół UDP, ponieważ zdolność protokołu TCP do retransmitowania danych nie jest wystarczająca. Pakiety dźwięku tolerują nie więcej niż 15 ms opóźnienia i mniej niż 1% straconych pakietów. Typowa rozmowa dźwiękowa wymaga minimum 96 kbps gwarantowanego łącza, jednak zalecane jest stosowanie przepustowości minimum 128 kbps, dlatego, że transmitowany jest nie tylko sam dźwięk, ale i dane protokołów nim zarządzających. Ustalenie maksymalnego łącza dla największej liczby połączeń jest wymagane przy przydzielaniu gwarantowanego ruchu dla dźwięku. Aplikacje obsługujące wideokonferencje mają podobne ostre wymagania w QoS co dźwięk. Ruch aplikacji obsługujących wideokonferencje jest przeważnie zrywalny i łapczywy, co powoduje ingerencje w pozostały ruch w sieci. Należy zwrócić na to szczególną uwagę, gdyż niespriorytetyzowanie tego typu ruchu może mieć złe konsekwencje dla sieci. Obecnie minimalna przepustowość dla programów wiedokonferencyjnych wynosi 384 kbps dla samego strumienia wideo, jednak dla pełnego zarządzania transmisją wymagane jest 460 kbps gwarantowanego łącza. 3

Wymagania dla ruchu standardowych danych w sieci bardzo się różnią. Każda aplikacja potrafi stworzyć bardzo różne wymagania wobec sieci. Różne wersje tych samych aplikacji mogą mieć różne charakterystyki ruchu w sieci. Większość danych w porównaniu do dźwięku i wideo może tolerować pewne opóźnienia i straty. Ze względu na tolerowanie opóźnień i strat standardowe dane używają przeważnie protokołu TCP, który umożliwia retransmisję. W sieciach przedsiębiorstw bardzo łatwo jest zidentyfikować najważniejsze dla firmy aplikacje. Większość z nich może być zidentyfikowana na podstawie numerów portów protokołów TCP i UDP. Niektóre aplikacje używają dynamicznego przydziału numerów portów, co powoduje większe skomplikowanie klasyfikacji ruchu. Oprogramowanie Cisco IOS wspomaga rozpoznawanie aplikacji, którym przydzielane są dynamicznie porty. Narzędzie to nazywa się Network-Based Application Recognition (NBAR). Cisco proponuje następujący podział na klasy danych, wyłączając z tego dźwięk i wideo: Mission Critical Applications najważniejsze aplikacje biznesowe, Transactional interaktywny ruch, preferowane usługi, Best-Effort Internet, e-mail, nieokreślony ruch, Less-Than-Best-Effort aplikacje peer to peer (p2p). Kolejnym etapem w ustalaniu polityki jest podział ruchu na klasy. Po zidentyfikowaniu i wyważeniu większości ruchu w sieci, ruch dzieli się na klasy, stosując się do wymagań przedsiębiorstwa. Rysunek 1 przedstawia podział ruchu na klasy w systemie CISCO IOS. Widać na nim szczególne znaczenie QoS, określone wobec dźwięku, przyznające mu odrębną, własną klasę. Cisco stworzyło specjalny mechanizm zawarty w QoS, o nazwie LLQ (Low Latency Queueing kolejkowanie z niskim opóźnieniem, wykorzystywane w mechanizmie Class-Based Weighted Fair Queueing CBWFQ). Powoduje ono, że dźwięk traktowany jest jako wysoki priorytet w porównaniu do pozostałego ruchu. Rysunek 1 Podziała aplikacji na klasy stosowany w systemie CISCO IOS Źródło: http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ qos.pdf. Ostatnim etapem jest zdefiniowanie polityki dla każdej klasy ruchu. Zdefiniowanie polityki QoS dla każdej klasy obejmuje: ustalenie minimalnego gwarantowanego pasma, ustalenie maksymalnego limitu pasma, ustalenie priorytetu dla każdej klasy, użycie technologii QoS do zaawansowanego kolejkowania oraz zarządzania zatorami. 4

3. Klasyfikacja ruchu ToS, IP Precedence i DSCP Każdy z pakietów IP zawiera bajt ToS (Type of Service). Znajduje się on zarówno w pakietach IP wersji 4, jak i 6. Dzięki oznaczaniu pakietów routery są w stanie rozpoznać konkretny ruch w sieci. W większości przypadków pole ToS jest czterobitowym polem w nagłówku IP. Pole ToS zawiera trzy bity o nazwie IP Precedence, które są coraz częściej wykorzystywane do klasyfikacji pakietów (rys. 2). Rysunek 2 IP Precedence Źródło: Dooley, Brown, 2004. Za pomocą tych trzech bitów możliwe jest zapisanie ośmiu różnych wartości. Trzeba zaznaczyć, że ruch zwykłych aplikacji nie może używać wartości IP Precedence 6 lub 7, gdyż są one zarezerwowane dla pakietów podtrzymujących połączenia, protokoły routingu i dla innego ważnego ruchu sieciowego. Tabela 1 przedstawia pełny rozkład wartości IP Precedence. Tabela 1 Wartości IP Precedence IP Precedence Wartość dziesiętna Wzór bitów Routine (zwykła) 0 000 Priority (priorytetowa) 1 001 Immediate (natychmiastowa) 2 010 Flash (błyskawiczna) 3 011 Flash Overdrive (wyższa niż błyskawiczna) 4 100 Critical (krytyczna) 5 101 Internetwork control (sterowanie ruchem między sieciami) 6 110 Network control (sterowanie siecią) 7 111 Jednym z najnowszych rozwiązań klasyfikowania ruchu jest DSCP (Differentiated Services Codepoint Field). Zawiera on 6 bitów w polu TOS (rys. 3 przedstawia nagłówek IP z wyszczególnieniem pola ToS). Jest on zgodny ze starszą metodą IP Precedence (trzy pierwsze bity). W polu DSCP trzy pierwsze bity określają wielkość klasy przekazywania. Jeśli wartość pierwszych trzech bitów jest równa 4 lub mniej, zostanie zastosowane przekazywanie gwarantowane AF (Assured Forwarding). Jeśli wartość wyniesie 5, czyli najwyższy odpowiednik IP Prcedence, zostanie użyte przekazywanie przyspieszone EF (Expedited Forwarding). Pozostałe trzy bity służą do priorytetów odrzucania, określają one prawdopodobieństwo odrzucenie pakietu przy spotkaniu zatoru w sieci. Źródło: Dooley, Brown, 2004. 5

6 Rysunek 3 DSCP

4. Mechanizmy dyscypliny kolejkowania Ogólnie rzecz ujmując, technika zarządzania ruchem związana jest z planem zarządzania kolejkami. Duża liczba kolejek w zamierzeniu została ustawiona w kolejności, tak aby osiągnąć sprzeczne cele, takie jak: sprawiedliwość, ochrona, wydajność ruchu, łatwość implementacji i administracji. Poniżej zostaną przedstawione techniki kolejkowania, których głównym zadaniem jest decydowanie o kolejności przesyłanych pakietów w przeciążonej sieci. Jest to główna technika zarządzania ruchem. Pakiety kierowane do interfejsu sieciowego umieszczane są w znajdującym się w nim buforze. Gromadzone są tam przed dalszym wysłaniem lub przetworzeniem. W przypadku urządzeń kształtujących ruch w sieci ich zadaniem jest wyrównanie prędkości napływających danych, w warunkach różnej agregacji ruchu i przepustowości między węzłami. Algorytmy (mechanizmy, dyscypliny) kolejkowania danych w tego typu urządzeniach sieciowych (np. routerach) zajmują się sposobem obsługi danych przechodzących przez bufor. Dzielą one bufor na pewną liczbę kolejek, które są następnie obsługiwane według określonego algorytmu postępowania. 4.1. Składniki kolejek Rysunek 4 przedstawia funkcjonalne bloki kolejkowania na routerze. Każdy moduł może być potrzebny do uruchomienia pewnej usługi, ale nie zawsze wszystkie muszą zostać użyte. Większość obecnych routerów nie używa wszystkich bloków funkcjonalnych. Pakiety przybywające na wejściowy interfejs routera (tzw. ingress interface) są przekazywane na drugi interfejs wyjściowy (tzw. egress interface). Router może mieć moduł na interfejsie wejściowym do ustawiania polityki dla poszczególnych pakietów, jednak główne operacje w poszczególnych blokach wykonywane są na interfejsie wyjściowym. Rysunek 4 Bloki kolejkowania na routerze Poniżej został zamieszczony opis poszczególnych modułów. 7

Classifier (klasyfikator) Dzięki niemu pakiety są klasyfikowane według poszczególnych kategorii na podstawie zawartości danych w nagłówku. Meter (miernik) Miernik ruchu służący do mierzenia właściwości strumienia danych, takich jak np. przepustowość liczby pakietów. W celu użycia w innych funkcjach, zmierzone charakterystyki są zapamiętywane jako stan przepływu. Marker (znacznik) Służy do ustawiania pewnych wartości pakietu w nagłówku. Może on oznaczać priorytet pakietu, wystąpienie zatoru, typ aplikacji internetowej lub cokolwiek innego. Dropper Odrzuca pewne lub wszystkie pakiety ze strumienia danych w celu ograniczenia długości kolejki lub jako skutek powiadomienia o zatorze. Queues (kolejki) Kolejki są buforem o skończonej długości. Służą do odłożenia używanych pakietów. Dyscypliny kolejkowania mogą mieć wiele kolejek dla różnych typów ruchu. Scheduler Wybiera pakiety do transmisji z odłożonych pakietów w kolejce. Shaper (formierz) Kształtowanie ruchu opóźnia pewne lub wszystkie pakiety w celu ograniczenia chwilowych skoków prędkości. Ten moduł ma zazwyczaj skończonej wielkości bufor i pakiety mogą zostać utracone, jeżeli nie ma wystarczająco dużo miejsca w buforze. Dyscypliny kolejkowania w ogólności zdefiniowane są jako zestaw funkcjonalnych modułów na wyjściowym interfejsie i zazwyczaj zawierają specyficzną strukturę kolejkowania oraz mechanizmy planowania i odrzucania. 4.2. Dyscypliny kolejkowania Alokacja pasma jest jednym z najważniejszych celów dyscyplin kolejkowania. Sprawiedliwe lub preferowane alokowanie pasma może być osiągnięte dzięki użyciu właściwych dyscyplin kolejkowania. Te same mechanizmy izolują także niewłaściwy ruch, zatem chronią inny ruch. Innym ważnym celem kolejkowania jest kontrolowanie opóźnienia i stabilności ruchu. Możliwe jest ustalenie opóźnienia i stabilności ruchu na żądanym poziomie dzięki zarezerwowaniu zasobów sieciowych. Wstępem do kontrolowania jest stwierdzenie, czy żądane zasoby mogą zostać zalokowane. Trzeba także ustawić prędkość zarezerwowanego strumienia w znaczeniu jego kształtowania. Prędkość przychodząca powinna być mniejsza niż zarezerwowana, tak aby zapobiec opóźnieniom wywoływanym przez własny ruch strumienia. Leaky bucket jest prostym mechanizmem kształtowania ruchu, opartym na buforze o ograniczonej długości. Innym popularnym mechanizmem kształtowania jest Token bucket, który zezwala na przepuszczanie małych serii pakietów o konfigurowalnym rozmiarze. Token bucket potrafi przystosować ruch o seryjnej charakterystyce krótkich serii, co jest bardziej odpowiednie dla współczesnego ruchu internetowego. Jeszcze innym celem dyscyplin kolejkowania jest zapobieganie zatorom. TCP postrzega utratę pakietów jako znak, że pojawił się zator. Router powiadamia warstwę TCP o zatorze pośrednio przez zamierzone odrzucanie pakietów. 8

Poniżej opisano główne dyscypliny kolejkowania. FIFO (First In First Out) Kolejkowanie FIFO (First In First Out pierwszy wszedł, pierwszy wychodzi) jest najpowszechniej stosowanym kolejkowaniem. Ta metoda nie korzysta z klasyfikowania, ponieważ wszystkie pakiety należą do tej samej klasy. Pakiety, które pierwsze wchodzą do bufora, opuszczają go w takiej kolejności, w jakiej do niego weszły Rysunek 5 Schemat działania algorytmu First In First Out Jest to algorytm, w którym występuje tylko jedna kolejka w buforze. Działania tego algorytmu na przepływ danych w sieciach LAN/WAN związane jest z ograniczoną objętością bufora, który w momencie zapełnienia odrzuca przychodzące pakiety do czasu aż nie zostanie zwolnione miejsce. Metoda ta nie należy do mechanizmu QoS, gdyż algorytm FIFO traktuje wszystkie pakiety równorzędnie i nie daje możliwości ustalenia żadnych gwarancji dla danego rodzaju ruchu. Jedyne zalety tego mechanizmu to niewielkie zużycie zasobów sprzętowych i łatwe do przewidzenia opóźnienia. Poza tym FIFO cechuje się prostotą, szybkością we wdrażaniu, a także wspomagany jest na wszystkich wersjach oprogramowania IOS CISCO. Rysunek 6 przedstawia kolejne etapy przechodzenia pakietu podczas standardowego kolejkowania FIFO. PQ (Priority Queuing) Algorytm kolejkowania PQ polega na tym, że każdemu z pakietów przydzielany jest priorytet. Pakiety są ustawiane w hierarchii kolejek bazujących na ustawionych priorytetach (Cisco używa czterech kolejek: wysokiego, średniego, zwykłego i niskiego priorytetu). Jeśli nie ma żadnych pakietów w najwyższej kolejce, wtedy obsługiwana jest niżej położona kolejka. W następnej kolejności sprawdzana jest kolejka wyższa jeśli są w niej jakieś pakiety, są one obsługiwane, jeśli nie ma, są obsługiwane pakiety znajdujące się w najwyższej kolejce w danym momencie. Proces ten trwa do momentu opróżnienia wszystkich kolejek. Rysunek 7 opisuje opróżnianie kolejek w algorytmie PQ. Rysunek 6 Etapy kolejkowania FIFO 9

Rysunek 7 Opróżnianie kolejek w algorytmie PQ Główną wadą mechanizmu kolejkowania PQ jest częste przywłaszczanie pasma przez kolejkę o najwyższym priorytecie. Powoduje to, że pakiety czekające w kolejce o niższym priorytecie mogą nigdy nie być obsłużone. PFPQ (Per Flow Priority Queuing) PFPQ jest zmodyfikowanym mechanizmem Priority Queuing. Usunięto z niego główną wadę PQ, czyli przywłaszczanie kolejek przez jeden przepływ. Utworzono tu tysiące kolejek, które są przeznaczone na pakiety należące do jednego przepływu. Tak samo jak w kolejkowaniu PQ, istnieje podział kolejek według priorytetów (high, medium, normal, low). Kolejki o tym samym priorytecie są obsługiwane według wcześniej ustalonego algorytmu, co zapewnia równoprawne dzielenie wszystkich przepływów tego samego poziomu. CQ (Custom Queuing) Mechanizm kolejkowania CQ pozwala na skonfigurowanie szesnastu niezależnych kolejek. Pozwala on na określenie: potrzebnej liczby kolejek (w PQ były tylko cztery kolejki), tego, jakie aplikacje będą korzystały z tych kolejek i w jaki sposób będą obsługiwane te kolejki. Zawiera on również kolejkę systemową, która pozwala na swobodne sterowanie siecią bez konfliktów z kolejkami obsługującymi inne aplikacje. Kolejkowanie CQ jest realizowane jako cykliczny algorytm kolejkowania. W każdym cyklu router pobiera z każdej kolejki wstępnie ustaloną ilość danych, którą konfiguruje się jako liczbę bajtów. Dzięki temu tak jak przedstawiono na rysunku 8 można w przybliżeniu określić, jaką część pasma otrzyma każda kolejka. Jeśli np. mamy cztery kolejki i w każdym cyklu pobieramy z nich jednakową liczbę bajtów, aplikacje obsługiwane przez te kolejki będą mogły wysyłać mniej więcej jednakową ilość danych. Ponieważ kolejki są używane tylko wtedy, gdy łącze sieciowe jest przeciążone, oznacza to, że każda z czterech aplikacji otrzyma w przybliżeniu jedną czwartą dostępnego pasma. Najważniejszą zaletą tego mechanizmu jest eliminacja zjawiska przywłaszczania łącza przez jeden ruch w sieci. 10

WFQ (Weighted Fair Queuing) WFQ jest automatycznym trybem kolejkowania, obsługującym klasy na podstawie list dostępu. Mechanizm ten dzieli pamięć buforową na tysiące niezależnych kolejek. Każda z kolejek należy do jednego przepływu, z którego składają się pakiety, które są identyfikowane przez: źródłowy adres IP, docelowy adres IP, numer protokołu (TCP, UDP), pole Type of Service, źródłowy numer portu TCP/UDP, docelowy numer portu TCP/UDP. Rysunek 8 Przydział pasma w kolejkowaniu CQ Przedstawione na rysunku 8 kolejkowanie WFQ polega głównie na przydzielaniu kolejkom wag. Są one przydzielane na podstawie liczby oraz długości pakietów im większe i dłuższe, tym większa waga przyznawana jest kolejkom. Dzięki temu przepływy o wyższych wagach obsługiwane są rzadziej niż pozostałe, a to powoduje, że pasmo dzielone jest równo między przepływami. Przy klasyfikacji kolejkowania wagowego interpretowane jest pole IP Precedence oraz żądania protokołu RSVP. W przypadku występowania klas pakietów o różnych priorytetach określonych przez IP Precedence, przydział pasma dla grupy pakietów o danym priorytecie będzie w przybliżeniu proporcjonalny do priorytetu. Dla pakietów należących do strumieni określonych przez RSVP rezerwowane jest osobne pasmo. Pakiety klasyfikowane są jeszcze pod względem parametru, jakim jest zużycie pasma. Pakiety spoza strumieni RSVP, należące do transmisji wymagających wąskiego pasma, zostaną wysłane przed innymi o tym samym priorytecie, ale należącymi do transmisji szerokopasmowej. 11

LLQ (Low Latency Queuing) Mechanizm LLQ jest jednym z najnowszych, które opracowała firma CISCO. Nazwa kolejkowanie z niskim opóźnieniem wiąże się z tym, że jego głównym zastosowaniem są sieci zawierające na przykład telefonię internetową, VOIP, która nie toleruje opóźnień. Rysunek 9 Kolejkowanie WFQ Kolejkowanie LLQ zobrazowane na rysunku 10 uzyskujemy dzięki połączeniu kolejkowania PQ i CBWFQ. Kolejkowanie CBWFQ jest używane do kolejkowania całego ruchu z wyjątkiem aplikacji czasu rzeczywistego, takich jak dźwięk czy obraz. Aplikacje te mają najwyższy priorytet, pozostałe kolejki obsługuje mechanizm CBWFQ. W momencie przekroczenia progu natężenia ruchu router nie przyznaje mu wysokiego priorytetu, dzięki temu wyeliminowane zostaje zagładzanie kolejek o niskim priorytecie. Rysunek 10 Kolejkowanie LLQ 12

5. Mechanizmy zapobiegania przeciążeniom i zatorom RED (Random Early Detection) oraz WRED (Weighted Random Early Detection) Podczas kolejkowania część pakietów jest odrzucana, na co aplikacje reagują retransmisją. Sytuacja taka powoduje powstanie zjawiska przeciążenia, ponieważ przy pełnej kolejce odrzucane są wszystkie pakiety, przez co następuje wiele retransmisji. Jednym z głównych mechanizmów zapobiegania zatorom jest algorytm RED (Random Early Detection), przeznaczony do protokołów reagujących na odrzucanie pakietów. RED dotyczy głównie ruchu TCP, nie jest on wykorzystywany przy aplikacjach UDP. Aby zapobiec gubieniu pakietów, są one odrzucane jeszcze przed umieszczeniem ich w kolejce. Przy wypełnieniu kolejki przez pakiety do pewnego poziomu, algorytm RED zaczyna odrzucać losowo pakiety TCP. Aplikacje korzystające z protokołu TCP zmniejszają prędkość wysyłania, gdy zaczynają gubić pakiety. Fakt ten wykorzystuje mechanizm RED, dzięki czemu nie dochodzi ani do przeciążenia kolejki, ani do gubienia pakietów. Odrzucanie pakietów jest losowe, dzięki temu przepływy o największej intensywności, które mają dużo pakietów w kolejce, są zmuszane do opóźnień przez odrzucanie ich pakietów. W przypadku wypełnienia kolejki mechanizm RED nie zaczyna od razu odrzucać pakietów, a dopiero po pewnym czasie, dzięki czemu nie zostają zakłócone krótkotrwałe intensywne przelewy danych. 5.1. Cechy szczególne kolejkowania Chociaż dostępnych jest wiele mechanizmów zarządzania ruchem, żadne pojedyncze rozwiązanie nie jest w stanie spełnić długiej listy wymagań. Zatem ważne jest, aby użyć odpowiedniego rozwiązania dla osiągnięcia zakładanego celu. W dodatku mechanizmy mogą mieć całkiem różne zachowania, w zależności od ich użycia. Dla przykładu WFQ dla bardzo wysycanych łączy jest w stanie zapewnić sprawiedliwy podział pasma. Pewna część przepustowości łącza może zostać zarezerwowana za pomocą przydzielania wag i klasyfikatorów. Idąc dalej, opóźnienie może zostać wyeliminowane dzięki dodaniu token bucket do źródła ruchu. Nie jest jednak łatwo łączyć różne mechanizmy w spójną całość, ponieważ projektowano je niezależnie, aby sprostać wymaganiom specyficznych zadań. 13

5.2. Cechy dyscyplin kolejkowania Overhead Większość modułów umieszczanych jest w ścieżce przekazywania pakietów, dodaje zatem pewien narzut do wydajności przekazywania (forwarding). Dyscyplina kolejkowania powinna wymagać tylko paru prostych operacji, aby przekazać pakiet w celu uzyskania dużej wydajności w szybkich sieciach. Jest to także zalecane w celu łatwego skonstruowania rozwiązań sprzętowych. Flow Przepływ jest jednostką, którą klasyfikator identyfikuje w strumieniu ruchu. Przepływ może być mikroprzepływem, takim jak pojedyncza sesja TCP, lub pewnym typem połączonych przepływów. Pakiety należące do tego samego mikroprzepływu powinny być umieszczane w tej samej kolejce, w celu uniknięcia występowania pakietów poza kolejnością. Classifer Konstrukcja wydajnego klasyfikatora jest nadal w fazie badań. W przypadku rosnącej liczby filtrów oraz przepływów, wymagany jest skalowalny algorytm. Sprawne obsłużenie filtrów typu wszystkie jest trudne, ponieważ należy znaleźć najlepsze dopasowanie wielu różnych pól. Klasyfikatory są używane nie tylko do celów kolejkowania, lecz także w ścianach ogniowych, przekazywaniu w warstwie czwartej, oraz do monitorowaniu ruchu. Klasyfikatory powinny być projektowane, aby mogły być elementami współdzielonymi. Aby rozpoznać ruch w oparciu o numer portu, klasyfikator potrzebuje sprawdzić nagłówek pakietu TCP lub UDP. Jednakże tego typu klasyfikacja nie zawsze jest możliwa, ze względu na fragmentaryzację lub szyfrowanie. Chociaż fragmentaryzacja pakietów IP zmniejsza się wraz z użyciem Path MTU Discovery, szyfrowane pakiety stają się powszechne dzięki masowemu użyciu bezpiecznej transmisji, takiej jak IPsec. States Wymagane dyscypliny kolejkowania potrzebują utrzymać stan dla każdej klasy ruchu. Rozmiar stanów oraz ich całkowita liczba mają bezpośredni wpływ na skalowalność. Uważa się, że kolejkowanie z uwzględnieniem poszczególnych przepływów nadaje się jedynie dla małych sieci oraz bramek brzegowych. W sieciach szkieletowych powinno używać się jedynie kolejkowania ruchu agregowanego. Powiązaną z tym kwestią jest to, jak długo stan dla przepływu ma być utrzymywany. Dyscyplina kolejkowania powinna utrzymywać tylko te stany przepływów, których pakiety są aktualnie w kolejce. Z drugiej strony dyscypliny mogą potrzebować informacji przez dłuższy okres, aby wprowadzić długoterminowe zasady. Fairness Sprawiedliwość jest ważną cechą dla obsłużenia mocno nasyconych łączy. Istnieje wiele różniących się definicji sprawiedliwości oraz wiele celów, dla których sprawiedliwość jest definiowana. Lokalna sprawiedliwość routera nie oznacza globalnej sprawiedliwości. Poza tym ruch sieciowy jest dynamiczny i ciągle się zmienia i tego typu statyczna sprawiedliwość nie zawsze prowadzi do sprawiedliwości w dłuższym okresie czasu (np. kolejki stratne). Bezstratne dyscypliny kolejkowania (BDK) BDK są bezczynne tylko wtedy, kiedy nie ma żadnego pakietu czekającego na obsłużenie. Z drugiej strony stratne dyscypliny mogą przetrzymać pakiety w kolejce, 14

co uważane jest za pewną formę kształtowania. Implementacja stratnych dyscyplin jest bardziej złożona, ale nadaje się do redukowania chwilowych skoków prędkości, niestabilności łącza i zwiększa poziom wydajności. Statystyczna gwarancja Gwarancja wydajności może być zdefiniowana lub ustalana dynamicznie na podstawie statystyk. Generalnie, zdefiniowana gwarancja wydajności wymaga zarezerwowania znacznie większej części zasobów niż gwarancja statystyczna. W praktyce jest to trudne do zaimplementowania, ponieważ komunikacja sieciowa pociąga za sobą wiele mechanizmów posiadających duże wymagania co do pasma. 5.3. Zarządzanie ruchem Można postawić tezę, że w przyszłości nie będzie potrzebne zarządzanie jakością ruchu sieciowego, ponieważ łącza będą miały duże przepustowości za niewielką cenę. Trzeba mieć jednak na uwadze to, że zarządzanie ruchem to nie tylko wybór między QoS i jego brakiem, ale także szerokie spektrum innych rozwiązań i zastosowań. Dla przykładu, w skrajnym przypadku każdy pojedynczy pakiet może być precyzyjnie kontrolowany na każdym mijanym routerze lub na odwrót cały ruch może być przekazywany bez jakiejkolwiek kontroli przepływów. Jednak obydwa z tych podejść do zagadnienia są nieefektywne i kosztowne w użyciu. W poprawnie administrowanej sieci, zarządzanie kolejkowaniem powinno być pojmowane przede wszystkim jako zabezpieczenie przed zatorami i przeciążeniami łączy. Jest także ochroną przed nietypowym zachowaniem poszczególnych przepływów oraz niedomaganiami konfiguracji i zarządzania. W poprawnie zarządzanej infrastrukturze efekt nie jest zbyt widoczny. Da się go zaobserwować jako podniesienie progu, po którym zaczyna się tworzyć zator, co przypomina sytuację przy zwiększeniu przepustowości łącza. Zarządzanie ruchem wymaga dobrego wypośrodkowania między kontrolowaniem a zapewnianiem i zabezpieczaniem ruchu na każdym jego poziomie oraz między nimi. Ważne jest, aby znaleźć złoty środek między opłacalnością ponoszonych kosztów a łatwością oraz wygodą zarządzania siecią. 5.4. Skale czasowe w zarządzaniu ruchem Zarządzanie ruchem składa się z różnorodnych mechanizmów i założeń. W skład zarządzania ruchem wchodzi wycena, planowanie pojemności łącza, kontrola przepływności między punktami końcowymi, szeregowanie pakietów oraz inne. Wszystkie te zastosowania wymagają innych skal czasu. Skala czasu kolejkowania musi być adekwatna do czasu potrzebnego, aby przetransportować pojedynczy pakiet. Kolejkowanie jest efektywne podczas zarządzania krótkimi seriami pakietów. Przepływy typu end-to-end wymagają rozważania w znacznie szerszej skali czasowej. Podczas zarządzania przepływami ważne jest utrzymywanie na tyle małych wielkości serii pakietów, aby można było nimi efektywnie zarządzać za pomocą kolejkowania. Na koniec trzeba zaznaczyć, że łącza o dużej przepustowości nie odnoszą żadnych korzyści z powodu zarządzania kolej- 15

kowaniem pakietów. Z drugiej strony zwiększanie szczelin w prędkości łącza powoduje, że serie stają się coraz większe i tym ważniejsze staje się poprawne nimi zarządzanie. 5.5. Kontrolowanie łączy typu wąskie gardło Zazwyczaj wąskimi gardłami są miejsca, w których pakiety są transportowane przez połączenia typu WAN i to one najczęściej są źródłem strat pakietów oraz narastających opóźnień. Zarządzanie kolejkowaniem w takich miejscach staje się najbardziej pożądane i efektywne. Zatory zawsze są powodowane przez małą liczbę dużych objętościowo sesji (na przykład pliki graficzne ze stron WWW lub sesje FTP), więc izolacja tego typu ruchu od reszty znacznie poprawia ogólną wydajność sieci. Stanowi to także pewien środek ochronny. Z drugiej strony RED wydatnie poprawia wydajność współzależnych sesji TCP. Część administratorów sieci stara się utrzymywać wykorzystanie dostępnej przepustowości na maksymalnie wysokim poziomie. Jednakże teoria kolejkowania jasno pokazuje, że wydajność infrastruktury sieciowej drastycznie spada w momencie, kiedy obciążenie zbliża się do 100%. W tej sytuacji kolejki nie są w stanie dłużej absorbować fluktuacji przychodzących pakietów. Idealną sytuacją jest tak chronione połączenie sieciowe, którego obciążenie nigdy nie przekracza 80%. Problematyczność poprawnego zaimplementowania kolejkowania w istniejącej infrastrukturze sieciowej jest spowodowana tym, że kolejkować można wyłącznie ruch wychodzący z interfejsu sieciowego. Kolejkowanie nie jest właściwe do kontrolowania ruchu przychodzącego, ponieważ kolejka prawie zawsze jest pusta na wyjściu z wąskiego gardła. W celu zarządzania ruchem przychodzącym kolejkowanie powinno być skonfigurowane po drugiej stronie łącza, ale niestety większość organizacji nie ma możliwości kontrolowania tamtej strony łącza WAN. 5.6. Opóźnienia wnoszone przez kolejkowanie Inżynierowie sieciowi dążą do tego, aby jak najbardziej zwiększyć wydajność przekazywania pakietów, czyli o liczbę pakietów przesyłanych w ciągu jednej sekundy lub czasu, jaki jest niezbędny do przesłania pojedynczego pakietu. Jednak w momencie, kiedy opóźnienie w przekazywaniu stanie się mniejsze niż czas przesłania pakietu przez łącze, ogólna prędkość transmisji osiągnie maksymalną prędkość łącza. Zatem dalsze zmniejszanie opóźnienia forwardowania nie ma większego sensu, jeśli kolejka na wyjściu z interfejsu nie jest pusta. Z drugiej strony, opóźnienie kolejkowania pakietów (czas oczekiwania w kolejce) jest z wiadomego powodu większe niż opóźnienie spowodowane forwardowaniem. W przypadku, kiedy występuje wąskie gardło to zwiększenie prędkości przekazywania pakietów nie zmniejszy ogólnego opóźnienia, ponieważ powodem większości opóźnień czas oczekiwania w kolejce. Powinno się zatem zwracać większą uwagę na czas oczekiwania w kolejce, tym bardziej wtedy, kiedy prędkość transferu osiąga granice możliwości łącza. 16

6. Wygładzanie ruchu Mechanizm wygładzania ruchu służy do spowolniania ruchu przez buforowanie go na routerach przed wysłanie do kolejnego urządzenia, nawet w sytuacji, gdy w danym momencie nie ma żadnych pakietów do wysłania. W urządzeniach CISCO dostępne są dwa mechanizmy wygładzania ruchu: GTS (Generic Traffic Shaping) oraz FRTS (Frame Relay Traffic Shaping). Klasyfikują one wygładzany ruch na podstawie ACL oraz mechanizmów kolejkowania, takich jak WFQ, PQ czy CQ. GTS działa dla interfejsów i podinterfejsów, natomiast FRTS uruchamiany jest dla każdego połączenia pojedynczo. 6.1. CAR (Committed Access Rate) Metoda CAR pozwala dzielić pasmo dochodzących danych na routerze. Strumienie danych są rozpoznawane na podstawie adresów MAC hosta nadającego, wartości pola IP Precedence lub wartości zawartych w ACL. Ustalone pasmo jest rozpoznawane przez powyższe wartości i ograniczane lub jest mu nadawany z góry ustalony priorytet. 6.2. Strategie zapewnienia jakości usług Celem strategii jest odpowiedni dobór sprzętu sieciowego, ulepszenie jakości łączy i implementacji różnych innych mechanizmów ulepszających jakość usług. 6.3. Rozróżnianie klas oraz rezerwacja zasobów Istnieją dwa modele QoS: model oparty na rozróżnianiu klas ruchu oraz model oparty na rezerwowaniu zasobów. Główną cechą modelu opartego na klasach ruchu to, że każda klasa ruchu jest oznaczana odpowiednią etykietą zawartą w pakietach danych, na podstawie której węzły sieci dostarczają konkretną jakość usług. Model ten jest wysoce skalowalny, gdyż nie jest konieczne rozpoznawanie pojedynczego strumienia danych. W modelu opartym na rezerwacji zasobów end-to-end aplikacje, korzystając z protokołu sygnalizacyjnego, zgłaszają sieci swoje własne wymagania z zakresu przepustowości i opóźnienia. Węzły sieci przeprowadzają kontrolę dostępności zasobów potrzebnych do zapewnienia żądanego poziomu usługi. Dzięki temu następuje rezerwacja zasobów, aby konkretny węzeł sieci świadczył daną jakość usługi. Węzeł sieciowy sprawdza i ewentualnie ogranicza ruch co do zgłoszonych parametrów. 17

Jednakże, aby zapewnić jakość usług na użytecznym poziomie, sieć powinna być skonfigurowana poprawnie jako całość w jednorodny sposób. W celu zagwarantowania jakości należy skonfigurować wszystkie routery na ścieżce pakietów oraz kontrolować cały przychodzący ruch z tych routerów. Zarządzanie ruchem jest prostsze w zamkniętych sieciach, gdzie cały przychodzący ruch poddawany jest polityce kolejkowania na samych granicach sieci. Przykładowo, proste kolejkowanie w oparciu o priorytety może być zapewnione, jeśli tylko ilość preferowanego ruchu jest wystarczająco małą częścią ogólnie dostępnej przepustowości. Z drugiej strony, większość współczesnych sieci IP nie spełnia warunków tego typu zamkniętych sieci, więc nie da się przyjąć tak twardych założeń w stosunku do przychodzącego ruchu. 6.4. Mechanizm DiffServ Mechanizm DiffServ określa sposób definiowania pola ToS w nagłówku IP w zależności od rodzaju obsługiwanych usług (Type of Service). Pierwsze trzy bity określają pierwszeństwo IP Precedence. Dalej znajdują się bity DTR, które są flagami reprezentującymi priorytety opóźnień, przepustowości i niezawodności. Pole DS (Differentiated Services) to ośmiobitowe pole, które zawiera sześciobitowe pole DSCP wyznaczające jakość usług. Wartości zawarte w polu DSCP są kompatybilne z IP Precedence. DiffServ jest stosowany do przekazywania wartości usługi QoS dla kategorii ruchu lub ich grup. Wszelkie usługi opisane przez ten protokół działają na poziomie warstwy trzeciej. Implementacja QoS na poziomie warstwy 3trzeciej składa się z kilku etapów: klasyfikacji na podstawie nagłówka IP, segregacji w celu uniknięcia przeciążeń, dystrybuowania, czyli oczekiwania i wysyłania informacji przy spełnianiu określonych warunków, dzięki różnego rodzaju algorytmom, takim jak WFQ, Traffic Shapping lub Traffic Policing. 6.5. Protokół RSVP Resorce Reservation Protocol (RFC 2205, 2210, 2211, 2212, 2750, 3936) Protokół RSVP daje możliwość zarezerwowania pasma dla pewnego strumienia danych przesyłanych przez protokół IP, czyli zarządzania urządzeniami sieciowymi niezbędnymi do odpowiedniej i gwarantowanej przepustowości. Zadaniem RSVP nie jest przenoszenie danych aplikacji, tylko przydzielanie zasobów sieciowych oraz zarządzaniu nimi. Rezerwacja zaczyna się od wysłania (urządzenie końcowe do odbiorcy) do sieci żądania RSVP PATH. Żądanie zawiera informację o adresie źródłowym i docelowym, numer protokołu i portu oraz wartości QoS (minimalne pasmo). Routery po drodze ustalają najlepszą i najkrótszą drogę do celu, za każdym razem wysyłając do żądającego komunikat RSVP RESV oraz komunikat RSVP CONFIRM w kierunku celu, aby potwierdzić, że żądanie zostanie zrealizowane. Routery okresowo prze- 18

syłają między sobą żądania PATH, RESV i CONFIRM, aby sprawdzić, czy zasoby są nadal dostępne. Głównym zastosowaniem techniki RSVP, czyli rezerwowania zasobów, jest implementacja telefonii VoIP, która wymaga pełnego i pewnego przepływu danych. 19

Bibliografia 1. Blake S., Black D., Carlson M., Davies E., Wang Z., Weiss W., 1998: An architecture for differentiated services. RFC 2475, Internet Engineering Task Force, December. 2. Braden B., Clark D., Crowcroft J., Davie B., Deering S., Estrin D., Floyd S., Jacobson V., Minshall G., Partridge C., Peterson K. L., Shenker Ramakrishnan S., Wroclawski J., Zhang L., 1998: Recommendations on queue management and congestion avoidance in the internet. RFC 2309, Internet Engineering Task Force, April. 3. Cisco. Witryna internetowa. http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/qos.pdf, stan z 15 marca 2007 r. 4. Cho K., 1998: A Framework for Alternate Queueing: Towards Traffic Management by PC-UNIX Based Routers, USENIX 1998 Annual Technical Conference, June. 5. Demers A., Keshav S., Shenker S., 1989: Analysis and simulation of a fair queueing algorithm, Proceedings of SIGCOMM 89 Symposium, Austin, Texas, September. 6. Dooley K., Brown I., 2004: Cisco Receptury, Wydawnictwo Helion, Gliwice. 7. Dummynet R. L., 1997: A simple approach to the evaluation of network protocols, Computer Communication Review, April. 8. Floyd S., Jacobson V., 1991: Traffic phase effects in packet-switched gateways, Computer Comunication Review, April. 9. Floyd S., Jacobson V., 1993: Random early detection gateways for congestion avoidance, IEEE/ACM Transaction on Networking, August. 10. Floyd S., Jacobson V., 1995: Link-sharing and resource management models for packet networks, IEEE/ACM Transactions on Networking, 3(4), August. 11. FreeBSD. Witryna internetowa. http://www.freebsd.org/doc/en_us.iso- 8859-1/books/handbook/index.html, stan z 15 marca 2007 r. 12. Hucaby D., 2006: CCNP BCMSN exam certification guide: CCNP self-study, Cisco Press, Indianapolis. 13. Huston G., 2000: Internet performance survival guide : QoS strategies for multiservice networks, John Wiley & Sons, New York. 14. IHETS. Witryna internetowa. http://www.ihets.org/progserv/dms/videoconferencing/ipvtf/, stan z 15 marca 2007 r. 15. Interia.pl. Witryna internetowa. http://szmarcin.w.interia.pl/, stan z 15 marca 2007 r. 16. Katedra Informatyki i Ekonometrii, Wydział Organizacji i Zarządzania, Politechnika Śląska. Witryna internetowa. http://www.roz6.woiz.polsl.pl/~jarkarc/index.php?id=qos,, stan z 15 marca 2007 r. 17. Keshav S., 1991: On the efficient implementation of fair queueing, Internetworking: Research and Experience, September. 18. McKenney P. E., 1990: Stochastic fairness queueing, Proceedings of INFO- COM, San Francisco, California, June. 19. Nagle J., 1987: On packet switches with infinite storage, IEEE Trans. on Comm., 35(4), April. 20. NetWorld. Witryna internetowa. http://www.networld.pl/artykuly/21685. html, stan z 15 marca 2007 r. 21. PC Kurier. Witryna internetowa. http://www.pckurier.pl/archiwum/art0. asp?id=4304, stan z 15 marca 2007 r. 20