Upload
steveroberts
View
9.337
Download
0
Embed Size (px)
DESCRIPTION
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.
Citation preview
Steve RobertsSeptember 2013
Turning the Raspberry Pi into an OpenFlow Switch
+ =
Steve RobertsSeptember 2013
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
Steve RobertsSeptember 2013
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
Steve RobertsSeptember 2013
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
Steve RobertsSeptember 2013
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.
Steve RobertsSeptember 2013
The Raspberry Pi
Cheap (~ $40) Runs Linux 1 Ethernet port USB ports
Steve RobertsSeptember 2013
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
Steve RobertsSeptember 2013
Expanded RPi Rpi $40
USB to Ethernet adaptors $5
USB to WiFi adaptors $12
Total cost: $70
Spec:
3x Ethernet1x WiFi
http://openflow-sdn.blogspot.co.uk/2013/05/cheapest-openflow-switch-in-world-using.html
Steve RobertsSeptember 2013
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
Steve RobertsSeptember 2013
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)
Steve RobertsSeptember 2013
Typical OpenFlow Architecture
OpenFlowSwitch
OpenFlowController
Business Logic(Controller or controllers)(Applications eg Firewall)
OpenFlowSwitch
OpenFlowController
This is what the Raspberry Pi isDoing – it's a switch
Steve RobertsSeptember 2013
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.
Steve RobertsSeptember 2013
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 workhttp://openflow-sdn.blogspot.co.uk/2013/05/openflow-switch-on-raspberry-pi-part-3.html
Steve RobertsSeptember 2013
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