of the texts and illustrations are taken from the talks/lectures given by the referenced networking professors/gurus/ninjas (Credits at the end of the Slide).
of matches and actions • Multi-stage pipeline of packet processing • Offload some control- plane functionality (?) access control MAC look-up IP look-up … of (possibly) different characters
on the underlying hardware • Need better languages – Composition of modules – Managing concurrency – Querying network state – Network-wide abstractions • Ongoing at Princeton – http://www.frenetic-lang.org/ Controller Switches
view at controller – Direct control over data plane • Plenty of room for bugs – Still a complex, distributed system • Need for testing techniques – Controller applications – Controller and switches – Rules installed in the switches
for different tasks – E.g., firewall and routing • Routing – Match(dstip=12.0.0.0/8) forward(3) • Firewall – Match(srcip=1.2.3.4, dstip=12.1.1.1) drop • One rule may conflict with another
errors – Retransmission of lost packets – Reordering of out-of- order packets • This can mask some bugs – E.g., forgetting to handle the packet that triggered an event – E.g., forgetting to handle packets that arrive before you install rules in the switches
in your program – Locating and fixing bugs – E.g., using tools like gdb • Testing – Convincing yourself that your program (probably) works – Systematically finding inputs that lead to incorrect outputs
useful for SDN programmers? – How can we exploit OpenFlow capabilities to support debugging? • Testing – How to overcome the scalability challenges? – How to detect performance bugs? • Preventing bugs – How can we change the programming environment to prevent bugs? – How can we change the programming environment to make testing easier?
to the data plane – Separation of control and data – Leveraging techniques from distributed systems • Significant momentum – In both research and industry
eat the world” – SDN and NFV are a natural consequence of a bigger trend. 2. Network infrastructure will be: – Baremetal + open-source infrastructure + proprietary apps 3. Network box vendors will be irrelevant 4. Network operators will have developed and will own proprietary software 5. Standards will have diminished value 6. Networks will be more reliable
Past of Protocols • Nick McKeown, Stanford University, Many Talks/Articles • Jennifer Rexford, COS 597E, Princeton University • Mike Freedman, COS 461, Princeton University • Nick Feamster, https://www.coursera.org/course/sdn • Li Erran Li, COMS 6998-10, Univ. of Columbia • Marco Cello, SDN Talk @ CNR, Univ. Genova • Guido Appenzeller, Network Virtualization in Multi- tenant Datacenters, VMware