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

[ns] Problems with TokenBucket



Hi all,

I'm working on DiffServ and now focusing on TokenBucket polcing. I'm trying to simulate an scenario in which several modems (say 100) send TCP traffic to an aggregation node. The aggregation node sends traffic to an 'edge' node which does the policing.

I was trying to police the traffic this way:

$qEC addPolicerEntry TokenBucket 10 20 $cir $cbs

What I would like to do is to limit the total amount of traffic which comes from the aggregation node to 10 Mbps. As far as I know, yo have to police the traffic in a flow (source-destination) basis. That is, you have to configure a TokenBucket policer for each source-destination pair, like this:

for {set i 0} {$i < $nsources} {incr i} {
  $qEC addPolicyEntry [$nas($i) id] [$core id] TokenBucket 10 $cir $cbs
}

I'm not interested in limiting each flow's bandwith but the limit the overall bandwith consumed by the 'customers' of the aggregation node. I've though of:

a) Policing each flow with a lower speed (Total desired bandwith/number of customers).

b) Running the simulation with just one very-high-speed TCP flow.

None of these is a realistic scenario, and surely there must be a better solution.

Any ideas? Any suggestions will be greatly appreciated.

Best regards,

Jorge Manrique