"innovative technology I think people should read about"

Monthly Archives: November 2012

So I wanted to tackle something traditional networks can do, but using Openflow and SDN. I came to conclusion that the opensource controller made by BigSwitch “Floodlight” fit just the ticket. Before I deep dive into some of the progress I’ve made in this area I wanted to make sure the audience is aware of a few outstanding issues regarding OpenFlow and QoS.

QoS Refernces:

OpenFlow (1.0) supports setting the network type of service bits and enqueuing packets. This does not however mean that every switch will support these actions.

Queuing Methods:Some Openflow implementation to NOT support queuing structures to attach to a specific ports, in turn then “enqueue:port:queue” action in Openflow 1.0 is optional. Therefore resulting in failure on some switches

So, now that some of the background is out of the way, my ultimate goal was so be able to change the PHB’s of flows within the network. I chose to use an OpenStack like example, assuming that QoS will be applied to “fabric” of OVS switches that support Queuing. The below example will show you how Floodlight can be used to push basic QoS state into the network.

OVS 1.4.3 , Use of ovs,vsctl to set up queues.

Parts of the application:

QoS Module:

Allows the QoS service and policies to be managed on the controller and applied to the network

QoSPusher & QoSPath

Python application used to manage QoS from the command line

QoSPath is a python application that utilizes cirtcuitpusher.py to push QoS state along a specific circuit in a network.

From the topology above, we want to Rate-Limit traffic from Host 10.0.0.1 to only 2Mbps. The links suggest we need to place 2 flows, one in switch 00:00:00:00:00:00:01 and another in 00:00:00:00:00:00:02 that enqueue the packets that match Host 1 to the rate-limted queue.

The set-up of the queues on OVS was left out of this example. but the basic setup is as follows:

Give 10GB bandwidth to the port (thats what is supports)

Add a qos record with 3 queues on it

1st queue, q0 is default, give it a max of 10GB

2nd queue is q1, rate limited it to 20Mbps

3rd queue is q2, rate limited to 2Mbps.

I will be coming out with a video on this soon, as well as a community version of it once it is more fully fleshed out. Ultimately QoS and OpenFlow are at their infancy still, it will mature as the latter specs become adopted by hardware and virtual switches. The improvement and adoption of OFConfig will also play a major role in this realm. But this is used as a simple implementation of how it may work. Integrating OFConfig would be an exciting feature.

With all the buzz about Software Defined Networking and Network Virtualization I figured I’d put a post up giving some explanation on how the network is actually “virtualized” as a resource and what controls it (the SDN controller)

As you may know now Nicira the network virtualization startup and maintainer of OpenVSwitch has been bought by VMWare for 1.26B had given precedence in the field that NV is around to stay. Other companies like BigSwitch, NEC, HP, and IBM (other as well I did not mention) are all joining the industry with their own SDN Controllers. They will all essentially do most of the same core things following the openflow spec as is keeps evolving over time.

Some of the great things network virtualization, SDN and applications on top of a logical network infrastructure provides are isolation, innovation, vendor agnosticism, centralization, public / private cloud integration and much more. I hope to discuss specific NV technologies, theories and test cases.

Check out Founder and CTO of Nicira Netoworks Martin Casado’s site http://networkheresy.com/ for a good source in specific technologies surrounding this area.

vagrantup.com is home of a powerful and neat new tool built on top of Oracle’s Virtualbox.

If you a developer and you haven’t heard of Vagrant then it is time for you to get familiar with this tool. Vagrant appeals to the developer because of it’s easily to deploy VM’s that are configurable based on your individual, team, group or companies needs. Running through their tutorial on how to get started with vagrant is a good way to see the basic gist of what vagrant is. After you run through this tutorial, if your a web developer you will immediately see its use cases.

Because vagrant is built on top of Oracle’s Virtualbox it follows the “standing on the shoulders of giants” cliché, but this doesn’t hurt Vagrant at all since Virtualbox isn’t going anywhere and it well known virtualization software in the development realm. Vagrant appeals to the developer and to the enterprise development teams because of its power to centralize and control development environments.