Submit Search
OpenFlow Group Table
11 likes
5,470 views
Toshiki Tsuboi
オープンソースによる OpenFlow1.3環境の構築 - Group Tableの活用事例 -
Technology
Read more
1 of 25
Download now
Downloaded 91 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
More Related Content
PPTX
IP based standards for IoT
Michael Koster
PPTX
plotnetcfg入門 | Introduction to plotnetcfg
Kentaro Ebisawa
PDF
Webアプリ開発者のためのHTML5セキュリティ入門
Muneaki Nishimura
PDF
Proxmox VE 開源虛擬化平台實際應用架構與案例 [2025/06/02] @vLAB線上研討會
Jason Cheng
PDF
スイッチ・ルータのしくみ
ogatay
DOC
How to Configure QinQ?
Huanetwork
PDF
Kubernetesにまつわるエトセトラ(主に苦労話)
Works Applications
PPTX
Introduction to Ostinato, network packet crafting and generator.
Kentaro Ebisawa
IP based standards for IoT
Michael Koster
plotnetcfg入門 | Introduction to plotnetcfg
Kentaro Ebisawa
Webアプリ開発者のためのHTML5セキュリティ入門
Muneaki Nishimura
Proxmox VE 開源虛擬化平台實際應用架構與案例 [2025/06/02] @vLAB線上研討會
Jason Cheng
スイッチ・ルータのしくみ
ogatay
How to Configure QinQ?
Huanetwork
Kubernetesにまつわるエトセトラ(主に苦労話)
Works Applications
Introduction to Ostinato, network packet crafting and generator.
Kentaro Ebisawa
What's hot
(20)
PDF
Proxmox VE 開源伺服器虛擬化應用經驗分享 [2019/11/12] @OpenInfra Days Taiwan 2019
Jason Cheng
PDF
projecto de rede computadores
Galileu Lukoki Antonio
PDF
Machine configoperatorのちょっとイイかもしれない話
Toshihiro Araki
PPTX
フロー技術によるネットワーク管理
Motonori Shindo
PDF
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
apkiban
PDF
zenoh: zero overhead pub/sub store/query compute
Angelo Corsaro
PDF
OpenvSwitchの落とし穴
Takashi Naito
PPTX
Cisco SDWAN - Components Deployment Workflow
Farooq Khan
PPTX
Blog application.pptx
BAREJADAKSH
PDF
Proxmox VE 5.3 Cluster, High Availability & Others [20181223] @集思台大會議中心
Jason Cheng
ODP
DRBD/Heartbeat/Pacemakerで作るKVM仮想化クラスタ
株式会社サードウェア
PPTX
3GPP F1インターフェース(TS38.470-f50)の概要
Tetsuya Hasegawa
PDF
Cloud Trends - Cloud 2.0 - Living on the Edge.pdf
Peter Witsenburg
PDF
ML2/OVN アーキテクチャ概観
Yamato Tanaka
PPT
Redes wireless
Carla Jesus
PPTX
CEF: Modelo OSI
Agrupamento de Escolas da Batalha
PDF
プログラマ目線から見たRDMAのメリットとその応用例について
Masanori Itoh
PDF
Open Policy Agent (OPA) 入門
Motonori Shindo
PPSX
Smart Home Automation using Voice Assistant
Tezpur University
PPTX
Software-Defined Networking(SDN):A New Approach to Networking
Anju Ann
Proxmox VE 開源伺服器虛擬化應用經驗分享 [2019/11/12] @OpenInfra Days Taiwan 2019
Jason Cheng
projecto de rede computadores
Galileu Lukoki Antonio
Machine configoperatorのちょっとイイかもしれない話
Toshihiro Araki
フロー技術によるネットワーク管理
Motonori Shindo
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
apkiban
zenoh: zero overhead pub/sub store/query compute
Angelo Corsaro
OpenvSwitchの落とし穴
Takashi Naito
Cisco SDWAN - Components Deployment Workflow
Farooq Khan
Blog application.pptx
BAREJADAKSH
Proxmox VE 5.3 Cluster, High Availability & Others [20181223] @集思台大會議中心
Jason Cheng
DRBD/Heartbeat/Pacemakerで作るKVM仮想化クラスタ
株式会社サードウェア
3GPP F1インターフェース(TS38.470-f50)の概要
Tetsuya Hasegawa
Cloud Trends - Cloud 2.0 - Living on the Edge.pdf
Peter Witsenburg
ML2/OVN アーキテクチャ概観
Yamato Tanaka
Redes wireless
Carla Jesus
CEF: Modelo OSI
Agrupamento de Escolas da Batalha
プログラマ目線から見たRDMAのメリットとその応用例について
Masanori Itoh
Open Policy Agent (OPA) 入門
Motonori Shindo
Smart Home Automation using Voice Assistant
Tezpur University
Software-Defined Networking(SDN):A New Approach to Networking
Anju Ann
Ad
Similar to OpenFlow Group Table
(11)
PDF
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹
Naoki Miyanaga
PPTX
[SoftLayer Summit 2015] DockerとOpenVNetを用いたSoftLayer VLAN上への仮想ネットワークオーバーレイ
cloudconductor
PPTX
OpenFlow OAM ツール - OKINAWA Open Days 2014 Day1
Satoshi KOBAYASHI
PDF
仮想ネットワークを実現するOpenVNet
Akira Yokokawa
PDF
エンタープライズにおけるOpen flowユースケースを考える
cloretsblack
PDF
ONIC-Japan-2019-OVN public
Manabu Ori
PDF
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
Akira Yokokawa
PPTX
20151213 kfug lt_sdn_sugihara
Kota Sugihara
PDF
Open flowを5分間でご紹介
chancelab
PDF
Info talk2013
Koichi Ise
PDF
Lagopus Switch Usecases
Sakiko Kawai
Cloud Days Tokyo 2014 Spring 「80分でばっちり理解するOpenFlow」 NEC宮永直樹
Naoki Miyanaga
[SoftLayer Summit 2015] DockerとOpenVNetを用いたSoftLayer VLAN上への仮想ネットワークオーバーレイ
cloudconductor
OpenFlow OAM ツール - OKINAWA Open Days 2014 Day1
Satoshi KOBAYASHI
仮想ネットワークを実現するOpenVNet
Akira Yokokawa
エンタープライズにおけるOpen flowユースケースを考える
cloretsblack
ONIC-Japan-2019-OVN public
Manabu Ori
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
Akira Yokokawa
20151213 kfug lt_sdn_sugihara
Kota Sugihara
Open flowを5分間でご紹介
chancelab
Info talk2013
Koichi Ise
Lagopus Switch Usecases
Sakiko Kawai
Ad
More from Toshiki Tsuboi
(15)
PDF
GoBGP活用によるSD-WANプラクティス
Toshiki Tsuboi
PDF
SDNアプローチによるBGP経路監視の提案
Toshiki Tsuboi
PDF
BMP活用による SDN時代のオーバレイNW監視手法の提案
Toshiki Tsuboi
PDF
SDN Lab環境でのRobotFramework実践活用
Toshiki Tsuboi
PDF
BGP/MPLS-VPNのお勉強資料
Toshiki Tsuboi
PDF
RyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみた
Toshiki Tsuboi
PDF
Technical report for IPv6 Routing w/ bgp4+ (part2)
Toshiki Tsuboi
PDF
Technical report for IPv6 Routing w/ bgp4+
Toshiki Tsuboi
PDF
InterAS MPLS-VPN with RyuBgp
Toshiki Tsuboi
PDF
OpenFlow in Raspberry Pi
Toshiki Tsuboi
PDF
Evaluation of OpenFlow in RB750GL
Toshiki Tsuboi
PDF
RouterBOARD with OpenFlow
Toshiki Tsuboi
PDF
Echo server implementation for Python
Toshiki Tsuboi
PDF
OpenStack with OpenFlow
Toshiki Tsuboi
PDF
TremaDay #2
Toshiki Tsuboi
GoBGP活用によるSD-WANプラクティス
Toshiki Tsuboi
SDNアプローチによるBGP経路監視の提案
Toshiki Tsuboi
BMP活用による SDN時代のオーバレイNW監視手法の提案
Toshiki Tsuboi
SDN Lab環境でのRobotFramework実践活用
Toshiki Tsuboi
BGP/MPLS-VPNのお勉強資料
Toshiki Tsuboi
RyuBGPSpeakerを活用したOpenFlow簡易ルータを試してみた
Toshiki Tsuboi
Technical report for IPv6 Routing w/ bgp4+ (part2)
Toshiki Tsuboi
Technical report for IPv6 Routing w/ bgp4+
Toshiki Tsuboi
InterAS MPLS-VPN with RyuBgp
Toshiki Tsuboi
OpenFlow in Raspberry Pi
Toshiki Tsuboi
Evaluation of OpenFlow in RB750GL
Toshiki Tsuboi
RouterBOARD with OpenFlow
Toshiki Tsuboi
Echo server implementation for Python
Toshiki Tsuboi
OpenStack with OpenFlow
Toshiki Tsuboi
TremaDay #2
Toshiki Tsuboi
OpenFlow Group Table
1.
オープンソースによる OpenFlow1.3環境の構築 2013.5.27 @ttsubo 1 - Group Tableの活用事例
-
2.
自己紹介 2 ・数年前は、通信事業者向けネットワークエンジニアでした。 ・最近は、データセンタ系ネットワークエンジニアに軸足のシフトを 試みてます。IaaS管理基盤技術として、OpenStack等を勉強中。 ・さらに「これからの時代、ネットワーク屋も、プログラミング 必要だよね。」という風潮に感化されて、OpenFlowプログラ ミングも勉強中。
3.
効率的なトラフィックフロー制御を可能とする OpenFlow新技術が規定されているOpenFlow1.3 がリリースされてから、1年が経過しました。 でも、その新技術の活用方法などを、OpenFlow コミュニティで共有できる場がありません。 OpenFlow新技術が活用されていない状況は、も ったいないと感じています。 そこで、OpenFlow新技術の活用事例を、みなさ んと共有したくて、OpenFlow1.3環境を構築して みました。 3 動機付け
4.
4 OpenFlow1.3では、OpenFlow1.0課題克服を念頭にした プロアクティブベースのフローエントリ機構が強化されております。 OpenFlowは、C-Plane/D-Plane分離技術と言われますが、D-Planeの効率 化を図るためには、プロアクティブなフローエントリ機構の適用が必須だ と思います。(さらに、リアクティブな特性を活用したC-Planeの自動化/ 自律化も必要ですね) 効率的なトラフィックフロー制御とは リアクティブベース • OpenFlowスイッチ側での転送処理が完結せず、Packet-In動作によるコント ローラへの問い合わせ処理がオーバヘッドとなり、NW全体のパフォーマン スが劣化する(=スケールしない) • 既存のネットワークとの相互接続時において、NWアドレス学習などC −Plane連携の活用事例が顕在化されつつある(ARP,
BGP, OSPF, IGMP...) プロアクティブベース • OpenFlowスイッチ側での転送処理が完結するため、NW全体のパフォーマン ス向上が期待できる • Multi Table、Group Tableなどの新技術が活用することにより、Flow数の肥 大化を抑止することも可能となる
5.
OpenFlow環境構築にあたって • オープンソース活用を大前提にTryしてみる! • 最新のOpenFlow1.3で試してみる! •
OpenFlowらしい特性を確認してみる! 5 OpenFlow新技術として、Multi Table、Group Table、Meter、Multi Controller... などが挙げられますが、 今回は、OpenFlowプロアクティブな フロー制御を実現する「GroupTable」 を中心に、動作確認してみました。
6.
OpenFlow1.3環境を作ってみました.. 6 OFS HOST-1 HOST-2 HOST-3 オープンソースな最新OpenFlow実装ソフトウェア って、まだまだ少ないですね... OFC OpenFlow メッセージ CPqD/ofsoftswitch13 Ver:1.9
7.
OpenFlowによる負荷分散/冗長構成 7 ECMP,リンクアグリゲーションなど通信方式による冗長構成(負荷 分散,ACT/SBY構成)の構築下において、 NW機器自らによるネッ トワーク稼働状況に応じた通信経路制御が実施されてきました。 Inport Outport 柔軟な負荷分散/冗長構成制御を 実現できるようフロー設定を行う GroupTable 従来ベースでの負荷分散/冗長構成 OpenFlowベースでの負荷分散/冗長構成 OpenFlowでも、柔軟なトラフィックフロー制御によるマルチパス環 境構築が可能です。OpenFlowコントローラが、プロアクティブに負 荷分散/冗長構成のフロー定義をGroupTableに設定することにより、 ネットワーク稼働状況に応じた通信経路制御が可能となります。
8.
GroupTable活用事例1 8 Multicastな同報通信 Sender Sender(映像配信サーバ)よりReceiver(ライアントPC)へ のMulticastルーティングを構築するモデル。同報通信なパ ケットコピー制御はOpenFlowのGroupタイプ(All)でトラ フィクフローを制御する。 Receiver1 (クライアントPC) Receiver2 (クライアントPC) OpenFlowスイッチがマルチ キャストルーティングに従った 同報通信の制御を実施する MulticastRouter
9.
9 FlowTable GroupTable OFC OpenFlow メッセージ OFS Inport OFC側からプロアクティブなFlowTable/GroupTableを 設定することにより、OFSのInportで受信した通信パケッ トを、複数Outportに同報送信するフロー制御を実現する 仕組み Outport Groupタイプ(All)を用いたフロー制御 Output毎にset fieldを用いた パケットヘッダの書き換えが可能!!
10.
Groupタイプ(All)を活用することにより、Senderから 2台のReceiverに対して、Multicastな同報通信が動作 可能であることを確認できた。 10 Sender Receiver1 Receiver2 239.255.0.1 Groupタイプ(All)の動作確認
11.
GroupTable活用事例2 11 サーバ冗長構成(フェイルオーバ) クライアントPC サーバ1 サーバ2 192.168.1.1 192.168.1.1 クライアントPCからサーバへのアクセス形態として、サーバ 側でフェールオーバな冗長構成を構築するモデル。Act系か らSby系への通信経路の振替え処理は、OpenFlowのGroup タイプ(FastFailover)でトラフィクフローを制御する。 OpenFlowスイッチが 冗長制御(Act/Sby)を実施する Failover 192.168.0.1
12.
12 FlowTable GroupTable OFC OpenFlow メッセージ OFS Inport Outport Groupタイプ(FastFailover)を用いたフロー制御 Outportのリンク断 (administrative down) 時に、切り替えを実施する OFC側からプロアクティブなFlowTable/GroupTableを 設定することにより、OFSのInportで受信した通信パケッ トを、動作可能なOutportに送信するフロー制御を実現す る仕組み(OutPortが動作不可能と判断できるよう、故障 検出もOFS側で行う)
13.
クライアントPC Webサーバ1 Webサーバ2 13 Groupタイプ(FastFailover)の動作確認 Webサーバ1向けアクセス通信経路にて故障が発生した場合 には、接続先をWebサーバ1からWebサーバ2に振替えるこ とにより、クライアント∼Webサーバ間の通信処理が再開 可能であることが確認できた。 クライアントPC Webサーバ1 Webサーバ2 Webサーバ1向けアクセスの通信故障
14.
14 NWロードバランサーによるサーバ負荷分散 クライアントPC クライアントPCからサーバへのアクセス形態として、複数 サーバ配備による負荷分散な環境を構築するモデル。サー バへの負荷分散なアクセス制御は、OpenFlowのGroup タイプ(Select)でトラフィクフローを制御する。 サーバ1 サーバ2LoadBalancer OpenFlowスイッチが 負荷分散制御実施する 192.168.1.1 192.168.1.1 192.168.0.1 GroupTable活用事例3
15.
15 FlowTable GroupTable OFC OpenFlow メッセージ OFS Inport Outport Groupタイプ(Select)を用いたフロー制御 負荷分散の配分比率も パラメータ指定が可能 OFC側からプロアクティブなFlowTable/GroupTableを 設定することにより、OFSのInportで受信した通信パケッ トを、複数Outportに負荷分散的に送信するフロー制御を 実現する仕組み(負荷分散は、ラウンドロビン方式)
16.
16 クライアントPC サーバ1 サーバ2 テキスト ICMP Echo
req (以下、省略) 2台のサーバでICMPパケットを交互に受信できた。 Groupタイプ(Select) の動作確認(ICMPの場合) ICMP Echo req ICMP Echo replyICMP Echo reply ICMP Echo req ICMP Echo reply ICMP Echo req ICMP Echo reply ICMP Echo req ICMP Echo reply ICMP Echo req ICMP Echo reply ICMP Echo req ICMP Echo reply ICMP Echo req ICMP Echo reply
17.
17 「OFS側では、クライアントPCからのWeb閲覧の アクセス毎に、サーバ負荷分散が図れるように接続先 Webサーバが交互に切り替わってトラフィックフロ ーを制御する」ような動作を想定しておりました。 クライアントPC Webサーバ1 Webサーバ2 Web表示結果が 毎回異なる? Groupタイプ(Select) の動作確認(Webアクセスの場合) 動作確認前の仮説
18.
18 しかしながら、実際、クライアントPCからWeb閲覧を行う と、「接続がリセットされました」というエラーメッセージ が表示されてしまいました。 クライアントPC Webサーバ1 Webサーバ2 テキスト Groupタイプ(Select) の動作確認(Webアクセスの場合)
19.
OFS側では、 TCPセッション管理を想定せず、単純なラウン ドロビンによる負荷分散を実施しているのみであるため、 Web閲覧に関わるhttp通信シーケンスが、プロトコル違反と 判定されてしまった... 19 クライアントPC Webサーバ1 Webサーバ2 テキスト SYN SYN SYN/ACK SYN/ACK ACK
ACK http(get) http(get) RST RST (以下、省略) 「接続がリセットされました」の発生原因
20.
20 OpenFlowといえば、ネットワーク挙動をプログラマブルに記 述できるので、従来の通信技術では実現が難しかった柔軟なト ラフィックフロー制御が可能となる技術と言われますよね。 さらに、最近のSDN/OpenFlow業界でのWeb/雑誌記事では、 「ネットワーク仮想アプライアンス的な技術領域への適用」も 期待される旨の文面をよく拝見します。 でも、現在のOpenFlow規格では、TCP セッション管理を踏まえたトラフィックフ ロー制御まで言及しておりません。 よって、NWロードバランサーやDPI(Deep Packet Inspection)のよ うなネットワーク仮想アプライアンス実現には、OpenFlowで は対応が難しいのではないでしょうか。 OpenFlowの技術課題(私見)
21.
おわりに... 21 一般に、OpenFlow技術ネタを取り上げたセミナ講演資料/ Web記事を最近よく見掛けるようになりました。でも、そこで の記載内容を鵜呑みにしてもよいのでしょうか? (技術コンセプトと実装レベルに乖離があるかもしれません) そこで、OpenFlow技術の目利き力を養うためにも、自分自身 でOpenFlowを動かしてみると、いろいろな発見に遭遇できる と思います.....
22.
22 以下、補足情報
23.
23 FlowTable GroupTable 1 2 3 OFS Inport Outport {table="0", match="oxm{eth_dst="01:00:5e:7f:00:01", in_port="1", ipv4_dst="239.255.0.1",
ipv4_src="192.168.0.1", eth_type="0x800"}", dur_s="334", dur_ns="306000", prio="255", idle_to="0", hard_to="0", cookie="0x0", pkt_cnt="12242", byte_cnt="16624636", insts=[apply{acts=[group{id="1"}]}]} {type="all", group="1", buckets=[{w="0", wprt="any", wgrp="any", acts=[out{port="2"}, set_field{field:eth_src="00:00:00:00:00:01"}]}, {w="0", wprt="any", wgrp="any", acts=[out{port="3"}, set_field{field:eth_src="00:00:00:00:00:02"}]}]}]} FlowMod GroupMod 事前に、OpenFlowコントローラから、OFS側でのMulticastの同報通信 に関わるフロー設定を以下のように行った。 Flow/GroupTable(All)の設定サンプル
24.
24 FlowTable GroupTable 1 2 3 OFS Inport Outport Flow/GroupTable(FastFailover)の設定サンプル {table="0", match="oxm{eth_dst="00:00:00:00:00:01", in_port="1", ipv4_dst="192.168.1.1",
eth_src="52:54:00:2b:f5:78", eth_type="0x800"}", dur_s="57", dur_ns="416000", prio="255", idle_to="0", hard_to="0", cookie="0x0", pkt_cnt="27", byte_cnt="2646", insts=[apply{acts=[set_field{field:eth_src="00:00:00:00:00:02"}, group{id="1"}]}]} {type="ff", group="1", buckets=[{w="0", wprt="2", wgrp="any", acts=[out{port="2"}, set_field{field:eth_dst="52:54:00:a3:72:0e"}]}, {w="0", wprt="3", wgrp="any", acts=[out{port="3"}, set_field{field:eth_dst="52:54:00:06:96:d8"}]}]}]} FlowMod GroupMod 事前に、OpenFlowコントローラから、OFS側でのAct/Sby冗長に関わ るフロー設定を以下のように行った。
25.
25 FlowTable GroupTable 1 2 3 OFS Inport Outport Flow/GroupTable(Select)の設定サンプル {table="0", match="oxm{eth_dst="00:00:00:00:00:01", in_port="1", ipv4_dst="192.168.1.1",
eth_src="52:54:00:2b:f5:78", eth_type="0x800"}", dur_s="35", dur_ns="155000", prio="255", idle_to="0", hard_to="0", cookie="0x0", pkt_cnt="21", byte_cnt="2058", insts=[apply{acts=[set_field{field:eth_src="00:00:00:00:00:02"}, group{id="1"}]}]} {type="sel", group="1", buckets=[{w="50", wprt="2", wgrp="any", acts=[out{port="2"}, set_field{field:eth_dst="52:54:00:a3:72:0e"}]}, {w="50", wprt="3", wgrp="any", acts=[out{port="3"}, set_field{field:eth_dst="52:54:00:06:96:d8"}]}]}]} FlowMod GroupMod 事前に、OpenFlowコントローラから、OFS側でのトラフィック負荷 分散処理に関わるフロー設定を以下のように行った。
Download