Feedback
|
Table Of Contents
How to Implement L3/nC/nD
Including Proportional Bandwidth Allocation with Frame RelayConfiguring the Policy Maps with Port-Shaping and Attaching them to a Main and SubInterface
Configuration Examples for L3/nC/nD Including
Proportional Bandwidth AllocationL3/nC/nD Service Provider Configuration Example 1
L3/nC/nD Service Provider Configuration Example 2
QoS: Enhancement to Subinterface QoS Policy Definitions (L3/nC/nD) Including Proportional Bandwidth Allocation
L3/nC/nD is a service provider Quality of Service (QoS) reference model that describes methods by which a physical interface can be provisioned by a service provider to multiple customers with one connection provisioned per customer. This feature document describes how a subset of Cisco 12000 Series ISE line cards implement elements of L3/nC/nD, in particular, proportional bandwidth allocation for sharing excess bandwidth between customers.
Feature History for L3/nC/nD Including Proportional Bandwidth Allocation
Finding Support Information for Platforms and Cisco IOS Software Images
Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.
Contents
•
How to Implement L3/nC/nD Including Proportional Bandwidth Allocation with Frame Relay
•
Configuration Examples for L3/nC/nD Including Proportional Bandwidth Allocation
Prerequisites
•
Knowledge of the Cisco Modular Quality of Service Command line Interface (MQC) to create Quality of Service class maps and policy maps. See the "Related Documents" section for further information.
•
Understanding of Frame Relay interface configuration, traffic shaping and policing.
The QoS: Enhancement to Subinterface QoS Policy Definitions (L3/nC/nD) Including Proportional Bandwidth Allocation is supported on the following Cisco 12000 Series ISE line cards:
Supported Cisco 12000 Series Internet Services Engine (E3) Line Cards
•
1-Port Channelized OC-12/STM-4 (DS1/E1) ISE Line Card
Product Number: CHOC12/DS1-IR-SC=•
1-Port Channelized OC-48/STM-16 (DS3/E3, OC-3c/STM-1c, OC-12c/STM-4c) POS/SDH ISE Line Card
Product Number: CHOC48/DS3-SR-SC=•
4-Port Channelized OC-12/STM-4 (DS3/E3, OC-3c/STM-1c) POS/SDH ISE Line Card
Product Number: 4CHOC12/DS3-I-SCB=•
16-Port OC-3c/STM-1c POS/SDH ISE Line Card
Product Numbers: 6OC3X/POS-I-LC-B=, 16OC3X/POS-M-MJ-B=Information About QoS: Enhancement to Subinterface QoS Policy Definitions (L3/nC/nD)
Including Proportional Bandwidth AllocationThe L3/nC/nD is a reference model developed for service provider customers to describe methods to provide a physical interface for Layer 3 services (L3) to any number of customers (nCustomers) with one logical subinterface connection provisioned per customer (nDLCIs). The customer-specific Modular Quality of Service Command line (MQC) configuration is also attached to the subinterface.
Each customer can classify their traffic into one or more classes defined by MQC class-maps with match criteria (such as match ip precedence, or match access-group). Each of these classes may have queuing and non-queuing QoS features applied to them individually.
This L3/nC/nD model is the most widely deployed model for Layer 3 services today. The service characteristics of the model are as follows:
•
Each customer buys an aggregate service (across all classes) at a defined rate; the service provider guarantees this service at the edge by shaping each Datalink Connection Identifier (DLCI) to the contracted per-customer aggregate rate.
•
The customer aggregate can then be divided into bandwidth available for the different classes. When the aggregate per-customer rate is exceeded, backpressure is directed into a queuing scheme that governs the per-class packet differentiation and drop behaviour.
How to Implement L3/nC/nD
Including Proportional Bandwidth Allocation with Frame RelayThe L3/nC/nD reference model advances the following configuration scenario for Frame Relay subinterface traffic shaping. The following configuration is for the Customer Edge (CE) outbound towards the Provider Edge (PE) and on the PE outbound towards the CE:
L3nCnD Frame Relay Subinterface Traffic-Shaping Reference Configuration Model
policy-map parentclass class-defaultshape average <cir> <nb> <be>service-policy child!policy-map childclass voip{voip-sub-model}class bus{data-sub-model}class class-default{data-sub-model}!map-class frame-relay frtsservice-policy output parent!interface SerialX/Yencapsulation frame-relay IETF!interface SerialX/Y.1 point-to-pointframe-relay class frtsframe-relay interface-dlci <dlci>In the reference configuration, traffic shaping on a Frame Relay subinterface is governed by an hierarchical service policy named "parent" which is applied to every subinterface configured to be in the Frame Relay class "frts." No policy is applied to the main interface. In this example, the "child" policy map defines three typical traffic classes. It is assumed that each class in the child policy is configured to police its corresponding traffic.
The Cisco 12000 Series ISE line cards specified in the "Prerequisites" section, do not support the implementation of hierarchical service policies applied to subinterfaces. The following configuration is supported instead:
Cisco 12000 ISE Line Card Frame Relay Subinterface Traffic-Shaping Configuration Model
policy-map child-dummy!policy-map port-shapeclass class-defaultshape average <cir> <nb> <be>service-policy child-dummy!policy-map subinterface-policyclass voip{voip-sub-model}class bus{data-sub-model}class class-default{data-sub-model}!map-class frame-relay frtsservice-policy output subinterface-policy!interface SerialX/Yencapsulation frame-relay IETFservice-policy output port-shape!interface SerialX/Y.1 point-to-pointframe-relay class frtsframe-relay interface-dlci <dlci>In the ISE Line Card configuration example, a service policy is applied to shape the main interface, with the subinterface configured as a member of a Frame Relay class. Alternatively, the subinterface service policy can be applied directly to each subinterface.
The null service policy (child-dummy) specified in the service policy attached to the main interface (port-shape) signals the software that port-shaping rather than class shaping is being configured.
The following restrictions for the specified ISE linecards follow from this example:
•
Shaping in the parent class on a subinterface is not supported.
•
Bandwidth sharing of excess bandwidth is possible between all classes on a main interface, but it is not possible to share excess bandwidth within classes in a policy.
Configuring Class Maps
An implementation of the L3/nC/nD feature may require configuring multiple class maps. To configure class maps, complete the following procedure.
Restrictions
•
If a service policy is attached to a Frame Relay subinterface, then a valid policy, flat or hierarchical, cannot be added to the main interface.
•
Only a hierarchical policy with a dummy child policy can be attached to the main interface (port-shaping).
•
If a policy map is configured with a bandwidth percentage method, then the subinterface bandwidth should be configured on the Frame Relay subinterface.
•
The bandwidth remaining percent command is not supported on the Frame Relay subinterface.
•
Configuration of port-shaping for L3/nC/nD is not supported with map-class configuration.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
class-map [match-all | match-any] class-map-name
4.
match ip precedence number
5.
match mpls experimental exp
6.
exit
7.
Repeat Steps 3 through 6 for each class that you want to create.
8.
exit
9.
show class-map
DETAILED STEPS
Configuring the Policy Maps with Port-Shaping and Attaching them to a Main and SubInterface
After a policy map is created, the next step is to attach the policy map to an interface. Policy maps can be attached to either the input or output direction of the interface.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
policy-map name
4.
exit
5.
policy-map name
6.
class name
7.
shape average
8.
service-policy name
9.
exit
10.
exit
11.
policy-map
12.
class
13.
bandwidth
bandwidth percent 1514.
queue-limit
queue-limit 1500 packets15.
exit
To add additional classes, repeat steps 12 through 15.
16.
map-class frame-relay frts
17.
service-policy output port-shape
18.
exit
19.
exit
20.
interface pos1/0
21.
no ip address address
22.
encapsulation {frame-relay | hdlc | ppp}
23.
no keepalive
24.
service-policy {history | input | output} name
25.
exit
26.
interface pos1/0.1 {point to point | mulitpoint}
27.
ip address 172.16.1.1 255.255.255.0
28.
frame-relay class name
29.
frame-relay interface-dlci dlci
30.
exit
31.
show running-config interface serial0
DETAILED STEPS
Examples
Configuring the Class Maps
Router(config)# class-map match-any C1Router#(config-cmap)# match ip precedence 1Router#(config-cmap)# match mpls experimental 1Router(config)# class-map match-any C6Router#(config-cmap)# match ip precedence 6Router#(config-cmap)# match access-group 1Router(config)# class-map match-any C5Router#(config-cmap)# match ip precedence 5Router(config)# class-map match-any C4Router#(config-cmap)# match ip precedence 4Router#(config-cmap)# match ip precedence 3Router#(config-cmap)# match ip precedence 2Configuring the Policy Maps With Port-Shaping:
Router(config)# Policy Map child-dummyRouter(config)# policy map port-shape /* policy on main-interface */Router(config-pmap)# class class-defaultRouter(config-pmap-c)# shape average 500000000Router(config-pmap-c)# service-policy child-dummyRouter(config)# policy map foo /* policy attached to individual FRSI */Router(config-pmap)# Class C4Router(config-pmap-c)# bandwidth percent 15Router(config-pmap-c)# queue-limit 1500 packetsRouter(config-pmap-c)# exitRouter(config-pmap)# Class C5Router(config-pmap-c)# match ip precedence 1Router(config-pmap-c)# exitRouter(config-pmap)# Class C6Router(config-pmap-c)# bandwidth percent 45Router(config-pmap-c)# queue-limit 2500 packetsRouter(config-pmap-c)# exitRouter(config-pmap)# Class class-defaultRouter(config-pmap-c)# bandwidth percent 10Router(config)# map-class frame-relay frtsRouter(config-map-class)# service-policy output fooRouter(config-map-class)# exitAttaching Policies to the Main and Subinterfaces
Router(config)# interface pos0/1Router(config-if)# no ip addressRouter(config-if)# encapsulation frame-relay IETFRouter(config-if)# no keepaliveRouter(config-if)# service-policy output port-shapeRouter(config-if)# exit!Router(config)# interface pos0/1.1 point-to-pointRouter(config-subif)# ip address 172.16.1.1 255.255.255.0Router(config-subif)# frame-relay class frtsRouter(config-subif)# frame-relay interface-dlci 102Router(config-subif)# cntl-ZVerifing the Configuration
Router# show running-config interface pos1/0Building configuration...Current configuration : 156 bytes!interface POS1/0no ip addressno ip directed-broadcastencapsulation frame-relayservice-policy output port-shapeendRouter# show running-config interface pos1/0.1Building configuration...Current configuration : 156 bytes!interface POS1/0.1 point-to-pointbandwidth 6000!! Notice the bandwidth configuration under the Subinterface!!ip address 192.168.14.1 255.255.255.0no ip directed-broadcastframe-relay interface-dlci 16service-policy output fooendWithout port-shaping (policy attached only on FRSI):Policy Map testClass C6bandwidth percent 60queue-limit 2000 packetsClass C5bandwidth percent 30queue-limit 1500 packetsClass C4bandwidth percent 10queue-limit 1000 packetsVerifyGSR# show run int pos1/0.1Building configuration...Current configuration : 156 bytes!interface POS1/0.1 point-to-pointbandwidth 6000 ..................> Notice the bandwidth configurationunder the Sub-interfaceip address 192.168.14.1 255.255.255.0no ip directed-broadcastframe-relay interface-dlci 16service-policy output testendOther Show Commands
show class-mapshow policy-mapshow policy-map interface <x>Configuration Examples for L3/nC/nD Including
Proportional Bandwidth AllocationThe sample configurations in this section are derived from actual service provider configurations.
The following CLIs were altered to display the new syntax available for the supported line cards in Cisco IOS Release 12.0(28)S.•
shape average percent <%> <time> ms
•
random-detect <num> <time> ms <time> ms
•
random-detect <num> <time> ms <time> ms
•
police cir percent <%> [bc <ms> ms]
Note
The subinterface bandwidth kbps command is essential for correct functionality of the percent and time-based configurations for the supported line card subinterfaces. The subinterface bandwidth command does not guarantee a minimum bandwidth to the subinterface. It is used as a hint.
L3/nC/nD Service Provider Configuration Example 1
class-map match-any real-timematch ip dscp 46match access-group <x>class-map match-any bursty-lowmatch ip dscp 18 20match access-group <x>class-map match-any bursty-highmatch ip dscp 26 28match access-group <x>!policy child-dummy!policy parent-outclass class-defaultshape average percent <%> <ms> msservice-policy child-dummypolicy content-vpnclass real-timeprioritypolice cir percent <%> [bc <ms> ms] ! using subinterface bandwidthclass bursty-highbandwidth percent <%> ! using subinterface bandwidthrandom-detect [precedence-based | dscp-based | discard-class-basedrandom-detect {precedence | dscp | discard-class} <num> <min_th> ms <max_th> ms [mpd] ! using subinterface bandwidthclass bursty-lowbandwidth percent <%>random-detect [precedence-based | dscp-based | discard-class-basedrandom-detect {precedence | dscp | discard-class} <num> <min_th> ms <max_th> ms [mpd] ! using subinterface bandwidthclass class-default ! best effortbandwidth percent <%>shape average percent <%> <ms> msrandom-detect [precedence-based | dscp-based | discard-class-basedrandom-detect {precedence | dscp | discard-class} <num> <min_th> ms <max_th> ms [mpd] ! using subinterface bandwidthmap-class frame-relay content-vpnservice-policy output content-vpn-outmap-class frame-relay internetservice-policy output internet-outmap-class frame-relay nms-vpnservice-policy output nms-vpn-outinterface POS3/0encapsulation frame-relayservice-policy output parent-outendinterface POS3/0.100 point-to-pointframe-relay interface-dlci 100description e.g. Content VPNbandwidth <kbps>ip vrf forwarding content-vpnframe-relay class content-vpnendinterface POS3/0.101 point-to-pointframe-relay interface-dlci 101description e.g. Internet servicebandwidth <kbps>frame-relay class internetendinterface POS3/0.102 point-to-pointframe-relay interface-dlci 102description e.g. NMS VPNbandwidth <kbps>ip vrf forwarding nms-vpnframe-relay class nms-vpnendL3/nC/nD Service Provider Configuration Example 2
class-map match-any real-timematch ip dscp 46match qos-group <x>class-map match-any bursty-lowmatch ip dscp 18 20match qos-group <x>class-map match-any bursty-highmatch ip dscp 26 28match qos-group <x>policy-map child-dummypolicy-map port-shapeclass class-defaultshape average percent <%> <ms> msservice-policy child-dummypolicy-map content-vpnclass real-timeprioritypolice cir percent <%> [bc <ms> ms] ! using bandwidthclass bursty-highbandwidth percent <%> ! using subinterface bandwidthrandom-detect [precedence-based | dscp-based | discard-class-based]random-detect {precedence | dscp | discard-class} <num> <min_th> ms <max_th> ms [mpd] ! using subinterface bandwidthclass bursty-lowbandwidth percent <%> ! using subinterface bandwidthrandom-detect [precedence-based | dscp-based | discard-class-based]random-detect {precedence | dscp | discard-class} <num> <min_th> ms <max_th> ms [mpd] ! using subinterface bandwidthclass class-default ! best effortbandwidth percent <%> ! using subinterface bandwidthshape average percent <%> <ms> ms ! using subinterface bandwidthrandom-detect [precedence-based | dscp-based | discard-class-based]random-detect {precedence | dscp | discard-class} <num> <min_th> ms <max_th> ms [mpd] ! using subinterface bandwidth!map-class frame-relay content-vpnservice-policy output content-vpn-outservice-policy input input-policermap-class frame-relay internetservice-policy output internet-outmap-class frame-relay nms-vpnservice-policy output nms-vpn-outinterface POS3/0encapsulation frame-relayservice-policy output port-shapeendinterface POS3/0.100 point-to-pointframe-relay interface-dlci 100description e.g. Content VPNbandwidth <kbps>ip vrf forwarding content-vpnframe-relay class content-vpnendinterface POS3/0.101 point-to-pointframe-relay interface-dlci 101description e.g. Internet servicebandwidth <kbps>frame-relay class internetendinterface POS3/0.102 point-to-pointframe-relay interface-dlci 102description e.g. NMS VPNbandwidth <kbps>ip vrf forwarding nms-vpnframe-relay class nms-vpnendAdditional References
The following sections provide references related to QoS: Enhancement to Subinterface QoS Policy Definitions (L3/nC/nD) Including Proportional Bandwidth Allocation.
Related Documents
Standards
Standards TitleNo new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.
—
MIBs
RFCs
RFCs TitleNo new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.
—
Technical Assistance
Copyright © 2004 Cisco Systems, Inc. All rights reserved.
Feedback
