This week in the SDN course on coursera there were lots of examples of real use of SDN stuff, for example like the B4 WAN by Google. They got a really interesting and cool interview with the Network Lead at Google – Amin Vahdat.
And! They actually put this interview up on youtube so you don’t have to be registered for the course on coursera to view the interview. Actually I just noticed all the interviews are there, including the one I mentioned before with the Internetz Architect David Clark.
Programming assignment for this week is to work with pyresonance, which is based on resonance + pyretic which is a controller that can change how network is forwarded/routed based on outside things, like network intrusion or bandwidth caps. This is really new stuff. The code that was put on github was put there just 3 days ago :)
Assignment is to create a load balancer and forward traffic to hosts depending on load :)
Ever wondered which is the easiest way?
Using the “configDefault –all” does not clear everything, for example it doesn’t clear: system name, zoning, etc.
Setting the switch to AG mode (Access Gateway) – will clear more things as it basically dumbs down the switch, it does not remove the licenses, IP and password.
The ‘ag –modedisable’ (puts switch back in normal switch mode) command sets the default zones access to No Access, so if you want to merge this switch into a fabric you’ll most likely need to change that and disable/enable the E_Ports.
Quite often there are some good tips on the Brocade’s community forum.
Is what I did this week during the SDN Course on Coursera :)
Within mininet or with a real OpenFlow capable switch, you can point the switch to use a controller. The controller would figure out all the smart stuff and the switch only does what the controller tells it to do.
POX is one of these APIs that you can use to create controllers, it’s good for learning about controllers as it’s not so low level as it’s sibling NOX, which is in C++. There are switches in JAVA too (Floodlight) and many more.
With POX there are some example switches, for example a basic L2 learning switch. It remembers (among quite a few other things) MAC addresses for hosts and remembers in which ports the MAC addresses can be found. With a simple ping: After L2 broadcast is done to find the MAC of the recipient, the controllers install the MAC_source+port and MAC_destination+port as flows on the switches.
What we did this week was to right after the switch is executed, run some extra code that parses a .csv file for MAC address pairs that are not allowed to talk and add these pairs into the flow table.
Pretty cool I think :)
Halfway now, in week3, and just finished the first programming assignment in the course Software Defined Networking.
Quite happy with the course so far, the quizzes are not too hard if you actually listen to the video lectures and after taking Coursera’s “Learn to Program: Crafting Quality Code” the python code was not too much for me. It took me about day to get my head around it again (I don’t write programs or scripts in python so often) and complete this first assignment where we got to create a custom topology with customized links.
I think it was a great first assignment as it got me used to playing with python again and also some of the features and what one can do with mininet.
Even though I’m on summer holiday I’d squeeze in time for a Software-Defined Networking course on coursera! https://www.coursera.org/course/sdn
It’s given by a professor from Georgia University.
It’s still not too late to register, it’s only on the second week (until tomorrow Monday 8/7) and the first two weeks are not too complicated, just some introductions and history for SDN. Programming things should start soon though.
The hard deadlines for each week’s quiz aren’t until 5th of August so plenty of time to catch up.
In particular I’d recommend a quite cool interview with David D. Clark and who is that? Quote from wikipedia: “… acted as chief protocol architect in the development of the Internet…” Which is pretty awesome. Hearing about some design decisions around the internet was quite interesting.