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ş=ÝtxÍhm2Í1Ý
ß ˇRşFÂ"oeÇ.tlÝ>¨FŽ<ĐAÁ
ĂLś>ĂAßNžMş=ÝtxÍhm2Í2Ý
ß ˇRşFÂ"oeĆ.tlÝ>ŹFŽ<ĐAÁ
ĂLś>ĂAßNžMş=ÝtxÍhm2Í3Ý
ß ˇRşFÂ"oeÎ0Ńhm"ÁT˝FĂ/ž>ő<łIÁ<ž ąA˛EÂ"e2tlÍ2Ë"ő ßHEš=Ýnd1Î.tlÝ>Eť<ĐAÁ
ĂLś>ĂAßNžMş=ÝtxÍhm2Í5Ý
ß ˇRşFÂ"oeÎ2Ńhm"ÁC˝QĂ/ž>ő<łIÁ<ž ąA˛EÂ"e2tlÍ2É"ő ßHEš=Ýnd1Ě.tlÝ>ŻosmwneĂ/ž>ő<ĐUł>ő<Ţ-ŇEdßo Ťal fßCidŇLnsŇ-Á
ĂH>ő<Ţ-ŇNvgto Żae-Ň>ő<ž ąA˛EÂ"e2tlÍ1Ç"ő ßHEš=Ýnd7Ńhm"Á
ĂI˛GßWśDŤHÂ"Ě7Ý ˇEśGˇTÂ"Í4Ý žLśGą=ÝB°TŤO˛"ßB°RťE=Ý0Ý žLŤ=Ýnx"ßSCÂ"etŃpgÝ>Ă/ž>ß
ĂAßNžMş=ÝtxÍhm2Î4Ý
ß ˇRşFÂ"oeË.tlÝ>ő<śM¸ ¨IťTˇ=Ý2É"ßHşI¸HŤ=Ý2Ë"ßAłI¸NÂ"˝OŤT°MÝ ˝ODşRÂ"Ď"ßAłTÂ"pÝ ŹRź=Ýu.n"Á<ĐAÁ ő<ž ąA˛EÂ"e2tlÍ0Ç"ő ßHEš=Ýnd5Ńhm"Á
ĂI˛GßWśDŤHÂ"É3Ý ˇEśGˇTÂ"Í4Ý žLśGą=ÝB°TŤO˛"ßB°RťE=Ý0Ý žLŤ=Ýpeiu"ßSCÂ"rvŃpgÝ>Ă/ž>ß
ĂAßNžMş=ÝtxÍhm2Î