Lesson 8: SDN Part 2 Flashcards
What are the three perspectives of the SDN landscape?
- Management Plane (defines network policy):
These are services that are used to monitor and configure the control functionality. - Control Plane (enforces network policy):
These refer to functions and processes that determine which path to use by using protocols to populate forwarding tables of data plane elements. - Data Plane (executes network policy):
These are functions and processes that forward data in the form of packets or frames.
What are the advantages of SDNs?
- Shared Abstractions:
These middlebox services (or network functionalities) can be programmed easily now that the abstractions provided by the control platform and network programming languages can be shared. - Consistency of Same Network Information:
All network applications have the same global network information view, leading to consistent policy divisions while reusing control plane modules. - Locality of Functionality Placement:
Previously, the location of middleboxes was a strategic decision and big constraint, however with SDN, the middlebox applications can take actions from anywhere in the network. - Simple Integration:
With SDN integrations of networking applications are smoother, e.g. load balancing and routing applications can be combined sequentially.
List the (eight) parts of the SDN Architecture and which plane they belong to (Data/Control/Management).
Data Plane
1. Infrastructure
2. Southbound Interfaces
Control Plane
3. Network Virtualization
4. Networking Operating Systems
5. Northbound Interfaces
Management Plane
6. Language-Based Virtualization
7. Network Programming Languages
8. Network Applications
Define the Data Plane parts of the SDN Architecture (Infrastructure, Southbound Interfaces)
- Infrastructure: similar to traditional networks (data plane-forwarding devices), however only the centralized control system manages forward logic.
- Southbound Interfaces: the APIs that connect the forwarding infrastructure to the control elements.
Define the Control Plane parts of the SDN Architecture
- Network Virtualization: provides support for arbitrary network topologies and addressing schemes.
- Network Operating Systems: allows for easing of network management and solving of networking problems by using a logically centralized controller by way of network operating system (NOS) and allows abstractions.
- Northbound Interfaces: the API/interface between the controller and network applications.
Define the Management Plane parts of the SDN Architecture
- Language-Based Virtualization: expression of modularity and allowance of different levels of abstraction.
- Network Programming Languages: high-level programming languages providing abstractions, modularity, reusability, and efficiency.
- Network Applications: the functionalities that implement the control plane logic and translate to commands in the Data Plane.
Describe a pipeline of flow tables in OpenFlow.
Each entry of a flow table has three parts:
1. A matching rule
2. Actions to be executed on matching packets
3. Counters that keep statistics of matching packets
Steps when a packet arrives:
1. Lookup process starts in first table which ends as one of the following:
a. When no rule is found for the packet (miss)
b. When rule is found for the packet (match)
2. If rule is found take action, such as:
a. Forward packet to outgoing port
b. Encapsulate packet and forward to controller
c. Drop the packet
d. Send the packet to normal processing pipeline
e. Send the packet to next flow table
What is the main purpose of the Southbound Interface in SDN Architecture?
Provide standard API that is the separating medium between control plane and data plane functionality.
List the three information sources provided by the OpenFlow protocol.
- Event-Based Messages: these are sent by forwarding devices to the controller when there is a link or port change.
- Flow Statistics: generated by forwarding devices and collected by the controller.
- Packet Messages: these are sent 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 and how can they be classified?
SDN Controllers can be categorized by Centralized, Distributed, and Hybrid architecture.
Core Functions
Base Network Service Functions Such As:
Topology
Statistics
Notifications
Device management
Shortest path forwarding
Security mechanisms
Summarize the differences between Centralized and Distributed Controllers.
Centralized SDN Controllers
- Single entity manages all forwarding devices on the network.
(single point of failure, can lead to scaling issues)
(may not be able to handle large number of data plane elements)
Distributed SDN Controllers
- Can be scaled to meet the requirements of potentially any environment.
- Multiple entities manage the forwarding devices.
- Distribution can occur in two ways:
a. Centralized Cluster of Nodes
b. Physically Distributed Set of Elements
(Weak consistency semantics)
(Fault tolerance)
Describe, at a high-level, what the Open Networking Operating System (ONOS) is?
ONOS is a distributed SDN control platform that aims to provide a global view of the network to the applications, scale-out performance and fault tolerance.
The prototype was built based on Floodlight, an open-source single-instance SDN controller.
List and define the parts of the Open Networking Operating System (ONOS) architecture at a high-level.
Applications: make forwarding and policy decisions by consuming information from the view and updating the decisions back to the view.
Blueprints API: how the applications interact with the network view.
Network View: contains the Graph Database (Titan) and the Distributed Key-Value Store (Cassandra) and is meant to be the management and sharing of network state across instances of ONOS running in a cluster.
Graph Database (Titan): used in tandem with Cassandra (the Distributed Key-Value Store) to implement the view.
Distributed Key-Value Store (Cassandra): used in tandem with Titan to implement the view.
Distributed Registry (Zookeeper): is used to maintain the mastership between the switch and controller.
OpenFlow Manager (Floodlight): open-source single-instance SDN controllers that interface with switches.
How does Open Networking Operating System (ONOS) achieve fault tolerance?
By redistribution of work across working instances when one fails, each switch is connected to multiple ONOS instances, but utilizes/is utilized by one master at a time.
Consensus Basis elections are used to redistribute switches across ONOS instances.
What is P4 (Programming Protocol-Independent Packet Processors)?
A high-level programming language to configure switches which works in conjunction with SDN control protocols.