SlideShare a Scribd company logo
1 of 19
ハードなOpenFlowSwitchの話
2016.07.02
三宅 正行
Acroquest Technology Co., Ltd.
自己紹介
 名前:三宅 正行
 所属:Acroquest Technology Co., Ltd.
 昔はネットワーク管理システムとかを開発していまし
た
 最近はElasticスタックの導入支援とかはじめています
 最近の私のお仕事傾向
 OpenStack(Ironicとかやってました…)
 OpenDaylight(Tremaでなくてごめんなさい…)
 背景
 マルチテーブルが使えない?
 Actionの順序が入れ替わる?
 まとめ
目次
 国立情報学研究所(NII)のクラウド群連成基盤
サービスの検証システムのネットワーク制御を、
OpenFlow(1.3)を使用して実現しました。
 今回は、そのネットワーク制御用OpenFlowコント
ローラを開発した際に、ハードウェアスイッチ固
有の問題で苦労した話をします。
 今回の対象となるOpenFlowSwitchは、Pica8のP-
3930です。
 コントローラにはOpenDaylight(Litiume)を使っ
ています…
背景
マルチテーブルが使えない?
罠その1…orz
やろうとしたこと…
マルチテーブルを使ったネットワーク分離
Table0 Table1
Table2
Flow Entry01
Flow Entry02
Flow Entry A
Flow Entry B
Flow Entry C
Flow Entry D
Flow Entry03
Flow Entry04
セグメント1
セグメント2
Flow Entry Drop
Flow Entry Drop
Goto1
OVSで動作検証した時は
うまくいっていました…
が…
Pica8ではパケットが通らないケースが
…
Table0 Table1
Table2
Flow Entry01
Flow Entry02
Flow Entry A
Flow Entry B
Flow Entry C
Flow Entry D
Flow Entry03
Flow Entry04
Goto1? セグメント1
セグメント2
Flow Entry Drop
Flow Entry Drop
???
原因は、内部で複数のテーブルが
1つのテーブルにマージされていたこ
と…
Tableマージの際
プライオリティ
が
再計算される
Flow Entry01 Flow Entry A
Flow Entry02
Flow Entry B
Flow Entry01 Flow Entry B
Flow Entry A
Flow Entry02
Flow Entry03
Flow Entry03 Flow Entry C
Flow Entry D
Flow Entry03 Flow Entry Drop
Flow Entry01 Flow Entry Drop
Flow Entry DropFlow Entry02
DROPの
フローエントリが
先に
マッチする条件に
なってしまってい
た
1つのテーブルにマージする理由
…
1つのTCAMでマッチ処理を行うため、
マルチテーブルが実現できない…
TCAM
ASIC
Action
Table 0 Table n ひとつのテーブル
に
マージして
TCAMにセット
Match
Actionの順序が入れ替わる?
罠その2…orz
やろうとしたこと…
VLAN変換とブロードキャスト
Pica8
Uplink
VLAN=2000
Port:0 Port:1 Port:2
Port:3
VLAN=100
VLAN=100 VLAN=100
VLAN IDを変換し
て
Uplinkに出力
Actionのオーダーを使えば楽勝
…
Order Action
0 OUT PORT:1
1 OUT PORT:2
2 POP VLAN
3 PUSH VLAN ID=2000
4 OUT PORT:3
こんな感じ…
の、はずだったのに…
なぜか全てのポートのVLAN IDが2000に...
Pica8
Uplink
VLAN=2000
Port:0 Port:1 Port:2
Port:3
VLAN=100
VLAN=2000 VLAN=2000
変換前のActionで
出力したはずなのに
原因はASICモジュール構成の制
限
Pica8のASICモジュールは、VLAN処理用と
フロー制御用が分かれているため、
先にVLAN変換が行われる…
フロー制御
モジュール
VLANタグ付与
モジュール
フローエントリ
VLAN タグ追加
アクションを登録
OUT PORTアクショ
ンを登録
PORT:1
PORT:2
PORT:3
VLAN タグを
2000に変換
まとめ...
ハードを使うときは実機で検証しよう
•ハードの仕組み上、OpenFlowの仕様を実現でき
ない、または制限があるので、必ず実機で事前に
検証しよう…
OVSとの仕様のギャップは深い…
•OVSで動作したフローエントリは、ハードの
OpenFlowSwitchでは、ほぼ動作しないと思った方
がいい…orz
今回の教訓
OF対応状況がわかる資料を公開してほしい
•OF対応という以上、メーカーの責任でサポートし
ている仕様の対応表を、購入前に確認できるよう
公開してほしい…
OVSとの仕様の対応表を出してほしい
•OF仕様のリファレンスとなっている(と思われ
る)OVSとの仕様の対応表を出してもらえるとと
ても助かる…
ハードスイッチメーカーへのお
願い
おわり

More Related Content

What's hot

PGXユーザー勉強会#12_Built-in アルゴリズム(Label Propagation Algorithm)
PGXユーザー勉強会#12_Built-in アルゴリズム(Label Propagation Algorithm)PGXユーザー勉強会#12_Built-in アルゴリズム(Label Propagation Algorithm)
PGXユーザー勉強会#12_Built-in アルゴリズム(Label Propagation Algorithm)
Yuki Tagami
 
RDOで体験! OpenStackの基本機能
RDOで体験! OpenStackの基本機能RDOで体験! OpenStackの基本機能
RDOで体験! OpenStackの基本機能
Etsuji Nakai
 
Hadoop on eucalyptus_20110221
Hadoop on eucalyptus_20110221Hadoop on eucalyptus_20110221
Hadoop on eucalyptus_20110221
Etsuji Nakai
 
自作プライベートクラウド研究会 OpenStackアップデート
自作プライベートクラウド研究会 OpenStackアップデート自作プライベートクラウド研究会 OpenStackアップデート
自作プライベートクラウド研究会 OpenStackアップデート
Masanori Itoh
 
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
Masanori Itoh
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
irix_jp
 
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
Insight Technology, Inc.
 

What's hot (20)

PGXユーザー勉強会#12_Built-in アルゴリズム(Label Propagation Algorithm)
PGXユーザー勉強会#12_Built-in アルゴリズム(Label Propagation Algorithm)PGXユーザー勉強会#12_Built-in アルゴリズム(Label Propagation Algorithm)
PGXユーザー勉強会#12_Built-in アルゴリズム(Label Propagation Algorithm)
 
Openstack abstract2
Openstack abstract2Openstack abstract2
Openstack abstract2
 
OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)
 
RDOで体験! OpenStackの基本機能
RDOで体験! OpenStackの基本機能RDOで体験! OpenStackの基本機能
RDOで体験! OpenStackの基本機能
 
Community Open Day 2013 JP - EF CodeFirst DEMO
Community Open Day 2013 JP - EF CodeFirst DEMOCommunity Open Day 2013 JP - EF CodeFirst DEMO
Community Open Day 2013 JP - EF CodeFirst DEMO
 
Kernel overview
Kernel overviewKernel overview
Kernel overview
 
Hadoop on eucalyptus_20110221
Hadoop on eucalyptus_20110221Hadoop on eucalyptus_20110221
Hadoop on eucalyptus_20110221
 
OpenStack概要(オープンクラウド最新動向)
OpenStack概要(オープンクラウド最新動向)OpenStack概要(オープンクラウド最新動向)
OpenStack概要(オープンクラウド最新動向)
 
自作プライベートクラウド研究会 OpenStackアップデート
自作プライベートクラウド研究会 OpenStackアップデート自作プライベートクラウド研究会 OpenStackアップデート
自作プライベートクラウド研究会 OpenStackアップデート
 
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
 
Jeug 02 lt_tetsuyasodo_v01
Jeug 02 lt_tetsuyasodo_v01Jeug 02 lt_tetsuyasodo_v01
Jeug 02 lt_tetsuyasodo_v01
 
TechGIRL くらうどすたっくのお話
TechGIRL くらうどすたっくのお話TechGIRL くらうどすたっくのお話
TechGIRL くらうどすたっくのお話
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
 
20130914_OSC北海道_CloudStack一問一答!
20130914_OSC北海道_CloudStack一問一答!20130914_OSC北海道_CloudStack一問一答!
20130914_OSC北海道_CloudStack一問一答!
 
OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)
OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)
OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)
 
OpenStackの情報をどこから得ているのか
OpenStackの情報をどこから得ているのかOpenStackの情報をどこから得ているのか
OpenStackの情報をどこから得ているのか
 
OpenStackにおける、MySQLの活用 – OpenStackのリポジトリとしての、DBサービスの基盤としての、MySQL - OpenStack...
OpenStackにおける、MySQLの活用 – OpenStackのリポジトリとしての、DBサービスの基盤としての、MySQL  - OpenStack...OpenStackにおける、MySQLの活用 – OpenStackのリポジトリとしての、DBサービスの基盤としての、MySQL  - OpenStack...
OpenStackにおける、MySQLの活用 – OpenStackのリポジトリとしての、DBサービスの基盤としての、MySQL - OpenStack...
 
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
 
OSC 2011 Tokyo/Spring OpenStackプレゼン
OSC 2011 Tokyo/Spring OpenStackプレゼンOSC 2011 Tokyo/Spring OpenStackプレゼン
OSC 2011 Tokyo/Spring OpenStackプレゼン
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
 

Viewers also liked

20131019 Eucalyptus in OSC 2013 Tokyo/Fall
20131019 Eucalyptus in OSC 2013 Tokyo/Fall20131019 Eucalyptus in OSC 2013 Tokyo/Fall
20131019 Eucalyptus in OSC 2013 Tokyo/Fall
Osamu Habuka
 
2011/06/11 #sfstudy ECCの遊び方。
2011/06/11 #sfstudy ECCの遊び方。2011/06/11 #sfstudy ECCの遊び方。
2011/06/11 #sfstudy ECCの遊び方。
Minato Kirino
 

Viewers also liked (20)

OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかOpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
 
AWS SDK for Go in #jawsmeguro
AWS SDK for Go in #jawsmeguroAWS SDK for Go in #jawsmeguro
AWS SDK for Go in #jawsmeguro
 
Lagopus Switch Usecases
Lagopus Switch UsecasesLagopus Switch Usecases
Lagopus Switch Usecases
 
Deep Dive into Modules
Deep Dive into ModulesDeep Dive into Modules
Deep Dive into Modules
 
マイクロサービスで、
一歩先行くImmutable Infrastructureを目指そう
マイクロサービスで、
一歩先行くImmutable Infrastructureを目指そうマイクロサービスで、
一歩先行くImmutable Infrastructureを目指そう
マイクロサービスで、
一歩先行くImmutable Infrastructureを目指そう
 
最近のTremaを触ってみてちょっとはまったこととか
最近のTremaを触ってみてちょっとはまったこととか最近のTremaを触ってみてちょっとはまったこととか
最近のTremaを触ってみてちょっとはまったこととか
 
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdaysData Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
 
20131019 Eucalyptus in OSC 2013 Tokyo/Fall
20131019 Eucalyptus in OSC 2013 Tokyo/Fall20131019 Eucalyptus in OSC 2013 Tokyo/Fall
20131019 Eucalyptus in OSC 2013 Tokyo/Fall
 
Open wrtでwired likeなwifinwを作ってみた。
Open wrtでwired likeなwifinwを作ってみた。Open wrtでwired likeなwifinwを作ってみた。
Open wrtでwired likeなwifinwを作ってみた。
 
猫が花瓶を倒すとLINEがくるようにしてみた
猫が花瓶を倒すとLINEがくるようにしてみた猫が花瓶を倒すとLINEがくるようにしてみた
猫が花瓶を倒すとLINEがくるようにしてみた
 
2011/06/11 #sfstudy ECCの遊び方。
2011/06/11 #sfstudy ECCの遊び方。2011/06/11 #sfstudy ECCの遊び方。
2011/06/11 #sfstudy ECCの遊び方。
 
#こみにょぴ結婚式 LT資料
#こみにょぴ結婚式 LT資料#こみにょぴ結婚式 LT資料
#こみにょぴ結婚式 LT資料
 
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~ 第二部
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~ 第二部20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~ 第二部
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~ 第二部
 
OpenContrailの基本 for OSC Tokyo 2014 Spring
OpenContrailの基本 for OSC Tokyo 2014 SpringOpenContrailの基本 for OSC Tokyo 2014 Spring
OpenContrailの基本 for OSC Tokyo 2014 Spring
 
Lagopusで試すFW
Lagopusで試すFWLagopusで試すFW
Lagopusで試すFW
 
LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
 
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data PipelineAWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
 
中国にOpenflowを入れてきた話
中国にOpenflowを入れてきた話中国にOpenflowを入れてきた話
中国にOpenflowを入れてきた話
 
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)
 

Similar to ハードなOpen flowswitcの話

CloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/SwiftCloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/Swift
irix_jp
 
Open stack overview_20130301
Open stack overview_20130301Open stack overview_20130301
Open stack overview_20130301
Satoshi Konno
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
Etsuji Nakai
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overview
irix_jp
 

Similar to ハードなOpen flowswitcの話 (20)

OpenStack Updates
OpenStack UpdatesOpenStack Updates
OpenStack Updates
 
OpenStack 最新動向 2016/11
OpenStack 最新動向 2016/11OpenStack 最新動向 2016/11
OpenStack 最新動向 2016/11
 
OpenStack, Hadoop -- OSSクラウドの最新動向
OpenStack, Hadoop -- OSSクラウドの最新動向OpenStack, Hadoop -- OSSクラウドの最新動向
OpenStack, Hadoop -- OSSクラウドの最新動向
 
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
 
CloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/SwiftCloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/Swift
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
 
Open stack overview_20130301
Open stack overview_20130301Open stack overview_20130301
Open stack overview_20130301
 
「たまおきのクラウドウォッチ」筆者が語る、OpenStack導入最前線 - @IT様セミナー 「真剣に考える人だけにこっそり教えるOpenStackとスト...
「たまおきのクラウドウォッチ」筆者が語る、OpenStack導入最前線 - @IT様セミナー 「真剣に考える人だけにこっそり教えるOpenStackとスト...「たまおきのクラウドウォッチ」筆者が語る、OpenStack導入最前線 - @IT様セミナー 「真剣に考える人だけにこっそり教えるOpenStackとスト...
「たまおきのクラウドウォッチ」筆者が語る、OpenStack導入最前線 - @IT様セミナー 「真剣に考える人だけにこっそり教えるOpenStackとスト...
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
 
空回りのクラウド基盤導入
空回りのクラウド基盤導入空回りのクラウド基盤導入
空回りのクラウド基盤導入
 
JJUG CCC 2014 ATL
JJUG CCC 2014 ATLJJUG CCC 2014 ATL
JJUG CCC 2014 ATL
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
 
Open stack+lagopus できるかな
Open stack+lagopus できるかなOpen stack+lagopus できるかな
Open stack+lagopus できるかな
 
Interop tokyo2018 openstack-present-and-future
Interop tokyo2018 openstack-present-and-futureInterop tokyo2018 openstack-present-and-future
Interop tokyo2018 openstack-present-and-future
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overview
 
201709 osc josug
201709 osc josug 201709 osc josug
201709 osc josug
 
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
 
OpenFlow Group Table
OpenFlow Group TableOpenFlow Group Table
OpenFlow Group Table
 
"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点
 

ハードなOpen flowswitcの話