IE lab13 task 9.1 (CAR to MQC translation)

From: Sameh El Tawil (eltawil@free.fr)
Date: Sat Jan 08 2005 - 07:02:57 GMT-3


Hi,
(I apologize for the long post.)

This task asked for translating some rate-limit commands into MQC.

My solution was:
-------------------
policy-map MQC-CAR
 class ICMP
  drop
class UDP
 police cir 128000 bc 2000
 conform-action transmit
 exceed-action set-prec-transmit 0
class TCP
 police cir 256000 bc 4000 be 4000
 conform-action transmit
 exceed-action transmit
 violate-action set-prec-transmit 0

In the workbook the solution states:
---------------------------------------
policy-map MQC-CAR
 class ICMP
  police cir 8000 bc 2000 be 2000
class UDP
 police cir 128000 bc 2000 be 2000
 conform-action transmit
 exceed-action set-prec-transmit 0
class TCP
 police cir 256000 bc 4000 be 8000
 conform-action transmit
 exceed-action set-prec-transmit 0

I have some questions about this solution:

1- In class ICMP the solution does not specify conform/exceed action. In my
lab this gives a default conform-action transmit and a default exceed-action
drop. How could this translate the original rate-limit statement having both
conform and exceed actions as drop?

2- In class UDP I have a question that may be considered "cosmetic" : As far
as i understand if no violate-action is specified, a single-token bucket
algorithm will be used, which means that the specified Be is not used towards
any calculation. Do you agree that we can leave out the Be in this case?

3- For class TCP I will first state my understanding of the meaning of Be in
both rate-limit and MQC and explain why I used a Be of 4000. I'd like to know
if we will have an agreement about this explanation.

-(Based on the "Policing with CAR" in the "policing and shaping overview" In
the config guide) Be in CAR is the biggest burst that would not be considered
as exceeding the rate limit. If we approximate CAR behaviour into a Token
bucket (leaving out tehe effect of compound debt), this would be analoguous to
the sum of the first and second buckets full sizes. If Be is equal to Bc in
this syntax, the biggest burst is the conform burst, i.e no exceed bucket.
Specifying a Be smaller than Bc would be meaningless with CAR.

- (Based on the command reference for the police command) In MQC the be is the
full size of the second bucket only. This means that specifying 0 means no
second bucket. A be equal to or even smaller than bc would be possible with
this syntax.

This is why I specified be=4000 and not 8000. This comes from (be in
rate-limit - bc in rate-limit)

4- I understand the solution in the workbook approximates CAR behavour to a
single token bucket mechanism in MQC with a size of 4000 (the specified Be of
8000 is redundant since no violate-action). The purpose may be to approximate
the compound debt behaviour to applying the exceed-action to all traffic
exceeding the single bucket. In my opinion this is too severe.

It might have been more appropriate to approximate the behaviour to a single
bucket of size 8000. I have chosen to use a dual-bucket with sizes 4000 and
4000 and apply the exceed-action of the CAR to the violate-action.

I'd like to have the group's opinions on this subject. How would you have done
it? If one of the Brians would be also kind enough to comment ..

Regards,
Sameh



This archive was generated by hypermail 2.1.4 : Wed Feb 02 2005 - 22:10:20 GMT-3