9 - Software Defined Networking Flashcards
What tasks does Network Management achieve?
This is the process of configuring the network to achieve a variety of tasks:
- Load Balancing
- Security Goals
- Business Relationships w/ Neighboring Networks
Network configuration mistakes can lead to these problems:
- Oscillation
- Loops
- Partitions
- Black Holes
Oscillation
When routers can’t agree on a route.
Loop
When packets get stuck between two routers.
Partitions
When a network is split into two or more segments.
Black Hole
When packets reach a router which drops it rather than forwarding it on.
Why is network configuration hard?
- It’s difficult to define correct behavior.
- Interactions between multiple routing protocols can lead to unpredictability.
- Operators make mistakes.
What does SDN provide operators at a very high level?
- Network-wide views
- Topology
- Traffic
- The ability to satisfy network-level objectives.
- Load balancing
- Security
- Direct Control - devices don’t have to be configured individually or indirectly
What should routers do to make network operations easier?
- Forward Packets
- Collect measurements (traffic statistics, topology info)
- Should NOT compute routes
With regards to routers, what is the fundamental tenant of SDN?
The logical centralization of the computing of routes, or “remove routing from routers”
Data Plane
The plane whose task it is to forward packets to their ultimate destination.
Routing Tables
The state that lives in each router and helps it decide how to forward packets.
Conventional Network Control Plane
The plane whose task it is to compute routing tables.
Where do the control and data planes reside on conventional networks?
On conventional networks, control and data planes reside on the router.
Where does the control plane reside on an SDN?
On SDNs, the control plane runs on a centralized controller which typically controls multiple routers.
Routing Control Platform (RCP)
A distributed configuration introduced in 2004 which focused on Border Gateway Protocol (BGP) only.
OpenFlow
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.
4D
In 2005 the notion of RCP was generalized for the different planes:
Decision Plane
Data Plane -
Dissemination & Discovery Planes
Dissemination & Discovery Planes (4D)
Plane that provides the Decision plane the info it needs to compute the forwarding state
Decision Plane (4D)
Plane that computes forwarding state for devices in the network
Data Plane (4D)
Plane that forwards traffic based on decisions made by the Decision Plane
What are the advantages of SDN over conventional networks?
- Coordination of Behavior Among Devices
- Network is easier to evolve
- 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 is the SDN Control Plane typically implemented?
The SDN Control Plane is typically implemented in a high level language such as Python or C.
How is the SDN Data Plane typically implemented?
The SDN Data Plane is typically implemented as programmable hardware which is controlled by the Control Plane.
What are some common applications for SDN?
- Data Centers
- Backbone Networks
- Enterprise Networks
- Internet Exchange Points (IXPs)
- Home Networks
What are some examples of Control Plane operations?
- 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.
Would this be considered a control plane operation?
“Computing a forwarding path that satisfies a high level policy”
True
Would this be considered a control plan operation?
“Computing a shortest path route tree”
True
Would this be considered a control plane operation?
“Authenticating a user’s device based on MAC address.”
True
Would this be considered a control plane operation?
“Rate-limiting Traffic”
False - this is typically done in the data plane
Would this be considered a control plane operation?
“Load Balancing Traffic Based on Hash of Source IP”
False - this is typically done in the data plane