scenario 2: upon new tenant flow request, install a load-balanced, safe routebalance load
scenario 1: Upon link failure, re route
orchestrated updates: re route via (172, 38)
motivation
Anduo Wang Brighten Godfrey Matthew Caesar (University of Illinois Urbana-Champaign)
Ravel: Orchestrating Software-Defined Networks
shortest path… path
- … {…,172,39,156,…}
+ … {…,172,38,148,…}
configurationfid sid nid
- … 172 39- … 39 156+ … 172 38+ … 38 148
topologysid nid active
- 172 39 1+ 172 39 0
Mininet link (172,39) down
check broken path, re-route
add_flow del_flow
link down
base
view shortest path
configurationtopology
Ravel design
Ravel components - users: control program embedded
with SQL query and update
- views abstraction: created, queried, and updated by the applications- programmable: derived SQL view
- open: SQL view is readily available to others without re-compilation
- base tables: store network state, hides hardware detail, fast network access and update
Ravel services- vertical orchestration- synchronize derived views and their source
views / tables
- enables network control via view update
- horizontal orchestration- a priority-based data-sharing protocol that
coordinates view updates
- allows applications act autonomously while living in harmony
Ravel takes the entire SDN network under the hood of a standard SQL
database
Mininet + POX
base tables
operationnotification
events control
view view view
- SDN network is collectively driven by many applications
- the applications interact- applications collaborate, e.g.,
access control and routing
- applications conflict, e.g., access control and load balancer
- existing solution unsatisfying- require a master program that
coordinates the dynamics
base
view
configurationtraffic matrix
tenant policy
access control
shortest path
load balancer
add_flow del_flow
verify
newtenantrequest
321
orchestrated updates: install alternative route that is load-balanced and safe
load balancersid load
+ 1003 41034 1
UPDATE lb SET load = 3 WHERE load = 4;
shortest path… src dst path
+ … 1238 1034 {1238,…,1034}
access control
src dst allow
+ 1238 1034 1
tenant policy… host server
- … 1238 1003
+ … 1238 1034
tenant requestshost 1238 toserver 1003
traffic matrixfid sid nid
+ … 1238 1034
tenant policy… host server
+ … 1238 1003
load balancersid load
u 1003 3u 1034 2
configurationfid sid nid
+ … … 1034
321
computepath