OpenFlow API updates to multiple switches in a path may result in what problems?
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” step of SDN programming
These events may include:
“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?
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?
What are three approaches to handling consistency in the reading state?
What are some reasons that a controller may want to write policy to change the state in network switches?
What invariants does a controller attempt to maintain when writing policy?
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.
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.
How does network virtualization enable evolution?
By allowing multiple architectures to exist in parallel.