Towards Correct Network Virtualization Soudeh Ghorbani Brighten - - PowerPoint PPT Presentation

towards correct
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Towards Correct Network Virtualization

Soudeh Ghorbani Brighten Godfrey UIUC HotSDN 2014

slide-2
SLIDE 2

Virtualization

Hypervisor VM

x86

App App

VM

App App

VM

App App

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-3
SLIDE 3

Virtualization

Hypervisor VM

x86

App App

VM

App App

VM

App App

Network Virtualization

Firewall

Physical Network

Load- balancer Router L2 bridge

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-4
SLIDE 4

Virtualization

Hypervisor VM

x86

App App

VM

App App

VM

App App

Network Virtualization

Firewall

Physical Network

Load- balancer Router L2 bridge

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Diagram inspired by Teemu Koponen’s NSDI 2014 talk on “Network Virtualization in Multi-tenant Datacenters”.

slide-5
SLIDE 5

Is the physical implementation a faithful reproduction of the virtual network?

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

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

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

slide-8
SLIDE 8

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

X

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

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

slide-11
SLIDE 11

Virtual firewall app

Firewall Switch

Prio rity Flow Action 10 srcip=130.126.*.* Send to controller, fwd(1) * Send to controller

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-12
SLIDE 12

Virtual firewall app

Firewall Switch

Prio rity Flow Action 10 srcip=130.126.*.* Send to controller, fwd(1) * Send to controller

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-13
SLIDE 13

Virtual firewall app

Firewall Switch

Prio rity Flow Action 10 srcip=130.126.*.* Send to controller, fwd(1) * Send to controller

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-14
SLIDE 14

Virtual firewall app

Firewall Switch

Prio rity Flow Action 10 srcip=130.126.*.* Send to controller, fwd(1) * Send to controller

(Part of the) Firewall Controller App

switch(msg.getType()) { case PACKET_IN: if ( internal.contains(msg.srcMAC()) ) { whitelisted[msg.dstMAC()][msg.srcMACA()] = true; }else { if (whitelisted[msg.srcMAC()][msg.dstMAC()] ){ whitelist(sw, msg); }else{ blacklist(sw, msg); } }

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-15
SLIDE 15

Virtual firewall app

Firewall Switch

Prio rity Flow Action 10 srcip=130.126.*.* Send to controller, fwd(1) * Send to controller

(Part of the) Firewall Controller App

switch(msg.getType()) { case PACKET_IN: if ( internal.contains(msg.srcMAC()) ) { whitelisted[msg.dstMAC()][msg.srcMACA()] = true; }else { if (whitelisted[msg.srcMAC()][msg.dstMAC()] ){ whitelist(sw, msg); }else{ blacklist(sw, msg); } }

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Packet-in from an internal client? Save state: dst server is allowed to send back.

slide-16
SLIDE 16

Virtual firewall app

Firewall Switch

Prio rity Flow Action 10 srcip=130.126.*.* Send to controller, fwd(1) * Send to controller

(Part of the) Firewall Controller App

switch(msg.getType()) { case PACKET_IN: if ( internal.contains(msg.srcMAC()) ) { whitelisted[msg.dstMAC()][msg.srcMACA()] = true; }else { if (whitelisted[msg.srcMAC()][msg.dstMAC()] ){ whitelist(sw, msg); }else{ blacklist(sw, msg); } }

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Packet-in from an external server?

  • If the server is

allowed to send, install rules to allow bidirectional traffic.

  • Else, blacklist the

external server.

slide-17
SLIDE 17

Firewall App

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

1

Virtual firewall

slide-18
SLIDE 18

Firewall App

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

1

Virtual firewall

2

slide-19
SLIDE 19

Firewall App

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

1

Virtual firewall

2 3

slide-20
SLIDE 20

Firewall App

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

1

Virtual firewall

2 3 4

slide-21
SLIDE 21

Firewall App

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

1 2 3 4 5

Virtual firewall

slide-22
SLIDE 22

Firewall App

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Firewall + virtualization = bug

slide-23
SLIDE 23

Firewall App

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Firewall + virtualization = bug

Flow Action src=130.126.*.* Send to controller, fwd(1) * Send to controller

slide-24
SLIDE 24

Firewall App

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Firewall + virtualization = bug

Flow Action src=130.126.*.* Send to controller, fwd(1) * Send to controller

Flow Action src=130.126.*.* Send to controller, fwd(1) Flow Action * Send to controller

slide-25
SLIDE 25

Firewall App

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Firewall + virtualization = bug

slide-26
SLIDE 26

Firewall App

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Firewall + virtualization = bug

slide-27
SLIDE 27

Firewall App

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Firewall + virtualization = bug

X

slide-28
SLIDE 28

Network virtualization: What could go wrong?

App Virtualization technique Incorrect-behavior Stateful firewall One-to-many mapping Blacklisting the legitimate hosts NAT One-to-many mapping Dropping requested packets Load-balancer One-to-many mapping Overloading some servers and leaving some underutilized Firewall & router Many-to-one mapping Blacklisting the legitimate hosts

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

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

slide-30
SLIDE 30

Root-cause of the incorrect behavior

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-31
SLIDE 31

Firewall App

X

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Firewall + virtualization = bug

slide-32
SLIDE 32

Firewall App

X

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Firewall + virtualization = bug

slide-33
SLIDE 33

Firewall App

X

Root-cause: forwarding decision has some dependency on the history, the sequence of previous ‘send’ and ‘receive’ events.

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

Firewall + virtualization = bug

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

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

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

slide-37
SLIDE 37

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

None of these conditions were violated in our examples!

1

slide-38
SLIDE 38

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

None of these conditions were violated in our examples!

1

“Correctness is what users want.” Leslie Lamport

2

slide-39
SLIDE 39

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

None of these conditions were violated in our examples!

1

“Correctness is what users want.” Leslie Lamport

2

Techniques designed to preserve those correctness conditions could break the

  • therwise correct behavior.

3

slide-40
SLIDE 40

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]

“Correctness is what users want.” Leslie Lamport

2

Techniques designed to preserve those correctness conditions could break the

  • therwise correct behavior.

3

We need new definitions of correctness and new techniques to achieve those.

4

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

None of these conditions were violated in our examples!

1

slide-41
SLIDE 41

A new correctness condition: End-to-end correctness

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-42
SLIDE 42

A new correctness condition: End-to-end correctness

?

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-43
SLIDE 43

A new correctness condition: End-to-end correctness

?

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-44
SLIDE 44

A new correctness condition: End-to-end correctness

𝑄𝑠𝑀[𝐹] ≈ 𝑄𝑠𝑄[𝐹]

  • A mapping of a logical network L to a physical

network P is said to be end-to-end correct iff where E is the partially

  • rdered set of ‘send’ and ‘receive’ events.

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-45
SLIDE 45

A new correctness condition: End-to-end correctness

𝑄𝑠𝑀[𝐹] ≈ 𝑄𝑠𝑄[𝐹]

  • A mapping of a logical network L to a physical

network P is said to be end-to-end correct iff where E is the partially

  • rdered set of ‘send’ and ‘receive’ events.
  • Key features:
  • distinguishes between events that happen

always, sometimes, and never.

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-46
SLIDE 46

A new correctness condition: End-to-end correctness

𝑄𝑠𝑀[𝐹] ≈ 𝑄𝑠𝑄[𝐹]

  • A mapping of a logical network L to a physical

network P is said to be end-to-end correct iff where E is the partially

  • rdered set of ‘send’ and ‘receive’ events.
  • Key features:
  • distinguishes between events that happen

always, sometimes, and never.

  • permissive of the differences in packet loss
  • r timing that do not affect correctness.

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-47
SLIDE 47

A new correctness condition: End-to-end correctness

𝑄𝑠𝑀[𝐹] ≈ 𝑄𝑠𝑄[𝐹]

  • A mapping of a logical network L to a physical

network P is said to be end-to-end correct iff where E is the partially

  • rdered set of ‘send’ and ‘receive’ events.
  • Key features:
  • distinguishes between events that happen

always, sometimes, and never.

  • permissive of the differences in packet loss
  • r timing that do not affect correctness.
  • permissive of the legitimate differences in
  • rderings of events.

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-48
SLIDE 48

So far:

We identified the problem: incorrect application-level behavior under the existing virtualization techniques.

1

We developed an analytical framework to reason about the problem.

3

Research Vision:

Developing a general algorithm. 4 Proving its correctness.

5

Developing a correct virtualization System.

6

We identified its root- cause: dependence on the history.

2

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014

slide-49
SLIDE 49

Thanks! Questions?

Soudeh Ghorbani and Brighten Godfrey HotSDN 2014