OpenFlow Switch as MPLS PE - Router

IMPLEMENTING CARRIER SERVICES IN OPENFLOW OPENFLOW SWITCH AS MPLS PE - ROUTER
KONSTANTIN AGOUROS
OMKAR DESHPANDE
1
| © by Xantaro
Agenda
 SDN Overview- OpenDaylight, OpenFlow, Open vSwitch
 MPLS
 Southbound plugins for OpenDaylight - BGP-LS, PCEP
 Segment Routing (SPRING)
 Network Setup
 Proof-Of-Concept
 Conclusion
2
| © by Xantaro
Software Defined Networking
 Northbound APIs
 Controller (OpenDaylight,
ONOS, Floodlight, RYU, etc.)
 Southbound APIs
 OpenFlow
 Open vSwitch
 Mininet
Source: www.sdxcentral.com
3
| © by Xantaro
OpenFlow
 Version 1.5.1
 OpenFlow Switch
 Match fields
E.g switch port, IP source & destination, VLAN ID, MPLS , MAC address
 Instructions
Apply-Actions, Clear-Actions, Goto-Table
 Actions
E.g output port_no. , PUSH, POP - MPLS, VLAN, drop etc.
 Counters
Source: www.opennetworking.org
4
| © by Xantaro
OpenDaylight
Source: www.opendaylight.org
5
| © by Xantaro
MPLS
 IP forwarding based on label, not on IP header
 FEC is encoded as a Label
 Label Switched Path
 MPLS forwarding - Hop by hop, Explicit routing
 BGP/MPLS L3 VPN
 MPLS Protocols
I.
LDP – Relies on IGP, best effort LSP, No TE
II. RSVP-TE – TE, Soft state, Fast Re-Route,
EROs
6
| © by Xantaro
LDP
RSVP
PCEP
 Communication protocol between PCC and PCE
 Works in sync with RSVP
Message Type
Description
Open & Keepalive
Instantiate
and
maintain sessions
PCReq
Path Computation
request
PCRep
Reply to path
computation
request
PCNtf
Notification
message of a
specific event
Message
sent
upon
the
occurrence
of
protocol error
 TCP based protocol- port 4189 at PCE side
 Used for LSP computation
I.
PCE Initiated
II.
PCC Initiated
 Installation
feature:install odl-bgpcep-pcep-all
7
| © by Xantaro
PCErr
BGP-LS
 Limitations of IGP
 Lacks view of complete topology
 No end-to-end LSP across multiple domains
 Share Link-State or TED with controller
 Carries link, node, and prefix properties and attributes,
such as the link and prefix metric or auxiliary Router-IDs of
nodes
 Install: feature:install odl-bgpcep-bgpall
8
| © by Xantaro
Segment Routing
 Source Packet Routing Networking (SPRING)
 Implemented by IGP
 Advertise MPLS labels in IS-IS TLVs or OSPF LSAs
 No BW reservation on ist own but possible with PCEP
 Global Segments
 Local Segments
 How does it work ?
9
| © by Xantaro
Segment Routing: How does it work ?
L3,L4
L1-MPLS: P2 node- 800030
L2-MPLS: P2-P3 Adj SID 1000
L3-MPLS: PE2 – 800010
L4- MPLS: Service SID
Payload
P3
Label Range: 800000 to 804096
L4
L2, L3, L4
PE1
10
| © by Xantaro
P1
P2
P4
PE2
Network Setup
11
| © by Xantaro
Proof-Of-Concept 1: RSVP-TE with PCEP
 Using PCEP with RSVP-TE
 Computes LSP externally from the controller and can be
verified on the router - PCE_STATE_UP
 Not compatible with OpenFlow network
 OVS cannot be a PCC : No end-to-end LSP
 Concept of Static LSP + PCE computed LSP works
With LDP but not with RSVP
 PE1 refuses packets from OVS (acting as PE) with
MPLS labels
 Only router to router LSP (PE1  PE2)
 Solution: Segment Routing
12
| © by Xantaro
Proof-Of-Concept 2: Segment Routing
 Uses IGP to distribute Node , Adj Segments
 No need of RSVP or LDP
 Check IS-IS database and PUSH 3 labels /segments with OpenFlow
 Two transport and one L3 VPN service Label
 Router accepts this time, as router is aware of Global segment prefix
(800040) belongs to PE2
 OVS behaves as a PE in this case and actual router PE1 becomes LSR
along with other routers in MPLS core
 Static LSP on both sides of PEs
13
| © by Xantaro
Mechanism and Results
L1,
L2,
L3
800040,1000123,1000125
800040,1000123,1000125
800040
1000123,1000125
1000123
REMOVED
1000125
14
| © by Xantaro
BGP Link-State extensions for Segment Routing
BGP Link-State extensions for Segment Routing
Conclusion
 Successful integration of OpenFlow with classical network
Limitations
 Integrating OpenFlow with RSVP
 BGP-LS does not include SPRING Information but possible according to IETF draft
 Junos version 16.1R2.11- No support for SPRING LSP from PCE
 SPRING may include a stack of more than 3 labels , not possible with current version of OpenFlow 1.5.1
15
| © by Xantaro
THANK YOU
QUESTIONS ?
16
| © by Xantaro