On Monday 02 June 2003 02:23, Andrew Hall wrote:> Hello,
>
> I''ve read all the documentation I can find on HTB/SFQ setups, but
still I
> have a gap in my understanding that I''m hoping someone can please
explain.
> Where my understanding fails is why SFQ is required (and more importantly
> what advantage does it provide) as a leaf qdisc, when packets are already
> queued by HTB (which is the interface FIFO qdisc replacement). I *think*
> it''s to give fairness to packets of different size that have been
> classified and therefore belongs to a particular leaf class, therefore
> ensuring that if a leaf class has a guaranteed AR of 100Kbps that ALL data
> classified for that class will approximately get their fair share of this
> bandwidth within the class? Is this correct? If not, what advantage does it
> have over the standard FIFO qdisc on the leaf? To extend this line of
> questioning, therefore what advantage does ESFQ add?
Htb classes can be used to seperate the traffic. So you have a bunch of
packets belonging to a bunch of connections that are seen as 1. If you add a
sfq qdisc, you control how all these connections within a htb class are
handled. If you add a fifo qdisc, the packets are sended in the same order
as they arrived in the class. If you add a sfq qdisc, you give each
connection within the htb class the same opportunity to send something.
Assume that have a bulk connection (big download) and an interactive
connection (ssh login) in the same class. If you leaf the default prio in
place, the ssh packets have to wait in the queue. Let say you have a queue
of 100 packets, so the ssh packet has to wait for the 99 other to be sended
be fore it can be send.
If you add a sfq qdisc, the 2 connections may send 2 packet each at a turn.
If you send a ssh packet, it can be sended after waiting for the 2 packets
from the bulk download. So the ssh packets will be sended much faster.
Htb is not queueing the packets itself. It only seperates the packets in
classes and the qdiscs attached to the classes are responsible for queueing
the packets.
Stef
--
stef.coene@docum.org
"Using Linux as bandwidth manager"
http://www.docum.org/
#lartc @ irc.oftc.net
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/