[Ninux-Calabria] traffic shaping

Vincenzo Pirrone linuspax a gmail.com
Dom 11 Maggio 2014 18:57:45 UTC


Il 11/05/2014 18:00, Giuseppe De Marco ha scritto:
> Il 11 maggio 2014 17:04, Vincenzo Pirrone <linuspax a gmail.com> ha scritto:
>> Ciao
>> Oggi da profano di tc e qos ho cercato di mettere su due regole di
>> traffic shaping in modo da poter condividere la mia adsl senza il
>> rischio che la banda mi sia saturata.
> sei un great
>
>> Scrivo sia per condividere che per cercare consigli/correzioni
>>
>> Di seguito i comandi utilizzati:
>>
>> # aggiunge una policy con algoritmo htb sul traffico di passaggio per
>> pppoe-wan
>> tc qdisc add dev pppoe-wan root handle 1: htb default 1
>> # imposta la classe 1:1 (classe di default dal comando precedente) con
>> 20Mb di banda
>> tc class add dev pppoe-wan parent 1: classid 1:1  htb rate 20480kbit
> qui ti consiglierei di andare sul tuo router ADSL e leggere quanti
> kilobits hai effettivamente.
> Solitamente le 20mbits non superano i 13999kbit (poveri noi
Magari ci arrivassi!
> consumatori), conferma, anche per curiosità, quanta banda reale hai.
> Wind infostrada ? Dicevi che hai 24 di attenuazione ?

Downstream 	Upstream 	 

	
	
SNR Margin
	
:
	15.2 	24.3 	db

	
	
Line Attenuation
	
:
	23.5 	12.4 	db

	
	
Data Rate
	
:
	8000 	511 	kbps


Il copia incolla dalla webui del modem è venuto un po' male, perdonatemi.

>
> Questa banda, solitamente, deriva dal QoS su Atm che hanno in
> centralina, e a questa dobbiamo togliere un pò di "rumore".
> Solitamente abbiamo, effettivamente, i kilobits in RX descritti nella
> pagina "status" del modem ai quali sottraiamo circa 2000kbits di
> rumore/attenuazione/casini che in sostanza mancano sempre all'appello
> (fai un megabit ogni 10 punti di attenuazione... hehe...)
>
> Se configuri la classe con 20mbit il Qos sballa perchè su ATM hai si e
> nò 12megabit effettivi.
>
>> # la classe 1:2 ha a diposizione invece 1Mb
>> tc class add dev pppoe-wan parent 1:1 classid 1:2 htb rate 1024kbit
>
>> # i pacchetti in uscita dalla wan che NON (!) provengono dalla mia lan
>> vengono marcati con la classe 2
>> iptables -t mangle -A POSTROUTING -o pppoe-wan ! -s 10.87.20.0/24 -j CLASSIFY --set-class 1:2
>
>> La documentazione che ho seguito:
>> http://wiki.openwrt.org/doc/howto/packet.scheduler/packet.scheduler.theory
>> http://wiki.openwrt.org/doc/howto/packet.scheduler/packet.scheduler
>> http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm
> la letteratura classica è questa:
> http://lartc.org/howto/lartc.qdisc.classful.html
>
> Ho quel libro di cui ti parlavo in pizzeria ma non riesco più ad
> accedere a 10.0.0.2. Dai raga, sbloccatemi !!!
> il libro si chiama:
>
> Designing and Implementing Linux Firewalls and QoS
>
>> Dubbi:
>> Così facendo in realtà si imposta un limite fullduplex?
> Purtroppo su linea asincrona abbiamo bisogno della regola anche in upload.
>
>> Se il limite di 1024k è fullduplex vuol dire che è ancora possibile che
>> mi vengano saturati i 400k di upload?
> Il problema, purtroppo, è che la regola di iptables parla chiaro, il
> CLASSIFY si applica esclusivamente ai pacchetti che hanno come source
> 10.87.20.0/24, i pacchetti destinati a questa rete vengono ignorati
> dal kernel e non passano da HTB :(

Quindi per come ho fatto fin'ora limito solo il traffico in upload
giusto? (ho fatto dei test che me lo confermano), volendo sistemare
meglio i rate dovrei fare:

tc qdisc add dev pppoe-wan root handle 1: htb default 1
tc class add dev pppoe-wan parent 1: classid 1:1  htb rate 411kbit
tc class add dev pppoe-wan parent 1:1 classid 1:2 htb rate 51kbit
iptables -t mangle -A POSTROUTING -o pppoe-wan ! -s 10.87.20.0/24 -j
CLASSIFY --set-class 1:2

Per limitare il download devo per forza inserire un qdisc sulla vlan di
olsr, correggimi se sbaglio, si può fare una roba del genere

tc qdisc add dev eth0.3 root handle 1: htb default 2
tc class add dev eth0.3 parent 1: classid 1:1  htb rate 100Mbit
tc class add dev eth0.3 parent 1:1 classid 1:2 htb rate 1Mbit
iptables -t mangle -A POSTROUTING -o eth0.3 -s 10.87.20.0/24 -j CLASSIFY --set-class 1:1

Tengo cioè di default il rate a 1M, per il traffico originato dalla mia
lan invece è possibile utilizzare tutta la banda (quella della nanostation)

-- 
Vincenzo Pirrone
Twitter: @spax_arm
PGP Key ID: 5CF5047D


-------------- parte successiva --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 884 bytes
Desc: OpenPGP digital signature
URL: <http://ml.ninux.org/pipermail/calabria/attachments/20140511/90d1dc09/attachment.pgp>


Maggiori informazioni sulla lista Calabria