M      B’DC'"'" 'šjjjjcb'"'" )§žD°pľČJbAoźš''xx'FsUH @Ô•U#UU# Ą#ĄĄ###ĄĄĄĄĄ MĄ ´tMl×B  M:M#     ## ####  n" CONTENT="global"> next up previous contents
Następny: Podsumowanie Nadrzędny: Kolejkowanie ruchu Poprzedni: RED   Spis rzeczy


CBQ

Kolejkowanie na podstawie klasy (CBQ) jest techniką, w której starano się połączyć zalety wszystkich do tej pory omawianych metod. Podstawowym pojęciem jest pojęcie klasy ruchu (ang. traffic class). Klasę ruchu można wyodrębnić na podstawie wielu parametrów. Należą do nich m.in: Jedna klasa może zatem obejmować pojedyncze komputery, bądź całe sieci, konkretne usługi, bądź całe ich grupy, strumienie TCP itd. W takim ujęciu klasa ruchu jest uogólnieniem pojęcia strumienia. Możliwe jest również dzielenie już zdefiniowanych klas na podklasy. W rezultacie wykorzystując CBQ można zbudować bardzo złożone drzewa zależności pomiędzy różnymi rodzajami ruchu. W praktyce oznacza to, że dostępne pasmo jest dzielone na fragmenty, każdy przypisany innej klasie. Każdej klasie jest przypisana jedna z metod kolejkowania opisanych w paragrafach 2.2.1-2.2.5. Ponadto istotnym składnikiem całego mechanizmu jest algorytm decydujący o tym, z której klasy w danej chwili pakiety mogą być wysyłane, jeżeli oczywiście pozwala na to metoda kolejkowania przypisana klasie. Działanie CBQ jest zatem dwustopniowe. Niezależnie od decyzji podejmowanych w obrębie klasy przez metodę kolejkowania jej przypisaną, w jakiś sposób trzeba przełączać sterowanie pomiędzy klasami. Najczęściej stosowanym rozwiązaniem jest ważony algorytm karuzelowy. Dokładniejsze studium poświęcone zagadnieniu wyboru klasy znaleźć można w pracy [10]. Dla prawidłowego działania metody potrzebny jest jeszcze algorytm szacujący faktyczne zapełnienie pasma przez pakiety należące do danej klasy. W opracowaniach dotyczących CBQ określa się go mianem estymatora CBQ (ang. CBQ estimator). Jego zadanie polega na określaniu różnicy pomiędzy przedziałami czasu wynikającymi z założonej wielkości pasma przypisanej klasie, a faktycznie mierzonymi odstępami upływającymi między dwoma kolejnymi zdarzeniami wysłania pakietu. Na podstawie tej różnicy estymator określa stopień wykorzystania przypisanego klasie pasma i ewentualnie oznacza ją jako przeciążoną (ang. overlimit). Informacja ta w następnej kolejności jest wykorzystywana przez algorytm wyboru klasy. Ogólnie sposób działania metody CBQ jest następujący:

W pierwszej kolejności pakietowi, który ma zostać wysłany przypisuje się klasę, której warunki przynależności spełnia. W zależności od metody kolejkowania przypisanej danej klasie pakiet jest wstawiany do kolejki lub porzucany. W międzyczasie estymator oblicza chwilowe obciążenie pasma danej klasy i w sytuacji przeciążenia odpowiednio ją oznakowuje. Pakiety z klas nieprzeciążonych wysyłane są zgodnie z własnościami metody kolejkowania przypisanej klasie. Estymator ponownie szacuje zajętość pasma i cały cykl się powtarza. Złożoność metody oraz fakt, że opiera się ona na innych sposobach kolejkowania sprawiają, że jest to mechanizm najbardziej zaawansowany i dostarczający największych możliwości, niestety niełatwy w implementacji.


next up previous contents
Następny: Podsumowanie Nadrzędny: Kolejkowanie ruchu Poprzedni: RED   Spis rzeczy
Marcin Kaszyński, Krzysztof Lorek