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

composition of sdn applications options challenges for
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Computer Networks Group Universität Paderborn

Composition of SDN applications: Options/challenges for real implementations Arne Schwabe Pedro A. Aranda Gutiérrez Holger Karl

slide-2
SLIDE 2

Modernizing the setup

  • Simple standard network setup
  • Replace boxes with SDN
  • Combine SDN switches?

ANRW 2016 Composition of SDN applications 2

Firewall Loadbalancer Server Server Server Server Server Internet SDN Switch Firewall SDN App SDN Switch Loadbalancer SDN App

Virtualization

slide-3
SLIDE 3

Overview

  • Motivation
  • Composing SDN apps in general
  • OpenFlow specific composition
  • Conclusion

ANRW 2016 Composition of SDN applications 3

slide-4
SLIDE 4

What does an SDN app do?

See modules as stateful function: M: event → network command

ANRW 2016 Composition of SDN applications 4

SDN Switch SDN module

  • 1. Packet
  • 5. New switch

State

  • 2. Network event

(packet_in)

  • 4. Network

commands

  • 3. Processing
slide-5
SLIDE 5

Modernized setup in detail

ANRW 2016 Composition of SDN applications 5

Firewall Loadbalancer Server Server Server Server Server Internet SDN Switch Firewall SDN App SDN Switch Loadbalancer SDN App Packet IN Packet IN Forward Packet Forward Port 7 Drop

slide-6
SLIDE 6

Idea: Parallel composition

  • Reuse existing SDN Apps
  • Combine results of the Apps: Parallel

ANRW 2016 Composition of SDN applications 6

Firewall SDN App Loadbalancer SDN App Packet forward to Server 7 forward forward to Server 7 drop drop

slide-7
SLIDE 7

Idea: Serial composition

  • Explicitly let the firewall have the final

decision

  • Combine results of the Apps: Serial

ANRW 2016 Composition of SDN applications 7

Firewall SDN App Loadbalancer SDN App Packet forward to Server 7 forward to Server 7 drop

slide-8
SLIDE 8

Two more or more SDN apps

  • SDN controller scenario

ANRW 2016 Composition of SDN applications 8

SDN Switch Module A New switch State Network event Module B Network commands Network commands 2

slide-9
SLIDE 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

slide-10
SLIDE 10

Harmonizing output

h: network commands → network commands

ANRW 2016 Composition of SDN applications 10

SDN Switch Module A Network event Module B Network commands Harmonizing Function h New network State Network commands’

slide-11
SLIDE 11

Serial composition

Signature of Module B changes: M: event × command → command

ANRW 2016 Composition of SDN applications 11

SDN Switch Module A New network State Network event: ev ev network commands Module B network commands

slide-12
SLIDE 12

Approximate Serial composition

Not everything representable in ev’: Example: input port

ANRW 2016 Composition of SDN applications 12

SDN Switch Module A New network State ev Module B network commands network commands’ Approximation function ev'

Approximate event for B: α: command → event

slide-13
SLIDE 13

Approximate serial example

ANRW 2016 Composition of SDN applications 13

  • Emulate topology to generate new packet In
  • Output port a becomes input port of B

Physical Switch Emulated virtual topology

1 2 3 4 5 6

1 2 3 4 5 6 1 2 3 4 5 6

1,2,3,4,5,6

Module A Module B

slide-14
SLIDE 14

Overview

  • Motivation
  • Composing SDN apps in general
  • OpenFlow specific composition
  • Conclusion

ANRW 2016 Composition of SDN applications 14

slide-15
SLIDE 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

slide-16
SLIDE 16

Harmonizing output (OpenFlow Version)

Again with h: command → command

ANRW 2016 Composition of SDN applications 16

OF Switch Module A Packet in Module B FMs B Harmonizing Function h FMs A 2 FMs A’ New network State FMs B’

slide-17
SLIDE 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

slide-18
SLIDE 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

slide-19
SLIDE 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

slide-20
SLIDE 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

slide-21
SLIDE 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