introduction to segment routing

27
Enabling Traffic Engineering over Segment Routing GUEDREZ Rabah, CIFRE PHD at Orange Labs, Team OPEN Director: DUGEON Olivier Director: TEXIER Géraldine Advisor: LAHOUD Samer

Upload: rabah-guedrez

Post on 11-Apr-2017

29 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Introduction to segment routing

Enabling Traffic Engineering over Segment Routing

GUEDREZ Rabah, CIFRE PHD at Orange Labs, Team OPEN Director: DUGEON Olivier

Director: TEXIER Géraldine Advisor: LAHOUD Samer

Page 2: Introduction to segment routing

2 Orange Group restricted

1

Agenda

What is Segment Routing?

Segment Routing & Traffic Engineering

Future work

Context : Traffic Engineering

with MPLS

2

3

4

Page 3: Introduction to segment routing

3 Orange Group restricted

Agenda

1

What is Segment Routing?

Segment Routing & Traffic Engineering

Context : Traffic Engineering

with MPLS

2

3

4 Thesis Work

Page 4: Introduction to segment routing

interne Orange 4

Work Context

Operators core networks run MPLS

Focus IPv6 MPLS

Segment Routing

Choose your data plane

EPE Traffic Eng Protection

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

Page 5: Introduction to segment routing

5 Orange Group restricted interne Orange 5

MPLS-TE : a toolbox to provide QoS routing MPLS-TE Provides Quality of Service (QoS) and Traffic Engineering capabilities

Page 6: Introduction to segment routing

6 Orange Group restricted interne Orange 6

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

Page 7: Introduction to segment routing

7 Orange Group restricted interne Orange 7

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

Page 8: Introduction to segment routing

8 Orange Group restricted

Agenda

1

What is Segment Routing?

Segment Routing & Traffic Engineering

Future work

Context : Traffic Engineering

with MPLS

2

3

4

Page 9: Introduction to segment routing

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

Page 10: Introduction to segment routing

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 PE4 CE1 CE2 P P

P P3

P6

P5

PE4

P

P P3

P5

PE4

P

P P3 PE4

P

P PE4

P

Page 11: Introduction to segment routing

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

Page 12: Introduction to segment routing

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 PE4 CE1 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

Page 13: Introduction to segment routing

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 PE4 CE1 CE2

Iface2

Per-flow state table Forwarding Table

SR implementation over MPLS (2/3)

Page 14: Introduction to segment routing

14

P2

P6

P3

P5

PE1 PE4 CE1 CE2 P

PUSH([1004])

Match FEC x

P

P P

1004

P P

1004

P P

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)

Page 15: Introduction to segment routing

15 Orange Group restricted

Agenda

1

What is Segment Routing?

Segment Routing & Traffic Engineering

Thesis Work

Context : Traffic Engineering

with MPLS

2

3

4

Page 16: Introduction to segment routing

16

SR Tactical Traffic Engineering

P2

P6

P3

P5

PE1 PE4 CE1 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)

Page 17: Introduction to segment routing

17

SR-TE Use Case Example

P2

P6

P3

P5

PE1 PE4 CE1 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

Page 18: Introduction to segment routing

18

SR traffic engeneering

P2

P6

P3

P5

PE1 PE4 CE1 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

Page 19: Introduction to segment routing

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

Page 20: Introduction to segment routing

20

SR Protection

P2

P6

P3

P5

PE1 PE4 CE1 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

Page 21: Introduction to segment routing

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 PE4 CE1 CE2

TE & tunnels Database

PCEP

Constraint SPF

IGP-TE

PCEP IGP-TE

Page 22: Introduction to segment routing

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 PE4 CE1 CE2

TE & tunnels Database

PCEP

Constraint SPF

IGP-TE

PCEP IGP-TE

Network states

Page 23: Introduction to segment routing

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 PE4 CE1 CE2

TE & tunnels Database

PCEP

Constraint SPF

IGP-TE

PCEP IGP-TE

Network states

Page 24: Introduction to segment routing

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 PE4 CE1 CE2

RR

PCE TED

PCEP BGP-LS

LSDP

Page 25: Introduction to segment routing

25

Need to take into account the label stack depth hardware limitation in path

computation?

P2

P6

P3

P5

PE1 PE4 CE1 CE2

PCE

TED

PCEP BGP-LS

LSDP

Page 26: Introduction to segment routing

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 PE4 CE1 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]

,,, ,,, ,,,

Page 27: Introduction to segment routing

Thank You