abstraction of a failure free software defined network ... · packet replay flow capture ......
TRANSCRIPT
1| Copyright © 2015 Tata Consultancy Services Limited
Abstraction of a failure free Software Defined Network (SDN Application)
Divya Chaudhary & Sumit Kapoor
April 2015
2
Agenda
What and How of abstracting a failure free Software Defined Network
The SDN Application (SDN App) architecture1
Deep dive into the SDN App functionality
Demo2
Performance reports and roadmap ahead
Q & A3
3
All is Well in the Software Defined Network
Fault - Node OOS
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
Current View
4
All is Well in the Software Defined Network
Churning network
Packet send to SDN Controller
Traffic re-engineering in progress
Controller specific recovery logic
In case of a Fault
5
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 ?
6
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 forIP network (OpenVSwitch) and leverages emulator (mininet)
7
01
0304
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 | Highlights
8
Abstraction of a Failure free-SDN Network | Architecture
Database
Net
wo
rk
Mo
nit
or Workflow ManagerTopology Service
Packet/Flow Mod Logger
Packet Replay
Flow Capture Recovery
Emulated Network(mininet)Software Defined Network
(Live Network)
Host Host
Pri
mar
yC
on
tro
ller
Northbound API Northbound API
Rest APIs
Cap
ture
flow
s (script)
Interface
9
Agenda
What and How of abstracting a failure free Software Defined Network
The SDN Application (SDN App) architecture1
Deep dive into the SDN App functionality
Demo2
Performance reports and roadmap ahead
Q & A3
10
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
Net
wo
rk
Mo
nit
or Workflow ManagerTopology Service
Packet/Flow Mod Logger
Packet Replay
Flow Capture Recovery
11
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
Net
wo
rk
Mo
nit
or Workflow ManagerTopology Service
Packet/Flow Mod Logger
Packet Replay
Flow Capture Recovery
Provides APIs to IO functions PacketIn/FlowMod/mapping onto database
Supports batch process which filters out PacketIn for which corresponding FlowMod messages has expired
12
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
Net
wo
rk
Mo
nit
or Workflow ManagerTopology Service
Packet/Flow Mod Logger
Packet Replay
Flow Capture Recovery
13
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
Net
wo
rk
Mo
nit
or Workflow ManagerTopology Service
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
Workflow manager inserts the delta flows to Primary network and clean-up Shadow controller
14
Abstraction of a Failure free-SDN Network | The Logic flow
Primary Network
Topologychanges 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
messagesReplay
Shadow Network
Capture Flows
NetworkMonitoring
NO
YESBatch process cleanup expired flow
1
2
3
4
5
6
7
8
9
10 11
12
13
1415
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
primary network
Reconfigure primary network
16
DEMO NOW
Demo
17
Agenda
What and How of abstracting a failure free Software Defined Network
The SDN Application (SDN App) architecture1
Deep dive into the SDN App functionality
Demo2
Performance reports and roadmap ahead
Q & A3
18
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
Captured packet replay scaled from 10K – 40K flows
Thank You
IT ServicesBusiness SolutionsConsulting