Aaron Gember-Jacobson, Chaithan Prakash, Raajay Viswanathan, Robert Grandl, Junaid Khalid, Sourav Das, Aditya Akella
1
OpenNF: Enabling Innovation in Network Function Control Aaron - - PowerPoint PPT Presentation
OpenNF: Enabling Innovation in Network Function Control Aaron Gember-Jacobson , Chaithan Prakash, Raajay Viswanathan, Robert Grandl, Junaid Khalid, Sourav Das, Aditya Akella 1 Network functions (NFs) Perform sophisticated stateful actions
1
2
Intrusion detection system (IDS) Caching proxy WAN
3
Xen/KVM
3
Xen/KVM
3
Xen/KVM
3
Xen/KVM
3
Xen/KVM
4
4
4
CPU Packet loss
4
CPU Packet loss
4
CPU Packet loss
4
CPU Packet loss
4
CPU Packet loss
5
[Stratos - arXiv:1305.0209]
[SIMPLE - SIGCOMM ‘13]
[Stratos - arXiv:1305.0209]
6
[Stratos - arXiv:1305.0209]
[SIMPLE - SIGCOMM ‘13]
[Stratos - arXiv:1305.0209]
6
[Stratos - arXiv:1305.0209]
[SIMPLE - SIGCOMM ‘13]
[Stratos - arXiv:1305.0209]
6
[Stratos - arXiv:1305.0209]
[SIMPLE - SIGCOMM ‘13]
[Stratos - arXiv:1305.0209]
6
[Stratos - arXiv:1305.0209]
[SIMPLE - SIGCOMM ‘13]
[Stratos - arXiv:1305.0209]
6
[Stratos - arXiv:1305.0209]
[SIMPLE - SIGCOMM ‘13]
[Stratos - arXiv:1305.0209]
6
[Stratos - arXiv:1305.0209]
[SIMPLE - SIGCOMM ‘13]
[Stratos - arXiv:1305.0209]
6
[Stratos - arXiv:1305.0209]
[SIMPLE - SIGCOMM ‘13]
[Stratos - arXiv:1305.0209]
6
7
… 1 2 3 …
8
9
10
11
Connection Connection TcpAnalyzer HttpAnalyzer TcpAnalyzer HttpAnalyzer
ConnCount
Statistics
12
12
12
12
13
move (port=80, Bro1, Bro2)
13
move (port=80, Bro1, Bro2) get(per, port=80)
13
move (port=80, Bro1, Bro2) get(per, port=80) [Chunk1] [Chunk2]
13
move (port=80, Bro1, Bro2) get(per, port=80) [Chunk1] del(per, port=80) [Chunk2]
13
move (port=80, Bro1, Bro2) get(per, port=80) [Chunk1] put (per, Chunk1) del(per, port=80) [Chunk2] put (per, Chunk2)
13
move (port=80, Bro1, Bro2) get(per, port=80) [Chunk1] put (per, Chunk1) del(per, port=80) [Chunk2] put (per, Chunk2) forward(port=80, Bro2)
13
move (port=80, Bro1, Bro2) get(per, port=80) [Chunk1] put (per, Chunk1) del(per, port=80) [Chunk2] put (per, Chunk2) forward(port=80, Bro2)
detect- MHR
14
detect- MHR
14
B1 R1
detect- MHR
14
B1 R1
detect- MHR
14
B1 R1
detect- MHR
14
B1 R1 R2
detect- MHR
14
B1 R1 R2
detect- MHR
14
B1 R1 R2
detect- MHR
14
B1 R1 R2
R3
detect- MHR
14
B1 R1 R2
R3
15
15
15
15
R1
15
R1
15
R1
16
R1
16
Drop R1
16
Drop R1
16
Drop R1 R2
16
Drop R1 R2
16
Drop R1 R2
16
Drop R1 R1,R2
16
Drop R1 R1,R2
16
Drop R1 R1,R2 R1,R2,R3
17
Controller Switch Bro2 Bro1
17
Controller Switch Bro2
Bro1
R2 R2 R2
17
Controller Switch Bro2
forwarding update Bro1
R2 R2 R2
17
Controller Switch Bro2
forwarding update Bro1
R2 R2 R3 R2 R3
17
Controller Switch Bro2
forwarding update Bro1
R2 R2 R4 R3 R2 R4 R3
17
Controller Switch Bro2
forwarding update Bro1
R2 R2 R4 R3 R3 R3 R2 R4 R3 R3
17
Controller Switch Bro2
forwarding update Bro1
R2 R2 R4 R3 R3 R3 R2 R4 R3 R3
18
19
20
[arXiv:1305.0209]
21
Serialization/deserialization costs dominate Cost grows with state complexity
50 100 150 200 Average Maximum
Per-packet Latency Increase (ms)
100 200 300 400 500 NG NG PL LF PL+ER
Move Time (ms)
22
Packets dropped! 686 462 881 packets in events
1120 pkts buffered 838 pkts in events +
NG NG PL LF PL+ER OP PL+ER
23