Compositional SDN Hypervisor and Application Management

incremental update for a compositional n.w
1 / 25
Embed
Share

Explore the evolution of SDN technologies with a focus on a Compositional SDN Hypervisor, allowing seamless integration of multiple applications and controllers for efficient network management. Learn about innovative solutions for load balancing, monitoring, and routing in Software-Defined Networking environments.

  • SDN Technology
  • Network Management
  • Compositional Hypervisor
  • Application Integration
  • Controller Collaboration

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Incremental Update for a Compositional SDN Hypervisor Xin Jin Jennifer Rexford, David Walker

  2. Software-Defined Networking Centralized control with open APIs Application Controller OpenFlow Network 1

  3. Multiple Management Tasks Hard to develop and maintain a monolithic application Load Balancing + Routing + Monitoring Controller OpenFlow Network 2

  4. Modular SDN Applications Frenetic: composition operators to combine multiple applications Limitation: need to adopt Frenetic language and runtime system Load Balancing Routing Monitoring Frenetic Controller OpenFlow Network 3

  5. Frenetic is Not Enough Best of breed applications are developed by different parties Use different programming languages Run on different controllers Load Balancing Monitoring Routing POX Floodlight Ryu Administrator Network 4

  6. Slicing is Not Enough Controllers work on disjoint parts of traffic Useful for multi-tenancy But we want them to collaboratively work on the same traffic Load Balancing Monitoring Routing POX Floodlight Ryu Administrator Network 5

  7. Our Solution: Compositional Hypervisor A transparent layer between switches and controllers Combine controllers with Frenetic-like composition operators Parallel operator (+) Sequential operator (>>) Load Balancing Monitoring Routing POX Floodlight Ryu OpenFlow OpenFlow OpenFlow Compositional Hypervisor OpenFlow Network 6

  8. Policy Compilation Policy: a list of rules Each controller outputs a policy Hypervisor compiles them to a single policy Routing Monitoring 7. dstip=2.0.0.0/30 fwd(1) 0. * 9. srcip=1.0.0.0/24 count 0. * drop drop Action Priority Match 7

  9. Policy Compilation Policy: a list of rules Each controller outputs a policy Hypervisor compiles them to a single policy Routing Monitoring 7. dstip=2.0.0.0/30 fwd(1) 0. * 9. srcip=1.0.0.0/24 count 0. * drop drop ?. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) 8

  10. Policy Compilation Policy: a list of rules Each controller outputs a policy Hypervisor compiles them to a single policy Routing Monitoring 7. dstip=2.0.0.0/30 fwd(1) 0. * 9. srcip=1.0.0.0/24 count 0. * drop drop ?. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) ?. srcip=1.0.0.0/24 count ?. dstip=2.0.0.0/30 fwd(1) ?. * drop 9

  11. Key challenge: Efficient data plane update Controllers continuously update their policies Hypervisor recompiles them and update switches Routing Monitoring 7. dstip=2.0.0.0/30 fwd(1) 3. dstip=2.0.0.0/26 fwd(2) 0. * 9. srcip=1.0.0.0/24 count 0. * drop drop ?. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) ?. srcip=1.0.0.0/24 count ?. dstip=2.0.0.0/30 fwd(1) ?. * drop 10

  12. Key challenge: Efficient data plane update Computation overhead The computation to recompile the new policy Rule-update overhead The rule-updates to update switches to the new policy Routing Monitoring 7. dstip=2.0.0.0/30 fwd(1) 3. dstip=2.0.0.0/26 fwd(2) 0. * 9. srcip=1.0.0.0/24 count 0. * drop drop ?. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) ?. srcip=1.0.0.0/24 count ?. dstip=2.0.0.0/30 fwd(1) ?. * drop 11

  13. Nave Solution Assign priorities from top to bottom by decrement of 1 Routing Monitoring 7. dstip=2.0.0.0/30 fwd(1) 0. * 9. srcip=1.0.0.0/24 count 0. * drop drop 3. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) 2. srcip=1.0.0.0/24 1. dstip=2.0.0.0/30 fwd(1) 0. * count drop 12

  14. Nave Solution Assign priorities from top to bottom by decrement of 1 Routing Monitoring 7. dstip=2.0.0.0/30 fwd(1) 3. dstip=2.0.0.0/26 fwd(2) 0. * 9. srcip=1.0.0.0/24 count 0. * drop drop 5. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) 4. srcip=1.0.0.0/24, dstip=2.0.0.0/26 count, fwd(2) 3. srcip=1.0.0.0/24 2. dstip=2.0.0.0/30 fwd(1) 1. dstip=2.0.0.0/26 fwd(2) 0. * count drop 13

  15. Nave Solution Assign priorities from top to bottom by decrement of 1 3. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) 2. srcip=1.0.0.0/24 1. dstip=2.0.0.0/30 fwd(1) 0. * count Computation overhead Recompute the whole switch table and assign priorities drop Update Rule-update overhead Only 2 new rules, but 3 more rules change priority 5. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) 4. srcip=1.0.0.0/24, dstip=2.0.0.0/26 count, fwd(2) 3. srcip=1.0.0.0/24 2. dstip=2.0.0.0/30 fwd(1) 1. dstip=2.0.0.0/26 fwd(2) 0. * count drop 14

  16. Incremental Update Add priorities for parallel composition Routing Monitoring 7. dstip=2.0.0.0/30 fwd(1) 0. * 9. srcip=1.0.0.0/24 count 0. * drop drop 9+7 = 16. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) 15

  17. Incremental Update Add priorities for parallel composition Routing Monitoring 7. dstip=2.0.0.0/30 fwd(1) 0. * 9. srcip=1.0.0.0/24 count 0. * drop drop 9+7=16. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) 9+0=9. srcip=1.0.0.0/24 count 0+7=7. dstip=2.0.0.0/30 fwd(1) 0+0=0. * drop 16

  18. Incremental Update Add priorities for parallel composition Routing Monitoring 7. dstip=2.0.0.0/30 fwd(1) 3. dstip=2.0.0.0/26 fwd(2) 0. * 9. srcip=1.0.0.0/24 count 0. * drop drop 9+7=16. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) 9+3=12. srcip=1.0.0.0/24, dstip=2.0.0.0/26 count, fwd(1) 9+0=9. srcip=1.0.0.0/24 count 0+7=7. dstip=2.0.0.0/30 fwd(1) 0+3=3. dstip=2.0.0.0/26 fwd(1) 0+0=0. * drop 17

  19. Incremental Update Add priorities for parallel composition 16. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) 9. srcip=1.0.0.0/24 7. dstip=2.0.0.0/30 fwd(1) 0. * drop count Computation overhead Only compose the new rule with rules in monitoring Update Rule-update overhead Add 2 new rules 16. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) 12. srcip=1.0.0.0/24, dstip=2.0.0.0/26 count, fwd(2) 9. srcip=1.0.0.0/24 7. dstip=2.0.0.0/30 fwd(1) 3. dstip=2.0.0.0/26 fwd(2) 0. * drop count 18

  20. Incremental Update Add priorities for parallel composition Concatenate priorities for sequential composition Load Balancing Routing 1. dstip=2.0.0.1 fwd(1) 1. dstip=2.0.0.2 fwd(2) 0. * drop 3. srcip=0.0.0.0/2, dstip=3.0.0.0 dstip=2.0.0.1 1. dstip=3.0.0.0 dstip=2.0.0.2 0. * drop . srcip=0.0.0.0/2, dstip=3.0.0.0 dstip=2.0.0.1, fwd(1) 3 >> 1 = 25, 011 001 High Bits Bits . . Low 19

  21. Incremental Update Add priorities for parallel composition Concatenate priorities for sequential composition Load Balancing Routing 1. dstip=2.0.0.1 fwd(1) 1. dstip=2.0.0.2 fwd(2) 0. * drop 3. srcip=0.0.0.0/2, dstip=3.0.0.0 dstip=2.0.0.1 1. dstip=3.0.0.0 dstip=2.0.0.2 0. * drop 25. srcip=0.0.0.0/2, dstip=3.0.0.0 dstip=2.0.0.1, fwd(1) 9. dstip=3.0.0.0 dstip=2.0.0.2, fwd(2) 0. * drop 20

  22. Evaluation Naive Incremental Incremental Naive Load balancing >> Routing Monitoring + Routing 22

  23. Evaluation Naive Incremental Incremental Naive Load balancing >> Routing Monitoring + Routing Reduce computation overhead by 4x, rule updates by 5x 23

  24. Conclusion Compositional network hypervisor Novel algorithm to efficiently update the data plane Ongoing work: prototype in OpenVirteX 24

  25. Thanks! 25

Related


More Related Content