Top Banner
tinyNBI: Distilling an API from Essential OpenFlow Abstractions Jasson Casey ♮♭ , Andrew Sutton ♯♭ , Alex Sprintson ♮♭ Texas A&M Univerisity University of Akron Flowgrammable.org
14

tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

Mar 24, 2018

Download

Documents

phungtruc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

tinyNBI: Distilling an API from Essential OpenFlow Abstractions "

Jasson Casey♮♭, Andrew Sutton♯♭, "Alex Sprintson♮♭"

"Texas A&M Univerisity♮"

University of Akron♯"Flowgrammable.org♭"

Page 2: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

Where are we?"

OVSDBNetConfOpenFlow

HTTP/S REST API

Server infrastructure, SDN libraries, data persistence

Switches

Switches

Switches

Switches

Switches

Switches

Switches

Switches

Switches

NetFlow,IPFIX, jFlow,

sFlowOpFlex SNMP

Plugin API

multipath routingbridging

DHCP Authentication

NorthBound

Interface

SouthBound

Interface

Page 3: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

Where are we?"

OVSDBNetConfOpenFlow

HTTP/S REST API

Server infrastructure, SDN libraries, data persistence

Switches

Switches

Switches

Switches

Switches

Switches

Switches

Switches

Switches

NetFlow,IPFIX, jFlow,

sFlowOpFlex SNMP

Plugin API

multipath routingbridging

DHCP Authentication

NorthBound

Interface

SouthBound

Interface

Page 4: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

North Bound Interface (NBI)"•  Glue between controllers and applications"•  API for writing OpenFlow applications"

Controller

App

App

App

Switch

Switch

Switch

Switch

TCP

TCP

TLSTLS

EventsController

App

FlowMod

PacketIn

PacketOut

FlowRemoved

StatsReq

Page 5: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

Most production networks …"•  are heterogeneous"

•  contain multiple vendors"

•  contain multiple device types"

•  operate varying versions of software"

Page 6: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

OpenFlow …"•  has five versions in production"

•  has a new versions coming"

•  is not additive"

•  has a high degree of optionality"

Page 7: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

Most Features are Optional"

0"

10"

20"

30"

40"

50"

60"

70"Match"1.0"

Match"1.1"

Match"1.2"

Match"1.3"

Match"1.4"

Instruc5on

"1.0"

Instruc5on

"1.1"

Instruc5on

"1.2"

Instruc5on

"1.3"

Instruc5on

"1.4"

Ac5o

n"1.0"

Ac5o

n"1.1"

Ac5o

n"1.2"

Ac5o

n"1.3"

Ac5o

n"1.4"

Port"1.0"

Port"1.1"

Port"1.2"

Port"1.3"

Port"1.4"

Op5onal"

Required"

Page 8: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

Writing OpenFlow applications …"

•  requires extensive capability detection"

•  requires extensive error handling"

•  is not possible without apriori knowledge"

•  is not for the average programmer"

Page 9: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

Introduce a tiny NBI"

OFP 1.4 Stack

tinyNBI

OFP 1.0 Stack

OFP 1.1 Stack

OFP 1.2 Stack

OFP 1.3 Stack

High Performance Controller

Simple Application

Application Application

SwitchSwitch SwitchSwitch Switch

* Version negotiation* Echo state* Barrier state* Uniform datamodel* Command translation

* Server distribution* Application synchronization* Topology discovery (LLDP)* Network dependency management

* Targets single switch* Hybrid network behavior* Maintenance behavior

nocontrol

freeflow

Page 10: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

Introduce a tinyNBI that …"•  has a simple sockets “like” interface"

•  abstracts away OpenFlow version details"

•  simplifies the capability detection"

•  supports cross language bindings"

Page 11: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

Read/Write from/to the Data Model"

Switch Datapath

Port

Flow Table

Flow Match

Instruction

Action

Meter

Group

Queue

Connection

Minimal ControlPlane

Data PlaneBuffer

0..1

1..*

1..*

1..*

1..*

1..*

0..1

0..*0..1

0..1

0..*

0..1

1..*

1..*1..*

1..*

1..*

0..*

Page 12: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

Abstractions have …"•  capabilities that are read only"

•  configurations that can be read or written"

•  statistics that are read only"

•  event generation: packet, port, flow"

Page 13: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

tinyNBI also introduces…"•  an application lifecycle"

•  an allocation model for finite resources"

•  capability requirements statement"

•  non-native feature offload""

Page 14: tinyNBI: Distilling an API from Essential OpenFlow Abstractionsconferences.sigcomm.org/sigcomm/2014/doc/slides/188… ·  · 2014-09-02Where are we?" OpenFlow NetConf OVSDB HTTP/S

Questions?"

Switch Datapath

Port

Flow Table

Flow Match

Instruction

Action

Meter

Group

Queue

Connection

Minimal ControlPlane

Data PlaneBuffer

0..1

1..*

1..*

1..*

1..*

1..*

0..1

0..*0..1

0..1

0..*

0..1

1..*

1..*1..*

1..*

1..*

0..*