Upload
virtualtech-japan-inc
View
6.003
Download
2
Embed Size (px)
DESCRIPTION
講師:ミドクラ社 高嶋様 日時:2014/04/10 タイトル:40分でばっちり理解するSDN(Software Defined Networking) 〜ベンダーサイド〜 概要: - What’s “SDN” ? - “SDN” を分類してみよう - クラウド間、データ間接続で見る “SDN” - クラウド内ネットワークで見る “SDN” - SDNベンダ(?)の悩み 〜 私の場合
Citation preview
40分でばっちり理解するSDN(Software Defined Networking) ~ベンダーサイド~
2014 年 4 月 10 日ミドクラジャパン株式会社 高嶋隆一
Copyright ©2013 Midokura All rights reserved
本日の流れ
2
前半What’s “SDN” ?
“SDN” を分類してみよう後半クラウド間、データ間接続で見る “ SDN”
クラウド内ネットワークで見る “ SDN”
SDN ベンダ (?) の悩み 〜 私の場合
Copyright ©2013 Midokura All rights reserved
What’s “SDN” ?
3
Software Defined Networking
ソフトウェアでネットワークを定義する ???
Copyright ©2013 Midokura All rights reserved
Web 上で見る様々な “ SDN” の定義
4
SDN is a new approach to networking in which network control is decoupled from the data forwarding function and is directly programmable.
From: https://www.opennetworking.org/about/onf-overview
ネットワークの構成、機能、性能などをソフトウェアの操作だけで動的に設定、変更できるネットワーク、あるいはそのためのコンセプトを指す
From: http://www.atmarkit.co.jp/ait/articles/1304/08/news098.html
Copyright ©2013 Midokura All rights reserved 5
Web 上で見る様々な “ SDN” の定義 cont.
SDN とは、ネットワークをソフトウェアで動的に〜中略〜そこで、従来、個々のネットワーク機器が 1 台ずつで行ってきたネットワーク制御とデータ転送処理を分離し、汎用サーバ側のソフトウェアでデータ転送処理のみを行う機器を動的に制御することで、通信を柔軟に効率よく、安全に行えるようにすることを目指して考えられたのが SDN です。
From: http://jpn.nec.com/sdn/about_sdn.html?
ソフトウェアによって仮想的なネットワークを作り上げる技術全般を言います。 SDN を用いると、物理的に接続されたネットワーク上で、 別途仮想的なネットワークを構築するといったようなことが可能になります。
From: https://www.nic.ad.jp/ja/basics/terms/sdn.html
Copyright ©2013 Midokura All rights reserved
Web 上で見る様々な “ SDN” の定義 cont.
6
共通項 “ ソフトウェアで” “ 動的に変更”
その他のキーワード コントロールプレーン、データプレーン分離 自動化 機能の追加 仮想化 汎用ハードウェア
Copyright ©2013 Midokura All rights reserved
Web 上で見る様々な “ SDN” の定義 cont.
7
“SDN” という固有名詞の標準技術は存在しない
ソフトウェアでネットワークに対して動的制御を行う仕組みをなべて “ SDN” と呼んでいる
Photo Credit: @Doug88888 via Compfight cc
ポイント
“SDN” を分類してみよう
8Photo Credit: 5letterdesign via Compfight
cc
Copyright ©2013 Midokura All rights reserved
無数の “ SDN” ベンダ
9
Copyright ©2013 Midokura All rights reserved
分類 I. “ 適用領域”と”物理 vs 仮想”
10
データセンタ
物理 仮想
WAN
クラウドネットワークスタック
仮想・物理スイッチの連携
物理スイッチの制御
サーバ、 DC ネットワーク、 WAN の統合制御
伝送路、パスの制御
Copyright ©2013 Midokura All rights reserved
分類 II. “ 新興 vs 既存”と “ Hardware とSoftware”
11
ソフトウェア
既存 新興
ハードウェア
新興ソフトウェアベンダ
仮想化 No.1 事業者の補強
既存ネットワーク機器メーカ
汎用 FPGA 、汎用 OS による ODM 会社
既存伝送機器メーカ
既存サーバ機器メーカ
Copyright ©2013 Midokura All rights reserved
分類 III. “ 利用技術”
12
( 何らかの )API
HopBy
Hop
Edgeoverlay
OpenFlow
伝送パス設定の自動化
物理 L2/L3 設定の自動化・機能追加
クラウドの自動化・スケール強化
全部入り
仮想・物理スイッチの統合
クラウド・ DC 間の連携
Copyright ©2013 Midokura All rights reserved
現存する “ SDN” ソリューションの傾向をみると…
13
クラウド
仮想・物理間の連携
統合制御
クラウドネットワークの仮想化
クラウドと外部接続連携 クラウド収容 DC の効率化等、「クラウド」が適用領域になっているものの製品化が多い
前半 まとめ
14
Photo Credit: Rafa from Brazil via Compfight cc
“SDN” という固有名詞の技術は存在しない
ソフトウェアでネットワークに対して動的制御を行う仕組みをなべて “ SDN” と呼んでいる
15Photo Credit: ake1150sb via Compfight cc
クラウド間、データ間接続で見る “ SDN”
Copyright ©2013 Midokura All rights reserved
Google さんの場合
16
http://www.opennetsummit.org/archives/apr12/hoelzle-tue-openflow.pdf
リアルタイムに使用率、アクティブなパスを監視して利用率が最大になる用に制御
1:1 冗長からの脱却
DC 間接続の効率化
独自ハードウェア (!) 汎用 FPGA を利用
独自コントローラ (!) OpenFlow によりパケット転送を
制御 コントローラとデータコピープロセ
スが連携して大規模データ転送時には最適なパスを選択
仕組み
Copyright ©2013 Midokura All rights reserved
PACNET さんの場合
17
http://pen.pacnet.com/http://www.vellosystems.com/company/
press-releases/pacnet-selects-vello/
DC 間接続をポータル画面からオンデマンド開通、帯域変更を可能に
Vello SYSTEMS のソリューションを利用 パケット転送制御は OpenFlow
based スイッチは汎用 FPGA を用いたもの パス制御、トラフィックからの
フィードバックの為に独自制御機構も併用
オペレータは OpenFlow は直接触らず、 Rest API ベースでコントローラから制御
仕組み
顧客への制御の開放
Copyright ©2013 Midokura All rights reserved
クラウド間、 DC 間接続の傾向を見ると…
18
OpenFlow
汎用 FPGA を利用したハードウェア
Copyright ©2013 Midokura All rights reserved
OpenFlow ?
19
OpenFlow = 外部からパケット処理ルールをプログラミングする仕組み
ネットワークコントローラ
アプリケーション
API
ネットワーク機器群
この部分 :API と通信方式を規定するのみ
単なるプロトコルであり、フレームワークを標準化
Copyright ©2013 Midokura All rights reserved
フローエントリとアクションの基本
20
• 転送する• ヘッダを書き換える• 廃棄する• コントローラに転送する
フロー毎のトラフィックの統計情報
OpenFlow-Enabledスイッチ
OpenFlowClient
Control Plane
Data PlaneFlow Table
Matching Fields Action Statsフローエントリ
OpenFlowコントローラ
OpenFlowプロトコル
IngressPort
MACDA
MACSA
EtherTypeVLAN
IDIP
SrcIP
DstIP
ProtocolTCP/UDPsrc port
TCP/UDPdst port
P-bitsIP
DSCP
レイヤ 2 レイヤ 3 レイヤ 4フローを識別
21
汎用 FPGA を利用したハードウェアと
Network 機器の White Box 化の要求
?
Copyright ©2013 Midokura All rights reserved
背景
22
昔 ルータ、スイッチベンダがチップを独自開発、もしくは専用チップを開発委託
近年 ネットワークを得意とするチップベンダがルータ、スイッチベンダに販売
現在 チップベンダが減少してほぼ用途毎の寡占、独占状態に
ネットワーク機器用チップの変遷
どこの機器を買っても入ってくるチップは同じ メジャープレーヤ以外も ( ハードウェアは ) 同じ物が提供で
きる
Copyright ©2013 Midokura All rights reserved
White box ?
23
ホワイトボックス(英語 :White Box)とは、特定のブランドを持たないノーブランドパソコンや、卸売業者や販売店、ソリューションプロバイダーなどが自社のブランドをつけて販売するプライベートブランドパソコンやショップブランドパソコンのことである。 From: http://ja.wikipedia.org/wiki/ホワイトボックス _( パソコ
ン )
従来、計算機そのものもハードウェア、 OS 、アプリケーションは全て作り込みをされたセットであったものが、現在では汎用アーキテクチャの組み合わせにより実現
OS 、アプリケーションの選択も自由
汎用化が進めば進む程、低廉な White box が出現
Copyright ©2013 Midokura All rights reserved
Network 機器の White box 化
24
どこのメーカも同じチップを使用汎用 FPGA の採用 ベースとなる制御は Linux 等の
Open Source based のものが増加
汎用 OS の採用
売れ筋の商品はどのメーカも同じODM/OEM ベンダに製造委託
ODM/OEM ベンダの共通化
共通の OS や API があれば、計算機と同じ様に低廉な White box 化したネットワーク機器が使えるのではないかという期待
Photo Credit: Araleya via Compfight cc
Copyright ©2013 Midokura All rights reserved
実装例
25
Cumulus Networks の場合
White Box 向けの OS を提供Linux ベースサーバ管理のテクノロジーが応用可能
OCP 準拠
対応状況現在は Quanta 製品 ( 前頁 ) を公式サポート
日本からは CTC さんが国内販売をアナウンス ※
http://cumulusnetworks.com/product/overview/
※http://www.ctc-g.co.jp/corporate/press/2014/0213a.html
Copyright ©2013 Midokura All rights reserved
おまけ
26
Copyright ©2013 Midokura All rights reserved
White box 化に向けた今後の課題
27
ハードウェアアーキテクチャの共通化 チップベンダの寡占化は進んでいるが、アーキテク
チャの共通化は IA サーバほど進んでいない
OS 、 API のテンプレート化、成熟化
コンシューマ向けには Windows 8, サーバ向けには UNIX や Windows server といった様な典型的な選択肢がまだ用意されるほど市場が成熟していない
28
クラウド内
ネットワークで見る “ SDN”
Photo Credit: kevin dooley via Compfight cc
Copyright ©2013 Midokura All rights reserved
IaaS クラウドの要求
29
ユーザの必要とする「計算機資源」を「必要な時に」「必要なだけ」提供すること
IaaS クラウドの要求
How?
CPU ・メモリ ストレージ ネットワーク
計算機資源のスケールアウトオーケストレーション
ストレージ &ネットワークが問
題
Copyright ©2013 Midokura All rights reserved
仮想化・クラウド化がネットワークに持たらす課題
30
CPU ・メモリは仮想化、自動化されているがネットワークは ?
自動化
VM 多重収容による物理ポート当たりの帯域使用率増加
データセンタ内の折り返しトラフィックの増加
顧客テナント収容数 VM 収容数 物理ネットワークのポート収容数
パフォーマンス
拡張性
Copyright ©2013 Midokura All rights reserved
OpenStack の場合
31
コンポーネント毎に独立したプロジェクト
OpenStack Neutron API に則った仕組みを使えばネットワークスタックを選択可能
Open Source での Cloud OS
Open vSwitch ベースの L2 over L3 VLAN ベース サードパーティが提供する
ネットワークスタック いずれも Edge Overlay
ネットワークの選択肢
Copyright ©2013 Midokura All rights reserved
OpenStack の場合
32
Neutron API を切り口に各コンポーネントを疎結合となるアーキテクチャにより、ユーザによる自動化を可能にするアプローチ
自動化
ユーザアプリ
Neutron API
Host OS のデータプレーンHost OS のデータプレーンHost OS のデータプレーンHost OS のデータプレーン
OpenStackGUI
OpenStackCLI
Copyright ©2013 Midokura All rights reserved
L2/L3 といった基本的な機能だけではなく、高レイヤのサービスにも拡張
Neutron
33
OpenStack に準拠する為、多くのメーカ、ベンダが Neutron API と自社 API を変換する Plugin を実装
データセンタ・クラウド向け Network API のデファクトスタンダードの候補として注目されている
制御対象
L2 separation
L3 separation
FWaaS
LBaaS
VPNaaS QoS
Service Insertion
Security Group Etc, Etc …
Neutron API
Copyright ©2013 Midokura All rights reserved
Edge overlay
34
仮想スイッチ
VMVMVM
仮想スイッチ
VMVMVM
ToRToR物理トポロジ
テナントルータ
ブリッジ
集約ルータ
VM VM
仮想トポロジ
VM の仮想ポートを境界として物理トポロジ上に
IaaS 用の仮想トポロジを構築 ( Overlay )
Copyright ©2013 Midokura All rights reserved
Server-side Edge overlay の動作
35
仮想スイッチ
VMVMVM
仮想スイッチ
VMVMVM
ToRToR3
①VM がパケットを送信② 仮想スイッチが「こういうネットワークがある」ことに
してヘッダを書き換え ※③ トンネルヘッダを付与して物理ネットワークに送信
Data
Header’
Data
Header’
Tunnel
21Data
Header
※ ルータ越えによる MAC Address, IP TTL や NAT , LB による IP Address 書き換え等
Copyright ©2013 Midokura All rights reserved
Server-side Edge overlay の動作
36
仮想スイッチ
VMVMVM
仮想スイッチ
VMVMVM
ToRToR3
④ トンネルヘッダに従い物理ネットワークを配送⑤ 仮想スイッチがトンネルヘッダ付きのパケットを受信
⑥ 仮想スイッチがトンネルヘッダを除去して VM に送信
Data
Header’
Data
Header’
Tunnel
21Data
Header
Data
Header’
Tunnel
4Data
Header’
6
5
VM 間では物理トポロジの制約は受けず、仮想トポロジを経由した様に見える
Copyright ©2013 Midokura All rights reserved
Server-side Edge overlay の利点
37
Overlay は VLAN ID 等の物理的な制約を受けない
トンネルを利用する為、物理ネットワークは L2 でも L3 でも問題なく、大規模 L2 ネットワークの構築等が不要
拡張性
処理が VM を収容する各ノードに分散される為、トラフィック処理のスケールアウトが可能
VM 間のトポロジ ( Overlay) が複雑になっても、物理ネットワーク (Underlay) は常にトンネルで 1hop
パフォーマンス
Copyright ©2013 Midokura All rights reserved
MidoNet の場合
38
VM
Upstream ISP
vPo
rt
vPo
rt
vPo
rt
vPo
rt
VM VM
vPo
rt
vPo
rt
VM VM
vPo
rt
Tenant ARouter
Tenant ABridge 1
Tenant ABridge 2
Tenant BBridge 1
Tenant BRouter
The Internet
よくある IaaS の論理トポロジ
BGP uplink
ProviderRouter
Upstream ISP
The Internet
VM
MidoNet
Compute Node
VM
MidoNet
Compute Node
VM
MidoNet
Compute Node
MidoNet
Gateway Node
MidoNet
Gateway Node
Back-end Network
NW StateDBNW State
DBNW StateDB
MidoNet の物理トポロジ
BGP uplink
API Node
Cloud Mgmt System
Only requirement
is an IP reachability!
個々の NW 機器ではなく、論理トポロジ全体をエミュ
レート
Copyright ©2013 Midokura All rights reserved
MidoNet の実装
39
Upstream ISP
The Internet
VM
MidoNet
Compute Node
VM
MidoNet
Compute Node
VM
MidoNet
Compute Node
MidoNet
Gateway Node
MidoNet
Gateway Node
Back-end NetworkNetwork
State Node
NW StateDBNW State
DBNW StateDB
MidoNet のコンポーネント
BGP uplink
API Node
Cloud Mgmt System
ホスト OS 上の OVS kernel module
Data path
ホスト OS で動作するプロセス。NSDB からオンデマンドで必要な情報をダウンロードしトポロジエミュレーションを実施。結果を Data path にプログラミング。
Agent
Zookeeper, Cassandra を使用トポロジ情報、 IP-MAC table 、接続ホスト情報等の全てを持つ「コントローラ」ではなく「 DB 」。プッシュ配信を極力行わない
NSDB
Copyright ©2013 Midokura All rights reserved
MidoNet のコントロールプレーン
40
OpenStack Dashboard
ユーザプログラム
Neutron API サーバ
MidoNet plugin
MidoNet API サーバ
Neutron API
Zookeeper/Cassandra Connection
MidoNet Network State DB
OpenStackNeutron CLI
MidoNetCLI
MidoNetGUI
OpenStack へのインテグレーションに加え、独自 UI 及び API によるプログラミングを提供
豊富なインテグレーション手段
MidoNet API
MidoNet API
後半 まとめ
41
Photo Credit: Rafa from Brazil via Compfight cc
DC 間、 WAN の領域では OpenFlow を初めとする API 経由でのハードウェア機器制御による事例が出てきている
クラウドのネットワークスタックでは Server-side Edge Overlay によるソリューションが流行中 (?)
SDN ベンダ(?)
の悩み
私の場合42
Photo Credit: Jacqui Stanley(spring cleaning my account!) via Compfight cc
Copyright ©2013 Midokura All rights reserved
よくあるケース
43
勉強になりました !
典型的ケースその 1 聞いてはみたものの、そもそも好奇心や情報収集以上
のものではなかった
OVS plugin とどこが違うんでしょう ?
典型的ケースその 2 OVS plugin で HA や Scale 等で悩んだことがな
いと、一見できることが同じに見えちゃう人もいる
Copyright ©2013 Midokura All rights reserved
よくあるケース
44
動きません !
典型的ケースその 3 Nova / Neutron の設定まちがってます
既存のシステムがあるので…
既存のネットワーク機器等と違い、「徐々に導入」がやりづらい
Copyright ©2013 Midokura All rights reserved
よくあるケース
45
お金かかるんですか…
ネットワークはエンドユーザに課金する対象ではないケースがあり、そこにお金を払う概念がないケースもある
Copyright ©2013 Midokura All rights reserved
よくあるケース、のまとめ
46
結局、今お客さんになってくれるのは …
OpenStack を初めとするスキルセットがある 既にサービスを展開しており、 L2-L3 の柔軟性、ス
ケーラビリティで壁にあたっている 新サービス展開やサービス拡張で新規のシステムを
作る可能性がある
この AND 条件
Copyright ©2013 Midokura All rights reserved
今がんばっていること
47
買ってもらうために …
エンドユーザに課金できる様な、 高レイヤのサービスを Add-on していく(弊社の例 )
分散 L4 ロードバランサ
既存のシステムと連携できる様な仕組みを作成していく( 弊社の例 )
VLAN 終端 ( L2 ゲートウェイ )による外部 L2
セグメントとの連携
48
Thank you!