The Quality of Service (QoS) has become more popular than past few years, because of high-bandwidth and delay sensitive applications. QoS is prioritizing more important data over less important traffic. There are two ways to implement QoS in an IP network: IntServ and DiffServ. Internet is operating based on best-effort model.
As the DiffServ model does not require a signaling protocol such as RSVP, it’s more popular or better to say the only applicable model in today's networks. (Although we use RSVP in MPLS TE for path signaling and reservation).
IETF in RFC 3270 has recommended three QoS models for DiffServ tunneled traffic in MPLS networks:
- Pipe model
- Short Pipe model
- Uniform model
The Pipe and Short Pipe models are almost the same: They do not change IP ToS of customers data at all. They might change the EXP field in the path (EXP of MPLS Label) but the IP header QoS field remains unchanged. The Pipe model performs forwarding/discarding/scheduling based on EXP at the egress LSR while the Short Pipe model does that based on IP ToS. Because in the Short pipe model there might be no label at all. (remember PHP operation – Penultimate-Hop Popping)
In the Uniform model, there’s no guarantee that ToS of customers packet remains intact, but the EXP and IP ToS fields of a data packet will always show the same thing. It means if the provider changes the EXP header, that will be copied later to the IP ToS field at the egress point.
IOS Default Behavior: In short IOS does not change your QoS in the path if you don’t change it.
Imposition - Copy TOS bits to EXP (TOS Reflection) when adding one or more labels by ingress LSR.
Swap - Copy EXP from old label to new label.
Disposition - Do NOT Copy EXP from label to IP.
Configuration
Label to Label (on PHP) sets EXP 5 (if top is 5) after disposing the top label:
class-map match-all in1
match mpls experimental topmost 5
class-map match-all out1
match qos-group 5
!
policy-map in1
class in1
set qos-group mpls experimental topmost
policy-map out1
class out1
set mpls experimental topmost 5
!
interface Ethernet0/0
service-policy input in1
!
interface Ethernet0/1
service-policy output out1
!
Label to IP (on PE) sets precedence 5 (if top is 5) after popping the label:
class-map match-all in1
match mpls experimental topmost 5
class-map match-all out1
match qos-group 5
!
policy-map in1
class in1
set qos-group mpls experimental topmost
policy-map out1
class out1
set ip precedence 5
!
interface Ethernet0/0
service-policy input in1
!
interface Ethernet0/1
service-policy output out1
Scenario
In this sceniaro based on the service provider’s policy, the EXP value is changed in the path and is copied to inner label by P router. At the egress LSR, the EXP value is copied to the DSCP. (Uniform model)
Ingress PE:
!
policy-map out1
class class-default
set mpls experimental topmost 7
policy-map in1
class class-default
set mpls experimental imposition 3
!
P:
!
class-map match-any in1
match mpls experimental topmost 0 1 2 3 4 5 6 7
class-map match-any out1
match qos-group 0
match qos-group 1
match qos-group 2
match qos-group 3
match qos-group 4
match qos-group 5
match qos-group 6
match qos-group 7
!
policy-map in1
class in1
set qos-group mpls experimental topmost
policy-map out1
class out1
set mpls experimental topmost qos-group
!
Egress PE:
!
class-map match-any in1
match mpls experimental topmost 0 1 2 3 4 5 6 7
class-map match-any out1
match qos-group 0
match qos-group 1
match qos-group 2
match qos-group 3
match qos-group 4
match qos-group 5
match qos-group 6
match qos-group 7
!
policy-map in1
class in1
set qos-group mpls experimental topmost
policy-map out1
class out1
set precedence qos-group
!
0 comments:
Post a Comment