[Frage] Bandbreite limitieren auf Fritzbox 3170 mit "bps_limit"

misterfoo

Neuer User
Mitglied seit
27 Sep 2013
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Hallo.


TL;DR: Was bedeutet "bps_limit" und "pps_limit" in shaperconnection? Kann man damit die Bandbreite beschränken?


In einem Haushalt mit mehreren Personen und einer relativ kleinen Anbindung (DSL 3000, aktuelle Synchronisation auf 3.456kbit/s down und 448kbit/s up) gibt ein eine Person, die mit ihrem Handy immer per Dropbox Fotos und Videos teilt. Dropbox nimmt sich dafür immer den kompletten Upstream, was bedeutet, man kann nichtmal mehr Internetseiten aufrufen. Mir wurde gesagt, man kann in den Dropbox-Einstellungen (Iphone) auch keine Grenze einstellen. Mit dem automatischen Sync durch das Einwählen ins WLAN ist es also immer garantiert, dass für mehrere Minuten (normalerweise 15) keine Verbindung ins Internet möglich ist. Der kleine Upstream hilft bei vielen Fotos natürlich kräftig mit die Verbindung solange wie möglich zu unterbrechen.

Meine geflashte Fritzbox (Freetz 1.1) hat die Datei /var/flash/ar7.cfg, in der ich auch schon einige Priorisierungsmaßnahmen für Onlinespiele eingebaut habe. Dabei habe ich einfach eine Regel im Abschnitt "qos" erstellt und dann im Abschnitt "shaperconnection" in den Unterabschnitten "out_rules" bzw. "in_rules" die entsprechende hohe Priorität angegeben. Das funktioniert wunderbar.

Beim Dropbox-Problem funktioniert das leider überhaupt nicht. Im Abschnitt "shaperconnection" gibt es aber noch folgenden Teil:

Code:
                        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;
                        }

"bps_limit" hört sich nach "Bits Per Second" an, "pps_limit" wiederum nach "Packets per Second". Die Zahlen verwundern mich allerdings. Bei dem "default-out"-Limiter steht "limit_total = 100" und dann 2mal "95". Bedeutet dies, dass 100% zur verfügung stehen und Priorität 1 und Priorität 2 sich jeweils 95% des Upstreams nehmen dürfen, solange keine höhere Priorität ihren Teil verlangt?

Meine generelle Idee war dabei jetzt einfach einen weiteren Limiter zu erstellen, der über eine passende out_rule, die wiederum eine passende "qos"-Regel behinhaltet dann den Upstream regelt. Alternativ alles über den Dropbox-Traffic zu priorisieren.

Oder habe ich alles falsch verstanden und es gibt gar keine Limitierung, wie ich sie mir vorstelle? Beziehungsweise, kann ich überhaupt einen konkurierenden Limiter hinzufügen?

Zum Abschluss alle relevanten Abschnitte meiner ar7.cfg:
Code:
        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 = "steam-games-out";
                                filter = "tc:steamgamesout";
                                priority = 3;
                                limiters = "default-out";
                        } {
                                name = "default";
                                filter = "";
                                priority = 0;
                                limiters = "default-out";
                        }
                        in_rules {
                                name = "steam-games-in";
                                filter = "tc:steamgamesin";
                                priority = 3;
                                limiters = "default-in";
                        } {
                                name = "default";
                                filter = "";
                                priority = 0;
                                limiters = "default-in";
                        }
                        demasquerade = no;
                }
        }
        RunVoIPDSLAutodetect = 0;
        accesslist_version = 1;
}

/* [...] */


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";
        } {
                tcclass = "steamgamesout";
                rules = "udp.dport >= 27015 udp.dport <= 27030";
        } {
                tcclass = "steamgamesin";
                rules = "udp.sport >= 27015 udp.sport <= 27030";
        } {
                tcclass = "limitdropbox"; /* Regel, die greifen soll */
                rules = "tcp.src == 192.168.178.38"; /* IP des Handys */
        }
}

Danke im Voraus für Antworten.
 
Zuletzt bearbeitet:
Das würde mich auch brennen interessieren. Kann man eine Bandbreitenbeschränkung für einzelne IPs erstellen?
 
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.