Lesson 8: SDN Part 2 Flashcards

1
Q

What are the three perspectives of the SDN landscape?

A
  1. Management Plane (defines network policy):
    These are services that are used to monitor and configure the control functionality.
  2. 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.
  3. Data Plane (executes network policy):
    These are functions and processes that forward data in the form of packets or frames.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the advantages of SDNs?

A
  1. 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.
  2. 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.
  3. 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.
  4. Simple Integration:
    With SDN integrations of networking applications are smoother, e.g. load balancing and routing applications can be combined sequentially.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

List the (eight) parts of the SDN Architecture and which plane they belong to (Data/Control/Management).

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Define the Data Plane parts of the SDN Architecture (Infrastructure, Southbound Interfaces)

A
  1. Infrastructure: similar to traditional networks (data plane-forwarding devices), however only the centralized control system manages forward logic.
  2. Southbound Interfaces: the APIs that connect the forwarding infrastructure to the control elements.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define the Control Plane parts of the SDN Architecture

A
  1. Network Virtualization: provides support for arbitrary network topologies and addressing schemes.
  2. 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.
  3. Northbound Interfaces: the API/interface between the controller and network applications.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define the Management Plane parts of the SDN Architecture

A
  1. Language-Based Virtualization: expression of modularity and allowance of different levels of abstraction.
  2. Network Programming Languages: high-level programming languages providing abstractions, modularity, reusability, and efficiency.
  3. Network Applications: the functionalities that implement the control plane logic and translate to commands in the Data Plane.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe a pipeline of flow tables in OpenFlow.

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the main purpose of the Southbound Interface in SDN Architecture?

A

Provide standard API that is the separating medium between control plane and data plane functionality.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

List the three information sources provided by the OpenFlow protocol.

A
  1. Event-Based Messages: these are sent by forwarding devices to the controller when there is a link or port change.
  2. Flow Statistics: generated by forwarding devices and collected by the controller.
  3. Packet Messages: these are sent forwarding devices to the controller when they do not know what to do with a new incoming flow.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the core functions of an SDN Controller and how can they be classified?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Summarize the differences between Centralized and Distributed Controllers.

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Describe, at a high-level, what the Open Networking Operating System (ONOS) is?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

List and define the parts of the Open Networking Operating System (ONOS) architecture at a high-level.

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How does Open Networking Operating System (ONOS) achieve fault tolerance?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is P4 (Programming Protocol-Independent Packet Processors)?

A

A high-level programming language to configure switches which works in conjunction with SDN control protocols.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What need does P4 (Programming Protocol-Independent Packet Processors) meet?

A

Meets the need for an extensible, flexible approach to parse packets and match header fields while also exposing an open interface to the controllers to leverage these capabilities.

17
Q

How is P4 (Programming Protocol-Independent Packet Processors) used?

A

To configure the switch programmatically and acts as a general interface between the switches and the controller with its main aim allowing the controller to define how the switches operate.

18
Q

What are the three primary goals of P4 (Programming Protocol-Independent Packet Processors) and a brief description of them?

A

Reconfigurability:
The way parsing and processing of packets takes place in the switches should be modifiable by the controller.

Protocol Independence:
To enable the switches to be independent of an particular protocol, the controller defines a packet parser and a set of tables mapping matches and their actions. The packet parser extracts the header fields which are then passed on to the match+action tables to be processed.

Target Independence:
The packet processing programs should be programmed independent of the underlying target devices. These generalized programs written in P4 should be converted into target-dependent programs by a compiler which are then used to configure the switch.

19
Q

Summarize the P4’s (Programming Protocol-Independent Packet Processors) Forwarding Model and what it allows at a high level.

A

Allows generalization of packet processing across various forwarding devices (such as routers, load balancers, etc.) using multiple technologies (such as fixed function switches, NPUs, etc.).

This allows for the design of a common language to write packet processing programs that are independent of the underlying devices; a compiler then maps these programs to different forwarding devices.

20
Q

What are the two main operations of the P4 (Programming Protocol-Independent Packet Processors) Forwarding Model?

A
  1. Configure/Configuration: these set of operations are used to program the parser, they specify the header fields to be processed in each match+action stage and also define the order of these stages.
  2. Populate/Population: the entries in the match+action tables specified during configuration may be altered using the poplate operations; it allows addition and deletion of the entries in the tables.

Configuration determines the packet processing and the supported protocols in a switch.
Population decides the policies to be applied to the packets.

21
Q

List, define, and provide examples of the (five) Applications of SDN.

A
  1. Traffic Engineering: main focus on optimizing traffic flow to minimize power consumption, judiciously use network resources, perform load balancing, etc. and automate the management of router configuration to reduce the growth in routing tables due to duplication of data.
    Examples: ElasticTree (traffic optimization), Plug-n-Source and Aster*x (load balancing), ALTO VPN (traffic optimization scaling)
  2. Mobility & Wireless: address challenges in its control plane, including management of the limited spectrum, allocation of radio resources, and load-balancing; make deployment and management of various wireless networks (WLANs, cellular networks); reduction of lag when moving between access points.
    Examples: LVAPs offer improved management of wireless networks (Odin), OpenRadio (OpenFlow for wireless)
  3. Measurement & Monitoring: recording, publishing, and utilization of measurements/statistics/events to better improve features and find areas in need of improvement.
    Examples: BISmark (network condition change responses), OpenSample and PayLess (monitoring frameworks)
  4. Security & Dependability: focus on improvement of security and reliability of networks.
    Examples: DDoS Detection, OF-RHM (dynamic IPs), CloudWatcher (cloud infrastructure monitoring).
  5. Data Center Networking: ability to do live migrations, troubleshooting, real-time monitoring, anomalous behavior detection, reconfigurations dynamically.
    Examples: LIME (live migration), FlowDiff (abnormality detection)
22
Q

Which (two) BGP limitations can/are addressed by using SDNs?

A
  1. Routing Only On Destination IP Prefix: routing is decided based on the destination prefix IP of the incoming packet, there is no flexibility to customize rules in BGP.
  2. Networks Have Little Control Over E2E Paths: networks can only select paths advertised by direct neighbors, they cannot control preferred paths in BGP.
23
Q

What is SDX and what is its purpose?

A

SDX is an SDN based architecture proposed for the context of IXPs.

24
Q

Summarize the architecture of SDX at a high level.

A
  • Each AS has the illusion of its own virtual SDN switch that connects its border router to every other participant AS.
  • Each AS can define forwarding policies as if it is the only participant at the SDX, without influencing other AS policies.
  • Each AS has its own SDN applications.
  • The SDX is responsible for applying all AS policies into single policy for the physical switch.
  • SDX uses Pyretic language to match header fields of the packets and to express actions on the packets.
25
Q

What are the four applications of SDC in the domain of wide-area traffic delivery?

A
  1. Application Specific Peering: custom peering rules can be installed for certain applications (think Netflix or YT).
  2. Traffic Engineering: controlling the inbound traffic based on the source IP or port numbers by setting forwarding rules.
  3. Traffic Load Balancing: the destination IP address can be rewritten based on any field in the packet header to balance the load.
  4. Traffic Redirection Through Middleboxes: targeted subsets of traffic can be redirected to middleboxes.