SPARC: use-cases and results Requirements and Controller Architecture Wolfgang John wolfgang.john@ericsson.com November 23th 2012 Split Architecture for Carrier-Grade Networks. EU FP7 Project Start date: July 2010; End date: November 2012 (1 week ago …) 6 Partners: = 23.11.2012 ER Kista SPARC @ ACREO ER Budapest 2 Split Architecture for Carrier-Grade Networks. Mission: Applying Software Defined Networking (SDN) to operator networks Results 23 publications, presentations and demos (GENI engineering conference, World Telecommunication Congress, Globecom, etc.) Standardization impact in ONF and IRTF Key Project Deliverables D2.2: Use cases, requirements, techno-economic study (CAPEX and OPEX), business environment D3.3: Main technical document, study of architecture and required extensions D4.2: Documentation of specific OpenFlow extensions D4.3: Technical documentation of implementation and prototyping activities D5.2: Results of validation and performance evaluation Movie: Summarizing the most important demo’s (Soon) all to find on: http://www.fp7-sparc.eu 23.11.2012 SPARC @ ACREO 3 SPARC. Project Team. 23.11.2012 SPARC @ ACREO 4 Use Case Areas. Focus on Access/Aggregation. Autoconfiguration AAA Network Management Service Management OAM subsystem BRAS GPON OLT RGW Outdoor DSLAM Business Other Service Platforms (mobile, business, IPTV, VoIP, ...) Data Centre Backbone Access/Aggregation AGS1 AGS2 LER LSR DSLAM Switch / Router Optical transport Optical transport Business 23.11.2012 SPARC @ ACREO 5 SPARC. Main Objectives. The vision of SPARC is to define, implement & evaluate a scalable carrier class Split Architecture. Seven objectives of SPARC, with the three main objectives highlighted: Definition of typical use cases for Split Architecture (D2.2) Analysis and description of business potential (D2.2) Definition of Split Architecture blueprint (D3.3) Extension of the OpenFlow protocol (D3.3 and D4.2) Development of SPARC prototype (D4.3) Validation of SPARC prototype (D5.2) Exploitation of results (papers, demos, presentations, videos) 23.11.2012 SPARC @ ACREO 6 SPARC Objectives. Carrier-grade. What is carrier-grade? Scalability Support large-scale deployments for carrier-grade networks. E.g. a controller shall be able to control forwarding devices that could count in the order of hundreds. Availability and Reliability The availability of networking services shall be equivalent to that of traditional technologies. Network and service management The ability to monitor, diagnose and centrally manage the network Quality of Service Allowing the assurance of SLAs using QoS guarantees for service attributes (e.g. rate, loss, delay) and service isolation Support for legacy technology allowing deployment of new services in parallel to existing legacy protocol stacks 23.11.2012 SPARC @ ACREO 7 SPARC Requirements and Study Topics. Overview. Requirements (study topics) from WP2 WP3: Problem and Solution Description WP4: OF Extensions WP4: Prototype Integration /Implementation WP5: Validation / Performance Evaluation Controller Architecture Yes Yes Yes Yes Network Management Yes No No No Service Creation Yes Yes Yes Yes Virtualization & Isolation Yes Yes Yes Yes OAM Yes Yes Yes Yes Openness & Extensibility Yes Yes Yes Yes Control Channel Bootstrapping & Topology Discovery Yes N/A Yes Yes Network Resiliency Yes N/A Yes Yes Energy-Efficient Networking Yes Yes No No Quality of Service Yes No No No Multilayer Aspects Yes No No No Scalability Yes (numerical N/A N/A Yes 1 2 validation) 23.11.2012 SPARC @ ACREO 8 Intro to SplitArchitecture. Evolution of SDN. business applications app control control app app control control network services OpenFlow data data (I) today’s network design 23.11.2012 data data data SDN control software OpenFlow data (II) generic OpenFlow architecture proposed initially by Stanford SPARC @ ACREO data data data (III) SDN specified by the ONF 9 Intro to SplitArchitecture. Software-Defined Networking. • OpenFlow-based SDN model, defined by the ONF business applications SDN control network services software data 23.11.2012 data data SPARC @ ACREO 10 Intro to SplitArchitecture. Software-Defined Networking. • OpenFlow-based SDN model, including a network hypervisor – Virtualization and abstraction layer – Position of hypervisor (below or above NOS) debatable business applications business applications control program hypervisor SDN control network services software data 23.11.2012 data data network operating system data data SPARC @ ACREO data 11 Intro to SplitArchitecture. The SplitArchitecture concept. • SPARC SplitArchitecture – Again a split between data and control plane – Forwarding and processing in data plane considered separately business applications control program hypervisor network operating system data 23.11.2012 data data SPARC @ ACREO 12 Intro to SplitArchitecture. The SplitArchitecture concept. • SPARC SplitArchitecture – Again a split between data and control plane – Forwarding and processing in data plane considered separately hierarchical controller concept OpenFlow 23.11.2012 forwarding forwarding forwarding processing processing processing SPARC @ ACREO 13 Intro to SplitArchitecture. The SplitArchitecture concept. • SPARC SplitArchitecture – Initial considerations on the role of network management hierarchical controller concept network management system OpenFlow 23.11.2012 forwarding forwarding forwarding processing processing processing SPARC @ ACREO 14 Intro to SplitArchitecture. The SplitArchitecture concept. • SPARC SplitArchitecture – Recursively stacked control planes – Abstracted network view ot higher planes via OpenFlow Interface hier. control plane n+1 app OpenFlow hierarchical controller concept network management system hier. control plane n app OpenFlow filtered, abstract network view hier. control plane n-1 app OpenFlow 23.11.2012 forwarding forwarding forwarding processing processing processing SPARC @ ACREO 15 Intro to SplitArchitecture. The SplitArchitecture concept. • SPARC SplitArchitecture – Recursively stacked control planes – Abstracted network view ot higher planes via OpenFlow Interface hier. control plane n+1 app OpenFlow hierarchical controller concept network management system hier. control plane n app OpenFlow filtered, abstract network view hier. control plane n-1 app OpenFlow 23.11.2012 forwarding forwarding forwarding processing processing processing SPARC @ ACREO 16 Hierarchical controller. Design goals. • Goals for a carrier-grade control layer: – Increase flexibility • Adapt control architecture to use-cases and business models • Distribute the control layer to adapt to network capabilities • Allowing both cross-layering and strict layering of control logic – Increase scalability • Operator networks are complex -> divide and conquer the problem space – Allow smooth migration • Supporting control protocol operations with legacy domains 23.11.2012 SPARC @ ACREO 17 Hierarchical controller. • Current situation: monolithic network elements CP peers talk OSPF, IS-IS, STP, etc. CP CP CP DP DP DP FWD engine (DP) and control logic (CP) sit jointly on a single network element 23.11.2012 SPARC @ ACREO 18 Hierarchical controller. Splitting Ccontrol and forwarding. • Step 1 of SDN: Splitting control from data plane But still the old situation the CP peers control a single network element and use the old protocol for sharing state as before (OSPF, IS-IS, LDP, STP, …) CP CP CP DP DP DP OpenFlow 23.11.2012 SPARC @ ACREO 19 Hierarchical controller. Centralizing control. • Step 2 of SDN: Centralize control plane Centralized control logic OpenFlow DP DP DP Benefit: no complex protocols for sharing state among CP peers required any more. 23.11.2012 SPARC @ ACREO 20 Hierarchical controller. OpenFlow as northbound interface. • SPARC Idea #1: Exposing services via OpenFlow again! OpenFlow Mgmt API Centralized control logic OpenFlow DP DP DP Domain acts like a backplane within the emulated data path element. 23.11.2012 SPARC @ ACREO 21 Hierarchical controller. Flow space registration. • SPARC Idea #2: Integrate FlowVisor functionality into controller OpenFlow Mgmt API OpenFlow OpenFlow Flowspace Mgmt Centralized control logic OpenFlow DP DP DP Higher layer controllers subscribe to parts of the flowspace (i.e. slices) Replace the pub/sub interface (as in NOX) with flowspace reservation 23.11.2012 SPARC @ ACREO 22 Hierarchical controller. Stacked control planes. • Result: Hierarchical structuring of control planes! Requires OpenFlow protocol extensions for management of: * Flowspaces: allow plane (n) to register a slice of the flowspace on (n-1) * Transport endpoints: allow plane (n) to control (CRUD) logical ports on (n-1) 23.11.2012 SPARC @ ACREO 23 Hierarchical controller. Example: protocol stack. • Example: Modular layering of a controller SMTP APP-CTL IPv4 IP-CTL ETH ETH-CTL SMTP IP IPv4 IPv6 ETH ETH ETH ETH PHY PHY PHY PHY OpenFlow An IP router use case: build an IPv4/IPv6 router An SMTP router use case: build a Mail Transport Agent (MTA) The northbound interface is OPENFLOW! 4/8/2015 23.11.2012 DP = PHY-CTL • IP-CTL emulates a single IP layer • ETH-CTL emulates Ethernet host stacks • PHY-CTL is a data path element SPARC @ ACREO 24 Considerations on network management. The SplitArchitecture concept. • SPARC SplitArchitecture – Initial considerations on the role of network management hier. control plane n+1 app OpenFlow hierarchical controller concept network management system hier. control plane n app OpenFlow filtered, abstract network view hier. control plane n-1 app OpenFlow 23.11.2012 forwarding forwarding forwarding processing processing processing SPARC @ ACREO 25 Considerations on network management. Control vs. management. • Boundary between management and control is blurred – Management functions are important in SplitArchitecture Functionality (Increased control granularity) Today’s Network Management Automation (Program driven, automatic adjustment of the network) SplitArch/ SDN Speed (Beyond human time-scale) 23.11.2012 SPARC @ ACREO 26 Considerations on network management. Assessment of functions. • Which NM functions to embed in a controller? – Q1: Already an essential part of SplitArchitecture/SDN control? If not, – Q2: Facilitates timely and automated configuration and flow steering? If so, – Q3: Possible with open and standardized extensions to the OF / OFConfig protocols? (no bloating with vendor or device specific models) • Apply this question to NM function according the TMN/FCAPS definitions of network management 23.11.2012 SPARC @ ACREO 27 Considerations on network management. SPARC assessment example. NM function Element management functions: Firmware management Device monitoring (temp., etc) Device monitoring: Power consumption Control network bootstrapping Resource and capability discovery Logical swtich instatiation Control channel (addresses and credentials) Fault detection (equipment) Alarm management Logging of alarms Logging of statistical data Resource usage (cpu, buffer, queue-length) Network management functions: Topology discovery (creation of network view) Path computation & setup Flow table management Tunnel management Traffic engineering (creation of QoS paths) Fault detection (link level) Link performance monitoring Network performance optimization Resiliency measures Service management functions: Accounting User management and AAA Service definition and administration Service OAM configuration QoS management (service delay, loss) SLA management 23.11.2012 FCAPS Groups Q3 open Q1 included? Q2 timely? interfaces? Proposed CP integration config performance performance config config config config / security fault configuration fault, accounting performance, accounting performance no no no no yes yes yes no no no no no no no yes¹ no no no no no yes no no yes² no no OF-mon no OF, OF-config OF-config OF-config no OF-config no no OF-mon no no yes¹ no yes yes yes no yes no no yes² config config config config config fault performance performance performance/config yes yes yes yes yes yes³ no no yes yes yes yes yes yes yes yes yes yes OF OF OF OF-config OF OF-mon OF-mon OF, OF-config OF, OF-config yes yes yes yes yes yes yes yes yes accounting no no no no accounting / security no no no no config no no no no yes* config no yes OF-config performance no yes OF-mon yes* accounting no no no no ¹ for energy-aware networking (see section 5.7) ² for logical switches sharing switch resources (see section 5.2.4) SPARC @ ACREO ³ implemented in SPARC as BFD (see section 5.3.3) * assuming service controller functionality in the CP, as in SPARC D4.3 28 Control and management architecture. Summary. • Result: A recursive and modular control plane architecture control plane A control plane B hierarchical controller concept network management system OpenFlow 23.11.2012 forwarding forwarding forwarding processing processing processing e.g. optical devices SPARC @ ACREO 29 SPARC: use-cases and results SPARC prototype implementations Wolfgang John wolfgang.john@ericsson.com November 23th 2012 Seamless MPLS aka carrier grade packet transport • Seamless MPLS “…architecture which can be used to extend MPLS networks to integrate access and aggregation networks into a single MPLS domain…” draft-leymann-mpls-seamless-mpls-03 Forklifting access/aggregation to MPLS may be too expensive apply SDN principles for Seamless MPLS 23.11.2012 SPARC @ ACREO 31 Seamless MPLS implementation. Basic concept. APP (CP) APP (CP) Protocol Proxy Central SPARC element Controller OSPF, LDP, RSVP-TE, BGP … OpenFlow Service CP CP Aggregation Access CP CP Switch Switch 23.11.2012 IP/MPLS core CP IP Edge Switch SPARC @ ACREO CP IP MPLS CP IP MPLS CP GW IP MPLS 32 Seamless MPLS implementation. Essential Functionalities. LDP OpenFlow MPLS CTRL Protocol Proxy Discovery OSPF End-to-end MPLS CTRL SPARC Controller NNI OSPF, LDP MPLS CP NOX Kernel Client OF Edge OF Switch MPLS CP MPLS CP OF Switch OF Switch Core MPLS Core MPLS Video WEB Client Clients 1. 2. 3. 4. OF Edge OF Switch OF Switch Core MPLS OPENFLOW MPLS Aggregation IP/MPLS core Services Topology discovery of MPLS aggregation & core Management of MPLS LSPs in aggregation Signal end-to-end MPLS LSPs Provision MPLS transport services (e.g. Pseudowire) 23.11.2012 SPARC @ ACREO 33 Seamless MPLS implementation. 1. Topology disovery of MPLS aggegation & core. OSPF Protocol Proxy Discovery Combine OpenFlow and legacy topology discovery information NOX Kernel Client MPLS CP MPLS CP Core MPLS Core MPLS Video OF Access OF Switch OF Switch OF Switch MPLS CP WEB Client Clients 23.11.2012 OF Access OF Switch OF Switch OPENFLOW MPLS Aggregation SPARC @ ACREO Core MPLS IP/MPLS core Services 34 Seamless MPLS implementation. 2. Management of MPLS LSPs in aggregation. • Installs PtP, MPtP and PtMP tunnels SPARC Controller Discovery OpenFlow MPLS CTRL • Reconfigures them upon topology changes NOX Kernel Client MPLS CP MPLS CP Core MPLS Core MPLS Video OF Access OF Switch OF Switch OF Switch MPLS CP WEB Client Clients 23.11.2012 OF Access OF Switch OF Switch OPENFLOW MPLS Aggregation SPARC @ ACREO Core MPLS IP/MPLS core Services 35 Seamless MPLS implementation. 3. Signaling end-to-end MPLS LSPs. OpenFlow MPLS CTRL NOX Kernel Client OF Switch MPLS CP MPLS CP Core MPLS Core MPLS MPLS Tunnel MPLS Tunnel OF Access • Nests them in MPtP tunnels in aggregation LDP Discovery OSPF SPARC Controller Protocol Proxy End-to-end MPLS CTRL • Topology synchronization with OSPF • Spans end-to-end MPLS with LDP OF Switch OF Switch Video MPLS CP WEB Client Clients 23.11.2012 OF Access OF Switch OF Switch OPENFLOW MPLS Aggregation SPARC @ ACREO Core MPLS IP/MPLS core Services 36 Split-BRAS • Split-BRAS BRAS is complex and expensive integrated node since it must handle all subscriber traffic, hence it must cope with continuously increasing capacity need, this means increasing cost Traditional way of deploying BRAS will not scale apply SDN principles to distribute BRAS functionality 23.11.2012 SPARC @ ACREO 37 Split BRAS. Basic concept. Common residential model today with PPPoE BRAS RADIUS AGS 1 Split Control and raw forwarding RAW BRAS AGS 1 Control session IP Edge AGS 1 Control session PPPoE tunnel AGS 2 RADIUS Roll raw BRAS toward Access Node Aggregation specific tunnel PPPoE tunnel AGS 2 AGS 2 Control session RAW BRAS AN Client (RGW) 23.11.2012 AN AN Client (RGW) Client (RGW) SPARC @ ACREO RADIUS PPPoE tunnel 38 Split BRAS. Architecture Blueprint. control plane A Applying a recursive control plane control plane B data path element L3 fwd engine PPP & PPPoE IPoE L2 fwd engine (disabled) EoPhy 23.11.2012 SPARC @ ACREO EoPhy 39 Split BRAS. Concept. Central SPARC element Controller Relay PPP Request RAW BRAS Aggregation Access 23.11.2012 IP/MPLS core IP Edge SPARC @ ACREO GW 40 Split BRAS. Flexible placement. Central SPARC element Controller Aggregation RAW BRAS IP Edge Access Switch Switch 23.11.2012 IP/MPLS core GW Switch SPARC @ ACREO 41 Split BRAS. Increased scalability. Central SPARC element Controller Aggregation RAW BRAS IP Edge Access RAW Switch BRAS 23.11.2012 IP/MPLS core Switch GW Switch SPARC @ ACREO 42 Summary of SPARC OpenFlow Protocol Extensions implemented. • MPLS – Parsing MPLS headers – Basic MPLS actions: push/pop header, change TTL, … • PPP & PPPoE – Terminate PPP & PPPoE tunnels • Connectivity Check – Pro-active monitoring of contuity with probe packets of MPLS-TP BFD format – Used for monitoring adjacency and flow pairs (bidirectional path) • OAM & Protection Notification – About state changes of monitoring entities – About protection events • Pseudo Wire – Support for Ethernet Pseudo Wire over MPLS PSN – Not full implementation (i.e., no sequence numbers) 23.11.2012 SPARC @ ACREO 43