9 - Software Defined Networking Flashcards

1
Q

What tasks does Network Management achieve?

A

This is the process of configuring the network to achieve a variety of tasks:

  • Load Balancing
  • Security Goals
  • Business Relationships w/ Neighboring Networks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Network configuration mistakes can lead to these problems:

A
  • Oscillation
  • Loops
  • Partitions
  • Black Holes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Oscillation

A

When routers can’t agree on a route.

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

Loop

A

When packets get stuck between two routers.

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

Partitions

A

When a network is split into two or more segments.

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

Black Hole

A

When packets reach a router which drops it rather than forwarding it on.

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

Why is network configuration hard?

A
  1. It’s difficult to define correct behavior.
  2. Interactions between multiple routing protocols can lead to unpredictability.
  3. Operators make mistakes.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does SDN provide operators at a very high level?

A
  1. Network-wide views
    • Topology
    • Traffic
  2. The ability to satisfy network-level objectives.
    • Load balancing
    • Security
  3. Direct Control - devices don’t have to be configured individually or indirectly
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What should routers do to make network operations easier?

A
  • Forward Packets
  • Collect measurements (traffic statistics, topology info)
  • Should NOT compute routes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

With regards to routers, what is the fundamental tenant of SDN?

A

The logical centralization of the computing of routes, or “remove routing from routers”

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

Data Plane

A

The plane whose task it is to forward packets to their ultimate destination.

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

Routing Tables

A

The state that lives in each router and helps it decide how to forward packets.

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

Conventional Network Control Plane

A

The plane whose task it is to compute routing tables.

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

Where do the control and data planes reside on conventional networks?

A

On conventional networks, control and data planes reside on the router.

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

Where does the control plane reside on an SDN?

A

On SDNs, the control plane runs on a centralized controller which typically controls multiple routers.

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

Routing Control Platform (RCP)

A

A distributed configuration introduced in 2004 which focused on Border Gateway Protocol (BGP) only.

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

OpenFlow

A

A protocol that hit mainstream which incorporated RCP and 4D, made practical when manufacturers made the APIs for switched chipsets open and allowed them to be controlled from software.

Allowed for de-coupling of the control plane and the data plane.

A set of control commands by which a controller can control the behavior of one or more switches.

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

4D

A

In 2005 the notion of RCP was generalized for the different planes:

Decision Plane

Data Plane -

Dissemination & Discovery Planes

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

Dissemination & Discovery Planes (4D)

A

Plane that provides the Decision plane the info it needs to compute the forwarding state

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

Decision Plane (4D)

A

Plane that computes forwarding state for devices in the network

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

Data Plane (4D)

A

Plane that forwards traffic based on decisions made by the Decision Plane

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

What are the advantages of SDN over conventional networks?

A
  1. Coordination of Behavior Among Devices
  2. Network is easier to evolve
  3. Network is easier to reason about (debug)

These characteristics are all rooted in having a separate control plane, which allows CS techniques to be applied.

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

How is the SDN Control Plane typically implemented?

A

The SDN Control Plane is typically implemented in a high level language such as Python or C.

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

How is the SDN Data Plane typically implemented?

A

The SDN Data Plane is typically implemented as programmable hardware which is controlled by the Control Plane.

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

What are some common applications for SDN?

A
  • Data Centers
  • Backbone Networks
  • Enterprise Networks
  • Internet Exchange Points (IXPs)
  • Home Networks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

What are some examples of Control Plane operations?

A
  • Computing a forwarding path that satisfies a high level policy
  • Computing a shortest path route tree
  • Authenticating a user’s device based on MAC address.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Would this be considered a control plane operation?

“Computing a forwarding path that satisfies a high level policy”

A

True

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

Would this be considered a control plan operation?

“Computing a shortest path route tree”

A

True

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

Would this be considered a control plane operation?

“Authenticating a user’s device based on MAC address.”

A

True

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

Would this be considered a control plane operation?

“Rate-limiting Traffic”

A

False - this is typically done in the data plane

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

Would this be considered a control plane operation?

“Load Balancing Traffic Based on Hash of Source IP”

A

False - this is typically done in the data plane

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

A routing protocol would be considered a function of the _____ plane.

A

A routing protocol would be considered a function of the CONTROL plane.

33
Q

Configuration of network middleboxes would be considered a function of the _____ plane.

A

Configuration of network middleboxes would be considered a function of the CONTROL plane.

34
Q

Forwarding packets at the IP layer is a function of the ______ plane.

A

Forwarding packets at the IP layer is a function of the DATA plane.

35
Q

Layer 2 switching is a function of the ______ plane.

A

Layer 2 switching is a function of the DATA plane.

36
Q

Why is separating the data and control planes a good idea?

A
  1. Independent Evolution - software and hardware can evolve independently
  2. Control From a High-Level Program - allows behavior to be debugged and checked more easily
37
Q

The separation of data and control planes provides opportunity for better network management in:

A
  1. Data Centers - VM migration
  2. Routing - More control over decision logic
  3. Enterprise Networks - security applications (ex: network access control)
  4. Research Networks: Can co-exist with production networks on the same hardware
38
Q

How does SDN solve the problem of provisioning and migrating virtual machines in data centers in response to load?

A

SDN helps solve the problem of provisioning and migrating virtual machines in data centers in response to load by:

Programming the switch state from a central database. Example: Migrating a VM from one server to another.

39
Q

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

A

As VMs are provisioned and migrated, the state of switches can be reconfigured from a centralized database.

40
Q

T/F: Automatically load balancing is one way that SDN makes data center management easier.

A

FALSE - SDN does not automatically balance load.

41
Q

T/F: Allowing for fewer switches is one of the benefits of having SDN in a data center.

A

FALSE - SDN does not automatically allow for fewer switches

42
Q

T/F: Monitoring and control of routes from a centralized point is one of the advantages of using SDN in a data center.

A

TRUE

43
Q

T/F: Migrating VMs without renumbering host addresses is one of the benefits of using SDN in a data center.

A

TRUE

44
Q

How does SDN enhance Internet Backbone security with traffic filtering.

A

If an attacker is sending lots of traffic towards a victim, RCP may install a null route to filter traffic from the attacker to the victim.

45
Q

What are the fundamental challenges with SDN?

A
  1. Scalability
  2. Consistency
  3. Security/Robustness
46
Q

How is scalability an issue with SDN?

A

A controller may be responsible for hundreds or thousands of switches

47
Q

How is consistency an issue with SDN?

A

There may be many physical replicas of the centralized controller. They needs to see the same view of the network in order to make the same decisions.

48
Q

How is Security/Robustness an issue with SDN?

A

Network needs to continue to function in the event of controller failure or compromise

49
Q

What are some ways to cope with scalability challenges with SDN?

A
  • Eliminating redundant data structures
  • Only perform a fixed number of operations (ex: routing)
  • Cache control-plane decisions in switches
  • Running multiple controllers to distribute the load
50
Q

T/F: Sending all traffic to the controller is one way to cope with scalability challenges in SDN.

A

FALSE

Sending traffic to the control would not help with scalability.

51
Q

NOX

A

NOX is a first generation OpenFlow controller.

  • Open source
  • Widely Used
  • Comes in “Classic” and “New NOX”
52
Q

What two flavors does NOX come in?

A

Classic: C++/Python, no longer supported

New NOX: C++ Only, fast, clean, well supported

53
Q

What are the components of a NOX architecture?

A
  1. Switches

2. Network-attached servers

54
Q

What role does the controller play in a NOX architecture?

A

In this architecture, the controller maintains a network view, and may run several applications that operate on that view.

55
Q

What abstraction does NOX provide?

A

Switch control using the OpenFlow protocol

56
Q

How is a Flow defined in NOX?

A

(header: counter, actions)

57
Q

What two things does a switch do when it receives a packet.

A
  1. Updates counters for the flow that the packet belongs to or matches
  2. Applies the corresponding action for the matching flow to the packet
58
Q

What are the different types of events processed by a NOX controller?

A
  • Switch joining or leaving the network
  • Packet receive event (redirected by the switch to the controller)
  • Various statistics
  • The controller also keeps track of a network view and the underlying topology
  • Utilizes OpenFlow protocol to update the state of switches
59
Q

What type of programming model and language does NOX use?

A

C++, Event-based (programmers can write event handlers)

60
Q

What are some of the benefits and drawbacks of programming for NOX controllers?

A

Benefits: High Performance

Drawbacks:
- Requires an understanding of the semantics of low-level OpenFlow commands

  • Requires to be written in C++ which can be slow for development
61
Q

POX

A

A NOX controller implemented in Python which addresses the difficulties of developing for NOX controllers with C++

62
Q

What are some advantages and disadvantages to using POX for NOX programming instead of C++?

A
  • POX is well maintained and supported
  • Easy to use, Python
  • Poor performance compared to C++
63
Q

Would you use NOX or POX for a class or university research project?

A

POX

Allows rapid prototype development.

64
Q

Would you use NOX or POX for a large Internet data center?

A

NOX

POX does not perform as well as other controllers.

65
Q

Ryu

A

An SDN controller:
- Implemented in Python

  • Supports later versions of OpenFlow
  • Supports OpenStack
  • Does not perform as well as NOX
66
Q

Floodlight

A

SDN Controller

  • written in Java
  • Supports OpenFlow
  • Fork from “Beacon” contoller
67
Q

What are some of the advantages/disadvantages of Floodlight?

A
  • Maintains good documentation
  • Good integration with the REST API
  • Good production-level performance
  • Steep learning curve
68
Q

What do Ryu, Floodlight, NOX, and POX all have in common that makes them relatively difficult to learn and use?

A

Ryu, Floodlight, NOX, and POX all require a low-level understanding of fundamental OpenFlow commands.

69
Q

Describe how a hub would be implemented in POX/Python.

A

An event listener would be added so that when a packet is received, it is flooded to all output ports.

70
Q

Describe how a switch would be implemented in POX/Python.

A

When the first packet arrives at the switch on a given port, it is diverted to the controller which creates an entry in a hash table which maps the host address to that port. If the packet is multicast, or if there is no table entry the destination address, it is flooded to all ports.

The flow table is installed from the controller to the switch so that future packets do no have to be redirected to the controller.

71
Q

What does a controller do if the source and destination address of a packet are the same.

A

The controller instructs the switch to drop the packet.

72
Q

Would the IS-IS protocol be considered a control plane or a data plane protocol and why?

A

Intermediate System to Intermediate System (IS-IS) is a routing protocol, therefore it would be considered a CONTROL PLANE protocol.

73
Q

Would the IP protocol be considered a control plane or a data plane protocol and why?

A

The IP protocol is a DATA PLANE protocol because…

74
Q

Would the UDP protocol be considered a control plane or a data plane protocol and why?

A

?

75
Q

Would the DHCP protocol be considered a control plane or a data plane protocol and why?

A

?

76
Q

Would the 802.11 (WiFi) protocol be considered a control plane or a data plane protocol and why?

A

?

77
Q

Name two situations/scenarios in which using SDN provides a benefit.

A
  1. ?

2. ?

78
Q

Name two places where network virtualization is useful.

A
  1. ?

2. ?

79
Q

Name two places where network virtualization is not normally especially useful.

A
  1. ?

2. ?