Software-Defined Networking and the Networking Space in general has pretty obscure documentation. Examples, working prototypes, and learning resources in general are pretty hard to come by.
So, I’ve compiled a list of resources that might help out with the journey to SDN.
Here’s a bunch of interesting articles and websites that contain information on SDN, that may help you out with setting up your network for success.
- A decent history of the evolution of Software-Defined Networks: The Road to SDN
- Windy’s Software-Defined Networks: Blogspot
- An in-depth explanation on OpenFlow and SDN on StackOverflow
- YT course on working with the Ryu Controller
Controller Usage #
Ever faced times where you couldn’t find the required documentation for a controller or something? I know I have, so here are some links to some controllers that I’ve used over the course of my study.
Hopefully, at some point, I’ll write an article about working with some of these controllers and link those here.
- The POX Controller Documentation
- Ryu Controller Documentation
- Floodlight Controller Documentation
- ONOS Controller Documentation
- Faucet Controller Documentation, Experiment
- RFC for Benchmarking Methodology of SDN Controller Performance: rfc
OpenDaylight has given me enough of a headache to warrant it’s own section.
OpenDaylight is quite complex, in that, the documentation is almost always out of date for the version that you are about to use. The compability and features for one version will not work for another. Additionally, anything and everything that you can expect to go wrong, will go right. It’s the part where you think it’s going to work correctly that seems to be the problem.
So, just a note, the only working condition OpenDaylight that has all the
software in a working state is the OSGi version of OpenDaylight. Everything
above OpenDaylight Nitrogen seems to be missing out on the
dlux suite and the
- OpenDaylight Fundamentals on packt
- Working with NETCONF in OpenDaylight
- Executable NETCONF Repositories
- Executable Karaf Download for OpenDaylight Nitrogen
Here are some courses on SDN, that may help you out in either finding some inspiration or learning something new.
- One of the best introductions to Software-Defined Networking: Nick Feamster’s Course on Software-Defined Networking
- A set of lab courses by Pietro Manzoni on working with SDN emulators: 1, 2, 3
Here are some resources that can help to work with SDN emulators,
A lot of research in the SDN-IoT scene revolves around strategies to mitigate malicious traffic pouring into nd infecting the network. AI, ML, and DL works are now attempting to train models that can stop these occurences from taking place before they take place. Here are some datasets that existing models rely on,
Some other resources which are tangentially relevant to SDN-related tech,
- Isolate your VMs into a NAT network for testing purposes: NAT network
- Make your Raspberry Pi into an OpenFlow Switch: David Bombal
- Awesome SDN List: GitHub
P4 is a new paradigm to manage the control of networks, formerly part of the Open Networking Foundation, which now falls under the Linux Foundation. The following are resources on getting started and working with the technology.
From what I’ve seemed to find, the most reliable way to get started with the P4 developer ecosystem is to use the official VM build instructions as given by the P4 lang community.
If you are interested in setting up other ecosystems (none of which have seemed to work for me), here are links for that as well.