.titleBar { margin-bottom: 5px!important; }

QOS / Traffic Shaping mit der Fritzbox

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von shadow000, 3 Juni 2005.

  1. shadow000

    shadow000 Mitglied

    Registriert seit:
    25 Apr. 2005
    Beiträge:
    653
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das Trafficshaping auf der Box ist leider sehr rudimentär...
    Aus diesem Grund will ich das Trafficshaping selbst anpassen.

    Hier der betreffende Teil aus der ar7.cfg
    So weit so gut...
    Erst mal einiges von dem ich keine Ahnung habe, was aber Leuten mit Linuxerfahrung etwas sagen könnte.
    Ich bin mir nicht sicher wie das mit den Unterklassen funktionieren soll, bin mir aber relativ sicher dass man ausser der vorhandenen Uploadklasse weitere anlegen kann.
    Limits kann man scheinbar nur nach oben setzen, d.h. die Klassen beschränken. Die Klassen haben wohl auch keine eigenen Prioritäten.
    Nicht schön das Ganze aber besser als nichts...

    Ich würde jetzt gerne den Traffic noch feiner filtern, z.B. nach TOS bits.
    Weiis jemand wo im TCP Header sich das Ding versteckt?
    Ein Filter analog "udp[8] = 0x80" sollte dann machbar sein.
    Hat jemand weitere Bastelideen, besonders was den fehlenden Minimalwert der Klassen angeht?
     
  2. shadow000

    shadow000 Mitglied

    Registriert seit:
    25 Apr. 2005
    Beiträge:
    653
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Newsflash:

    Das mit TOS funktioniert, und um einiges einfacher als ich dachte!

    {
    name = "p2p";
    filter = "ip[1] = 2";
    priority = 0;
    limiters = "default-out";
    }


    Da bei meinem P2P Upload das TOS Bit gesetzt ist kriege ich den Upload so relativ gut unter Kontrolle.
    Schade nur dass ein Programm fast die gesamte Bendbreite abbekommt und das andere fast nichts...

    Noch ne Frage zur Firewall:
    reject udp any any range 137 139
    Weiss jemand was die beiden any bedeuten?
     
  3. DM41

    DM41 Moderator
    Forum-Mitarbeiter

    Registriert seit:
    26 Apr. 2005
    Beiträge:
    7,147
    Zustimmungen:
    21
    Punkte für Erfolge:
    38
    Ort:
    Niederrhein
    Nur ein Tipp: lokale IP und remote IP?
     
  4. shadow000

    shadow000 Mitglied

    Registriert seit:
    25 Apr. 2005
    Beiträge:
    653
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Nicht nur...
    Auch Ausdrücke wie "host 255.255.255.255", "149.1.1.0 255.255.255.0", "host 202.106.185.127" sind zugelassen...
    Weiss jemand die genaue Semantik?
    Und auf was ist der Port bezogen?
    Wie sperre ich beispielsweise einzig und allein eingehende Ports?
    Also z.B. Sperren aller Verbindungen auf den lokalen Port 80.
    Wie wäre es dann mit Verbindungen die vom entfernten Port xy kommen?


    P.S.:
    Die default Shaper Klasse lässt sich nicht via "limit_p4 = ..." erweitern, das gefällt der Box gar nicht ;-)
     
  5. Kintac

    Kintac Neuer User

    Registriert seit:
    15 Jan. 2005
    Beiträge:
    135
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wie kann man nun jetzt die FBF dazu veranlassen den VOIP- Verkehr besser zu bevorzugen ?

    Kann man z.B. einstellen, daß bei VOIP- Verkehr der normale Download nur noch eine Rate von 90kb/s bekommt, oder Upload nur noch 6kb/s ?
    Kann man dem VOIP- Verkehr Mindest Up-/Download Raten geben ?
    oder IP- Pakete vom VOIP priorisieren ( Type of Service- Feld ) ?
     
  6. shadow000

    shadow000 Mitglied

    Registriert seit:
    25 Apr. 2005
    Beiträge:
    653
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Für Leute die kein Filesharing betreiben ist die Box eigentlich schon recht gut konfiguriert.

    Die Original-AVM Konfiguration teilt den Upload in 4 Klassen:
    3 (100%) - VoIP
    2 ( 95%) - TCP ACK
    1 ( 95%) - DNS, ICMP, HTTP/PROXY Requests
    0 (100%) - Rest...


    VoIP wird priorisiert, nicht nach TOS sondern nach Port / Packets.
    Ob man Unterklassen einrichten oder gar einen Mindestupload festlegen kann weiss ich nicht. Dazu kenn ich zu wenige der Variablen in der Config.
    dynamic_balancing dürfte ein guter Ansatz für dein Vorhaben sein.
    edit: "dynamic balancing" funktioniert nicht. Auch wenn "ShapeIncomingOnOutgoingCounters" aktiviert wird zeigen die Regeln keine Wirkung mehr :-(
    Wäre toll wenn noch jemand durch ein bisschen herumprobieren herausfindet was die fehlenden Variablen bedeuten!

    Naja, nun zum spaßigen Teil ;-)
    Da das für Filesharing nicht unbedingt gut genug ist hab ich das Ganze etwas umgebaut...
    3 (100%) - VoIP, TCP ACK
    2 ( 90%) - DNS, ICMP, HTTP Requests, PORT 21, 22, 23, 25, 587, 5900
    1 ( 95%) - Rest...
    0 ( 50%) - TOS 0x02 > 1024


    Meine Regeln sehen übrigens so aus:
    -"ip[1] = 0x02 and len > 1024" (TOS 0x02 gesetzt in Azureus & eMule, >1024 um nur den Datenupload zu erwischen)
    -"(tcp dst port 21 or dst port 22 or dst port 23 or dst port 25 or dst port 587 or src port 5900) and ( ip[1] != 0x02)"; (587: gmail smtp)

    Im Moment läuft nur Azureus und der reale Upload gemessen von der Fritzbox pendelt zwischen 10k und 15k.
    Wenn ich mir den Graphen von Azureus so anschaue sind aber entweder meine Regeln verbesserungswürdig oder aber der Shaper auf der Fritzbox ;-)
     

    Anhänge:

  7. shadow000

    shadow000 Mitglied

    Registriert seit:
    25 Apr. 2005
    Beiträge:
    653
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Und hier der erste Testbericht:

    Start von Azureus
    Azureus steigert sich bei den richtigen Files auf ca. 200k und bleibt nach 10min relativ stabil.
    Der Upload fällt von anfangs ca. 12k auf ca. 4k.

    Start von eMule
    Der Download von Azureus bricht auf ca. 100k ein.
    Der Upload sinkt weiter auf ca. 2k.

    Stabiler Zustand
    Azureus hat wieder stabile 140-160k Download. Kein Download bei eMule, Quellen werden aber abgefragt.
    Der Azureus Upload liegt bei ca. 1-3k. Kein Upload bei eMule!

    Deaktivieren von TOS in eMule
    Azureus belegt ca. 110k Downstream. eMule Downloads schlagen zu 85% fehl, dennoch bis zu 20k.
    Azureus bei unter 2, teilweise unter 1k Upload, eMule zwischen 0.5 und 5k schwankend.

    VoIP Telefonat ausgehend
    Die Verbindungsqualität ist ok, keine Aussetzer oder andere Probleme.
    Der Download im Azureus bricht auf 50k ein, im eMule verschwindet er schlagartig ins Nichts.
    Der Azureus Upload bleibt bei 1-2k, im eMule bricht er wie der Doenload total zusammen.

    Nach dem Hangup
    Der Bittorrent Download geht so schnell wieder hoch wie er gekommen ist, der Upload bleibt weiterhin bei 2-3k.
    Der Esel liegt 5 Minuten später immer noch am Boden, langsam zeigen sich wieder erste Transfers.

    Fazit
    Es scheint zumindest möglich zu sein, beide Filesharing Programme gleichzeitig zu betreiben, wenn auch nur mehr oder minder erfolgreich.
    Wenn es um Unterbrechungen geht ist Bittorrent klar im Vorteil. Azureus scheint auch allgemein etwas durchsetzungsfähiger als eMule, wenn es um die Netzwerkresourcen geht.
    Der tatsächliche Upload über die Box lag übrigens nachdem beide Programme gestartet waren ständig bei 10-15k, der Download zwischen 90 und 150k.
    Surfen war die ganze Zeit über nebenbei prima möglich, auch wenn die DNS-Anfragen teilweise etwas lange gedauert haben.

    P.S.:
    Kann das mal jemand mit der Standard-Config von AVM probieren? ;-)
     
  8. eis

    eis Neuer User

    Registriert seit:
    8 Juni 2005
    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    also ich kann auf jeden Fall schonmal sagen, dass bei 'alles Standard' und emule auf 20up/80down/50Connections gesetzt die fbf nicht wirklich 'formt'...

    merkwürdigerweise tauchen Aussetzer erst nach ca. 1-2 Min Gespräch auf - dann aber teilweise recht übel... :?
     
  9. Donfisch

    Donfisch Neuer User

    Registriert seit:
    15 Juni 2005
    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    bitte schick mir die feritge image datei

    kannst du mir bitte deine fertige image datei schicken damit ich nur noch firmware update machen brauche hab nämlich nich so die ahnung von dem ganzen telnet kram und kann die ar7.cfg selbst nich ändern.
    Donfisch@online.de

    wäre wirklich nett
     
  10. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Hi.
    Die ar7.cfg ist in der Firmware nicht gespeichert, die ist im Flash.
    Da musst du leider selbst hand anlgegen...

    MfG Oliver
     
  11. Donfisch

    Donfisch Neuer User

    Registriert seit:
    15 Juni 2005
    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    wie sieht das aus mit dem tos bit also ich hab das jetzt soweit da alles eingetragen und müsste theoretisch funktionieren praktisch allerdings noch nicht ich kann immer noch nicht störungsfrei telen wenn mein emule an is...ja der tos bit wie setz ich den beim emule.
     
  12. Donfisch

    Donfisch Neuer User

    Registriert seit:
    15 Juni 2005
    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ach übrigens brauch ich doch gar keine telnet session mehr zu machen bei der neuen firmwaer die am ende 66 heisst da kann ich die einstellung aus dem fritzmenü in ner textdatei speichern die da bequem ändern und dann die einstellungen wieder auf der box übernehmen...sagt mir wenn ich mich irre
     
  13. DM41

    DM41 Moderator
    Forum-Mitarbeiter

    Registriert seit:
    26 Apr. 2005
    Beiträge:
    7,147
    Zustimmungen:
    21
    Punkte für Erfolge:
    38
    Ort:
    Niederrhein
    Du irrst Dich. Die Datei ist mit einer Checksumme versehen und wirft ein Fehlermeldung aus beim Importversuch.

    Edit: Die Prüfung der Checksumme kann man aber ausschalten, indem man "NoChecks=yes" in die Datei schreibt.
    Einfach über der Zeile "**** CFGFILE:ar7.cfg" einfügen.
     
  14. shadow000

    shadow000 Mitglied

    Registriert seit:
    25 Apr. 2005
    Beiträge:
    653
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beim normalen eMule lässt sich das Bit leider nicht setzen!
    Dazu müsstest du dir eine eigene Version kompilieren. Mehr Infos und Sources findest du hier:
    http://groups-beta.google.com/group/spline.fli4l.filesharing/browse_frm/thread/99f4c8f985ff729e/5ce32f5771880501?tvc=1hl=en#5ce32f5771880501

    Bis dahin kannst du dir mit folgendem Filter helfen:
    filter = "tcp port 4662";
    Oder wenn du einen anderen Port verwendest eben "tcp port 4662 or port YX"

    Wenn du Glück hast kompilier ich dir am Wochenende schnell eine aktuelle Version ;-)
     
  15. intripoon

    intripoon Neuer User

    Registriert seit:
    6 Juni 2005
    Beiträge:
    1
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi !

    Hat jemand mal versucht, andere Begriffe in eine Traffic Shaping Rule einzutragen als die die von avm benutzt werden? Ich fänds klasse wenn man was schreiben könnte ala

    filter = "tcp src host {ip}"

    Hat das schon jemand probiert? Evtl. mit einer anderen Syntax und kann von dem Ergebnis berichten?

    Weiss jemand was passiert, wenn es 2 Regeln gibt die sich teilweise überlappen. Welche Regel wird dann genommen?

    Sind diese strings evtl. irgendwem aus Linux Software bekannt? Könnte mir vorstellen dass da die Traffic Shaping Regeln ähnlich definiert werden und man davon Syntax besser schätzen könnte.

    Hat schon jemand versucht rauszufinden wie die checksumme beim export file berechnet wird? Ist da ectl. ein script auf der fritzbox drauf dass die berechnet und runterladbar wäre um selber sein modifiziertes file mit einer zu versehen?
     
  16. shadow000

    shadow000 Mitglied

    Registriert seit:
    25 Apr. 2005
    Beiträge:
    653
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Die Syntax ist die vom Berkley Packet Filter / tcpdump / libpcap
    Sagt zumindest der freundliche AVM Support ;-)
     
  17. Donfisch

    Donfisch Neuer User

    Registriert seit:
    15 Juni 2005
    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ja danke aber wie zur hölle ändere ich dann den kram in der ar7.cfg wenn ich die checksumme noch verändern muss, muss das ja gewiss mit ner software passieren weil ausdenken :) is bissl schwierig...

    sagt mir bitte wie es funktioniert so rasst ich aus fahr nach montabaur zu 1und1 und schmeiss 2 handgranaten in den laden

    danke
     
  18. shadow000

    shadow000 Mitglied

    Registriert seit:
    25 Apr. 2005
    Beiträge:
    653
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    telnet image runterladen, per update installieren,
    dann per telnet die ar7.cfg auf der box editieren.
     
  19. DM41

    DM41 Moderator
    Forum-Mitarbeiter

    Registriert seit:
    26 Apr. 2005
    Beiträge:
    7,147
    Zustimmungen:
    21
    Punkte für Erfolge:
    38
    Ort:
    Niederrhein
    Eigentlich sollte ich es Dir erst sagen, nachdem Du den Laden in die Luft gesprengt hast, aber ich bin ja nicht so. :)
    Ich verweise mal wieder auf die Schritt-für-Schritt Anleitung von abergdolt:
    http://www.ip-phone-forum.de/forum/viewtopic.php?p=143275&highlight=#143275

    Dort geht es um die Änderung der ENUM-Funktion in der voip.cfg. Du mußt die Anleitung nur auf die ar7.cfg enstprechend anwenden (ist im selben Verzeichnis wie die voip.cfg)
     
  20. Donfisch

    Donfisch Neuer User

    Registriert seit:
    15 Juni 2005
    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ;-) alles klar aber mal ne andere frage also ich hab das ja schonmal geändert mit telnet weiss halt nur nich ob das wirksam geworden is weils halt immernoch nicht funzt und wenn ich dann hingeh und in dem interface von der fritzbox einstellungen speicher und der das in der textdatei ablegt und ich öffne die dann und da sind die einstellungen immer noch so wie ichs eingetragen hab dann müsst das doch korrekt sein oder?