Enviar búsqueda
Cargar
Ryu+Lagopusで OpenFlowの動きを見てみよう
•
4 recomendaciones
•
1,679 vistas
Masaru Oki
Seguir
Tutorial of Ryu + Lagopus (in Japanese)
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 14
Descargar ahora
Descargar para leer sin conexión
Recomendados
Lagopus performance
Lagopus performance
Masaru Oki
Lagopus どれだけ速いのか
Lagopus どれだけ速いのか
Masaru Oki
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
Masaru Oki
Lagopus Switch Usecases
Lagopus Switch Usecases
Sakiko Kawai
Lagopus as open flow hybrid switch
Lagopus as open flow hybrid switch
Masaru Oki
LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件
Masaru Oki
Lagopus, raw socket build
Lagopus, raw socket build
Masaru Oki
Open stack+lagopus できるかな
Open stack+lagopus できるかな
Masaru Oki
Recomendados
Lagopus performance
Lagopus performance
Masaru Oki
Lagopus どれだけ速いのか
Lagopus どれだけ速いのか
Masaru Oki
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
Masaru Oki
Lagopus Switch Usecases
Lagopus Switch Usecases
Sakiko Kawai
Lagopus as open flow hybrid switch
Lagopus as open flow hybrid switch
Masaru Oki
LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件
Masaru Oki
Lagopus, raw socket build
Lagopus, raw socket build
Masaru Oki
Open stack+lagopus できるかな
Open stack+lagopus できるかな
Masaru Oki
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
Masaru Oki
SDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSD
Masaru Oki
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Masaru Oki
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
Masaru Oki
Lagopus.confの書式(for lagopus 0.1.x)
Lagopus.confの書式(for lagopus 0.1.x)
Masaru Oki
Lagopus 0.2
Lagopus 0.2
Masaru Oki
Lagopus 0.2.2
Lagopus 0.2.2
Masaru Oki
hpingで作るパケット
hpingで作るパケット
Takaaki Hoyo
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
slankdev
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
slankdev
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
Masaru Oki
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
hiroshi oshiba
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用
kazuyas
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Sho Shimizu
import dpkt したよ #ssmjp 2014/02/28
import dpkt したよ #ssmjp 2014/02/28
th0x0472
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話
Masaru Oki
Trema での Open vSwitch
Trema での Open vSwitch
kazuyas
about Tcpreplay
about Tcpreplay
@ otsuka752
あるコンテキストスイッチの話
あるコンテキストスイッチの話
nullnilaki
Lagopus 0.2.7
Lagopus 0.2.7
Masaru Oki
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
Tomoya Hibi
Más contenido relacionado
La actualidad más candente
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
Masaru Oki
SDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSD
Masaru Oki
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Masaru Oki
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
Masaru Oki
Lagopus.confの書式(for lagopus 0.1.x)
Lagopus.confの書式(for lagopus 0.1.x)
Masaru Oki
Lagopus 0.2
Lagopus 0.2
Masaru Oki
Lagopus 0.2.2
Lagopus 0.2.2
Masaru Oki
hpingで作るパケット
hpingで作るパケット
Takaaki Hoyo
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
slankdev
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
slankdev
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
Masaru Oki
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
hiroshi oshiba
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用
kazuyas
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Sho Shimizu
import dpkt したよ #ssmjp 2014/02/28
import dpkt したよ #ssmjp 2014/02/28
th0x0472
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話
Masaru Oki
Trema での Open vSwitch
Trema での Open vSwitch
kazuyas
about Tcpreplay
about Tcpreplay
@ otsuka752
あるコンテキストスイッチの話
あるコンテキストスイッチの話
nullnilaki
La actualidad más candente
(20)
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
SDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSD
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
Lagopus.confの書式(for lagopus 0.1.x)
Lagopus.confの書式(for lagopus 0.1.x)
Lagopus 0.2
Lagopus 0.2
Lagopus 0.2.2
Lagopus 0.2.2
hpingで作るパケット
hpingで作るパケット
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
import dpkt したよ #ssmjp 2014/02/28
import dpkt したよ #ssmjp 2014/02/28
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話
Trema での Open vSwitch
Trema での Open vSwitch
about Tcpreplay
about Tcpreplay
あるコンテキストスイッチの話
あるコンテキストスイッチの話
Destacado
Lagopus 0.2.7
Lagopus 0.2.7
Masaru Oki
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
Tomoya Hibi
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
Lagopusで試すFW
Lagopusで試すFW
Tomoya Hibi
Onieで遊んでみようとした話
Onieで遊んでみようとした話
Masaru Oki
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)
Masaru Oki
Network Test Automation 2015-04-23 #npstudy
Network Test Automation 2015-04-23 #npstudy
Hiroshi Ota
Lagopus match improvements
Lagopus match improvements
Masaru Oki
今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話
Masaru Oki
入門:Single / Two Rate Three Color Marker (srTCM / trTCM)
入門:Single / Two Rate Three Color Marker (srTCM / trTCM)
Kentaro Ebisawa
Disruptive IP Networking with Intel DPDK on Linux
Disruptive IP Networking with Intel DPDK on Linux
Naoto MATSUMOTO
DPDKを拡張してみた話し
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
Bird in show_net
Bird in show_net
Tomoya Hibi
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
Lagopus SDN/OpenFlow switch
Vietnam: Economic Setting
Vietnam: Economic Setting
Jose Radin Garduque
8 Tarot Card Readings for 2016
8 Tarot Card Readings for 2016
Jose Radin Garduque
Richards key 2
Richards key 2
richardskd
Destacado
(17)
Lagopus 0.2.7
Lagopus 0.2.7
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すFW
Lagopusで試すFW
Onieで遊んでみようとした話
Onieで遊んでみようとした話
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)
Network Test Automation 2015-04-23 #npstudy
Network Test Automation 2015-04-23 #npstudy
Lagopus match improvements
Lagopus match improvements
今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話
入門:Single / Two Rate Three Color Marker (srTCM / trTCM)
入門:Single / Two Rate Three Color Marker (srTCM / trTCM)
Disruptive IP Networking with Intel DPDK on Linux
Disruptive IP Networking with Intel DPDK on Linux
DPDKを拡張してみた話し
DPDKを拡張してみた話し
Bird in show_net
Bird in show_net
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
Vietnam: Economic Setting
Vietnam: Economic Setting
8 Tarot Card Readings for 2016
8 Tarot Card Readings for 2016
Richards key 2
Richards key 2
Similar a Ryu+Lagopusで OpenFlowの動きを見てみよう
SDN Framework Ryu Internal
SDN Framework Ryu Internal
Satoshi KOBAYASHI
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
Akira Yokokawa
仮想ネットワークを実現するOpenVNet
仮想ネットワークを実現するOpenVNet
Akira Yokokawa
Lagopus Router v19.07.1
Lagopus Router v19.07.1
Tomoya Hibi
Lagopusとvagrant
Lagopusとvagrant
Masaru Oki
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07
Tomoya Hibi
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料
slankdev
Mr201304 open flow_security_jpn
Mr201304 open flow_security_jpn
FFRI, Inc.
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
Hiroyuki Wada
How to run P4 BMv2
How to run P4 BMv2
Kentaro Ebisawa
LibPGEN 1st Step Guide
LibPGEN 1st Step Guide
slankdev
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
Kentaro Ebisawa
Seurity Camp Award 2016
Seurity Camp Award 2016
slankdev
OpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみよう
Kimihiko Kitase
RgGen ご紹介
RgGen ご紹介
Taichi Ishitani
Seccan2012 secure os
Seccan2012 secure os
Chiharu Usui
20180721 First Challenge Logicflow
20180721 First Challenge Logicflow
Tomoyuki Obi
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会
slankdev
Opensolaris ipfilter 20090710
Opensolaris ipfilter 20090710
Kazuyuki Sato
VIOPS06: OpenFlowによるネットワーク構築と実証事件
VIOPS06: OpenFlowによるネットワーク構築と実証事件
VIOPS Virtualized Infrastructure Operators group ARCHIVES
Similar a Ryu+Lagopusで OpenFlowの動きを見てみよう
(20)
SDN Framework Ryu Internal
SDN Framework Ryu Internal
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
仮想ネットワークを実現するOpenVNet
仮想ネットワークを実現するOpenVNet
Lagopus Router v19.07.1
Lagopus Router v19.07.1
Lagopusとvagrant
Lagopusとvagrant
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料
Mr201304 open flow_security_jpn
Mr201304 open flow_security_jpn
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
How to run P4 BMv2
How to run P4 BMv2
LibPGEN 1st Step Guide
LibPGEN 1st Step Guide
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
Seurity Camp Award 2016
Seurity Camp Award 2016
OpenFlowをXenServerで試してみよう
OpenFlowをXenServerで試してみよう
RgGen ご紹介
RgGen ご紹介
Seccan2012 secure os
Seccan2012 secure os
20180721 First Challenge Logicflow
20180721 First Challenge Logicflow
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会
Opensolaris ipfilter 20090710
Opensolaris ipfilter 20090710
VIOPS06: OpenFlowによるネットワーク構築と実証事件
VIOPS06: OpenFlowによるネットワーク構築と実証事件
Más de Masaru Oki
NetBSD移植の昔話
NetBSD移植の昔話
Masaru Oki
Rust-DPDK
Rust-DPDK
Masaru Oki
Rust-DPDK
Rust-DPDK
Masaru Oki
GPD WINが来た!
GPD WINが来た!
Masaru Oki
Lagopus 0.2.4
Lagopus 0.2.4
Masaru Oki
Net bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpf
Masaru Oki
Rumpを使ってみる
Rumpを使ってみる
Masaru Oki
Running lagopus on Xeon D
Running lagopus on Xeon D
Masaru Oki
Using Xeon D 10GBase-T
Using Xeon D 10GBase-T
Masaru Oki
DPDK QoS
DPDK QoS
Masaru Oki
Xeon d
Xeon d
Masaru Oki
Más de Masaru Oki
(11)
NetBSD移植の昔話
NetBSD移植の昔話
Rust-DPDK
Rust-DPDK
Rust-DPDK
Rust-DPDK
GPD WINが来た!
GPD WINが来た!
Lagopus 0.2.4
Lagopus 0.2.4
Net bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpf
Rumpを使ってみる
Rumpを使ってみる
Running lagopus on Xeon D
Running lagopus on Xeon D
Using Xeon D 10GBase-T
Using Xeon D 10GBase-T
DPDK QoS
DPDK QoS
Xeon d
Xeon d
Ryu+Lagopusで OpenFlowの動きを見てみよう
1.
Ryu+Lagopusで OpenFlowの動きを見てみよう Mar 10, 2016 Masaru
OKI @masaru0714
2.
OpenFlowおさらい ● コントローラとスイッチが連係して動作する ● コントローラがパケット処理のルール(フローエントリ)をスイッチに登録する ●
スイッチは登録されたルールに従って受信パケットを処理する スイッチ コントローラ TCP or SSL flow table フローエントリ登録 「1からきたパケットは2へ」 パケット パケット 1 2 3
3.
LagopusとRyu ● Lagopus ○ https://lagopus.github.io/ ○
オープンソースのOpenFlowソフトウェアスイッチ。 ○ 単一プロセスで動作する。 ● Ryu ○ https://osrg.github.io/ryu/ ○ オープンソースのSDNコントローラフレームワーク。 ○ Pythonで書かれている。 ○ 提供されるクラスを使ったアプリケーションを記述して利用。 ■ OpenFlowコントローラを記述することができる。
4.
Ryu certification ryu-manager /usr/local/lib/python2.7/dist-packages/ryu/tests/switch/tester.py ●
テスト対象のスイッチにOpenFlowのルールを入れて、パケットを流す ● ルールに従って処理されたパケットが出力されることを検証する ● 送受信のための補助スイッチもOpenFlowで制御する テスト対象スイッチ Device Under Test (DUT) 補助スイッチ tester.py 1.フロー投入 2.Packet-out 3.Packet-in テストケース JSON 4.Packet-in結果がテスト ケースに書かれた内容と 一致するかチェック
5.
JSONで記述する。 [ “テスト内容の説明”, { “description”: “テストの細かい説明”, “prerequisite”:[フロー登録などの内容], “tests”: [ { “ingress”:[DUTに送るパケットの内容], “egress”:[DUTから送られてくるべきパケットの内容] } ] } ] Ryu certificationのテストケース {
… }, { … } と 複数記述できる { … }, { … } と 複数記述できる
6.
prerequisiteの例 "prerequisite":[ { "OFPFlowMod":{ "table_id":0, "match":{ "OFPMatch":{ "oxm_fields":[ { "OXMTlv":{ "field":"in_port", "value":1 } } ] } }, "instructions":[ { "OFPInstructionActions":{ "actions":[ { "OFPActionOutput":{ "port":2 } } ], "type":4 } } ] } } ], in_port=1,actions=output:2
7.
testsの例 "tests":[ { "ingress":[ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32,
proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option=bytes(b'x00' * 4), src_port=11111)", "b'x01x02x03x04x05x06x07x08tnx0bx0crx0ex0fx10x11x12x13x14” ], "egress":[ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option=bytes(b'x00' * 4), src_port=11111)", "b'x01x02x03x04x05x06x07x08tnx0bx0crx0ex0fx10x11x12x13x14” ] } ] 受信パケットがそのまま出力 される想定
8.
テストケースを別の見方で考えると ● 自分が考えたOpenFlowのフローエントリを書いて ● どういうパケットを受信したら ●
どういう結果になると思うかを記述する 正しく動作するOpenFlowスイッチに対してこれをやると、 OpenFlowの動作について確認することができる! ● OpenFlowについての理解を深めることができる。あるいは、 ● スイッチのバグを見つけることができるかも?
9.
Ryu certificationのためのLagopusの設定 misc/examples/2x3port.dsl ● Ryu添付テストケースで3ポート使うものがあるため3ポートを結線する想定。 ●
ひとつのLagopusで二つのスイッチを扱います テスト対象スイッチ bridge0 dpid=1 補助スイッチ bridge1 dpid=2 127.0.0.1:6667 127.0.0.1:6667 コントローラ
10.
Ryu certificationのためのLagopus起動コマンドライン ● DPDK版。hugepageの利用ができるよう準備願います。 ●
8コアのマシンの例。下記を一行で入力してください。 ● -d を省いてバックグラウンド動作させてもOKです。 ● コア数が少ないときは -c の値を調整してください(-c 3など) ● eth_pipeはLagopus内蔵のドライバで、2つポートを用意しその間をつなぎます sudo lagopus -d -C ./misc/examples/2x3port.dsl -- -cff -n2 --vdev eth_pipe0 --vdev eth_pipe1 --vdev eth_pipe2 -- -p3f
11.
自分で書いたJSONを走らせてみる ● 下記を1行で入力してください。 ● --test-switch-dirはディレクトリ名指定ですが、ファイル名指定もできます。 ryu-manager
/usr/local/lib/python2.7/dist-packages/ryu/tests/switch/tester.py --test-switch-dir YOUR_TEST.json
12.
実行例 $ ryu-manager ./ryu/tests/switch/tester.py
--test-switch-dir ./ryu/tests/switch/of13/tunnel/09_DECAP_GTPU.json (中略) --- Test start --- waiting for switches connection… dpid=0000000000000001 : Join target SW. dpid=0000000000000002 : Join tester SW. action: 09_DECAP_GTPU ethernet/ipv4/udp/gtpu/ipv4/tcp-->'eth_type=0x0800,ip_proto=17,udp_dst=2125,actions=decap:ethrenet,decap:ip, decap:udp,decap:gtpu,encap:ethernet,set_eth_src:12:22:22:22:22:22,set_eth_dst:22:33:33:33:33:33,output:2' OK --- Test end --- --- Test report --- OK(1) / ERROR(0) Terminated
13.
テストケースの書き方のキモ ● ingressは1番ポートで受信するパケットの内容。 ● egressは2番ポートに送信されるパケットの内容。 ●
「キーワードがわからない」 ○ 現時点では、OpenFlow仕様書を参照するか Ryuのソースを読むか ○ 既存テストケースの内容からコピペするのもありです ○ /usr/local/lib/python2.7/dist-packages/ryu/tests/switch/of13/ の下にたくさんあります
14.
リファレンス ● Ryu book
“OpenFlowスイッチテストツール” ○ https://osrg.github.io/ryu-book/ja/html/switch_test_tool.html ○ mininetを使ったテストの方法についても書かれています ● Open Networking Foundation ○ https://opennetworking.org/ ○ OpenFlow仕様書などが入手できます ● Lagopus ○ https://lagopus.github.io/ ○ バグを見つけたらgithubのissueなどでご報告いただければ。
Descargar ahora