Describe the three perspectives of the SDN landscape.
- A plane-oriented view (management, control, data)
- The SDN layers
- A system design perspective
Describe the responsibility of each layer in the SDN layer perspective.
- Data plane - functions and processes that forward data in the form of packets or frames
- Control plane - functions and processes that determine which path to use by using protocols to populate forwarding tables of data plane elements
- Management plane - services that are used to monitor and configure the control functionality, e.g. SNMP-based tools
Describe a pipeline of flow tables in OpenFlow.
- Flow tables have three parts: a matching rule, actions to be executed on matching packets, and counters that keep statistics of matching packets. When a packet arrives, the lookup process starts in the first table and ends with either a match in of the tables of the pipeline or with a miss.
What’s the main purpose of southbound interfaces?
- The southbound interfaces or APIs are the separating medium between the control plan and the data plane functionality.
What are three information sources provided by 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 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, and shortest path forwarding and security mechanisms.
What are the differences between centralized and distributed architectures of SDN controllers?
- Centralized controller - a single entity that manages all forwarding devices in the network.
- Distributed controller - a centralized cluster of nodes or a physically distributed set of elements.
When would a distributed controller be preferred to a centralized controller?
- A distributed controller is useful if you're looking for scalability. Centralized controllers are unable to handle a large number of data plane elements.
Describe the purpose of each component of ONOS (Open Networking Operating System)
- ONOS is a cluster-based distributed control-plane operating system. Several ONOS instances run within one cluster, with one being a master, and they all acquire a global network view using the statistics generated by the OpenFlow manager. The ONOS clusters generate a global view and send updates based upon the set policy to the OpenFlow managers - which then act upon the new instructions. Due to its clustered, distributed nature, ONOS is able to achieve fault tolerance and scale-out performance.
How does ONOS achieve fault tolerance?
- A master node is elected for each cluster. Upon the failure of a master node, a new master for the cluster is elected. The work of a failed instance is redistributed to other ONOS nodes in the cluster.
What is P4?
- A high-level programming language to configure switches which works in conjunction with SDN control protocols.
What are the primary goals of P4?
- Reconfigurability - switch packet processing should be modifiable by the controller
- Protocol independence
- Target independence - packet processing programs should be programmed independent of the underlying target device, programs written in P4 should be converted into target-dependent programs by a compiler
What are the two main operations of P4 forwarding model?
- Configure - programming of the parser, specify header fields to be processed in each stage of packet processing
- Populate - allows addition / deletion of the entries in the tables, decides the policies to be applied to matching packets
What are the applications of SDN? Provide examples of each application.
- Traffic engineering - optimize traffic flow to minimize power consumption
- Mobility and wireless - provides an abstraction layer, decoupling wireless protocols from the management of the data plane entities
- Measurement and monitoring - enables systems to respond to changes in network conditions
- Security and dependability - impose security policies on entry points into the network
- Data center networking - live network migration, troubleshooting, real-time monitoring
Which BGP limitations can be addressed by using SDN?
- Routing using only destination IP prefix
- Networks have little control over end-to-end paths
What’s the purpose of SDX?
- Application-specific peering
- Traffic engineering
- Traffic load balancing
- Traffic redirection through middleboxes
Describe the SDX architecture.
- SDX virtualized the BGP route server architecture used in traditional internet exchange points. Each autonomous system has the illusion that it has its own virtual SDN switch connecting its border router to every other participant autonomous system.
What are the applications of SDX in the domain of wide area traffic delivery?
- Application specific peering
- Inbound traffic engineering
- Wide-are server load balancing
- Redirection through middle boxes