QOS / Traffic Shaping mit der Fritzbox

telen klappt jetzt eigentlich fast perfekt nur wennich 2 gespräche gleichzeitig führe dann ruckelts ab und zu ein bisschen... wie sind denn eine einstellungen bei emule mit max qullen hard limit und neue verbindungen je 5 sek ??
 
40% der leitung in der theorie, ca. 50-60% in der realität
 
ahso d.h. wennich will das emule wenig abbeeommt also so niedrig wie möglich

wie exportiert man eigentlich die ar7.cfg über telnet ?
 
ja
copy/paste?
 
moin moin
also ich habe jetzt folgende einstellungen:

name = "default-out";
bps_limit {
limit_total = 100;
limit_p0 = 20;
limit_p1 = 95;
limit_p2 = 80;
limit_p3 = 0;
}

und

out_rules {
name = "download-tcp-ack";
filter = "tcp and len <= 64";
priority = 3;
limiters = "default-out";
} {
name = "dns";
filter = "udp port 53";
priority = 2;
limiters = "default-out";
} {
name = "fon-rtp";
filter = "udp[8] = 0x80 or udp port 5060";
priority = 3;
limiters = "default-out";
} {
name = "http-requests";
filter = "(tcp dst port 80 or dst port 8080 or dst port 3128) and (len <= 800)";
priority = 2;
limiters = "default-out";
} {
name = "pri-out";
filter = "icmp";
priority = 2;
limiters = "default-out";
} {
name = "p2p";
filter = "ip[1] = 0x02 or tcp port 4662";
priority = 0;
limiters = "default-out";
} {
name = "default";
filter = "";
priority = 1;
limiters = "default-out";
}

aber wennich jetzt emule so ca 10 stunden laufen lass gibt es immernoch starke abruckler wennich 2 gespräche gleichzeitig am s0 führe....

hat noch jemand n verbessrungsvorschlag also ich habs 600er dsl ..
c ya alex
 
Ich hab nur 144kBit/s im up und downlink. Ich kann kaum eine Webseite laden ohne Telefonieprobleme zu bekommen.

Ich stelle mir das so vor:

P0=35
P1=35
P2=35
P3=0

Ist das sinnvoll ? 80 Kbit/s Brutto-Sprachbandbreite sind etwa 60% der Gesamtbandbreite. Mit etwas Abstand wären 35% ok, oder ?

/To
 
das ist blödsinn.
wenn du den normalen traffic auf 35% beschränkst, verschenkst du 70% deines uploads, auch während du nicht telefonierst.
p0=filesharing ist so ok. die werte für p1 und p2 sollten aber höher sein, je nachdem was du in die klassen steckst.
 
shadow000 was sagst du zu meine n klassen ;)
 
sollten so funktionieren.
das problem ist aber nicht nur der durchsatz sondern auch die gleichzeitigen verbindungen.
gerade bei emule sind die teilweise sehr hoch.
 
Hi,

wie wird das mit dem TrafficShaping eigentlich gemacht? Ich kann auf der FBF kein iptables/ipchains/tc oder sowas finden? Ist das was AVM-internes?

Grüße,
Hosi
 
shadow000 schrieb:
das ist blödsinn.
wenn du den normalen traffic auf 35% beschränkst, verschenkst du 70% deines uploads, auch während du nicht telefonierst.
p0=filesharing ist so ok. die werte für p1 und p2 sollten aber höher sein, je nachdem was du in die klassen steckst.

Ich hab das so mal ausprobiert. Filesharing=others mach ich eh nicht, was brauch ich uplink ?

Ich beschränke ja den traffic nicht (bandwidth shaping) sondern verteile Qos Prio. Und wenn kein VoIP Gespräch stattfindet klappt alles wie gehabt.
VoIP soll uneingeschränkte Priorität haben.

//To
 
ja aber wie shadow schon gesagt hat emule hat zu viele verbindungen und anscheinen ist die fox nicht in der lage das zu regeln wenn n gespräch geführt wird....
 
Mir pfeift die Rübe

Oh jaaa gleich platzt mir die Rübe.....
kann ich mich noch an meine DBOX-Zeiten erinnern. Das ist jetzt fast 3 Jahre her. Damals brummte mir auch beim lernen die Rübe....das scheint hir auch der Fall zu sein. :roll:

So nun mal zum eingemachten:

ich möchte mein Emule einbremsen...aber eben nur bei VOIP.
Funktioniert das mit den hier angegebenen Regeln oder ist das eine grundsätzliche Regel?
Also werden zum Beispiel nur 20% dem Emule zugesprochen?
Oder eben nur wenn VoIP ?

2. Frage...wie vergebe ich in der Regel mehrere Ports? Also ich habe nicht nur den 4662 sondern mehrere Ports (Random von 4660 bis 4670)
Wie gestalte ich da die Regel ?


Danke


Der Tom
 
Wenn du 20% für Emule vergibst gilt diese Regel immer.
Wenn du keine TOS-modifizierte Emule Version benutzt kannst du dir den Aufwand aber sparen, dann wird das nie funktionieren...
Schau mal in den Files nach oder verwende die Suche.
Wenn du meine Tos-Anleitung verwendest klappt es sehr gut, allerdings Kann es bei VoIP zu Problemen kommen. Liegt an den vielen Verbindungen.
 
shadow000 schrieb:
Wenn du 20% für Emule vergibst gilt diese Regel immer.
Wenn du keine TOS-modifizierte Emule Version benutzt kannst du dir den Aufwand aber sparen, dann wird das nie funktionieren...
Schau mal in den Files nach oder verwende die Suche.
Wenn du meine Tos-Anleitung verwendest klappt es sehr gut, allerdings Kann es bei VoIP zu Problemen kommen. Liegt an den vielen Verbindungen.

Nunja das ist eben das was ich nicht will. Ich dachte das man die Einstellungen an das VOIP binden kann. Ich habe mal versucht mich zum Thema "verschiedene QOS-Regeln" zu belesen, bin aber nicht gerade schlauer geworden. Ich dachte es müsste eine Möglichkeit geben, bei einem VoIP eine bestimmte QoS-Regel zu laden und beim beenden des Gespräches das Original Qos wieder zu laden.
Aber das geht wohl nicht...oder doch?


Der Tom
 
Nein, das geht nicht.
VoIP hat aber automatisch eine höhere Priorität als anderer Upload.
Wenn sich die Verbindungen in Grenzen halten würden, wäre das Ganze kein Problem...
Sinn würde es machen, Filesharing auf <= 60% zu beschränken und die max. Verbindungen niedrig zu halten. Dann könnte es gehen.
Dazu brauchst du aber auch die Emule Version die ich bei den Files abgestellt habe.
 
Mein Prob ist, das ich eine Mod-Version benutze die ich gerne so behalten würde wollen. Jetzt habe ich aber vom selber-kompeli. keinen blassen Schimmer. Du könntest nicht zufällig meine Version umbasteln?
Ich meine den Sourcecode bekommste ja....Nur mal so am Rande gefragt?!


Der Tom
 
so hab ich das eingestellt. macht das ganze sinn, was könnte man verbessern und geht überhaupt die schreibweise "(tcp port > 5000)" unter filter "p2p" ?

Code:
...
name = "default-out";
                                bps_limit {
                                        limit_total = 100;
                                        limit_p0 = 0;
                                        limit_p1 = 95;
                                        limit_p2 = 90;
                                        limit_p3 = 60;
                                }
...

                      out_rules {
                                name = "download-tcp-ack";
                                filter = "tcp and len <= 64";
                                priority = 2;
                                limiters = "default-out";
                        } {
                                name = "dns";
                                filter = "udp port 53";
                                priority = 1;
                                limiters = "default-out";
                        } {
                                name = "fon-rtp";
                                filter = "udp[8] = 0x80 or udp port 5060";
                                priority = 0;
                                limiters = "default-out";
                        } {
                                name = "http-requests";
                                filter = "(tcp dst port 80 or dst port 8080 or dst port 3128) and (len <= 800)";
                                priority = 1;
                                limiters = "default-out";
                        } {
                                name = "pri-out";
                                filter = "icmp";
                                priority = 1;
                                limiters = "default-out";
                        } {
                        	name = "ftp remote";
                        	filter = "(tcp port 990 or tcp port 2222 or port 2223 or tcp port 2224 or tcp port 2225 or tcp port 2226 or tcp port 3389);
                     	  	priority = 2;
                       		limiters = "default-out";
                        } {
                        	name = "mail";
                        	filter = "(tcp port 25 or tcp port 465)";
                        	priority = 2;
                        	limiters = "default-out";
                        } {
                        	name = "p2p";
                         	filter = "(tcp port > 5000)";
                        	priority = "3";
                        	limiters = "default-out";
                        } {	
                                name = "default";
                                filter = "";
                                priority = 2;
                                limiters = "default-out";
                        }
...
 
cream schrieb:
macht das ganze sinn

nö ;-)

cream schrieb:
was könnte man verbessern

so einiges, siehe unten!

cream schrieb:
und geht überhaupt die schreibweise "(tcp port > 5000)" unter filter "p2p" ?

um ehrlich zu sein: ich habe keine ahnung!
ausprobieren, hier berichten!

...
name = "default-out";
bps_limit {
limit_total = 100;
limit_p0 = 0;
limit_p1 = 95;sollte <p2 sein da sonst im schlimmsten fall keine p2 pakete mehr durchkommen
limit_p2 = 90;
limit_p3 = 60;
}
...
out_rules {
name = "download-tcp-ack";
filter = "tcp and len <= 64";
priority = 2;das muss auf 1 oder 0! das sind die wichtigsten pakete überhaupt
limiters = "default-out";
} {
name = "dns";
filter = "udp port 53";
priority = 1;ok
limiters = "default-out";
} {
name = "fon-rtp";
filter = "udp[8] = 0x80 or udp port 5060";
priority = 0;standard...
limiters = "default-out";
} {
name = "http-requests";
filter = "(tcp dst port 80 or dst port 8080 or dst port 3128) and (len <= 800)";
priority = 1;
limiters = "default-out";
} {
name = "pri-out";
filter = "icmp";
priority = 1;
limiters = "default-out";
} {
name = "ftp remote";
filter = "(tcp port 990 or tcp port 2222 or port 2223 or tcp port 2224 or tcp port 2225 or tcp port 2226 or tcp port 3389);
priority = 2;ok, ab hier wird es sinnlos...
limiters = "default-out";
} {
name = "mail";
filter = "(tcp port 25 or tcp port 465)";
priority = 2;2? da käme es ohnehin hin... 2 ist deine standardklasse
limiters = "default-out";
} {
name = "p2p";
filter = "(tcp port > 5000)";
priority = "3";rundumschlag? nicht zu empfehlen, wobei ich nicht mal weiss obs geht... versuchs mit tos!
limiters = "default-out";
} {
name = "default";
filter = "";
priority = 2;
limiters = "default-out";
}
...
 
Gut, dann will ich auch mal was schreiben.

Erstens @shadow000 und @cream:

Die Klassenreihenfolgen ist 3 > 2 > 1 > 0, also 3 ist die höchste Prio.

Ich teile hier mein Internet mit 7 anderen und da haben sich folgende Einstellungen bis jetzt sehr bewährt:

shapers {
name = "globalshaper";
OutFragmentWhenVoIP = 0;
shaperconnection {
enabled = yes;
targets = "";
name = "Fritz!Box";
limiters {
name = "default-out";
bps_limit {
limit_total = 100;
limit_p0 = 95; meine Filesharing/bandbreitenintensive Klasse, darf 95% der verfügbaren Bandbreite abkriegen
limit_p1 = 60; meine default-Klasse, lange Uploads werden nicht gern gesehen, sollten nicht Klasse 0 alles wegnehmen, also nur 60%
limit_p2 = 80; wichtige Sachen wie remote oder HTTP-Anfragen oder emails (abrufen)
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; klingt interessant, aber wenn aktiviert, spinnt die FB rum
grouping_by_dest_ip = no;
grouping_by_source_port = no;
grouping_by_dest_port = no;
dynamic_balancing = no;
[...]
}
out_rules {
name = "download-tcp-ack-nosyn";
filter = "(tcp[13] & 0x02 = 0) and (len <= 64)"; tcp-ack-Pakete, aber keine mit syn-bit, damit werden syn-floods oder viele anfragen durch FS-Clients nicht zu hoch priorisiert
priority = 3; Klasse 3 tut VoIP nicht weh und man hat immer volle Downloadrate
limiters = "default-out";
} {
name = "fon-rtp"; mit mehreren VoIP-Nutzern sollte man es sich nicht verscherzen
filter = "ip[1] = 8 or udp port 5060"; habe in der FritzBox alle VoIP-Pakete mit ToS=8 markieren lassen. Damit sind andere VoIP-Gespräche von den PCs aus nicht so hoch priorisiert - es soll nur über die FB interfoniert werden
priority = 3; Das ist wirklich wichtiger als aller Upload!
limiters = "default-out";
} {
name = "dns";
filter = "udp port 53";
priority = 2; DNS-Anfragen sind so klein, die muss man nicht in Klasse 3 haben. Außerdem cacht die FB ja...
limiters = "default-out";
} {
name = "filesharing"; jetzt schon die regel für FS, damit nichts dem entgehen kann
filter = "ip[1] = 2 or tcp port 4662 or udp port 4672"; Alle FS-Programme müssen entweder diese Ports nutzen oder ihr ToS-Bit auf 2 setzen. Azureus kann es und wer es nicht macht, fliegt ;)
priority = 0; naja, hinterste Klasse, aber wenn nichts los ist macht das ja nicht
limiters = "default-out";
} {
name = "remote";
filter = "tcp and (port 3389 or port 22)";
priority = 2; ssh und MS-RDP sollten schon flott gehen, in der Klasse 1 ist RDP doch zu langsam (Latenz!)
limiters = "default-out";
} {
name = "http-get/put-requests and https";
filter = "tcp[20:4] = 0x47455420 or tcp[20:4] = 0x50555420 or tcp dst port 443"; Es gibt so viele Ports auf denen HTTP-Server sein können - da check ich doch lieber nach "GET " bzw. "PUT ". Das hat den Vorteil, dass HTTP-Tunneling-Messaging-Programme auch gleich verzögerungsfreier laufen. Nur HTTPS wird noch per Port gefiltert.
priority = 2;
limiters = "default-out";
} {
name = "email";
filter = "tcp and (dst port 110 or dst port 143 or dst port 995 or dst port 993)"; Ja, eigentlich nur damit emails schnell abzurufen gehen. Port 25 (SMTP) ist hier nicht drin, weil das doch zu heftig wäre wenn einer seine 25MB-Dateien schickt und die anderen dann nichts mehr machen können.
priority = 2;
limiters = "default-out";
} {
name = "pri-out";
filter = "icmp"; Ich sehe zwar nicht den Sinn darin, aber vielleicht ist es ja wichtig, also lasse ich die Regel drin
priority = 2;
limiters = "default-out";
} {
name = "default";
filter = "";
priority = 1; Und der Rest darf schön dem FS was wegnehmen, aber sonst nichts
limiters = "default-out";
}
in_rules {
name = "default";
filter = "";
priority = 0;
limiters = "default-in";
}
demasquerade = no;
}
}
So, das sind meine Einstellungen. Meine Erfahrungen sind, wie gesagt, sehr positiv: (alle Anwendungen jeweils ohne softwaremäßige Bandbreitenbeschränkung)
Azureus an (alleine) -> ~21kByte/s Durchsatz, also fast voll
Surfen und Download funktionieren mit voller Geschwindigkeit
Azureus + 1 FTP-Upload -> beide teilen sich ca. 50/50 den Upload.
Download immer noch voll (2MBit/s), surfen teilweise ein wenig langsamer, aber vernachlässigbar
Azureus + Video/Voice-Streaming mit einem anderen Rechner -> Azu schwankt zwischen 5~10kB/s
Wegen der vielen UDP-Pakete ist das Surfen etwas langsamer, aber durchaus erträglich. Download sind trotzdem noch voll möglich, könnten aber etwas einbrechen
irgendwas + VoIP -> keinerlei Probleme mit VoIP
Die Upload-Rate sinkt natürlich entsprechend, aber alles bleibt absolut stabil, auch surfen ist gut möglich.

Dazu muss ich noch sagen, dass ich es nicht eingesehen habe, VoIP mit ISDN-Bandbreiten zu betreiben, also mein Standard-Codec ist G-726/32. GMX kann anscheinend keine G729 oder G723 oder iLBC :( Aber trotzdem hält sich der Einbruch durch VoIP beim Upload auch so in Grenzen.

Ich hoffe, es hilft jemanden ;)

Stefan
 
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.