Re: burst question

Linux Advanced Routing and Traffic Control

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

 



On Tue, 23 Nov 2004 19:56:31 +0100
Stef Coene <stef.coene@xxxxxxxxx> wrote:

> > So a burst of 20k means the next 20kbit waiting in the queue will be
> > sent in one burst before switching to another queue. This also means
> > that this block of 20kbit is sent full speed over the line and it is
> > not limited by any ceiling or whatsoever.
> >
> > Right or wrong?
> Wrong.  There are 2 bursts: a burst for the rate and a cburst for the
> ceil.  So if you have a burst, it's still checked against the ceil.
> Check out
> http://www.docum.org/docum.org/tests/htb/burst/
> for some tests.

Ok, of course it is checked against the ceiling over a longer period,
but what I try to understand is the value that is given to the "burst"
variable. What you show on your (very good) website is what happens
during a longer time (seconds). I try to understand why in practice this
"burst" value is for example 20k and not 500k (which is easier to
understand btw ;-)

Two very simplified queues, same rate, same ceiling, MTU 1500, queue1:
burst 1500, queue2: burst 6000, each x represents a packet of 1500
bytes. As far as I understand it the packets are sent out this way (at
maximum hardware speed):


time ||
     \/

Q1 xxxx   <- Q1 can use its burst value and sends 4 packets
Q2 x
Q1 x      <- burst is discharged, Q1 sends 1 packet at a time
Q2 x
Q1 x
Q2 x      <- Q1 stops sending packets, burst can recharge
Q2 x
Q2 x
Q2 x      <- burst of Q1 is now fully charged
Q1 xxxx   <- Q1 can use its burst value and sends 4 packets
Q2 x
Q1 x

It is a very simplified (and maybe wrong) example, but I want to make
clear for myself why this burst is for example 20k and not 500k, as in
test2 on http://www.docum.org/docum.org/tests/htb/burst/ 

I can only explain this issue this way. From Devik's doc:

http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm

#################################################################
Networking hardware can only send one packet at a time and only at a
hardware dependent rate. Link sharing software can only use this ability
to approximate the effects of multiple links running at different
(lower) speeds. Therefore the rate and ceil are not really instantaneous
measures but averages over the time that it takes to send many packets.
What really happens is that the traffic from one class is sent a few
packets at a time at the maximum speed and then other classes are served
for a while. The burst and cburst parameters control the amount of data
that can be sent at the maximum (hardware) speed without trying to serve
another class.
#################################################################

The last sentence makes this clear IMHO. But I can be terribly wrong of
course, so please correct me if I'm still wrong...

R.
_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
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