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.