On Consistent Updates in Software Defined Networks Ratul Mahajan, Microsoft Research Roger Wattenhofer, Microsoft Research & ETH Zurich ETH Zurich – Distributed Computing Group Roger Wattenhofer 1
The Blind Spot of SDNs Current State Future State
Example SDN Controller
Example SDN Controller
Example SDN Controller
Example SDN Controller
Example SDN Controller v1 v2 [Reitblatt et al., SIGCOMM 2012]
Example SDN Controller v1 v2 [Reitblatt et al., SIGCOMM 2012]
Example SDN Controller
Dependencies Version Numbers v1 “Better” Solution [Reitblatt et al.] [This paper] 𝑣 𝑤 𝑦 𝑧 𝑧 𝑦 𝑣 𝑤 𝑦 𝑧 + stronger packet coherence – version number in packets – switches need to store both versions
Minimum SDN Updates?
Minimum Updates: Another Example 𝑥 𝑥 or 𝑣 𝑤
Minimum vs. Minimal
No node can improve without hurting another node Minimum vs. Minimal
Minimal Dependency Forest In the paper, we present an algorithm to compute such a minimal dependency forest.
Main Contribution For a given consistency property, what is the minimal dependency possible?
Consistency Space
It’s not just how to compute new rules. It is also how to gracefully get from current to new configuration, respecting consistency.
Architecture Routing Consistency Network policy property characteristics Rule New Update plan Update Plan optimizer generator rules generator DAG and executor
Update DAG Insert rule 𝑠 Insert rule 𝑢 at node 𝑣 at node 𝑥 Remove rule Wait 10s 𝑟 at node 𝑦 Logical OR Remove rule 𝑡 at node 𝑤 Insert rule 𝑞 at node 𝑧
Multiple Destinations using Prefix-Based Routing • No new “default” rule can be introduced without causing loops • Solution: Rule-Dependency Graphs! • Deciding if simple update schedule exists: [Vanbever et al., TON 2012]
Breaking Cycles Insert 𝑣 𝑥 Remove 𝑣 𝑤 Insert 𝑤 𝑣 Remove 𝑥 𝑣 Insert 𝑥 𝑤 Remove 𝑤 𝑥
Breaking Cycles Insert at 𝑥: Insert 𝑣 𝑥 Remove 𝑣 𝑤 Insert 𝑤 𝑣 dest 𝑤 : 𝑥 𝑤 Remove at 𝑥 : Remove 𝑥 𝑣 Insert 𝑥 𝑤 Remove 𝑤 𝑥 dest 𝑤 : 𝑥 𝑤
Architecture Routing Consistency Network policy property characteristics Rule New Update plan Update Plan optimizer generator rules generator DAG and executor
Breaking Cycles Insert at 𝑥: Insert 𝑣 𝑥 Remove 𝑣 𝑤 Insert 𝑤 𝑣 dest 𝑤 : 𝑥 𝑤 Remove at 𝑥 : Remove 𝑥 𝑣 Insert 𝑥 𝑤 Remove 𝑤 𝑥 dest 𝑤 : 𝑥 𝑤
Are Minimal Dependencies Good?
Are Minimal Dependencies Good?
Are Minimal Dependencies Good? Plan optimizer (But will fix it.) and executor
Architecture Routing Consistency Network policy property characteristics Rule New Update plan Update Plan optimizer generator rules generator DAG and executor
Evaluation
Evaluation
Summary
At ETH Zurich, we’re looking for a colleague in networking! Please ask me for details.
Thank You! Questions & Comments? www.disco.ethz.ch
Recommend
More recommend