ネットワークプログラマビリティ勉強会
TRANSCRIPT
Copyright©2014 NTT corp. All Rights Reserved.
OpenFlow ソフトウェアスイッチ
Lagopus
2015/4/23NTT 未来ねっと研究所 日比 智也 (hibitomo)
2Copyright©2014 NTT corp. All Rights Reserved.
構成
Lagopus の概要Lagopus ( OpenFlow )で遊んでみ
る
3Copyright©2014 NTT corp. All Rights Reserved.
Agenda
背景とターゲット
デザインと評価結果
最近の活動
5Copyright©2014 NTT corp. All Rights Reserved.
コントローラ
SDN ? OpenFlow ? Lagopus ?
一般的なネットワーク装置
ルータ
コントロールプレーン
データプレーン
ファイアーウォール
コントロールプレーン
データプレーン
ロードバランサ
コントロールプレーン
データプレーン
SDN
スイッチデータプレーン
スイッチデータプレーン
スイッチ
コントロールプレーン
データプレーン
アプリ
コントローラ
コントロールプレーン
アプリプログラマブル API
OpenFlow プロトコル
6Copyright©2014 NTT corp. All Rights Reserved.
OpenFlow ?
どういうパケットだったら 受信ポート番号,パケットヘッダの値 ( 宛先,ソー
ス,各種 ID...) どういう処理をする
パケットヘッダの追加,削除,編集 転送 ( ユニキャスト,マルチキャスト,ロードバラ
ンシング ...) コントローラにパケットを転送して処理も可能
OpenFlow コントローラ
コントロールプレーン
OpenFlow プロトコル
OpenFlow スイッチデータプレーン
Flow Table
フローパターン アクション
フローパターン アクション カウンター
カウンター
Flow Table#2
Flow Table#3
Flow Table#4
7Copyright©2014 NTT corp. All Rights Reserved.
Lagopus ?
OpenFlow スイッチのソフトウェア実装 汎用 x86 サーバで動作可能
高速なパケット処理と幅広いプロトコルに対応 > 10Gbps OpenFlow 仕様に幅広く対応
オープンソース
OpenFlow コントローラ
コントロールプレーン
OpenFlow プロトコル
OpenFlow スイッチデータプレーン
Flow Table
フローパターン アクション
フローパターン アクション カウンター
カウンター
Flow Table#2
Flow Table#3
Flow Table#4
8Copyright©2014 NTT corp. All Rights Reserved.
何ができる?
SDN Japan 2014 での実証実験
9Copyright©2014 NTT corp. All Rights Reserved.
何ができる?
ブラジル - 日本間(約 1 万 8,000km )の映像伝送実験
10Copyright©2014 NTT corp. All Rights Reserved.
何ができる?
iPOP2015 での実証実験
LagopusLagopus
Packet Transport(MPLS-TP)
Optical Packet Transport
OFRO/Ryu
H-CNT
ODENOS/Ryu
Orchestrator (ODENOS)
Trema Edge
Lagopus
SDN NW
Optical/Transport
NW
Video streaming
Copies packets and dispatches them to two paths
13Copyright©2014 NTT corp. All Rights Reserved.
ターゲット
TOR
Virtual Switch
Hypervisor
VM VM
Virtual Switch
Hypervisor
NFV NFV
Virtual Switch
Hypervisor
VM VM
Gateway CPE
Data CenterWide-area Network
Access Network Intranet
Cloud , NFV に対応する仮想スイッチ
異種 NW を接続するゲートウェイ向けソフトスイッチ
異種 NW を接続するゲートウェイ向けソフトスイッチ
14Copyright©2014 NTT corp. All Rights Reserved.
Agenda
背景とターゲット
デザインと評価結果
最近の活動
15Copyright©2014 NTT corp. All Rights Reserved.
設計の概要
シンプルなモジュール構成 スイッチエージェント データプレーン
スイッチエージェント 統一スイッチ資源モデル HAL を介したデータプレーン制御
(Event queue ベース )
データプレーン 高速 NW I/O ライブラリ
(Intel DPDK) 複数フローテーブルに
対応したフローキャッシュ
OpenFlow controller
OpenFlow 1.3
17Copyright©2014 NTT corp. All Rights Reserved.
機能評価の例
Conformance test results by Ryu Certification http://osrg.github.io/ryu/certification.htmlOpenFlow Switch
Action(56)
Set Field(170)
Match(714)
Group(15)
Meter(36)
Total(991)
Software
CpQd 50 159 708 15 30 962
Indigo Virtual Switch 17 46 337 1 0 401
LINC 24 68 428 3 0 523
Open vSwitch 34 96 534 6 0 670Open vSwitch netdev
34 90 467 8 0 599
Trema Switch 50 159 708 15 34 966
Lagopus 56 161 714 15 34 980
Hardware
Centec V350 3 8 172 4 0 187
Edge-Core AS4600 3 0 63 0 18 84
HP 2920 0 2 44 0 0 46
IBM G8264 6 14 108 0 0 128
NEC PF5220 7 37 216 3 0 263
NoviKit200 37 35 164 15 0 251
Pica8 P-3290 24 49 362 0 0 435
18Copyright©2014 NTT corp. All Rights Reserved.
性能評価の例 (WAN-DC ゲートウェイ )
Throughput vs packet size 1 flow flow-cache
Throughput vs flows 1518 bytes packet
19Copyright©2014 NTT corp. All Rights Reserved.
性能評価の例 (L2 スイッチ )
Throughput vs packet size
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
LINC OVS (netdev) OVS (kernel) Lagopus(software)
Mbp
s
72
128
256
512
1024
1280
1518
Packet size(bytes)
20Copyright©2014 NTT corp. All Rights Reserved.
Agenda
背景とターゲット
デザインと評価結果
最近の活動
21Copyright©2014 NTT corp. All Rights Reserved.
仮想マシンとの接続を実現
2015/2/1 リリース DPDK 2.0.0rc1 にマージされた
Guest1
QEMU
App
DPDK
Guest2
QEMU
App
DPDK
Virtio-net PMD Virtio-net PMD
Lagopusvswitch
DPDK
PMD
Map memory in guest VM to lagopus memory
Map memory in guest VM to lagopus memory
virtio virtio
virtioqueue
virtioqueue
PMDvNIC
PMDvNIC
22Copyright©2014 NTT corp. All Rights Reserved.
ソースコード
2014 年 7 月 31 日に公開 http://lagopus.github.io/
開発への参加 コードの提供 -> GitHub Pull Request バグレポート -> GitHub Issues 議論 -> Developers ML
23Copyright©2014 NTT corp. All Rights Reserved.
構成
Lagopus の概要Lagopus ( OpenFlow )で遊んでみ
る
24Copyright©2014 NTT corp. All Rights Reserved.
本日のテーマ
Flow を設計して動かしてみるOpenFlow っぽいことをする
25Copyright©2014 NTT corp. All Rights Reserved.
OpenFlow ?
どういうパケットだったら 受信ポート番号,パケットヘッダの値 ( 宛先,ソー
ス,各種 ID...) どういう処理をする
パケットヘッダの追加,削除,編集 転送 ( ユニキャスト,マルチキャスト,ロードバラ
ンシング ...) コントローラにパケットを転送して処理も可能
OpenFlow コントローラ
コントロールプレーン
OpenFlow プロトコル
OpenFlow スイッチデータプレーン
Flow Table
フローパターン アクション
フローパターン アクション カウンター
カウンター
Flow Table#2
Flow Table#3
Flow Table#4
26Copyright©2014 NTT corp. All Rights Reserved.
使用ソフトウェア
Lagopus http://lagopus.github.io/
Ryu (app/ofctl_rest.py) http://osrg.github.io/ryu/
ofctl_script http://github.com/hibitomo/ofctl_script
27Copyright©2014 NTT corp. All Rights Reserved.
構成
+-----+ +-----+ +-----+ +-----+ +-----+| | | | | | | | | || ns0 | | ns1 | | ns2 | | ns3 | | ns4 || | | | | | | | | |+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ | | | | | +--+-------+-------+-------+-------+--+| 1 2 3 4 5 || Lagopus OFswitch || 6 +----- VM 2+-------------------------------------+
1. つなげてみる2. 増やしてみる( VLAN )3. リファクタリング&デバッグ(ミラーリング)4. 騙してみる( DHCP サーバの共有)
28Copyright©2014 NTT corp. All Rights Reserved.
Flow 1: つなげてみる
ns1 - ns2, ns3 - ns4
+-----+ +-----+ +-----+ +-----+ +-----+| | | | | | | | | || ns0 | | ns1 | | ns2 | | ns3 | | ns4 || | | | | | | | | |+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ | | | | | +--+-------+-------+-------+-------+--+| 1 2 3 4 5 || Lagopus OFswitch || 6 +----- VM 2+-------------------------------------+
29Copyright©2014 NTT corp. All Rights Reserved.
Flow 1: つなげてみる
table 0{"priority":100,"actions":["OUTPUT:3"],"match":{"in_port":2}}{"priority":100,"actions":["OUTPUT:2"],"match":{"in_port":3}}{"priority":100,"actions":["OUTPUT:5"],"match":{"in_port":4}}{"priority":100,"actions":["OUTPUT:4"],"match":{"in_port":5}}
+-----+ +-----+ +-----+ +-----+ +-----+| | | | | | | | | || ns0 | | ns1 | | ns2 | | ns3 | | ns4 || | | | | | | | | |+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ | | | | | +--+-------+-------+-------+-------+--+| 1 2 3 4 5 || Lagopus OFswitch || 6 +----- VM 2+-------------------------------------+
双方向のルールを書く
30Copyright©2014 NTT corp. All Rights Reserved.
Flow 1: つなげてみる
ユースケース ポート VLAN タグ変換
+-----+ +-----+ +-----+ +-----+ +-----+| | | | | | | | | || ns0 | | ns1 | | ns2 | | ns3 | | ns4 || | | | | | | | | |+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ | | | | | +--+-------+-------+-------+-------+--+| 1 2 3 4 5 || Lagopus OFswitch || 6 +----- VM 2+-------------------------------------+
31Copyright©2014 NTT corp. All Rights Reserved.
Flow 2: 増やしてみる
VLAN100: ns1 - ns2VLAN200: ns3 - ns4
+-----+ +-----+ +-----+ +-----+ +-----+| | | | | | | | | || ns0 | | ns1 | | ns2 | | ns3 | | ns4 || | | | | | | | | |+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ | | | | | +--+-------+-------+-------+-------+--+| 1 2 3 4 5 || Lagopus OFswitch || 6 +------ trunk vlan100,200+-------------------------------------+
32Copyright©2014 NTT corp. All Rights Reserved.
Flow 2: 増やしてみる
table 0{"priority":100,"actions":["OUTPUT:3","PUSH_VLAN:33024","SET_FIELD: {vlan_vid:100}","OUTPUT:6"],"match":{"in_port":2}}{"priority":100,"actions":["OUTPUT:2","PUSH_VLAN:33024","SET_FIELD: {vlan_vid:100}","OUTPUT:6"],"match":{"in_port":3}}{"priority":100,"actions":["POP_VLAN","OUTPUT:2","OUTPUT:3"],"match":{"dl_vlan":"100","in_port":6}}+-----+ +-----+ +-----+ +-----+ +-----+
| | | | | | | | | || ns0 | | ns1 | | ns2 | | ns3 | | ns4 || | | | | | | | | |+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ | | | | | +--+-------+-------+-------+-------+--+| 1 2 3 4 5 || Lagopus OFswitch || 6 +------ trunk vlan100,200+-------------------------------------+
OUTPUTを列挙TAGの扱い注意
※ 普通は group tableを使用
33Copyright©2014 NTT corp. All Rights Reserved.
Flow 2: 増やしてみる
ユースケース タグ VLAN タグ変換 モニタリング
+-----+ +-----+ +-----+ +-----+ +-----+| | | | | | | | | || ns0 | | ns1 | | ns2 | | ns3 | | ns4 || | | | | | | | | |+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ | | | | | +--+-------+-------+-------+-------+--+| 1 2 3 4 5 || Lagopus OFswitch || 6 +------ trunk vlan100,200+-------------------------------------+
34Copyright©2014 NTT corp. All Rights Reserved.
Flow 3: リファクタリング
マルチテーブル,メタデータを活用 1 テーブルだけではフロー複雑. 書きこむ,書き換えるフローの数も多い.
OpenFlow スイッチデータプレーン
Flow Table
フローパターン アクション
フローパターン アクション カウンター
カウンター
Flow Table#2
Flow Table#3
Flow Table#4
メタデータ:テーブル間で情報を渡す為のフィールド
35Copyright©2014 NTT corp. All Rights Reserved.
Flow 3: リファクタリング
table 0{"priority":100,"actions":["WRITE_METADATA:100","GOTO_TABLE:1"],"match":{"in_port":2}}{"priority":100,"actions":["WRITE_METADATA:100","GOTO_TABLE:1"],"match":{"in_port":3}}{"priority":100,"actions":["WRITE_METADATA:100","GOTO_TABLE:1","POP_VLAN"],"match":{"dl_vlan":"100","in_port":6}}{"priority":0,"actions":[],"match":{}}
table 1{"priority":0,"actions":["GOTO_TABLE:2"],"match":{}}
table 2{"priority":100,"actions":["GOTO_TABLE:3","OUTPUT:3"],"match":{"in_port":2,"metadata":“100"}}{"priority":100,"actions":["GOTO_TABLE:3","OUTPUT:2"],"match":{"in_port":3,"metadata":“100"}}{"priority":100,"actions":["GOTO_TABLE:3","OUTPUT:3","OUTPUT:2"],"match":{"in_port":6,"metadata":“100"}}{"priority":0,"actions":["GOTO_TABLE:3"],"match":{}}
table 3{"priority":100,"actions":["PUSH_VLAN:33024","SET_FIELD: {vlan_vid:100}","OUTPUT:6"],"match":{"in_port":3,"metadata":“100"}}{"priority":100,"actions":["PUSH_VLAN:33024","SET_FIELD: {vlan_vid:100}","OUTPUT:6"],"match":{"in_port":2,"metadata":“100"}}{"priority":0,"actions":[],"match":{}}
※ 普通は group tableを使います
36Copyright©2014 NTT corp. All Rights Reserved.
Flow 3: リファクタリング
table 0{"priority":100,"actions":["WRITE_METADATA:100","GOTO_TABLE:1"],"match":{"in_port":2}}{"priority":100,"actions":["WRITE_METADATA:100","GOTO_TABLE:1"],"match":{"in_port":3}}{"priority":100,"actions":["WRITE_METADATA:100","GOTO_TABLE:1","POP_VLAN"],"match":{"dl_vlan":"100","in_port":6}}{"priority":0,"actions":[],"match":{}}
table 1{"priority":0,"actions":["GOTO_TABLE:2"],"match":{}}
table 2{"priority":100,"actions":["GOTO_TABLE:3","OUTPUT:3"],"match":{"in_port":2,"metadata":“100"}}{"priority":100,"actions":["GOTO_TABLE:3","OUTPUT:2"],"match":{"in_port":3,"metadata":“100"}}{"priority":100,"actions":["GOTO_TABLE:3","OUTPUT:3","OUTPUT:2"],"match":{"in_port":6,"metadata":“100"}}{"priority":0,"actions":["GOTO_TABLE:3"],"match":{}}
table 3{"priority":100,"actions":["PUSH_VLAN:33024","SET_FIELD: {vlan_vid:100}","OUTPUT:6"],"match":{"in_port":3,"metadata":“100"}}{"priority":100,"actions":["PUSH_VLAN:33024","SET_FIELD: {vlan_vid:100}","OUTPUT:6"],"match":{"in_port":2,"metadata":“100"}}{"priority":0,"actions":[],"match":{}}
• 入力ポート, TAGから VLANを識別• Metadataにメモ
Application 1• Accessへのブロードキャスト
Application 2• Trunkへのブロードキャスト
• デバッグ用
※ 普通は group tableを使います
37Copyright©2014 NTT corp. All Rights Reserved.
Flow 3+: デバッグ
ポートミラーリングVLAN ミラーリング
+-----+ +-----+ +-----+ +-----+ +-----+| | | | | | | | | || ns0 | | ns1 | | ns2 | | ns3 | | ns4 || | | | | | | | | |+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ | | | | | +--+-------+-------+-------+-------+--+| 1 2 3 4 5 || Lagopus OFswitch || 6 +------ trunk vlan100,200+-------------------------------------+
38Copyright©2014 NTT corp. All Rights Reserved.
Flow 3+: デバッグ
table 0{"priority":100,"actions":["WRITE_METADATA:100","GOTO_TABLE:1"],"match":{"in_port":2}}{"priority":100,"actions":["WRITE_METADATA:100","GOTO_TABLE:1"],"match":{"in_port":3}}{"priority":100,"actions":["WRITE_METADATA:100","GOTO_TABLE:1","POP_VLAN"],"match":{"dl_vlan":"100","in_port":6}}{"priority":0,"actions":[],"match":{}}
table 1{"priority":100,"actions":["GOTO_TABLE:2","OUTPUT:1"],"match":{"metadata":“100"}}{"priority":0,"actions":["GOTO_TABLE:2"],"match":{}}
table 2{"priority":100,"actions":["GOTO_TABLE:3","OUTPUT:3"],"match":{"in_port":2,"metadata":“100"}}{"priority":100,"actions":["GOTO_TABLE:3","OUTPUT:2"],"match":{"in_port":3,"metadata":“100"}}{"priority":100,"actions":["GOTO_TABLE:3","OUTPUT:3","OUTPUT:2"],"match":{"in_port":6,"metadata":“100"}}{"priority":0,"actions":["GOTO_TABLE:3"],"match":{}}
table 3{"priority":100,"actions":["PUSH_VLAN:33024","SET_FIELD: {vlan_vid:100}","OUTPUT:6"],"match":{"in_port":3,"metadata":“100"}}{"priority":100,"actions":["PUSH_VLAN:33024","SET_FIELD: {vlan_vid:100}","OUTPUT:6"],"match":{"in_port":2,"metadata":“100"}}{"priority":0,"actions":[],"match":{}}
39Copyright©2014 NTT corp. All Rights Reserved.
Flow 3+: デバッグ
table 0{"priority":100,"actions":["WRITE_METADATA:100","GOTO_TABLE:1"],"match":{"in_port":2}}{"priority":100,"actions":["WRITE_METADATA:100","GOTO_TABLE:1"],"match":{"in_port":3}}{"priority":100,"actions":["WRITE_METADATA:100","GOTO_TABLE:1","POP_VLAN"],"match":{"dl_vlan":"100","in_port":6}}{"priority":0,"actions":[],"match":{}}
table 1{"priority":100,"actions":["GOTO_TABLE:2","OUTPUT:1"],"match":{"metadata":“100"}}{"priority":0,"actions":["GOTO_TABLE:2"],"match":{}}
table 2{"priority":100,"actions":["GOTO_TABLE:3","OUTPUT:3"],"match":{"in_port":2,"metadata":“100"}}{"priority":100,"actions":["GOTO_TABLE:3","OUTPUT:2"],"match":{"in_port":3,"metadata":“100"}}{"priority":100,"actions":["GOTO_TABLE:3","OUTPUT:3","OUTPUT:2"],"match":{"in_port":6,"metadata":“100"}}{"priority":0,"actions":["GOTO_TABLE:3"],"match":{}}
table 3{"priority":100,"actions":["PUSH_VLAN:33024","SET_FIELD: {vlan_vid:100}","OUTPUT:6"],"match":{"in_port":3,"metadata":“100"}}{"priority":100,"actions":["PUSH_VLAN:33024","SET_FIELD: {vlan_vid:100}","OUTPUT:6"],"match":{"in_port":2,"metadata":“100"}}{"priority":0,"actions":[],"match":{}}
• Metadataを用いて識別.• パケットをミラーリング
• 入力ポート, TAGから VLANを識別• Metadataにメモ
Application 1• Accessへのブロードキャスト
Application 2• Trunkへのブロードキャスト
40Copyright©2014 NTT corp. All Rights Reserved.
Flow 4: 騙してみる
1 台の DHCP サーバを複数の VLAN セグメントで共有.
MAC アドレスは既知.
+-----+ +-----+ +-----+ +-----+ +-----+| | | | | | | | | || ns0 | | ns1 | | ns2 | | ns3 | | ns4 || | | | | | | | | |+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ | | | | | +--+-------+-------+-------+-------+--+| 1 2 3 4 5 || Lagopus OFswitch || 6 +------ trunk vlan100,200+-------------------------------------+
ns0-veth0 - 02:6b:4d:3c:3a:8c 192.168.0.1
ns1-veth0 - da:8d:ed:ec:da:70 192.168.0.10
ns2-veth0 - 4e:d2:0a:8e:2e:93 192.168.0.20
ns3-veth0 - c6:78:f7:f8:83:fd 192.168.0.10
ns4-veth0 - 12:10:c6:03:d5:d9 192.168.0.30
41Copyright©2014 NTT corp. All Rights Reserved.
Flow 4: 騙してみる
table 0{"priority":110,"actions":["OUTPUT:2"],"match":{"dl_dst":"46:c0:64:90:c6:92","in_port":1}}{"priority":110,"actions":["OUTPUT:3"],"match":{"dl_dst":"d6:7e:8d:e9:f8:a5","in_port":1}}
...
table 1{"priority":110,"actions":["OUTPUT:1"],"match":{"dl_type":2048,"tp_src":68,"nw_proto":17,"tp_dst":67,"metadata":"100"}}{"priority":110,"actions":["OUTPUT:1"],"match":{"dl_type":2048,"tp_src":68,"nw_proto":17,"tp_dst":67,"metadata":"200"}}
...
42Copyright©2014 NTT corp. All Rights Reserved.
Flow 4: 騙してみる
table 0{"priority":110,"actions":["OUTPUT:2"],"match":{"dl_dst":"46:c0:64:90:c6:92","in_port":1}}{"priority":110,"actions":["OUTPUT:3"],"match":{"dl_dst":"d6:7e:8d:e9:f8:a5","in_port":1}}
...
table 1{"priority":110,"actions":["OUTPUT:1"],"match":{"dl_type":2048,"tp_src":68,"nw_proto":17,"tp_dst":67,"metadata":"100"}}{"priority":110,"actions":["OUTPUT:1"],"match":{"dl_type":2048,"tp_src":68,"nw_proto":17,"tp_dst":67,"metadata":"200"}}
...
• 入力ポートから DHCPサーバの返答と認識,宛先MACから VLANを識別
• UDPのポート番号から DHCPのリクエストと識別
43Copyright©2014 NTT corp. All Rights Reserved.
Flow 4: 騙してみる
ユースケース 仮想マシンの共有( NFV ,アプリ) ユニキャストのマルチキャスト化
+-----+ +-----+ +-----+ +-----+ +-----+| | | | | | | | | || ns0 | | ns1 | | ns2 | | ns3 | | ns4 || | | | | | | | | |+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ | | | | | +--+-------+-------+-------+-------+--+| 1 2 3 4 5 || Lagopus OFswitch || 6 +------ trunk vlan100,200+-------------------------------------+
44Copyright©2014 NTT corp. All Rights Reserved.
イベントのフローを想像する
ブラジル - 日本間(約 1 万 8,000km )の映像伝送実験 IP を変換してルータをだまし、経路切り替え
45Copyright©2014 NTT corp. All Rights Reserved.
イベントのフローを想像する
iPoP2015 での実証実験
LagopusLagopus
Packet Transport(MPLS-TP)
Optical Packet Transport
OFRO/Ryu
H-CNT
ODENOS/Ryu
Orchestrator (ODENOS)
Trema Edge
Lagopus
SDN NW
Optical/Transport
NW
Video streaming
Copies packets and dispatches them to two paths
46Copyright©2014 NTT corp. All Rights Reserved.
イベントのフローを想像する
SDN Japan 2014 での実証実験 http://www.sdnjapan.org/document_2014/31_session5_Ishida.pdf
47Copyright©2014 NTT corp. All Rights Reserved.
Flow 設計の注意
パケットイン 遅い,遅延,パケット順序
ARP ARP 学習しないと通信は始まらない
パケットコピー パケットコピーの処理は重い MAC ラーニング問題
フロー数の容量 フロー数が増えすぎると死ぬ (特に HW スイッチ. SW は結構大丈夫)
48Copyright©2014 NTT corp. All Rights Reserved.
Flow 設計の注意
パケットイン 遅い,遅延,パケット順序
ARP ARP 学習しないと通信は始まらない
パケットコピー パケットコピーの処理は重い MAC ラーニング問題
フロー数の容量 フロー数が増えすぎると死ぬ (特に HW スイッチ. SW は結構大丈夫)
• パケットインをしなければ行けない場面はよくある.• フロー数の容量も含め,性能を意識した設計が必要
49Copyright©2014 NTT corp. All Rights Reserved.
今日のまとめ
Lagopus ってすごいらしい. はやい (x86 サーバ, Linux) 安い ( OSS ) うまい (10Gbps, 1MFlow, その他機能 )
OpenFlow って気持ち悪いこともできちゃう だが,それがいい 痒いところに手が届かない場面では,是非
OpenFlow を!
50Copyright©2014 NTT corp. All Rights Reserved.
Thank you for your attention
This research is a part of the project for “Research and Development of Network Virtualization Technology” supported by the Ministry of Internal Affairs and Communications.