Back Forum Reply New

MPLS VPN QoS Design and Case Study

MPLS VPN QoS design typically is viewed from two distinct perspectives:
  • The enterprise customer subscribing to the MPLS VPN service
  • The service provider provisioning edge and core QoS within the MPLS VPN service
To achieve end-to-end service levels, enterprise and service-provider QoS policies must be consistent and complimentary. Therefore, QoS considerations and design recommendations for both the enterprise and service provider are presented in this chapter. The following topics are discussed:
  • Enterprise-to-service provider mapping models
  • Service provider-to-enterprise models
  • MPLS DiffServ tunneling modes
  • DiffServ in the backbone
  • MPLS traffic engineering
MPLS is a combination of routing and switching technologies that can provide scalable VPNs with end-to-end quality of service.
Many customers are turning to service providers that offer MPLS VPN services as private WAN alternatives. One of the main reasons for this is the any-to-any connectivity capabilities of MPLS VPNs. However, this full-mesh nature in itself poses significant QoS implications to enterprise customers and service providers alikenamely, that they both need to comanage QoS in a cooperative and complementary fashion to achieve end-to-end service levels.
This chapter examines in detail QoS considerations that enterprise customers need to bear in mind when subscribing to MPLS VPNs, including how best to map into various service-provider MPLS VPN QoS models.
Service provider-edge QoS considerations are reviewed in depth, including egress queuing models and MPLS DiffServ tunneling modes (Uniform, Short Pipe, and Pipe). Furthermore, service-provider core QoS considerations are reviewed, including aggregate bandwidth provisioning and DiffServ in the backbone. MPLS traffic engineering as it relates to QoS is covered, along with two detailed examples: MPLS per-VPN traffic engineering and MPLS DiffServ traffic engineering.
This chapter concludes with a case study that shows how these designs can be combined in a complex MPLS VPN end-to-end scenario.
Note
This chapter addresses QoS design for MPLS VPNs, not the theory and operation of MPLS VPNs themselves. It is assumed that the reader is familiar with basic MPLS VPN architectures and technologies. For a detailed discussion of MPLS VPNs, refer to the Cisco Press books MPLS and VPN Architectures, Volumes I and II, by Ivan Pepelnjak and Jim Guichard; Traffic Engineering with MPLS, by Eric Osborne and Ajay Simha; and Advanced MPLS Design and Implementation, by Vivek Alwayn.


Case Study: MPLS VPN QoS Design (CE/PE/P Routers)

Continuing the example from the previous design chapters, the fictitious company ABC, Inc., has been growing and expanding, both geographically and technologically. It has multiple data centers in geographically diverse regions to which its field needs to connect efficiently. Additionally, to increase collaboration and simultaneously reduce travel expenses, ABC, Inc., plans to roll out any-to-any videoconferencing. For these business reasons, ABC, Inc., has decided to migrate from its private WAN to an MPLS VPN, managed by service provider XYZ (SP XYZ).
To minimize the costs of migration, SP XYZ supports both Frame Relay and ATM Layer 2 access (including ATM IMA, which has been ABC, Inc.'s, primary choice for branch WAN media).
Furthermore, SP XYZ is a leader in MPLS VPN services and supports a five-class provider-edge model. Real-time service can be purchased in 5 percent increments, as can the amounts of the three other levels of preferred service (Critical Data, Video, and Bulk Data). ABC Inc. wants its WAN migration to MPLS VPN to be as transparent to end users as possible, so it agrees to purchase these services in amounts that closely match the current QoS Baseline WAN edge model, without causing traffic class-mixing issues.
Additionally, ABC, Inc., monitors network utilization (particularly videoconferencing traffic) and performs traffic accounting and department bill-back based on the DSCP markings of traffic flows. ABC, Inc., views it as essential that the SP not re-mark any traffic at Layer 3 as it traverses the MPLS VPN, but rather preserve the DSCP markings intact. Again, SP XYZ can accommodate ABC, Inc., because it deploys the popular Short Pipe Mode of MPLS DiffServ tunneling.
SP XYZ also offers the option of premium service for voice traffic to geographically adjacent sites (through MPLS DS-TE). Because ABC, Inc., is a heavy IP telephony user, it elects to purchase this premium service for voice traffic (thus, from SP XYZ's perspective, ABC, Inc., is considered a "BLUE" class customer).

Topology.JPG
30-8-2009 23:15

it is assumed that traffic has been marked correctly on campus/branch switches before it arrives at the CE LAN edges. Where such an assumption is invalid, ingress LAN edge marking policies, discussed in "Branch Router QoS Design," can be applied to the CE LAN edges. Additionally, it has been assumed that there are no unidirectional applications in this example.
Queuing and marking policies for a five-class provider-edge model have been applied on CE edges.
On ingress, SP XYZ applies a five-class short pipe MPLS DiffServ tunneling mode policer to identify (through MPLS EXP values) traffic that is in contract or out-of-contract. DiffServ policies are applied throughout the MPLS VPN core, and MPLS DS-TE also is provisioned for voice traffic to geographically adjacent CEs. On egress, SP XYZ applies a five-class provider-edge model, which is based on the customer's DiffServ markings. In this example, company ABC, Inc., fits service provider XYZ's customer Blue profile.
The configuration for this example spans six routers: Blue-CE1, Blue-CE2, Red-CE1, Red-CE2, PE1, PE2, and P router. However, because CE configurations are virtually identical, only one is presented here .

Configuration :

  1. ! hostname CE1-BLUE
  2. !
  3. ip cef                         ! IP CEF is required for Packet Marking
  4. !
  5. class-map match-all ROUTING
  6.   match ip dscp cs6
  7. class-map match-all VOICE
  8.   match ip dscp ef
  9. class-map match-all INTERACTIVE-VIDEO
  10.   match ip dscp af41
  11. class-map match-all STREAMING-VIDEO
  12.   match ip dscp cs4
  13. class-map match-all MISSION-CRITICAL-DATA
  14.   match ip dscp 25
  15. class-map match-any CALL-SIGNALING
  16.   match ip dscp af31
  17.   match ip dscp cs3
  18. class-map match-all TRANSACTIONAL-DATA
  19.   match ip dscp af21
  20. class-map match-all BULK-DATA
  21.   match ip dscp af11
  22. class-map match-all NETWORK-MANAGEMENT
  23.   match ip dscp cs2
  24. class-map match-all SCAVENGER
  25.   match ip dscp cs1
  26. !
  27. !
  28. policy-map CE-FIVE-CLASS-SP-MODEL
  29.   class ROUTING
  30.    bandwidth percent 3  ! Routing is assigned (by default) to Critical SP class
  31.   class VOICE
  32.    priority percent 18  ! Voice is admitted to Realtime SP class
  33.   class INTERACTIVE-VIDEO
  34.    priority percent 15
  35.    set ip dscp cs5      ! Interactive-Video is assigned to the Realtime SP class
  36.   class STREAMING-VIDEO
  37.    bandwidth percent 13
  38.    set ip dscp af21     ! Streaming-Video is assigned to the Video SP class
  39.   class CALL-SIGNALING
  40.    priority percent 2   ! Call-Signaling gets LLQ for this scenario
  41.    set ip dscp cs5      ! Call-Signaling is assigned to the Realtime SP class
  42.   class MISSION-CRITICAL-DATA
  43.    bandwidth percent 12
  44.    random-detect
  45.    set ip dscp af31     ! MC Data is assigned to the Critical SP class
  46.   class TRANSACTIONAL-DATA
  47.    bandwidth percent 5
  48.    random-detect
  49.    set ip dscp cs3      ! Transactional Data is assigned to Critical SP class
  50.   class NETWORK-MANAGEMENT
  51.    bandwidth percent 2  ! Net Mgmt (mainly UDP) is admitted to Video SP class
  52.   class BULK-DATA
  53.    bandwidth percent 5  ! Bulk Data is assigned to Bulk SP class
  54.    random-detect
  55.   class SCAVENGER
  56.    bandwidth percent 1
  57.    set ip dscp 0
  58.   class class-default
  59.    bandwidth percent 24
  60.    random-detect
  61. !
  62. !
  63.   policy-map CE-LAN-EDGE-OUT
  64.    class class-default
  65.     set cos dscp                  ! Enables default DSCP-to-CoS Mapping
  66. !
  67. !
  68. interface FastEthernet0/0
  69.   description TO CAT3500 BRANCH ACCESS-SWITCH
  70.   no ip address
  71. !
  72. interface FastEthernet0/0.11
  73.   description DLVAN SUBNET 10.1.1.0
  74.   encapsulation dot1Q 11
  75.   ip address 10.1.1.1 255.255.255.0
  76.   service-policy output CE-LAN-EDGE-OUT       ! Restores CoS for Data VLAN
  77. !
  78. !
  79. interface FastEthernet0/0.101
  80.   description VVLAN SUBNET 10.1.101.0
  81.   encapsulation dot1Q 101
  82.   ip address 10.1.101.1 255.255.255.0
  83.   service-policy output CE-LAN-EDGE-OUT       ! Restores CoS on Voice VLAN
  84. !
  85. !
  86. interface ATM1/0
  87.   no ip address
  88.   no atm ilmi-keepalive
  89.   ima-group 1
  90.   no scrambling-payload
  91. !
  92. interface ATM1/1
  93.   no ip address
  94.   no atm ilmi-keepalive
  95.   ima-group 1
  96.   no scrambling-payload
  97. !
  98. !
  99. interface ATM1/IMA1
  100.   no ip address
  101.   no atm ilmi-keepalive
  102. !
  103. interface ATM1/IMA1.20 point-to-point
  104.   description Dual-T1 ATM IMA Link to PE1
  105.   ip address 10.20.1.1 255.255.255.252
  106.   pvc 0/120
  107.    vbr-nrt 3072 3072
  108.    max-reserved-bandwidth 100                       ! Overrides 75% BW limit
  109.    service-policy output CE-FIVE-CLASS-SP-MODEL     ! Applies 5-Class CE-PE Model
  110.   !
  111. !
  112. router bgp 10
  113.   no synchronization
  114.   bgp log-neighbor-changes
  115.   redistribute connected
  116.   neighbor 10.20.1.2 remote-as 100
  117.   no auto-summary
  118. !
  119. !




  120. PE1 Case Study MPLS VPN QoS Design  !
  121. hostname PE1
  122. !
  123. !
  124. ip vrf BLUE                          ! BLUE MPLS VPN Definition
  125.   rd 100:1
  126.   route-target export 100:1
  127.   route-target import 100:1
  128. !
  129. ip vrf RED                          ! RED MPLS VPN Definition
  130.   rd 150:1
  131.   route-target export 150:1
  132.   route-target import 150:1
  133. !
  134. ip cef
  135. mpls ldp logging neighbor-changes
  136. mpls traffic-eng tunnels            ! Enables MPLS TE globally
  137. !
  138. !
  139. !
  140. class-map match-any REALTIME
  141.   match ip dscp ef
  142.   match ip dscp cs5
  143. class-map match-any CRITICAL-DATA
  144.   match ip dscp cs6
  145.   match ip dscp af31
  146.   match ip dscp cs3
  147. class-map match-any VIDEO
  148.   match ip dscp af21
  149.   match ip dscp cs2
  150. class-map match-any BULK-DATA
  151.   match ip dscp af11
  152.   match ip dscp cs1
  153. class-map match-all CORE-REALTIME
  154.    match mpls experimental topmost 5  ! Identifies in-contract Realtime
  155. class-map match-all CORE-CRITICAL-DATA
  156.    match mpls experimental topmost 3  ! Identifies in-contract Critical-Data
  157.    match mpls experimental topmost 7  ! Identifies out-of-contract Critical Data
  158.    match mpls experimental topmost 2  ! Identifies in-contract Video
  159.    match mpls experimental topmost 1  ! Identifies in-contract Bulk
  160.    match mpls experimental topmost 6  ! Identifies out-of-contract Bulk
  161. !
  162. !
  163. policy-map PE-FIVE-CLASS-SHORT-PIPE-MARKING
  164.    claexceed-action set-mpls-exp-topmost-transmit 7
  165.     police cir 1050000
  166.       conform-action set-mpls-exp-topmost-transmit 5  ! Conforming RT set to 5
  167.       exceed-action drop                              ! Excess Realtime is dropped
  168.    class CRITICAL-DATA
  169.     police cir 600000
  170.       conform-action set-mpls-exp-topmost-transmit 3  ! Critical Data set to 3
  171.       exceed-action set-mpls-exp-topmost-transmit 7   ! Excess Critical set 7
  172.    class VIDEO
  173.     police cir 450000
  174.       conform-action set-mpls-exp-topmost-transmit 2  ! Conforming Video set to 2
  175.       exceed-action drop                              ! Excess Video dropped
  176.    class BULK-DATA
  177.     police cir 150000
  178.       conform-action set-mpls-exp-topmost-transmit 1  ! Conforming Bulk set to 1
  179.       exceed-action set-mpls-exp-topmost-transmit 6   ! Excess Bulk set to 6
  180.    class class-default
  181.     police cir 750000
  182.       conform-action set-mpls-exp-topmost-transmit 0  ! Conforming BE set to 0
  183.       exceed-action set-mpls-exp-topmost-transmit 4   ! Excess BE set to 4
  184. !
  185. !
  186. policy-map PE-FIVE-CLASS-SP-MODEL
  187.   class REALTIME
  188.    priority percent 35         ! Realtime SP class gets 35% LLQ
  189.   class CRITICAL-DATA
  190.    bandwidth percent 20        ! Critical-Data SP class gets 40% CBWFQ
  191.    random-detect dscp-based    ! DSCP-based WRED enabled on class
  192.   class VIDEO
  193.    bandwidth percent 15        ! Video SP class gets 15% CBWFQ
  194.    random-detect dscp-based    ! DSCP-based WRED enabled on "Video" SP class
  195.   class BULK-DATA
  196.    bandwidth percent 5         ! Bulk Data SP class gets 15% CBWFQ
  197.    random-detect dscp-based    ! DSCP-based WRED enabled on Bulk Data SP class
  198.   class class-default
  199.    bandwidth percent 25        ! Best Effort SP class gets 25% CBWFQ
  200.    random-detect               ! WRED enabled on Best Effort SP class
  201. !
  202. !
  203. policy-map CORE-THREE-CLASS-SP-MODEL
  204.    class CORE-REALTIME
  205.      priority percent 35               ! CORE-REALTIME gets 35% LLQ
  206.    class CORE-CRITICAL-DATA
  207.      bandwidth percent 55              ! CORE-CRITICAL gets 55% CBWFQ
  208.    class class-default
  209.      fair-queue                        ! CORE-BEST-EFFORT gets FQ
  210. !
  211. !
  212. interface Loopback0          ! Loopback interface for MPLS TE RID
  213.   ip address 20.1.1.1 255.255.255.255
  214. !
  215. interface Tunnel0
  216.   description TUNNEL0 (PE1=>PE2)
  217.   ip unnumbered Loopback0
  218.   tunnel destination 20.2.2.2
  219.   tunnel mode mpls traffic-eng                ! Enables MPLS TE on tunnel
  220.   tunnel mpls traffic-eng priority 0 0        ! Best priority
  221.   tunnel mpls traffic-eng bandwidth sub-pool 54250  ! Assigns sub-pool
  222.   tunnel mpls traffic-eng path-option 1 explicit name TUNNEL0
  223. !
  224. interface Tunnel1
  225.   description TUNNEL1 (PE1=>P=>PE2)
  226.   ip unnumbered Loopback0
  227.   tunnel destination 20.2.2.2
  228.   tunnel mode mpls traffic-eng                ! Enables MPLS TE
  229.   tunnel mpls traffic-eng priority 7 7        ! Worst priority
  230.   tunnel mpls traffic-eng bandwidth  77500    ! Assigns global pool
  231.   tunnel mpls traffic-eng path-option 1 explicit name TUNNEL1
  232. !
  233. !
  234. interface ATM2/0
  235.   no ip address
  236.   ima-group 1
  237. !
  238. interface ATM2/1
  239.   no ip address
  240.   ima-group 1
  241. !
  242. interface ATM2/ima1
  243.   no ip address
  244.   no atm ilmi-keepalive
  245. !
  246. interface ATM2/ima1.20 point-to-point
  247.   description Dual-T1 ATM IMA Link to Blue CE1
  248.   ip vrf forwarding BLUE
  249.   ip address 10.20.1.2 255.255.255.252
  250.   pvc 0/120
  251.    vbr-nrt 3072 3072
  252.    max-reserved-bandwidth 100                                ! Overrides 75% BW
  253.    service-policy input PE-FIVE-CLASS-SHORT-PIPE-MARKING     ! Short Pipe Marking
  254.    service-policy output PE-FIVE-CLASS-SP-MODEL              ! Egress policy to CE
  255.   !
  256. !
  257. interface ATM2/2
  258.   no ip address
  259.   ima-group 2
  260. !
  261. interface ATM2/ima2
  262.   no ip address
  263.   no atm ilmi-keepalive
  264. !
  265. interface ATM2/ima2.20 point-to-point
  266.   description Dual-T1 ATM IMA Link to Red CE1
  267.   ip vrf forwarding RED
  268.   ip address 10.20.1.2 255.255.255.252
  269.   pvc 0/220
  270.    vbr-nrt 3072 3072
  271.    max-reserved-bandwidth 100                                ! Overrides 75% BW
  272.    service-policy input PE-FIVE-CLASS-SHORT-PIPE-MARKING     ! Short Pipe Marking
  273.    service-policy output PE-FIVE-CLASS-SP-MODEL              ! Egress policy to CE
  274.   !
  275. !
  276. interface ATM2/3
  277.   no ip address
  278.   ima-group 2
  279. !
  280. !
  281. interface POS5/0
  282.   description PE1=>PE2 POS Link
  283.   ip address 20.1.12.1 255.255.255.252
  284.   max-reserved-bandwidth 100                         ! Overrides 75% BW limit
  285.   service-policy output CORE-THREE-CLASS-SP-MODEL    ! Applies Core DS policies
  286.   mpls traffic-eng tunnels                           ! Enables MPLS TE on int
  287.   tag-switching ip
  288.   ip rsvp bandwidth 77500 sub-pool 54250             ! Assigns sub-pool BW
  289. !
  290. interface POS6/0
  291.   description PE1=>P-Router (Core) POS Link
  292.   ip address 20.1.13.1 255.255.255.252
  293.   max-reserved-bandwidth 100                         ! Overrides 75% BW limit
  294.   service-policy output CORE-THREE-CLASS-SP-MODEL    ! Applies Core DS policies
  295.   mpls traffic-eng tunnels                           ! Enables MPLS TE on int
  296.   tag-switching ip
  297.   ip rsvp bandwidth 77500 77500                      ! Assigns global-pool BW
  298. !
  299. router ospf 100
  300.   mpls traffic-eng router-id Loopback0      ! MPLS TE RID
  301.   mpls traffic-eng area 0                   ! Enables OSPF area 0 for MPLS TE
  302.   log-adjacency-changes
  303.   redistribute connected subnets
  304.   network 20.1.12.0 0.0.0.3 area 0
  305.   network 20.1.13.0 0.0.0.3 area 0
  306. !
  307. router bgp 100
  308.   no synchronization
  309.   bgp log-neighbor-changes
  310.   redistribute connected
  311.   neighbor 20.2.2.2 remote-as 100
  312.   neighbor 20.2.2.2 update-source Loopback0
  313.   no auto-summary
  314.   !
  315.   address-family vpnv4
  316.   neighbor 20.2.2.2 activate
  317.   neighbor 20.2.2.2 send-community extended
  318.   neighbor 20.2.2.2 route-map TUNNEL-ASSIGNMENT in   ! Applies BGP PBR
  319.   exit-address-family
  320.   !
  321.   address-family ipv4 vrf RED
  322.   redistribute connected
  323.   neighbor 10.20.1.1 remote-as 15
  324.   neighbor 10.20.1.1 activate
  325.   neighbor 10.20.1.1 default-originate
  326.   no auto-summary
  327.   no synchronization
  328.   exit-address-family
  329.   !
  330.   address-family ipv4 vrf BLUE
  331.   redistribute connected
  332.   neighbor 10.20.1.1 remote-as 10
  333.   neighbor 10.20.1.1 activate
  334.   neighbor 10.20.1.1 default-originate
  335.   no auto-summary
  336.   no synchronization
  337.   exit-address-family
  338. ip extcommunity-list 2 permit rt 150:1
  339. ip classless
  340. ip route 16.16.16.16 255.255.255.255 Tunnel0  ! Static route for Tunnel 0
  341. ip route 17.17.17.17 255.255.255.255 Tunnel1  ! Static route for Tunnel 1
  342. !
  343. ip extcommunity-list 1 permit rt 100:1       ! Identifies Blue VPN by RT
  344. ip extcommunity-list 2 permit rt 150:1       ! Identifies Red VPN by RT
  345. ip bgp-community new-format
  346. !
  347. ip explicit-path name TUNNEL0 enable         ! Defines explicit path for Tu0
  348.   next-address 20.1.12.2
  349. !
  350. ip explicit-path name TUNNEL1 enable         ! Defines explicit path for Tu1
  351.   next-address 20.1.13.2
  352.   next-address 20.1.23.1
  353. !
  354. access-list 1 permit 10.2.102.0 0.0.0.255    ! Identifies (Blue) Voice-VLAN
  355. access-list 2 permit 10.2.2.0 0.0.0.255      ! Identifies (Blue) Data-VLAN
  356. access-list 2 permit 10.20.2.0 0.0.0.3       ! Identifies (Blue) PE-CE link
  357. access-list 3 permit 10.2.102.0 0.0.0.255    ! Identifies (Red) Voice-VLAN
  358. access-list 3 permit 10.2.2.0 0.0.0.255      ! Identifies (Red) Data-VLAN
  359. access-list 3 permit 10.20.2.0 0.0.0.3       ! Identifies (Red) PE-CE Link
  360. !
  361. route-map TUNNEL-ASSIGNMENT permit 10
  362.   match ip address 1                          ! Matches Voice-VLAN subnet
  363.   match extcommunity 1                        ! Matches Blue VPN RT
  364.   set ip next-hop 16.16.16.16                 ! Sets BGP Next-Hop to 16.16.16.16
  365. !
  366. route-map TUNNEL-ASSIGNMENT permit 20
  367.   match ip address 2                          ! Matches other (Blue) subnets
  368.   match extcommunity 1                        ! Matches Blue VPN RT
  369.   set ip next-hop 17.17.17.17                 ! Sets BGP Next-Hop to 17.17.17.17
  370. !
  371. route-map TUNNEL-ASSIGNMENT permit 30
  372.   match ip address 3                          ! Matches all (Red) subnets
  373.   match extcommunity 2                        ! Matches Red VPN RT
  374.   set ip next-hop 17.17.17.17                 ! Sets BGP Next-Hop to 17.17.17.17
  375. !
  376. !





  377. PE2 Case Study MPLS VPN QoS Design


  378. !
  379. hostname PE2
  380. !
  381. !
  382. ip vrf BLUE                           ! BLUE MPLS VPN Definition
  383.   rd 100:1
  384.   route-target export 100:1
  385.   route-target import 100:1
  386. !
  387. ip vrf RED                            ! RED MPLS VPN Definition
  388.   rd 150:1
  389.   route-target export 150:1
  390.   route-target import 150:1
  391. !
  392. ip cef
  393. mpls ldp logging neighbor-changes
  394. mpls traffic-eng tunnels             ! Enables MPLS TE globally
  395. !
  396. !
  397. !
  398. class-map match-any REALTIME
  399.   match ip dscp ef
  400.   match ip dscp cs5
  401. class-map match-any CRITICAL-DATA
  402.   match ip dscp cs6
  403.   match ip dscp af31
  404.   match ip dscp cs3
  405. class-map match-any VIDEO
  406.   match ip dscp af21
  407.   match ip dscp cs2
  408. class-map match-any BULK-DATA
  409.   match ip dscp af11
  410.   match ip dscp cs1
  411. class-map match-all CORE-REALTIME
  412.    match mpls experimental topmost 5  ! Identifies in-contract Realtime
  413. class-map match-all CORE-CRITICAL-DATA
  414.    match mpls experimental topmost 3  ! Identifies in-contract Critical-Data
  415.    match mpls experimental topmost 7  ! Identifies out-of-contract Critical Data
  416.    match mpls experimental topmost 2  ! Identifies in-contract Video
  417.    match mpls experimental topmost 1  ! Identifies in-contract Bulk
  418.    match mpls experimental topmost 6  ! Identifies out-of-contract Bulk
  419. !
  420. !
  421. policy-map PE-FIVE-CLASS-SHORT-PIPE-MARKING
  422.    class REALTIME
  423.     police cir 1050000
  424.       conform-action set-mpls-exp-topmost-transmit 5  ! Conforming RT set to 5
  425.       exceed-action drop                              ! Excess Realtime is dropped
  426.    class CRITICAL-DATA
  427.     police cir 600000
  428.       conform-action set-mpls-exp-topmost-transmit 3  ! Critical Data set to 3
  429.       exceed-action set-mpls-exp-topmost-transmit 7   ! Excess Critical set 7
  430.    class VIDEO
  431.     police cir 450000
  432.       conform-action set-mpls-exp-topmost-transmit 2  ! Conforming Video set to 2
  433.       exceed-action drop                              ! Excess Video dropped
  434.    class BULK-DATA
  435.     police cir 150000
  436.       conform-action set-mpls-exp-topmost-transmit 1  ! Conforming Bulk set to 1
  437.       exceed-action set-mpls-exp-topmost-transmit 6   ! Excess Bulk set to 6
  438.    class class-default
  439.     police cir 750000
  440.       conform-action set-mpls-exp-topmost-transmit 0  ! Conforming BE set to 0
  441.       exceed-action set-mpls-exp-topmost-transmit 4   ! Excess BE set to 4
  442. !
  443. !
  444. policy-map PE-FIVE-CLASS-SP-MODEL
  445.   class REALTIME
  446.    priority percent 35         ! Realtime SP class gets 35% LLQ
  447.   class CRITICAL-DATA
  448.    bandwidth percent 20        ! Critical-Data SP class gets 40% CBWFQ
  449.    random-detect dscp-based    ! DSCP-based WRED enabled on class
  450.   class VIDEO
  451.    bandwidth percent 15        ! Video SP class gets 15% CBWFQ
  452.    random-detect dscp-based    ! DSCP-based WRED enabled on "Video" SP class
  453.   class BULK-DATA
  454.    bandwidth percent 5         ! Bulk Data SP class gets 15% CBWFQ
  455.    random-detect dscp-based    ! DSCP-based WRED enabled on Bulk Data SP class
  456.   class class-default
  457.    bandwidth percent 25        ! Best Effort SP class gets 25% CBWFQ
  458.    random-detect               ! WRED enabled on Best Effort SP class
  459. !
  460. !
  461. policy-map CORE-THREE-CLASS-SP-MODEL
  462.    class CORE-REALTIME
  463.      priority percent 35               ! CORE-REALTIME gets 35% LLQ
  464.    class CORE-CRITICAL-DATA
  465.      bandwidth percent 55              ! CORE-CRITICAL gets 55% CBWFQ
  466.    class class-default
  467.      fair-queue                        ! CORE-BEST-EFFORT gets WFQ
  468. !
  469. !
  470. interface Loopback0           ! Loopback interface for MPLS TE RID
  471.   ip address 20.2.2.2 255.255.255.255
  472. !
  473. interface Tunnel0
  474.   description TUNNEL0 (PE2=>PE1)
  475.   ip unnumbered Loopback0
  476.   tunnel destination 20.1.1.1
  477.   tunnel mode mpls traffic-eng                ! Enables MPLS TE on tunnel
  478.   tunnel mpls traffic-eng priority 0 0        ! Best priority
  479.   tunnel mpls traffic-eng bandwidth sub-pool 54250   ! Assigns sub-pool
  480.   tunnel mpls traffic-eng path-option 1 explicit name TUNNEL0
  481. !
  482. interface Tunnel1
  483.   description TUNNEL1 (PE2=>P=>PE1)
  484.   ip unnumbered Loopback0
  485.   tunnel destination 20.1.1.1
  486.   tunnel mode mpls traffic-eng                ! Enables MPLS TE
  487.   tunnel mpls traffic-eng priority 7 7        ! Worst priority
  488.   tunnel mpls traffic-eng bandwidth  77500    ! Assigns global pool
  489.   tunnel mpls traffic-eng path-option 1 explicit name TUNNEL1
  490. !
  491. !
  492. interface ATM2/0
  493.   no ip address
  494.   ima-group 1
  495. !
  496. interface ATM2/1
  497.   no ip address
  498.   ima-group 1
  499. !
  500. interface ATM2/ima1
  501.   no ip address
  502.   no atm ilmi-keepalive
  503. !
  504. interface ATM2/ima1.20 point-to-point
  505.   description Dual-T1 ATM IMA Link to Blue CE2
  506.   ip vrf forwarding BLUE
  507.   ip address 10.20.2.2 255.255.255.252
  508.   pvc 0/120
  509.    vbr-nrt 3072 3072
  510.    max-reserved-bandwidth 100                              ! Overrides 75% BW
  511.    service-policy input PE-FIVE-CLASS-SHORT-PIPE-MARKING   ! Short Pipe Marking
  512.    service-policy output PE-FIVE-CLASS-SP-MODEL            ! Egress policy to CE
  513.   !
  514. !
  515. interface ATM2/2
  516.   no ip address
  517.   ima-group 2
  518. !
  519. interface ATM2/ima2
  520.   no ip address
  521.   no atm ilmi-keepalive
  522. !
  523. interface ATM2/ima2.20 point-to-point
  524.   description Dual-T1 ATM IMA Link to Red CE2
  525.   ip vrf forwarding RED
  526.   ip address 10.20.2.2 255.255.255.252
  527.   pvc 0/220
  528.    vbr-nrt 3072 3072
  529.    max-reserved-bandwidth 100                              ! Overrides 75% BW
  530.    service-policy input PE-FIVE-CLASS-SHORT-PIPE-MARKING   ! Short Pipe Marking
  531.    service-policy output PE-FIVE-CLASS-SP-MODEL            ! Egress policy to CE
  532. !
  533. !
  534. interface POS5/0
  535.   description PE2=>PE1 POS Link
  536.   ip address 20.1.12.2 255.255.255.252
  537.   max-reserved-bandwidth 100                         ! Overrides 75% BW limit
  538.   service-policy output CORE-THREE-CLASS-SP-MODEL    ! Applies Core DS policies
  539.   mpls traffic-eng tunnels                           ! Enables MPLS TE on int
  540.   tag-switching ip
  541.   ip rsvp bandwidth 77500 sub-pool 54250             ! Assigns sub-pool BW
  542. !
  543. interface POS6/0
  544.   description PE2=>P-Router (Core) POS Link
  545.   ip address 20.1.23.1 255.255.255.252
  546.   max-reserved-bandwidth 100                         ! Overrides 75% BW limit
  547.   service-policy output CORE-THREE-CLASS-SP-MODEL    ! Applies Core DS policies
  548.   mpls traffic-eng tunnels                           ! Enables MPLS TE on int
  549.   tag-switching ip
  550.   ip rsvp bandwidth 77500 77500                      ! Assigns global-pool BW
  551. !
  552. router ospf 100
  553.   mpls traffic-eng router-id Loopback0               ! MPLS TE RID
  554.   mpls traffic-eng area 0                            ! Enables OSPF area 0 for MPLS TE
  555.   log-adjacency-changes
  556.   redistribute connected subnets
  557.   network 20.1.12.0 0.0.0.3 area 0
  558.   network 20.1.23.0 0.0.0.3 area 0
  559. !
  560. router bgp 100
  561.   no synchronization
  562.   bgp log-neighbor-changes
  563.   redistribute connected
  564.   neighbor 20.1.1.1 remote-as 100
  565.   neighbor 20.1.1.1 update-source Loopback0
  566.   no auto-summary
  567.   !
  568.   address-family vpnv4
  569.   neighbor 20.1.1.1 activate
  570.   neighbor 20.1.1.1 send-community extended
  571.   neighbor 20.1.1.1 route-map TUNNEL-ASSIGNMENT in   ! Applies BGP PBR
  572.   exit-address-family
  573.   !
  574.   address-family ipv4 vrf RED
  575.   redistribute connected
  576.   neighbor 10.20.2.1 remote-as 15
  577.   neighbor 10.20.2.1 activate
  578.   neighbor 10.20.2.1 default-originate
  579.   no auto-summary
  580.   no synchronization
  581.   exit-address-family
  582.   !
  583.   address-family ipv4 vrf BLUE
  584.   redistribute connected
  585.   neighbor 10.20.2.1 remote-as 10
  586.   neighbor 10.20.2.1 activate
  587.   neighbor 10.20.2.1 default-originate
  588.   no auto-summary
  589.   no synchronization
  590.   exit-address-family
  591. !
  592. ip classless
  593. ip route 18.18.18.18 255.255.255.255 Tunnel0 ! Static route for Tunnel 0
  594. ip route 19.19.19.19 255.255.255.255 Tunnel1 ! Static route for Tunnel 1
  595. !
  596. ip extcommunity-list 1 permit rt 100:1       ! Identifies Blue VPN by RT
  597. ip extcommunity-list 2 permit rt 150:1       ! Identifies Red VPN by RT
  598. ip bgp-community new-format
  599. !
  600. ip explicit-path name TUNNEL0 enable         ! Defines explicit path for Tu0
  601.   next-address 20.1.12.1
  602. !
  603. ip explicit-path name TUNNEL1 enable         ! Defines explicit path for Tu1
  604.   next-address 20.1.23.2
  605.   next-address 20.1.13.1
  606. !
  607. access-list 1 permit 10.1.101.0 0.0.0.255    ! Identifies (Blue) Voice-VLAN
  608. access-list 2 permit 10.1.1.0 0.0.0.255      ! Identifies (Blue) Data-VLAN
  609. access-list 2 permit 10.20.1.0 0.0.0.3       ! Identifies (Blue) PE-CE link
  610. access-list 3 permit 10.1.101.0 0.0.0.255    ! Identifies (Red) Voice-VLAN
  611. access-list 3 permit 10.1.1.0 0.0.0.255      ! Identifies (Red) Data-VLAN
  612. access-list 3 permit 10.20.1.0 0.0.0.3       ! Identifies (Red) PE-CE Link
  613. !
  614. route-map TUNNEL-ASSIGNMENT permit 10
  615.   match ip address 1                          ! Matches Voice-VLAN subnet
  616.   match extcommunity 1                        ! Matches Blue VPN RT
  617.   set ip next-hop 18.18.18.18                 ! Sets BGP Next-Hop to 18.18.18.18
  618. !
  619. route-map TUNNEL-ASSIGNMENT permit 20
  620.   match ip address 2                          ! Matches other (Blue) subnets
  621.   match extcommunity 1                        ! Matches Blue VPN RT
  622.   set ip next-hop 19.19.19.19                 ! Sets BGP Next-Hop to 19.19.19.19
  623. !
  624. route-map TUNNEL-ASSIGNMENT permit 30
  625.   match ip address 3                          ! Matches all (Red) subnets
  626.   match extcommunity 2                        ! Matches Red VPN RT
  627.   set ip next-hop 19.19.19.19                 ! Sets BGP Next-Hop to 19.19.19.19
  628. !
  629. !



  630. The configuration for the P router for this MPLS VPN QoS design case-study example is shown in Example 15-32.

  631. P-Router Case Study MPLS VPN QoS Design Example !
  632. hostname P-Router
  633. !
  634. !
  635. ip cef
  636. mpls ldp logging neighbor-changes
  637. mpls traffic-eng tunnels               ! MPLS TE is enabled globally
  638. !
  639. !
  640. class-map match-all CORE-REALTIME
  641.    match mpls experimental topmost 5  ! Identifies in-contract Realtime
  642. class-map match-all CORE-CRITICAL-DATA
  643.    match mpls experimental topmost 3  ! Identifies in-contract Critical-Data
  644.    match mpls experimental topmost 7  ! Identifies out-of-contract Critical Data
  645.    match mpls experimental topmost 2  ! Identifies in-contract Video
  646.    match mpls experimental topmost 1  ! Identifies in-contract Bulk
  647.    match mpls experimental topmost 6  ! Identifies out-of-contract Bulk
  648. !
  649. !
  650. policy-map CORE-THREE-CLASS-SP-MODEL
  651.    class CORE-REALTIME
  652.      priority percent 35              ! CORE-REALTIME gets 35% LLQ
  653.    class CORE-CRITICAL-DATA
  654.      bandwidth percent 55             ! CORE-CRITICAL gets 55% CBWFQ
  655.    class class-default
  656.      fair-queue                       ! CORE-BEST-EFFORT gets WFQ
  657. !
  658. !
  659. interface Loopback0                  ! Loopback interface for MPLS TE RID
  660.   ip address 20.3.3.3 255.255.255.255
  661. !
  662. !
  663. interface POS5/0
  664.   description P-Router (Core) => PE1 POS Link
  665.   ip address 20.1.13.2 255.255.255.252
  666.   max-reserved-bandwidth 100                        ! Overrides 75% BW limit
  667.   service-policy output CORE-THREE-CLASS-SP-MODEL   ! Applies Core DS policies
  668.   mpls traffic-eng tunnels                          ! Enables MPLS TE on int
  669.   tag-switching ip
  670.   ip rsvp bandwidth 77500 77500                     ! Assigns global-pool BW
  671. !
  672. interface POS6/0
  673.   description P-Router (Core) => PE2 POS Link
  674.   ip address 20.1.23.2 255.255.255.252
  675.   max-reserved-bandwidth 100                         ! Overrides 75% BW limit
  676.   service-policy output CORE-THREE-CLASS-SP-MODEL    ! Applies Core DS policies
  677.   mpls traffic-eng tunnels                           ! Enables MPLS TE on int
  678.   tag-switching ip
  679.   ip rsvp bandwidth 77500 77500                      ! Assigns global-pool BW
  680. !
  681. router ospf 100
  682.   mpls traffic-eng router-id Loopback0               ! MPLS TE RID
  683.   mpls traffic-eng area 0                        ! Enables OSPF area 0 for MPLS TE
  684.   log-adjacency-changes
  685.   redistribute connected subnets
  686.   network 20.1.13.0 0.0.0.3 area 0
  687.   network 20.1.23.0 0.0.0.3 area 0
  688. !
  689. !
Copy Code
Verification commands:
  • show ip rsvp interface
  • show ip rsvp neighbor
  • show mpls interface
  • show mpls traffic-eng tunnels summary
  • show mpls traffic-eng tunnels
  • show mpls traffic-eng topology
  • show ip bgp vpnv4 all
  • ping vrf with show interface tunnel
Not Everything Is As It Seems
KhmerITForum.net ...Unlimited resource for you
Email : dollar.duong@gmail.com

( Pre-CCIE, CCNP, CCNA, JNCIS-ER, JNCIA-ER, JNCIA-EX )
Back Forum