towards correct
play

Towards Correct Network Virtualization Soudeh Ghorbani Brighten - PowerPoint PPT Presentation

Towards Correct Network Virtualization Soudeh Ghorbani Brighten Godfrey UIUC HotSDN 2014 Virtualization App App App App App App VM VM VM Hypervisor x86 Soudeh Ghorbani and Brighten Godfrey HotSDN 2014 Virtualization


  1. Towards Correct Network Virtualization Soudeh Ghorbani Brighten Godfrey UIUC HotSDN 2014

  2. Virtualization App App App App App App VM VM VM Hypervisor x86 Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  3. Virtualization Load- Firewall balancer Router App App App App App App L2 bridge VM VM VM Hypervisor Network Virtualization x86 Physical Network Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  4. Virtualization Load- Firewall balancer Router App App App App App App L2 bridge VM VM VM Hypervisor Network Virtualization x86 Diagram inspired by Teemu Koponen’s NSDI 2014 talk on “ Network Virtualization in Multi-tenant Datacenters”. Physical Network Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  5. Is the physical implementation a faithful reproduction of the virtual network? Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  6. Virtual firewall Policy: permit an external server to talk to an internal client if and only if the client has sent a request to the server. Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  7. Virtual firewall Policy: permit an external server to talk to an internal client if and only if the client has sent a request to the server. Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  8. Virtual firewall X Policy: permit an external server to talk to an internal client if and only if the client has sent a request to the server. Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  9. Virtual firewall Policy: permit an external server to talk to an internal client if and only if the client has sent a request to the server. Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  10. Virtual firewall Policy: permit an external server to talk to an internal client if and only if the client has sent a request to the server. Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  11. Virtual firewall app Firewall Switch Prio Flow Action rity 10 srcip=130.126.*.* Send to controller, fwd(1) 0 * Send to controller Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  12. Virtual firewall app Firewall Switch Prio Flow Action rity 10 srcip=130.126.*.* Send to controller, fwd(1) 0 * Send to controller Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  13. Virtual firewall app Firewall Switch Prio Flow Action rity 10 srcip=130.126.*.* Send to controller, fwd(1) 0 * Send to controller Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  14. Virtual firewall app Firewall Switch Prio Flow Action rity 10 srcip=130.126.*.* Send to controller, fwd(1) 0 * Send to controller (Part of the) Firewall switch(msg.getType()) { case PACKET_IN: if ( internal.contains(msg.srcMAC()) ) { whitelisted[msg.dstMAC()][msg.srcMACA()] = true; Controller App }else { if (whitelisted[msg.srcMAC()][msg.dstMAC()] ){ whitelist(sw, msg); }else{ blacklist(sw, msg); } } Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  15. Virtual firewall app Firewall Switch Prio Flow Action rity 10 srcip=130.126.*.* Send to controller, fwd(1) 0 * Send to controller Packet-in from an internal client? Save state: dst server is allowed to send back. (Part of the) Firewall switch(msg.getType()) { case PACKET_IN: if ( internal.contains(msg.srcMAC()) ) { whitelisted[msg.dstMAC()][msg.srcMACA()] = true; Controller App }else { if (whitelisted[msg.srcMAC()][msg.dstMAC()] ){ whitelist(sw, msg); }else{ blacklist(sw, msg); } } Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  16. Virtual firewall app Firewall Switch Prio Flow Action rity 10 srcip=130.126.*.* Send to controller, fwd(1) 0 * Send to controller Packet-in from an (Part of the) Firewall switch(msg.getType()) { external server? case PACKET_IN: if ( internal.contains(msg.srcMAC()) ) { If the server is • whitelisted[msg.dstMAC()][msg.srcMACA()] = true; Controller App allowed to send, }else { install rules to if (whitelisted[msg.srcMAC()][msg.dstMAC()] ){ whitelist(sw, msg); allow bidirectional }else{ traffic. blacklist(sw, msg); Else, blacklist the • } external server. } Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  17. Virtual firewall Firewall App 1 Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  18. Virtual firewall Firewall App 2 1 Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  19. Virtual firewall Firewall App 2 1 3 Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  20. Virtual firewall Firewall App 2 4 1 3 Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  21. Virtual firewall Firewall App 2 5 4 1 3 Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  22. Firewall + virtualization = bug Firewall App Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  23. Firewall + virtualization = bug Firewall Flow Action App src=130.126.*.* Send to controller, fwd(1) * Send to controller Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  24. Firewall + virtualization = bug Firewall Flow Action App src=130.126.*.* Send to controller, fwd(1) * Send to controller Flow Action * Send to controller Flow Action src=130.126.*.* Send to controller, fwd(1) Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  25. Firewall + virtualization = bug Firewall App Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  26. Firewall + virtualization = bug Firewall App Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  27. Firewall + virtualization = bug Firewall App X Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  28. Network virtualization: What could go wrong? App Virtualization Incorrect-behavior technique Stateful firewall One-to-many Blacklisting the legitimate mapping hosts NAT One-to-many Dropping requested packets mapping Load-balancer One-to-many Overloading some servers and mapping leaving some underutilized Firewall & router Many-to-one Blacklisting the legitimate mapping hosts Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  29. Related work  Incorrect behavior caused by moving, observed in: 1. “ LIME: Transparent, Live Migration of a Software-Defined Network ”, Soudeh Ghorbani, Cole Schlesinger, Matthew Monaco, Eric Keller, Matthew Caesar, Jennifer Rexford, David Walker, under submission. 2. “ OpenNF: Enabling Innovation in Network Function Control ”, Aaron Gember-Jacobson, Raajay Viswanathan, Chaithan Prakash, Robert Grandl, Junaid Khalid, Sourav Das, Aditya Akella, SIGCOMM 2014.  These existing solutions are: ◦ Only a short-term fix while virtual network is being moved. ◦ Infeasible when incorrect behavior is permanent rather than transient. Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  30. Root-cause of the incorrect behavior Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  31. Firewall + virtualization = bug Firewall App X Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  32. Firewall + virtualization = bug Firewall App X Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  33. Firewall + virtualization = bug Firewall App Root-cause: forwarding decision has some dependency on the history , the sequence of previous ‘send’ and ‘receive’ events. X Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  34. Who programs the network?  The entities that can make or influence the forwarding decisions: ◦ Controller ◦ Switch : random forwarding like ECMP ◦ Data packet : indirectly through local state, e.g., idle-timers Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  35. Who programs the network?  The entities that can make or influence the forwarding decisions: ◦ Controller ◦ Switch : random forwarding like ECMP ◦ Data packet : indirectly through local state, e.g., idle-timers Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  36. Can existing correctness definitions detect the incorrect behavior? Correctness conditions: 1. Per-packet/flow consistency: prevents loops, black- holes,… Consensus Routing [NSDI’08], Consistent Updates [SIGCOMM’12] 2. Congestion freedom zUpdates [SIGCOMM’13], SWAN [SIGCOMM’13], On Consistent Updates in Software-Defined Networks [HotNets’13] Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

  37. Can existing correctness definitions detect the incorrect behavior? 1 Correctness conditions: None of these conditions were violated in our examples! 1. Per-packet/flow consistency: prevents loops, black- holes,… Consensus Routing [NSDI’08], Consistent Updates [SIGCOMM’12] 2. Congestion freedom zUpdates [SIGCOMM’13], SWAN [SIGCOMM’13], On Consistent Updates in Software-Defined Networks [HotNets’13] Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend