4. interne Orange4
Work Context
Operators core networks run MPLS
Focus IPv6 MPLS
Segment Routing
Choose your data plane
EPETraffic EngProtection
Focus on the Traffic Engineering (TE) use cases
SR-TE Current model is not mature enough
These networks will evolve to Segment routing
Focus on the MPLS Data plane (at least the 1st year)
The objective of my thesis is to enhance the current Segment Routing
Traffic Engineering model to provide QoS commitments
5. 5
Orange Group restrictedinterne Orange5
MPLS-TE : a toolbox to provide QoS
routing
MPLS-TE Provides Quality of Service (QoS) and Traffic Engineering capabilities
6. 6
Orange Group restrictedinterne Orange6
MPLS-TE : a toolbox for QoS routing
TE
Link TE parameters are
flooded by the IGP (OSPF-
TE or IS-IS-TE)
MPLS-TE Provides Quality of Service (QoS) and Traffic Engineering capabilities
TE information is flooded through the network using the IGP
7. 7
Orange Group restrictedinterne Orange7
MPLS-TE : a toolbox for QoS routing
LSP-TE tunnel
Determine which
packets belong to the
LSP-TE tunnel
MPLS-TE Provides Quality of Service (QoS) and Traffic Engineering capabilities
TE information is flooded through the network using the IGP
Use RSVP-TE for tunnel signaling and resources reservation
But RSVP-TE does not scale well on large network
– Millions of states across the network
– Hard to setup, maintain and troubleshoot
9. 9
What is Segment Routing ?
It is not a NEW PROTOCOL
It is a new architecture based on Source Routing
Can be implemented over two data planes (MPLS & IPv6)
Standardized by the IETF SPRING Working Group
Try to overcome MPLS-TE scalability issues
10. 10
What is Source Routing?
The path is encoded in the packet header
The Source node computes the route
Packets follow the path in the header instead of being routed hop by hop
P2
P6
P3
P5
PE1 PE4CE1 CE2
P P
P
P3
P6
P5
PE4
P
P
P3
P5
PE4
P
P
P3
PE4
P
PPE4
P
11. 11
Segments :
Definitions
102
106
103
105
PE1
104
CE1 CE2
Node-SID PE1 = 100
Adj-SID PE1-P6= 8000
P6 P5
PE4
P2 P3
SID format depends on the underlying data plane
SIDs are interpreted by the forwarding plane as:
Node-SID: “forward the packet using the IGP shortest path”
Adj-SID: “forward the packet using a specific interface”.
Each segment has a unique ID (SID) : (Node-SID), (Adj-SID)
A segment can represent a node, link ,etc.
A source-routed path is composed of one or several segments
12. 12
SR implementation over MPLS (1/3)
SID is a 20 bit label
Source-routed Path is encoded as a stack of labels Packet
Label1
Label2
Label3
label stack
Already available & deployed protocols (IGPs: OSPF, ISIS) have been
extended (e.g. for SID distribution)
P2
P6
P3
P5
PE1 PE4CE1 CE2
Node-SID-P2
Node-SID-P3
Node SID
PE1 101
P2 102
P3 103
PE4 104
P5 105
P6 106
Nodes execute the standard MPLS instructions (POP,PUSH,SWAP)
MPLS Legacy protocols LDP and RSVP-TE are no more used
Node-SID PE1
Adj-SID PE1-P6
13. 13
Only the ingress node keeps the per-flow states
No state are maintained by the transit nodes:
only forwarding instruction associated to SIDs
Fec Path Exit
iface
Flow1 Path1(SID_list1) Iface1
Flow2 Path2(SID_list1) Iface2
Incoming
Label
forwarding
instruction
Exit
iface
104 SWAP(104) Iface1
103 SWAP(104) Iface2
Node SID
PE1 101
P2 102
P3 103
PE4 104
P5 105
P6 106
P2
P6
P3
P5
PE1 PE4CE1 CE2
Iface2
Per-flow state table Forwarding Table
SR implementation over MPLS (2/3)
14. 14
P2
P6
P3
P5
PE1 PE4CE1 CE2
P
PUSH([1004])
Match FEC x
P
PP
1004
PP
1004
PP
1004 POP(1014)
Note: In legacy MPLS, IGP builds Shortest Path tree and LDP (Label Distribution
Protocol) is used to exchange end to end labels
Node SID
PE1 1001
P2 1002
P3 1003
PE4 1004
P5 1005
P6 1016
SR (MPLS data plane): IGP builds the Shortest Path tree and exchanges the labels
SR implementation over MPLS (3/3)
16. 16
SR Tactical Traffic Engineering
P2
P6
P3
P5
PE1 PE4CE1 CE2
P
PUSH(1003,9000, 1004)
Match FEC x
P
9000
P
1004
9000
1003
P
1004
9000
1003
P
1004
P
POP(1003)
POP(9000)
Note: In legacy MPLS-TE, RSVP-TE is used to create the tunnel (eventually
with resources reservation)
Node SID
PE1 101
P2 102
P3 103
PE4 104
P5 105
P6 106
P3->P5 9000
Tactical Traffic Engineering allows to choose the path (not the IGP shortest path)
but without any resources reservation
POP(1003)
17. 17
SR-TE Use Case Example
P2
P6
P3
P5
PE1 PE4CE1 CE2
P
Match FEC
9000
PUSH(104) PUSH(106,103,9000,104)
flow1 flow2
The client has two applications with two different QoS requirements
(e.g. VoIP & file transfer)
Stake: How to guarantee QoS with Segment Routing ?
No resource reservation is available with Segment Routing
Node SID
PE1 101
P2 102
P3 103
PE4 104
P5 105
P6 106
18. 18
SR traffic engeneering
P2
P6
P3
P5
PE1 PE4CE1 CE2
P
Match FEC
9000
Label_PUSH([1014]) Label_PUSH([1016,1013,9000,1014])
flow1 flow1
Client have two applications VOIP & file Transfer
Different TE requirements (low latency for VOIP and high bandwidth for FSH)
No tunnels (signaling )are required
19. 19
Limitation of the SR-TE model
No reservation (resource availability is not updated )
Actual network state is not the PCE reference
Loosing the PCE long recovery
20. 20
SR Protection
P2
P6
P3
P5
PE1 PE4CE1 CE2
P
Match FEC
Label_PUSH([1014])
NO extra configuration (T-LDP)
Almost invisible (can be enabled as an automatic option)
P
1014
P
1014
x
P
1014
1013
Incoming
label
Instruction Exit
interface
1014 SWAP(1014) P2-P3
1014 PUSH(1013) P2-P5
Primary
Backup
P
1014
1013
P
1014
1013
ReRouting traffic under 50msec
21. 21
PCE is an entity dedicated to path computation
Network nodes delegate the Tunnel path computation to the PCE using PCE Protocol
(PCEP)
TE Database (TED) populated by listening to the IGP-TE announcements
Constraint SPF algorithm uses TED information to do path computation
(bandwidth, delay, loss)
PCE updates its database with tunnels for stateful operational mode
What is the Path Computation Element (PCE) ?
P2
P6
P3
P5
PE1 PE4CE1 CE2
TE & tunnels
Database
PCEP
Constraint SPF
IGP-TE
PCEP IGP-TE
22. 22
PCE to provide TE in Segment Routing
No reservation (resource availability is not updated )
Actual network state is decoupled from the PCE reference
P2
P6
P3
P5
PE1 PE4CE1 CE2
TE & tunnels
Database
PCEP
Constraint SPF
IGP-TE
PCEP IGP-TE
Network states
23. 23
PCE potential issues
1. Loosing PCE long recovery
2. Scalability issue as the PCE must maintain PCEP sessions with all edge nodes
3. Hard to synchronize PCE databases when deploying more than one PCE
P2
P6
P3
P5
PE1 PE4CE1 CE2
TE & tunnels
Database
PCEP
Constraint SPF
IGP-TE
PCEP IGP-TE
Network states
24. 24
How to maintain PCE database in sync with the network real state
knowing that PCEP suffers from scalability issues ?
Extend the IGP or BGP-LS to advertise segment paths
P2
P6
P3
P5
PE1 PE4CE1 CE2
RR
PCE TED
PCEP BGP-LS
LSDP
25. 25
Need to take into account the label stack depth hardware limitation in path
computation?
P2
P6
P3
P5
PE1 PE4CE1 CE2
PCE
TED
PCEP BGP-LS
LSDP
26. 26
How to update PCE database when re-routing occurs for a node segment ?
Give back the possibility to each node to update and announce their
resource availably while avoiding creating new states
P2
P6
P3
P5
PE1 PE4CE1 CE2
P
Match Flow1
Label_PUSH([1014])
P
104
P
104
P
104
P
104
P
104
Metric modification
PCE
TED
PCEP BGP-LS
LSDP
Paths_name Label stack explicite
path
PE1-FLOW1 [104] [PE1-P2,P2-
P3,P3-P4]
,,, ,,, ,,,