flip the flow table fast lightweight policy preserving
play

FLIP the (Flow) Table: Fast LIghtweight Policy-preserving SDN - PowerPoint PPT Presentation

FLIP the (Flow) Table: Fast LIghtweight Policy-preserving SDN Updates Stefano Vissicchio (UCLouvain) stefano.vissicchio@uclouvain.be INFOCOM 13th April 2016 Joint work with Luca Cittadini (Roma Tre University) SDN controller Operators


  1. FLIP the (Flow) Table: Fast LIghtweight Policy-preserving SDN Updates Stefano Vissicchio (UCLouvain) stefano.vissicchio@uclouvain.be INFOCOM 13th April 2016 Joint work with Luca Cittadini (Roma Tre University)

  2. SDN controller

  3. Operators’ requirements are an input for SDN controllers requirements packet delivery firewall traversal

  4. To satisfy input requirements, the controller programs rules on the switches requirements packet delivery firewall traversal match flow F out apply F: F: action v in z u F: F:

  5. By applying such rules, switches can process incoming packets requirements packet delivery firewall traversal applied rule out flow F F: F: v in z u F: F:

  6. Switch rules have to be (frequently) updated e.g., for traffic surges, maintenance, new policies requirements packet delivery firewall traversal out F: F: v in z u F: F:

  7. How to update rules on switches safely, robustly and efficiently?

  8. How to update rules on switches safely, robustly and efficiently? requirements are not violated during the update

  9. How to update rules on switches safely, robustly and efficiently? independently of uncontrollable factors (messages lost, switch installation time, etc.)

  10. How to update rules on switches safely, robustly and efficiently? quickly and with low resource utilization

  11. FLIP the (Flow) Table: Fast LIghtweight Policy-preserving SDN Updates Limitations of prior works Additional degrees of freedom Our approach

  12. FLIP the (Flow) Table: Fast LIghtweight Policy-preserving SDN Updates Limitations of prior works Additional degrees of freedom Our approach

  13. How to update rules on switches safely, robustly and efficiently? Previous techniques cannot do it!

  14. Previous techniques belong to two main families ordered rule replacements [McClurg15] replace initial with final rules in a carefully-computed order two-phase commit [Reitblatt12,Jin14] add final rules to initial ones apply rules consistently, with packet tags

  15. Previous techniques belong to two main families ordered rule replacements [McClurg15] not always replace initial with final rules applicable in a carefully-computed order two-phase commit [Reitblatt12,Jin14] add final rules to initial ones apply rules consistently, with packet tags

  16. Ordering rule replacements is not possible in our example requirements packet delivery firewall traversal out flow F initial v in z u final

  17. Final rules cannot be installed on any switch among u, v and z requirements packet delivery firewall traversal out flow F F: F: v in z u F:

  18. Case 1) Installing final rule at u would violate our security policy requirements packet delivery firewall traversal install final rule out flow F F: F: v in z u v

  19. Case 2) Installing final rule at v would violate our security policy requirements packet delivery firewall traversal install final rule out flow F F: F: v in z u z F:

  20. Case 3) Installing final rule at z would prevent packet delivery requirements packet delivery firewall traversal install final rule out flow F F: F: v in z u F:

  21. Simultaneous rule replacements are not robust e.g., like in time-based approaches [Mizrahi16]

  22. In our example, we could instruct u, v and z to replace their rules at the same time t requirements packet delivery firewall traversal install final rules at t out flow F F: F: v in z u F:

  23. However, this can lead to transient problems at t e.g., because of per-switch installation time requirements packet delivery firewall traversal up to several seconds [Jin14] out flow F v in z u

  24. Also, we can trigger permanent problems at t e.g., if a switch does not apply a command requirements packet delivery firewall traversal w flow F v in z u

  25. Previous techniques belong to two main families ordered rule replacements [McClurg15] replace initial with final rules in a carefully-computed order two-phase commit [Reitblatt12,Jin14] inefficient add final rules to initial ones apply rules consistently, with packet tags

  26. Two-phase commit techniques are not efficient in our example requirements packet delivery firewall traversal out flow F F: F: v in z u F: F:

  27. Indeed, they are based on maintaining both initial and final rules on internal switches requirements packet delivery firewall traversal if tag 𝝊 , use final rule out F, 𝝊 : F, 𝝊 : flow F F: F: v in z u F, 𝝊 : F: F:

  28. So that switches keep applying initial rules… requirements packet delivery firewall traversal out F, 𝝊 : F, 𝝊 : flow F F: F: v in z u F: F, 𝝊 : F:

  29. … as long as packets are not tagged at the ingress requirements packet delivery firewall traversal out F, 𝝊 : F, 𝝊 : use final rule and add tag 𝝊 flow F F: F: v in z u F: 𝝊 F, 𝝊 : F:

  30. When packets are tagged at the ingress, all switches consistently use the final rules requirements packet delivery firewall traversal out F, 𝝊 : F, 𝝊 : flow F 𝝊 F: F: 𝝊 𝝊 v in z u 𝝊 F: 𝝊 F, 𝝊 : F:

  31. However, these techniques consumes precious and expensive memory (TCAM) entries requirements packet delivery firewall traversal out F, 𝝊 : F, 𝝊 : flow F 𝝊 F: F: 𝝊 v in z u 𝝊 F, 𝝊 : F: 𝝊 F:

  32. FLIP the (Flow) Table: Fast LIghtweight Policy-preserving SDN Updates Limitations of prior works Additional degrees of freedom Our approach

  33. How to update rules on switches safely, robustly and efficiently? We can do it!

  34. The key intuition is to combine rule replacement and additions

  35. Let’s take back our example and start from the initial state requirements packet delivery firewall traversal out flow F F: F: v in z u F: F:

  36. We can start tagging packets at v, at the very beginning of the update requirements packet delivery firewall traversal add tag 𝝊 out flow F F: F: v in z u 𝝊 F:

  37. This does not change the applied rules (since no switch matches the tag yet) requirements packet delivery firewall traversal out 𝝊 flow F F: F: v in z u 𝝊 𝝊 F:

  38. We can then match the tag at z, still without changing the forwarding requirements packet delivery firewall traversal use initial rule, if and only if tag 𝝊 out F, 𝝊 : 𝝊 flow F F: F: v in z u 𝝊 𝝊 F:

  39. Tagging at v and matching at z unlock rule replacement at u requirements packet delivery firewall traversal install final rule out F, 𝝊 : 𝝊 flow F F: F: v in z u 𝝊 𝝊 F:

  40. Indeed, the resulting forwarding loop is traversed only once by packets requirements packet delivery firewall traversal used for packets from v out F, 𝝊 : 𝝊 flow F F: F: v in z u used for 𝝊 𝝊 F: packets from u

  41. We can then instruct v to apply its final rule (even in parallel with u) requirements packet delivery firewall traversal use final rule out F, 𝝊 : flow F F: F: v in z u F:

  42. and complete the update by cleaning z’s configuration requirements packet delivery firewall traversal use final rule out flow F F: F: v in z u F:

  43. Using both rule replacements and additions is more powerful than restricting to any of them solves our update problem contrary to ordered rule replacement ensures robustness rollbacking before affecting safety uses additional rules only on z 33% with respect to two-phase commit

  44. Using both rule replacements and additions makes the update problem more challenging larger search space we must consider combinations of rule replacements and additions tricky interactions in intermediate states e.g., we must distinguish loops that prevent packet delivery from the good ones

  45. FLIP the (Flow) Table: Fast LIghtweight Policy-preserving SDN Updates Limitations of prior works Additional degrees of freedom Our approach

  46. We propose a framework to systematically combine rule replacements and additions formalization & modeling of problem, search space, and solutions FLIP algorithm to compute safe operational sequences evaluation including a comparison with the state of the art

  47. We released a prototype implementation of our approach compute sequence (input) (output) for flow 1 safe update operational … divide merge problem sequence compute sequence for flow N FLIP code available at http://inl.info.ucl.ac.be/softwares/flip

  48. In our formalization, we allow complex policies… compute sequence (input) (output) for flow 1 safe update operational … divide merge problem sequence compute sequence for flow N initial and final rules forwarding correctness policies: a flow must traverse path P1 or path P2 or … Pn

  49. … and combinations of rule replacements and additions compute sequence (input) (output) for flow 1 safe update operational … divide merge problem sequence compute sequence for flow N Each step includes replacements and additions safe to apply in any relative order before the next step

  50. FLIP is based on a divide-and-conquer approach compute sequence (input) (output) for flow 1 safe update operational … divide merge problem sequence compute sequence for flow N

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