QOS / Traffic Shaping mit der Fritzbox

Der Filter filter = "tc:rtp,sip"; dürfte mit den komplett neuen Einrichtungen in der ar7.cfg zusammenhängen.

Das tc: verweist dann auf die jeweilige tcclass = "sip"; in den qos rules.

Code:
qos {
        always_set_tos = no;
        rules {
                tcclass = "sip";
                rules = "udp.dport 5060";
        } {
                tcclass = "dns";
                rules = "udp.dport 53";
        } {
                tcclass = "http_req";
                rules = "tcp.dport 80 ip.len <= 800", 
                        "tcp.dport 8080 ip.len <= 800", 
                        "tcp.dport 3128 ip.len <= 800";
        } {
                tcclass = "tcp_ack";
                rules = "ip.proto == tcp ip.len <= 64";
        } {
                tcclass = "icmp";
                rules = "ip.proto == icmp";
        }
}

Es wurden mit dem Update auf Firmware *.33 übrigens alle Trafficsharping-Regeln auf die Standardvorgaben von AVM zurückgesetzt.

Eigene Einstellungen müssen jetzt unter out_rules und qos neu vorgenommen werden.
 
ja perfekt, muss ich se zwar neu schreiben, aber sieht einfacher aus, als das alte...
 
Hallo ich bin hier noch neu im Forum (nicht wundern warum ich vieles noch nicht versteh ;) )

Ich habe das Folgende Problem:

Ich hab die FRITZ!Box Fon WLAN 7170 (Firmware-Version 29.04.33) und 6656/640 Internetanbindung.
Es hängen 3 Pcs dran mein Vater, mein Bruder und ich. Bruder und ich sind gamer und der Vater ist der "Uploader". Wenn mein Vater anfängt upzuloaden dann ist der ping >1000 also ist es fast unmöglich zu zocken.
Gibt es eine Möglichkeit die Priorität von mir und meinen Bruder hochzuschrauben und vom Vater runterzuschrauben ( Vater will nicht die upload rate beschränken). Wenn das möglich ist kann mir jemand bitte die passende Config schreiben (wir zocken hauptsächlich CS:S und WoW).

Die Ips: 1. Mein Bruder: 192.168.178.20
2. Mein Vater: 192.168.178.21
3. Meine: 192.168.178.22
Derzeitige Config:

shapers {
name = "globalshaper";
OutFragmentWhenVoIP = 0;
shaperconnection {
enabled = yes;
targets = "";
name = "Fritz!Box";
limiters {
name = "default-out";
bps_limit {
limit_total = 100;
limit_p0 = 0;
limit_p1 = 95;
limit_p2 = 95;
limit_p3 = 0;
}
pps_limit {
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
min_priority = 0;
max_priority = 3;
grouping_by_source_ip = no;
grouping_by_dest_ip = no;
grouping_by_source_port = no;
grouping_by_dest_port = no;
dynamic_balancing = no;
bps_child_limit {
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
pps_child_limit {
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
shapeOutgoingOnIncomingCounters = no;
} {
name = "default-in";
bps_limit {
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
pps_limit {
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
min_priority = 0;
max_priority = 0;
grouping_by_source_ip = no;
grouping_by_dest_ip = no;
grouping_by_source_port = no;
grouping_by_dest_port = no;
dynamic_balancing = no;
bps_child_limit {
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
pps_child_limit {
limit_total = 0;
limit_p0 = 0;
limit_p1 = 0;
limit_p2 = 0;
limit_p3 = 0;
}
shapeOutgoingOnIncomingCounters = no;
}
out_rules {
name = "fon-rtp";
filter = "tc:rtp,sip";
priority = 3;
limiters = "default-out";
} {
name = "download-tcp-ack";
filter = "tc:tcp_ack";
priority = 2;
limiters = "default-out";
} {
name = "dns";
filter = "tc:dns,sipdns,ntpdns,tr069dns";
priority = 1;
limiters = "default-out";
} {
name = "http-requests";
filter = "tc:http_req,tr069";
priority = 1;
limiters = "default-out";
} {
name = "pri-out";
filter = "tc:icmp";
priority = 1;
limiters = "default-out";
} {
name = "default";
filter = "";
priority = 0;
limiters = "default-out";
}
in_rules {
name = "default";
filter = "";
priority = 0;
limiters = "default-in";
}
demasquerade = no;
 
um das mal kurz zusammenzufassen: das trafficshappig in der box ist sehr dürftig.

ich selbst habe es nicht hinbekommen solche pakete zu priorisieren.
 
Ich komme mit dem neune TrafficSaper Regeln auch nicht klar.

Früher konmnte ich den Upload von p2p Programmen schön begrenzen jetzt funktioniert das ganze nicht mehr.

Hat jemand schon ne regel für emule erstellt die funktioniert?
 
Hallo an alle !

Bin neu hier im Board und habe mit großem Interesse (leider nicht den ganzen) Beitrag zum Thema QoS und der Fritz!Box gelesen.

Hier kommt mir aber doch eine Frage:

in der neuen 33er Firmware gibt man mit tcp.dport z.Bsp. den TCP Destination - Port an... weiß wer wie die Syntax für den Sourceport ist? Ich denke da an z. Bsp.: tcp.sport? oder tcp.srcport?

Vielleicht hat jemand eine Idee dazu :)
 
Fehler in .33 Firmware

Mister2 schrieb:
Der Filter filter = "tc:rtp,sip"; dürfte mit den komplett neuen Einrichtungen in der ar7.cfg zusammenhängen.

Das tc: verweist dann auf die jeweilige tcclass = "sip"; in den qos rules.

Code:
qos {
        always_set_tos = no;
        rules {
                tcclass = "sip";
                rules = "udp.dport 5060";
        } {
                tcclass = "dns";
                rules = "udp.dport 53";
        } {
                tcclass = "http_req";
                rules = "tcp.dport 80 ip.len <= 800", 
                        "tcp.dport 8080 ip.len <= 800", 
                        "tcp.dport 3128 ip.len <= 800";
        } {
                tcclass = "tcp_ack";
                rules = "ip.proto == tcp ip.len <= 64";
        } {
                tcclass = "icmp";
                rules = "ip.proto == icmp";
        }
}

Es wurden mit dem Update auf Firmware *.33 übrigens alle Trafficsharping-Regeln auf die Standardvorgaben von AVM zurückgesetzt.

Eigene Einstellungen müssen jetzt unter out_rules und qos neu vorgenommen werden.

Ich sehe einige Probleme mit der neuen Standard ar7.cfg von AVM (.33) - die Frage nach den neuen tc-Bezeichnern war durchaus berechtigt und ist noch nicht beantwortet.

Einige Bezeichner werden nämlich als Filter gelistet, sind aber gar nicht definiert worden:

  • sipdns
  • ntpdns
  • tr069dns
  • rtp !!
  • tr069

Definiert sind lediglich:

  • sip
  • dns
  • http_req
  • tcp_ack
  • icmp

Das lässt den Verdacht aufkommen, dass RTP-Verkehr gar nicht priorisiert wird und letztendlich gar bis auf Bulk-Niveau abrutscht.

Da während einem VoIP Gespräch Pi mal Daumen mindestens 2000 Mal so viele RTP- wie SIP-Pakete anfallen, ist die Priorisierung von SIP ohne RTP aber ziemlich sinnlos.

Code:
{
          tcclass = "rtp";
          rules = "udp.sport 7078";
}

wäre mein Tipp ;) !

Für parallele Gespräche evtl. noch auf die darüber liegenden Ports auszudehnen...

Dass die arme kleine FBF zu schwach für simples Layer-4-Filtering von ein paar hundert Verbindungen sein soll, halte ich eh für ein (oft zitiertes) Gerücht - das sollte der AR7 locker schaffen. Maschinen-nah gibt es kaum billigere Operationen als zu entscheiden, welche Quelladresse ein Paket hat. Bitweises UND mit einer Maske und ein Test auf Gleichheit mit einer Konstante. Selbst bei 100Mhz ist man da noch im höchstens dreistelligen Nano-Sekunden-Bereich. Beim Scheduling fängt die Programmierkunst dann zwar erst an, aber bei den geringen Anforderungen sollte das auch in O(n)-Zeit machbar sein. Hoffen wir das wenigstens... Welcher Kernel-Code steckt eigentlich hinter dem FBF Traffic Shaper?

Vielleicht hat jemand Lust die Liste für die anderen Bezeichner zu komplettieren...
 
Zuletzt bearbeitet:
Hinweise für IP-gedrosselte Anschlüsse

Betreiber wie Hansenet lassen den DSL-Anschluss mit maximaler Geschwindigkeit laufen und drosseln die Datenrate dann erst auf IP-Ebene. Wenn man das Traffic Shaping der FBF dann auf der automatischen Einstellung lässt ist es wirkungslos.

Für die Manuelle ist es wichtig zu testen ob der Provider seine Geschwindigkeitsangaben brutto oder netto versteht! Beim 4096/192 Tarif von Hansenet ist der Traffic-Shaper der FBF z.B. mit ebensolcher Einstellung stark eingeschränkt. Hansenet drosselt den Verkehr knapp oberhalb von 22 kBs ab, d.h. die richtige Einstellung wäre 176 kBit/s für die FBF, nicht 192 kBit/s! Ansonsten glaubt der Shaper der Box mehr Leitung zu haben als eigentlich zur Verfügung steht und der Shaper von Hansenet verwirft Pakete, die eigentlich priorisiert hätten werden sollen.

Mit korrekter, manueller Upstream-Einstellung und meinem RTP-Fix ist es mir bisher nicht gelungen VoIP-Gespräche upstream-seits noch in die Knie zu zwängen (Bittorrent, etc.).
 
Im Anhang eine gefixte ar7.cfg für die Firmware .33.

Einzige Änderungen:

Code:
{
                tcclass = "rtp";
                rules = "udp.sport 7078",
			"udp.sport 7079",
			"udp.sport 7080",
			"udp.sport 7081",
			"udp.sport 7082";
}

hinzugefügt und

Code:
                speed_in_netto = 4096;
                speed_out_netto = 176;

an "Alice light" angepasst. Funktioniert Spitze!

Vielleicht weiß jemand, wie man Portranges in der neuen Syntax definiert. Damit könnte man das Ganze noch weiter optimieren.
 

Anhänge

  • ar7.zip
    375 Bytes · Aufrufe: 43
Zuletzt bearbeitet:
Hallo,

ich habe eher eine theoretische Frage, zum Traffic Shaping / QoS, da ich denke bereits eine logische Antwort gefunden habe.
Und zwar möchte ich ggf. die Fritz!Box als reines DSL Modem mit dahintergeschaltetem Router einsetzen, da ich so die Möglichkeit habe, mir die DSL Informationen anzeigen zu lassen.
Da der Router dann die Instanz ist, die sich einwählt und den Datenverkehr regelt, ist davon auszugehen, dass Traffic Shaping / QoS in diesem Fall automatisch bei der Fritz!Box abgeschaltet wird.
Das Modem verbindet sich nur noch und reicht die Daten weiter.
Man könnte sich zwar vorstellen, dass man Traffic Shaping bei Nutzung von Modem - PC (ein einzelner, der sich manuell einwählt) Verbindungen einsetzt, aber das wird hier doch nicht so realisiert oder?
Wer genaue Informationen hat und mir diese mitteilt, vielleicht aus dem Source sogar, dem wäre ich sehr dankbar! :)
 
Da muss nichts abgeschaltet werden. Das Traffic Shaping findet hier auf Layer 3 und 4 statt (IP, TCP&UDP). DSL Modems verarbeiten nur bis Layer 2 (ATM nd PPPoE) und ignorieren den restlichen Paketinhalt.
 
IAX2 auf FBF/Speedport W701 V

Hallo Gemeinde,
mit großem Interesse habe ich diesen Beitrag gelesen und bin beeindruckt, was hier möglich ist. :p Nun habe ich eine Frage zum QoS:
Ich möchte 2 Homeofficearbeitsplätze per IAX2 anbinden, im Homeoffice steht je ein ATA, das IAX2 kann (SIP scheidet wegen NAT Problem mit RTP aus, daher IAX2), die an einer Speedport W701 V angeschlossen sind. Nun würde ich gerne den IAX2 Port (UDP 4569) priorisieren. Wie stelle ich das an, geht es bei der Speedport überhaupt ohne umflashen auf Fritzbox? Wenn JA, wie geht es? Baue auf eure Erfahrungen. Alternativ, welcher Router hat brauchbares QoS?
 
Zuletzt bearbeitet:
Hallo,

hat jemand eine Idee wie man die TC Klassen um eine IP (Source oder Destination) erweitern könnte?
Kennt jemand die Syntax?
 
Folgende Klasse identifiziert bei mir Traffic von meinem Torrent-Rechner..

{
tcclass = "p2p";
rules = "ip.src == 192.168.1.22";
}

Subjektiv scheint das auch zu funktionieren.

Die Syntax scheint analog zu sein, zu etwas, das sich N-Code nennt. Hab's selber nur zufällig bei der Suche im Netz gefunden. (Hier: http://www.linuxfocus.org/Deutsch/July2003/article294.shtml#294lfindex7)

Im N-Code gibt es noch weitere Ausdrücke:
# ip.src = die Source-IP Adresse
# ip.dest = die Destination-IP Adresse
# eth.src = MAC Adresse der "Ziel-Machine"
# eth.dst = MAC Adresse des "Source-PCs"
# tcp.hdr = wenn tcp.hdr == 0, dann beinhaltet das Paket keinen gültigen TCP Header, bei tcp.hdr == 1 schon
# tcp.dport = TCP Destination Port
# tcp.sport = TCP Source Port
# ip.blob = Inhalt des Payloads eines Pakets (ohne Header)
# "UAPRSF" bedeutet das URG,ACK,PSH,RST,SYN und FIN gesetzt sind

Ich weiss jetzt nicht, was davon geht und was nicht..

Viel Spass beim experimentieren!
 
Hi everyone,

I don't speak German, but I managed to understand most of the things you said in this thread.

I have a fritz!box 7170 and I am trying to do some QoS on it. Initially I patched it from the de version to the international version.

What I have figured out is that the qos section sets the filters. The filters are in Ethereal's filter syntax.
So a filter like this
Code:
not (tcp.port == 80) and not (tcp.port == 25) and ip.addr == 192.168.0.1
is referring to Non-HTTP and non-SMTP to/from 192.168.0.1

What I cannot understand is the shaper/limiter sections.
Someone said that
Code:
limit_p0 = 0;
means no limit.
So this means that
Code:
limit_p0 = 1;
will use the less bandwidth than
Code:
limit_p1 = 99;
or vise-versa?

And do I have to have limits sorted? i.e.
limit_p0 = 10;
limit_p1 = 40;
limit_p2 = 20;
limit_p3 = 0;
is acceptable?

And does AVM say anything about QoS configuration?
Because in http://www.voipon.co.uk/avm-fritzbox-fon-p-287.html is says
Differential quality of service (QoS) for optimum voice and data communication

Thank you, and sorry again for not writing in German
 
Hi yiourkas,

I'm no expert in these things either, but You should have a look at some of the postings ahead.

Someone said that

limit_p0 = 0;

means no limit.

that's right . . .

So this means that

limit_p0 = 1;

will use the less bandwidth than

limit_p1 = 99;

no, these are the limits, the level can take out of the rest it will get. so every level gets a limit. Zero meens unlimited, less one hundred means percent and more means real value.

limit_p0 = 1; means that Your lowest level 0 only gets 1 percent of the rest of bandwidth. Because its the lowest level it's senseless. The lowest level should always get 100%, because its the least to get performance and why not giving the rest? So that limit should always be
limit_p0 = 0;

And do I have to have limits sorted? i.e.
limit_p0 = 10;
limit_p1 = 40;
limit_p2 = 20;
limit_p3 = 0;
is acceptable?

No, as far as I read in here this doesn't make any sense at all.
Look above and You'll see the limit of bandwidth for level 0 (lowest) should be 0 (unlimited)
limit_p0 = 0;
The highest level never should be unlimited, because if there's high traffic, the lower levels won't get any performance. So mostly You see 90 to 95 percent over here.
limit_p3 = 90;
The limits for levels in between depend on what You send through them, but as far as I read in here, You shouldn't send less than 50 percent.

So something like
limit_p0 = 0;
limit_p1 = 60;
limit_p2 = 80;
limit_p3 = 90;

looks as if it should be quite ok (or even more for P1 and P2).

There was one of the guys who explained this rather perfect and he looked like he knew what he was talking about. So may be, You should re-read the postings above . . .

More questions(translations)? Send me a mail . . .
 
Zuletzt bearbeitet:
Wenn ich einer lokalen IP eine Priorität
zuweisen möchte... ist das dann so richtig???


} {
name = "Rechner XYZ";
filter = "host 192.168.1.20";
priority = 3;
limiters = "default-out";
} {


Gruß
Tim
 
Zuletzt bearbeitet:
zu langsam

Hallo, tschuldigung, dass ich eine evt. schon gestellte Frage nochmals stelle.
Ich habe keine große Ahnung von Netzwerken.
Habe es geschafft die 7270 direkt am das VDSL 2 Moden von T. Home anzuschließen und komme auch ins Internet.
Ich habe auch die Modifikation
Code:
vccs {
                VPI = 1;
                VCI = 32;
                traffic_class = atm_traffic_class_UBR;
                pcr = 0;
                scr = 0;
                priority = 0;
                dsl_encap = dslencap_pppoe;
                vlancfg {
                        vlanencap = vlanencap_class_prio;
                        vlanid = 7;
                        vlanprio = 0;
                }
                ipbridgeing = no;
                connections = "internet", "voip";

vorgenommen und die Firmware Version 54.04.57 .

Trotzdem habe ich bei "Speedmeter" nur einen Download von knapp über 4000 kbit/s.
Wenn das 7270 hinter dem Speedport W701V angeschlossen ist, komme ich auf über 33000 kbit/s.. Habe VDSL 50.

Würde gerne das Speedport weglassen.

Kann mir jemand mit einer konkteten Anleitung helfen?

Gruß
Iceweasle
 
Zuletzt bearbeitet von einem Moderator:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.