RAVEL: A DATABASE-DEFINED NETWORK · RAVEL: A DATABASE-DEFINED NETWORK ravel |ˈravəl| verb 1...

Post on 15-Apr-2020

23 views 0 download

Transcript of RAVEL: A DATABASE-DEFINED NETWORK · RAVEL: A DATABASE-DEFINED NETWORK ravel |ˈravəl| verb 1...

RAVEL: A DATABASE-DEFINED NETWORK

RAVEL: A DATABASE-DEFINED NETWORK

ravel |ˈravəl|

verb 1 (ravel something out) untangle or unravel something

2 confuse or complicate (a question or situation).

Ravel, Maurice |rəˈvel|

(1875–1937), French composer; full name Maurice Joseph Ravel. His works, which are noted for their colorful orchestration, have a distinctive tone and make use of unresolved dissonances.

© New Oxford American Dictionary

PROBLEM

For SDNs to be useful, abstraction is necessary

…but what's the right kind of abstraction?

Authors’ argument: existing controller solutions are too rigid

difficult to fundamentally upgrade, or run a network with vastly different abstractions

PROPOSED SOLUTION

Turn controller into SQL database

“SDN control fundamentally revolves around data representation”

Base tables contain low-level representation of controller / switch state

When modified by applications, propagate changes via e.g. OpenFlow

Incoming events from switches cause base table changes, invoke triggers / rules

Higher-level representations formed by views

tp(sid, nid)

rm(fid, sid, nid, vol)

cf(fid, sid, nid)

Topology Switch ID Next hop ID

Reachability Matrix Source DestinationFlow ID Volume

(bandwidth)

BASE TABLES

Configuration Flow ID Switch ID Next hop ID

STRUCTURE

Network

Topology Reachability Configuration Base Tables

Load BalancingRouting

Firewall

ApplicationsHorizontal

Orchestration

(Console) Interface

POX

control even

ts

HORIZONTAL ORCHESTRATION

Mediation protocol

Requires global (total) ordering of application priorities

e.g. Firewall > Routing > Load Balancing – user-defined

When an application wants to change data in base table, other applications are “asked” whether their invariants / constraints are violated

How does that happen?

HORIZONTAL ORCHESTRATION

Higher priority → checked later

When is it run?

EVALUATION

Various topologies (fat tree, ISP) with various (seemingly realistic) amounts of network devices

Three types of experiments

Ravel overhead – cost of database operations and orchestration

Scalability (of orchestration)

View optimization

EVALUATION

EVALUATION

EVALUATION

SHORTCOMINGS

What about distributed controllers?

Fault tolerance?

Inconsistencies in paper (non-existent columns, …)

THANKS FOR LISTENING!