opendaylight...

15
© 2014 Open Networking Foundation Open SDN India Technology Symposium, January 18-19, 2015, Bangalore OpenDaylight Service Func4on Chaining Vinayak Joshi Principal Engineer – Ericsson & OpenDaylight Contributor https://wiki.opendaylight.org/view/Service_Function_Chaining:Main

Upload: others

Post on 28-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

© 2014 Open Networking Foundation Open SDN India Technology Symposium, January 18-19, 2015, Bangalore

OpenDaylight  Service  Func4on  Chaining Vinayak Joshi Principal Engineer – Ericsson & OpenDaylight Contributor https://wiki.opendaylight.org/view/Service_Function_Chaining:Main

Page 2: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

2

Agenda

2

•  Service Function Chaining Problem Description •  Service Function Chaining in OpenDaylight (ODL SFC) •  SFC ODL Use Cases (Helium release) •  SFC in Future Releases (Lithium release and Beyond)

Page 3: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

3

Service Function Chaining (SFC) •  SFC provides the ability to set

up an ordered list of a Service Functions (e.g. firewall, DPI, etc.) for a set of packets

•  SFC Deployment Challenges

–  Topological dependencies •  Transport

–  Configuration complexity •  Generic Data model •  Programmability

–  Packet classification –  Elastic service delivery –  Consistent ordering of

service function enforcement

3

DPI NAT

Transport

Tran

spor

t

NAT

Transport

Tran

spor

t

DPI DPI Balanced Load

Page 4: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

4

SFC in ODL

4

•  Rationale –  Service Chaining is a classical SDN application –  SDN simplifies service chain provisioning & management –  Controller has a centralized view of the network

•  Easier to stitch end-to-end chains across different network nodes

•  Service Chaining Implemented in ODL –  Follows IETF Draft based SFC data models. –  SFC application receives information about chain and/or path to be

constructed via northbound API (RESTCONF) –  Programs service chains on network nodes using southbound protocols –  Contributors from Cisco, Ericsson, Red Hat, Contextream, Brocade,

IBM, Citrix, etc.

Page 5: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

5 5

SFC ODL Software Components

Page 6: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

6

Data Model (Yang) for SFC •  SFC data model is

defined in Yang files

•  Yang files are fed into the MD-SAL at compile time

•  RESTCONF APIs and southbound hooks created from Yang

6

Network Service Header

IETF Draft P.Quinn et. Al.

SFC Architecture

IETF Draft P.Quinn & J.Halpern

(Now J.Halpern & C.Pignataro)

Yang Model for SFC

IETF Draft P.Quinn & R.Penno

Yang Model files for SFC

(Model the data structures for SFC)

Packet Classification

Yangs

Yangs for ACL

Page 7: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

7 7

SFC Data Model and Network Nodes

Classifier SFF1 SFF2 (Terminating)

SF1

SF2 (NSH Unaware)

Outer Transport Pkt Data

Outer Transport Pkt Data SFC Encap

(NSH)

Outer Transport Pkt Data SFC Encap

(NSH)

Outer Transport Pkt Data

Proxy

Outer Transport Pkt Data

Outer Transport Pkt Data SFC Encap

(NSH)

Example Service Function Path

•  Service Function Forwarder (SFF): Switch •  Service Function(SF): Appliance •  Service Function Path (SFP): Packet path in a Service Chain

Page 8: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

8

SFC Encap/Metadata: Network Service Header (NSH)

8

•  Provides –  Service Path Information (used for forwarding along SFP) –  Location within Service Path –  Opaque application metadata –  “Classify once” model

›  Inserted after initial classification at service plane entry –  May be inserted after L2 Header (new EthType requested) –  Expandable header

›  Lifetime only within SFC domain

Mandatory: Base Header (flags, next protocol) -4 bytes

Mandatory: Service Path Header (service plane forwarding info i.e. SFP ID, service index) – 4 bytes

Mandatory: Context Headers (four headers, 4 bytes each)

Optional: Variable length Opaque context headers

Page 9: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

9 9

Use Case 1: NSH with OVS (Based on SFC ODL Mailing List Example)

Network Cloud

OVSDB 1

vnic1 vnic2 SFF1 (OVS Bridge 1)

vnic1 SFF2 (OVS Bridge 2)

SF1 (VM) eth0

SF2 (VM) eth0

SF3 (VM) eth0

OVSDB 2

SF4 (VM) eth0

SF5 (VM) eth0

vnic1 SFF3 (OVS Bridge 3)

vnic1 vnic2 SFF4 (OVS Bridge 4)

eth0 eth1 eth0 eth1

VxLAN Tunnel:

VTEPs programmed

outside SFC

Classify and stamp NSH.

Remove NSH

Page 10: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

10

•  Need for a non-NSH Service Plane –  Not all SFFs are NSH compliant –  NSH support in OpenFlow is not standardized yet –  NSH unaware SFs mandate proxies –  NSH implementation in h/w SFFs is even more challenging –  NSH EthType may not be recognized by some network elements

•  No-NSH Service Plane in Helium

–  OpenFlow 1.3.1 based implementation –  L2 reachability between SFs and SFFs –  Does not preclude various transports (VxLAN, GRE)

•  Programmed outside SFC with/without OpenFlow –  Packet re-classification at every hop

USE CASE 2: OpenFlow-No SFC Encap (Ericsson’s Contribution)

10

Page 11: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

11 11

NO SFC Encap with L2 Reachability: Example Service Function Path

SFF1 SFF2

SF1 SF2

Pkt Data

Outer Transport

Pkt Data with

DMAC = SF1 MAC

SMAC = SFF1 MAC

Outer Transport

Pkt Data with

DMAC = SFF2 MAC

SMAC = SF1 MAC

Outer Transport

Pkt Data with

DMAC = SF3 (dummy SF to

exit service plane) MAC

SMAC = SFF2 MAC

1)  Classify to determine SFP

2)  Determine current hop (H1) from SMAC

1)  Classify again to determine SFP

2)  Determine current hop (H2) from SMAC and send to SFF2

Pkt Data with

DMAC = SFF2 MAC

SMAC = SFF1 MAC

1)  Classify again to determine SFP

2)  Determine current hop (H2)

Outer Transport

Pkt Data with

DMAC = SF2 MAC

SMAC = SFF2 MAC

Outer Transport

Pkt Data with

DMAC = SF2 MAC

SMAC = SFF2 MAC

1)  Classify to determine SFP

2)  Packet has to exit

service plane

Page 12: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

12

•  Load Balancing & Fast Failover across SFs –  Keep alives for monitoring of SFs (input to fast failover & load

balancing).

•  Enforcement of policy

–  In Helium – simple ACL based classification –  Possible integration with Group Based Policy

•  Transport & Discovery to be programmed outside SFC –  Outside SDN, separate OF flows etc. –  Possible integration of other ODL discovery projects such as

Source Tracker

Some Helium SFC GAPS

12

Page 13: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

13

•  Planned main features for Lithium –  Load Balancing & Failover –  OpenStack integration –  Misc.: Interface, test, packaging enhancements

•  Future releases –  Netconf integration –  LISP?

•  SFC in OPNFV –  ODL is used in OPNFV. –  Integration of SFC into OPNFV environment.

OFL SFC – Lithium and Beyond

13

Page 14: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

14

•  Detailed ODL SFC Presentation (where this presentation is derived from). https://wiki.opendaylight.org/images/8/89/Ericsson-Kumbhare_Joshi-OpenDaylight_Service_Function_Chaining.pdf

•  ODL SFC Wiki Page https://wiki.opendaylight.org/view/Service_Function_Chaining:Main

•  Service Function Chaining Architecture IETF Draft: https://datatracker.ietf.org/doc/draft-ietf-sfc-architecture/

•  Yang Model for Service Function Chaining IETF Draft https://datatracker.ietf.org/doc/draft-penno-sfc-yang/?include_text=1

•  SFC IETF Working Group https://datatracker.ietf.org/wg/sfc/charter/

References

14

Page 15: OpenDaylight Service-Func4on-Chainingopentechindia.org/wp-content/uploads/2012/07/OpenSDNIndia2015-Vinayak.pdf · Data Model (Yang) for SFC • SFC data model is defined in Yang files

15 15

Thank you !