PDF zum Download - Heinlein
PDF zum Download - Heinlein
PDF zum Download - Heinlein
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Michael Bonin (ITD 4) SS 2003 Projektarbeit Seite 15 von 39<br />
Intelligentes Trafficmanagement für Internet Service Provider - Quality of Service mit Linux<br />
SFQ-qdiscs werden meistens am Ende einer hierarchischen Struktur benutzt, da<br />
erst hier die Pakete tatsächlich gepuffert werden und der Verteilungskampf um<br />
die Bandbreite unter den einzelnen Datenpakete und Verbindungen zu Tragen<br />
kommt.<br />
Beispiel:<br />
# BerliNet<br />
tc qdisc add dev eth0 parent 1:3 handle 30: sfq perturb 10<br />
# JPBerlin<br />
tc qdisc add dev eth0 parent 1:4 handle 40: sfq perturb 10<br />
In diesem Beispiel wurden zwei SFQ-qdiscs angelegt, eine für BerliNet und eine<br />
für die JPBerlin. Diese beiden qdiscs haben als hierarchische „Eltern“ (parent)<br />
die Klasse „1:3“ und „1:4“ und hängen von der Schnittstelle eth0 ab. Die qdiscs<br />
selber haben die Flow-ID „30:“ und „40:“. Der Hashwert der Verbindungs-ID wird<br />
dabei alle 10 Sekunden erneuert („perturb 10“) – für uns nicht weiter wichtig.<br />
CBQ ist die Abkürzung für „Class Based Queueing“. Dieses Verfahren arbeitet<br />
nach dem Prinzip, dass Traffic über Klassen markiert wird und dementsprechend<br />
eingestuft und unterschiedlich behandelt wird. CBQ-qdiscs folgen meistens direkt<br />
auf Klassen und werden oft auch direkt während der Definition von Klassen mit<br />
angelegt.<br />
Über Klassen lässt sich die Behandlung bzw. Abarbeitungsweise von<br />
Datenpaketen festlegen, wenn sie aus den cbq-qdiscs ausgelesen und versendet<br />
werden.<br />
Eine Ausnahme ist die root-qdisc. Sie folgt nicht auf eine Klasse und wird<br />
„selbständig“ angelegt.<br />
Beispiel:<br />
tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth<br />
10mbit cell 8<br />
In dem Beispiel wird die root-qdisc nach CBQ angelegt. Sie liegt direkt an der<br />
Schnittstelle eth0 als root und erhält die Flow-ID „1:0“, alias „1:“ und hat eine<br />
Bandbreite von 10 MBit bei einer durchschnittlichen Paketgröße von 1000 Bytes<br />
(„avpkt 1000“).