[ns] Droptail queue per-flow rate limiting using TokenBucket (or other mechanism?)
prajjwal at gmail.com
Thu Jul 16 21:32:34 PDT 2009
Just to let anyone who is interested know, since I didn't receive any
suggestions, I found this implementation of token bucket:
It seems quite easy to understand, and am currently modifying it for rate
limiting multiple fids (this only deals with a single fid). My
implementation is in progress, and I'm sure that anyone can use the token
bucket implementation above to use with droptail (or any other queue). I
can also make my implementation available once I am done with it if you
Note: I also noticed DelayBox (http://dirt.cs.unc.edu/delaybox/), which
seems to be interesting, but for my requirements, simply re-using the code
above seems to be good enough so far.
On Tue, Jul 14, 2009 at 8:02 PM, Prajjwal Devkota <prajjwal at gmail.com>wrote:
> Hi list,
> I am currently doing some ethernet level rate limiting simulations using
> ns-2. I had been doing my simulations with a simple DropTail queue (by
> physically changing the link rate), but now, I am trying to see if I can
> apply a Token Bucket implementation to support multiple flows in a simple
> manner. I have been searching the mailing list to I can find pointers on
> getting started, as well as some of the ns-2 code (using a source browser),
> but I have generally only found references to Diffserv. I did notice that
> ns-2 does have a TokenBucket class implemented though. However, as far as I
> can see, diffserv seems to be the only one referencing this class.
> I came across this discussion on the ns users mailing list at
> http://mailman.isi.edu/pipermail/ns-users/2005-June/050699.html and the
> conclusion seems to be that using Diffserv with the queue mode being
> specified as DropTail was what a solution.
> My rate limiting simply requires token bucket mechanism: once I know the
> flow-id, I will have to do token bucket rate limiting myself. As per my
> understanding, diffserv is a class based qos mechanism, not a flow based
> one. Is looking into diffserv a good choice, or is there a better solution,
> or one that might be more appropriate for my requirements?
> I would appreciate any pointers that you could offer on this.
> Thank you very much for your help!
More information about the Ns-users