7. Differentiated Model Divide Traffic into Classes Differentiated IP Services Guaranteed: Latency and Delivery Best Effort Delivery Guaranteed Delivery Voice E-mail, Web Browsing E-Commerce Application Traffic Platinum Class Low Latency Silver Bronze Gold Voice Traffic Classification
8.
9.
10.
11.
12. Differentiated Model Features Marking Version Length Len Layer 3 IPV4 ID Offset TTL Proto FCS IP-SA IP-DA Data ToS 1 Byte 0 7 1 2 3 4 5 6 IP Precedence DSCP Unused Bits; 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label | EXP | S | TTL |
13.
14.
15.
16.
17.
18.
19.
20.
21.
22. MPLS QoS ISP Customer MPLS 3) Invoke QoS Policy Action Based on Edge Classification (based on MPLS EXP), e.g. LLQ, CBWFQ, Drop Policy Low Priority via WRED if rate limit exceeded 1) Packet Classification through IP Prec/DSCP 2) Match IP Prec/DSCP; Set MPLS EXP. Rate-limit/Police and apply drop policy Core
23.
24.
25.
26. MPLS QoS Diff-Serv : DSCP 1 0 1 1 1 0 DSCP CU EF x x x y y 0 DSCP CU AFxy Class Drop Precedence AF Class = 1, 2, 3, 4 Drop Precedence = 2, 4, 6
27.
28.
29.
30. MPLS QoS Edge DiffServ LSR with L-LSP IPv4 Packet MPLS Header Non-MPLS Diff-Serv Domain MPLS Diff-Serv Domain DSCP Edge LSR 1) identify incoming packet’s BA looking at incoming DSCP 2) pick the LSP/label which supports the right FEC and the right BA 3) mark the EXP field to reflect the packet’s BA DSCP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label | EXP | S | TTL |
31.
32.
33.
34.
35.
36.
37.
38.
39. Examples PE 2 Pos 1/0 PE 3 MPLS Network PE 1 PE 4 CE 4 CE 2 PE 5 CE 1 CE 3 Pos 1/1 Pos 5/0 Pos 4/0 Pos 2/0 P 3
40. Examples ! Matching voice traffic from customer 1 Pe1(config)# class-map match-all cus1_voice Pe1(config-cmap)# match interface POS1/0 Pe1(config-cmap)# match ip precedence 4 Pe1(config-cmap)# end ! Matching voice traffic from customer 2 Pe1(config)# class-map match-all cus2_voice Pe1(config-cmap)# match interface POS1/1 Pe1(config-cmap)# match ip precedence 5 Pe1(config-cmap)# end ! Matching any e2e traffic Pe1(config)# class-map erp Pe1(config-cmap)# match ip precedence 2 Pe1(config-cmap)# end
41. Examples Pe1(config)# class-map isp_voice Pe1(config-cmap)# match mpls experimental 4 Pe1(config-cmap)# end Pe1(config)# class-map isp_erp Pe1(config-cmap)# match mpls experimental 2 Pe1(config-cmap)# end Pe1(config)# class-map isp_routine Pe1(config-cmap)# match mpls experimental 1 Pe1(config-cmap)# end
42. Examples ! Input Policy for setting experimental 4, 2, 1 Pe1(config)# policy-map pe1_input Pe1(config-pmap)# class cus1_voice Pe1(config-pmap-c)# set mpls experimental 4 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class cus2_voice Pe1(config-pmap-c)# set mpls experimental 4 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class erp Pe1(config-pmap-c)# set mpls experimental 2 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class class-default Pe1(config-pmap-c)# set mpls experimental 1 Pe1(config-pmap)# exit
45. Examples PE 2 Pos 1/0 PE 3 MPLS Network LC-ATM PE 4 CE 4 CE 2 PE 5 CE 1 CE 3 Pos 1/1 Pos 5/0 Pos 4/0 ATM Core PE 1 LSC1
46. Examples Pe1(config)# ATM1/0 Pe1(config-if)# no ip address Pe1(config-if)# atm clock INTERNAL Pe1(config-if)# no atm ilmi-keepalive Pe1(config-if)# exit Pe1(config)# interface ATM1/0.1 tag-switching Pe1(config-if)# ip unnumbered loopback0 Pe1(config-if)# tag-switching multi-vc Pe1(config-if)# tag-switching atm vpi 2-5 Pe1(config-if)# tag-switching ip ! Sets up 3 LVCs. Pe1(config)# cos-map 1 ! 3 - standard Pe1(config-mpls-cos-map)# class 3 standard ! 2 - premium Pe1(config-mpls-cos-map)# exit ! 1 - standard ! 0 – available Pe1(config)# mpls prefix-map 1 access-list 1 cos-map 1
47. Examples ! Matching voice traffic from customer 1 Pe1(config)# class-map match-all cus1_voice Pe1(config-cmap)# match interface POS1/0 Pe1(config-cmap)# match ip precedence 4 Pe1(config-cmap)# end ! Matching voice traffic from customer 2 Pe1(config)# class-map match-all cus2_voice Pe1(config-cmap)# match interface POS1/1 Pe1(config-cmap)# match ip precedence 5 Pe1(config-cmap)# end ! Matching any e2e traffic Pe1(config)# class-map erp Pe1(config-cmap)# match ip precedence 2 Pe1(config-cmap)# end
48. Examples P! Input Policy for setting experimental 2, 1, 0 e1(config)# policy-map pe1_input Pe1(config-pmap)# class cus1_voice Pe1(config-pmap-c)# set mpls experimental 2 ! Voice for customer 1 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class cus2_voice Pe1(config-pmap-c)# set mpls experimental 2 ! Voice for customer 2 Pe1(config-pmap-c)# exit Pe1(config-pmap)# class erp Pe1(config-pmap-c)# set mpls experimental 1 ! ERP data Pe1(config-pmap-c)# exit Pe1(config-pmap)# class class-default Pe1(config-pmap-c)# set mpls experimental 0 ! All other traffic Pe1(config-pmap)# exit Pe1(config)# class-map isp_voice Pe1(config-cmap)# match mpls experimental 2 Pe1(config-cmap)# end
49. Examples Pe1(config)# class-map isp_erp Pe1(config-cmap)# match mpls experimental 1 Pe1(config-cmap)# end Pe1(config)# class-map isp_available Pe1(config-cmap)# match mpls experimental 0 Pe1(config-cmap)# end ! Output Policy for configuring bandwidth, queue… Pe1(config)# policy-map policy pe1_output Pe1(config-pmap)# class isp_voice Pe1(config-pmap-c)# priority 100
51. Examples LSC1 Interface XTagATM11 extended-port ATM3/0 bpx 1.1 tag-switching atm vpi 2-15 tag-switching atm cos available 20 tag-switching atm cos standard 30 tag-switching atm cos premium 50 tag-switching ip Interface XTagATM12 extended-port ATM3/0 bpx 1.2 tag-switching atm vpi 2-15 tag-switching atm cos available 20 tag-switching atm cos standard 30 tag-switching atm cos premium 50 tag-switching ip