Provided by:
manpages-pl_20060617-4_all 
NAZWA
tc - poka / manipuluj ustawieniami sterowania przeplywem
SK/LADNIA
tc qdisc [ add | change | replace | link ] dev DEV [ parent qdisc-id |
root ] [ handle qdisc-id ] qdisc [ specyficzne parametry ]
tc class [ add | change | replace ] dev DEV parent qdisc-id [ classid
class-id ] qdisc [ specyficzne parametry ]
tc filter [ add | change | replace ] dev DEV [ parent qdisc-id | root ]
protocol protocol prio priority filtertype [ specyficzne parametry ]
flowid flow-id
tc [-s | -d ] qdisc show [ dev DEV ]
tc [-s | -d ] class show dev DEV
tc filter show dev DEV
OPIS
Tc uywane jest do konfigurowania Sterowania Przeplywem w jdrze Linux.
Sterowanie Przeplywem sklada si z:
CICIA (SHAPING)
Gdy ruch jest przycinany to pod kontrol jest czsto jego
transmisji. Przycinanie moe by czym wicej ni tylko zmniejszaniem
dostpnego pasma - bywa take uywane w celu wygladzenia naglych
przyrostow ruchu, aby sie jako calo dzialala lepiej. Cicia
pasma nastpuje zawsze na wyjciu interfejsu sieciowego.
SZEREGOWANIA (SCHEDULING)
Poprzez szeregowanie transmisji pakietow moliwym staje si
zwikszenie interaktywnoci ruchu, ktory tego wymaga, przy
jednoczesnym gwarantowaniu pasma dla duych transferow. Takie
porzdkowanie kolejnoci bywa rownie nazywane priorytetyzacj i
nastpuje tylko i wylcznie na wyjciu.
NADZOROWANIA (POLICING)
Tak jak cicie pasma dotyczy transmitowania ruchu tak
nadzorowanie i preselekcja odnosi si do ruchu, ktory przychodzi.
Selekcjonowanie zachodzi na wejciu.
ODRZUCANIA (DROPPING)
Ruch o nateniu przekraczajcym ustalone pasmo moe by odrzucany
zarowno na wejciu jak i na wyjciu.
Przetwarzanie ruchu jest kontrolowane przez trzy rodzaje obiektow:
dyscypliny kolejkowania (qdiscs), klasy (classes), oraz filtry
(filters).
QDISCS
qdisc jest skrotem od 'queueing discipline' (dyscyplina kolejkowania) i
jest pojciem podstawowym w rozumieniu sterowania przeplywem. Jeli
kiedykolwiek jdro chce wysyla pakiet do interfejsu sieciowego to pakiet
ten jest kolejkowany przy pomocy odpowiedniego obiektu qdisc
skonfigurowanego dla tego interfejsu. Zaraz potem jdro probuje pobra
moliwie najwiksz ilo pakietow z obiektu qdisc (z - nazwijmy umownie -
wyjcia z kolejki), aby przekaza je sterownikowi karty sieciowej.
Prostym QDISC jest kolejka 'pfifo', ktora wcale nie dokonuje
przetwarzania naplywajch pakietow i jest tylko czyst kolejk FIFO
(pierwszy na wejciu, pierwszy na wyjciu). Jej jedyne zadanie to
przetrzymywanie pakietow w krotkich chwilach, gdy interfejs sieciowy
nie moe ich obsluy.
KLASY
Niektore obiekty dyscypliny kolejkowania (qdisc) nie s takie proste jak
opisany powyej i mog zawiera w sobie tak zwane klasy. Klasy te s z
kolei swoistymi kontenerami dla innych obiektow qdisc - ruch moe by wic
kolejkowany w kadym innym obiekcie qdisc, ktory naley do tych
zdefiniowanych wewntrz klas. Gdy jdro probuje zdj pakiet z takiego
klasyfikujcego qdisc to moe on pochodzi z ktorejkolwiek z nalecych do
qdisc klas. Dla przykladu qdisc moe priorytetyzowa pewn cz ruchu
poprzez usilowanie zdjcia pakietow z jednych ze swych kolejek wczeniej
ni z innych.
QDISC A KLASY
Chocia istniej obiekty qdisc (dyscypliny kolejkowania), ktore mog w
sobie zawiera klasy to nie naley utosamia pojcia qdisc z pojciem klasy.
Klasa jest swoistym slotem, w ktorym mona osadzi potomne qdisc. Klasa
sama w sobie nie jest obiektem kolejkujcym.
ALGORYTMY KOLEJKOWANIA
Niektore opracowania i tlumaczenia posluguj si terminem Algorytmy
Kolejkowania. Algorytm kolejkowania to innymi slowy logika dzialania
danego typu qdisc, czyli w praktyce uytej kolejki pakietow. Algorytm
kolejkowania moe by elementarny lub zloony. Elementarne (podstawowe)
algorytmy kolejkowania obecne s w kolejkach, ktore wyspecjalizowane s w
sterowaniu przeplywajcym przez dan kolejk ruchem pakietow. Nie mamy w
takich kolejkach do czynienia z niczym ponad stosowanie pewnego
algorytmu do zarzdzania przeplywnoci tego co do kolejki przychodzi.
Algorytmy zloone to jak sugeruje nazwa takie, ktore stanowi logik
obiektow qdisc zawierajcych w sobie wicej ni jeden obiekt, a dokladnie
wiele obiektow opartych na elementarnych algorytmach. Przykladem
implementacji zloonego algorytmu moe by obiekt qdisc zawierajcy klasy,
a opisany wczeniej.
FILTRY
Filtr jest uywany przez kolejki klasyfikujce by okreli do jakiej
konkretnie kolejki pakiet powinien trafi. Gdy na wejciu kolejki
zawierajcej podklasy pojawia si ruch to ruch ten musi zosta
sklasyfikowany. Aby to osign moemy zastosowa wiele ronych metod. Jedn z
tych metod przydzielania ruchu spelniajcego jakie kryteria do
konkretnych podklas jest wlanie uycie filtrow. Filtry przydzielamy do
obiektow qdisc. Wszystkie podlczone filtry s uruchamiane (tzn. kady
pakiet podlegajcy danej dyscyplinie kolejkowania jest z nimi
porownywany), a do momentu a bdzie pasowal do jakiego filtra i powroci
z werdyktem. Jeli aden filtr nie "zlapal" pakietu to mog by brane pod
uwag jeszcze inne kryteria. Zaley to od typu qdisc.
Jest bardzo istotnym by zauway, e filtry s obecne wewntrz obiektow
qdisc - one bezporednio nie decyduj o tym co si stanie.
BEZKLASOWE QDISC
Bezklasowe obiekty qdisc (bazujce na elementarnych algorytmach
kolejkowania) s to:
[p|b]fifo
Najprostszy moliwy do zastosowania obiekt qdisc, czyste
zachowanie FIFO - pierwszy na wejciu - pierwszy na wyjciu.
Moliwy limit to pakiety lub bajty.
pfifo_fast
Standardowy obiekt qdisc jeli jdro skompilowano z opcj 'Advanced
Router'. Zawiera trojwstgow kolejk, ktora honoruje flagi Typu
Uslugi (TOS), tak jak i priorytet, ktory moe zosta przypisany do
pakietu.
red Losowa Wczesna Detekcja (ang. Random Early Detection - w skr.
RED) symuluje fizyczne przecienia losowo porzucajc pakiety, gdy
natenie ruchu zblia si do ustalonego limitu. Dobrze radzi sobie
ze sterowaniem ruchem masowym, czyli zawierajcym due transfery w
duej iloci.
sfq Stochastyczne Sprawiedliwe Kolejkowanie (ang. Stochastic
Fairness Queueing - w skr. SFQ) tak szereguje kolejkowany ruch,
eby kada 'sesja' miala tak sam zdolno transmisji.
tbf Filtr Kubelka etonow (ang. The Token Bucket Filter - w skr. TBF)
jest przewidziany do spowalniania ruchu do precyzyjnie okrelonej
czstoci. wietnie si skaluje do duych szerokoci pasm.
KONFIGUROWANIE BEZKLASOWYCH QDISC
Jeli nie jest obecny klasyfikujcy obiekt qdisc, wtedy bezklasowe
obiekty qdisc mog zosta skojarzone tylko z interfejsem sieciowym. Tylko
jednen taki bezklasowy qdisc moe by przylczony do jednego urzdzenia
sieciowego bezporednio. Pelna skladnia:
tc qdisc add dev DEV root QDISC PARAMETRY-QDISC
By usun wprowad
tc qdisc del dev DEV root
Obiekt qdisc typu pfifo_fast jest ustawiany automatycznie jako domylny
qdisc dla kadego interfejsu sieciowego, jeli nic jeszcze nie zostalo
odpowiednio skonfigurowane.
KLASYFIKUJCE QDISC
Klasyfikujce obiekty qdisc to:
CBQ Kolejkowanie Bazujce na Klasach (ang. Class Based Queueing)
implementuje bogat hierarchi klas dla dzielenia pasma. Zawiera
ono elementy przycinajce ruch, jak i moliwoci priorytetyzacji.
Przycinanie jest przeprowadzane przy pomocy wyliczania czasu
bezczynnoci lcza. Obliczenia bazuj na redniej wielkoci pakietu
i szerokoci dostpnego pasma na najniszej warstwie lcza. Ten
ostatni parametr moe by trudno definiowalny dla niektorych typow
interfejsow sieciowych.
HTB Hierarchiczny Kubelek etonow (ang. The Hierarchy Token Bucket)
implementuje bogat hierarchi klas, kladc szczegolny nacisk na
zgodno z istniejcymi praktykami. Udogodnienia HTB gwarantuj
pasmo dla klas i jednoczenie pozwalaj specyfikowa wysokie limity
dzielenia midzy klasami. HTB zawiera elementy przycinania pasma
bazujce na TBF i moe priorytetyzowa podczepione klasy.
PRIO Obiekty qdisc typu PRIO s nieprzycinajcymi kontenerami dla
konfigurowalnej liczby podklas, ktorych kolejki s oproniane w
kolejnoci. Pozwala to prostym sposobem wlczy priorytetyzacj
ruchu, gdzie klasy o niszym priorytecie mog tylko wysyla, jeli
klasy o priorytecie wyszym nie maj ju pakietow do wyslania. By
ulatwi konfiguracj, domylnym kryterium s bity Typu Uslugi (TOS)
z pakietow.
SPOS'OB DZIA/LANIA
Klasy tworz drzewo, gdzie kada klasa ma jednego rodzica. Klasa moe mie
wiele potomkow. Niektore obiekty qdisc pozwalaj na dodawanie podklas w
trakcie dzialania (CBQ, HTB), podczas gdy inne (PRIO) s tworzone ze
statyczn liczb potomkow.
Obiekty qdisc pozwalajce na dynamiczne dodawanie podklas mog mie ich
zero lub wicej. Do tych podklas kierowany bdzie potem ruch.
Ponadto, kada klasa zawiera tak zwan kart qdisc ktora domylnie
zachowuje si jak pfifo a kady dodawany do klasy obiekt qdisc aplikowany
jest przed kart. Qdisc moe znow zawiera klasy, lecz kada klasa moe mie
tylko jedn tak kart. Pod pojciem karty rozumiemy tu domylnie
aktywowany sposob kolejkowania, ktory jest potem zastpowany przez ten
ju skonfigurowany.
Gdy pakiet wchodzi do klasyfikujcego obiektu qdisc to moe by
sklasyfikowany i trafi do jednej z zawartych podklas. S tu dostpne trzy
kryteria, chocia nie wszystkie obiekty qdisc uywaj wszystkich trzech:
tc filtry
Jeli do klasy przylczone s filtry tc to s one rozpatrywane w
pierwszej kolejnoci. Filtr moe by uczulony na dowolne pola
naglowka pakietu, jak i na znacznik zapory ogniowej (fwmark)
dodany przez mechanizmy ipchains lub iptables dzialajce w jdrze.
Zobacz take tc-filters(8).
Typ Uslugi (TOS)
Niektore obiekty qdisc maj wbudowane reguly do klasyfikowania
pakietow bazujc na polu TOS.
skb->priority
Programy dzialajce w przestrzeni uytkownika mog zakodowa
identyfikator danej klasy, ktora powinna by uyta w odniesieniu
do wysylanych przez program pakietow. Znacznik ten nazywa si
'skb->priority' i mona go ustawi przy pomocy opcji SO_PRIORITY.
Kady wzel wewntrz drzewa moe posiada swoje wlasne filtry, lecz filtry
wyszego poziomu mog take wskazywa bezporednio na nisze klasy.
Jeli klasyfikacja nie powiedzie si to pakiety s kolejkowane do karty
qdisc podlczonej do danej klasy. Przeczytaj jednak specyficzne
podrczniki, aby uzyska wicej szczegolow.
NAZEWNICTWO
Wszystkie obiekty qdisc, klasy i filtry maj IDentyfikatory, ktore mog
by albo wyspecyfikowane jawnie, albo te przydzielone automatycznie.
IDentyfikatory skldaj si z dwoch numerow: glownego i dodatkowego.
Numery te s oddzielone znakiem dwukropka. Numer glowny specyfikuje
obiekt nadrzdny qdisc, za numer dodatkowy obiekt bdcy potomkiem.
QDISCS Obiekt qdisc, ktory potencjalnie moe posiada klasy zajmuje
przypisany mu numer glowny, zwany uchwytem (handle), zostawiajc
przestrze nazw numeru dodatkowego dla swych podklas. Uchwyt
jest wyraany np. jako '10:'. Jest w zwyczaju dokladne
przypisywanie uchwytu do qdisc, ktory bdzie mial pod sob
potomkow.
KLASY Klasy rezydujce pod qdisc dziel z obiektem macierzystym numer
glowny, lecz kada z klas posiada oddzielny numer dodatkowy
nazywany identyfikatorem klasy (classid). Identyfikator klasy
nie ma zwizku z klas macierzyst, tylko i wylcznie z macierzystym
obiektem qdisc. Stosuje si takie samo nazewnictwo jak przy
qdisc.
FILTRY Filtry maj trzyczciowe IDentyfikatory, ktore s potrzebne tylko
wowczas, gdy uywamy hierarchii filtrow opartej na tablicy
haszujcej Wicej o tym moesz przeczyta w tc-filters(8).
JEDNOSTKI
Wszystkie parametry akceptuj zapis zmiennoprzecinkowy, z moliwoci
zakoczenia go jednostk.
Pasma lub czstoci mog zosta podane w:
kbps Kilobajtach na sekund
mbps Megabajtach na sekund
kbit Kilobitach na sekund
mbit Megabitach na sekund
bps lub czysta liczba
Bitach na sekund.
Ilo danych moe by podana w:
kb or k
Kilobajtach
mb or m
Megabajtach
mbit Megabitach
kbit Kilobitach
b lub czysta liczba
Bajtach.
Dlugoci czasu mog by wyspecyfikowane w:
s, sec or secs
calkowitej liczbie sekund
ms, msec or msecs
Milisekundach
us, usec, usecs lub czysta liczba
Mikrosekundach.
POLECENIA TC
Ponisze polecenia s dostpne dla obiektow qdisc, klas i filtrow:
add Dodaje qdisc, klas lub filtr do wzla. Dla wszystkich encji musi
by podany rodzic (parent) albo przez przekazanie jego
IDentyfikatora, albo przez dolczenie bezporednio do bazowego
urzdzenia sieciowego.
Podczas tworzenia qdisc lub filtra moemy nada nazw uywajc jako
parametru uchwytu (handle) Klasy za mog by nazywane przy uyciu
parametru zwanego identyfikatorem (classid)
remove Obiekt qdisc moe by usunity przez podanie jego uchwytu, ktorym
moe by rownie 'root'. Wszystkie podklasy i ich karty qdisc s
automatycznie usuwane, podobnie jak przypisane filtry.
change Niektore encje mog zosta zmodyfikowane 'na miejscu'. Skladnia
taka jak w przypadku 'add', z tym wyjtkiem, e nie mona zmienia
uchwytu, podobnie zreszt jak rodzica. Innymi slowy, change nie
moe sluy do usuwania wzla.
replace
Dokonuje niemal atomowej operacji remove/add na istniejcym wle o
podanym identyfikatorze. Jeli wzel nie istnieje jeszcze to jest
tworzony.
link Dostpne tylko dla qdisc. Dokonuje zastpienia (replace) na ju
istniejcym wle.
HISTORIA
tc zostalo napisane przez Alexeja N. Kuznetsova i dodane w jdrach Linux
2.2.
ZOBACZ TAKE
tc-cbq(8), tc-htb(8), tc-sfq(8), tc-red(8), tc-tbf(8), tc-pfifo(8),
tc-bfifo(8), tc-pfifo_fast(8), tc-filters(8)
AUTHOR
Stron podrcznika utrzymuje bert hubert (ahu@ds9a.nl) Niewielkie
rozszerzenia i tlumaczenie na jzyk polski napisal pawel wilk
(siefca@gnu.org)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.