composition of sdn applications options challenges for
play

Composition of SDN applications: Options/challenges for real - PowerPoint PPT Presentation

Composition of SDN applications: Options/challenges for real implementations Arne Schwabe Pedro A. Aranda Gutirrez Holger Karl Computer Networks Group Universitt Paderborn Modernizing the setup Simple standard network setup


  1. Composition of SDN applications: Options/challenges for real implementations Arne Schwabe Pedro A. Aranda Gutiérrez Holger Karl Computer Networks Group Universität Paderborn

  2. Modernizing the setup • Simple standard network setup • Replace boxes with SDN Virtualization Firewall Loadbalancer SDN App SDN App Server Server Server Internet Loadbalancer SDN Switch SDN Switch Firewall Server Server • Combine SDN switches? ANRW 2016 Composition of SDN applications 2

  3. Overview • Motivation • Composing SDN apps in general • OpenFlow specific composition • Conclusion ANRW 2016 Composition of SDN applications 3

  4. What does an SDN app do? 3. Processing SDN module 2. Network event 4. Network (packet_in) commands 1. Packet SDN Switch 5. New switch State See modules as stateful function: M: event → network command ANRW 2016 Composition of SDN applications 4

  5. Modernized setup in detail Firewall Loadbalancer SDN App SDN App Server Forward Forward Packet IN Server Drop Packet IN Port 7 Packet Server Internet Loadbalancer SDN Switch SDN Switch Firewall Server Server ANRW 2016 Composition of SDN applications 5

  6. Idea: Parallel composition • Reuse existing SDN Apps • Combine results of the Apps: Parallel Firewall drop forward SDN App forward to drop Server 7 Packet Loadbalancer forward to SDN App Server 7 ANRW 2016 Composition of SDN applications 6

  7. Idea: Serial composition • Explicitly let the firewall have the final decision • Combine results of the Apps: Serial Loadbalancer forward to Packet SDN App Server 7 Firewall forward to drop SDN App Server 7 ANRW 2016 Composition of SDN applications 7

  8. Two more or more SDN apps • SDN controller scenario Module A Module B Network commands Network event Network commands SDN Switch New switch State 2 ANRW 2016 Composition of SDN applications 8

  9. Challenges • Order of network commands not predictable • Transitional states • Network commands might conflict • Introduce harmonizing function • Network hypervisor/SDN frameworks • Example: Partition network by modules ANRW 2016 Composition of SDN applications 9

  10. Harmonizing output h: network commands → network commands Module A Module B Network commands Harmonizing Network event Function h Network commands’ SDN Switch New network State ANRW 2016 Composition of SDN applications 10

  11. Serial composition ev network commands Module A Module B network commands Network event: ev New network State SDN Switch Signature of Module B changes: M: event × command → command ANRW 2016 Composition of SDN applications 11

  12. Approximate Serial composition Approximate event for B: α: command → event ev' network commands Approximation Module A Module B function ev network commands’ New network State SDN Switch Not everything representable in ev’: Example: input port ANRW 2016 Composition of SDN applications 12

  13. Approximate serial example • Emulate topology to generate new packet In 1 Physical Switch 6 2 5 3 4 1,2,3,4,5,6 Module A Module B 1 1 6 6 2 2 3 5 4 5 3 4 Emulated virtual topology • Output port a becomes input port of B ANRW 2016 Composition of SDN applications 13

  14. Overview • Motivation • Composing SDN apps in general • OpenFlow specific composition • Conclusion ANRW 2016 Composition of SDN applications 14

  15. OpenFlow • De facto standard • Desire to reuse for composition • Question: Does it work? • Network Event: Packet in • Network commands • Flow mod • Packet Out ANRW 2016 Composition of SDN applications 15

  16. Harmonizing output (OpenFlow Version) Again with h: command → command Module A Module B FMs B FMs A Harmonizing Packet in Function h FMs A’ FMs B’ OF Switch New network State 2 ANRW 2016 Composition of SDN applications 16

  17. Parallel composition • No relation between Packet in and network commands • No ”take all inputs, combine” • Makes harmonizing more difficult/less useful • Transient state even with harmonizing • Not always a problem (Partitioning) • Network commands without event ANRW 2016 Composition of SDN applications 17

  18. Serial composition (OpenFlow) • Packet_IN has only in_port and packet • Workaround: Apply actions (e.g. port, IP) to packet contents • Other properties lost: E.g. flowmods ANRW 2016 Composition of SDN applications 18

  19. Making OpenFlow work (NetIDE) • Add custom header • Assign transaction id to network event • application signal end of transaction • Restrict allowed behavior • Concentrate on parallel composition ANRW 2016 Composition of SDN applications 19

  20. Implementation/Approaches • Composition friendly frameworks • Pyretic • Network Hypervisors • OpenVirtex • FlowVisor • CoVisor: Full composition • Paper does not discuss problems mentioned here ANRW 2016 Composition of SDN applications 20

  21. Conclusion • Composition can work in real world • API behavior is important • OpenFlow works poorly • Modifying OpenFlow for composition: • Custom protocol • Still much left to desire ANRW 2016 Composition of SDN applications 21

Recommend


More recommend