SDN programming: Three Steps
Problems with consistency when reading network state
Network Virtualization
abstracting the logical networks away from the physical equipment (network) - analogy VM and physical computer
Motivation for NV
Facilitate research/evolution by allowing coexistence;
Adjust resources devoted to any service at ant given time;
Benefits of NV
Rapid Innovation (at the rate of software evolves)
Allow new forms of network control
Simplify programming
NV vs SDN
SDN programming difficulty (openflow)
Southbound API
the communication interface between the controller and the forwarding devices (such as openflow)
Northbound API
a higher-level programming interface between apps and controller so that an application is expressing what it wants to happen in terms of higher-level semantics such as policy APIs, billing APIs, and security APIs
Pyretic
SDN language (express high-level policies) and runtime (automatically compile these policies to low-level OpenFlow rules and install on hardware devices)
Pyretic features
Pyretic function examples