Lesson 8: SDN 2 Flashcards
Describe the three perspectives of the SDN landscape
- A plane oriented view: consists of the 3 planes: management plane, control plane and the data plane
- SDN Layer perspective: network applications, controller layer and the infrastructure layer
- System design perspective: network applications, network operating systems and hypervisors, and the network elements
Describe the responsibility of each layer in the SDN layer perspective.
From the top down:
- Network Applications: functionalities that implement control plane logic and translate to commands in the data plane. eg. routing, load balancing, security enforcement
- Network Programming Languages: high level PL enabling better abstractions than lower level ones eg. pyretic, frenetic
- Language-based virtualization: some kind of runtime virtualization for the languages enabling modularity and different levels of abstraction
- Northbound interfaces: the software ecosystem enabling communication between the NA and the controller layers. eg. NOX, Floodlight
- Network operating systems: provides abstractions, essential services and common APIs to developers. eg. OpenDayLight, Onix
- Network virtualization: provides support for arbitrary network topologies and addressing schemes, similar to the computing layer. eg. VxLAN, FlowVisor
- Southbound interfaces: interfaces acting as connecting bridges between control and forwarding elements. eg. OpenFlow, OpenState
- Infrastructure: networking equipments such as routers, switches and other middlebox hardware. These now merely do forwarding tasks and all the complex logic is in the other layers. eg. SwitchLight, OpenvSwitch
Describe a pipeline of flow tables in OpenFlow.
- a matching rule
- actions to be executed on matching packets
- counters that keep statistics of matching packets
What’s the main purpose of southbound interfaces?
Provide a communication channel between the control and the data planes.
What are three information sources provided by the OpenFlow protocol?
- event-based messages that are sent by forwarding devices to the controller when there is a link or port change
- flow statistics are generated by forwarding devices and collected by the controller
- packet messages are sent by forwarding devices to the controller when they do not know what to do with a new incoming flow
What are the core functions of an SDN controller?
topology, statistics, notifications, device management, shortest path forwarding and security mechanisms
What are the differences between centralized and distributed architectures of SDN controllers?
centralized: single entity that manages all the forwarding devices
distributed: a centralized cluster of nodes or physically distributed set of elements manages the forwarding devices
When would a distributed controller be preferred to a centralized controller?
When scaling and fault tolerance is highly desirable
Describe the purpose of each component of ONOS (Open Networking Operating System) is a distributed SDN control platform.
- network view: management and sharing of state across instances. It’s built by using the network topology and state information that is discovered by each instance. Consists of a graph database and a distributed key-value store
- blueprints graph API: applications interact with the network
- zookeeper: maintains the mastership between the switch and the controller
- of-manager: floodlight → manages the network elements
How does ONOS achieve fault tolerance?
ONOS achieves this by redistributing the work of a failed instance to the other remaining instances. Each ONOS instance acts as a master for a subset of switches. Upon failure of an instance, an election is held on a consensus basis to choose a master for each of the switches that were controlled by that failed instance. For each switch, a master is selected among the remaining instances with which the switch had established a connection. At the end of election for all switches, each switch would have at most one new master instance
What is P4?
Programming protocol-independent packet processors. A language developed to offer the programmability of the data plane.
What are the primary goals of P4?
- reconfigurability: the way parsing and processing of packets take place in the switches should be modifiable by the controller
- protocol independence: to enable the switches to be independent of any particular protocol
- target independence: the packet processing programs should be programmed independent of the underlying target devices. The generalized programs written in P4 should be converted into target-dependent programs by a compiler which are then used to configure the switch.
What are the two main operations of P4 forwarding model?
- Configure: sets of operations used to program the parser
- Populate: decide the policies to be applied to the packets
What are the applications of SDN? Provide examples of each application.
- Traffic engineering: can provide features such as load balancing, network resource optimization etc. eg. ElasticTree
- Mobility and wireless: SDN enables the deployment and management of various wireless networks easier through a variety of features such as virtual access points, sharing of wireless infrastructure. eg. OpenRadio
- Measurement and monitoring: OpenSketch, OpenSamle
- Security and dependability: SDNs can impose security policies on the entry point to the network. DDos detection
- Data center networking: live migration of networks, troubleshooting, real-time monitoring of networks etc. LIME
Which BGP limitations can be addressed by using SDN?
- Routing only based on destination IP prefix - SDNs offer more matching header fields
- Networks have little control over the end-end paths- SDN can be used to define paths