Quality of Service

Aus C3D2
Wechseln zu: Navigation, Suche

Byte Queue Limits

Pakete sind unterschiedlich groß. Queuelängen lieber nach Bytes abmessen.

for f in /sys/class/net/wlan0/queues/tx-*/byte_queue_limits/limit_max; do
	echo "3000" > $f
done

# Unklar ob das was bringt:
ip l s wlan0 qlen 0

CoDeL by default

Das Netzwerk ist so schnell wie dein Adapter:

tc qdisc add dev wlan0 root fq_codel

CoDeL mit Shaping

Du hast keine Kontrolle über den (puffernden) Engpass (Router/Modem):

IF_WAN=ppp0
UP_RATE=8700

tc qdisc del dev $IF_WAN root    2> /dev/null > /dev/null
tc qdisc add dev $IF_WAN root       handle  1   hfsc default 1
 
tc class add dev $IF_WAN parent 1:  classid 1:1  hfsc sc rate ${UP_RATE}kbit ul rate ${UP_RATE}kbit
tc qdisc add dev $IF_WAN parent 1:1 handle 11: fq_codel
tc filter add dev $IF_WAN parent 11: handle 11 protocol all flow hash keys nfct-src,nfct-dst,proto,nfct-proto-src,nfct-proto-dst divisor 1024
Grundlage
OpenWRT: Example4: HFSC + FQ_CODEL + FLOW classifier;
Astro hat mit diesem simplen Regelsatz gute Erfahrungen (bei wenigen Flows).

In einem Mehrbenutzerinnen-Netzwerk will man die Flows vermutlich nur nach nfct-src hashen. Damit wäre es dann fair zwischen Hosts, nicht Ports.

Weblinks