Newsgroup: it.comp.os.linux.sys
Titolo: Creare regole per il traffico con HTB e tcng

Salve a tutti, avrei bisogno di limitare il traffico dal router verso
la lan e leggendo i vari howto in rete il miglior modo è unsare come
qdisc HTB e configurare le regole tramite tcng.
La mia configurazione è la seguente:
router  -- con due interfaccie, eth0 e eth1
su eth0 ho il collegamento dsl (1.2 Mbs / 256 kbs alice :)
su eth1 ho la lan
##### Piccola digressione #####
Innanzitutto non mi è ben chiara una cosa: con HTB io dovrei
controllare la bandwidth da eth1 verso la lan e non posso controllare
l'inverso (visto che si controllano solo i flussi in uscita, altrimenti
dovrei usare IMQ ma non so neanche come usarlo). Ora supponiamo che io
voglia limitare la banda di collegamenti ftp per un totale di 15 kB/s
tramite HTB. Quindi il client della lan si collega tramite il programma
preferito all' host ftp (che ne so 
ftp.kernel.org
) e incomincia a
scaricare un file. A questo punto, supponendo che 
ftp.kernel.org
 abbia
buona parte della banda libera invierà il file con una certa ampiezza
di banda, supponiamo 100kB/s. Quando arriva al router, quest'ultimo
applica le regole di forwading e attenendosi alle police di HTB manda
il file al client della lan ad una velocità di 15kB/s.
E allora così HTB mi permette solo di controllare il traffico
all'interno, intanto la banda internet (cioè quella di alice) avrà
comunque i suoi 100kB/s occupati.
Spero di sbagliarmi, e se sbaglio (come credo) vi prego di indicarmi
dove, grazie. :)
###### Fine digressione ######
Allora per limitare il traffico verso la lan ho fatto il seguente
script utilizzando 3 classi e relative regole per HTB. Potreste dirmi
se è corretto? Grazie in anticipo per ogni chiarimento.
///////////////  SCRIPT   //////////////
/*
 *Simply tcng traffic control file.
 */
#define INTERFACE eth1
dev INTERFACE {
                egress {
                        class( <$p2p> )
                        if tcp_sport == 4662
                        if udp_sport == 4672
                        if udp_sport == 4666
                        if tcp_sport == 6882
                        if tcp_sport == 6346
                        class ( <$ftp> )
                        if tcp_sport == 21
                        if tcp_sport == 22 || ip_tos_delay == 1
                        if tcp_sport == 6667 || tcp_dport == 7000;
                        class ( <$def> )
                        if 1 ;
                        htb () {
                                class ( rate 256kbps, ceil 256kbps ) {
                $p2p   = class ( rate  56kbps, ceil 128kbps ) { sfq; }
;
                $ftp   = class ( rate  56kbps, ceil 128kbps ) { sfq; }
;
               $def   = class ( rate  256kbps, ceil 256kbps ) { sfq; }
;
                                     }
                                }
                        }
              }
///////////////////////////////////////////////////////////////////////////

 dove, grazie. :)
Io spero di non aver detto troppe sciocchezze :-)
Alessandro.

Mi sa che sarebbe bello, però vorrei capire una cosa (sono un pò
scarso in conoscenze di networking).
Un client della lan (chiamiamolo client1) stabilisce la solita
connessione ftp e scarica un file. Per avere una limitazione della
banda occupata a monte (cioè per far in modo che l'ftp mandi i dati ad
un massimo di 15k) c'è bisogno di una politica applicata al protocollo
tcp che dica "i pacchetti in uscita dal client1 hanno una sliding
window tale da permettere massimo 15kB/s di banda". Ma questa è una
politica in entrata a eth1 (che è sul router), che poi smista i
pacchetti, e non in uscita. Come fa HTB a regolare tale flusso? Come
puà essere regolata una tale policy?
test ha scritto:



Limitando i dati che arrivano al client questo mandera' gli acknowlegment al 
server piu' lentamente ed anche il server sara' costretto a rallentare 
l'invio.
Non so quale sia il tuo grado di preparazione ma ti segnalo un link che 
potrebbe essere interessante (vedi anche il paragefo 4.1 "Slow Start")
http://condor.depaul.edu/~jkristof/technotes/tcp.html
Alessandro.

kinto wrote:
http://www.tldp.org/HOWTO/ADSL-Bandwidth-Management-HOWTO/
Nello specifico, per quanto riguarda il traffico in ingresso:
http://www.tldp.org/HOWTO/ADSL-Bandwidth-Management-HOWTO/how-it-works.html#AEN149
-- 
"It is not enough to succeed.  Others must fail."
Linux Registered User #301571, running Gentoo
Memeber of Luganega - Linux User Group Crema (IT)
Fai sentire la tua voce! 
http://www.popolodellarete.it

Grazie ad entrambi appena posso mi leggo entrambi i documenti. Speriamo
di capirci qualcosa. :)