next up previous contents
Następny: SFQ Nadrzędny: Kolejkowanie ruchu Poprzedni: PRIQ   Spis rzeczy


WFQ

Kolejkowanie ważone, w odróżnieniu od kolejkowania priorytetowego, traktuje ruch wychodzący nie jako ciąg pakietów, tylko jako zbiór strumieni (ang. flow) TCP. Podstawą protokołu TCP jest mechanizm gwarantujący dostarczenie pakietu do adresata. Jest on realizowany za pomocą szeregu potwierdzeń wysyłanych pomiędzy nadawcą i odbiorcą w trakcie komunikowania się. Odbiorca jest zobowiązany do wysłania potwierdzenia (ang. acknowledgment, w skrócie ACK) w momencie otrzymania pakietu. Kiedy to nie następuje lub od czasu wysłania przez nadawcę danych do momentu otrzymania potwierdzenia upływa zbyt dużo czasu, nadawca ponawia wysyłanie pakietów. Taka obustronna komunikacja, trwająca od momentu jej rozpoczęcia do chwili uzgodnienia przez oba komputery jej zakończenia, nosi nazwę strumienia TCP[*]. Choć w praktycznych implementacjach, głównie ze względu na efektywność, powyższy algorytm jest nieco zmodyfikowany (np. poprzez wprowadzenie pojęcia przesuwającego się okna), główna idea pozostaje niezmieniona. Pojedynczy strumień jest identyfikowany poprzez parę nadawca -- odbiorca, opisywanych przy pomocy par (adres-komputera:port-usługi). Dokładniejsze informacje na temat własności i budowy protokołu TCP można znaleźć w [6] oraz [21], natomiast dotyczące wykorzystania własności TCP w rozładowywaniu zatorów w [1]. W opisywanej metodzie kolejkowania pakiety związane z pojedynczym strumieniem są umieszczane w tej samej, dynamicznie tworzonej kolejce, zaś każdemu strumieniowi odpowiada oddzielna kolejka. Strumieniom w sposób arbitralny i zależny od implementacji przypisywana jest waga zależna np. od liczby przesłanych bajtów. Kolejki przegląda się cyklicznie i z każdej wysyła się w danym cyklu liczbę pakietów proporcjonalną do przypisanej wagi. W sytuacji przepełnienia kolejek porzucane są nowo przybyłe pakiety bez względu na wagę kolejki. Niewątpliwą zaletą kolejkowania ważonego jest jego sprawiedliwość. Każdy strumień zostanie obsłużony, niestety trudno jest dokładnie określić kiedy. W sytuacji, w której nawiązywane są coraz to nowe połączenia liczba kolejek może rosnąć nieograniczenie i tym samym czas upływający pomiędzy dwoma kolejnymi cyklami wysyłania pakietów z kolejki będzie rósł, co w przypadku niektórych rodzajów transmisji jest niekorzystne.


ĂAßNžMş=ÝtšxÍh‹m“2Í1Ý ß ˇRşFÂ"‘o›eÇ.—t’lÝ>¨FŽ<ĐAÁ ĂLś>ĂAßNžMş=ÝtšxÍh‹m“2Í2Ý ß ˇRşFÂ"‘o›eĆ.—t’lÝ>ŹFŽ<ĐAÁ ĂLś>ĂAßNžMş=ÝtšxÍh‹m“2Í3Ý ß ˇRşFÂ"‘o›eÎ0Ńh‹m“"ÁT˝FĂ/ž>ő<łIÁ<ž ąA˛EÂ"‹e‡2—t’lÍ2Ë"ő ßH­Eš=Ýndš1Î.—t’lÝ>­Eť<ĐAÁ ĂLś>ĂAßNžMş=ÝtšxÍh‹m“2Í5Ý ß ˇRşFÂ"‘o›eÎ2Ńh‹m“"ÁC˝QĂ/ž>ő<łIÁ<ž ąA˛EÂ"‹e‡2—t’lÍ2É"ő ßH­Eš=Ýndš1Ě.—t’lÝ>Żo›sŠmwžn–eĂ/ž>ő<ĐUł>ő<Ţ-ŇE‘dßo™ Ťalš fßC—i“dŇL–n”sŇ-Á ĂH­>ő<Ţ-ŇNžv–gžt–o‘ Ża‘e“-Ň>ő<ž ąA˛EÂ"‹e‡2—t’lÍ1Ç"ő ßH­Eš=Ýndš7Ńh‹m“"Á ĂI˛GßWśDŤHÂ"Ě7Ý ˇEśGˇTÂ"Í4Ý žLśGą=ÝB°TŤO˛"ßB°RťE­=Ý0Ý žLŤ=Ýnšx‹"ßS­CÂ"‘e‡tŃp‘gÝ>Ă/ž>ß ĂAßNžMş=ÝtšxÍh‹m“2Î4Ý ß ˇRşFÂ"‘o›eË.—t’lÝ>ő<śM¸ ¨IťTˇ=Ý2É"ßHşI¸HŤ=Ý2Ë"ßAłI¸NÂ"˝OŤT°MÝ ˝O­DşRÂ"Ď"ßAłTÂ"ŠpÝ ŹRź=Ýu.n˜"Á<ĐAÁ ő<ž ąA˛EÂ"‹e‡2—t’lÍ0Ç"ő ßH­Eš=Ýndš5Ńh‹m“"Á ĂI˛GßWśDŤHÂ"É3Ý ˇEśGˇTÂ"Í4Ý žLśGą=ÝB°TŤO˛"ßB°RťE­=Ý0Ý žLŤ=Ýpe‰iuŒ"ßS­CÂ"ršvŃp‘gÝ>Ă/ž>ß ĂAßNžMş=ÝtšxÍh‹m“2Î