Provided by: manpages-pl_20060617-4_all bug

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.