Midterm 3 Flashcards
What are SDNs 2 defining characteristics?
- It separates the control plane from the data plane
2. It consolidates the control plane, so that a single software control program controls multiple data-plane elements
What is a “control plane”?
It decides how to handle the traffic; it computes the routing tables (routers have state called “routing tables”). Essentially, the logic that controls forwarding behavior e.g. routing protocols, configuration for network middleboxes, etc.
Typically written in a high level language like C or Python
Note: Today, control and data plane are on routers.
What is a “data plane”?
It forwards traffic according to decisions that the control plane makes e.g. forwarding, switching
Typically programmable hardware controlled by control plane
Note: Today, control and data plane are on routers.
What is the “capsule model”?
Where the code to execute at the nodes was carried in-band in data packets
What is the “programmable routers/switch model”?
Where the code to execute at the nodes was established by out-of-band mechanisms
What were the “technology pushes” that encouraged active networking?
- reduction in cost of computing
- making it conceivable to put more processing in the network
- advances in programming languages such as Java that offered platform portability and code execution safety
- virtual machine technology that protected the host machine
- advances in rapid code compilation and formal methods
What were the “use pulls” that encouraged active networking?
- network service provider frustration with the timescales necessary to develop and deploy new network services (network ossification)
- third party interest in value-added, fine-grained control to dynamically meet the needs of particular applications or network conditions
- researcher desire for a platform that would support experimentation at scale
- proliferation of middleboxes (including firewalls), proxies, and transcoders
What is Network Management?
Process of configuring a network to achieve a variety of tasks such as:
- Load Balance across network
- Security
- Business Relationships that exist between configured network and neighbor networks
Why is network configuration hard?
- Defining correctness is hard
- Interactions between protocols can lead to unpredictability; furthermore each AS is independently configured and interaction between policies can lead to unintended behavior
- Operators make mistakes (device-level configuration, but SDN changes this)
What does SDN provide?
- Network-wide views of both Topology and Traffic
- Network-level objectives (Load Balance, Security, etc.)
- Direct control of data plane
What should Routers do?
- Forward Packets
- Collect measurements
But not…
- Compute Routes (can be logically centralized)
SDN === “remove routing from routers”
What are the advantages of SDN (over conventional networks)?
- Coordination is easier
- Behavior of network is easier to evolve
- Reasoning is easier
What are the applications of SDN?
- Data Centers
- Backbone networks
- Enterprise networks
- Internet Exchange Points (IXP)
- Home Networks
Name examples of Control Plane Operations
Job of Control Plane is to compute state that ultimately ends up in the data plane. Therefore,
- computing a forwarding path that satisfies a high-level policy
- computing shortest path routing trees
- authenticating a user’s device based on a MAC address
Why is separating data and control a good idea?
- Independent evolution and development thus software and hardware can evolve independently
- Control from high-level program allowing debugging and checking to be easier
How does control/data separation make managing data centers easier?
- Monitoring/control of routes from a central point
2. Migrating VMs without renumbering host addresses
What is the Pox Algorithm for a switch?
- Update address/port table
- If packet is multicast, flood
- If no table entry, flood
- If src == dst, controller instructs switch to drop packet
- Install flow table entry
What problems can arise from inconsistent writes of network state?
- Forwarding loops
- Security policy violations
- A flood of traffic at the controller
What is a Two-Phase Commit in terms of writing consistent policy?
Tag packet on ingress so that switches maintain copies of old and new policy; when all switches have received the new policy, incoming packets can be tagged with new policy version. After some time when no more packets are tagged with the old policy, it can be removed.
What is network virtualization?
Abstraction of physical network where multiple logical networks can be run on the same underlying shared physical substrate
Why Virtual Networking?
Ossificiation of internet architecture aka because the internet protocol was so evasive, it made it very difficult to make fundamental changes to the way the underlying internet architecture operated.
Rather than replace existing network architectures, network virtualization was intended to allow for easier evolution.
“Network virtualization enables evolution by letting multiple architectures exist in parallel.”
What is the motivation for virtual networking?
- Facilitating research/evolution by allowing coexistence
- Adjusting resources to demand
What are some benefits of network virtualization?
+ Rapid innovation (software speed)
+ New forms of network control
+ (Potentially) simpler programming
What is the difference between SDN and Network Virtualization?
Network Virtualization is arguably one of the first killer applications of SDN and in some sense, SDN is a tool for implementing Network Virtualization.
SDN separates data and control plane. Network Virtualization separates logical and physical layer. SDN is used to simplify many aspects of Network Virtualization, but doesn’t abstract details of underlying network.
What are the design goals of Network Virtualization?
- Flexible
- Manageable
- Scalable
- Secure
- Programmable
- Heterogeneous (able to support different technologies)