Thursday, May 13, 2010

INE Workbook Vol 1 QoS

The hardware output queue is also known as the TX ring, and is configurable under the interface level 'tx-ring-limit' command. This is a FIFO queue only and is used prior to the software queue being used (hold-queue command).

HDLC header is 4 bytes.

In custom queueing, routing update packets need to be manually mapped to custom queue 0 unless the interface is running frame-relay as f/r uses the special broadcast queue for multicast routing updates. To calculate the custom queue sizes, simply divide the desired share count by the packet size, normalize by dividing each queue by the smallest packet value and round up. Now that you have your share amount, simply multiply the packet sizes by the share amount to create the queue size.

RTP Voice requires 30% of the traffic with a queue size of 60 bytes. Account for HDLC overhead for a total of 64. Divide 30/64 = .46875. To normalize we divide by the smallest amount (not shown here) of .096 giving us a result of 4.88 for RTP. Round up and you get a share count of 5. Now to enter the queue size, multiply 5 by the packet size of 64 for a result of 320.Overall, not too difficult. Just need to memorize the formula...

'show queue [interface] [slot/port] [queueID]' will show you the queue contents.

'queue-list 1 lowest-custom 2' will set the round robin scheduler to begin at queue 2 meaning both queue 0 (default priority) and queue 1 will be treated as priority queues.

IP routing updates are sent with a precedence of 6. So to prevent routing packets from being dropped using WRED, set the hold-queue size to something like 10, and set random-detect for prec 6 to something larger than your hold-queue size.

Selective Packet Discard?!? WTH is SPD?!? Well, it's the queue management technique for interface input queuing. The SPD commands are hidden, but you can view them in the running config. Here are some of the commands:


spd extended-headroom 150
spd headroom 120
ip spd mode aggressive
ip spd queue threshold minimum 75 maximum 150


This enables SPD in aggressive mode, increases the memory headroom to 150 (for IGP), increases the headroom for BGP to 120 and sets the thresholds to min 75 max 150. You also need to set the input queue on the interface to match. Aggressive mode simply means the router will drop malformed packets, instead of placing them in the hold queue. 


You can create a hierarchical rate-limit structure on an interface using a 'continue' statement following the rate-limit commands.


Ah - rate limit ACLs, such a thorn in my side. Each rate-limit ACL can contain just one line. The purpose of these ACLs is to create high-performance rate-limiting configurations. The biggest point here is to remember to use rate-limit ACLs and not standard ACLs - but would standard ACLs be accepted in the lab since they would accomplish the same goal? IP Prec based rate-limit ACLs are fun because they can be based on a mask value.To start off, you have 8 possible precedence values, 0 - 7.


[p7] [p6] [p5] [p4] [p3] [p2] [p1] [p0]


So if we want to check for prec values 1,2 and 4 we would re-draw it like this.


0 0 0 1 0 1 1 0


Now you turn that binary to hex to receive a hex value of 16, and that is your mask. I always want to take the prec values, turn those into binary and then convert to hex. Another thing to remember...


I made a mistake doing frame-relay traffic shaping. I accidentally set the Be value to the rate, so for a burst of 384k with a Tc of 10, I set Be value to 3840. Wrong answer! This is EXCESS of the CIR. With a CIR of 256k, the correct answer would have been 1280. It totally makes sense, but little things like that can really screw you up in the exam.


You can change the per-VC FIFO queue depth under the map-class using the frame-relay holdq command. In addition, you can set the physical interface queue depth using the standard hold-queue command.


Legacy QoS configuration packet sizes include the full layer 2 packet length. So if you need to filter packets based on a 60 byte packet, you actually need to configure 64 bytes to account for the 4-byte cisco frame-relay header.


PVC Interface Priority Queueing can prioritize certain DLCI's over other DLCIs. First, assign a map-class to a priority queue, and then attach the map-class to the DLCI. You also need to enable PIPQ by entering 'frame-relay interface-queue priority' interface command. 


You can use DLCI-based Frame Relay Priority feature to forward traffic out different DLCIs based on priority level.The command is frame-relay priorty-dlci-group [x] [high] [med] [norm] [low] where x is the list # and high, med, norm, low are queue levels that the circuits are mapped to. In short, you map priority-queues to DLCIs.



interface Serial0/1
 bandwidth 128
 ip address 155.1.45.4 255.255.255.0
 encapsulation frame-relay
 no keepalive
 priority-group 1
 clock rate 128000
 frame-relay priority-dlci-group 1 100 200 200 200
 frame-relay map ip 155.1.45.5 100 broadcast
 frame-relay interface-dlci 100
 frame-relay interface-dlci 200
 max-reserved-bandwidth 100
priority-list 1 protocol ip high udp rip
priority-list 1 protocol ip low list 101
priority-list 1 protocol ip medium list 102
priority-list 1 protocol http normal
priority-list 1 protocol ip high lt 64
priority-list 1 queue-limit 5 40 60 80



In the above example, RIP and packets <= 64 bytes are sent out DLCI 100, all other traffic is sent out DLCI 200.


On to frame-relay switching and policing. Frame relay switching was pretty easy for me to handle. You can either use the 'connect' global command or the interface 'frame-relay route' command. Also, you can apply classes to switched PVC's - just add the keyword 'switched' to the interface-dlci command.


Know how to use both in the event you are prevented form using one of them. The policing aspect was new. This functions much like the traffic shaping. Enable policing with 'frame-relay policing'. From there you can apply map-classes to the DLCIs. The one important point is to use the 'in' keyword when performing frame-relay policing. Below are the pertinent configs.



interface Serial1/2
 ip address 155.1.13.3 255.255.255.0
 ip rip advertise 10
 encapsulation frame-relay
 serial restart-delay 0
 clock rate 128000
 frame-relay map ip 155.1.13.1 133 broadcast
 frame-relay interface-dlci 132 switched
  class R1
  load-interval 30
 frame-relay interface-dlci 133
 no frame-relay inverse-arp
 frame-relay intf-type dce
 frame-relay route 132 interface Serial1/3 231
 frame-relay policing
 frame-relay congestion-management
  threshold ecn 3
  threshold de 5
!

map-class frame-relay R1
 frame-relay cir in 64000
 frame-relay bc in 8000
 frame-relay be in 8000

Well, I think that is enough for this section. Next section will include MQC related commands.....

1 comment:

  1. Hello I enjoyed the article and I like that you take a look at my page to see more of R6 FRAME

    ReplyDelete