| | ACN: Network virtualization Patrick Stüdi, Ankit Singla, Desislava Dimitrova 12.04.2016 1 Advanced Computer Networks Control and Data plane D. Dimitrova
| | ACN: Network virtualization
Patrick Stüdi, Ankit Singla, Desislava Dimitrova
12.04.2016 1
Advanced Computer Networks Control and Data plane
D. Dimitrova
| | ACN: Network virtualization 12.04.2016 D. Dimitrova 2
Distributed control plane
http://aryaka.com/
| | ACN: Network virtualization 12.04.2016 D. Dimitrova 3
Centralized control plane
http://aryaka.com/
| | ACN: Network virtualization
Fast reaction time (Efficiency)
Quick behaviour updates (Scale)
Flexible flow management (Innovation)
12.04.2016 D. Dimitrova 4
SDN is better
| | ACN: Network virtualization 12.04.2016 D. Dimitrova 5
SDN vs Virtual Networks
Source: VMWare
| | ACN: Network virtualization 12.04.2016 D. Dimitrova 6
SDN layer cake
Control applications
Controller
Infrastructure
| | ACN: Network virtualization 12.04.2016 D. Dimitrova 7
SDN layer cake
SDN Controller
Open Flow protocol
Local CPU/NPU
Switching fabric
Control applications
Controller
Infrastructure
| | ACN: Network virtualization
Control plane: Management functionality that provides instructions on
how traffic should be handled.
12.04.2016 D. Dimitrova 8
SDN
| | ACN: Network virtualization
Data plane: Forwarding functionality that moves traffic and forms a topology.
12.04.2016 D. Dimitrova 9
SDN
| | ACN: Network virtualization
It needs as input … It provides as output …
12.04.2016 D. Dimitrova 10
SDN: Control plane
Source: bavaria.travel.com
| | ACN: Network virtualization
It needs as input Discovery messages Topology changes Flow stats
It provides as output Flow handling instructions
12.04.2016 D. Dimitrova 11
SDN: Control plane
SDN Controller
Open Flow protocol
Local CPU/NPU
Switching fabric
| | ACN: Network virtualization
aka Network Operating System (NOS)
Implements control functionality Topology discovery & abstraction Rule conflict avoidance
Communicates with the data plane Open Flow protocol P4 Platform-secific protocols
12.04.2016 D. Dimitrova 12
SDN: Control plane
SDN Controller
Open Flow protocol
Local CPU/NPU
Switching fabric
| | ACN: Network virtualization
Implementation: Single- vs multi-threaded
Deployment Centralized Physically distributed [KoT10, ToA10] Logically distributed [ShR10] Hierarchical controllers [YaS12]
Flow management mode Proactive mode [ReJ10] Reactive mode [CaM07]
12.04.2016 D. Dimitrova 13
SDN: Control plane
| | ACN: Network virtualization
Implements the OpenFlow protocol [OF14] Messages, incl. flow rules and corresponding actions Switch & controller behaviour
12.04.2016 D. Dimitrova 14
SDN: Control channel
| | ACN: Network virtualization
Parser: header state machine
Control program: table graph
Actions
12.04.2016 D. Dimitrova 15
P4: Programming Protocol-independent Packet Processors
Source: J. Rexford, Princeton
| | ACN: Network virtualization
Protocol independent
Target independent
Reconfigurable
12.04.2016 D. Dimitrova 16
P4: Programming Protocol-independent Packet Processors
Source: J. Rexford, Princeton
| | ACN: Network virtualization
Streaming algorithms on packets Matching on some headers (40 fields) Perform some actions
Wide range of functionality Mapping header fields Buffering and marking Forwarding Traffic monitoring Access control …
12.04.2016 D. Dimitrova 17
SDN: Data plane
Local CPU/NPU
Switching fabric
match action
OF rules = (match,action)
| | ACN: Network virtualization
Packet handling Based on (match,action) pairs Multi-stage matching tables
Installed flow
12.04.2016 D. Dimitrova 18
SDN: Data plane
Local CPU/NPU
Switching fabric
OF rule = (match XYZ, fwd)
action = fwd
Table X SRAM
Table Y TCAM
Table Z TCAM
Action fwd = 2
| | ACN: Network virtualization
New flow
12.04.2016 D. Dimitrova 19
SDN: Data plane
Local CPU/NPU
Switching fabric
OF rule = (match XYZ, fwd)
action = fwd
Table X SRAM
Table Y TCAM
Table Z TCAM
Action fwd = 2
SDN Controller
Buffer
Pkt to controller
| | ACN: Network virtualization
ASIC fast packet processing slow & expensive updates
FPGA and NPU fast, reconfigurable hard to program
CPU slow packet processing easy to program
12.04.2016 D. Dimitrova 20
SDN: Data plane
Source: Altera
| | ACN: Network virtualization
References for the interested [CaM07] M. Casado, M.J. Freedman, J. Pettit, J. Luo, N. McKeown, and S. Shenker. Ethane: Taking
control of the enterprise. In SIGCOMM Computer Commun. Review. 2007. [KoT10] T. Koponen, M. Casado, N. Gude, J. Stribling, L. Poutievski, M. Zhu, R. Ramanathan, Y.
Iwata, H. Inoue, T. Hama, et al. Onix: A distributed control platform for large-scale production networks. OSDI. 2010.
[OF14] OpenFLow Specification v1.4. Open Networking Foundation [ReJ10] Rexford, M.J. Freedman, and J. Wang. Scalable flow-based networking with DIFANE. In
SIGCOMM 2010 [ShR10] R. Sherwood, M. Chan, A. Covington, G. Gibb, M. Flajslik, N. Handigol, T.Y. Huang, P.
Kazemian, M. Kobayashi, J. Naous, et al. Carving research slices out of your production networks with openflow. In SIGCOMM Computer Commun. Review. 2010.
[ToA10] A. Tootoonchian and Y. Ganjali. Hyperflow: A distributed control plane for openflow. In INM. 2010.
[YaS12] S.H. Yeganeh and Y. Ganjali. Kandoo: a framework for efficient and scalable offloading of control applications. In HotSDN. 2012.
N. Kang, Z. Liu, J. Rexford, D. Walker. Optimizing the "one big switch" abstraction in software-defined networks. In CoNEXT 2013
12.04.2016 D. Dimitrova 21
SDN: Control plane
| | ACN: Network virtualization
References for the interested G. Lu, R. Miao, Y. Xiong, and Ch. Guo. Using CPU as a traffic co-processing unit in commodity
switches. In HotSDN. 2012. J. Naous, D. Erickson, G.A. Covington, G. Appenzeller, and N. McKeown. Implementing an OpenFlow
switch on the NetFPGA platform. In ANCS. 2008. Charalampos Rotsos, Nadi Sarrar, Steve Uhlig, Rob Sherwood, and Andrew W. Moore. OFLOPS: an
open framework for openflow switch evaluation. In PAM. 2012. M. Kuzniar, P. Peresini and D. Kostic. What You Need to Know About SDN Flow Tables. In PAM.
2015 D.Y. Huang, K. Yocum, and A.C. Snoeren. High-fidelity switch models for software-defined
network emulation. In HotSDN. 2013. P. Bosshart, G. Gibb, H.-S. Kim, G. Varghese, N. McKeown, M. Izzard, F. Mujica, and M.
Horowitz. Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN. In SIGCOMM. 2013.
E. Kohler, R. Morris, B. Chen, J. Jannotti, and M.F. Kaashoek. The click modular router. In ACM Trans. Comput. Syst. 2000.
12.04.2016 D. Dimitrova 22
SDN: Data plane
| | ACN: Network virtualization
SDN in practice
12.04.2016 D. Dimitrova 23
| | ACN: Network virtualization
Scalability Decision elements responsible for many routers
Response time Delays between decision elements and routers
Reliability Surviving failures of decision elements and routers
12.04.2016 D. Dimitrova 24
Software Defined Networking: Challenges
| | ACN: Network virtualization
Consistency Ensuring multiple decision elements behave consistently
Security Network vulnerable to attacks on decision elements
Interoperability Legacy routers and neighboring domains
12.04.2016 D. Dimitrova 25
Software Defined Networking: Challenges
| | ACN: Network virtualization
Above the control plane
12.04.2016 D. Dimitrova 26
| | ACN: Network virtualization
Implement diverse control functionality Routing Bandwidth provisioning Load balancing Packet inspection Monitoring …..
12.04.2016 D. Dimitrova 27
Software Defined Networking: Control applications
SDN Controller
Open Flow protocol
Local CPU/NPU
Switching fabric
Control applications