Programming SDN Flashcards
Openflow consistence problem
- update may disrupt packets along an end to end path. 2. Packets from the same flow might be disrupted.
Examples fo state openflow may read
failures, topology changes, security events, etc.
Compute Policy
decide forwarding behavior
Write Policy
Save the policy back to the swtiches
What makes openflow programming difficult
rules are simple match action rules
size problem
Limits the number of rules. Cannot install all possible patterns
Solution to the size problem
Dynamically unfold rules as traffic arrives. Programmer specifies “GroupBy (srcip)”. Runtime dynamically adds rules as traffic arrives.
Problems when reading state
Extra unexpected events might arrive. 1st packet go to control then decision is made. Solution 1. Programmer specifies “limit(1)”. Runtime hides extra events
3 approaches to help guaranty consistence when reading state
Predicates, unfolding, suppression
Writing policy: Avoiding Disruption
Need atomic updates of the entire configuration.
Solution to writing disruption issue
2 phase commit version numbers in packets
Optimization for 2 phase commit.
Only apply mechanism on switches that involve affected versions of traffic or topology i.e. Keeping the old and new state on routers and switches
What is network virtualization?
Abstraction of physical network. Multiple logical networks share physical substrate
Why use network virtualization
To work around “Ossification” of internet architecture.
Ossification
A tendency toward or state of being molded into a rigid, conventional, sterile or unimaginative condition.
What does network virtualization enable
evolution by letting multiple architectures exist in parallel
Promise of network virtualization
Rapid innovation (software speed), New forms of network control, Potentially simpler programming
SDN vs Network Virtualization
SDN: Separate data and control NV: separate logical and physical
Characteristics of network virtualization
Allowing multiple tenants to share underlying physical infrastructure. Separating logical and physical networks
Design goals for network vertiualization
Flexible, Manageable, scalable, secure, programmable, able to support different technologies
Nodes of Virtual Network
Must be virtualized
Edges
Tunnels. Encapsulate the ethernet frame in an ip packet. Decapsulate when virtual host is reached. Openvswitch.org
Is mininet a virtual network or sdn
Virtual Network
How do virtual networks facilitate flexible, agile, development?
Rapid innovation, Vendor independence, scale
Solution to openflow programming difficulties
Northbound api
Northbound api?
Api that allows communication with high level components
Southbound api?
api that allows communication with low level components
Frenetic
sql like query language
Ways to compose policies
Parallel: Perform both policies operations simultaneously (e.g. Counting fowarding). Sequential: Perform one operation then the next.
Pyretic features
Network policy as function. Boolean predicates (predicates on packets). Virtual packet header fields. Policy Composition.
Dynamic Policies
Timeseries of static policies Current value: self.policy. 1. Set a default policy 2. register callback that updates policy.