9.1 Programming SDNs Flashcards
Consistent updates in SDN Problems
- Updates may disrupt packets along an end to end path
2. Packets from the same flow may be disrupted
SDN Programming 3 steps
- Read/monitor network state as well as events in the network (such as failures, topology changes, security events)
- compute policy based on state controller sees from network (decision plane)
- write policy back to switches by installing appropriate flow table state into switches
Which steps in SDN program can present an issue
Reading and writing
Reading State Problem: Limited # of rules
Limited # of rules due to space on switches. Cannot install all possible patterns
Reading state problem: Limited # of rules - SOLUTION
Dynamically unfold rules as traffic arrives.
Programmer specifies GroupBy(srcip)
Runtime dynamically adds rules as traffic arrives
Reading State Problem: Extra Unexpected events
extra unexpected events may cause inconsistencies
If a packet arrives as another one is being processed by the controller (installing a rule), it could cause issues.
Reading State Problem: Extra Unexpected events - SOLUTION
Programmer specifies “Limit(1)”
Runtime system hides the extra events
Approaches to maintaining consistency while reading state
predicates
unfolding
suppression
Reasons to write policies
maintenance
unexpected failure
traffic failure
Things to ensure when writing policies
no forwarding loops
no black holes
no security violations
black hole
router or switch receives a packet but doesn’t know what to do with it.
Writing Consistent Policy: Two Phase Commit
Version numbers in packets {P1, P2}
tag the packet on ingress so that the switches keep copies of both P1 and P2 for some time
When all switches have received rules corresponding to the new policy then incoming packets can be tagged with P2.
After time/sure no more P1 come in, we trash P1 ruleset
Writing Consistent Policy: Two Phase Commit - Optimization
don’t run on all switches.
only apply mechanism on switches affected by packets under old ruleset
Network Virtualization
Abstraction of physical network.
Multiple logical networks on shared physical substrate
Why virtual networking
network virtualization enables evolution by letting multiple architectures exist in parallel