Abstraction of a failure free Software Defined Network
(SDN Application)
Agenda
What and How of abstracting a failure free
Software Defined Network
The SDN Application (SDN App) architecture
1
Deep dive into the SDN App functionality
Demo
2
Performance reports and roadmap ahead
Q & A
All is Well in the Software Defined Network
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
All is Well in the Software Defined Network
Churning network Packet send to SDN Controller Traffic re-engineering in progress Controller specific recovery logic
How are we recovering ?
Congestion due to re-routed traffic ?
Erstwhile failure recovery mechanism works for SDN ? Pre-computed back-up
paths enough to provide resilience ?
Post recovery
Congestion ? Mean time to Recovery ? Back-up paths ? Module specific logic ?Abstraction of a Failure free-SDN Network | Use-Case
Decouple failure
recovery and
application logic
Can we abstract a
Failure Free network
Enables recovery,
not overloading
Primary Controller
Implement a
SDN Application
Benchmarking
the SDN
Application
Performance
Results
SDN Application based on SDN Controller - OpenDaylight, applicable for
IP network (OpenVSwitch) and leverages emulator (mininet)
01
03 04
05 02
SDN Application - Record and Monitor
Leverages OpenDaylight Northbound APIs
Scripts enables operational of a programmable interface
State-full workflow manager
Record mode - Records events
Port monitor - Topology change detection Replay mode - Triggers Shadow controller Topology re-compute
Network reconfiguration
Network creation and replay
Leverages OpenDaylight Northbound APIs
Additional scripts to get flows and compute delta flows (Shadow network vs. Primary network)
Challenges
Emulated network creation - fast and efficient Replay should be quick and efficient
Current support for IP networks, Multi-layer SDN to be investigated
Performance
Scalability tests done till 400 Nodes (targeted to be extended to 5000 Nodes) Replay of over 40k packets at rate of 2k/sec
Abstraction of a Failure free-SDN Network | Architecture
Database Ne tw or k Monitor Topology Service Workflow Manager Packet/Flow Mod Logger
Packet Replay Flow Capture
Recovery
Emulated Network
(mininet)
Software Defined Network
(Live Network) Host Host Pri mar y Con tr oll
er Northbound API Northbound API
Rest APIs Cap
tur e flow s (sc rip t) Interface
Agenda
What and How of abstracting a failure free
Software Defined Network
The SDN Application (SDN App) architecture
1
Deep dive into the SDN App functionality
Demo
2
Performance reports and roadmap ahead
Q & A
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
Abstraction of a Failure free-SDN Network | The Components
Database Ne tw or k Monit
or Topology Service Workflow Manager Packet/Flow Mod Logger
Packet Replay Flow Capture
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
Abstraction of a Failure free-SDN Network | The Components
Database Ne tw or k Monit
or Topology Service Workflow Manager Packet/Flow Mod Logger
Packet Replay Flow Capture
Recovery
Provides APIs to IO functions PacketIn/FlowMod/mapping onto database
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
Abstraction of a Failure free-SDN Network | The Components
Database Ne tw or k Monit
or Topology Service Workflow Manager Packet/Flow Mod Logger
Packet Replay Flow Capture
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.
Abstraction of a Failure free-SDN Network | The Components
Database Ne tw or k Monit
or Topology Service Workflow Manager Packet/Flow Mod Logger
Packet Replay Flow Capture
Recovery
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
Abstraction of a Failure free-SDN Network | The Logic flow
Primary Network
Topology
changes detected Record mode
Recovery mode Record all PacketIn messages Record all Flows
Filter primary and implied events
Associate the flow message with the PacketIn messages Database Workflow Manager Rebuild the network topology without the affected Node Retrieve PacketIn messages Replay Shadow Network Capture Flows Network Monitoring NO YES
Batch process clean up expired flow 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Abstraction of a Failure free-SDN Network | Functionality (recap)
01
02
03
04
Records events to Controller
PacketIn messages coming from switches
FlowMod events in response to PacketIn messages
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
Network creation and replay optimization
Filter events coming from network edges.
Expire events which are no longer required
Parallel replay of independent events
Network reconfiguration
Compute delta rules between shadow and
DEMO NOW
Agenda
What and How of abstracting a failure free
Software Defined Network
The SDN Application (SDN App) architecture
1
Deep dive into the SDN App functionality
Demo
2
Performance reports and roadmap ahead
Q & A
Results and Roadmap Ahead
Roadmap ahead
Enhance SDN App to OpenDaylight MD-SAL
Approach to Alarm storms Distributed setup of Primary/Shadow controllers
Optimization - Pre-Set shadow network
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