The Raspberry Pi is a low cost computer and you can use it to build your own OpenFlow switch for around $70 ! Learn about what you can and can't do with OpenFlow through experimentation.
This share explains how to make the RPi useful since it is not useful as a switch with just 1 Ethernet port, what software to install (Erlang + LINC) and finally how to make your new switch useful since an OpenFlow switch is pretty useless without an OpenFlow controller.
2. Steve Roberts
What is OpenFlow?
OpenFlow is a new concept in data networking
It's a way to implement Software Defined
Networks (SDN)
It's a standard developed by the ONF
Google invented in and they use it
It's likely to be the future of IP networking
3. Steve Roberts
Why is it new?
OpenFlow separates control plane from data
plane
What does that mean?
The decision how packets are routed is handled
separately from actually routing them
The decision how packets are routed can now
be programmed
4. Steve Roberts
So what?
Telecom networks separated control from data
20+ years ago
Separation allowed new services to be created
like: freephone, virtualised switchboards,
mobile phones...
OpenFlow will enable new services to be
created in the data world
It will lower the price point for routing much like
PC architecture did for computing
It will simplify networks
5. Steve Roberts
Why OpenFlow on RPi?
OpenFlow is new, so experimentation is the
best way to learn about it
Raspberry Pi is a cheap computer (~ $40)
Build your own OpenFlow switch or OpenFlow
network so you can learn what OpenFlow can
and can't do.
7. Steve Roberts
Switches and Routers
Ethernet switches and IP routers have more
than 1 Ethernet port
To be a switch or router you need more than 1
port
RPi only has 1 Ethernet port
Solution: Use USB to add more ports
8. Steve Roberts
Expanded RPi
Rpi $40
USB to Ethernet
adaptors $5
USB to WiFi
adaptors $12
Total cost: $70
Spec:
3x Ethernet
1x WiFi
http://openflow-sdn.blogspot.co.uk/2013/05/cheapest-openflow-switch-in-world-using.html
9. Steve Roberts
Software
OpenFlow is attracting lots of Open Source
attention with lots of high quality free software
available.
My switch uses LINC from FlowForwarding
Why use LINC?
Free
Supports latest standards
I've been involved with it
http://openflow-sdn.blogspot.co.uk/2013/05/openflow-switch-on-raspberry-pi-part-2.html
10. Steve Roberts
LINC
Runs on Erlang
Easy to get Erlang running on Raspberry Pi
Download LINC from http://flowforwarding.org
Supports latest OpenFlow protocol (1.3)
Supports OpenFlow config protocol (OFC1.1)
11. Steve Roberts
Typical OpenFlow Architecture
OpenFlow
Switch
OpenFlow
Controller
Business Logic
(Controller or controllers)
(Applications eg Firewall)
OpenFlow
Switch
OpenFlow
Controller
This is what the
Raspberry Pi is
Doing – it's a switch
12. Steve Roberts
Now what?
An OpenFlow switch on it's own is useless
It does nothing without a controller
Possible to run controller software on the same
Raspberry Pi or somewhere else in the network
Lots of free OpenFlow controller software out
there.
13. Steve Roberts
OpenFlow Controllers
Recommend to use the following with LINC
Ryu (http://osrg.github.io/ryu/)
Trema (http://trema.github.io/trema/)
Why?
These support the latest OF1.3 protocol.
Most other controllers are not as current
Start with Ryu when using LINC. I haven't tried
Trema yet but it should work
http://openflow-sdn.blogspot.co.uk/2013/05/openflow-switch-on-raspberry-pi-part-3.html
14. Steve Roberts
What Next?
You can see more detail on how to build an
OpenFlow switch on my blog
http://openflow-sdn.blogspot.co.uk
I'm planning to write the controller for a WiFi access
point supporting user authentication and user based
routing
Port LINC to a RoutoBox
Feel free to contact me