[LARTC] How HTB treats priorities?

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



ISC Robert Kryczało wrote:

>Hello,
>I have a question regarding htb and priorities.
>
>I want to limit my customers to some rate (let's say 512kbit/sek) and to
>guarantee them for example 64kbit/sek on my links to the internet. I want
>to divide it further in order to decrease latency, speed up interactive
>activities, but allow them to do bulk downloads. I created htb tree
>looking like that. B and C are customers. Customer classes are divided
>into low latency class(DNS, small SSH and telnet packets, fast FPP games),
>http traffic class and other traffic class.
>
>Situation looks like this: (in reality we have several uplinks and also
>customer sites are connected by backbone, which also have limited
>bandwidth capacity - tree is simplified)
>
>       A
>     /   \
>    B     C
>   /|\   /|\
>  D E F G H I
>
>Class B and C have prio=3,
>D and G have prio=1 (rate and ceiling are the same)
>E and H have prio=2 (rate and ceiling are the same)
>F and I have prio=3 (rate and ceiling are the same)
>
>I have following questions:
>
>Remaining bandwidth inside class B is distributed first to class D, then E
>and then F and is limited by ceiling parameter . Right???
>
Hi Robert,

      yes, what you have said is right.

>Class A has available bandwidth. Rules for guaranteed rates for classes
>D,E,F,G,H,I are fulfilled. So available bandwidth has to
>be distributed between class B and C equaly (assuming B and C has the same
>rate and prio). Is remaining bandwidth distributed to classes D and G, and
>then to classes E and H and at the end to classes F and I???
>  
>
  I remember having read something about the "rate" parameter of a 
parent HTB class.  I think it was that the "rate" parameter isn't used, 
only the "ceil" parameter (of a parent HTB class) is important.  Check 
the list archive and the HTB home page because I'm not sure.

  If what I have written is true, there is a possibility that bandwidth 
is not distributed equally between classes B and C.

>What if C and B have different rates?
>
>Is prio parameter taken into account when htb tries to meet guaranteed
>rate rules?
>
   I think the "prio" parameter is only used after all classes have 
reached their guaranteed minimum rate, to allow the user to create 
classes that will borrow bandwidth over other classes.

> And when packets are send?
>  
>

   It has nothing to do with the prio parameter.

>What happens when sum of guaranteed rates of children class is bigger than
>guaranteed rate of parent (rate parameter is overbooked) and all of
>classes are requesting maximum bandwidth? Are classes with lower prio
>given bandwidth first?
>  
>
    There are rules that you should respect when creating classes. 
 Check the FAQ on the HTB home site.

>Are packets classfied to class D and G sent first?
>  
>
   No, unless classes D and G haven't reached their guaranteed minimum rate.

>What will happen if prio of class B is 0 and class C is 3? I assume
>remaining bandwidth is first distributed to class B and to its children.
>Right???
>
>  
>
    Same answer regarding parent HTB classes.  I'm not sure.

>Thx in advance for your answers
>
>Robert Kryczalo
>
>
>
>_______________________________________________
>LARTC mailing list / LARTC@mailman.ds9a.nl
>http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
>
>  
>





[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux