Re: Findings: Behaviour of Default Class with Class Based

From: Pierre-Alex (paguanel@hotmail.com)
Date: Wed Jun 14 2006 - 13:03:21 ART


Chris, thanks!!!

This is clear now and I guess the point I made in my second post (enclosed)
about being careful with the wording regarding the default-class was not out
of place!

PAlex

-------------------------------------------

"This behavior is as expected. Unless a class is assigned a bandwidth, it will
not take any under congestion conditions. Configuring a bandwidth statement
only assures a minimum, not a maximum of bandwidth consumed. This is in
contrast to the priority statement that has a congestion aware policer built
in and does limit the class to the configured rate during congestion.

Chris"

-----------------------------------------------------

Out of curiosity I have repeated the same tests on frame-relay
traffic-shaping
and on a plain serial link. In every case is you do not set the set the
reservation
 for the default-class explicitely it does not get its share of bandwidth.

I have not seen this discussed in the archive. Yet, I believe it is a
critical point:

At the exam if they told you give 50% to class 1 and 20% for class2 and the
rest to the default-class
I'd think they would give you 0 for the task if you did not configure it
explicitely. Because if you did not,
the class default would not get it share of bandwidth !!!

Also if they said give 50% to class 1 and 20% and said nothing about the
class-default, I'd think
if you put an explicit reservation for class default you could also get a 0
because you would have configured
the router to behave differently (default-class is getting to bandwidth
during congestion time when it should not) !!!!

I think not being clear on this issue could result in a loss of point in the
entire Qos section, so I am awaiting for some reaction from the group.

It could be that I am digging too much , or that what I have said is
platform specific and cannot be repoduced (which I doubt ), in this case, I
will be happy to be corrected.

Thanks

  ----- Original Message -----
  From: Chris Lewis
  To: Pierre-Alex
  Cc: ccielab@groupstudy.com ; Petr Lapukhov
  Sent: Wednesday, June 14, 2006 5:28 PM
  Subject: Re: Findings: Behaviour of Default Class with Class Based Shaping

  This behavior is as expected. Unless a class is assigned a bandwidth, it
will not take any under congestion conditions. Configuring a bandwidth
statement only assures a minimum, not a maximum of bandwidth consumed. This is
in contrast to the priority statement that has a congestion aware policer
built in and does limit the class to the configured rate during congestion.

  Chris

  On 6/14/06, Pierre-Alex <paguanel@hotmail.com> wrote:
    Hi Group,

    Some interesting finding that have I believe have some huge repercusions
..

    If you are told to reserve on a subinterface or dlci : 50% for class1,
20 %
    for class2 and the rest for the default-class, you HAVE to set the
reservation
    for the default-class in HARD, because it won't take the 30% by itself.

    It is a suprising behaviour. Have any of you noticed the same thing?

    I have enclosed the experiment and results below:

    ================

    DIAGRAM

    R1----fastethernet -- R2 ---ser 0/0.204 (pt2pt) ----frame-relay--- ---ser
    0/0.402 (pt2pt)---R4---loopback0

    R1 is sending pings to R4 loopback 0 .

    ================

    Configuration on R2

    ! r2
    int ser 0/0
    encaps frame
    no shut

    no frame inverse-arp

    int ser 0/0.204 point
    frame int 204
    ip addr 10.2.4.2 255.255.255.0
    class 204
    !

    map-class frame-relay 204
    service-policy out WRED

    policy-map WRED
    class class-default
    shape average 128000 12000 0
    service-policy CBWQF

    policy-map CBWQF
    class class1
        bandw percent 50
    class class2
        band percent 20
    class class-default

    class-map class1
    match access-group 101

    class-map class2
    match access-group 102

    access-list 101 permit ip any any prec 5
    access-list 102 permit ip any any prec 3

    =========

    Experiment 1:

    From R1 ping R4 loopback at line rate with default precendence.

    Result1:

          Class-map: class-default (match-any)
             36523 packets, 54748732 bytes
             30 second offered rate 1169000 bps, drop rate 1042000 bps
             Match: any

    1169000 - 1042000 = 127000 bps of traffic is transmitted.

    Finding 1:

    All of the bandwith is used by Class 1.

    Experiment 2:

    From R1 ping R4 loopback at line rate with default precendence.
    From R1 ping R4 loopback at line rate with precendence 5.

    Normally R1 should use half of the bandwidth and the rest should be used
by
    the default-class

    Result 2:

    Service-policy : CBWQF

           Class-map: class1 (match-all)
             20648 packets, 31054592 bytes
             30 second offered rate 1162000 bps, drop rate 1036000 bps
             Match: access-group 101
             Queueing
               Output Queue: Conversation 25
               Bandwidth 50 (%)
               Bandwidth 64 (kbps) Max Threshold 64 (packets)
               (pkts matched/bytes matched) 20707/31143328
           (depth/total drops/no-buffer drops) 63/18349/0

           Class-map: class2 (match-all)
             0 packets, 0 bytes
             30 second offered rate 0 bps, drop rate 0 bps
             Match: access-group 102
             Queueing
               Output Queue: Conversation 26
               Bandwidth 20 (%)
               Bandwidth 25 (kbps) Max Threshold 64 (packets)
               (pkts matched/bytes matched) 0/0
           (depth/total drops/no-buffer drops) 0/0/0

           Class-map: class-default (match-any)
             78392 packets, 117650535 bytes
             30 second offered rate 1172000 bps, drop rate 1168000 bps
             Match: any

    Class1: 1162000 - 1036000 = 126 000 bps
    Class-default: 1172000 - 1168000 = 4 bps

    Finding 2:

    Class-default get basically nothing even though Class 2 is not using its
share
    of bandwidth !!!

    The unused 50% is not realocated to the default class.

    Experiment 3:

    From R1 ping R4 loopback at line rate with default precendence.
    From R1 ping R4 loopback at line rate with precendence 5.
    From R1 ping R4 loopback at line rate with precendence 3

    Results 3:

           Class-map: class1 (match-all)
             75760 packets, 113943040 bytes
             30 second offered rate 1157000 bps, drop rate 1063000 bps
             Match: access-group 101
             Queueing
               Output Queue: Conversation 25
               Bandwidth 50 (%)
               Bandwidth 64 (kbps) Max Threshold 64 (packets)
               (pkts matched/bytes matched) 75800/114003200
           (depth/total drops/no-buffer drops) 64/67650/0

           Class-map: class2 (match-all)
             10154 packets, 15271616 bytes
             30 second offered rate 1132000 bps, drop rate 1095000 bps
             Match: access-group 102
             Queueing
               Output Queue: Conversation 26
               Bandwidth 20 (%)
               Bandwidth 25 (kbps) Max Threshold 64 (packets)
               (pkts matched/bytes matched) 10312/15509248
           (depth/total drops/no-buffer drops) 64/9922/0

           Class-map: class-default (match-any)
             134013 packets, 201213148 bytes
             30 second offered rate 1167000 bps, drop rate 1167000 bps
             Match: any

    Class1: 94 000 bps

    Class2: 37 000 bps

    Class default 0 bps

    Findings 3:

    When class2 traffic kicks in it takes 20% of the reserved bandwidth
(25600
    bps) + a proportion of the bandwidth that the class-default should
logically
    have but does not get as discovered in Finding 2.

    Class 1 takes 50% of the reserved bandwidth (64000) + a proportion of the
    bandwidth that the class-default should logically have but does not get
as
    discovered in Finding 2.

    Experiment 4:

    Setting bandwidth in HARD for default class:

    policy-map CBWQF
    class class1
        bandw percent 50
    class class2
        band percent 20
    class class-default
        band percent 30

    Result4:

            Class-map: class1 (match-all)
             231594 packets, 348317376 bytes
             30 second offered rate 1158000 bps, drop rate 1094000 bps
             Match: access-group 101
             Queueing
               Output Queue: Conversation 25
               Bandwidth 50 (%)
               Bandwidth 64 (kbps) Max Threshold 64 (packets)
               (pkts matched/bytes matched) 231657/348412128
           (depth/total drops/no-buffer drops) 64/211023/0

           Class-map: class2 (match-all)
             165866 packets, 249462464 bytes
             30 second offered rate 1153000 bps, drop rate 1128000 bps
             Match: access-group 102
             Queueing
               Output Queue: Conversation 26
               Bandwidth 20 (%)
               Bandwidth 25 (kbps) Max Threshold 64 (packets)
               (pkts matched/bytes matched) 165936/249567744
           (depth/total drops/no-buffer drops) 64/160960/0

           Class-map: class-default (match-any)
             291588 packets, 437818250 bytes
             30 second offered rate 1167000 bps, drop rate 1129000 bps
             Match: any
             Queueing
               Output Queue: Conversation 27
               Bandwidth 30 (%)
               Bandwidth 38 (kbps) Max Threshold 64 (packets)
               (pkts matched/bytes matched) 25013/37614916
           (depth/total drops/no-buffer drops) 64/24080/0

    Class1: 1158000 - 1094000 = 64000 (50%)

    Class2: 1153000 - 1128000 = 25 000 (19,53%)

    Class default: = 38 000 ( = 29,6%)

    This works as required : "Assign 50% for class1, 20 % for class2 and the
rest
    for the default-class"

    _______________________________________________________________________
    Subscription information may be found at:
    http://www.groupstudy.com/list/CCIELab.html



This archive was generated by hypermail 2.1.4 : Sat Jul 01 2006 - 07:57:32 ART