Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ......

19
1 | Copyright © 2015 Tata Consultancy Services Limited Abstraction of a failure free Software Defined Network (SDN Application) Divya Chaudhary & Sumit Kapoor April 2015

Transcript of Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ......

Page 1: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

1| Copyright © 2015 Tata Consultancy Services Limited

Abstraction of a failure free Software Defined Network (SDN Application)

Divya Chaudhary & Sumit Kapoor

April 2015

Page 2: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 3: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 4: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 5: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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 ?

Page 6: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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)

Page 7: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 8: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 9: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 10: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 11: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 12: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 13: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 14: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 15: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 16: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

16

DEMO NOW

Demo

Page 17: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 18: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

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

Page 19: Abstraction of a failure free Software Defined Network ... · Packet Replay Flow Capture ... PacketIn message into the database Capture Flow-Mod message ... of abstracting a failure

Thank You

IT ServicesBusiness SolutionsConsulting