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 interfacer1(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 valuer1(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: 0class 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/10r1(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: 0class 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 1500class-map match-all SMTP
match protocol smtp
!
policy-map SMTP
class SMTP
bandwidth 1500
!
interface FastEthernet0/1
service-policy output SMTPr5#sh policy-map int fa0/1
FastEthernet0/1Service-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/0Class-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 2500000r5#sh policy-map int fa0/1
FastEthernet0/1Service-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/0Class-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 bpsClass-map: class-default (match-any)
427 packets, 42622 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
Leave a Reply