Soru Aşırı bant genişliği linux htb'de nasıl dağıtılır?


100kbps bant genişliğim var

                - Root - 100kbps
                /       \
               /         \
              /           \
             /             \
            /               \
           /                 \
Assured  30kbps             10kbps

Ve A Sınıfı 30kbps ve B Sınıfı 10kbps'yi temin ederim. 60kbps yedek veya aşırı bant genişliği

İçinde HTB kılavuzu diyor ki

Kullanılmayan herhangi bir bant genişliği, ihtiyaç duyulan herhangi bir sınıf tarafından kullanılabilir (ayrılan payın oranıyla).

Ancak, yukarıdaki ascii sanatında gösterilen aşağıdaki testi çalıştırdığımda:

tc qdisc add dev eno1 root handle 1: htb
tc class add dev eno1 parent 1: classid 1:1 htb rate 100kbps ceil 100kbps
tc class add dev eno1 parent 1:1 classid 1:10 htb rate 10kbps ceil 100kbps
tc class add dev eno1 parent 1:1 classid 1:20 htb rate 30kbps ceil 100kbps
tc filter add dev eno1 protocol ip parent 1:0 prio 1 u32 match ip dport 8000 0xffff flowid 1:10
tc filter add dev eno1 protocol ip parent 1:0 prio 1 u32 match ip dport 8001 0xffff flowid 1:20

Aşağıdaki sonuçları elde ediyorum: 56kbps Sınıf A için ve 37kbps B sınıfı için

Hangisi ~ 1.5 oranıdır, oysa oranın erken tahsisi olarak 3: 1 olmasını bekledim.

Görünüşe göre, 30 ve 10 servis edildi, fazlalık iki sınıf arasında eşit olarak bölündü ve bu kod, bu iki sınıfı tutan RedBlack ağacının dediği gibi mantıklı bir hale geliyordu, programlayıcı bir RR yapıyor.

Benim sorum, sonuç olarak eşit olarak ayrılan fazla bant genişliği kod önermek? (belki de kodu yanlış anladım)

Ya da A ve B sınıfı arasında 3: 1 oranını beklemeli miyim?


5
2018-06-19 14:59


Menşei


Okuduğunuz kodun bir bağlantısı sorunu artırabilir. - kasperd
@kasperd burada kod ve ayrıca sorunun bedenine ekledi. - Tony Tannous


Cevaplar:


HTB dokümanlarındaki "kuantum" a bakın. Tüm ayrılmamış bw, WAS algoritması tarafından classe kuantumlarına göre işlenir.


3
2018-06-26 08:33





Bildiğim kadarıyla, "paylaştırılmış pay", ceil anlamına gelir. Yani, 3: 1 oranını istiyorsanız, şunları yazmanız gerekir:

tc class add dev eno1 parent 1:1 classid 1:10 htb rate 10kbps ceil 100kbps
tc class add dev eno1 parent 1:1 classid 1:20 htb rate 30kbps ceil 300kbps

Kök sınıfı 100kbps'de bir tavana sahip olduğundan, 100kbps'den fazla sunmayacaktır ve 300kbps seçeneği yalnızca oranı belirtmek için buradadır.


0
2018-06-26 02:06