1 / 29

Formal checkings in networks

Formal checkings in networks. James Hongyi Zeng with Peyman Kazemian , George Varghese , Nick McKeown. Software Defined Network (SDN). Control Programs. Control Programs. Control Programs. Abstract Network View. 1. <Match, Action> <Match, Action> <Match, Action>

zach
Download Presentation

Formal checkings in networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formal checkings in networks James HongyiZeng with PeymanKazemian, George Varghese, Nick McKeown

  2. Software Defined Network (SDN) Control Programs Control Programs Control Programs Abstract Network View 1 • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … Network Virtualization 2 Global Network View Network OS • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … Packet Forwarding Packet Forwarding 3 • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … Packet Forwarding Packet Forwarding • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … Packet Forwarding

  3. “S” for Software • Static Checking (“compile time”)“Is my configuration correct?” • Dynamic checking (“run time”)“Is my data plane behaving correctly?” Policy/Control SW Configuration Data plane

  4. With SDN we will: • Formally verify that our networks are behaving correctly. • Identify faults, then systematically track down their root cause.

  5. 1. Static checkingIs my configuration correct?

  6. Motivations In today’s networks, simple questions are hard to answer: • Can host A talk to host B? • What are all the packet headers from A that can reach B? • Are there any loops in the network? • Is Group X provably isolated from Group Y? • What happens if I remove a line in the config file?

  7. Software Defined Network (SDN) Control Programs Control Programs Control Programs Policy “A can talk to B” “Guests can’t reach PatientRecords” Abstract Network View Network Virtualization Static Checker Global Network View Network OS • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … Packet Forwarding Packet Forwarding • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … Packet Forwarding Packet Forwarding • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … Packet Forwarding

  8. How it worksHeader Space Analysis

  9. Header Space Analysis 2 3 1 A B 4 1 2 3 Port ID 4

  10. Header Space Analysis 2 3 1 A B 4 1 2 3 Port ID 4

  11. Can A talk to B? 2 3 1 A B 4 1 2 3 Port ID 4

  12. Header Space Analysis Consequences • Finds all packets from A that can reach B • Find loops, regardless of protocol or layer • Can prove that two groups are isolated • Protocol Independent Proves if network adheres to policy Works on existing networks and SDNs

  13. Stanford Backbone 750,000 IP forwarding rules. 1,500 ACL rules. 100 VLANs. • DST IP: 172.26.66.96/28, VLAN: 330 • DST IP: 171.64.2.128/27, VLAN: 206 • DST IP: 172.20.10.64/27, VLAN: 10 • DST IP: 172.24.2.128/27, VLAN: 206 • DST IP: 172.26.4.80/29, VLAN: 206 • DST IP: 172.26.4.88/29, VLAN: 208 • IP Protocol: TCP • DST IP: 171.64.2.24 • SRC IP: 172.28.148.27 • VLAN: 206 • . • . • . • 40) IP Protocol: UDP • UDP DST Port: 514 A B

  14. Tool Hassel • Reads Cisco IOS Configuration • Checks reachability, loops and isolation • 10 mins for Stanford Backbone to check loops • Easily made parallel: 1 sec is feasible Hassel is available for free, for you to run https://bitbucket.org/peymank/hassel-public/

  15. 2. Dynamic CheckingIs my data plane behaving correctly?

  16. Motivations Configurations might correctly reflect the policy, but…hardware might not follow configurations • Hardware errors (e.g. memory or ASIC errors) • Link failure • Congestion • Table overflow • Intermittent problems Such errors cannot be detected by static checking. Need a independent checker to test the data plane

  17. Software Defined Network (SDN) Control Programs Control Programs Control Programs Abstract Network View Network Virtualization Global Network View Network OS • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … Packet Forwarding • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … Packet Forwarding B A • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … Packet Forwarding • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … Packet Forwarding • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • <Match, Action> • … • … Packet Forwarding

  18. Testing the network • Monitor the network by sending test packets • Locate the faults with test results Not a new idea… • Network admins already use ping/traceroute to test the network • Ad-hoc test case generation • Coarse granularity / Low coverage • Lacks fault localization

  19. What is the minimum number of test packets to Test every rule in every table? Isolate any fault?

  20. Test Packets

  21. Fault Localization

  22. How it worksAutomatic Test Packet Generation

  23. Automatic Test Packet Generation A B Test Packets

  24. How many packets needed? Stanford Backbone • 16 routers • 4,000 packets (vs. 750,000 rules) Internet2 • 9 routers • 30,000 packets (vs. 100,000 IPv4 rules) Testing 10x per second, requires <1% of link-rate

  25. Fault Localization • Given: a set of pass/fail results • Output: the minimum set of (potential) faulty rules Demo

  26. What’s next • Automatic performance testing Example Application mapped to a congested router queue Automatic Test Packet Generation will • Identify the queue • Determine which headers (applications) incur poor performance

  27. “S” for software • Static Checking (“compile time”)“Is my configuration correct?” • Dynamic checking (“run time”)“Is my data plane behaving correctly?” Policy/Control SW Configuration Data plane

  28. With SDN we will: • Formally verify that our networks are behaving correctly. • Identify faults, then systematically track down their root cause.

  29. Will you?

More Related