Hello again, I have several questions: Let''s take a real case example... A connection of 256kbit split among some clients (8kbit RATE, 1500 QUANTUM - set manually). I use esfq to split the bandwidth as fair as possible. Q1. What happens if the SUM of all the clients'' class RATE (+ the default class RATE) is smaller than 256kbit? Will HTB work correctly? Q2. What happens if the SUM of all the clients'' class RATE (+ the default class RATE) is bigger than 256kbit? Will HTB work correctly? Q3. What happens if the ISP does not guarantee a "full 256kbit" bandwidth? (Suppose that I set my Linux box to shape 256kbit and my ISP provides me only 128kbit during high-traffic hours). Will HTB work correctly? In fact, I can tell you that it doesn''t :( As I monitor with iptraf, I can see that heavy downloads take precedence (as If esfq would not work at all). Do you have any suggestions? (Besides changing my ISP :) ...) Q4. As far as I understood R2Q means the ratio between the RATE and the QUANTUM of a class... Which is more "powerful"? The RATE, or the QUANTUM? (e.g. ClassA---QUANTUM 3000---RATE 8kbit, or ClassB---QUANTUM 1500---RATE 16kbit) Q5. The HTB Manual says that the sum of the LEAF CLASSES RATE must be equal to the PARENT CLASS RATE. Is there such a rule for QUANTUMS? Thank you for your patience, Vlad Mihai _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
On Wednesday 24 March 2004 16:46, Mihai Vlad wrote:> Hello again, > > I have several questions: > > Let''s take a real case example... > A connection of 256kbit split among some clients (8kbit RATE, 1500 QUANTUM > - set manually). > I use esfq to split the bandwidth as fair as possible. > > Q1. What happens if the SUM of all the clients'' class RATE (+ the > default class RATE) is smaller than 256kbit? Will HTB work correctly?Yes.> Q2. What happens if the SUM of all the clients'' class RATE (+ the > default class RATE) is bigger than 256kbit? Will HTB work correctly?Yes.> Q3. What happens if the ISP does not guarantee a "full 256kbit" > bandwidth? > (Suppose that I set my Linux box to shape 256kbit and my ISP provides me > only 128kbit during high-traffic hours). Will HTB work correctly?Yes.> Q4. As far as I understood R2Q means the ratio between the RATE and the > QUANTUM of a class... Which is more "powerful"? The RATE, or the QUANTUM? > (e.g. ClassA---QUANTUM 3000---RATE 8kbit, or > ClassB---QUANTUM 1500---RATE 16kbit)r2q is used to calculate the default quantum of a class: quantum = rate / r2q But you can overrule this default quantum when you add a class.> Q5. The HTB Manual says that the sum of the LEAF CLASSES RATE must be > equal to the PARENT CLASS RATE. Is there such a rule for QUANTUMS?No. Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
I would not agree to the half of your statments. On Wednesday 24 March 2004 16:46, Mihai Vlad wrote:> Hello again, > > I have several questions: > > Let''s take a real case example... > A connection of 256kbit split among some clients (8kbit RATE,1500 QUANTUM> - set manually). > I use esfq to split the bandwidth as fair as possible. > > Q1. What happens if the SUM of all the clients'' class RATE (+the> default class RATE) is smaller than 256kbit? Will HTB workcorrectly? Yes. ----- this is correct> Q2. What happens if the SUM of all the clients'' class RATE (+the> default class RATE) is bigger than 256kbit? Will HTB workcorrectly? Yes. -------- This is incorrect: of course it will work more or less, but nearly same as without any shaping> Q3. What happens if the ISP does not guarantee a ''"''full256kbit''"''> bandwidth? > (Suppose that I set my Linux box to shape 256kbit and my ISPprovides me> only 128kbit during high-traffic hours). Will HTB workcorrectly? Yes. ----- For certain this is wrong, I dont understand why you say so, because everybody knows that you must limit ceil to a bit lover than you get from isp if you have unknown trafic you cant limit it.> Q4. As far as I understood R2Q means the ratio between the RATEand the> QUANTUM of a class... Which is more ''"''powerful''"''? TheRATE, or the QUANTUM?> (e.g. ClassA---QUANTUM 3000---RATE 8kbit, or > ClassB---QUANTUM 1500---RATE 16kbit)r2q is used to calculate the default quantum of a class: quantum =ate / r2q But you can overrule this default quantum when you add a class. ------ quantum is more powerfull and usefull. since rate of 8kbit is insignificant speed anyway but it may be harder to calculate( didt tested if quantum can completely replace rate effect) in your example class A will get 2 times more bandwitch than class B> Q5. The HTB Manual says that the sum of the LEAF CLASSES RATEmust be> equal to the PARENT CLASS RATE. Is there such a rule forQUANTUMS? No ---- seems correct, htb manual says nonsense, neither rates nether quantums need to be equal, but child sum rates and quantums ONLY SHOULD be less or equal to parent. quantums for schild basicaly should be not higer than parent quantums, else result may be starange. this indirectly may affect the statment from htb manual, because rate affect quantums. and if one child will consume all its parent quantum then other childs may get nothing. Stef -- stef.coene@docum.org ''"''Using Linux as bandwidth manager''"'' http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
On Sunday 28 March 2004 21:18, Roy wrote:> > Q2. What happens if the SUM of all the clients'' class RATE (+ > the > > default class RATE) is bigger than 256kbit? Will HTB work > correctly? > Yes. > -------- > This is incorrect: > of course it will work more or less, but nearly same as without any shapingIt will work more then you think. On the short term, traffic can be bursty for the different classes, but each one will belimited to 8kbit. But on the long term, each class will get the same share of bandwidth.> > Q3. What happens if the ISP does not guarantee a ''"''full > 256kbit''"'' > > bandwidth? > > (Suppose that I set my Linux box to shape 256kbit and my ISP > provides me > > only 128kbit during high-traffic hours). Will HTB work > correctly? > Yes. > ----- > For certain this is wrong, I dont understand why you say so, because > everybody knows that you must limit ceil to a bit lover than you get from > isp > if you have unknown trafic you cant limit it.Ok, my error. I forgot about the "make sure YOU are the bottlleneck". I thought it was a variant on question Q2.> > Q4. As far as I understood R2Q means the ratio between the RATE > and the > > QUANTUM of a class... Which is more ''"''powerful''"''? The > RATE, or the QUANTUM? > > > (e.g. ClassA---QUANTUM 3000---RATE 8kbit, or > > ClassB---QUANTUM 1500---RATE 16kbit) > > r2q is used to calculate the default quantum of a class: quantum =ate / r2q > But you can overrule this default quantum when you add a class. > ------ > quantum is more powerfull and usefull. since rate of 8kbit is insignificant > speed anyway > but it may be harder to calculate( didt tested if quantum can completely > replace rate effect) > in your example class A will get 2 times more bandwitch than class BTo be correct, it also depends on the packet size. If you have packets of 1499 bytes in class B and 1500 bytes in class A, both class will get the same rate. Why? Quantum for class B is 1500, so you can send 2 packets and these 2 packets are counted as 1500 bytes.> > Q5. The HTB Manual says that the sum of the LEAF CLASSES RATE > must be > > equal to the PARENT CLASS RATE. Is there such a rule for > QUANTUMS? > No > ---- > seems correct, > htb manual says nonsense, > neither rates nether quantums need to be equal, > but child sum rates and quantums ONLY SHOULD be less or equal to parent. > quantums for schild basicaly should be not higer than parent quantums, else > result may be starange.I''m not sure but, isn''t quanum only used for leaf classes? So the quantum of parent classes doesn''t mather ? Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
> > Q2. What happens if the SUM of all the clients'' class RATE(+> the > > default class RATE) is bigger than 256kbit? Will HTBwork> correctly? > Yes. > -------- > This is incorrect: > of course it will work more or less, but nearly same as withoutany shaping It will work more then you think. On the short term, traffic can be bursty for the different classes, but each one will belimited to 8kbit. But on the long term, each class will get the same share of bandwidth. ------ basicaly this may work if difference is not big, but it was not working for me, I was trying to set rate 8kbit for everyone, since the sum of rates was 3 times biger than parent ceil, trafic was divided in unpredictable way. then I set rate to 1 kbit and everything worked well filling syslog by warnings that quantum is too small. logicaly this should not work because htb guarantee the rate amount trafic, so what if there is not so much available?> > Q5. The HTB Manual says that the sum of the LEAF CLASSESRATE> must be > > equal to the PARENT CLASS RATE. Is there such a rulefor> QUANTUMS? > No > ---- > seems correct, > htb manual says nonsense, > neither rates nether quantums need to be equal, > but child sum rates and quantums ONLY SHOULD be less or equalto parent.> quantums for schild basicaly should be not higer than parentquantums, else> result may be starange.I''m not sure but, isn''t quanum only used for leaf classes? So the quantum of parent classes doesn''t mather ? --------- You may be right, since I did not checked source code for this, but logicaly quantum is very significant part and shoud work everywhere, I suppose quantum is about same as cburst, but even more significant, sems it is only way to divide bandwitch between classes with some proportion. ----------------- I found strange limitation, if class have leafs, then I cant attach sfq to it. where will go unclasified packets from that class? Into root''s default? Now I use dummy class for this purpose with filter which match on anything Strange that htb have such limitation. Stef _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Thanks for your answers! I played with some values and I might add something. Please tell me if I am wrong. Overruling the QUANTUM parameter in a LEAF class makes the RATE parameter useless. From my opinion QUANTUM is the parameter that is the most relevant. e.g. CLASS A - RATE 64kbit - QUANTUM 1500 CLASS B - RATE 8kbit - QUANTUM 3000 Class B gets twice the bandwidth that CLASS A receives. RATE is useless in this case. So you might establish some sort of a rule that the ratio of QUANTUMS equals the ratio of the (real) RATEs of 2 LEAF CLASSES. BUT that is also wrong if the ratio is bigger that 2-3. e.g. CLASS A QUANTUM 1500 CLASS B QUANTUM 6000 You would expect CLASS B to get 4 times the bandwidth that CLASS A gets. But in fact ... the Ratio is somewhere around 2.8-3.0. (These tests were made on a 256 kilobit bandwidth). ---------------------------------------------------------------------------- I agree that it is very important to set the RATE of the parent CLASS below the value of the bandwidth. In my case - for a 256kbit bandwidth from my ISP, 240kbit RATE works excellent ---------------------------------------------------------------------------- There is still a problem remained unsolved for me. (My connection works excellent after 6.00 PM until 10.00 AM. During the day my ISP establishes some "rules" in which the connection is shared among some clients.) You cannot tell the exact value of the bandwidth during the day. It is very bursty. You might download with 240kbit for 1 minute and after that the bandwidth might get to 64kbit, etc... So I do not have a "standard" connection. Is it possible to split that "bursty" bandwidth (as unpredictable as it is) among my friends in my LAN? I use esfq. Is there a way that HTB can auto-sense the parameters of the bandwidth and reconfigure itself? I know that sounds real funny, but for me it would be a dream to have such a traffic shaper. I do not have enough money to buy a straight 256kbit connection :( Thanks again, Mihai Vlad -----Original Message----- From: lartc-admin@mailman.ds9a.nl [mailto:lartc-admin@mailman.ds9a.nl] On Behalf Of Stef Coene Sent: Monday, March 29, 2004 12:05 AM To: lartc@mailman.ds9a.nl Subject: Re: [LARTC] R2Q and more On Sunday 28 March 2004 21:18, Roy wrote:> > Q2. What happens if the SUM of all the clients'' class RATE (+ > the > > default class RATE) is bigger than 256kbit? Will HTB work > correctly? > Yes. > -------- > This is incorrect: > of course it will work more or less, but nearly same as without any > shapingIt will work more then you think. On the short term, traffic can be bursty for the different classes, but each one will belimited to 8kbit. But on the long term, each class will get the same share of bandwidth.> > Q3. What happens if the ISP does not guarantee a ''"''full > 256kbit''"'' > > bandwidth? > > (Suppose that I set my Linux box to shape 256kbit and my ISP > provides me > > only 128kbit during high-traffic hours). Will HTB work > correctly? > Yes. > ----- > For certain this is wrong, I dont understand why you say so, because > everybody knows that you must limit ceil to a bit lover than you get > from isp if you have unknown trafic you cant limit it.Ok, my error. I forgot about the "make sure YOU are the bottlleneck". I thought it was a variant on question Q2.> > Q4. As far as I understood R2Q means the ratio between the RATE > and the > > QUANTUM of a class... Which is more ''"''powerful''"''? The > RATE, or the QUANTUM? > > > (e.g. ClassA---QUANTUM 3000---RATE 8kbit, or ClassB---QUANTUM > > 1500---RATE 16kbit) > > r2q is used to calculate the default quantum of a class: quantum =ate > / r2q But you can overrule this default quantum when you add a class. > ------ > quantum is more powerfull and usefull. since rate of 8kbit is > insignificant speed anyway but it may be harder to calculate( didt > tested if quantum can completely replace rate effect) in your example > class A will get 2 times more bandwitch than class BTo be correct, it also depends on the packet size. If you have packets of 1499 bytes in class B and 1500 bytes in class A, both class will get the same rate. Why? Quantum for class B is 1500, so you can send 2 packets and these 2 packets are counted as 1500 bytes.> > Q5. The HTB Manual says that the sum of the LEAF CLASSES RATE > must be > > equal to the PARENT CLASS RATE. Is there such a rule for > QUANTUMS? > No > ---- > seems correct, > htb manual says nonsense, > neither rates nether quantums need to be equal, but child sum rates > and quantums ONLY SHOULD be less or equal to parent. > quantums for schild basicaly should be not higer than parent quantums, > else result may be starange.I''m not sure but, isn''t quanum only used for leaf classes? So the quantum of parent classes doesn''t mather ? Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/ -----Original Message----- From: lartc-admin@mailman.ds9a.nl [mailto:lartc-admin@mailman.ds9a.nl] On Behalf Of Roy Sent: Monday, March 29, 2004 2:44 AM To: lartc@mailman.ds9a.nl Subject: Re: [LARTC] R2Q and more> > Q2. What happens if the SUM of all the clients'' class RATE(+> the > > default class RATE) is bigger than 256kbit? Will HTBwork> correctly? > Yes. > -------- > This is incorrect: > of course it will work more or less, but nearly same as withoutany shaping It will work more then you think. On the short term, traffic can be bursty for the different classes, but each one will belimited to 8kbit. But on the long term, each class will get the same share of bandwidth. ------ basicaly this may work if difference is not big, but it was not working for me, I was trying to set rate 8kbit for everyone, since the sum of rates was 3 times biger than parent ceil, trafic was divided in unpredictable way. then I set rate to 1 kbit and everything worked well filling syslog by warnings that quantum is too small. logicaly this should not work because htb guarantee the rate amount trafic, so what if there is not so much available?> > Q5. The HTB Manual says that the sum of the LEAF CLASSESRATE> must be > > equal to the PARENT CLASS RATE. Is there such a rulefor> QUANTUMS? > No > ---- > seems correct, > htb manual says nonsense, > neither rates nether quantums need to be equal, > but child sum rates and quantums ONLY SHOULD be less or equalto parent.> quantums for schild basicaly should be not higer than parentquantums, else> result may be starange.I''m not sure but, isn''t quanum only used for leaf classes? So the quantum of parent classes doesn''t mather ? --------- You may be right, since I did not checked source code for this, but logicaly quantum is very significant part and shoud work everywhere, I suppose quantum is about same as cburst, but even more significant, sems it is only way to divide bandwitch between classes with some proportion. ----------------- I found strange limitation, if class have leafs, then I cant attach sfq to it. where will go unclasified packets from that class? Into root''s default? Now I use dummy class for this purpose with filter which match on anything Strange that htb have such limitation. Stef _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
On Monday 29 March 2004 01:44, Roy wrote:> > > Q2. What happens if the SUM of all the clients'' class RATE > (+ > > the > > > > > default class RATE) is bigger than 256kbit? Will HTB > > work > > > correctly? > > Yes. > > -------- > > This is incorrect: > > of course it will work more or less, but nearly same as without > > any shaping > It will work more then you think. On the short term, traffic can be bursty > for the different classes, but each one will belimited to 8kbit. But on > the long term, each class will get the same share of bandwidth. > ------ > basicaly this may work if difference is not big,There is one thing I learned: each setup and problem requires a different aproaches. Sometimes, you can shape without being the bottlenek, sometimes you can"t.> but it was not working for me, I was trying to set rate 8kbit for everyone, > since the sum of rates was 3 times biger than parent ceil, trafic was > divided in unpredictable way. > then I set rate to 1 kbit and everything worked well filling syslog by > warnings that quantum is too small. > > logicaly this should not work because htb guarantee the rate amount trafic, > so what if there is not so much available?I ''m afraid the answer depends also on the client. The client that pushes the most, will get the most.> I''m not sure but, isn''t quanum only used for leaf classes? So the quantum > of > parent classes doesn''t mather ? > --------- > You may be right, since I did not checked source code for this, but > logicaly quantum is very significant part > and shoud work everywhere, I suppose quantum is about same as cburst, but > even more significant, > sems it is only way to divide bandwitch between classes with some > proportion.Quantum is only used if each child class is sending the configured rate and the parent class has some bandwidth left. So if sum (rate of child classes) = parent rate, quantum is never used. The class with the lowest prio will get the remaining bandwidth, so the configured rate is the minimum rate of a class.> ----------------- > I found strange limitation, if class have leafs, then I cant attach sfq to > it.You can, but it will never be used.> where will go unclasified packets from that class? Into root''s default?In previous versions, it hangs your system. I think the packets are send in the :0 class, this is a passthru class. Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
----- Original Message ----- From: "Mihai Vlad" <mihaivlad@web-profile.net> To: <lartc@mailman.ds9a.nl> Sent: Monday, March 29, 2004 9:55 AM Subject: RE: [LARTC] R2Q and more Thanks for your answers! I played with some values and I might add something. Please tell me if I am wrong. Overruling the QUANTUM parameter in a LEAF class makes the RATE parameter useless. From my opinion QUANTUM is the parameter that is the most relevant. e.g. CLASS A - RATE 64kbit - QUANTUM 1500 CLASS B - RATE 8kbit - QUANTUM 3000 Class B gets twice the bandwidth that CLASS A receives. RATE is useless in this case. So you might establish some sort of a rule that the ratio of QUANTUMS equals the ratio of the (real) RATEs of 2 LEAF CLASSES. BUT that is also wrong if the ratio is bigger that 2-3. e.g. CLASS A QUANTUM 1500 CLASS B QUANTUM 6000 You would expect CLASS B to get 4 times the bandwidth that CLASS A gets. But in fact ... the Ratio is somewhere around 2.8-3.0. (These tests were made on a 256 kilobit bandwidth). ---------------------------------------------------------------------------->>>>>>>>>>>>>>>>>>>>>>>>I did not tested this so precisely, but sounds strange that ratio is limited to 3. I agree that it is very important to set the RATE of the parent CLASS below the value of the bandwidth. In my case - for a 256kbit bandwidth from my ISP, 240kbit RATE works excellent>>>>>>>>>>>>>>>>Mostly you must set ceil, to 240 , of course for root, rate=ceil anyway. ---------------------------------------------------------------------------- There is still a problem remained unsolved for me. (My connection works excellent after 6.00 PM until 10.00 AM. During the day my ISP establishes some ''"''rules''"'' in which the connection is shared among some clients.) You cannot tell the exact value of the bandwidth during the day. It is very bursty. You might download with 240kbit for 1 minute and after that the bandwidth might get to 64kbit, etc... So I do not have a ''"''standard''"'' connection. Is it possible to split that ''"''bursty''"'' bandwidth (as unpredictable as it is) among my friends in my LAN? I use esfq. Is there a way that HTB can auto-sense the parameters of the bandwidth and reconfigure itself? I know that sounds real funny, but for me it would be a dream to have such a traffic shaper. I do not have enough money to buy a straight 256kbit connection :(>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>htb cant sense anything, I made some atempts to do something about that, but results are not very good. without limiting trafic to 90% of your maximum it is not possible to do anything. because of the way how all network works. so you need to measure your link capacity somehow. also it would ne nice to know the rules that your isp use to divide trafic I am working on such software which will mesure trafic and queue length at your isp according to ping times. ( I recently bought 2 times more trafic, and now do not need it so much as before Now I mostly care about latency, I need to make ping lower that 200ms at all times even under full load) I did not made it available for public right now, because it is only start of developnemt Unfortunately this consumes some trafic and responds slowly, but looks better that nothing. If you have very low speed, the you will need to do very carefull traffic prioritization. As I noticed it is realy hard to control speed of about 1kbyte/s which is nearly equal to quantum per sek also I wrote alternative tc tutorial, which you can find on my page http://pupa.da.ru/imq/ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/