9.1 - Programming SDNs Flashcards
OpenFlow API updates to multiple switches in a path may result in what problems?
- Packet-level consistency problem
2. Flow-level consistency problem
Packet-level consistency problem
Switches updated at different times in the same path may not have consistent states, and this could result in disruption.
Flow-level consistency problem
Updates that occur in the middle of a flow may cause packets from that same flow to be subjected to two different states.
What are the three steps of SDN programming?
- Read/monitor state
- Compute policy
- Write policy
“Read/Monitor State” step of SDN programming
These events may include:
- failures
- topology changes
- security events
“Compute Policy” step of SDN programming
This is the role of the decision plane in decided what the forwarding behavior of the network should be in response to various states from the network switches.
“Write Policy” step of SDN programming
Installing the appropriate flow table state into the switches.
In what two steps can consistency errors occur?
- Read - reading the network at different times can result in inconsistencies
- Write - the controller may be writing policy as traffic is actively flowing through the network which can disrupt packets
Simple match-action rules do not allow certain exception to be expressed. What is a solution to this problem?
A runtime system that can translate PREDICATES such as AND or NOT into low-level OpenFlow rules.
Switches only have a limited amount of space to store rules. What is a solution to this problem?
The run-time system dynamically “UNFOLDS” rules as traffic arrives. This guarantees that there are only rules in the switch which correspond to active traffic.
Example: programmer could specify something such as “group by IP address”
What happens if a switch receives additional packets in a flow before a rule has arrived from the controller?
- A programmer can specify a limit of 1 packet which can initiate a rule request, and the subsequent packets should be SUPPRESSED.
- The system can then hide the extra events.
What are three approaches to handling consistency in the reading state?
- Predicates
- Rule Unfolding
- Suppression
What are some reasons that a controller may want to write policy to change the state in network switches?
- Maintenance
- Unexpected Failure
- Traffic Engineering
What invariants does a controller attempt to maintain when writing policy?
- No forwarding loops
- No black holes
- No security violations
How might a forwarding loop occur?
If an operator wishes to redirect traffic off of a particular link, he might change the weight of that link. However if that state were updated in one switch before another, the other switch in the new path could forward the traffic back because it’s unaware of the new shortest route.
What’s the solution to preventing a forwarding loop due to inconsistent states among switches?
Two-Phase Commit:
Packets are tagged on ingress, and copies of both rule sets are maintained for some time. Packets aren’t tagged with the new rule set until all switches have received the updates.
T/F: One way of coping with inconsistencies is having different controllers for different switches.
FALSE - Each controller may be making independent decisions, so this could lead to an inconsistent state.
T/F: One way of coping with inconsistencies is keeping a “hot spare” replica.
FALSE - This does no good if the spare also writes state inconsistently to the network.
T/F: One way of coping with inconsistencies is keeping both the old and new state on the routers and switches.
TRUE - This is the “two-phase commit” approach
T/F: One way of coping with inconsistencies is resolving conflicts on the routes.
FALSE - No router has a complete view of the network state.
What is Network Virtualization?
It is an abstraction of a physical network.
- Multiple logical networks can by same underlying physical network.
- Logical networks can have a different topology than the physical network.
Tunnels
Tunnels are how nodes connect on a virtual network.
One of the main motivations for the rise of virtual network was the ______ of Internet architecture.
One of the main motivations for the rise of virtual network was the “OSSIFICATION” of Internet architecture.