QoS: Porovnání verzí

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání
(Založena nová stránka s textem „Místo shromaždující poznatky o řízení provozu na APčkách v HKFree === Hotové scripty === ==== Řešení od PaTaNa (používané v Dobrušce) ==…“)
 
Řádek 1: Řádek 1:
 
Místo shromaždující poznatky o řízení provozu na APčkách v HKFree
 
Místo shromaždující poznatky o řízení provozu na APčkách v HKFree
  
=== Hotové scripty ===
+
=== Další informace zde na Wiki ===
 +
Starší stránka z roku 2006 zabývající se QoS na linuxu - [[QoS - linux]]
  
==== Řešení od PaTaNa (používané v Dobrušce) ====
+
===Hotové scripty===
 +
 
 +
====Řešení od PaTaNa (používané v Dobrušce)====
 
Při řešení problematiky s občasným vytížením linky od stahovačů a s tím nefunkční IPTV jsem se rozhodl ke kroku pokusit se mírně shapovat u hraničního dobrušského routeru spolu s prioritizací provozu. Script i s popisem nabízím "široké veřejnosti". Víc hlav, víc ví a hlavně, než to začnu bezhlavě cpát na <code>wiki</code>, třeba se zde objeví ještě pár připomínek či nápadů pro vylepšení.
 
Při řešení problematiky s občasným vytížením linky od stahovačů a s tím nefunkční IPTV jsem se rozhodl ke kroku pokusit se mírně shapovat u hraničního dobrušského routeru spolu s prioritizací provozu. Script i s popisem nabízím "široké veřejnosti". Víc hlav, víc ví a hlavně, než to začnu bezhlavě cpát na <code>wiki</code>, třeba se zde objeví ještě pár připomínek či nápadů pro vylepšení.
  
* Otestováno (v provozu) na jádře: <code>4.9.0-8-amd64</code> distribuce <code>debian-based</code>.
+
*Otestováno (v provozu) na jádře: <code>4.9.0-8-amd64</code> distribuce <code>debian-based</code>.
* Využívané prostředky: <code>iproute2</code>, <code>ipset</code> (doplněk, potřeba doinstalovat <code>apt install ipset</code>)
+
*Využívané prostředky: <code>iproute2</code>, <code>ipset</code> (doplněk, potřeba doinstalovat <code>apt install ipset</code>)
* Stručný popis fungování:
+
*Stručný popis fungování:
  
* <code>tar</code> obsahuje dva soubory: <code>qos/traffic-shaping</code> (soubor bash scriptů pro definovanou správu QoS) a <code>qos/ipset_list</code> (základní "balík" ip address pro filtraci provozu specializováno na IPTV, možno doplňovat/editovat)
+
*<code>tar</code> obsahuje dva soubory: <code>qos/traffic-shaping</code> (soubor bash scriptů pro definovanou správu QoS) a <code>qos/ipset_list</code> (základní "balík" ip address pro filtraci provozu specializováno na IPTV, možno doplňovat/editovat)
* spuštění: <code>qos/traffic-shaping start</code> vytvoří QoS definovaný defaultně pro Dobrušku (300Mbps <code>download</code>, 300 Mbps <code>upload</code>, 40Mbps <code>vyhrazený traffic pro IPTV</code>), možno změnit individuálně při definování proměnných před spouštěcím scriptem (příklad):
+
*spuštění: <code>qos/traffic-shaping start</code> vytvoří QoS definovaný defaultně pro Dobrušku (300Mbps <code>download</code>, 300 Mbps <code>upload</code>, 40Mbps <code>vyhrazený traffic pro IPTV</code>), možno změnit individuálně při definování proměnných před spouštěcím scriptem (příklad):
  
 
  1/1 GBps connection 110 Mbps IPTV:
 
  1/1 GBps connection 110 Mbps IPTV:
 
  DOWNLINK_RATE=1000 UPLINK_RATE=1000 IPTV_RATE=110 /root/qos/traffic-shaping start
 
  DOWNLINK_RATE=1000 UPLINK_RATE=1000 IPTV_RATE=110 /root/qos/traffic-shaping start
  
* pro shapping jako <code>classful qdisc</code> zvoleno <code>HTB</code> s využitím <code>SFQ</code> algoritmu na ''listech'' (prostudujte na Google ) - defaultní <code>SFQ_PERTURB=10</code>, možno znovu změnit přidáním <code>SFQ_PERTURB=xx</code> před spouštěcím skriptem
+
*pro shapping jako <code>classful qdisc</code> zvoleno <code>HTB</code> s využitím <code>SFQ</code> algoritmu na ''listech'' (prostudujte na Google ) - defaultní <code>SFQ_PERTURB=10</code>, možno znovu změnit přidáním <code>SFQ_PERTURB=xx</code> před spouštěcím skriptem
* skript umožňuje následující akce: <code><start|stop|restart|status|save-list> [--verbose|-v]</code>
+
*skript umožňuje následující akce: <code><start|stop|restart|status|save-list> [--verbose|-v]</code>
* definovaná struktura <code>qdisc</code> pro '''upload''' (dev: <code>eth0</code>) v defaultu:
+
*definovaná struktura <code>qdisc</code> pro '''upload''' (dev: <code>eth0</code>) v defaultu:
  
 
       root 1: (HTB)
 
       root 1: (HTB)
Řádek 26: Řádek 29:
 
           10: SFQ (perturb 10)
 
           10: SFQ (perturb 10)
  
* definovaná struktura <code>qdisc</code> pro '''download''' (dev: <code>ifb-eth0</code>) v defaultu:
+
*definovaná struktura <code>qdisc</code> pro '''download''' (dev: <code>ifb-eth0</code>) v defaultu:
* <code>ifb</code> je virtualizované rozhraní, na které je zrcadlen provoz z defaultního <code>eth</code> a následně filtrováno pro shaping
+
*<code>ifb</code> je virtualizované rozhraní, na které je zrcadlen provoz z defaultního <code>eth</code> a následně filtrováno pro shaping
  
 
       root 1: (HTB)
 
       root 1: (HTB)
Řádek 50: Řádek 53:
 
  (perturb 10)  (perturb 10)  (perturb 10)  (perturb 10)
 
  (perturb 10)  (perturb 10)  (perturb 10)  (perturb 10)
  
=== Zdroje ===
+
===Zdroje===
 
Stránka zabývající-se problémem "bufferbloat" a QoS frontami: https://www.bufferbloat.net/projects/codel/wiki/Cake/
 
Stránka zabývající-se problémem "bufferbloat" a QoS frontami: https://www.bufferbloat.net/projects/codel/wiki/Cake/

Verze z 23. 11. 2021, 12:29

Místo shromaždující poznatky o řízení provozu na APčkách v HKFree

Další informace zde na Wiki

Starší stránka z roku 2006 zabývající se QoS na linuxu - QoS - linux

Hotové scripty

Řešení od PaTaNa (používané v Dobrušce)

Při řešení problematiky s občasným vytížením linky od stahovačů a s tím nefunkční IPTV jsem se rozhodl ke kroku pokusit se mírně shapovat u hraničního dobrušského routeru spolu s prioritizací provozu. Script i s popisem nabízím "široké veřejnosti". Víc hlav, víc ví a hlavně, než to začnu bezhlavě cpát na wiki, třeba se zde objeví ještě pár připomínek či nápadů pro vylepšení.

  • Otestováno (v provozu) na jádře: 4.9.0-8-amd64 distribuce debian-based.
  • Využívané prostředky: iproute2, ipset (doplněk, potřeba doinstalovat apt install ipset)
  • Stručný popis fungování:
  • tar obsahuje dva soubory: qos/traffic-shaping (soubor bash scriptů pro definovanou správu QoS) a qos/ipset_list (základní "balík" ip address pro filtraci provozu specializováno na IPTV, možno doplňovat/editovat)
  • spuštění: qos/traffic-shaping start vytvoří QoS definovaný defaultně pro Dobrušku (300Mbps download, 300 Mbps upload, 40Mbps vyhrazený traffic pro IPTV), možno změnit individuálně při definování proměnných před spouštěcím scriptem (příklad):
1/1 GBps connection 110 Mbps IPTV:
DOWNLINK_RATE=1000 UPLINK_RATE=1000 IPTV_RATE=110 /root/qos/traffic-shaping start
  • pro shapping jako classful qdisc zvoleno HTB s využitím SFQ algoritmu na listech (prostudujte na Google ) - defaultní SFQ_PERTURB=10, možno znovu změnit přidáním SFQ_PERTURB=xx před spouštěcím skriptem
  • skript umožňuje následující akce: <start|stop|restart|status|save-list> [--verbose|-v]
  • definovaná struktura qdisc pro upload (dev: eth0) v defaultu:
     root 1: (HTB)
          |
         1:1 (HTB) rate:300mbit ceil:300mbit
          |  
         10: SFQ (perturb 10)
  • definovaná struktura qdisc pro download (dev: ifb-eth0) v defaultu:
  • ifb je virtualizované rozhraní, na které je zrcadlen provoz z defaultního eth a následně filtrováno pro shaping
     root 1: (HTB)
           |
          1:1 (HTB) rate:300mbit ceil:300mbit
       /                                      \
1:11 (HTB) rate:295mbit ceil:300mbit prio:2    1:12 (HTB) rate:5mbit ceil:300mbit prio:1
                    |                                               |
                 /     \                                       12: SFQ (perturb 10)
                /       \
               /         \
    1:111 (HTB) "TV"      1:112 (HTB) "others"
rate:40mbit ceil:55mbit  rate:260mbit ceil:300mbit
         prio:1                   prio:2
            |                        |
         /     \                  /     \
        /       \                /       \
1:1111 (HTB)  1:1112 (HTB)  1:1121 (HTB)  1:1122 (HTB)
SledovaniTV       O2TV       HTTP down     other down
     |              |            |              |
 1111: SFQ      1112: SFQ    1121: SFQ      1122: SFQ
(perturb 10)  (perturb 10)  (perturb 10)  (perturb 10)

Zdroje

Stránka zabývající-se problémem "bufferbloat" a QoS frontami: https://www.bufferbloat.net/projects/codel/wiki/Cake/