Segment Routing Traffic Engineering Diptanshu Singh
Why Traffic Engineering ? High bandwidth paths Low Latency paths Disjoint paths Avoid resources avoid low bandwidth links avoid high utilized links Optimize Network Capacity Ad-Hoc Calendaring
Distributed or Centralized computing ? Policy Single-Domain Multi-Domain Reachability IGP’s Centralized Low Latency Distributed or Centralized Disjoin from same node Disjoin from different node Avoiding resources Capacity optimization Low Priority Others… TBD
High level Architecture SR PCE have multi-domain topology view --feed via BGP-LS from multiple domains Stateful PCE with native SRTE algorithms. PCEP Messages: PCEP Request (PCC -> PCE) PCEP Reply (PCE -> PCC) PCC Report (PCC -> PCE) PCE Update (PCE -> PCC) PCE Initiate (PCE -> PCC) PCE controller LSP-DB TED PCEP BGP-LS BGP-LS Router PCC Router Area Y Area X Router Area Z Router
SR Basics: Binding Segment Binding Segment represents a tunnel at SR The Binding Segment is a local segment Has local significance A Binding-Segment ID identifies a SRTE Policy Each SRTE Policy is associated 1-for-1 with a Binding-SID Packets received with Binding-SID as top label are steered into the SRTE Policy associated with the Binding-SID Binding-SID label is popped, SRTE Policy’s SID list is pushed
SR Basics: Binding Segment Binding-SID use-case examples: Label stack “compression”: nesting and stitching SRTE Policies BGP SRTE Dynamic: use local Binding-SID(later) PCEP Request Could you provide me the ERO for AC1? PCE controller 2 3 PCC Report 17002,17003,17004 Binding SID 4001 PCEP Reply 17001,4001 Instead of 17001,17002,17003,17004 1 WAN DC TOR WAN Headend AC1 IP 4001 Unicast-SID 17002 IP 17004 17003 IP Unicast-SID 17001 Unicast-SID 17003 IP 17004 Unicast-SID 17004 IP 4001 17001 IP 17004 17003 17002
Segment Routing Traffic Engineering: On Demand Next Hop BGP SR-TE dynamic HA with PCE SR controller
On demand SR Next Hop DC WAN Access BGP Link State Unicast-SID 17001 Anycast-SID 18001 Unicast-SID 16001 Service Orchestrator Unicast-SID 17002 Unicast-SID 17003 Anycast-SID 18002 Unicast-SID 17004 ToR1 ToR2 ABR1 ABR2 ABR3 ABR4 AC1 Unicast-SID 16002 PCE controller AC2 Hint: PCE collect topology and SID via BGP LS Including ip address and SID BGP Route Reflector BGP Link State ISIS SR2 SRGB 16000-16999 ISIS SR1 SRGB 17k-18k ISIS SR3 SRGB 16000-16999
On demand SR Next Hop DC WAN Access Service Orchestrator Unicast SID 17001 Anycast SID 18001 Unicast-SID 16001 Service Orchestrator Unicast SID 17002 Unicast SID 17003 Anycast SID 18002 Unicast SID 17004 ToR1 ToR2 ABR1 ABR2 ABR3 ABR4 AC1 Unicast-SID 16002 PCE controller AC2 Hint: PCE collect topology and SID via BGP LS Service Orchestrator to configure service XML YANG: PW-123 from ToR1 to AC1 BGP Route Reflector XML YANG: PW-123 from AC1 to ToR1
On demand SR Next Hop DC WAN Access Service Orchestrator Unicast SID 17001 Anycast SID 18001 Unicast-SID 16001 Service Orchestrator Unicast SID 17002 Unicast SID 17003 Anycast SID 18002 Unicast SID 17004 ToR1 ToR2 ABR1 ABR2 ABR3 ABR4 AC1 Unicast-SID 16002 PCE controller AC2 Hint: PCE collect topology and SID via BGP LS NMS/OSS to configure service ToR1 check if he has LSP to AC1 Yes -> use it No -> next slide Do I have LSP to AC1 ? BGP Route Reflector
On demand SR Next Hop DC WAN Access Service Orchestrator Unicast SID 17001 Anycast SID 18001 Unicast-SID 16001 Service Orchestrator Unicast SID 17002 Unicast SID 17003 Anycast SID 18002 Unicast SID 17004 ToR1 ToR2 ABR1 ABR2 ABR3 ABR4 AC1 Unicast-SID 16002 PCE controller AC2 Hint: PCE collect topology and SID via BGP LS Service Orchestrator to configure service ToR1 check if he has LSP to AC1 ToR1 request LSP to PCE PCEP request - Could you provide me the ERO to reach AC1 ? BGP Route Reflector 1 PCEP reply ERO is: 18001,18002,16001 2 3
On demand SR Next Hop DC WAN Access Service Orchestrator Unicast-SID 17001 Anycast-SID 18001 Unicast-SID 16001 Service Orchestrator Unicast-SID 17002 Unicast-SID 17003 Anycast-SID 18002 Unicast-SID 17004 ToR1 ToR2 ABR1 ABR2 ABR3 ABR4 AC1 Unicast-SID 16002 PCE controller AC2 Hint: PCE collect topology and SID via BGP LS Service Orchestrator to configure service ToR1 check if he has LSP to AC1 ToR1 request LSP to PCE ToR1 report service state to orchestrator XML YANG notification: PW-123 is UP BGP Route Reflector Ethernet Ethernet Ethernet PW 16001 18002 18001 Ethernet PW 16001 18002 Ethernet PW 16001
ODN with policy DC WAN Access Service Orchestrator PCE controller Unicast SID 17001 Anycast SID 18001 Unicast-SID 16001 Service Orchestrator Unicast SID 17002 Unicast SID 17003 Anycast SID 18002 Unicast SID 17004 ToR1 ToR2 ABR1 ABR2 ABR3 ABR4 AC1 Unicast-SID 16002 PCE controller AC2 Hint: PCE collect topology and SID via BGP LS Service Orchestrator to configure service XML YANG: PW-123 from ToR1 to AC1 PW-124 from ToR2 to AC2 Policy: Disjoin GID 123 BGP Route Reflector XML YANG: PW-123 from AC1 to ToR1 PW-124 from AC2 to ToR2 Policy: Disjoin GID 123
ODN with policy DC WAN Access Service Orchestrator PCE controller Unicast SID 17001 Anycast SID 18001 Unicast-SID 16001 Service Orchestrator Unicast SID 17002 Unicast SID 17003 Anycast SID 18002 Unicast SID 17004 ToR1 ToR2 ABR1 ABR2 ABR3 ABR4 AC1 Unicast-SID 16002 PCE controller AC2 Hint: PCE collect topology and SID via BGP LS Service Orchestrator to configure service ToR1 and ToR2 check if they has LSP to AC1 and AC2 respectively. ToR1 and ToR2 request LSP to PCE PCEP request Could you provide me the ERO to reach AC1 ? Policies are G-ID 123 BGP Route Reflector PCEP request Could you provide me the ERO to reach AC2 ? Policies are G-ID 123 1 2
ODN with policy (Cont) DC WAN Access Service Orchestrator Unicast SID 17001 Anycast SID 18001 Unicast-SID 16001 Service Orchestrator Unicast SID 17002 Unicast SID 17003 Anycast SID 18002 Unicast SID 17004 ToR1 ToR2 ABR1 ABR2 ABR3 ABR4 AC1 Unicast-SID 16002 PCE controller AC2 Hint: PCE collect topology and SID via BGP LS Service Orchestrator to configure service ToR1 and ToR2 check if they has LSP to AC1 and AC2 respectively. ToR1 and ToR2 request LSP to PCE PCE sees the same Disjoint ID and computes two Disjoint paths 3 BGP Route Reflector PCEP reply ERO is: 17001,17003,16001 4 PCEP reply ERO is: 17002,17004,16002 Ethernet PW 16001 17003 17001 Ethernet PW 16001 17003 Ethernet PW 16001 Ethernet PW 16002 17004 17002 Ethernet PW 16002 17004 Ethernet PW 16002
On demand steering for BGP services Technical name: BGP SR-TE dynamic Hint: Isolated domains with no redistribution. CPE send BGP update for prefix X and add LL community ex: 100:777 PCE controller BGP Route Reflector BGP-LS BGP-LS L3VPN Unicast SID 17001 Anycast SID 18001 Unicast SID 17003 Anycast SID 18002 Unicast-SID 16001 BGP-LS Unicast-SID 16001 CPE1 ToR1 ABR1 ABR3 AC1 CPE2 DC WAN Access ToR2 ABR2 ABR4 AC2 Unicast-SID 16002 Unicast SID 17002 Anycast SID 18001 Unicast SID 17004 Anycast SID 18002 Unicast-SID 16002
On demand steering for BGP services Technical name: BGP SR-TE dynamic Hint: Isolated domains with no redistribution. CPE send BGP update for prefix X and add LL community ex: 100:777 PCE controller BGP Route Reflector L3VPN NLRI: 1.1.1.1/32 Community: 100:777 Unicast SID 17001 Anycast SID 18001 Unicast SID 17003 Anycast SID 18002 Unicast-SID 16001 Unicast-SID 16001 CPE1 ToR1 ABR1 ABR3 AC1 CPE2 DC WAN Access ToR2 ABR2 ABR4 AC2 Unicast-SID 16002 Unicast SID 17002 Anycast SID 18001 Unicast SID 17004 Anycast SID 18002 Unicast-SID 16002
On demand steering for BGP services Technical name: BGP SR-TE dynamic Hint: CPE send BGP update for prefix X and add LL community AC1 PE announce VPN prefix X with LL community PCE controller BGP Route Reflector L3VPN NLRI: 1.1.1.1/32 Community: 100:777 Unicast SID 17001 Anycast SID 18001 Unicast SID 17003 Anycast SID 18002 Unicast-SID 16001 Unicast-SID 16001 CPE1 ToR1 ABR1 ABR3 AC1 CPE2 DC WAN Access ToR2 ABR2 ABR4 AC2 Unicast-SID 16002 Unicast SID 17002 Anycast SID 18001 Unicast SID 17004 Anycast SID 18002 Unicast-SID 16002
On demand steering for BGP services Technical name: BGP SR-TE dynamic Hint: CPE send BGP update for prefix X and add LL community AC1 PE announce VPN prefix X with LL community On demand Next Hop LL to PCE controller Install explicit path for prefix X in VRF PCE controller PCEP request Could you provide me the ERO to reach AC1 ? Policy is LL BGP Route Reflector 1 PCEP reply ERO is: 17001,17003,16001 2 Unicast SID 17001 Anycast SID 18001 Unicast SID 17003 Anycast SID 18002 Unicast-SID 16001 Unicast-SID 16001 CPE1 ToR1 ABR1 ABR3 AC1 CPE2 3 DC WAN Access ToR2 ABR2 ABR4 AC2 Unicast-SID 16002 Unicast SID 17002 Anycast SID 18001 Unicast SID 17004 Anycast SID 18002 Unicast-SID 16002
On demand steering for BGP services TE installs SRTE Policy in FIB: Binding-SID (e.g. 24006): push {Label 17001, Label 17003,Label 16001} TE provides the Binding-SID of the SRTE Policy to BGP BGP 1.1.1.1/32; NH: AC1 Received VPN label: L_VPN Community 100:777 Binding Label: 24006 TE SRTE Policy to AC1: SID List {17001,17003,16001},OIF 3 Binding Label: 24006 FIB Local label: 24006 out label: POP OIF: SRTE; Label stack {17001 17003 16001}
On demand steering for BGP services RIB installs in FIB: 1.1.1.1/32 via 24006 Push VPN label and steer in SRTE Policy TE installs SRTE in FIB BGP, RIB and FIB aware of BSID BGP 1.1.1.1/32; NH: AC1 Received VPN label: L_VPN Community 100:777 Binding Label: 24006 TE SRTE Policy to AC1: SID List {17001,17003,16001},OIF 3 Binding Label: 24006 FIB 1.1.1.1/32; recursion-via-label label L_VPN, NH via 24006 Local label: 24006 out label: POP OIF: SRTE; Label stack {17001 17003 16001}
PCE HA DC WAN Access PCE2 Secondary PCE1 Primary BGP Route Reflector Service Provisioned via Overlay RR,Orchestrator Request via PCEP to PCE primary with TE policy PCE replies with ERO 17001,17003,16001 ToR1 Reports to PCE Primary and Secondary via PCC Report Primary PCE fails ToR1 waits for some time ToR1 Reports PCE2 of becoming master 5 PCE2 Secondary PCE1 Primary 2 3 4 7 BGP Route Reflector 1 Unicast SID 17001 Anycast SID 18001 Unicast SID 17003 Anycast SID 18002 Unicast-SID 16001 Unicast-SID 16001 CPE1 ToR1 ABR1 ABR3 AC1 CPE2 6: wait for some timer DC WAN Access ToR2 ABR2 ABR4 AC2 Unicast-SID 16002 Unicast SID 17002 Anycast SID 18001 Unicast SID 17004 Anycast SID 18002 Unicast-SID 16002
ODN HA model DC Access WAN Service Orchestrator PCEP BGP LS PCEP CPE1 SR-PCE not to be considered as a Single “god” box SR-PCE is closer to RR Different TOR’s can use different pairs of SR-PCE SR PCE preference can be either based on proximity or service Service Orchestrator Unicast SID 17001 Anycast SID 18001 Unicast SID 17003 Anycast SID 18002 Unicast-SID 16001 Unicast-SID 16001 CPE1 ToR1 PCEP ABR1 BGP LS ABR3 PCE PCEP AC1 CPE2 PCE RR RR DC Access WAN ToR2 ABR2 PCE ABR4 PCE AC2 RR RR Unicast-SID 16002 Unicast SID 17002 Anycast SID 18001 Unicast SID 17004 Anycast SID 18002 Unicast-SID 16002
References http://www.segment-routing.net/ Current IETF Drafts for SR: http://www.segment-routing.net/home/ietf PCEP Extensions for Segment Routing https://tools.ietf.org/html/draft-ietf-pce-segment-routing-06 Binding SID https://tools.ietf.org/html/draft-sivabalan-pce-binding-label-sid-00 Anycast Segments in MPLS based Segment Routing https://tools.ietf.org/html/draft-psarkar-spring-mpls-anycast-segments-01 BGP Link-State extensions for Segment Routing https://tools.ietf.org/html/draft-gredler-idr-bgp-ls-segment-routing-ext-01