[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[altq:1811] shaping in AltQ/ cbq vs. dcbq
- To: <altq@csl.sony.co.jp>
- Subject: [altq:1811] shaping in AltQ/ cbq vs. dcbq
- From: "Daniel Breest" <mai96itt@studserv.uni-leipzig.de>
- Date: Wed, 16 Apr 2003 13:34:56 +0200
- Importance: Normal
Hi,
i`m currently working on my diploma about implementing an integrated
services to differentiated services gateway. Because AltQ seems to be
well documented and provides a c-api, i would like to use it. At this
time, the service, the gateway should provide, can be described as
follows:
-he must be able to differentiate a large number of integrated
services flows,
-every flow must be shaped against the specified guaranteed
services traffic profile (TSPEC) to avoid, that traffic enters the
differentiated services domain too bursty, endangering the delay bound
of the domain,
-before sending the packets of a flow into the differentiated
services domain, packets must be marked with an appropriate diffserv
codepoint,
-to take into account the real time critera of the integrated
services flows, every flow must be served with a dedicated bandwidth
share, usually the rate R of the guarateed service specification.
As far as i know, to differentiate flows and provide a share of
bandwidth to a flow can be achieved by using cbq or hfsc as queueing
discipline on the outgoing interface. The problem is, that neither cbq
nor hfsc does traffic shaping. Shaping in AltQ can only be done via the
conditioner on the incoming interface. To implement the service
described above, i have to shape flows on the incoming interface, every
flow against his profile. For that i need to classify every packet.
After that, packets will be forwarded to the outgoing interface. To
provide every flow with his bandwidth share, i again have to classify
packets to map them into the appropriate class. Also, marking packets
with an DS codepoint can be done only on the incoming interface.
The first question, i would like to ask, is, why a class based shaping
on the outgoing interface cannot be done? Are there problems, i have not
considered?
If this is not the case, and nobody else has enhanced AltQ for this
functionality, i will do so.
Another question concerns the implementation of cbq in AltQ. As far as i
have red in the AltQ documentation, one should not expect accurate rate
control ("CBQ has error margins of serveral percent..."). After
searching the AltQ mailing list and the web via google, i found, that
Fulvio Risso has implemented an enhanced version, called "decoupled
class based queueing". He again confirms, that the original cbq has some
disadvantages. After reading his papers about dcbq, i understand that it
should work more accurate than the default cbq.
Has dcbq been integrated into AltQ, or are there other problems with it?
Any comments or answers are appreciated.
--
Daniel Breest
contact: mai96itt@studserv.uni-leipzig.de