Configuring LLQ for Frame Relay
In earlier releases of IOS, if you wanted to transmit voice over Frame
Relay and ensure low latency, you might have considered the combination
of RTP priority, PQ or CQ, and FRF.12 for link fragmentation and
interleaving (see the section on RTP priority and LFI for more information).
However, this combination has been superceded in later releases
of IOS code (12.1(2)T or later, to be exact) by the more flexible feature,
LLQ for frame relay. The concept and configuration are very similar to
general CBWFQ with LLQ covered earlier in this chapter, but a very
generic configuration example might be as follows:
!
class-map voice # We create a class for our Voice
match access-group 101 # Which we define as packets
# matching access-list 101
!
class-map video # We create a class for Video
match ip prec 4 # Which we define as packets with IP
# Precedence of 4
!
class-map control # We create a class for session
# control traffic
match ip prec 3 # Which we define as packets with IP
# Precedence of 3
# There is an implied "class-default"
# All other packets go go into class-default
Configuring & Implementing…
Continued
Advanced QoS for AVVID Environments • Chapter 8 259
www.syngress.com
!
access-list 101 permit udp any any range 16384 20000
The following commands create and define a policy map called
mypolicy:
!
policy-map mypolicy # We create the policy-map "mypolicy"
class voice # We define the class for voice
priority 16 # The "priority" keyword defines LLQ and
# guarantees 16k
class video
bandwidth 32 # The "bandwidth" keyword is a bandwidth
# guarantee (not LLQ)
random-detect # Turns on WRED within this class
class control
bandwidth 16
class class-default
fair-queue 64 # Packets in this class will be handled
# with regular WFQ
queue-limit 20 # There can be no more than 20 packets
# in this queue
The following commands make sure you have Frame Relay traffic
shaping at the serial interface. Enable Frame Relay fragmentation and
attach the policy map to DLCI 100:
!
interface Serial1/0
frame-relay traffic-shaping # Turns on FRTS on the main
# interface
!
interface Serial1/0.1 point-to-point
frame-relay interface-dlci 100
class fragment # Assigns class "fragment" to this DLCI
!
Continued
260 Chapter 8 • Advanced QoS for AVVID Environments
Running in Distributed Mode
The Cisco 7500 Series is Cisco’s high-performance distributed LAN/WAN services
router. It follows its predecessor, the 7000 Series, which has been discontinued
and will not support IOS revisions above version 11.2.The 7500 Series
has architecture quite different from other Cisco router platforms. It is comprised
of one Route/Switch Processor and multiple Versatile Interface Processors. Each
VIP not only provides modular Port Adapter functionality that supports a wide
range of interfaces, but also effectively offloads many tasks from the main RSP.
This leads to scalability and an easy network upgrade path.When more capacity
is required, additional VIPs can be installed.There are a few types of VIPs that
differ in their processing power. In general, higher capacity circuits require faster
processors.The true scalability of this platform is realized only when the VIP
takes on tasks normally run by the RSP.When these services are run on the individual
VIP, the service is said to be running in distributed mode. Let’s look at some
of the features supported in distributed mode.
Features Supported in Distributed Mode
There are many services that can run in distributed mode, including:
Basic Switching Cisco Express Forwarding, IP fragmentation, Fast
EtherChannel
VPN IP Security (IPSec), generic routing encapsulation (GRE) tunnels
QoS Network-Based Application Recognition (NBAR), traffic shaping
(DTS), policing (DCAR), congestion avoidance (DWRED), weighted
fair queuing (DWFQ), guaranteed minimum bandwidth (DCBWFQ),
and so on
www.syngress.com
map-class frame-relay fragment # Defines the class "fragment"
frame-relay cir 64000
frame-relay mincir 64000 # CIR and MINCIR are both 64k
frame-relay bc 640
frame-relay fragment 50
service-policy output mypolicy
# Finally, we assign "mypolicy" to this class
# which is applied to the DLCI.