14
Steve Roberts September 2013 Turning the Raspberry Pi into an OpenFlow Switch + =

Build an OpenFlow switch using the Raspberry Pi

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

Page 1: Build an OpenFlow switch using the Raspberry Pi

Steve RobertsSeptember 2013

Turning the Raspberry Pi into an OpenFlow Switch

+ =

Page 2: Build an OpenFlow switch using the Raspberry Pi

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

Page 3: Build an OpenFlow switch using the Raspberry Pi

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

Page 4: Build an OpenFlow switch using the Raspberry Pi

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

Page 5: Build an OpenFlow switch using the Raspberry Pi

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.

Page 6: Build an OpenFlow switch using the Raspberry Pi

Steve RobertsSeptember 2013

The Raspberry Pi

Cheap (~ $40) Runs Linux 1 Ethernet port USB ports

Page 7: Build an OpenFlow switch using the Raspberry Pi

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

Page 8: Build an OpenFlow switch using the Raspberry Pi

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

Page 9: Build an OpenFlow switch using the Raspberry Pi

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

Page 10: Build an OpenFlow switch using the Raspberry Pi

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)

Page 11: Build an OpenFlow switch using the Raspberry Pi

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

Page 12: Build an OpenFlow switch using the Raspberry Pi

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.

Page 13: Build an OpenFlow switch using the Raspberry Pi

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

Page 14: Build an OpenFlow switch using the Raspberry Pi

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