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!