online data plane checking
play

Online Data Plane Checking June 12, 2013 Summer School on Formal - PowerPoint PPT Presentation

Online Data Plane Checking June 12, 2013 Summer School on Formal Methods and Networks Cornell University VeriFlow: Verifying Network-Wide Invariants in Real Time* Ahmed Khurshid , Xuan Zou, Wenxuan Zhou, Matthew Caesar, P. Brighten Godfrey


  1. Online Data Plane Checking June 12, 2013 Summer School on Formal Methods and Networks Cornell University

  2. VeriFlow: Verifying Network-Wide Invariants in Real Time* Ahmed Khurshid , Xuan Zou, Wenxuan Zhou, Matthew Caesar, P. Brighten Godfrey University of Illinois at Urbana-Champaign (UIUC) June 12, 2013 Summer School on Formal Methods and Networks Cornell University *HotSDN 2012, NSDI 2013, ONS 2013

  3. Challenges in Network Debugging Complex interactions Misconfigurations Unforeseen bugs Difficult to test the entire network state space before deployment http://groups.geni.net/geni/chrome/site/thumbnails/wiki /TangoGENI/OF-VLAN3715_1000.jpg 6/12/2013 Department of Computer Science, UIUC 3

  4. Data Plane Verification in Action • FlowChecker [ Al-Shaer et al., SafeConfig 2010 ] – Uses BDD-based model checker Find problems after they occur • Anteater [ Mai et al., SIGCOMM 2011 ] and (potentially) – Uses SAT-based model checking cause damage – Revealed 23 real bugs in the UIUC campus network • Header Space Analysis [ Kazemian et al., NSDI 2012 ] – Uses set-based custom algorithm – Found multiple loops in the Stanford backbone network Running time: Several seconds to a few hours 6/12/2013 Department of Computer Science, UIUC 4

  5. Can we run verification in real time? Checking network-wide invariants in real time as the network evolves Need to verify new updates at high speeds Block dangerous changes Provide immediate warning 6/12/2013 Department of Computer Science, UIUC 5

  6. Challenges in Real-Time Verification • Challenge 1: Obtaining real-time view of network – Solution: Utilize the centralized data-plane view available in an SDN (Software-Defined Network) • Challenge 2: Verification speed – Solution: Off-the-shelf techniques? No, too slow! 6/12/2013 Department of Computer Science, UIUC 6

  7. Our Tool: VeriFlow • VeriFlow checks network-wide invariants in real time using data-plane state – Absence of routing loops and black holes, access control violations, etc. • VeriFlow functions by – Monitoring dynamic changes in the network – Constructing a model of the network behavior – Using custom algorithms to automatically derive whether the network contains errors 6/12/2013 Department of Computer Science, UIUC 7

  8. VeriFlow Operation Network Controller New rules VeriFlow Generate Generate equivalence forwarding Run queries classes graphs Rules violating Good rules network invariant(s) Diagnosis report Type of invariant • violation Affected set of • packets 6/12/2013 Department of Computer Science, UIUC 8

  9. 1. Limit the Search Space VeriFlow Equivalence class: Packets experiencing Generate the same forwarding Updates Equivalence Classes actions throughout the network. 64.0.0.0/3 0.0.0.0/1 Fwd’ing rules 0.0.0.0/0 Equiv. classes 1 2 3 4 6/12/2013 Department of Computer Science, UIUC 9

  10. Computing Equivalence Classes (don’t care/wildcard) (device, rule) pairs 6/12/2013 Department of Computer Science, UIUC 10

  11. 2. Represent Forwarding Behavior VeriFlow Generate Generate Updates Equivalence Forwarding Classes Graphs Equivalence Class 1 All the info to answer queries! Equivalence Class 2 6/12/2013 Department of Computer Science, UIUC 11

  12. 3. Run Query to Check Invariants VeriFlow Generate Generate Updates Equivalence Forwarding Run Queries Classes Graphs Bad rules Good rules Diagnosis report Black holes, • Type of invariant Routing loops, violation Access control policies • Affected set of packets 6/12/2013 Department of Computer Science, UIUC 12

  13. API to write custom invariants • VeriFlow provides a set of functions to write custom query algorithms – Gives access to the affected set of equivalence classes and their forwarding graphs – Verification becomes a standard graph traversal algorithm • Can be used to – Check forwarding behavior of specific packet sets – Verify effects of potential changes 6/12/2013 Department of Computer Science, UIUC 13

  14. Experiment • Simulated an IP network using a Rocketfuel topology – 172 routers • Replayed Route Views BGP traces – 5 million RIB entries – 90K BGP updates • Checked for loops and black holes • Microbenchmarked each phase of VeriFlow’s operation 6/12/2013 Department of Computer Science, UIUC 14

  15. Performance Result 97.8% of the updates were verified within 1 millisecond 6/12/2013 Department of Computer Science, UIUC 15

  16. Effect of Equivalence Class Count Number of ECs strongly influences verification time Number of ECs affected by new rule 6/12/2013 Department of Computer Science, UIUC 16

  17. Experiment (cont.) • Mininet OpenFlow network – Rocketfuel topology with 172 switches, one host per switch • NOX controller, learning switch application • TCP connections between random pairs of hosts NOX Controller + Switch application VeriFlow TCP SYN 6/12/2013 Department of Computer Science, UIUC 17

  18. Effect on Flow Table Update Throughput Update throughput (msg/sec) Overhead of VeriFlow is low 6/12/2013 Department of Computer Science, UIUC 18

  19. Effect of Multiple Header Fields Data link type Network destination Network source More fields -> More equivalence classes -> Data link destination Longer verification Data link source time 6/12/2013 Department of Computer Science, UIUC 19

  20. Conclusion • VeriFlow achieves real-time verification – A layer between SDN controller and network devices – Handles multiple packet header fields efficiently – Runs queries within hundreds of microseconds – Exposes an API for writing custom invariants • Ongoing work – Handling packet transformations efficiently – Dealing with multiple controllers 6/12/2013 Department of Computer Science, UIUC 20

  21. Demo Network

  22. 10.0.0.64 10.0.0.128 B(2) 1 1 10.0.0.33 3 2 4 2 I(9) 1 E(5) 3 3 2 2 D(4) 1 1 3 2 3 A(1) 4 4 1 F(6) 3 2 J(10) 10.0.0.32 2 1 4 2 1 C(3) 3 Name(ID) 2 2 G(7) H(8) Intf 1 10.0.0.129 1 1 Intf n 10.0.0.66 10.0.0.65 6/12/2013 Department of Computer Science, UIUC 22

  23. Priority = 1 10.0.0.64 10.0.0.128 Priority = 2 B(2) 1 1 10.0.0.33 3 2 4 2 I(9) 1 E(5) 3 3 2 2 D(4) 1 1 3 2 3 A(1) 4 4 1 F(6) 3 2 J(10) 10.0.0.32 2 1 4 2 1 C(3) 3 Name(ID) 2 2 G(7) H(8) Intf 1 10.0.0.129 1 1 Intf n 10.0.0.66 10.0.0.65 6/12/2013 Department of Computer Science, UIUC 23

  24. Priority = 1 10.0.0.64 10.0.0.128 Priority = 2 B(2) 1 1 10.0.0.33 3 2 4 2 I(9) 1 E(5) 3 3 2 2 D(4) 1 1 3 2 3 A(1) 4 4 1 F(6) 3 2 J(10) 10.0.0.32 2 1 4 2 1 C(3) 3 Name(ID) 2 2 G(7) H(8) Intf 1 10.0.0.129 1 1 Intf n 10.0.0.66 10.0.0.65 6/12/2013 Department of Computer Science, UIUC 24

  25. Forwarding Graphs from the Rocketfuel-RouteViews Experiment

  26. 6/12/2013 Department of Computer Science, UIUC 26

  27. 6/12/2013 Department of Computer Science, UIUC 27

  28. 6/12/2013 Department of Computer Science, UIUC 28

  29. 6/12/2013 Department of Computer Science, UIUC 29

  30. VeriFlow source code is available at http://www.cs.illinois.edu/~khurshi1/projects/veriflow/

  31. Thank you khurshi1@illinois.edu http://www.cs.illinois.edu/~khurshi1

  32. Backup Slides

  33. Related Work • Real time network policy checking using header space analysis, NSDI 2013 • Header space analysis: Static checking for networks, NSDI 2012 • A NICE way to test OpenFlow applications, NSDI 2012 • Abstractions for network update, SIGCOMM 2012 • Can the production network be the testbed?, OSDI 2010 • FlowChecker: Configuration analysis and verification of federated OpenFlow infrastructures, SafeConfig 2010 • Network configuration in a box: Towards end-to-end verification of network reachability and security, ICNP 2009 • On static reachability analysis of IP networks, INFOCOM 2005 6/12/2013 Department of Computer Science, UIUC 33

Recommend


More recommend