12
Hello, Trema! 高宮 安仁 @yasuhito コントローラ Hello!

Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

Hello, Trema!

高宮 安仁 @yasuhito

コントローラ

Hello!

Page 2: Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

HelloTrema

スイッチ

トポロジディスカバリ

ルーティングスイッチ

仮想NW

Page 3: Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

課題用リポジトリ• hello-trema-[ユーザ名] の作りかた:

• handai-trema/syllabus で、

• 「課題用リポジトリ」をクリック

• 「Accept this assignment」をクリック

Page 4: Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

$ git clone [リポジトリのURL] $ cd リポジトリのディレクトリ $ bundle install —binstubs

• bundleコマンドでtremaなど必要なモノを./bin/へインストール

Page 5: Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

$ ./bin/trema run ./lib/hello_trema.rb

Trema started.

• trema run [Rubyスクリプト] • Ctrl-C で停止

Page 6: Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

trema run hello_trema.rb(コントローラ)

起動Trema started.

Page 7: Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

$ ./bin/trema run ./lib/hello_trema.rb \ -c trema.conf

Trema started

Hello 0xabc!

• -cオプションで仮想スイッチをコントローラに接続

Page 8: Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

コントローラ

dpid = 0xabc

Hello 0xabc!

Page 9: Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

trema run-c file コントローラ

起動

作成ネットワーク

DSL

仮想ネットワーク

Page 10: Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

vswitch { dpid 0xabc }

vhost(‘host1’)

vhost(‘host2’)

link ‘0xabc’, ‘host1’

link ‘0xabc’, ‘host2’

0xabc

host1 host2

Page 11: Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

tremaコマンド

仮想ネットワーク

デバッグ

APIリファレンス

実行

テスト

Page 12: Hello, Trema! コントローラhandai-trema.github.io/deck/week1/hello_trema.pdf · 2016. 12. 14. · Hello Trema スイッチ ... trema ruby trema stop trema start trema send_packets

trema run

trema help

trema killall

trema version

trema ruby

trema stop

trema start

trema send_packets

trema show_stats

trema dump_flows

trema netns