MPLS TE and DS-TE Design for Enterprise Networks – Part 2


2. MPLS DiffServ and DS-TE – Deployed where strong differentiation and fine-grained optimization are required
2.1. PBR (based on DSCP value) + AutoMesh + LDP tunneling (between PE nodes) 
2.1.1 This technique is the best fit to meet Customer’ business requirements and capacity constraint where strong optimization and efficient bandwidth utilization are required. Referring to documentations related to TE technology auto-bw and auto-tunnel features are not interoperable. I guess manual provision of TE tunnels is required. Scalability and operational complexity are the two drawbacks I was able to outline with this technique, although further cons may be found with this setup. It might be worthy to know customer growth and expansion plan before deciding between full mesh and manual provisioning.
2.1.2 Business Drivers:
–> Cost efficiency
–> Elasticity
–> Business Continuity
2.1.3 Technical & Functional requirements:
–> Network consolidation & virtualization
–> Adaptable & Responsive Design
–> Resiliency/Reliability
2.1.4 In this design:
–> Auto-Mesh TE tunnel with PBTS between the LERs (PEs) along with LDP tunneling
–> Admission control at PE ingress using PBR based on DSCP value along with hop by hop QoS policy on each core link
–> Diagram:

2.1.5 After implement these functional requirements we’re able to achieve the following objectives:
–> Reduce convergence time with FRR and tuned backoff timers in IGP (ISIS)
–> Two labels in the label-stack to deliver Customer flow end to end
2.1.6 Drawback:
–> No ECMP for IPv4 & VPNv4 traffic
–> VPN traffic is remarked to EXP0 as PBTS requires EXP value to steer remarked traffic with EXP bit into the corresponding forward class thus DS-TE tunnel. Therefore, DSCP Mapping or Remarking is not backward-compatible with PBTS.
–> Since PBTS is compatible with EXP value then you must remark ingress traffic:
–> From PE which implies PE-CE link must carry the label therefore we must extend label forwarding to CE.
2.1.7 Config – MPLS TE – PBR related Configuration
!
ipv4 access-list AUTO_TUNNEL_PE_MESH
10 permit ipv4 any
!
rsvp
interface
bandwidth rdm bc0 9700000 bc1 4000000
!
!
mpls traffic-eng
interface
bfd fast-detect
auto-tunnel backup
!
!
bfd lsp head down-action reoptimize timeout 180
logging events all
logging events frr-protection
auto-tunnel mesh
group 100
attribute-set DIFFSRV_PE_TUNNEL_MESH_CLASS_0
destination-list AUTO_TUNNEL_PE_MESH
!
group 110
attribute-set DIFFSRV_PE_TUNNEL_MESH_CLASS_1
destination-list AUTO_TUNNEL_PE_MESH
!
group 120
attribute-set DIFFSRV_PE_TUNNEL_MESH_CLASS_2
destination-list AUTO_TUNNEL_PE_MESH
!
group 130
attribute-set DIFFSRV_PE_TUNNEL_MESH_CLASS_3
destination-list AUTO_TUNNEL_PE_MESH
!
group 140
attribute-set DIFFSRV_PE_TUNNEL_MESH_CLASS_4
destination-list AUTO_TUNNEL_PE_MESH
!
group 150
attribute-set DIFFSRV_PE_TUNNEL_MESH_CLASS_5
destination-list AUTO_TUNNEL_PE_MESH
!
tunnel-id min 100 max 999
!
auto-tunnel backup
timers removal unused 20
tunnel-id min 18000 max 19023
!
reoptimize 3600
fast-reroute timers promotion 0
attribute-set auto-mesh DIFFSRV_PE_TUNNEL_MESH_CLASS_0
signalled-bandwidth 100 class-type 0
autoroute announce
fast-reroute
record-route
!
attribute-set auto-mesh DIFFSRV_PE_TUNNEL_MESH_CLASS_1
priority 6 6
signalled-bandwidth 100 class-type 0
autoroute announce
fast-reroute
record-route
forward-class 1
!
attribute-set auto-mesh DIFFSRV_PE_TUNNEL_MESH_CLASS_2
priority 4 4
signalled-bandwidth 100 class-type 0
autoroute announce
fast-reroute
record-route
forward-class 2
!
attribute-set auto-mesh DIFFSRV_PE_TUNNEL_MESH_CLASS_3
priority 3 3
signalled-bandwidth 100 class-type 0
autoroute announce
fast-reroute
record-route
forward-class 3
!
attribute-set auto-mesh DIFFSRV_PE_TUNNEL_MESH_CLASS_4
priority 5 5
signalled-bandwidth 1000 class-type 0
autoroute announce
fast-reroute
record-route
forward-class 4
!
attribute-set auto-mesh DIFFSRV_PE_TUNNEL_MESH_CLASS_5
priority 1 1
signalled-bandwidth 2000 class-type 1
autoroute announce
fast-reroute
record-route
forward-class 5
!
auto-bw collect frequency 5
reoptimize timers delay cleanup 10
reoptimize timers delay installation 10
reoptimize timers delay after-frr 5
ds-te mode ietf
ds-te te-classes
te-class 0 class-type 0 priority 7
te-class 1 class-type 0 priority 6
te-class 2 class-type 0 priority 5
te-class 3 class-type 0 priority 2
te-class 4 class-type 1 priority 0
te-class 5 class-type 0 priority 1
te-class 6 unused
te-class 7 unused
!
bfd minimum-interval 100
bfd multiplier 3
!
mpls ldp
log
neighbor
nsr
graceful-restart
!
igp sync delay on-session-up 5
router-id
address-family ipv4
traffic-eng
auto-tunnel mesh
group all
!
!
!
!

2.1.7.1 Outputs results
lax-n7k-ce1# traceroute 172.16.10.2 source 172.20.10.2 vrf FINANCIAL
traceroute to 172.16.10.2 (172.16.10.2) from 172.20.10.2 (172.20.10.2), 30 hops max, 40 byte packets
1 172.20.192.25 (172.20.192.25) 1.019 ms 0.818 ms 1.042 ms
2 10.72.11.41 (10.72.11.41) 1.66 ms 1.54 ms 1.651 ms
[Label=24171 E=0 TTL=1 S=0, Label=24010 E=0 TTL=1 S=1]
3 10.72.11.14 (10.72.11.14) 1.684 ms 1.541 ms 1.618 ms
[Label=24115 E=0 TTL=1 S=0, Label=24010 E=0 TTL=2 S=1]
4 10.72.11.138 (10.72.11.138) 1.736 ms 1.573 ms 1.522 ms
[Label=24010 E=0 TTL=1 S=1]
5 172.16.192.30 (172.16.192.30) 2.014 ms 1.75 ms 1.765 ms
6 172.16.10.2 (172.16.10.2) 2.037 ms 1.981 ms 2.001 ms

nyc-n7k-ce1# traceroute 172.20.10.2 source 172.16.10.2 vrf FINANCIAL
traceroute to 172.20.10.2 (172.20.10.2) from 172.16.10.2 (172.16.10.2), 30 hops max, 40 byte packets
1 172.16.192.89 (172.16.192.89) 1.289 ms 0.896 ms 0.929 ms
2 10.72.11.109 (10.72.11.109) 1.622 ms 1.545 ms 1.58 ms
[Label=24134 E=0 TTL=1 S=0, Label=24008 E=0 TTL=1 S=1]
3 10.72.11.17 (10.72.11.17) 1.714 ms 1.63 ms 1.599 ms
[Label=24165 E=0 TTL=1 S=0, Label=24008 E=0 TTL=2 S=1]
4 10.72.11.58 (10.72.11.58) 1.727 ms 1.614 ms 1.592 ms
[Label=24008 E=0 TTL=1 S=1]
5 172.20.10.2 (172.20.10.2) 1.838 ms 1.841 ms 172.20.192.30 (172.20.192.30) 1.894 ms

Leave a Reply

Your email address will not be published. Required fields are marked *

*