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
Q

Ways to cope with scalability challenges?

A

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
Q

Different SDN controllers

A

NOX, RYU, FLOODLIGHT (This lesson)

PYRETIC, FRENETIC (Programming SDN)

27
Q

NOX

A

*First generation Openflow controller ->open-source, stable, widely used
Two flavors:
-Classic: C++, PYTHON
-New NOX: C++ only, fast, clean

28
Q

NOX Architecture

A

Components: 1) Switches
2) Network-attached servers
Abstraction: Switch control
Control: Flow granularity

29
Q

What is a Flow?

A

(header: counter, actions)
header= 10 tuple
counter
actions = forward, drop, sending to controller

30
Q

NOX: Programmatic Interface

A

Performance is good but requires an understandings of low-level openflow commands and C++

31
Q

When to use POX???

A

Class project or University research but NOT in a large internet datacenter because it does not perform as well as other controllers.

32
Q

RYU

A

Python, OF 1.0,1.2,1.3, Open Stack

33
Q

Floodlight

A

Java, OF 1.0, fork from “beacon”, Good documentation and performance… but has a steep learning curve.

34
Q

NOX

A

C++, OF 1.0, good performance, slow programming/debugging hard

35
Q

POX

A

Python, OF 1.0, performance ok… not the best, easy to program

36
Q

POX Algoritm for Switch

A

See Udacity video #17

37
Q

Modifying forwarding behavior is easy!

A

Switching:
Flow switching:
Firewall:

38
Q

Caching

Customizing control is easy

A

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
Q

You can turn a switch into a firewall

A

in less than 40 lines of Python code