formal semantics and automated verification for the
play

Formal Semantics and Automated Verification for the Border Gateway - PowerPoint PPT Presentation

Formal Semantics and Automated Verification for the Border Gateway Protocol Konstantin Doug Emina Michael Arvind Zachary Weitz Woos Torlak D. Ernst Krishnamurthy Tatlock The Border Gateway Protocol The Border Gateway Protocol AS AS


  1. Formal Semantics and Automated Verification for the Border Gateway Protocol Konstantin Doug Emina Michael Arvind Zachary Weitz Woos Torlak D. Ernst Krishnamurthy Tatlock

  2. The Border Gateway Protocol

  3. The Border Gateway Protocol AS AS

  4. The Border Gateway Protocol AS AS AS AS AS

  5. The Border Gateway Protocol Autonomous systems communicate routing information via the 
 Border Gateway Protocol 
 (RFC 4271) . AS AS AS AS AS

  6. The Border Gateway Protocol Autonomous systems communicate routing information via the 
 Border Gateway Protocol 
 (RFC 4271) . AS AS AS AS AS

  7. The Border Gateway Protocol Autonomous systems communicate routing information via the 
 Border Gateway Protocol 
 (RFC 4271) . AS AS AS AS AS

  8. BGP Semantics Evaluation

  9. Evaluation 1. Gao & Rexford Proof BGP Semantics

  10. Evaluation 1. Gao & Rexford Proof BGP Semantics 2. Configuration Verification Bagpipe

  11. Evaluation 1. Gao & Rexford Proof BGP Semantics 2. Configuration Verification Bagpipe 3. Differential Testing

  12. 1. Gao & Rexford Proof Guidelines → BGP Converges!

  13. 1. Gao & Rexford Proof Guidelines → BGP Converges! ?

  14. 1. Gao & Rexford Proof Guidelines → BGP Converges! ? b > a a > b X Y a a b b a b A Z

  15. 1. Gao & Rexford Proof Guidelines → BGP Converges! ? b b > a a > b X Y b a b a a a b A Z

  16. 1. Gao & Rexford Proof Guidelines → BGP Converges! ? b > a a > b X Y a b A Z

  17. 1. Gao & Rexford Proof Guidelines → BGP Converges! ? b > a a > b X Y a b New Guideline: A Z Preserve iBGP 
 Preference

  18. 1. Gao & Rexford Proof Guidelines → BGP Converges! ? b > a a > b X Y a b New Guideline: A Z Preserve iBGP 
 Preference

  19. 2. Configuration Verification Bagpipe Specification Correctness 
 Proof Bagpipe configure terminal router bgp 1 Counter 
 neighbor 8.212.226.20 remote-as 2 neighbor 172.16.254.1 remote-as 3 neighbor 95.112.23.51 remote-as 4 ! prefix lists ip prefix-list outC permit 0.0.0.0/0 le 32 Example ip prefix-list outPeer permit 8.212.226.0/24 le p prefix-list ou permit Configuration

  20. 2. Configuration Verification Bagpipe GaoRexford • Bagpipe 14 problems Internet2 >100K •

  21. 2. Configuration Verification Bagpipe • GaoRexford • NoMaritan • BlockToExternal Bagpipe • 10 Juniper Scenarios 19 problems configure terminal router bgp 1 neighbor 8.212.226.20 remote-as 2 neighbor 172.16.254.1 remote-as 3 neighbor 95.112.23.51 remote-as 4 ! prefix lists ip prefix-list outC permit 0.0.0.0/0 le 32 ip prefix-list outPeer permit 8.212.226.0/24 le p prefix-list ou permit • Internet2 >100K • BelWü >200K • Selfnet >50

  22. 3. Differential Testing 100,000x Random C A B Topology configure terminal router bgp 1 neighbor 8.212.226.20 remote-as 2 neighbor 172.16.254.1 remote-as 3 neighbor 95.112.23.51 remote-as 4 ! prefix lists ip prefix-list outC permit 0.0.0.0/0 le 32 ip prefix-list outPeer permit 8.212.226.0/24 le p prefix-list ou permit Configuration

  23. 3. Differential Testing 100,000x Random C A B Topology C-BGP Simulator configure terminal router bgp 1 neighbor 8.212.226.20 remote-as 2 neighbor 172.16.254.1 remote-as 3 neighbor 95.112.23.51 remote-as 4 ! prefix lists ip prefix-list outC permit 0.0.0.0/0 le 32 ip prefix-list outPeer permit 8.212.226.0/24 le p prefix-list ou permit Configuration

  24. 3. Differential Testing 100,000x Random C A A B A B Topology C-BGP B C Simulator A C configure terminal router bgp 1 … neighbor 8.212.226.20 remote-as 2 neighbor 172.16.254.1 remote-as 3 neighbor 95.112.23.51 remote-as 4 ! prefix lists ip prefix-list outC permit 0.0.0.0/0 le 32 ip prefix-list outPeer permit 8.212.226.0/24 le p prefix-list ou permit Trace Configuration

  25. 3. Differential Testing 100,000x Random C A A B A B Topology C-BGP B C Simulator A C configure terminal router bgp 1 … neighbor 8.212.226.20 remote-as 2 neighbor 172.16.254.1 remote-as 3 neighbor 95.112.23.51 remote-as 4 ! prefix lists ip prefix-list outC permit 0.0.0.0/0 le 32 ip prefix-list outPeer permit 8.212.226.0/24 le p prefix-list ou permit Trace Configuration

  26. 3. Differential Testing 100,000x Random C A A B A B Topology C-BGP B C Simulator A C configure terminal router bgp 1 … neighbor 8.212.226.20 remote-as 2 neighbor 172.16.254.1 remote-as 3 neighbor 95.112.23.51 remote-as 4 ! prefix lists ip prefix-list outC permit 0.0.0.0/0 le 32 ip prefix-list outPeer permit 8.212.226.0/24 le p prefix-list ou permit Trace Configuration • Resends Identical Announcements • Modifies AdjRIBsIn

  27. Related Work • Simple Path-Vector Protocol 
 Griffin, et al. TON’10 • Gao & Rexford’s Semantics 
 Gao, Rexford, SIGMETRICS’00 • Isabelle Semantics 
 Voellmy, SafeConfig’09

  28. Related Work • Simple Path-Vector Protocol 
 Griffin, et al. TON’10 • Gao & Rexford’s Semantics 
 Gao, Rexford, SIGMETRICS’00 • Isabelle Semantics 
 Voellmy, SafeConfig’09 Simplified: iBGP, Tie-Breaking, Withdrawals, …

  29. Thank You 1. Gao & Rexford Proof BGP Semantics 2. Configuration Verification Bagpipe 3. Differential Testing weitzkon@cs.uw.edu / bagpipe.uwplse.org

Recommend


More recommend