In my last GENI post I ended by talking about “programmable networks.”
Just think about it. As a web developer, you leverage APIs for all kinds of services and hardware — Facebook, Twitter, Square, Arduino boards — you name it. It’s the wood and glue of the web applications we build.
Think about the networks that our apps run on — unless you’re an Ops superstar with a big budget, you probably don’t think much about how the switches in your applications’ networks actually route traffic. If you could programmatically define how networks behaved, what kind of new, cool apps leveraging that could you build?
That’s the basis of Software Defined Networking — turning over the routing logic, or the control plane of network switches, over to network architects and engineers through an API.
How could you use that alongside gigabit network links, which we played with in the previous post? Did your head explode yet?
OpenFlow is an emerging API that some big switch manufacturers are beginning to implement, and it opens another door that has been long-guarded by the barriers of cost or general scarcity.
Today I put together a screencast that demonstrates how you can play with OpenFlow on GENI with:
- Open vSwitch, an OpenFlow-capable software-based switch
- Floodlight, a “controller” that controls Open vSwitch
- Some of our favorite command line tools like curl, traceroute, and ping
In the video, I have a software switch and two nodes hooked up to it. I issue JSON requests over HTTP to control how the switch behaves. I could build ruby, python, or node apps to issue those requests if I wanted to! And some consider it to be the future of networking.
Just to clarify, you don’t need to have access to GENI to play with OpenFlow. Anyone can install Open vSwitch on a networked box and get it up and running. But GENI provides a great environment for researches and developers to play with it, especially if they want to experiment with 1 Gbps speed across a global testbed.
Using a software switch isn’t the only method for playing with OpenFlow on GENI either. You can request access to some real live hardware switches and rule your networked world.
Want to play on GENI too? Get involved in the Mozilla Ignite Challenge!
Check it out below. It’s in two parts.