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

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Addbot (dyskusja | edycje)
m Bot: Przenoszę linki interwiki (1) do Wikidata, są teraz dostępne do edycji na d:q386456
PG (dyskusja | edycje)
WP:SK+mSK+ToS, drobne redakcyjne, szablon
Linia 1:
{{dopracować|źródła=2020-09}}
'''HTB''' ([[język angielski|ang.]] ''Hierarchical Token Bucket, HTB''') to [[algorytm]] hierarchicznego podziału łącza.
Umożliwia on:
* podział pasma na klasy;
* przyporządkowanie różnego rodzaju [[pakiet telekomunikacyjny|pakietów IP]] do odpowiednich klas według różnych kryteriów, na przykład według adresu odbiorcy, adresu nadawcy, wielkości pakietu, [[protokoły komunikacyjne|protokołu]] itp.;
* nałożenie reguł i ograniczeń na przepływność dla poszczególnych klas.
 
HTB zostało włączone do [[Linux (jądro)|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'' ma wiele znaczeń, najlepiej jednak jest go rozumieć w kontekście sterowania natężenia ruchu 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” ([[język angielski|{{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 [[Przepustowość|prędkości transmisji]] w odniesieniu do różnorodnej wielkości napływających pakietów danych.
 
== Zasada działania algorytmu ''Token Bucket'' ==
Linia 20:
 
Sytuacje które występują w algorytmie ''Token Bucket'':
* dane wchodzą do TBF ([[język angielski|{{ang.]] ''|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 do czynienia z przeciążeniem filtra. Pakiety danych mogą być wysyłane do chwili kiedy nie zostaną zużyte wszystkie żetony, które mogłyby 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
*Limit – liczba bajtów oczekujących na żetony (Tokens)
* MPU ([[język angielski|{{ang.]] ''|minimum packet unit''}}) – najmniejszy pakiet przetwarzany przez TBF
*Latency – maksymalny czas przebywania pakietu w kolejce TBF
* Rate – limit prędkości
*MPU ([[język angielski|ang.]] ''minimum packet unit'') – najmniejszy pakiet przetwarzany przez TBF
* Burst – liczba bajtów na żeton
*Rate – limit prędkości
*Burst Bufferliczbawielkość bajtówbufora na żetonżetony
*Buffer – wielkość bufora na żetony
 
== Zobacz też ==
* [[QoS]]
* [[CBQ]]
* [[IMQ]]
* [[HFSC]]
 
== Linki zewnętrzne ==
* [http://luxik.cdi.cz/~devik/qos/htb/ Strona Martina Devry o HTB] {{lang|en}}
* [http://alfa.tailor.com.pl/imqhtb/imq_htb.html Strona o IMQ i HTB] {{lang|pl}}
 
[[Kategoria:Algorytmy w telekomunikacji]]