Hierarchical Token Bucket: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
Nie podano opisu zmian
GaZeL (dyskusja | edycje)
Nie podano opisu zmian
Linia 8:
HTB zostało włączone do jądra Linuksa poczynając od wersji 2.4.20. Koncepcję HTB opracował i dokonał pierwszej implementacji Martin Devera.
 
Zbliżone cechy posiada inny algorytm kolejkowania – [[CBQ]] (ang. ''Class Based Queueing'').
 
'''Token Bucket'''
Algorytm Token Bucket na wiele znaczeń najlepiej jednak jest to rozumieć w kontekście sterowania natężenia ruchem w sieci lub ograniczania pasma. Algorytm jest wykorzystywany do kontrolowania ilości danych transmitowanych w sieci, pozwalając na szybsze ich wysłanie.
 
Algorytmy sterowania natężeniem ruchu
Istnieją dwie dominujące metody sterowania ruchem: model „cieknącego wiadra” (ang. Leaky Bucket) i model „wiadra z żetonami” (ang. Token Bucket). Często algorytm Leaky Bucket utożsamiany jest niesłusznie z algorytmem Token Bucket. Obydwa modele mają odrębne działanie i są używane do różnych celów. Ich różnica polega głównie na tym, że algorytm Leaky Bucket nakłada duży limit na szybkość transmitowanych danych, podczas gdy algorytm Token Bucket pozwala na dokładne ustalenie ograniczenia prędkości transmisji w odniesieniu do różnorodnej wielkości napływających pakietów danych.
 
Zasada działania algorytmu Token Bucket
 
Token Bucket to mechanizm kontrolujący, który dyktuje kiedy pakiety danych mogą być przesłane. Token Bucket posługuje się wzorcem w postaci bufora –kubełka (Bucket), do którego wpadają „żetony” (Tokens) z określonym administracyjnie natężeniem. Wysyłanie określonych porcji danych z kolejki powoduje skasowanie żetonu z kubełka. Przepływ danych może więc opróżnić kubełek z żetonów i na skutek tego zostać chwilowo wstrzymany, ograniczając pasmo. Jego brak czy spowolnienie może wypełnić bufor żetonami (tylko do pojemności bufora), pozostawiając pewną rezerwę na chwilowy wzrost natężenia ruchu.
Sytuacje które występują w algorytmie Token Bucket:
- dane wchodzą do TBF (Token Bucket Filter) z natężeniem przepływu żetonów. Wówczas każda porcja ma swój odpowiadający żeton i przechodzi przez filtr.
- dane wchodzą do TBF z natężeniem przepływu mniejszym niż żetony. Ponieważ tylko część żetonów jest „zabierana” przez wychodzące dane, kubełek wypełnia się niewykorzystanymi żetonami.
- jeżeli natężenie danych jest większe niż ustalone natężenie żetonów to mamy doczynienia z przeciążeniem filtra. Pakiety danych mogą być wysyłane do chwili kiedy nie zostaną zużyte wszystkie żetony, które mogły by się tam nagromadzić. Jeżeli w kubełku nie ma już żetonów pakiety są kasowane.
 
 
Parametry związane z algorytmem
Limit –liczba bajtów oczekujących na żetony (Tokens)
Latency –maksymalny czas przebywania pakietu w kolejce TBF
MPU (minimum packet unit) –najmniejszy pakiet przetwarzany przez TBF
Rate –limit prędkości
Burst –liczba bajtów na żeton
Buffet –wielkość bufora na żetony
 
 
===Zobacz też===