Software Defined Networks Flashcards
What is the management plane?
Allows the admin to configure other planes. It tunes the parameters of the underlying algorithms
What is the control plane?
It has rules which frame should go where.
creates and provides lookup tables for the data plane.
What is the data plane?
Also called forwarding plane.
Uses the lookup tables to forward frames.
What problems do exist with the standard approach consisting of mgmt, ctrl & data plane?
- hardware/chip producer lock-in
- depends on vendor implementation (proprietary)
- slow updates
- bad interoperability of vendors
What is a SDN?
It provides an abstraction from the physical network. It has one central control plane which manages data planes of all switches.
In SDNs, every box is considered a switch - (router/firewall/switch) distinciton not necessary since functionality is in software.
What are the advantages of SDNs?
- Central view of network (“one big switch”)
- central configuration (the software defines it for all hardware nodes)
- no complex protocols (like spanning tree) are not necessary
- less complexity in ctrl plane
- simple algos like Dijkstra can be used
What is openflow?
It is a protocol upon TCP/SSL that is spoken between ctrl plane and fwd plane.
Describe openFlows match + action principle
(A bit like iptables).
1 Match (IP/VLAN ID/ETH type)
2 Fwd/Drop/Encapsulate+send/Header rewrite
3 Counters (bytes+packets)
Explain this command:
ovs-ofctl add-flow 2 priority=0,actions=controller
ovs-ofctl: cli add-flow: add OF flow (rule) 2: dst of OF flow priority=0: lowest prio actions=controller: send maching packets to controller
Where is openflow used in practice?
Mostly on software switches (VMs).
HW is mostly proprietary.
Supports only limited number of protocols (additons would have to be standartized).
Is openflow a SDN?
No, it enables SDN deployment by allowing programming the ctl plane and modifying the data plane.
What is NFV and what is the difference to SDN?
NetworkFunctionVirt is a (virtualized) building block performing network tasks instead of specialized hardware.
SDN: dynamically control network
NFV: manage virt of resources for provisioning network functions and composition to higher-layer network services
Describe the 3 NFV architectures
Traditional: 1 VM/ NF
+strong isolation, trad OS sockets
-high load on vswitch
Non-virt NFC: all functions on host os; allows direct access (e.g. via dpdk)
+no cost for vswitch
-NF framework required
Hybrid/Virt: one VM for entire NFC
+lower load on vSwitch
-NF framework required
Distinguish the 3 NFV architectures in perspective of performance, isolation & chaining interface
Trad: Perf: + Iso: +++ iface: os sock
Virt: Perf: ++ Iso: ++ iface: Framew
Non-Virt: Perf: +++ Iso: + iface: Framew
What is P4?
P4 is a domain specific programming language for data plane devices. This allows programming of switches for new protocols
P4 vs OpenFlow?
Both solve tasks on separate planes. P4 can be used to implement a OpenFlow capable application for switches.
What benefits does programming the data plane offer?
Control & customization Reliability Efficiency Update Telemetry Exclusivity (independent to chip vendor) Rapid prototyping Fast Development Cycles
What challenges does programming the data plane offer?
Performance: huge amount of data
Flexibility: Implementation of various protocols
Hardware independence: Keeping high-level perspective
Which platforms does P4 support?
Software-based solutions (DPDK)
NPUs - network PUs
FPGAs
P4-Specific ASICs
Describe the P4 model architecture
parser (describes supported headers and parses them)
- > Checksum verify/Ingress match action
- > Traffic manager
- > Checksum update/Egress match action
- > Deparser
What is the PSA?
P4 Portable Switchting Architecture
Reference architecture for switches. Includes:
- Metadata def
- hash (CRC) & checksums
- Counters
- register
- random num generators
What 3 predefined states exist in P4 parsers?
start, accept and reject
programmers may add additional states