Technology Analysis of Service Chaining Approaches Bin Hu - - PowerPoint PPT Presentation
Technology Analysis of Service Chaining Approaches Bin Hu - - PowerPoint PPT Presentation
Technology Analysis of Service Chaining Approaches Bin Hu (AT&T) Tim Rozet (Red Hat) Content Key Concepts MPLS/BGP VPN Approach VxLAN-GPE NSH Approach Open Stack Projects related to SFC / MPLS VPN / BGP Open
Content
- Key Concepts
- MPLS/BGP VPN Approach
- VxLAN-GPE NSH Approach
- Open Stack Projects related to SFC / MPLS VPN / BGP
- Open Daylight Projects related to SFC / MPLS VPN / BGP
- OPNFV Projects related to SFC / MPLS VPN / BGP
- Key Takeaways
- References
4/27/16 OpenStack Summit, April 25-29, 2016, Austin, TX, USA 2
Key Concepts
- Classification
– Policy-based function to identify / select / match traffic flow with a specific service function chain – Customer / network / service specific policies
- Service Function Chain (aka Service Chain)
– An ordered set of service functions and ordering constraints that must be applied to packets and/or frames selected as a result of Classification – As simple as a linear chain; or as complex as a service graph with multiple branches
- Service Function Forwarding Function (VRF or SFF)
– Forward traffic to one or more connected SF(s) – Transport traffic to another VRF/SFF or classifier – Terminate SFC
4/27/16 3 OpenStack Summit, April 25-29, 2016, Austin, TX, USA
MPLS/BGP VPN Approach (1 of 2)
- L3VPN as the overlay encapsulation tunnel for routing and traffic flow over SFC topology
– VM(s) attached to L3VPN
- Controller manages SFC topology, instantiation of SFC, VRF creation and configuration,
and route installation
- Support use of existing protocols and PE devices with current capabilities
– BGP is used for route advertising – NETCONG/YANG or XMPP can be used for controller to create and configure VRFs, set up RTs and install routes into service instance interfaces
- Supports both physical and virtual deployments
- Multiple Control Plan Protocol (e.g. L3VPN, EVPN) and Multiple Data Plane
Encapsulation (MPLS/GRE, VxLAN etc.) supported
4/27/16 4 OpenStack Summit, April 25-29, 2016, Austin, TX, USA
OpenStack Summit, April 25-29, 2016, Austin, TX, USA
MPLS/BGP VPN Approach (2 of 2)
4/27/16 5
R-B R-B VRF VRF
Controller Controller
R-A R-A VRF VRF
MPLS/GRE or VxLAN (Encapsulation Tunnel) Network-A
Control Plane Service Plane Data Plane
R-1 R-1 I-VRF I-VRF E-VRF E-VRF SF-1 SF-1 R-n R-n I-VRF I-VRF E-VRF E-VRF SF-n SF-n
Network-B
BGP / NetConf YANG / XMPP BGP / NetConf YANG / XMPP Entrance Exit Notes Description Controller Manage instantiation of SFCs by (1) building a model of the desired topology (SFs, # of instances, connectivity); (2) instantiating of SF instances; (3) calculating routes and instantiating VRFs that will form virtual networks between SF instances; and (4) installing routes to cause traffic to flow into and between SF instances. NETCONF-YANG / XMPP Controller uses NETCONF-YANG and XMPP to create and configure VRFs, set up RTs and install routes into service instance interfaces BGP Controllers implements RR. Routers uses BGP RR to advertise routes, and interacts with Controller for updates Load Balancing Combined I-VRF/E-VRF LB and Forward/Reverse Flow LB (for stateful SF) is supported so that each SF in SFC can be separately scaled
- Steering Traffic into SFC:
- Destination-based
- Flow-classification based
- Classifier
- Traffic Flow through SFC:
- VPN Forwarding
- Multiple VPN control
protocol supported
- Multiple data plane
encapsulation supported
- LB ensures consistent
traffic paths
Payload IP B Payload IP B Payload MPLS/ GRE IP B Payload MPLS/ GRE IP B Payload MPLS/ GRE IP B
NSH Approach (1 of 4)
4/27/16 6
- Focus on virtualized SF deployment
- Encapsulation is based on NSH, and tunneling is based on VxLAN-
GPE, GRE or Ethernet
– VM is attached to OVS (L2), and assumes appropriate setup available – Multiple tunneling protocols can be applied
- Flow-based classification allows for flexible classification criteria
– Classifier is required
OpenStack Summit, April 25-29, 2016, Austin, TX, USA
OpenStack Summit, April 25-29, 2016, Austin, TX, USA
NSH Approach (2 of 4)
4/27/16 7
Notes Description Control Plane Function Manage instantiation of SFCs by (1) domain-wide view of available SF resources; (2) use policies to construct SFCs and associated SFPs; (3) select specific SFs for requested SFCs; (4) provides SFC dataplane info to other components, e.g. SFF; (5) provides metadata and usage info for Classifier; (6) provide info including policy info for other SFC elements to properly interpret metadata Service Classifier Determine what traffic needs to be chained based on policy SF Forwarder Deliver packets / frames to SFs based on info in SFC Encapsulation, e.g. an overlay switch like OVS SFC Encapsulation Carry explicit information used to identify SFP; also enable metadata and context information. It is transport independent
- Steering Traffic into SFC:
- Classifier
- Traffic Flow through SFC:
- Traffic from the network
that satisfies classification criteria is encapsulated and directed into an SFP
- SFF delivers packets to SFs
based on SFC Encap
- Metadata may be added
and passed between nodes
- Transit routers/switches
forward based on outer encapsulation
Service Classifier Service Classifier
Control Plane Functions Control Plane Functions
Service Classifier Service Classifier
SFC Encapsulation (e.g. NSH over VxLAN-GPE)
Control Plane Service Plane Data Plane
SF Forwarder SF Forwarder SF-1 SF-1 SF Forwarder SF Forwarder SF-n SF-n
SFC-enabled Domain
Outer Transport Payload Outer Transport Payload SFC Encap Outer Transport Payload Outer Transport Payload SFC Encap Metadata
OpenStack Summit, April 25-29, 2016, Austin, TX, USA
NSH Approach (3 of 4)
4/27/16 8
- SF Proxy
- Supports SFC-unaware
SFs, e.g. legacy SFs
- Removes and inserts SFC
encapsulation on behalf of an SFC-unaware service function
Service Classifier Service Classifier Service Classifier Service Classifier
SFC Encapsulation (e.g. NSH over VxLAN-GPE)
Data Plane
SF Forwarder SF Forwarder SFC-unaware SF SFC-unaware SF SF Forwarder SF Forwarder SF-n SF-n
SFC-enabled Domain
Outer Transport Payload Outer Transport Payload Outer Transport Payload SFC Encap Outer Transport Payload Outer Transport Payload SFC Encap Metadata
SF Proxy SF Proxy
Component Insert NSH Remove NSH Select SFP Decrement Service Index Update Context Header Service Policy Selection Classifier √ √ √ SF Forwarder √ √ Service Function √ √ SF Proxy √ √ √
OpenStack Summit, April 25-29, 2016, Austin, TX, USA
NSH Approach (4 of 4)
4/27/16 9
- Base HDR – Info about service header and
payload protocol
- O: OAM oackets
- C: critical metadata TLV present. MD Type 2
- nly
- Next Protocol: protocol type of original
packets (IPv4, IPv6, Ethernet)
- Service Path HDR – path id and location
- Service Index: 255 by classifier, and
decrement after SF has processed packets
- Control plane may set different initial
value
- Context HDRs – Opaque metadata
- TLV Class: the scope of Type field, e.g. a
specific vendor, or specific SDO-allocated
- Type: specific type of information being
carried within the scope of given TLV class
- Combined TLV
.C: 0-127 for non-critical, and 128-255 for critical options
NSH Proof of Concept OpenStack Demo
- OpenStack Tacker used as orchestration platform
- OpenDaylight SDN Controller
- OPNFV Apex Installer Platform
- Custom OVS with NSH patch
4/27/16 10 OpenStack Summit, April 25-29, 2016, Austin, TX, USA
Jump Host
Project Apex: Deployment (TripleO based)
(Undercloud)
Instack VM (Overcloud) OPNFV Control OPNFV Compute
Tacker SFC POC Workflow
1) Create VNF Descriptor (VNFD) 2) Create VNF instance from registered VNFD 3) Heat driver brings up VNF instance 4) Create Chain CLI which invokes ODL SFC driver 5) NSH Service Function Path (SFP) is rendered into OVS 6) Create Classifier CLI which invokes netvirt-sfc driver 7) Netvirt-sfc pushes classifier flows to OVS
4/27/16 12 OpenStack Summit, April 25-29, 2016, Austin, TX, USA
Tacker + SFC Overview: Proof of Concept (Direct ODL API)
NFVO / VNFM
Tacker
Compute Node 1
Operator / OSS / BSS CLI
Horizon(GUI)
OVS
ODL Controller
Neutron NB
OVSDB
Heat
VNF
vFirewall VNFD Templates
Nova
Neutron
SFC+Classifier Plugin
DB sfc-driver Netvirt-sfc driver
SFC Netvirt-sfc
HTTP Client HTTP Server
1 2 3 4 5,7 6
DEMO Time!
4/27/16 14 OpenStack Summit, April 25-29, 2016, Austin, TX, USA
Tacker SFC Netwon Workflow
1) Create VNF Descriptor (VNFD) 2) Create VNF instance from registered VNFD 3) Heat driver brings up VNF instance 4) Create VNFFG Descriptor (VNFFGD) 5) Create VNFFG instance from registered VNFFGD 6) VNFFG translated into Chains/Classifiers and created in networking- sfc
4/27/16 15 OpenStack Summit, April 25-29, 2016, Austin, TX, USA
Tacker + SFC Newton Implementation
NFVO / VNFM
Tacker
Compute Node 1
Operator / OSS / BSS CLI
Horizon(GUI)
OVS
ODL Controller
Neutron NB
OVSDB
Heat
VNF
vFirewall VNFD Templates
Nova
Neutron
VNFFG
DB networking-sfc driver
SFC Netvirt-sfc
HTTP Client HTTP Server
VNFD VNFD Templates
VNFFGD
Networking- sfc
1 2 4 5 6 3
BGP VPN v.s. NSH
4/27/16 17
MPLS / BGP VPN NSH Separate Control Plane, Service Plane and Data Plane Separate Control Plane, Service Plane and Data Plane Classifier not required Classifier required L3VPN as overlay encapsulation tunnel Encapsulation based on NSH, and overlay tunnel based on VxLAN or GRE or Ethernet Both physical and virtual deployment Virtual deployment VM attached to L3 VM attached to L2 (OVS)
OpenStack Summit, April 25-29, 2016, Austin, TX, USA
OpenStack Summit, April 25-29, 2016, Austin, TX, USA
OpenStack Projects related to SFC / MPLS VPN / BGP
4/27/16 18
Project Name Description
Neutron MPLS VPN-a s-a-Service
- A Neutron extension that introduces MPLS VPN feature set.
- APIs for creating, deleting, listing, showing and updating VPN services of a tenant
- APIs for creating, deleting, listing, showing and updating MPLS Access VPNConnection
- APIs for creating, configuring, deleting and showing MPLS access connection
Neutron APIs for Se rvice Chaining
- “Port Chain” concept which is an ordered list of Neutron ports that defines the chain
- “Flow Classifier” concept which specifies what traffic flow enters the service chain
- Blueprint is proposed to address common SFC API independent of backend
implementation
- Northbound Intent Based Service Chaining API and Intent Engine
- Neutron API Extension for Service Chaining
- Common Service Chaining Driver API
- Service Registration API
- Driven by the need of OPNFV’s OpenStack-based VNF Forwarding Graph project
OpenStack Projects related to SFC / MPLS VPN / BGP
4/27/16 19
Project Name Description
BGP-MPLS VPN Extensi
- n for OpenStack
Networking
- Provides an API and Framework to interconnect BGP/MPLS VPNs
to Openstack Neutron networks, routers and ports.
- Allow attachment of Neutron networks and/or routers to carrier
provided WANs using standard protocols of BGP and MPLS.
- A vendor neutral API and data model are provided to allow
multiple back-ends that can be "plugged in“
- Support both L3VPN and EVPN
Tacker
- NFVO Orchestration based on ETSI MANO spec
OpenStack Summit, April 25-29, 2016, Austin, TX, USA
ODL Projects related to SFC / MPLS VPN / BGP
4/27/16 20
Project Name Description
Group-based Policy (GBP)
- A policy framework and engine for ODL
- Used as Classifier in the setup of ODL SFC and OPNFV SFC (based on VxLAN-GPE NSH)
Service Function Ch aining
- Provides the infrastructure (chaining logic, APIs) needed for ODL to provision a
service chain in the network
- Based on VxLAN-GPE NSH approach
VPN Service
- Implement the infrastructure services required to support L3 VPN service
- Implementation of L2 VPN and L3 VPN services for data center tenants using
technologies like BGP-MPLS VPN and EVPN
- Build L3 VPN Services using L3VPN based on BGP-MPLS (RFC 4364) in the first Phase
(targeted for Lithium).
- L2 VPN Service based on EVPN (draft-ietf-l2vpn-evpn) is planned for a future ODL
release.
OVSDB/NetVirt
- Implements network virtualization for OpenStack
- Used as Classifier in the setup of ODL SFC and OPNFV SFC (based on VxLAN-GPE NSH)
OpenStack Summit, April 25-29, 2016, Austin, TX, USA
OPNFV Projects related to SFC / MPLS VPN / BGP
4/27/16 21
Project Name Description
OpenStack-based V NF Forwarding Gra ph
- Integrate OpenStack SFC related components in order to demonstrate an OpenStack
based and OpenFlow compliant solution which will dynamically set up VNFFG
- Deliverables include vendor-neutral SFC requirement and Interface specification, and
development of components such as VNFFG Manager, SDN Controller, VNFFG Classifier
Service Function Ch aining
- Provides the infrastructure to install the upstream ODL SFC implementation project in
an NFV environment so as to allow ODL to create SFCs across OPNFV VNFs
- VxLAN-GPE NSH approach
- Dependent on ODL GBP, OVSDB/NetVirt and SFC projects
SDN Distributed Ro uting and VPN
- Address integration and deployment of VIM and Virtual networking components to
provide Layer 3 VPN services in the OPNFV platform.
- In collaboration with the related BGPVPN project in OpenStack and supported
implementations in SDN controllers (e.g. VPN in ODL)
OpenStack Summit, April 25-29, 2016, Austin, TX, USA
Key Takeaways
- Diversity is healthy, but not fragmentation
- For end user, more interests are:
– Common APIs that can leverage diversified backend implementations – A method can support inter-domain/end-to-end SFC use cases across heterogeneous networks – A deployment that can leverage existing network capabilities to minimize TCO
4/27/16 22 OpenStack Summit, April 25-29, 2016, Austin, TX, USA
References
- Service Function Chaining (SFC) Architecture, IETF RFC 7665
- Service Chaining using Virtual Networks with BGP VPNs, IETF
Internet-Draft
- Network Service Header, IETF Internet-Draft
- Generic Protocol Extension for VXLAN, IETF Internet-Draft
- Generic Routing Extension, IETF RFC 2784 and 2890
4/27/16 23 OpenStack Summit, April 25-29, 2016, Austin, TX, USA
References (cont.)
- Tacker VNFFG Specification
- Tacker networking-sfc driver Specification
- Networking-odl SFC driver Specification
- Demo walkthrough with DevStack
- Demo walkthrough with OPNFV Apex
4/27/16 24 OpenStack Summit, April 25-29, 2016, Austin, TX, USA
Q & A
4/27/16 25 OpenStack Summit, April 25-29, 2016, Austin, TX, USA