isolate groups A + B • route guest traffic to an HTTP proxy • block a list of virus-‐ infected hosts Challenging in tradi2onal networks. ~ ? (2) Check behavior against policy: • confusing: don’t know lowest-‐level forwarding behavior • distributed: hard to get a meaningful snapshot Two requirements. (1) Know the intended policy: • confusing: different config format for each protocol • distributed: configura2on spread among all nodes • hard: must understand all protocols & their interac2ons difficult to check imprac<cal to infer
HW Systema<cally Troubleshoo<ng an SDN Network OS Network Hypervisor App App App State Layers Logical View Physical View Device State Hardware Policy Code Layers Observa<on: Each state layer fully specifies network behavior. Insight: Bugs manifest as mistransla2ons between layers. Systema<c Approach: (1) Binary search to isolate to a code layer. (2) Leverage state to isolate within the code layer.
isolate groups A + B • route guest traffic to an HTTP proxy • block a list of virus-‐ infected hosts Possible in Sonware-‐Defined Networks ~ ? (2) Check behavior against policy: • confusing: don’t know lowest-‐level forwarding behavior • distributed: hard to get a meaningful snapshot Two requirements. (1) Know the intended policy: • confusing: different config format for each protocol • distributed: configura2on spread among all nodes • hard: must understand all protocols & their interac2ons directly accessible directly provided app fewer nodes
• Thinking about troubleshoo2ng in terms of layers shows us where tools fit in – Reveals missing tools – Highlights choices between tools, with tradeoffs • Plenty of opportuni2es len. Opera2onalize!
• Simple answer: it’s not! SDN is an excellent opportunity to draw upon ideas from other distributed systems • Subtlety: networks are solving a much more constrained problem than general distributed systems
effects not reflected in state • No guarantee of finding single code layer • No guarantee of individual layer correctness • No guarantee of future correctness • Layer visibility may be imperfect
Ac2onable Bug Reports – Filtering the signal from the noise – Crea2ng consistent views of state • Improving Invariant Checkers – Scale – Flexible Policy Input • Hybrid Tradi2onal + SDN Debugging
Ac2onable Bug Reports – Filtering the signal from the noise – Crea2ng consistent views of state Packet History: Path + Headers + Forwarding State Forwarding State Forwarding State Forwarding State Forwarding State [HotSDN 2012: Where is the Debugger for My Sonware-‐Defined Network?]
Ac2onable Bug Reports – Filtering the signal from the noise Controller A Controller B Controller C Switch 1 Switch 2 Switch3 Switch 4 Switch 5 Switch 6 Switch 7 Switch 8 Switch 9 [Berkeley Tech Report: How Did We Get Into This Mess? Isola2ng Fault-‐Inducing Inputs to SDN Control Sonware] Minimal Causal Sequence