Slide 1

Slide 1 text

Aurojit Panda, Colin Scott, Ali Ghodsi, Teemu Koponen, Scott Shenker CAP for Networks UC Berkeley, KTH, VMware, ICSI

Slide 2

Slide 2 text

CAP Theorem When distributed systems face network Partitions pick one of •Service Correctness (Consistency) •Service Availability

Slide 3

Slide 3 text

CAP Theorem: Impact Divides the database community (even today) NoSQL Availability above all SQL Correctness above all

Slide 4

Slide 4 text

How does the CAP theorem apply to networks?

Slide 5

Slide 5 text

Our goal: articulate fundamental tradeoffs networking will face

Slide 6

Slide 6 text

Traditional Networks When intradomain routing was the main concern •Correctness: Deliver packets to destination •Availability: Deliver packets to destination •Correctness is the same as Availability

Slide 7

Slide 7 text

The move to SDN SDN provides more sophisticated functionality: •Tenant isolation (ACL enforcement) •Traffic Engineering •Virtualization Control plane partitions no longer imply data plane partitions •Control traffic often does not use data plane network

Slide 8

Slide 8 text

Availability ≠ Correctness During control plane partitions •Data plane connected => Deliver packets (Availability) •Inconsistent control plane data (Correctness) •Availability does not imply Correctness

Slide 9

Slide 9 text

How does the CAP theorem apply to networks SDN?

Slide 10

Slide 10 text

How does the CAP theorem apply to networks SDN? Can one provide isolation and availability in the presence of control plane partitions?

Slide 11

Slide 11 text

Network Model • Out-of-band control network. • Routing and forwarding based on addresses. • Policy specification using end-host names. • Controller responsible for local name-address bindings. Controller 1 Switch A 10.1.1.1 Controller 2 B 10.1.1.2 Switch C 10.1.2.1 D 10.1.2.2 A 10.1.1.1 B 10.1.1.2 C 10.1.2.1 D 10.1.2.2

Slide 12

Slide 12 text

10.1.1.1 ! 10.1.2.1 Isolation Result • Consider policy isolating A from B. • A control network partition occurs. • Only possible choices •Let all packets through (including from A to B) (Correctness) •Drop all packets (including from A to D) (Availability) A 10.1.1.1 B 10.1.1.2 D 10.1.2.2 B 10.1.2.1 10.1.1.1 ! 10.1.2.2 Controller 1 Controller 2 Switch Switch A 10.1.1.1 B 10.1.1.2 A 10.1.1.1 D 10.1.2.2 D 10.1.2.2 B 10.1.2.1

Slide 13

Slide 13 text

Value of Model Practical workarounds follow directly

Slide 14

Slide 14 text

Workarounds for Isolation •Identity-Address disconnect underlies isolation result ! !

Slide 15

Slide 15 text

Workarounds for Isolation •Identity-Address disconnect underlies isolation result ! •Network can constrain address allocation

Slide 16

Slide 16 text

Workarounds for Isolation •Identity-Address disconnect underlies isolation result ! •Network can route on identity rather than addresses

Slide 17

Slide 17 text

Workarounds for Isolation •Identity-Address disconnect underlies isolation result ! •Use in-band control networks rather than out-of-band

Slide 18

Slide 18 text

Workarounds not General Edge Disjoint Traffic Engineering • Two flows must traverse disjoint links S1 C1 S2 S3 S4 C3 C2 L0 L1 L2 L3 L4 L5 A B D E

Slide 19

Slide 19 text

Workarounds not General Previous workarounds not applicable! S1 C1 S2 S3 S4 C3 C2 L0 L1 L2 L3 L4 L5 A B D E

Slide 20

Slide 20 text

Can one provide correctness and availability in the presence of partitions? Not in general

Slide 21

Slide 21 text

In the Paper “CAP for Networks”, HotSDN ‘13 • More policies and proofs • More details on workarounds • Other ways to model the network

Slide 22

Slide 22 text

CAP for Networks Choices for network architects Availability above all Correctness above all ICING VMware NSX BGP Traditional Routing Policy-Specific Workarounds Packet Labeling In-Band Control

Slide 23

Slide 23 text

Backup Slides

Slide 24

Slide 24 text

Host Migration •Our model assumes host migrations without controller involvement. •In part this is because host migrations are common •Soundararajan and Govil 2010: 6 migrations/day/VM •In a datacenter ~480,000 migrations/day •5.5 migrations per second •Controller involvement is too expensive in datacenters •NSX and BSC work in a similar manner •In enterprises controller involvement complicated by mobility.