CCIE Pursuit Blog

January 13, 2008

Internetwork Expert Volume II: Lab 4 – Section 7

 QoS – 7 Points

7.1 Congestion Avoidance

“…configure r1 to start dropping packets with an IP precedence of routine on this link when there are at least 15 packets in the queue.”

Sounds like WRED to me.

Configuring Weighted Random Early Detection

“routine” traffic is IP Prec 0:

r1(config-cmap)#match ip prec ?
  <0-7>           Enter up to 4 precedence values separated by white-spaces
  critical        Match packets with critical precedence (5)
  flash           Match packets with flash precedence (3)
  flash-override  Match packets with flash override precedence (4)
  immediate       Match packets with immediate precedence (2)
  internet        Match packets with internetwork control precedence (6)
  network         Match packets with network control precedence (7)
  priority        Match packets with priority precedence (1)
  routine         Match packets with routine precedence (0)

r1(config)#int fa0/0
r1(config-if)#random-detect ?
  dscp-based  Enable dscp based WRED on an inteface
  prec-based  Enable prec based WRED on an interface

r1(config-if)#random-detect prec-based

Now we have a few more options:

r1(config-if)#random-detect ?
  dscp                            parameters for each dscp value
  dscp-based                      Enable dscp based WRED on an inteface
  exponential-weighting-constant  weight for mean queue depth calculation
  flow                            enable flow based WRED
  prec-based                      Enable prec based WRED on an interface
  precedence                      parameters for each precedence value

r1(config-if)#random-detect precedence 0 15 ?
  <1-4096>  maximum threshold (number of packets)

Shit.  What is the standard queue size?  It’s easy enough to find:

r1(config-if)#do sh queueing int fa0/0
Interface FastEthernet0/0 queueing strategy: random early detection (WRED)
    Random-detect not active on the dialer
    Exp-weight-constant: 9 (1/512)
    Mean queue depth: 0

  class          Random drop      Tail drop    Minimum Maximum  Mark
                  pkts/bytes       pkts/bytes    thresh  thresh  prob
      0      0/0              0/0           20      40  1/10
      1      0/0              0/0           22      40  1/10
      2      0/0              0/0           24      40  1/10
      3      0/0              0/0           26      40  1/10
      4      0/0              0/0           28      40  1/10
      5      0/0              0/0           31      40  1/10
      6      0/0              0/0           33      40  1/10
      7      0/0              0/0           35      40  1/10
   rsvp      0/0              0/0           37      40  1/10

r1(config-if)#random-detect prec 0 15 40 ?
  <1-65535>  mark probability denominator
  <cr>

Let’s leave that at the default of 10.

r1#sh queueing int fa0/0
Interface FastEthernet0/0 queueing strategy: random early detection (WRED)
    Random-detect not active on the dialer
    Exp-weight-constant: 9 (1/512)
    Mean queue depth: 0

  class          Random drop      Tail drop    Minimum Maximum  Mark
                  pkts/bytes       pkts/bytes    thresh  thresh  prob
      0      0/0              0/0           15      40  1/10
      1      0/0              0/0           22      40  1/10
      2      0/0              0/0           24      40  1/10
      3      0/0              0/0           26      40  1/10
      4      0/0              0/0           28      40  1/10
      5      0/0              0/0           31      40  1/10
      6      0/0              0/0           33      40  1/10
      7      0/0              0/0           35      40  1/10
   rsvp      0/0              0/0           37      40  1/10

7.2 Congestion Avoidance

“…configure r5 so that all SMTP packets are guaranteed at least 1.5Mbps of the output queue on int fa0/1.”
“Do not use an access-list to accomplish this.”

The only twist on this task is whether to use LLQ or bandwidth.  “at least” screams ‘bandwidth’ to me.

r5(config-pmap-c)#bandwidth ?
  <8-2000000>  Kilo Bits per second <- Be careful
r5(config-pmap-c)#bandwidth 1500

class-map match-all SMTP
  match protocol smtp
!
policy-map SMTP
  class SMTP
   bandwidth 1500
!
interface FastEthernet0/1
 service-policy output SMTP

r5#sh policy-map int fa0/1
 FastEthernet0/1

  Service-policy output: SMTP

    Class-map: SMTP (match-all)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: protocol smtp
      Queueing
        Output Queue: Conversation 265
        Bandwidth 1500 (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)
      54 packets, 5570 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any

7.3 Rate Limiting

“…configure r5 so that packets over 1250 bytes are limited to 2.5Mbps outbound on interface fa0/1.”

This is definitely policing.

r5(config-cmap)#match packet length ?
  max  Maximum length of packet
  min  Minimum length of packet

1250 or 1251….I chose 1251 (“over 1250”), but I would ask the proctor for clarification.

r5(config-pmap-c)#police ?
  <8000-2000000000>  Bits per second <- Be careful
  cir                Committed information rate

Ooops!!!  I didn’t notice the interface.  I already have an outbound policy on fa0/1:

interface FastEthernet0/1
 service-policy output SMTP

No problem.  I can just add this class to the existing policy-map (I should have read more carefully) rather than creating a new one.

class-map match-all POLICE_1250
  match packet length min 1251
!
policy-map SMTP
  class SMTP
   bandwidth 1500
  class POLICE_1250
   police 2500000

r5#sh policy-map int fa0/1
 FastEthernet0/1

  Service-policy output: SMTP

    Class-map: SMTP (match-all)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: protocol smtp
      Queueing
        Output Queue: Conversation 265
        Bandwidth 1500 (kbps) Max Threshold 64 (packets)
        (pkts matched/bytes matched) 0/0
        (depth/total drops/no-buffer drops) 0/0/0

    Class-map: POLICE_1250 (match-all)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: packet length min 1251
      police:
          cir 2500000 bps,
bc 78125 bytes
        conformed 0 packets, 0 bytes; actions:
          transmit
        exceeded 0 packets, 0 bytes; actions:
          drop
        conformed 0 bps, exceed 0 bps

    Class-map: class-default (match-any)
      427 packets, 42622 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: