Forgalomir�ny�t�s tcng �s HTB seg�ts�g�vel HOGYAN1.0 v�ltozatMartin A. Brown

   [1]SecurePipe, Inc.
   Network Administration

   mabrown@securepipe.com

   2003 �prilis
   Verzi�t�rt�net
   Verzi�: 1.0 2003.04.16 �tdolgozta: tab
   Az LDP �ltal j�v�hagyott Els� kiad�s.
   Verzi�: 0.5 2002.04.01 �tdolgozta: MAB
   A doksit �tneveztem HOGYANra, a TLDP-hez el�terjesztve.
   Verzi�: 0.4 2002.03.31 �tdolgozta: MAB
   �j p�lda, bucket gyorstalpal�.
   Verzi�: 0.3 2002.03.16 �tdolgozta: MAB
   Jav�t�sokat �s jegyzeteket �rt: Jacob Teplitsky, raptor �s Joshua
   Heling.
   Verzi�: 0.2 2002.03.15 �tdolgozta: MAB
   Hivatkoz�sok hozz�ad�sa, fazonigaz�t�s, publik�l�s.
   Verzi�: 0.1 2002.03.14 �tdolgozta: MAB
   Els� kiad�s.
     _________________________________________________________________

   Tartalomjegyz�k
   1. [2]Szerz�i jog �s licenc

        1.1. [3]Magyar ford�t�s

   2. [4]Bevezet�s

        2.1. [5]A forgalomir�ny�t�s fogalma �s m�k�d�se
        2.2. [6]Mi az a HTB?
        2.3. [7]Mi is az a tcng?

   3. [8]K�vetelm�nyek

        3.1. [9]Rendszermag k�vetelm�nyek
        3.2. [10]tc k�vetelm�nyek
        3.3. [11]tcng k�vetelm�nyek

   4. [12]Be�ll�t�si p�ld�k

        4.1. [13]tcng haszn�lata csak a let�lt�sek alak�t�s�hoz
        4.2. [14]A k�tsebess�g� h�romsz�n� m�r��ra haszn�lata

   5. [15]Egy�b megjegyz�sek
   6. [16]Tov�bbi le�r�sok �s hivatkoz�sok

1. Szerz�i jog �s licenc

� 2003, Martin A. Brown

A dokumentum szabadon m�solhat�, terjeszthet� �s m�dos�that�, az FSF �ltal
k�zz�tett GNU Szabad Dokument�ci�s Licenc v1.1, vagy annak k�s�bbi
v�ltozat�ban szerepl� felt�telek szerint. A licenc egy m�solata
megtal�lhat� a [17]www.gnu.org/copyleft/fdl.html honlapon.
     _________________________________________________________________

1.1. Magyar ford�t�s

A magyar ford�t�st [18]V�lgyi P�ter k�sz�tette (2004.02.29). A lektor�l�st
[19]Daczi L�szl� v�gezte el (2004.03.11). A dokumentum legfrissebb v�ltozata
megtal�lhat� a [20]Magyar Linux Dokument�ci�s Projekt honlapj�n.
     _________________________________________________________________

2. Bevezet�s

Ez a dokumentum r�vid �ttekint�st ad a tcng ([21]Traffic Control - Next
Generation; k�vetkez� gener�ci�s forgalomir�ny�t�s ) HTB-vel
([22]Hierarchical Token Bucket) val� haszn�lat�r�l, mely eszk�z�k
seg�ts�g�vel a Linux rendszeren forgalomszab�lyoz�st v�gezhet�nk.

Ez a gyakorlatsor els�sorban olyan rendszergazd�knak k�sz�lt, akik:

     * LEGAL�BB alapszint� forgalomir�ny�t�si ismeretekkel rendelkeznek,
     * forr�sb�l tudj�k FORD�TANI az iproute2 �s a tcng csomagokat, vagy
       Ugyanezen csomagokat SRPM-b�l telep�teni,
     * Az �ltaluk haszn�lt rendszer modul�ris szerkezet� rendszermagja
       t�mogatja a HTB �s DSMARK modulokat,
       VAGY k�pesek rendszermagot ford�tani ezeknek a t�mogat�s�ra.

   Megjegyz�s

   Ez a doksi nem �tfog� �s nem m�rt�kad�. A szerz� v�rja mind a
   pozit�v, mind a negat�v v�lem�nyeket a <[23]mabrown@securepipe.com>
   e-mail c�men. A helyreigaz�t�sokat, kieg�sz�t�seket is sz�vesen veszi.
     _________________________________________________________________

2.1. A forgalomir�ny�t�s fogalma �s m�k�d�se

A forgalomir�ny�t�s egy h�l�zaton, vagy h�l�zati eszk�z�n t�rt�n� teljes
csomag-v�rakoz�sor (packet queuing) alrendszer �sszefoglal� neve. A
forgalomir�ny�t�s t�bb m�veletb�l tev�dik �ssze. Az oszt�lyoz�s
(classifying) sor�n t�rt�nik a csomagok azonos�t�sa, majd egyedi
v�rakoz�sorokba, oszt�lyokba rendez�se. Az enged�lyez�s (policing) az
oszt�lyoz�snak megfelel� adatfolyamban a csomagok vagy b�jtok sz�m�nak
szab�lyoz�s�t jelenti. A besorol�s (scheduling) a d�nt�shozatali elem, ahol
is a csomagokat az adattov�bb�t�shoz sorrendbe, majd �jra sorrendbe rakjuk.
Az alak�t�s (shaping) az a folyamat, amikor a csomagokat k�sleltetj�k majd
tov�bbk�ldj�k, ez�ltal az �tviteli sebess�g nagyj�b�l egyenl� �tem�, �s
el�re kisz�m�that� lesz.

A forgalomir�ny�t�s sokoldal�s�g�t kihaszn�lva komplex rendszereket lehet
kialak�tani, annak �rdek�ben, hogy egy bizonyos folyamat (vagy alkalmaz�s)
r�sz�re s�vsz�less�get biztos�tsunk, vagy a rendelkez�sre �ll�
s�vsz�less�get korl�tozzuk bizonyos folyamatok, vagy alkalmaz�s el�tt.

A forgalomir�ny�t�s egyik kulcs-koncepci�ja a tokenek (jelek) fogalma. Az
enged�lyez�s vagy alak�t�s folyamata sor�n ki kell sz�m�tani az elk�ld�tt
b�jtok vagy csomagok sz�m�t, vagyis melyik, milyen sebess�ggel ker�l majd
tov�bb�t�sra. Minden csomag vagy b�jt (az alkalmaz�st�l f�gg, hogy melyik)
egy jelnek felel meg, �s az enged�lyez�- vagy alak�t�-alkalmaz�s csak akkor
tov�bb�tja a csomagot vagy b�jtot, ha az rendelkezik a megfelel� jellel.
Egy alkalmaz�s metaforikus jelt�rol�ja a t�rol� (bucket). R�viden a t�rol�
jelzi, mind az egyszerre haszn�lhat� jelek sz�m�t (ez a t�rol� m�rete), mind
pedig a jelek �jrat�lt�d�s�nek �tem�t (milyen gyorsan t�lt�dik �jra a
t�rol�).

B�vebbet a [24]2.2 p�ld�ban tal�lsz a t�rol� haszn�lat�ra a Linux
forgalomir�ny�t�si rendszerben.

Linux rendszereken a forgalomir�ny�t�s mindig is komoly kih�v�st jelentett.
A tc parancssori eszk�z kapcsolatot jelent a rendszermag azon r�szeivel,
amelyek az alak�t�s, besorol�s, enged�lyez�s, �s oszt�lyoz�s folyamatait
v�gzik. A parancs szintaxisa viszont rendk�v�l bonyolult. A tcng projekt
azzal, hogy a tc parancssori eszk�z f�l� nyelvi r�teget fektet, sokkal
bar�ts�gosabb k�rnyezetet biztos�t a felhaszn�l�nak. A tcng-ben �rt
forgalomir�ny�t�si be�ll�t�sok ez�ltal k�nnyebben kezelhet�, kev�sb�
bonyolult, �s - ami tal�n a legfontosabb - hordozhat�bb lesz.
     _________________________________________________________________

2.2. Mi az a HTB?

A [25]Hierarchichal Token Bucket a CBQ-n�l egyszer�bb konfigur�ci�s
param�terekkel rendelkez� csoportnyi qdisc, melyet Martin Devera alkotott
meg. A HTB-r�l �s haszn�lat�r�l el�g sok dokumentum tal�lhat� a szerz�
honlapj�n, valamint [26]Stef Coene weboldal�n is. K�vetkezzen egy r�vid kis
ismertet� a HTB rendszerr�l.

Alapvet�en a HTB egy tetsz�leges sz�m�, hierarchikusan fel�p�tett
jelt�rol� (token bucket) (...igen, erre k�nnyen r�j�hett�l magadt�l is).
T�telezz�k fel a legegyszer�bb esetet: B�rmilyen eszk�z�n az els�dleges
kil�p�si sor a root qdisc.

A root qdisc egyetlen oszt�lyt fog tartalmazni (komplex esetekben t�bb
oszt�ly is csatol�dik a root qdisc-hez). Az egyszer� HTB oszt�lyt k�t
param�ter jellemzi: a rate (m�rt�k) �s a ceil (plafon). A top-level
(legfels�bb szint�) oszt�lyn�l ezek az �rt�kek meg kell, hogy egyezzenek
�s a kapcsolat teljes s�vsz�less�g�t mutatj�k.

A HTB-n�l, a rate jelenti egy oszt�ly sz�m�ra a garant�lt s�vsz�less�get, a
ceil pedig a maxim�lis s�vsz�less�get. A rate �s a ceil k�z�tti
s�vsz�less�get mindig a sz�l� oszt�lyt�l veszi az alkalmaz�s, vagyis a
legfels� szinten l�v� oszt�lyn�l a rate �s a ceil ugyanannyi lesz.

Sz�mos gyerek-oszt�ly l�tes�thet� ez alatt az oszt�ly alatt, kezdetben
mindegyikhez n�mi s�vsz�less�get rendelve a sz�l�-oszt�ly megl�v�
k�szlet�b�l. Ezekben a gyerek-oszt�lyokban m�r nem kell a rate �s a ceil
param�tereknek megegyezni�k, mint a sz�l� oszt�lyn�l. Ez lehet�v� teszi,
el�re meghat�rozott s�vsz�less�g tartal�kol�s�t bizonyos oszt�lyoknak.
Lehet�v� v�lik tov�bb� a HTB sz�m�ra, hogy �sszehasonl�tsa a megl�v�
s�vsz�less�g eloszl�s�t az oszt�lyok s�vsz�less�geivel. A k�vetkez� p�lda
tal�n r�vil�g�t a l�nyegre:

A Hierarchical Token Bucket mag�ban foglal egy oszt�lynyi besorol�
mechanizmust a Linuxon val� forgalomir�ny�t�shoz, �s ott van m�g a
felhaszn�l�nak a rate �s a ceil param�ter az egyes oszt�lyok abszol�t
s�vsz�less�g�nek szab�lyoz�s�hoz, valamint, hogy jelezze a s�vsz�less�g
eloszl�s�t, amikor extra s�vsz�less�g ad�dik (eg�szen a ceil-ig).

Jegyezz�k meg, hogy a top-level oszt�ly s�vsz�less�g�nek a be�ll�t�sakor a
forgalom alak�t�snak (shaping) csak akkor lesz �rtelme, ha a sz�k
keresztmetszet a h�l�zat �s az Internet k�z�tt az a g�p, amin dolgozunk.
Tipikusan ilyen eset az otthoni vagy irodai h�l�zati k�rnyezet, ahol az
eg�sz helyi h�l�zatot DSL vagy T1 kapcsolatok k�tik �ssze.

Gyakorlatilag ez annyit jelent, hogy a top-level oszt�ly s�vsz�less�g�t �gy
kell be�ll�tani, hogy vessz�k az eg�sz, rendelkez�sre �ll� s�vsz�less�get �s
kivonunk bel�le egy keveset.
     _________________________________________________________________

2.3. Mi is az a tcng?

A [27]tcng (Traffic Control - Next Generation, k�vetkez� gener�ci�s
forgalomir�ny�t�s) Werner Almesberger projektje, er�teljes, egys�ges �s
egy�rtelm� nyelvezet megteremt�s�re, amellyel a forgalomir�ny�t�si
szerkezetek pontosan megfogalmazhat�k. A tcng csomagban tal�lhat� tcc
ford�t� alak�tja �t a tcng nyelvet t�bbf�le kimeneti form�ra. Alapesetben a
tcc beolvas egy f�jlt (amely argumentumk�nt, vagy STDIN-k�nt adhat� meg) �s
a STDOUT kimenetre k�ld egy sorozat tc parancsot, amelyek az elk�pzelt
forgalomir�ny�t�si szerkezetet a rendszermagban l�trehozz�k. (l�sd az
iproute2 fejezetet lentebb)

A t�mogatott rendez�si elveket megtal�lod a [28]tcng Queuing discipline
parameters(�tmutat� a tcng param�tereihez) dokumentumban. A tcng projekthez
a HTB t�mogat�st Jacob Teplitsky �rta, aki akt�v tag a [29]LARTC levelez�si
list�n.

A tcc eszk�z sokf�le kimenetet tud produk�lni, ez a dokumentum azonban csak
a leg�ltal�nosabb �s alap�rtelmezett kimeneti eredm�nnyel foglalkozik. A
[30]TCNG k�pzik�nyv foglalkozik b�vebben a tcng parancs haszn�lat�val.

A tcsim eszk�z k�pes szimul�lni az adott forgalomir�ny�t�si szab�lyokkal
be�ll�tott rendszermag viselked�s�t, m�gpedig �gy, hogy tcng
be�ll�t�f�jlokat olvas �s �rtelmez. Hab�r a tcsim el�g jelent�s r�sz�t
k�pezi a tcng projectnek, itt t�bbet nem foglalkozunk vele.
     _________________________________________________________________

3. K�vetelm�nyek

Van n�h�ny dolog, ami sz�ks�ges ahhoz, hogy [31]a rendszermag t�mogassa a
HTB-t �s DSMARK-ot, [32]a tc t�mogassa a HTB-t �s a DSMARK-ot, �s, hogy
[33]a tcng m�k�dj�n.

Ahhoz, hogy ez a dokumentum haszn�lhat� legyen, felt�tlen�l kell egyr�szt
egy olyan rendszermag, amely t�mogatja a HTB-t, m�sr�szt a tc alkalmaz�s
(el�g csak a doksi c�m�re utalni). A DSMARK t�mogat�s, a sz� szoros
�rtelm�ben nem felt�tel, b�r n�h�ny [34]p�lda (k�l�n�sen az oszt�ly
kiv�laszt�si �tvonal, de lehet, hogy m�s p�ld�k is) nem biztos, hogy
m�k�dik e n�lk�l.
     _________________________________________________________________

3.1. Rendszermag k�vetelm�nyek

A rendszermag k�vetelm�nyeknek egyszer� megfelelni. A 2.4.20 �s �jabb
rendszermagok be�p�tett HTB �s DSMARK t�mogat�st tartalmaznak. Sz�val
egyszer�en csak be kell kapcsolni ezeket az opci�kat (QoS/FAIR Queing
szekci�). A rendszermag be�ll�t�s�r�l b�vebben olvashatsz a [35]DiffServ
project honlapj�n.

2.4.20-n�l r�gebbi rendszermagok eset�ben [36]ez a link egy folt (patch) a
2.4.17 vagy �jabb kernelekhez.
     _________________________________________________________________

3.2. tc k�vetelm�nyek

A tc parancs az iproute2 eszk�zcsomag r�sze. Az iproute2 �ltal�nos le�r�sa a
[37]iproute2 k�zik�nyv oldalakon tal�lhat�. A csomagot k�zvetlen�l az
[38]Alexey Kuznyecov FTP arch�vuma webhelyr�l lehet let�lteni, de a legt�bb
disztrib�ci�ban megtal�lhat� csomagk�nt is. Ha RPM csomagkezel�t haszn�lsz,
err�l a [39]SRPM webhelyr�l let�ltheted a forr�st, majd leford�thatod a
rendszernek megfelel�en.

Ha az iproute2 programot forr�sb�l telep�ted, haszn�lhat� [40]Martin Devera
HTB webhelyen tal�lhat� [41]tc programhoz sz�ks�ges folt. Erre az�rt van
sz�ks�g, hogy a tc programban legyen HTB t�mogat�s.

A tc-nek t�mogatnia kell tov�bb� a dsmark-ot, a diffserv jel�l�
mechanizmust. Szerencs�re ez egyszer�en megoldhat�, az iproute2 forr�s�ban
tal�lhat� Config f�jlban az al�bbiakat kell megv�ltoztatni: a
TC_CONFIG_DIFFSERV=n sort TC_CONFIG_DIFFSERV=y -ra kell cser�lni, majd a
csomagot �jra kell ford�tani.

Az [42]SRPM dsmark �s HTB t�mogat� tc bin�rist k�sz�t, �gy az al�bbi
p�ld�kn�l m�r nem lesz gond.
     _________________________________________________________________

3.3. tcng k�vetelm�nyek

Tal�n a telep�t�s legk�nnyebb r�sze a tcng t�mogat�s megold�sa. Csak ki kell
csomagolni a forr�st, �s futtatni kell a ./configure --no-tcsim parancsot
ford�t�s el�tt.

Ha RPM-alap� Linux fut a g�pen, haszn�lhatod a SPEC f�jlt
tcng/build/tcng.spec a ford�t�shoz, vagy let�ltheted �s ford�thatod [43]ezt
az SRPM-t. Az SRPM k�t csomagot k�sz�t: tcc �s tcc-devel. Csak a tcc-re lesz
sz�ks�g a be�ll�t�sokhoz.

A tcc ford�t� haszn�lat�hoz sz�ks�g van m�g a cpp csomagra is. Ezt a tcc
haszn�lja.
     _________________________________________________________________

4. Be�ll�t�si p�ld�k

Az itt bemutat�sra ker�l� p�ld�k az [44]ebben a k�nyvt�rban tal�lhat�,
let�lthet� konfigur�ci�s p�ld�k m�dos�tott v�ltozatai.

Ezek a p�ld�k haszn�lhat�k �n�ll� be�ll�t� f�jlk�nt a tcc ford�t�
seg�ts�g�vel, vagy a p�ldak�nt szerepl� [45]SysV ind�t� szkript
haszn�lat�val. Az ind�t�szkript a [46]raptor �ltal a LARTC levelez�list�n
k�zz�tett szkript egy v�ltozata.

Amennyiben a fenti ind�t�szkriptet haszn�lod, vess egy pillant�st a
k�vetkez� p�ld�ra: /etc/sysconfig/tcng:

   P�lda 1. /etc/sysconfig/tcng
# - tcng k�ztes-konfigur�ci�s f�jl
#   (Soha nem haszn�lok k�ztes konfigur�ci�s f�jlt, nem szeretem)

#
# -- 2003-03-15 created; -MAB
# -- 2003-03-31 modified to allow ENVAR override; -MAB
#
# -- ez a k�nyvt�r fogja tartalmazni az �sszes erre a host-ra
#    vonatkoz� tcng be�ll�t�st

TCCONFBASEDIR=${TCCONFBASEDIR:-/etc/sysconfig/tcng-configs}
#
# -- ez az akt�v tcng be�ll�t�f�jl, FIGYELEM! mivel a tcng t�mogatja a
#    az #include szerkezet haszn�lat�t, a $TCCONFBASEDIR
#    v�ltoz�ban t�rolt be�ll�t�f�jlba be�p�thet�ek a konfigur�ci�s
#    modulok.

#
TCCONF=${TCCONF:-$TCCONFBASEDIR/global.tcc}

tcstats=${tcstats:-no}   # -- statisztikai jelent�sek kikapcsol�sa
tcstats=${tcstats:-yes}  # -- a tc-t "-s" kapcsol�val ind�tja

tcdebug=${tcdebug:-0}    # -- tipikus ind�t�szkript-haszn�lat
tcdebug=${tcdebug:-1}    # -- egy csipetnyi inform�ci� az esem�nyekr�l
tcdebug=${tcdebug:-2}    # -- hibak�vet�si inform�ci�k
#
#
# m�g egy lehet�s�g: fel�lb�r�lhat�k az alapbe�ll�t�sk�nt haszn�lt tc �s tcc e
szk�z�k
# az el�r�si �t megad�s�val, p�ld�ul:
#
#  tc=/usr/local/bin/tc
#  tcc=/usr/local/tcng/bin/tcc
#
#
     _________________________________________________________________

4.1. tcng haszn�lata csak a let�lt�sek alak�t�s�hoz

Ezzel a p�ld�val sok �ltal�nos koncepci�t pr�b�lok meg bemutatni. A p�ld�t a
tc kimenetre a tcc class-selection-path.tcc parancs haszn�lat�val lehet
ford�tani.

   P�lda 2. /etc/sysconfig/tcng/class-selection-path.tcc
/*
 * Egyszer�, magyar�zattal ell�tott tcng forgalomir�ny�t�si be�ll�t�f�jl.
 *
 *   Martin A. Brown <[47]mabrown@securepipe.com>
 *
 * P�lda:  A class selection path haszn�lata.
 *
 * (Amennyiben HTML form�ban olvasod a szerkesztett kimenetet, a h�v�sok
 * linkk�nt jelennek meg a sz�vegben.)
 *
 */

#include "fields.tc"      (1)
#include "ports.tc"

#define INTERFACE  eth0   (2)

dev INTERFACE {
    egress {  (3)

        /* A class selection path-ban a sz�r�k j�nnek el�sz�r! Dsmark */  (4
)

        class ( <$ssh> )    if tcp_sport ==  22 && ip_tos_delay == 1 ;
        class ( <$audio> )  if tcp_sport == 554 || tcp_dport == 7070 ;
        class ( <$bulk> ) \
            if tcp_sport == PORT_SSH || tcp_dport == PORT_HTTP ;  (5)
        class ( <$other> )  if 1 ;  (6)

        /* Ebben a r�szben �ll�tjuk be a qdiskeket �s az oszt�lyokat */

        htb () {  (7)
            class ( rate 600kbps, ceil 600kbps ) {  (8)
                $ssh   = class ( rate  64kbps, ceil 128kbps ) { sfq; } ;
               (9)  $audio = class ( rate 128kbps, ceil 128kbps ) { sfq; } ;
                $bulk  = class ( rate 256kbps, ceil 512kbps ) { sfq; } ;
                $other = class ( rate 128kbps, ceil 384kbps ) { sfq; } ;  (10)
            }
        }
    }
}

   [48](1) 
          A tcng nyelvezete lehet�v� teszi a C-hez hasonl�
          beszerkeszthet� (include) f�jlok haszn�lat�t, amivel b�rmilyen
          f�jlt a forr�sk�dba illeszthet�nk. A beszerkeszthet� f�jlok
          el�r�si �tja relat�v az aktu�lis k�nyvt�rhoz, vagy a tcng
          k�nyvt�rhoz k�pest (alapesetben /usr/lib/tcng/include).
          Szigor�an v�ve nem sz�ks�ges a ports.tc �s a fields.tc f�jlok
          beszerkeszt�se (#include), mert a tcc ford�t� alapb�l megteszi
          ezt.
          Az #include haszn�lata rugalmas v�ltoz� defini�l�st, �s a
          forgalomir�ny�t�s �ltal�nos elemeinek gyors
          beszerkeszthet�s�g�t teszi lehet�v�.
          Tov�bbi r�szletek tal�lhat�k a tcng k�zik�nyv [49]Include
          files(Beszerkesztett f�jlok) c�m� fejezet�ben.
   [50](2) 
          Ezek CPP direkt�v�k. A #define makr�k �s konstansok
          l�trehoz�s�ra szolg�l. A haszn�lat�r�l t�bbet a tcng k�zik�nyv
          [51]Variables (A V�ltoz�k) fejezet�ben olvashatsz.
   [52](3) 
          Az egress kulcssz� a dsmark szinonim�ja. Az itt szerepl� p�lda
          a [53]class selection path m�dszert haszn�lja. Ez az egress
          kulcssz� haszn�lata ebben a konfigur�ci�ban, sz�ks�ges hozz� a
          rendszermag dsmark t�mogat�sa �s a tc.
   [54](4) 
          A class selection path egyfajta megk�zel�t�si m�dja a forgalom
          alalk�t�snak. A class selection path-ban a csomag a routerbe
          ker�l�sekor jel�l�st kap (DiffServ jel). Ennek a kezdeti
          oszt�lyoz�snak az eredm�nyek�nt a router b�rmennyi m�veletet
          v�grehajthat, b�rmennyi szab�lyt (enged�lyez�s, besorol�s,
          alak�t�s) alkalmazhat a csomagon.
          Tov�bbi r�szletek tal�lhat�k a tcng k�zik�nyvben az [55]on
          class selection path (A class selection path-r�l) fejezetben.
   [56](5) 
          Ez a p�lda a kapuk (portok) jel�l�s�n�l a nevek haszn�lat�t
          mutatja be a sz�mok haszn�lata helyett. Ez a tcng egyik
          k�nyelmi funkci�ja (a ports.tc automatikus beszerkeszt�s�n
          kereszt�l v�lik el�rhet�v�). A kapuk elnevez�s�n�l az IANA
          �ltal haszn�lt kapu-nevek az ir�nyad�k. L�sd az [57]IANA
          regisztr�lt portok oldalt a szabv�nyos nevek�rt, vagy vizsg�ld
          meg a ports.tc f�jlt.
          Mind a nevek, mind a sz�mok haszn�lata elfogadott �s �rv�nyes.
   [58](6) 
          Figyelj�k meg ezt a k�l�n�s konstrukci�t, amely az �sszes eddig
          nem oszt�lyozott csomagot oszt�lyba sorolja. Minden, eddig nem
          oszt�lyozott csomag a "$other" oszt�lyba ker�l. Az if 1
          szerkezet a nem oszt�lyozott forgalom maradv�ny�nak
          oszt�lyoz�s�ra szolg�l.
   [59](7) 
          Itt t�rt�nik a root qdisc l�trehoz�sa, ami jelen esetben az
          eth0 eszk�zre van csatlakoztatva. A tcng k�zik�nyv
          referenciaanyagai k�z�tt az [60]appendix on queuing discipline
          parameters (F�ggel�k: sorba rendez�s param�terez�se) fejezetben
          minden qdisc-hez tal�lhatunk param�tereket. B�rmilyen qdisc
          param�ter beilleszthet� a z�r�jelek k�z�, ugyan�gy, ahogy egy
          k�s�bbi p�ld�n�l l�tni fogjuk. Param�ter n�lk�li haszn�lat
          eset�n a z�r�jeleket nem k�telez� kitenni.
   [61](8) 
          Ebben a p�ld�ban a legfels�-szint� oszt�lyhoz a maxim�lis
          s�vsz�less�get rendelj�k, ami ezen oszt�lyon kereszt�l mehet.
          T�telezz�k fel, hogy az eth0 a bels� h�l�zati csatol�ja a
          g�pnek. Ez a teljes s�vsz�less�get 600 kilobit/s-ra korl�tozza
          a bels� h�l�zat fel�.
          Akik haszn�ltak m�r HTB-t, azoknak a rate �s a ceil param�terek
          ismer�sek lesznek. Ezek HTB specifikus param�terek, �s a tcc
          eszk�z seg�ts�g�vel ford�that�k le pontosan. N�zz�k meg a
          [62]tcng �tem �s sebess�g specifik�ci� r�szben tal�lhat�
          t�bl�zatot!.
   [63](9) 
          Ezen oszt�ly hozz�rendel�se a v�ltoz�hoz. Ezt �ltal�ban a class
          selection path r�szek�nt v�gezz�k el.
   [64](10) 
          Ahogyan azt Martin Devera is le�rta a HTB honlapj�n, egy
          be�gyazott SFQ minden oszt�lynak ad egy sorba rendez�
          algoritmust a konkurens folyamatoknak az adott oszt�lyon
          kereszt�li csomagk�ld�s er�forr�sainak megfelel�
          eloszt�s�hoz. Figyelj�nk a param�terek hi�ny�ra a be�gyazott
          sorba rendez�s elv�n�l.
          Ha nem hat�rozunk meg sorba rendez�si szab�lyokat a v�gs�
          oszt�lyokn�l, akkor az alapbe�ll�t�s �rv�nyes�l, vagyis a
          pfifo_fast qdisc. Egy sztochasztikus tiszta sorba rendez�
          qdisc beszerkeszt�se a v�g-oszt�lyokban megg�tolja azt, hogy
          egyetlen kapcsolat uralja a s�vsz�less�get az adott oszt�lyban.
     _________________________________________________________________

4.2. A k�tsebess�g� h�romsz�n� m�r��ra haszn�lata

   P�lda 3. /etc/sysconfig/tcng/two-rate-three-color-meter.tcc
/*
 * Egyszer�, magyar�zattal ell�tott tcng forgalomir�ny�t�si be�ll�t�f�jl.
 *
 *   Martin A. Brown <[65]mabrown@securepipe.com>
 *
 * P�lda: M�r��ra haszn�lata
 *
 * (Amennyiben HTML form�ban olvasod a szerkesztett kimenetet, a h�v�sok
 * hivatkoz�sk�nt jelennek meg a sz�vegben.)
 *
 */

#define   EXCEPTION      192.168.137.50
#define   INTERFACE      eth0

$meter = trTCM( cir 128kbps, cbs 10kB, pir 256kbps, pbs 10kB );   (1)

dev eth0 {
    egress {
        class ( <$full> )     if ip_src == EXCEPTION      ;  (2)
        class ( <$fast> )     if trTCM_green( $meter )    ;  (3)
        class ( <$slow> )     if trTCM_yellow( $meter )   ;  (4)
        drop                  if trTCM_red( $meter )      ;  (5)
        htb {
            class ( rate 600kbps, ceil 600kbps ) {
                $fast = class ( rate 256kbps, ceil 256kbps ) { sfq; } ;
                $slow = class ( rate 128kbps, ceil 128kbps ) { sfq; } ;
                $full = class ( rate 600kbps, ceil 600kbps ) { sfq; } ;
            }
        }
    }
}

   [66](1) 
          Ez az oszt�lyoz�shoz haszn�lt m�r��ra deklar�ci�ja. A
          h�tt�rtechnol�gia a m�r�s kivitelez�s�re az enged�lyez�s
          (policing). Tov�bbi inform�ci�k a [67]tcng k�zik�nyv "Meters"
          (M�r�sek) fejezetben tal�lhat�k.
          Ez a k�tsebess�ges-h�romsz�n� m�r� a leg�sszetettebb
          m�r��rat�pus a tcng nyelvben. Ez a m�r��ra a z�ld, s�rga �s
          piros sz�neket ad vissza, a t�rol�k foglalts�g�t�l �s
          cs�cs�rt�keit�l (peak) f�gg�en. Ha a m�rt sebess�g nagyobb,
          mint a foglalts�got jelz� �rt�k, akkor s�rga sz�n� lesz a
          jelz�s, ha a m�rt sebess�g t�ll�pi a cs�cs�rt�ket (a cs�cs�rt�k
          itt nem a maxim�lis, hanem kiemelked� �rt�ket jelent - a
          lektor), akkor piros sz�n� lesz a jelz�s.
          A $meter v�ltoz� a m�r��ra t�pus�nak megfelel� f�ggv�nyekkel
          m�k�dtethet�. Ebben az esetben h�rom f�ggv�ny j�het sz�ba a
          $meter �llapot�nak tesztel�se c�lj�b�l, ezek: trTCM_green,
          trTCM_yellow, �s trTCM_red. A hat�konys�g n�vel�se �rdek�ben
          lapozz bele a [68]Accelerating three color meters (gyors�tott
          h�romsz�n� m�r�k) fejezetbe.
   [69](2) 
          A p�ld�ban a 192.168.137.50 IP c�met kiz�rtuk az eth0
          eszk�zr�l indul� enged�lyez�si list�b�l.
   [70](3) 
          A "foglalt" inform�ci�-sebess�g el�r�s�ig (cir) a csomagok
          �thaladnak ezen az oszt�lyon A tokenek elt�vol�t�sra ker�lnek a
          cir/cbs t�rol�b�l.
          A m�r��ra z�ld.
   [71](4) 
          Itt lesznek oszt�lyozva azok a t�rol�k, ahol a forgalom
          sebess�ge �tl�pi a cir/cbs �rt�ket. A pir/pbs bucket (pir a
          "peak information rate"="cs�cs inform�ci�-sebess�g"), pbs a
          "peak burst size"="cs�cs kit�r�si sebess�g"). Ez teszi
          lehet�v� egy bizonyos adatfolyam sz�m�ra, hogy garant�lt
          s�vsz�less�get kapjon egy oszt�lyon bel�l, majd �jra
          oszt�lyoz�sra ker�lj�n.
          A m�r��ra s�rga.
   [72](5) 
          Azok a t�rol�k lesznek oszt�lyozva itt, ahol a forgalom
          sebess�ge meghaladja a pir/pbs �rt�ket. Az �ltal�nos
          be�ll�t�sok azt eredm�nyezik, hogy a forgalom a cs�cssebess�g
          feletti tartom�nyba ker�l, hab�r a forgalmat �jra oszt�lyozva a
          garant�lt oszt�lyb�l a legjobb-teljes�tm�ny oszt�lyba ker�lne.
          A m�r��ra piros.
     _________________________________________________________________

5. Egy�b megjegyz�sek

H�l Istennek a tcng elker�li a tc kisebb k�nyelmetlens�geit. A k�vetkez�
t�bl�zat �br�zolja ezen eszk�z�k szintaxis�t �s m�rt�kegys�geit, angol
megfelel�ikkel egy�tt.

   T�bl�zat 1. Sebess�g/�tem szintaxis: tcng vs. tc
   tcng Angol megfelel�       tc
   bps  bit(s) per second      bit
   Bps  byte(s) per second     bps (argh!)
   kbps kilobit(s) per second  kbit
   kBps kilobyte(s) per second kbps
   Mbps megabit(s) per second  mbit or Mbit
   MBps megabyte(s) per second mbps or Mbps
   pps  packet per second      ??

   Ez csak minim�lis igaz�t�st ig�nyel az �sr�gi tc felhaszn�l�kt�l, de
   sokkal jobb v�laszt�s az angolul besz�l�knek ha a meg�rz�seikre
   szeretn�nek hagyatkozni.

   P�ld�ul a tcng konfigur�ci�j�ban haszn�lhatjuk a sebess�g jel�l�s�re a
   konvencion�lis kifejez�seket: 100Mbps, 128kbps, s�t 2Gpps. B�vebben
   a tcng k�zik�nyv [73]Units (a m�rt�kegys�gekr�l) fejezet�ben
   olvashatunk.

   A forgalomir�ny�t�s hat�konys�ga �rdek�ben meg kell keresni a h�l�zat
   sz�k keresztmetszeti pontjait. Legt�bb esetben ezeken a helyeken kell
   elv�gezni a m�veleteket.
     _________________________________________________________________

6. Tov�bbi le�r�sok �s hivatkoz�sok

     * [74]the linux DiffServ project
     * [75]HTB site (Martin "devik" Devera) (HTB honlap)
     * [76]Traffic Control Next Generation (tcng) (k�vetkez� gener�ci�s
       forgalomir�ny�t�s)
       [77]TCNG manual (Werner Almesberger) (TCNG k�zik�nyv)
     * [78]iproute2 (Alexey Kuznetsov)
       [79]iproute2 manual (Alexey Kuznetsov) (iproute2 k�zik�nyv)
     * [80]Research and documentation on traffic control under linux
       (Stef Coene) (Forr�sanyagok �s dokument�ci�k a
       forgalomir�ny�t�sr�l Linux alatt)
     * [81]LARTC HOWTO (bert hubert, et. al.)
     * [82]guide to IP networking with linux (Martin A. Brown) (Az IP
       h�l�zati protokoll haszn�lata Linuxszal)

References

   1. http://www.securepipe.com/
   2. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#copyright
   3. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#hungarian-translation
   4. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#intro
   5. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#intro-tc
   6. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#intro-htb
   7. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#intro-tcng
   8. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#requirements
   9. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#requirements-kernel
  10. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#requirements-tc
  11. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#requirements-tcng
  12. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#examples
  13. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#examples-adsl
  14. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#examples-1
  15. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#misc
  16. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#further
  17. http://www.gnu.org/licenses/fdl.html
  18. mailto:petvolgyi[kukac]freemail[pont]hu
  19. mailto:dacas@freemail.hu_NO_SPAM
  20. http://tldp.fsf.hu/index.html
  21. http://tcng.sourceforge.net/
  22. http://luxik.cdi.cz/~devik/qos/htb/
  23. mailto:mabrown@securepipe.com
  24. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#intro-htb
  25. http://luxik.cdi.cz/~devik/qos/htb/
  26. http://www.docum.org/
  27. http://tcng.sourceforge.net/
  28. http://linux-ip.net/gl/tcng/node159.html
  29. http://lartc.org/#mailinglist
  30. http://linux-ip.net/gl/tcng/
  31. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#requirements-kernel
  32. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#requirements-tc
  33. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#requirements-tcng
  34. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#examples
  35. http://diffserv.sourceforge.net/#24
  36. http://luxik.cdi.cz/~devik/qos/htb/v3/htb3.6-020525.tgz
  37. http://linux-ip.net/>http://linux-ip.net/</ulink> valamint az <ulink url=http://linux-ip.net/gl/ip-cref/
  38. ftp://ftp.inr.ac.ru/ip-routing/
  39. http://linux-ip.net/traffic-control/iproute-2.4.7-7.src.rpm
  40. http://luxik.cdi.cz/~devik/qos/htb/
  41. http://luxik.cdi.cz/~devik/qos/htb/v3/htb3.6-020525.tgz
  42. http://linux-ip.net/traffic-control/iproute-2.4.7-7.src.rpm
  43. http://linux-ip.net/traffic-control/tcng-9d-1.src.rpm
  44. http://linux-ip.net/code/tcng/
  45. http://linux-ip.net/code/tcng/tcng.init
  46. http://mailman.ds9a.nl/pipermail/lartc/2002q4/005411.html
  47. mailto:mabrown@securepipe.com
  48. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-0-includes
  49. http://linux-ip.net/gl/tcng/node35.html
  50. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-0-defines
  51. http://linux-ip.net/gl/tcng/node111.html
  52. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-0-egress
  53. http://linux-ip.net/gl/tcng/node32.html
  54. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-0-csp
  55. http://linux-ip.net/gl/tcng/node32.html
  56. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-0-portusage
  57. http://www.iana.org/assignments/port-numbers
  58. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-0-leftover
  59. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-0-root
  60. http://linux-ip.net/gl/tcng/node159.html
  61. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-0-topclass
  62. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#tb-misc-rates
  63. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-0-classvariable
  64. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-0-embedsfq
  65. mailto:mabrown@securepipe.com
  66. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-1-mdefine
  67. http://linux-ip.net/gl/tcng/node53.html
  68. http://linux-ip.net/gl/tcng/node58.html
  69. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-1-notmetered
  70. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-1-green
  71. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-1-yellow
  72. file://localhost/home/dacas/convert/Traffic-Control-tcng-HTB-HOWTO-hu.html#ex-1-red
  73. http://linux-ip.net/gl/tcng/node21.html
  74. http://diffserv.sourceforge.net/
  75. http://luxik.cdi.cz/~devik/qos/htb/
  76. http://tcng.sourceforge.net/
  77. http://linux-ip.net/gl/tcng/
  78. ftp://ftp.inr.ac.ru/ip-routing/
  79. http://linux-ip.net/gl/ip-cref/
  80. http://www.docum.org/
  81. http://lartc.org/howto/
  82. http://linux-ip.net/