[ Pobierz całość w formacie PDF ]
.Oznacza to, że `wiadro' zostanie w końcu opróżnione z pustych żetonów, powodującprzez moment zwiększenie przepustowości.Nazywa się to `przekroczeniem limitu' i jeśli pakiety nadal będą napływały z niezmienną częstotliwością, niektóre będą odrzucane.Ostatni scenariusz jest bardzo ważny, ponieważ umożliwia kształtować przepustowość dostępną dla danych które przechodzą przez filtr.Akumulacja żetonów zapewnia pewnego rodzaju zapas bezpieczeństwa, który wykorzystany zostanie gdy pakiety zaczną nagle docierać z większą niż dotychczas częstotliwością.Wkońcu jednak, ciągłe obciążenie większe od maksymalnego zdefiniowanego spowoduje przeładowanie i pakiety zaczną być opózniane, a w końcu odrzucane.Proszę zauważyć, że w przedstawianej implementacji żetony odpowiadają bajtom a nie pakietom.Parametry i ich zastosowanieMimo, że zapewne nie będziesz potrzebował ich zmieniać, tbf udostępnia parę zmiennych kontrolnych.Po pierwsze, parametry dostępne zawsze:limit lub latency - limit lub opóznienieLimit to numer bajtów, które mogą zostać skolejkowane w oczekiwaniu na wolne żetony.Możesz również określić parametr wskazując opóznienie, określające maksymalnyczas jaki pakiet może spędzić w TBF.To drugie bierze pod uwagę rozmiar `wiadra', częstotliwość i ewentualnie (jeśli zostanie ustawione), częstotliwość szczytową.burst/buffer/maxburst - seria/bufor/maksymalna seriaRozmar `wiadra', w bajtach.Jest to maksymalna ilość bajtów dla których jednocześnie mogą być dostępne żetony.Generalnie, kształtowanie ruchu większych przepustowościwymaga większego bufora.Dla ruchu 10mbit/s na karcie Intel, potrzebujesz przynajmniej 10 kilobajtowego bufora, jeśli chcesz osiągnąć żądaną przepustowość!Jeśli bufor będzie za mały, pakiety mogą być odrzucane dlatego, że przepływa więcej żetonów na jednostkę zegara, niż mieści się w `wiadrze'.mpuPakiet długości zero bajtów nie zużywa zero przepustowości.Dla ethernetu, pusty pakiet zużywa mniej niż 64 bajty.Minimalna Jednostka Pakietu (ang.Minimum PacketUnit) określa minimalną zajętość żetona przez pakiet.rate - częstotliwośćmr0vka.eu.orgUstawienie szybkości.Zajrzyj do notatek powyżej o limitach!Jeśli `wiadro' zawiera żetony i nie może być puste, domyślnie pracuje z nieograniczoną prędkością.Jeśli jest to nieakceptowalne, użyj następujących parametrów:peakrate - częstotliwość szczytowaDomyślnie, jeśli dostępne są żetony a przybywają pakiety, są one natychmiast wysyłane.Może to nie być konkretnie to, czego chcesz, szczególnie jeśli masz duże `wiadro'.Parametr `peakrate' może zostać użyty do określenia jak szybko `wiadro' może być opróżniane.Jeśli go określisz, po wysłaniu pakietu odczekamy chwilę i wyślemy dopieronastępny - dzięki przeliczeniu przestrzeni czasowej między pakietami tak, aby wysyłać dokładnie tyle ile wynosi wartość tego parametru.Jednak ponieważ timer Unix'owy ma rozdzielczość tylko 10ms, otrzymując 10.000 bitów średniego ruchu ograniczeni jesteśmy do `peakrate' równej około 1mbit/s!mtu/minburstOczywiście `peakrate' równe 1mbit/s nie jest zbyt użyteczne, jeśli twój normalny ruch wynosi więcej.Większa wartość szczytowa możliwa jest do osiągnięcia przez wysyłaniewiększej ilości pakietów na jedną jednostkę zegara, co oznacza, że tworzymy drugie wiadro!To drugie wiadro domyślnie ma wielkość jednego pakietu, więc tak naprawdę nie jest wcale wiadrem.By wyliczyć maksymalną wartość szczytową, pomnóż skonfigurowane MTU przez 100 (lub, bardziej poprawnie, HZ, co oznacza 100 na platformie intelowskiej i 1024 naAlfie)
[ Pobierz całość w formacie PDF ]