OpenFlow in Raspberry Pi
Upcoming SlideShare
Loading in...5
×
 

OpenFlow in Raspberry Pi

on

  • 1,782 views

Evaluation of LINC-Switch in Raspberry Pi

Evaluation of LINC-Switch in Raspberry Pi

Statistics

Views

Total Views
1,782
Views on SlideShare
1,525
Embed Views
257

Actions

Likes
4
Downloads
6
Comments
0

1 Embed 257

https://twitter.com 257

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

OpenFlow in Raspberry Pi OpenFlow in Raspberry Pi Presentation Transcript

  • 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