FatTire: Declarative Fault Tolerance for SDN
1
Mark Reitblatt (Cornell) Marco Canini (TU Berlin → UC Louvain) Arjun Guha (Cornell → UMass Amherst) Nate Foster (Cornell)
Friday, August 16, 13
FatTire: Declarative Fault Tolerance for SDN Mark Reitblatt - - PowerPoint PPT Presentation
FatTire: Declarative Fault Tolerance for SDN Mark Reitblatt (Cornell) (TU Berlin UC Louvain) Marco Canini (Cornell UMass Amherst) Arjun Guha Nate Foster (Cornell) 1 Friday, August 16, 13 In a Perfect World... 2 Friday, August 16,
1
Mark Reitblatt (Cornell) Marco Canini (TU Berlin → UC Louvain) Arjun Guha (Cornell → UMass Amherst) Nate Foster (Cornell)
Friday, August 16, 13
2
Friday, August 16, 13
3
Friday, August 16, 13
Traditional Networks
Software-Defined Networks
4
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
GW S1 S2 IDS A
5
Friday, August 16, 13
6
Group Type Actions 1 FF hFwd S1i, hFwd S2i Group Type Actions 1 FF hFwd IDSi, hFwd S2i 2 FF hFwd Ai Match Instructions inPort = IDS, tpDst = 22 Group 1 inPort = S1, tpDst = 22 Group 2 inPort = GW, tpDst = 22 Group 2 Group Type Actions 1 FF hFwd Ai, hFwd S1i 2 FF hFwd IDSi Match Instructions tpDst = 22 Group 1 Match Instructions inPort = GW, tpDst = 22 Group 1 inPort = IDS, tpDst = 22 Group 2 inPort = S2, tpDst = 22 Group 2
GW S1 S2 IDS A
Friday, August 16, 13
expressing forwarding policies...
¡ ¡(GW ¡ ¡ ¡S1) ¡+ ¡(S1 ¡ ¡IDS) ¡ + ¡(IDS ¡ ¡S2) ¡+ ¡(S2 ¡ ¡A)
7
GW IDS A S1 S2
Friday, August 16, 13
“Fault Tolerating Regular Expressions” Key Ingredients:
Challenges:
8
Friday, August 16, 13
GW S1 S2 IDS A
¡(All ¡ ¡[GW ¡* ¡A])
¡ ¡∪ ¡¬SSH ¡ ¡[*]
¡ ¡∪ ¡¬SSH ¡ ¡[*]
9
Friday, August 16, 13
Write programs in terms of regular expressions on forwarding paths
Use annotations to specify desired fault tolerance
10
Friday, August 16, 13
Can combine policies with intersection and union:
(All ¡ ¡[GW ¡* ¡A]) ¡∩ ¡(SSH ¡ ¡[*] ¡with ¡1) = SSH ¡ ¡[GW ¡* ¡A] ¡with ¡1
(All ¡ ¡[GW ¡S1 ¡A]) ¡∪ ¡(All ¡ ¡[GW ¡S2 ¡A]) = All ¡ ¡[GW ¡(S1 ¡| ¡S2) ¡A]
11
Friday, August 16, 13
compile to OpenFlow rules
12
∪ ∩ ...∪ ∩ ∩ ∩
GW S1 S2 IDS IDS S1
...
!!((GW!!!!S1)!⊕!(GW!!!S2))! +!((S1!!!IDS)!⊕!(S2!!!IDS))
Friday, August 16, 13
support for OpenFlow 1.3
using Mininet
https://github.com/frenetic-lang/fattire under an open-source license
13
Friday, August 16, 13
changes such as switch failures
network programs
14
Friday, August 16, 13
15
Papers, source code, examples, tutorials, etc. http://frenetic-‑lang.org FatTire Team:
Marco Canini Arjun Guha Nate Foster Mark Reitblatt
Friday, August 16, 13
16
Friday, August 16, 13
consistency
17
Friday, August 16, 13
18
Friday, August 16, 13
19
Friday, August 16, 13
¡ ¡All ¡ ¡[S1.FW.S3] ¡ ∪ ¡ALL ¡ ¡[S2.FW.S4]
S2 S1 S3 S4 FW
20
Friday, August 16, 13