Abstraction of a failure free Software Defined Network (SDN Application) Divya Chaudhary & Sumit Kapoor April 2015 1 Copyright 2015 Tata Consultancy Services Limited
Agenda 1 What and How of abstracting a failure free Software Defined Network The SDN Application (SDN App) architecture 2 Deep dive into the SDN App functionality Demo 3 Performance reports and roadmap ahead Q & A 2
All is Well in the Software Defined Network Current View As-Is network Once flows are written to the network, SDN Controller is no more involved Data plane does traffic engineering based on the flows written Fault - Node OOS 3
All is Well in the Software Defined Network In case of a Fault Churning network Packet send to SDN Controller Traffic re-engineering in progress Controller specific recovery logic 4
How are we recovering? Module specific logic? Congestion? Mean time to Recovery? Post recovery Congestion due to re-routed traffic? Erstwhile failure recovery mechanism works for SDN? Pre-computed back-up paths enough to provide resilience? Back-up paths? 5
Abstraction of a Failure free-sdn Network Use-Case Can we abstract a Failure Free network Implement a SDN Application Performance Results Decouple failure recovery and application logic Enables recovery, not overloading Primary Controller Benchmarking the SDN Application SDN Application based on SDN Controller - OpenDaylight, applicable for IP network (OpenVSwitch) and leverages emulator (mininet) 6
Abstraction of a Failure free-sdn Network Highlights SDN Application - Record and Monitor Leverages OpenDaylight Northbound APIs Scripts enables operational of a programmable interface Performance Scalability tests done till 400 Nodes (targeted to be extended to 5000 Nodes) Replay of over 40k packets at rate of 2k/sec 01 05 02 State-full workflow manager Record mode - Records events Port monitor - Topology change detection Replay mode - Triggers Shadow controller Topology re-compute Network reconfiguration Challenges Emulated network creation - fast and efficient Replay should be quick and efficient Current support for IP networks, Multi-layer SDN to be investigated 04 03 Network creation and replay Leverages OpenDaylight Northbound APIs Additional scripts to get flows and compute delta flows (Shadow network vs. Primary network) 7
Primary Controller Network Monitor Abstraction of a Failure free-sdn Network Architecture Topology Service Workflow Manager Packet Replay Packet/Flow Mod Logger Database Flow Capture Recovery Interface Northbound API Northbound API Rest APIs Capture flows (script) Software Defined Network (Live Network) Emulated Network (mininet) Host Host 8
Agenda 1 What and How of abstracting a failure free Software Defined Network The SDN Application (SDN App) architecture 2 Deep dive into the SDN App functionality Demo 3 Performance reports and roadmap ahead Q & A 9
Network Monitor Abstraction of a Failure free-sdn Network The Components Topology Service Workflow Manager Packet Replay Packet/Flow Mod Logger Database Flow Capture Recovery Leverage Packet Logger: IDataPacketService (Interface: IListenDataPacket) to capture PacketIn message SDN App writes the PacketIn message into the database Capture Flow-Mod message using Flow Logger: ForwardingRulesManager Service ( Interface: IForwardingRulesManager) Associate the flow message with the PacketIn messages and store in database Segregate the stored PacketIn messages as Primary events: Packets at ingress ports using NodeConnector information and ISwitchManager API Implied events: All other events caused by same packet through network 10
Network Monitor Abstraction of a Failure free-sdn Network The Components Topology Service Workflow Manager Packet Replay Packet/Flow Mod Logger Database Flow Capture Recovery Monitors Primary network using Topology Northbound API (gets topology information like edges information etc.) Uses HostTracker Northbound API (To get active host's information from primary network): GET operation On topology churn detection (ex. Node OOS), triggers Workflow manager to initiate Shadow network Maintains mapping of node connector id and ports on primary and shadow network (through a script) Triggers Packet replay module via Workflow Manager Provides APIs to IO functions PacketIn/FlowMod/mapping onto database Supports batch process which filters out PacketIn for which corresponding FlowMod messages has expired 11
Network Monitor Abstraction of a Failure free-sdn Network The Components Topology Service Workflow Manager Packet Replay Packet/Flow Mod Logger Database Flow Capture Recovery Maintains state machine for Record, Monitor, Replay & Re-compute and Reconfigure Creates the shadow network without the fault-node - leverages mininet emulator (IP Networks only) As part of reconfigure calculates delta-flows (Primary network flows - Shadow network flows) Write delta flows to primary network using FlowProgrammer Northbound API Post completion of reconfiguration responsible for Database and Shadow network cleanup 12
Network Monitor Abstraction of a Failure free-sdn Network The Components Topology Service Workflow Manager Packet Replay Packet/Flow Mod Logger Database Flow Capture Recovery Retrieves the primary packets from Database Injects the Packets into ingress ports of the Shadow network - DataPacketService : To create packet from database and replay it over shadow network. Captures the Flow-MOD messages to the Shadow network - FlowProgrammer Northbound API (To get flows from shadow network and put them onto primary network) : GET and PUT operations. Triggers Workflow Manager with the captured flows Workflow manager inserts the delta flows to Primary network and clean-up Shadow controller 13
Abstraction of a Failure free-sdn Network The Logic flow Primary Network 1 Network Monitoring Topology changes detected 8 2 NO YES Record mode Recovery mode 3 4 9 Record all PacketIn messages Record all Flows Workflow Manager 5 Filter primary and implied events 6 12 Associate the flow message with the PacketIn messages 7 Database Batch process clean up expired flow 15 14 10 Rebuild the network topology without the affected Node 11 Retrieve PacketIn messages 13 Replay Capture Flows Shadow Network 14
Abstraction of a Failure free-sdn Network Functionality (recap) Network creation and replay optimization Filter events coming from network edges. Expire events which are no longer required Parallel replay of independent events 04 01 Records events to Controller PacketIn messages coming from switches FlowMod events in response to PacketIn messages 02 Network reconfiguration Compute delta rules between shadow and primary network Reconfigure primary network 03 Network state re-computation Detect network topology changes( Switch/link down/up) Start copy of controller( say shadow controller) Create emulated network (say shadow network) Replay recorded events to emulated environment as per order in primary network 15
DEMO NOW Demo 16
Agenda 1 What and How of abstracting a failure free Software Defined Network The SDN Application (SDN App) architecture 2 Deep dive into the SDN App functionality Demo 3 Performance reports and roadmap ahead Q & A 17
Results and Roadmap Ahead Proof of Concept Setup and results POC setup Ubuntu 14.04, 4GB, Intel dual-core Co-resident OpenDaylight controller (Primary and Shadow) Co-resident SDN network (primary and shadow network) Scalability setup AFRO SDN Application scaled for 100-400 Nodes Captured packet replay scaled from 10K 40K flows Roadmap ahead Enhance SDN App to Approach to Alarm storms Distributed setup of Optimization - Pre-Set OpenDaylight MD-SAL Primary/Shadow controllers shadow network 18
Thank You IT Services Business Solutions Consulting