SlideShare a Scribd company logo
1 of 10
Download to read offline
ARMボードもくもく勉強会

Raspberry Piで
OpenFlow動作を確認してみました

2014.2.22
@ttsubo
自己紹介

@ttsubo
・通信事業者向けネットワークエンジニアをやってます。
・最近は、データセンタ系ネットワーク技術動向に興味があり、 
 OpenStack等のIaaS管理基盤技術を勉強中。
・さらに、「これからの時代、ネットワーク屋も、プログラミ
 ング必要だよね。」という風潮に感化されて、OpenFlow
 プログラミングも勉強中。
2
動機付け
・OpenFlowスイッチを安価に手に入れたい
Raspberry Pi

LINC-Switch

+
FlowForwarding.org

=OpenFlow1.3
3
Raspberry Piとは?

「Raspberry Pi」は、イギリス生まれで低価格のPCボード。名刺サイズと
小型ながら、組み込みシステムのコントローラーとしてはもちろん、サーバー
としても十分な性能を備える。GUIベースのOS(Linux)も動き、デスクトッ
プPCとしても、テレビのセットトップボックスとしても使用できる。2013
年7月時点で世界で120万台が出荷された、人気ボードとなっている。

IT Proより引用

http://itpro.nikkeibp.co.jp/article/COLUMN/20130919/505592/

4
LINC-Switchとは?
・オープンソースベースのOpenFlowスイッチ

・OpenFlow v1.2/1.3.1とOF-Config1.1をサポート

・OFプロトコルをサポートするどのOpen Flowコントローラ とも動作可能

5
OpenFlow動作確認方法
以下のブログ記事を参考にしてください
Ryu SDN Frameworkを活用した簡易ルータ機能の作成(7)
 ∼IPルーティング基本編∼
http://ttsubo.hatenablog.com/entry/2014/02/16/221417

6
OpenFlow簡易ルータの概要
Rest-client

Interface設定
Gateway設定

OpenflowRouter

REST-IF
PortTable

ArpTable
PC-A

192.168.100.1

FlowMod

Flowテーブル

LINC-Switch(OFS)

PC-B

192.168.101.1

7
!

OpenFlow動作の確認結果

OpenFlow化したRaspberry Piで簡易ルータを実現して
みて、期待どおり、動作できました!!
OFC

FlowMod

SecureChannel

を用いたFlowエントリ
書き込み処理は正しく動作した

は正しく開設できた

Packet-out

Flowエントリにマッチしない

を用いたパケット送出処理は正
しく動作した

未知パケットのPacket-in
処理は正しく動作した

PC-A

PC-B

Flow
テーブル

Flowエントリに従った

LINC-Switch(OFS)

Forwarding

処理は正しく動作した
8
注意事項

OFSには、スイッチIDとしてdpid(通常は自動付与)を
変更する場合、of_configを活用する必要があります。

Rest-client

REST-IF

OFS
を区別するdpidは
自由に変更したい

OpenflowRouter
FlowMod

dpid

LINC-Switch(OFS)

9
参考)LINC-Switch上での設定方法
OFS起動プロンプト上でのコマンド投入例
(linc@LincSwitch)1> {ok, C} = enetconf_client:connect("localhost", [{port, 1830}, {user, “linc"},
            {password, "linc"}]).
(linc@LincSwitch)1> linc_ofconfig:get_switch_state(0).

!

(linc@LincSwitch)1> Controller = {controller, [{id, ["Switch0-DefaultController"]},
            {'ip-address', ["192.168.0.100"]},
            {port, ["6633"]}, {protocol, ["tcp"]}]},
(linc@LincSwitch)1> Config = {'capable-switch', [{xmlns, "urn:onf:of111:config:yang"}],
            [{id, ["CapableSwitch0"]}, {'logical-switches',
            [{'switch', [{id, ["LogicalSwitch0"]}, {'datapath-id',
["00:00:00:00:00:01:00:00"]},
            {enabled, ["true"]}, {controllers, [Controller]}]}]}]}.

!

(linc@LincSwitch)1> {ok, Y} = enetconf_client:edit_config(C, running, {xml, Config}).

!

(linc@LincSwitch)1> linc_ofconfig:get_switch_state(0).

10

More Related Content

What's hot

OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
Etsuji Nakai
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
Etsuji Nakai
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
Etsuji Nakai
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
Etsuji Nakai
 
OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)
OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)
OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)
VirtualTech Japan Inc.
 
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
VirtualTech Japan Inc.
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
Etsuji Nakai
 

What's hot (20)

OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
 
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
 
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF
 
OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)
OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)
OpenStack-Ansibleで作るOpenStack HA環境 Mitaka版(期間限定公開)
 
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
 
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
 

Similar to OpenFlow in Raspberry Pi

コミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということコミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということ
Kazuho Oku
 

Similar to OpenFlow in Raspberry Pi (20)

Openhard150114
Openhard150114Openhard150114
Openhard150114
 
Cumulus Linux 導入事例 -ネットワークをDevOpsに統合した、エンジニアが幸せになるインフラ運用手法のご紹介-
Cumulus Linux 導入事例 -ネットワークをDevOpsに統合した、エンジニアが幸せになるインフラ運用手法のご紹介-Cumulus Linux 導入事例 -ネットワークをDevOpsに統合した、エンジニアが幸せになるインフラ運用手法のご紹介-
Cumulus Linux 導入事例 -ネットワークをDevOpsに統合した、エンジニアが幸せになるインフラ運用手法のご紹介-
 
BP Study #16
BP Study #16BP Study #16
BP Study #16
 
コミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということコミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということ
 
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
 
WWCT ラズパイ Bluemix 講習資料
WWCT ラズパイ Bluemix 講習資料WWCT ラズパイ Bluemix 講習資料
WWCT ラズパイ Bluemix 講習資料
 
Apache Hadoopを改めて知る
Apache Hadoopを改めて知るApache Hadoopを改めて知る
Apache Hadoopを改めて知る
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
 
IoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトークIoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトーク
 
Open capi meetup20180409 (revised)
Open capi meetup20180409 (revised)Open capi meetup20180409 (revised)
Open capi meetup20180409 (revised)
 
OpenFlow Group Table
OpenFlow Group TableOpenFlow Group Table
OpenFlow Group Table
 
Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224
 
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
 
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-
 
ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性
 
Lagopus, raw socket build
Lagopus, raw socket buildLagopus, raw socket build
Lagopus, raw socket build
 
2018 07-23
2018 07-232018 07-23
2018 07-23
 
Hadoop基盤を知る
Hadoop基盤を知るHadoop基盤を知る
Hadoop基盤を知る
 
OpenStack with OpenFlow
OpenStack with OpenFlowOpenStack with OpenFlow
OpenStack with OpenFlow
 

More from Toshiki Tsuboi

SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用
Toshiki Tsuboi
 
BGP/MPLS-VPNのお勉強資料
BGP/MPLS-VPNのお勉強資料BGP/MPLS-VPNのお勉強資料
BGP/MPLS-VPNのお勉強資料
Toshiki Tsuboi
 

More from Toshiki Tsuboi (13)

GoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティスGoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティス
 
SDNアプローチによるBGP経路監視の提案
SDNアプローチによるBGP経路監視の提案SDNアプローチによるBGP経路監視の提案
SDNアプローチによるBGP経路監視の提案
 
BMP活用による SDN時代のオーバレイNW監視手法の提案
BMP活用による SDN時代のオーバレイNW監視手法の提案BMP活用による SDN時代のオーバレイNW監視手法の提案
BMP活用による SDN時代のオーバレイNW監視手法の提案
 
SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用
 
BGP/MPLS-VPNのお勉強資料
BGP/MPLS-VPNのお勉強資料BGP/MPLS-VPNのお勉強資料
BGP/MPLS-VPNのお勉強資料
 
RyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみた
RyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみたRyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみた
RyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみた
 
Technical report for IPv6 Routing w/ bgp4+ (part2)
Technical report for IPv6 Routing w/ bgp4+ (part2)Technical report for IPv6 Routing w/ bgp4+ (part2)
Technical report for IPv6 Routing w/ bgp4+ (part2)
 
Technical report for IPv6 Routing w/ bgp4+
Technical report for IPv6 Routing w/ bgp4+Technical report for IPv6 Routing w/ bgp4+
Technical report for IPv6 Routing w/ bgp4+
 
InterAS MPLS-VPN with RyuBgp
InterAS MPLS-VPN with RyuBgpInterAS MPLS-VPN with RyuBgp
InterAS MPLS-VPN with RyuBgp
 
Evaluation of OpenFlow in RB750GL
Evaluation of OpenFlow in RB750GLEvaluation of OpenFlow in RB750GL
Evaluation of OpenFlow in RB750GL
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlow
 
Echo server implementation for Python
Echo server implementation for PythonEcho server implementation for Python
Echo server implementation for Python
 
TremaDay #2
TremaDay #2TremaDay #2
TremaDay #2
 

OpenFlow in Raspberry Pi