Here is a list of links to key OpenFlow resource materials:
- OpenFlow Technical Specifications (ONF SDN Technical Library). Important documents:
- Mininet – Instant Virtual Network for development, testing, and research
- Download/Get Started With Mininet – I highly recommend the VM Installation on VirtualBox for any platform.
- OpenFlow Tutorial – An excellent series for learning the ropes for both Mininet and OpenFlow essentials. Start the tutorial by clicking “Installing Required Software” on this page. Download the latest VM from “Download/Get Started With Mininet” instead as the version linked in the tutorial is a patch revision behind as of this post. If you are using modern hardware and operating systems, download the 64-bit version. If using Windows or older hardware, download the 32-bit version as recommended in the actual download page.
- Ryu – Component-based software defined networking framework. This is by far the easiest OpenFlow controller I’ve developed for and highly recommend it for getting your feet wet in controller development or prototyping network logic before implementing in a much more complex controller like ONOS. I’ll be writing several articles using Ryu as the prototype controller.
- Ryu Documentation – Always the latest documentation available for Ryu and covers the internal APIs and writing your first Ryu application.
- Ryu SDN Framework (PDF) – A free book written by the Ryu project team that covers the use of Ryu with Openflow 1.3, REST, and plenty of other goodies. Also available in other formats on the Ryu Resources page.
- OpenFlow Tutorial – Covers using OpenFlow with Ryu. Also uses a VM for the tutorial, but the installed software is several years out of date. Skip the instructions on installing requirements and updating Ryu to continue using this image, otherwise the other steps will fail. I recommend downloading the OVA (OVF Archive) version as that can be imported and automatically configure the VM like the OVF available from Mininet.
- ONOS – Open Network Operating System. Where Ryu excels in embedded OpenFlow applications (many small OpenFlow islands in a network), ONOS excels in massive network-wide control. This has quite a bit more of a learning curve than Ryu so I suggest running through the Ryu tutorials before starting on ONOS, even if ONOS is already decided to be your final application platform. That cost is not without its reward, however. ONOS is truly an awesome platform that allows for greater scalability.
- Basic ONOS Tutorial – Also a VM-based tutorial packaged with Mininet to get started with ONOS. Like the others, it will require VirtualBox. Please note that the VM linked in the tutorial contains an older version of ONOS. As of this post, there is a newer tutorial VM available on the Downloads page, but only references the Distributed Tutorial and does not seem to cover the Basic ONOS Tutorial here. Finally, the Download page does warn that the VM ZIP files may not be extractable in Window’s default zip program due to a bug in calculating file sizes and suggests using 7-Zip to extract the archive.
- ONOS Wiki – The best and current source for documentation on ONOS.