9-Software Defined Networking Flashcards

1
Q

What is network management

A

Process of configuring network to achieve a variety of tasks

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

Network configurations achieve a variety of tasks:

A
  • Load Balance
  • Security
  • Business Relationships
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Configuration mistakes can lead to

A

1) Oscillation - Routers cant agree on a route to a destination
2) Loops - Packets get stuck between two or more routers and never make it to the destination
3) Partitions - The network is split into two or more segments that are not connected.
4) “Black Holes” - Packets reach a router that does not know what to do with the packet and drops instead of sending to destination

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

Why is configuration hard?

SDN changes this

A

1) Defining Correctness is hard
2) Interactions between protocols -> unpredictability
3) Operators make mistakes

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

SDN provides operators 3 things

A

1) Network wide views
-topology and traffic
2) Network-level objectives
-load balance and security
3) Direct control
0>direct manipulation of data plane

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

Routers should

A

1) Forward packets

2) Collect measurements (statistics and topology info)

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

Routers should not

A

Compute routes

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

SDN

A

Removes routing from routers

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

What is SDN?

A

1) Logically centralized control

2) Network-wide control

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

Today: control and data planes run on routers

A

Data plane: Forward traffic

Control plane: compute routing tables

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

First in 2004 was the RCP (resource control protocol)

A

Worked on BGP only

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

2004: RCP
2005: 4D
2008: Openflow

A

History

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

Advantages of SDN

A

1) Coordination
2) Easy to evolve
3) Reasoning

All because of separate control plane

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

Control plane:

A

Software Program (i.e. Python, C…)
Logic that controls forwarding behavior
examples: routing protocols, configuration for network middleboxes

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

Data plane:

A
Programmable hardware (controlled by the control plane)
Forward traffic according to control plane logic
examples: forwarding, switching
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

SDN Application

A
Data Centers *
Backbone Networks *
Enterprise Networks *
IXPs
Home Networks

This course will focus on 1st 3 *

17
Q

Examples of control plane operations?

A

1) Computing a forwarding path that satisfies a high level policy
2) Computing a shortest path routing tree
3) Authenticating a users device based on MAC Addresses

18
Q

Why separate data and control plane?

A

1) independent evolution -> software & hardware can evolve independently
2) Control from high-level program -> allows operators to debug and check behavior easily

19
Q

Why separate data and control plane?

A

1) Data centers: VM migration
2) Routing: More control over decision logic
3) Enterprise networks: Security
4) Research networks: Coexistense with production networks

20
Q

Why separate data and control plane? Quiz

A

1) Independent evolution of data and control plane
2) Separating vendor hardware from control logic
3) Easier reasoning about network behavior

21
Q

Data centers

A

SDN helps with VM migrations

22
Q

How does control/data separation make managing data centers easier?

A

1) Monitoring/control of routers from a central point

2) Migrating VMs without renumbering hosts addresses

23
Q

Why separate data and control plane?

A

Backbone security

Goal: filter the attack traffic

24
Q

Challenges for SDN

A

1) Scalability: Hundreds to thousands of switches
2) Consistency: ensuring different replicas to see same view
3) Security/Robustness: Failure or compromise?

25
Ways to cope with scalability challenges?
1) Eliminate redundant data structures 2) Only perform control-plane operations for a limited # of ops 3) Cache forwarding decisions in switches 4) Run multiple controllers
26
Different SDN controllers
NOX, RYU, FLOODLIGHT (This lesson) | PYRETIC, FRENETIC (Programming SDN)
27
NOX
*First generation Openflow controller ->open-source, stable, widely used Two flavors: -Classic: C++, PYTHON -New NOX: C++ only, fast, clean
28
NOX Architecture
Components: 1) Switches 2) Network-attached servers Abstraction: Switch control Control: Flow granularity
29
What is a Flow?
(header: counter, actions) header= 10 tuple counter actions = forward, drop, sending to controller
30
NOX: Programmatic Interface
Performance is good but requires an understandings of low-level openflow commands and C++
31
When to use POX???
Class project or University research but NOT in a large internet datacenter because it does not perform as well as other controllers.
32
RYU
Python, OF 1.0,1.2,1.3, Open Stack
33
Floodlight
Java, OF 1.0, fork from "beacon", Good documentation and performance... but has a steep learning curve.
34
NOX
C++, OF 1.0, good performance, slow programming/debugging hard
35
POX
Python, OF 1.0, performance ok... not the best, easy to program
36
POX Algoritm for Switch
See Udacity video #17
37
Modifying forwarding behavior is easy!
Switching: Flow switching: Firewall:
38
Caching | Customizing control is easy
1) Packets only reach controller if no flow table entry at the switch 2) When controller decides an action on a packet, installs in switch 3) Decision/flow table entry is cached
39
You can turn a switch into a firewall
in less than 40 lines of Python code