Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

SDNソフトウェアスイッチlagopus for FreeBSD

1.777 visualizaciones

Publicado el

SDNソフトウェアスイッチLagopusがFreeBSDに対応しましたので、紹介します。

Publicado en: Software
  • Sé el primero en comentar

SDNソフトウェアスイッチlagopus for FreeBSD

  1. 1. SDNソフトウェアスイッチ Lagopus for FreeBSD Aug 7, 2015 Masaru OKI @masaru0714
  2. 2. ソフトウェアスイッチ? ● いわゆるSW-HUBの機能をソフトで実現したもの ○ 宛先不明パケットは全ポートに送信 ○ 宛先がわかるパケットは宛先のいるポートに送信 ● “SDNソフトウェアスイッチ”の場合は少し違って パケット転送ルールをソフトウェア制御できます ○ パケットフィルタリングに近い ○ パケットヘッダの書き換えなどもできるものがある ○ ソフトウェア制御する「コントローラ」と組で使います ○ 仮想環境と相性が良い(deployに合わせて設定等) 2
  3. 3. SDNソフトウェアスイッチの構成 大雑把にはこんな感じ 3 macihne switch process 4321 パケット転送用Ethernet port controller process スイッチにパケット転送ルールを 流し込む役割 (Ryu, Tremaなど) 同一ホストで動かしてもよい ルールは別途用意する必要あり スイッチ本体 単体では動かない TCPやSSLで接続。 OpenFlowプロトコルが代表的
  4. 4. SDNソフトウェアスイッチLagopus ● 総務省O3プロジェクトの一つ ● NTTが開発、2014年7月にOSSとして公開 ○ http://lagopus.github.io ● x86 Linuxで動作するソフトウェアスイッチ ● OpenFlow 1.3により制御される ● DPDKという高速パケットI/Oライブラリを使用 ○ DPDK自身はLinuxとFreeBSDに対応している ● 10GbEのパケット転送でwire rateの性能 4
  5. 5. FreeBSDでLagopusを! ● 近日リリース予定のver 0.2でFreeBSD対応! ● FreeBSD 10.1にてコンパイルと動作を確認 ● DPDKの環境準備がやや面倒 ○ コンパイル時にカーネルソースが必要 ○ NICはboot時にDPDK用に割り当て ○ 動作中に割り当ての追加や解除はできません ● lagopusのビルド方法や使い方はLinux版と同じ ○ makeのかわりにgmakeを使います 5
  6. 6. DPDKのビルド $ cd ~/src $ git clone git://dpdk.org/dpdk $ cd dpdk; gmake T=x86_64-native-bsdapp-clang config $ gmake $ sudo cp build/kmod/* /boot/modules/ 6
  7. 7. FreeBSDでのメモリ・NICの設定 /boot/loader.confの内容に下記を追加。 # reserve 1 x 1G blocks of contiguous memory using configmem driver hw.contigmem.num_buffers=1 hw.contigmem.buffer_size=1073741824 configmem_load=”YES” # identify NIC devices for DPDK apps to use and load nic_uio driver hw.nic_uio.bdfs=”2:0:0,2:0:1” nic_uio_load=”YES” 7
  8. 8. Lagopusのビルド $ cd ~/src $ git clone git@github.com:lagopus/lagopus $ cd lagopus $ ./configure --with-dpdk-dir=$HOME/src/dpdk $ gmake $ sudo gmake install 8
  9. 9. Lagopusとコントローラの起動(例) コントローラの起動(単純なスイッチアプリを指定) $ ryu-manager simple_switch_13.py Lagopusの起動 $ sudo lagopus -- -cff -n2 -- -p3 9
  10. 10. 細かい設定の方法など SDN関連の集会 Trema Day #7の資料に書きます そちらをご参照ください (SlideShareで公開予定) DPDKのドキュメントやLagopusのドキュメントも ご参照いただければと思います 10
  11. 11. 最後に FreeBSDをお使いの方もぜひお試しください! バグを発見しましたら githubのissueで報告を パッチを作成しましたらgithubへpull-reqを 質問等ありましたらLagopus User Communityまで Lagopus 0.2を、よろしくおねがいします! 11

×