Advanced Linux & INFOSEC

DOCUMENTATIE CURS

Comanda tc

Pentru controlul traficului si folosirea HTB in Linux se foloseste utilitarul/comanda tc (traffic control). Acest utilitar face parte din pachetul iproute2.
Nota
tc se gaseste in "user-space", iar HTB si "kernel-space".


Pentru a implementa o solutie de QoS pe Linux folosind HTB kernelul trebuie sa fie compilat cu urmatoarele facilitati.
Kernel Requirements # # QoS and/or fair queueing # CONFIG_NET_SCHED=y CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_CSZ=m CONFIG_NET_SCH_PRIO=m CONFIG_NET_SCH_RED=m CONFIG_NET_SCH_SFQ=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCH_INGRESS=m CONFIG_NET_QOS=y CONFIG_NET_ESTIMATOR=y CONFIG_NET_CLS=y CONFIG_NET_CLS_TCINDEX=m CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_ROUTE=y CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m CONFIG_NET_CLS_RSVP=m CONFIG_NET_CLS_RSVP6=m CONFIG_NET_CLS_POLICE=y


Folosirea comenzii tc


1 -> adauga queue discipline
2 -> specifica interfata careia i se ataseaza qdisc
3 -> cuvantul root indica faptul ca este un root qdisc si ca este de tip egress
4 -> identificator unic pentru acest root qdisc. Minorul tb sa fie zero
5 -> disciplina cozii foloseste htb, pot urma parametri precum default (clasa default in care se duce traficul neclasificat)



1 -> adauga o clasa
2 -> specifica interfata careia i se ataseaza clasa
3 -> specifica parintele clasei care este identificat unic pt. handler
4 -> specifica un handler unic care identifica clasa. Minorul tb sa fie non zero
5 -> subclasele trebuie sa fie de acelasi tip ca si parintele. HTB qdisc va contine HTB classes
6 -> specifica rate pt. clasa
7 -> specifica ceil pt. clasa



1 -> creeaza un filtru;
2 -> specifica interfata careia i se ataseaza filtrul;
3 -> specifica handlerul parinte careia i se ataseaza filtrul;
4 -> match ip packet (obligatoriu);
5 -> specifica o prioritate pentru acest tip de trafic astfel incat un filtru sa fie preferat in fata altuia;
6 -> u32 este un tip de clasificator. Se recomanda folosirea iptables fiindca este mai flexibil;
7,8 -> parametrii clasificatorului. Identifica pachetul dupa TOS si TCP port;
9 -> specifica handlerul clasei (sau qdisc) catre care traficul selectat va fi trimis;
10 -> un policer va lua o anumita actiune in cazul traficului sub rate si o alta actiune in cazul traficului peste rate. Policer in comparatie cu Shaperul nu va face delay la trafic. Doar actioneaza in functie de criterii;
13 -> mpu basic unit for policer. zero = all traffic;
14 -> prima actiune specifica ce va intreprinde policer-ul cand Bw este peste rate, iar a doua actiune ce va intreprinde cand Bandwidth este sub rate;

kb = kbyte
kbit = kbit
© 2006-2010 Crystal Mind Academy. All rights reserved