SlideShare uma empresa Scribd logo
1 de 14
Steve Roberts
Turning the Raspberry Pi
into an OpenFlow Switch
+ =
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
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
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
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.
Steve Roberts
The Raspberry Pi

Cheap (~ $40)

Runs Linux

1 Ethernet port

USB ports
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
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
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
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)
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
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.
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
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

Mais conteúdo relacionado

Destaque

KhuHub student guideline
KhuHub student guidelineKhuHub student guideline
KhuHub student guidelinesangyun han
 
OpenWRT/Hostapd with ONOS
OpenWRT/Hostapd with ONOSOpenWRT/Hostapd with ONOS
OpenWRT/Hostapd with ONOSsangyun han
 
XOS in open CORD project
XOS in open CORD projectXOS in open CORD project
XOS in open CORD projectsangyun han
 
netconf, restconf, grpc_basic
netconf, restconf, grpc_basicnetconf, restconf, grpc_basic
netconf, restconf, grpc_basicGyewan An
 
OpenFlow Extensions
OpenFlow ExtensionsOpenFlow Extensions
OpenFlow ExtensionsUS-Ignite
 
Chris Swan at Container.Camp: Docker networking
Chris Swan at Container.Camp: Docker networkingChris Swan at Container.Camp: Docker networking
Chris Swan at Container.Camp: Docker networkingCohesive Networks
 
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발sangyun han
 
Introduction of ONOS and core technology
Introduction of ONOS and core technologyIntroduction of ONOS and core technology
Introduction of ONOS and core technologysangyun han
 
ONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testsangyun han
 
[SoftCon]SDN/IoT 그리고 Testbed
[SoftCon]SDN/IoT 그리고 Testbed[SoftCon]SDN/IoT 그리고 Testbed
[SoftCon]SDN/IoT 그리고 Testbedsangyun han
 
Introduction to CORD project
Introduction to CORD projectIntroduction to CORD project
Introduction to CORD projectsangyun han
 
ONOS - multiple instance setting(Distributed SDN Controller)
ONOS - multiple instance setting(Distributed SDN Controller)ONOS - multiple instance setting(Distributed SDN Controller)
ONOS - multiple instance setting(Distributed SDN Controller)sangyun han
 
ARDUINOLIKE BOARDS: A SHORT HARDWARE REFERENCE GUIDE FOR MAKERS
ARDUINOLIKE BOARDS: A SHORT HARDWARE REFERENCE GUIDE FOR MAKERSARDUINOLIKE BOARDS: A SHORT HARDWARE REFERENCE GUIDE FOR MAKERS
ARDUINOLIKE BOARDS: A SHORT HARDWARE REFERENCE GUIDE FOR MAKERSLeandro Agro'
 
Wireless sensor open flow
Wireless sensor open flowWireless sensor open flow
Wireless sensor open flowKellyCheah
 
Container Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondContainer Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondKubeAcademy
 
Docker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversDocker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversBrent Salisbury
 

Destaque (17)

KhuHub student guideline
KhuHub student guidelineKhuHub student guideline
KhuHub student guideline
 
OpenWRT/Hostapd with ONOS
OpenWRT/Hostapd with ONOSOpenWRT/Hostapd with ONOS
OpenWRT/Hostapd with ONOS
 
XOS in open CORD project
XOS in open CORD projectXOS in open CORD project
XOS in open CORD project
 
netconf, restconf, grpc_basic
netconf, restconf, grpc_basicnetconf, restconf, grpc_basic
netconf, restconf, grpc_basic
 
OpenFlow Extensions
OpenFlow ExtensionsOpenFlow Extensions
OpenFlow Extensions
 
Chris Swan at Container.Camp: Docker networking
Chris Swan at Container.Camp: Docker networkingChris Swan at Container.Camp: Docker networking
Chris Swan at Container.Camp: Docker networking
 
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
 
Introduction of ONOS and core technology
Introduction of ONOS and core technologyIntroduction of ONOS and core technology
Introduction of ONOS and core technology
 
ONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and testONOS - setting, configuration, installation, and test
ONOS - setting, configuration, installation, and test
 
[SoftCon]SDN/IoT 그리고 Testbed
[SoftCon]SDN/IoT 그리고 Testbed[SoftCon]SDN/IoT 그리고 Testbed
[SoftCon]SDN/IoT 그리고 Testbed
 
Introduction to CORD project
Introduction to CORD projectIntroduction to CORD project
Introduction to CORD project
 
ONOS - multiple instance setting(Distributed SDN Controller)
ONOS - multiple instance setting(Distributed SDN Controller)ONOS - multiple instance setting(Distributed SDN Controller)
ONOS - multiple instance setting(Distributed SDN Controller)
 
ARDUINOLIKE BOARDS: A SHORT HARDWARE REFERENCE GUIDE FOR MAKERS
ARDUINOLIKE BOARDS: A SHORT HARDWARE REFERENCE GUIDE FOR MAKERSARDUINOLIKE BOARDS: A SHORT HARDWARE REFERENCE GUIDE FOR MAKERS
ARDUINOLIKE BOARDS: A SHORT HARDWARE REFERENCE GUIDE FOR MAKERS
 
Wireless sensor open flow
Wireless sensor open flowWireless sensor open flow
Wireless sensor open flow
 
Sicurezza informatica nelle Scuole
Sicurezza informatica nelle ScuoleSicurezza informatica nelle Scuole
Sicurezza informatica nelle Scuole
 
Container Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondContainer Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyond
 
Docker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversDocker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan Drivers
 

Último

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Último (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Build an OpenFlow switch using the Raspberry Pi

  • 1. Steve Roberts Turning the Raspberry Pi into an OpenFlow Switch + =
  • 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.
  • 6. Steve Roberts The Raspberry Pi  Cheap (~ $40)  Runs Linux  1 Ethernet port  USB ports
  • 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