Sterowanie dostępem i szeregowanie pakietów dr inż. Jerzy Domżał Akademia Górniczo-Hutnicza w Krakowie, Katedra Telekomunikacji 17 października 2016 r. dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 1 / 53
Obsługa pakietu w ruterze QoS a obsługa pakietów: sterowanie dostępem kształtowanie ruchu szeregowanie pakietów sprawiedliwe kolejkowanie pakietów zarządzanie pamięcią sterowanie przepływem i przeciążeniami ruting dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 2 / 53
Spis treści 1 Architektura Integrated Services 2 Sterowanie dostępem 3 Szeregowanie pakietów 4 Sterowanie zajętością bufora dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 3 / 53
Architektura IntServ W architekturze IntServ [RFC1633] zakłada się, że zasoby w sieci są rezerwowane dla poszczególnych lub zagregowanych strumieni danych RSVP (ReSerVation Protocol) [RFC2205, RFC2210] specjalny protokół sygnalizacyjny umożliwiający danej aplikacji rezerwację zasobów w sieci Implementacja protokołu RSVP jest konieczna w każdym węźle (ruterze IP) Ruter jest odpowiedzialny za przyjmowanie i realizowanie żądań rezerwacji konieczne jest przechowywanie informacji o każdej rezerwacji wraz z informacją o skojarzonym strumieniu danych dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 4 / 53
Cechy architektury IntServ Rozszerzenie istniejącego modelu Best Effort przeznaczona dla aplikacji wymagających gwarancji odnośnie parametrów jakości przekazu danych związanych z opóźnieniami, Przydzielanie QoS do przepływów. Przez przepływ należy rozumieć rozróżnialny strumień powiązanych ze sobą datagramów, który został wytworzony przez aktywność pojedynczego użytkownika, i który wymaga jednakowego QoS Sterowanie przyjmowaniem zgłoszeń wymaga się, aby każdy ruter potrafił podjąć decyzję o przyjęciu do obsługi nowego zgłoszenia na podstawie informacji o dostępnych zasobach dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 5 / 53
Cechy architektury IntServ c.d. Rezerwacja zasobów wymaga się, aby każdy ruter potrafił zarezerwować zasoby w celu zapewnienia QoS obsługiwanym przepływom Opis ruchu przy pomocy modelu płynnego wiadro tokenowe (r intensywność (szybkość) napływania tokenów, b - głębokość wiadra, p szybkość szczytowa, m najmniejsza rozróżnialna wielkość pakietu, M maksymalny rozmiar pakietu) dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 6 / 53
Usługi w architekturze IntServ W architekturze IntServ zdefiniowano, oprócz standardowej usługi typu best effort, dwie dodatkowe usługi: Guaranteed Service [RFC2212] przeznaczona dla aplikacji wymagających gwarancji odnośnie parametrów jakości przekazu danych związanych z opóźnieniami, Controlled-load Service [RFC2211] przeznaczoną dla aplikacji wymagających bezstratnego przekazu danych i charakteryzującą się jakością przekazu określaną jako lepszą niż best effort dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 7 / 53
Uzgadnianie połączenia Wiadomość PATH(1) Wiadomość PATH(2) Wiadomość PATH(3) nadawca Wiadomość RESV(6) Wiadomość RESV(5) odbiorca Wiadomość RESV(4) Żądanie rezerwacji zasobów jest inicjowane przez źródło (np. aplikację w terminalu końcowym). Wysyła ono wiadomość typu PATH message zawierającą informacje o charakterystyce generowanego ruchu tzw. Traffic Specification (TSpec). Wiadomość ta jest przekazywana do miejsca (lub wielu miejsc) przeznaczenia od rutera do rutera zgodnie z ustaloną przez algorytm drogą. Odbiorca, po otrzymaniu wiadomości typu PATH message, wysyła wiadomość o rezerwacji typu RESV message. dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 8 / 53
RSVP Protokół sygnalizacyjny (a nie realizujący sterowanie przekazem danych), Rezerwacja zasobów jest typu soft, tj. musi być ona odnawiana okresowo, Żądanie rezerwacji jest generowane przez odbiorcę, Użycie protokołu przez daną aplikację wymaga opracowania specjalnego interfejsu API (Application Programming Interface), Wymaga przechowywania informacji w ruterach o pojedynczych strumieniach danych, co w konsekwencji prowadzi do problemów ze skalowalnością sieci. dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 9 / 53
IntServ wady Skalowalność w miarę wzrostu liczby strumieni potrzebne są coraz większe zasoby w ruterach dla obsługi wyłącznie procedur rezerwacyjnych Wzrost ruchu w sieci wyłącznie wskutek ruchu RSVP Naliczanie opłat za ruch pomiędzy ISP znacznie utrudnione dla pojedynczych, niekiedy krótkotrwałych strumieni Wspieranie protokołu RSVP przez aplikacje dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 10 / 53
Spis treści 1 Architektura Integrated Services 2 Sterowanie dostępem 3 Szeregowanie pakietów 4 Sterowanie zajętością bufora dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 11 / 53
Sterowanie dostępem (ang. admission control) Po co? ogranicza ilość ruchu, który musi być umieszczony w kolejce określa czy przyjęcie nowego żądania (dla nowej usługi) nie spowoduje pogorszenia jakości obsługi zaakceptowanego już ruchu najczęściej stosowany w przypadku transmisji przepływowej dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 12 / 53
Sterowanie dostępem dwa podejścia oparte na ustalonych parametrach PBAC (Parameter-Based Admission Control) wyznaczana jest ilość zasobów sieciowych potrzebna do obsługi przepływów o zadanych a priori charakterystykach stosuje się np. dla aplikacji czasu rzeczywistego; gdy przepływ takiej aplikacji zgłasza chęć transmisji, to musi scharakteryzować swój ruch, by moduł sterowania dostępem mógł na tej podstawie podjąć odpowiednią decyzję źródła zwykle określają swoje szczytowe i maksymalne szybkości transmisji lub odpowiedni filtr (np. token bucket) dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 13 / 53
Sterowanie dostępem dwa podejścia oparte na pomiarach MBAC (Measurement-Based Admission Control) działa w oparciu o pomiary aktualnego ruchu w sieci jest to mniej dokładna metoda, gdyż generowny ruch zmienia się stosuje się, gdy nie da się określić dokładnych parametrów ruchu wchodzącego dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 14 / 53
Próg dostępu w sposób deterministyczny przykładowo sumowane są szybkości szczytowe aktywnych przepływów i jeśli suma > pojemności łącza to nowy przepływ jest odrzucany inne podejście to filtr token bucket-- suma szybkości napływania tokenów jest mniejsza od pojemności łącza, a suma pojemności wiader jest mniejsza od bufora łącza jeszcze inny określa maksymalną liczbę bitów jakie przepływ może przesłać w danej jednostce czasu oraz maksymalne opóźnienie pakietów (dla najgorszego możliwego przypadku) wady: słabe wykorzystanie łącza, gdy ruch jest wybuchowy-- rozwiązaniem może być kształtowanie ruchu dobre rozwiązanie np. dla transmisji wideo, dla których można łatwo określić parametry a priori dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 15 / 53
Próg dostępu w sposób statystyczny multipleksacja statystyczna a multipleksacja z podziałem czasowym (TDM) prawdopodobieństwo, że zagregowany ruch osiągnie sumę szybkości szczytowych wszystkich przepływów jest nieskończenie małe (10 48 ), znacznie mniejsze niż prawdopodobieństwa straty pakietów w łączu fizycznym (np. 10 8 ) multipleksacja statystyczna pozwala na lepsze wykorzystanie zasobów przy zachowaniu gwarancji QoS dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 16 / 53
Model usług zintegrowanych stworzony m. in. w celu wsparcia aplikacji czasu rzeczywistego (zdalne wideo, multimedialne konferencje) o różnych wymaganiach QoS dwie klasy ruchowe: GS guaranteed service CLS controlled-load service w celu zapewnienia QoS: rezerwacja zasobów, sterowanie dostępem, szeregowanie pakietów, zarządzanie pamięcią dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 17 / 53
Sterowanie dostępem dla GS algorytm używa charakterystyk zadanych a priori czyli zwykle jest to PBAC wyznaczany jest próg najgorszego przypadku dla wszystkich zaakceptowanych przepływów po ewentualnym dodaniu nowego przepływu zapewnione jest odpowiednie opóźnienie pakietów i straty wada: słabe wykorzystanie zasobów, gdy ruch jest wybuchowy dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 18 / 53
Sterowanie dostępem dla CLS w CLS zwykle definiuje się dwa lub więcej priorytetów AC ma za zadanie ograniczać ilość ruchu kwalifikowanego do grupy z wysokim priorytetem drugi sposób realizacji CLS to WFQ (Weighted Fair Queuing) AC decyduje o dopuszczeniu przepływu i zakwalifikowaniu go do odpowiedniej kolejki dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 19 / 53
Algorytmy sterowania dostępem dla CLS (1) Suma Prosta (Simple Sum) suma żądanych zasobów nie przekracza pojemności łącza nowy przepływ jest zaakceptowany, gdy: v + c i < r v zarezerwowana przepływność r przepustowość łącza i numer przepływu żądającego dostępu c i żądana przepływność przez przepływ i najprostsze rozwiązanie, dlatego najczęściej stosowane rozwiązanie często stosowane wraz z WFQ dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 20 / 53
Algorytmy sterowania dostępem dla CLS (2) Suma Mierzona (Measured Sum) algorytm stosuje pomiary w celu wyznaczenia obciążenia łącza przez istniejące przepływy nowy przepływ jest zaakceptowany, gdy: v + c i < ηr v zmierzona przepływność η ułamek mówiący o pożądanym maksymalnym wykorzystaniu zasobów dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 21 / 53
Algorytmy sterowania dostępem dla CLS (3) Obszar przyjmowania (Acceptance Region) algorytm maksymalizuje wykorzystanie zasobów przy zachowaniu odpowiedniego progu utraty pakietów wymaga znajomości: przepustowości łącza wielkości bufora parametrów filtra token bucket określenia wybuchowości ruchu (wielkości burstu) określenia pożądanego prawdopodobieństwa przekroczenia progu zajętości łącza wersja algorytmu oparta na pomiarach zapewnia, że chwilowo mierzone obciążenie łącza powiększone o szybkość szczytową nowego przepływu będzie wciąż w obszarze akceptacji dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 22 / 53
Sterowanie ruchem zestaw rozwiązań i mechanizmów służących do: określenia oczekiwanych charakterystyk ruchowych i wymagań stawianych przez aplikacje (np. szybkość szczytowa, wymagane maksymalne opóźnienie i straty) kształtowania strumieni danych (np. zmniejszania ich szybkości transmisji lub wybuchowości) na brzegu sieci lub w wybranych jej elementach obsługi strumieni danych i odpowiedniej reakcji w przypadku potrzeby (niezgodności z SLA) (np. usunięcie, opóźnienie lub oznakowanie pakietów) dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 23 / 53
Kształtowanie ruchu w modelu usług zintegrowanych B 1 Przepływ 1 X 1 Pakiet opuszcza bufor w czasie t d(k) HOL B N X N Przepływ N HOL Uaktualnij zajętość wiadra w czasie t d(k) B: rozmiar wiadra X: poziom zajętości wiadra dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 24 / 53
Spis treści 1 Architektura Integrated Services 2 Sterowanie dostępem 3 Szeregowanie pakietów 4 Sterowanie zajętością bufora dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 25 / 53
Czym jest szeregowanie pakietów? Szeregowanie pakietów (ang. packet scheduling) określa: mechanizm obsługi kolejki w węźle sieciowym, a więc kolejność w jakiej zakolejkowane pakiety powinny zostać obsłużone reguły współdzielenia łącza wyjściowego jeśli użytkownik posiada wysoki priorytet w dostępie do łącza, to jego pakiety powinny być obsłużone w pierwszej kolejności jeśli użytkownik nie posiada priorytetu, to jego pakiety powinny być opóźnione pakiety uprzywilejowanego użytkownika powinny być znakowane w bloku sterowania dostępem Jednym z podstawowych zadań algorytmów szeregowania jest zapewnienie sprawiedliwego podziału dostępnej przepustowości oraz ochrona ruchu użytkowników przed niewłaściwym zachowaniem ze strony szkodliwych użytkowników dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 26 / 53
Ogólne spojrzenie na problem Skomplikowane (?) algorytmy szeregowania są wymagane w celu umożliwienia obsługi ruchu z wysokim priorytetem przy zachowaniu wymagań gwarantowania jakości obsługi ruch wymagający obsługi w czasie rzeczywistym jest czuły na opóźnienia transmisja danych jest czuła na straty dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 27 / 53
Ocena algorytmów szeregowania Algorytmy szeregowania oceniane są na wiele sposobów: przedział ograniczeń opóźnień wykorzystanie zasobów sprawiedliwość i protekcja narzut protokołu koszt obliczeniowy skuteczność dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 28 / 53
First In First Out Flow 1 Flow 2 Multiplexed output Flow N Własności: prostota realizacji układ szeregowania obsługuje pakiety w kolejności napływania; odrzucane są pakiety napływające, gdy kolejka jest pełna Ograniczenia: brak specjalnego traktowania, brak mechanizmów obsługi ruchu priorytetowego problemy z dużymi pakietami zachłanne połączenia mogą absorbować zasoby na długi czas dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 29 / 53
max-min fairness maksymalizowany jest minimalny przydział zasobów użytkownikom, których żądania nie są spełnione FIFO nie zapewnia sprawiedliwego podziału dostępnej przepustowości, protekcji ani odpowiednio niskiego jittera dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 30 / 53
FIFO vs FQ Flow 1 Flow 2 Multiplexed output Flow N FIFO queuing dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 31 / 53
FIFO vs FQ Flow 1 Flow 2 Multiplexed output Flow N Flow 1 FIFO queuing Flow 2 Multiplexed output Flow N Fair Queuing dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 31 / 53
Round-Robin każdy użytkownik ma swoją kolejkę kolejki poszczególnych użytkowników obsługiwane są cyklicznie (jedna po drugiej) zachłanny użytkownik przepełni tylko swoją kolejkę nie psując przy tym jakości obsługi ruchu pozostałych użytkowników (protekcja jest zapewniana) sprawiedliwość jest zapewniona, gdy użytkownicy obsługiwani są z jednakową wagą oraz wysyłają dane w pakietach o jednakowej długości (jak w ATM) jeśli użytkownicy mają przydzielone różne wagi, to wagowy round-robin (weighted round-robin) jest używany do obsługi ich ruchu (zgodnie z przydzielonymi wagami) dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 32 / 53
Deficit Round-Robin Flow 1 Flow 2 Multiplexed output Flow N dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 33 / 53
Deficit Round-Robin Flow 1 +Q 1 Flow 2 +Q 2 -L -L -L Multiplexed output Flow N +Q N dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 33 / 53
Deficit Round-Robin bardzo sprawiedliwie dzieli dostępną przepustowość podobnej jakości (jeśli chodzi o sprawiedliwość) rozwiązania FQ są droższe w implementacji (bardziej złożone) złożoność obliczeniowa jest równa O(1) (O(log(n)) dla WFQ) rozwiązanie proste do implementacji w rzeczywistych urządzeniach dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 34 / 53
Processor sharing obługiwane jest po 1 bicie z każdej kolejki rozwiązanie realizujące koncepcję round-robin każda kolejka otrzymuje 1 N przepustowości łącza własności: proste, nieskomplikowane obliczeniowo rozwiązanie niepraktyczne w implementacji dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 35 / 53
Bit-round Fair Queuing wysyłane są całe pakiety podstawowa reguła BRFQ: pakiet z najmniejszym wirtualnym czasem końca transmisji wysyłany jest w pierwszej kolejności BRFQ stanowi dobrą aproksymację PS przepustowość i średnie opóźnienie poszczególnych przepływów odpowiada podziałowi PS dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 36 / 53
Bit-round Fair Queuing t R(t) Queue α Queue β Queue γ 0 0 1 1 2 3 4 5 6 7 8 9 10 11 2 3 4 5 Queue α Queue β Queue γ P1 P2 P1 P2 P1 τ i 0 2 1 2 3 P i 3 1 1 4 3 S i 0 3 1 2 2 F i 3 4 2 6 5 12 6 dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 37 / 53
Bit-round Fair Queuing t R(t) Queue α Queue β Queue γ 0 0 1 1 2 3 4 5 6 7 8 9 10 11 2 3 4 5 Queue α Queue β Queue γ P1 P2 P1 P2 P1 τ i 0 2 1 2 3 P i 3 1 1 4 3 S i 0 3 1 2 2 F i 3 4 2 6 5 12 6 dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 37 / 53
Fair Queuing and FIFO Przykład 1: obciążenie równe przepustowości łącza Flow 1 Flow 2 Flow 3 FIFO FQ BRFQ 1 2 3 2 1 2 3 2 1 2 3 2 1 2 3 2 1 2 3 2 1 2 3 2 1 2 3 2 1 2 3 2 2 3 1 2 2 3 1 2 2 3 1 2 2 3 1 2 dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 38 / 53
Fair Queuing and FIFO Przykład 2: obciążenie przekracza przepustowość łącza Flow 1 Flow 2 Flow 3 Flow 4 FIFO FQ BRFQ 1 2 3 4 2 1 2 3 4 2 1 2 3 4 2 1 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 2 3 4 1 2 2 3 4 1 2 2 3 4 1 2 2 3 dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 38 / 53
Generalized Processor Sharing zapewnia max-min fairness cała przepustowość jest dzielona pomiędzy aktywne sesje zgodnie z ich wymaganiami na minimalną przepustowość tylko jedna sesja może być obsługiwana w danej chwili, a pakiety nie mogą być dzielone na mniejsze jednostki każdy przepływ ma przydzieloną wagę wagi określają jak wiele bitów może być wysłanych w ciągu każdego cyklu dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 39 / 53
GPS - przykład t Queue 1 Queue 2 Queue 3 0 c1=1 r1=1/6 1 2 c1=1/3 c2=2/3 r2=1/3 SERVER r=1 3 4 r3=1/2 5 6 7 c1=1/6 c2=1/3 c3=1/2 c1(t)= 1, 0<t<=1 1/3, 1<t<=3 1/6, t>3 8 9 c2(t)= 0, 0<t<=1 2/3, 1<t<=3 1/3, t>3 10 11 c3(t)= 0, 0<t<=3 1/2, t>3 12 dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 40 / 53
Weighted Fair Queuing Przykład 1 Flow 1 Flow 2 Flow 11 FIFO WFQ 1 2 3 4 5 6 7 8 9 10 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 4 5 6 7 8 9 10 11 1 Waga przepływu 1: 0.5 Waga przepływów 2 11: 0.05 1 dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 41 / 53
Weighted Fair Queuing Przykład 2 Flow 1 Flow 2 Flow 11 FIFO WFQ 1 2 3 4 5 6 7 8 9 10 11 1 1 1 1 1 1 1 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 Waga przepływu 1: 0.5 Waga przepływów 2 11: 0.05 1 dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 41 / 53
Start-time Fair Queuing działa w oparciu implementację kolejki Push-In, First-Out (PIFO) pakiety szeregowane są w malejącej kolejności znaczników czasowych (start tag) Własności SFQ zapewnia sprawiedliwość zapewnia małe średnie i maksymalne opóźnienia dla wolnych przepływów wydajny obliczeniowo szczegóły zostaną przedstawione przy okazji omawiania koncepcji FAN dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 42 / 53
Start-time Fair Queuing Flows =100 Flows =150 Flows =200 60 50 SFQ WFQ 40 Delay (ms) 30 20 10 0 1000 0.7 0.75 0.8 0.85 0.9 0.95 Average Utilization Ù õ Ž ù P. ÞGoyal, Ù à ú H.M. Ž ù ð Vin, û ˆ and æ ó H. ë Þ Cheng. Ý ã á æ Ù æ Start-time î Þ â Û Ý Þ Ü Û fair à Û queuing: ï Þ í ã Ù õ AŽ scheduling ù Þ Ù à ú algorithm Ž ù for integrated services packet switching networks. In Proceedings of ACM SIGCOMM 96. Ð 2 Ó Ò 2 1 Ö 2 Ô Ö Ö Ó dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 43 / 53
Spis treści 1 Architektura Integrated Services 2 Sterowanie dostępem 3 Szeregowanie pakietów 4 Sterowanie zajętością bufora dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 44 / 53
Wstęp Zarządzanie zajętością bufora to strategia podejmowania decyzji kiedy i w jaki sposób usuwać pakiety z kolejek w sytuacji wystąpienia natłoku Kolejki nie mogą być zbyt krótkie (częste odrzucanie pakietów) ani zbyt długie (opóźnienia) Wybór właściwego pakietu do odrzucenia w sytuacji natłoku decyduje o jakości obsługi ruchu i stabilności sieci dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 45 / 53
Tail Drop Tradycyjna technika zarządzania zajętością bufora Ustawiana jest maksymalna długość kolejki (w pakietach) Pakiety przyjmowane są dopóki zajętość kolejki nie osiągnie maksymalnego progu Wadą tego rozwiązania jest możliwość transmisji w łączu przez jeden lub kilka przepływów, które uniemożliwiają innym przepływom umieszczenie pakietów w kolejce Niekorzystne jest również utrzymywanie zajętości bufora na maksymalnym poziomie przez długi czas dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 46 / 53
Drop on Full Random drop on full losowo odrzucany jest pakiet z kolejki, gdy jest ona pełna i pojawia się nowy pakiet Drop front on full usuwamy pakiet z czoła kolejki, gdy jest ona pełna i pojawia się nowy pakiet Oba rozwiązania zapobiegają monopolizacji kolejki, ale nie przeciwdziałają jej ciągłemu zapełnieniu dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 47 / 53
RED (Random Early Detection) Najbardziej popularne rozwiązanie sterowania zajętością bufora w sieciach z transmisją TCP Pakiety docierające do rutera usuwane są losowo z prawdopodobieństwem, które wzrasta wraz ze średnią zajętością kolejki Algorytm zapewnia: obługę przepływów o różnej długości, utrzymanie niewielkiej średniej zajętości kolejki oraz krótkich opóźnień, sprawiedliwy dostęp do zasobów, odpowiednią przepływność dla każdego typu ruchu Algorytm wymaga odpowiedniej konfiguracji w celu osiągnięcia założonych efektów zły dobór parametrów może skutkować niewłaściwymi parametrami transmisji w natłoku dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 48 / 53
RED (Random Early Detection) Zakłada się istnienie dwóch progów min th oraz max th Gdy zajętość bufora jest poniżej min th, to pakiety przyjmujemy Gdy zajętość bufora jest powyżej min th a poniżej max th, to pakiety przyjmujemy z prawdopodobieństwem zmieniającym się stosownie do zajętości bufora Gdy zajętość bufora jest powyżej max th, to pakiety są odrzucane dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 49 / 53
LQD (Longest Queue Drop) Zaprojektowany do zastosowania w sieciach z przepływami o tych samych wagach Długość kolejki jest proporcjonalna do długości przepływu Wykazuje lepsze właściwości niż FCFS przy zastosowaniu z mechanizmami FQ Współpraca LQD i FQ ma lepsze właściwości niż RED z FQ Zaletą zastosowania kombinacji FQ oraz LQD jest separacja przepływów. Jeśli natłok spowodowany jest przez jeden przepływ, to tylko ten przepływ ponosi tego konsekwencje (usuwanie pakietów) Kombinacja FQ oraz LQD zapewnia brak usuwania pakietów oraz niewielkie opóźnienia dla przepływów transmistujących z szybkością mniejszą niż C/n (C przepustowość łącza, n liczba przepływów) dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 50 / 53
ALQD (Approximated Longest Queue Drop) Złożoność obliczeniowa algorytmu LQD jest dość duża, ponieważ wymagane jest ciągłe monitorowanie zajętości kolejek Pozwala na łatwiejsze obliczenia, gdyż znacznik najdłuższej kolejki i jej długość zapisywana jest w rejestrze Algorytm nie musi wyszukiwać najdłuższej kolejki Każde zdarzenie w kolejce (np. przyjmowanie lub odrzucanie pakietów) uruchamia mechanizm porównujący długość kolejki z wartością zapisaną w rejestrze W razie konieczności wartości zapisane w rejestrze są uaktualniane dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 51 / 53
Podsumowanie; co trzeba zapamiętać? po co stosujemy mechanizmy sterowania dostępem? dwa podejścia: PBAC i MBAC algorytmy sterowania dostępem, np. suma prosta lub mierzona po co sterujemy ruchem? co to jest kontrakt ruchowy? dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 52 / 53
Podsumowanie; co trzeba zapamiętać? jak działa IntServ i DiffServ? czym jest szeregowanie pakietów? po co stosujemy mechanizmy szeregowania pakietów? FIFO/FQ/RR? dr inż. Jerzy Domżał (AGH) Wprowadzenie do sieci z gwarancją obsługi 17 października 2016 r. 53 / 53