SDN Boot Camp
Cormac J. Sreenan (http://www.cs.ucc.ie/~cjs/) from University
College Cork (UCC) organized a course on SDN for the Irish Telecommunication
Graduate Initiative (TGI, http://www.tgi.ie). Prof. Nick Feamster (@feamster,
http://www.cc.gatech.edu/~feamster/) traveled to Cork to teach his well-known
Coursera SDN course as a 1 week boot camp. A lot of information can also be
taken from the SDN videos Nick hosts on his YouTube channel.
The course syllabus and reading list is here: http://gtnoise.net/classes/tgi-ucc/summer2014/.
The boot camp had teaching lessons in the morning (0900-1230) and lab classes
in the afternoon (1330-1700). Tough going, every day lessons and assignments.
It is helpful to
- Understand the basic principles of networking on layer2/3
- Know how to use a Linux system, e.g. ssh, some scripting, process control (to start/kill processes), tcpdump, editing files (vi or emacs)
- Know how to use VirtualBox (the assignments are running in a VirtualBox VM)
- Program in Python, which means to know something about functional programming as well as the specific syntax of Python. A crash course, e.g. http://learnpythonthehardway.org/book/, can be helpful
Lessons
The teaching is structured in modules. The modules are divided into lessons. Each lesson comes with a summary. The course material is very good, and contains a lot of links for further reading. It is helpful to study the reading list (papers for each module) while going along. The lectures start with an introduction into SDN, including the history (which is very good imho). Then it dives into the details: Control Plane, Virtualization, Programmable Data Plane, Programming SDNs and finally verification and trouble shooting. So this is a complete course, not just scratching the surface.Assignments
There are assignments for each module. Each assignment comes
with a detailed description of the underlying scenario and starts with examples
that one can simply run. This helps to understand what the assignment is about
and to put it into context. The actual assignment then is well-described.
Skeleton programs are provided and the evaluation of the assignment is clearly
stated. That doesn’t make it easier though. But Nick and his staff where in the
labs and provided valuable help for all involved. The assignments are not build
on top of each other, so missing one or being late on one doesn’t not hamper
progress.
What you learn
A lot of things: using visualization environments and Linux
of course. Then mininet to create network topologies. Using
the POX controller in several ways
(hub, switch, firewall) and later higher-level projects (Pyretic,
Resonance) to control an SDN network.
Summary
An excellent course if one wants to figure out what SDN
really is about, on PowerPoint level as well as in practice. I’d recommend the
course for people who want to know SDN, understand the state of available
software, or simply want to see where networking might go to in the next years.
It is also helpful to understand the networking principles of virtual
environments and data centers. Will Dennis has written more detailed experiences from taking the Coursera course in 2013.
Special thanks to Nick, Cormac, Mary Noonan (for organising
all the logistics perfectly).
No comments:
Post a Comment