80分でばっちり理解する SDN (So)ware Defined Networking) 2014年2月26日 ミドクラジャパン株式会社 高嶋隆一 Cloud days Tokyo 2014 春
Jan 26, 2015
80分でばっちり理解する SDN (So)ware Defined Networking)
2014年2月26日 ミドクラジャパン株式会社 高嶋隆一
Cloud days Tokyo 2014 春
Copyright ©2013 Midokura All rights reserved
本日の流れ
2
n 前半
Ø What’s “SDN” ?
Ø “SDN” を分類してみよう
n 後半
Ø クラウド間、データ間接続で見る “SDN”
Ø クラウド内ネットワークで見る “SDN”
3
What’s “SDN”?
Photo Credit: Micky Aldridge via flickr cc
Copyright ©2013 Midokura All rights reserved
2012を境に注目を集めている “SDN”
4
A. OpenFlow B. Software Defined Networking C. Software Defined Network
From: Google Trends
A
B
C
Copyright ©2013 Midokura All rights reserved
What’s “SDN” ?
5
Software Defined Networking
ソフトウェアでネットワークを定義する???
Copyright ©2013 Midokura All rights reserved
Web 上で見る様々な “SDN” の定義
6
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 7
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.
8
共通項 ü “ソフトウェアで” ü “動的に変更”
その他のキーワード ü コントロールプレーン、データプレーン分離 ü 自動化 ü 機能の追加 ü 仮想化 ü 汎用ハードウェア
Copyright ©2013 Midokura All rights reserved
Web 上で見る様々な “SDN” の定義 cont.
9
ü “SDN” という固有名詞の標準技術は存在しない ü ソフトウェアでネットワークに対して動的制御を行う仕組みをなべて “SDN” と呼んでいる
Photo Credit: @Doug88888 via Compfight cc
ポイント
“SDN”を分類してみよう
10 Photo Credit: 5letterdesign via Compfight cc
Copyright ©2013 Midokura All rights reserved
無数の “SDN” ベンダ
11
Copyright ©2013 Midokura All rights reserved
分類I. “適用領域”と”物理vs仮想”
12
データセンタ
物理 仮想
WAN
クラウドネットワークスタック
仮想・物理スイッチの連携
物理スイッチの制御
サーバ、DCネットワーク、WANの統合制御
伝送路、パスの制御
Copyright ©2013 Midokura All rights reserved
分類II. “新興vs既存”と “HardwareとSoftware”
13
ソフトウェア
既存 新興
ハードウェア
新興ソフトウェアベンダ
仮想化 No.1事業者の補強
既存ネットワーク機器メーカ
汎用FPGA、汎用OSによるODM会社 既存伝送機器メーカ
既存サーバ機器メーカ
Copyright ©2013 Midokura All rights reserved
分類III. “利用技術”
14
(何らかの)API
Hop By Hop
Edge overlay
OpenFlow
伝送パス設定の自動化
物理L2/L3設定の自動化・機能追加
クラウドの自動化・スケール強化
全部入り
仮想・物理スイッチの統合
クラウド・DC間の連携
Copyright ©2013 Midokura All rights reserved
現存する “SDN” ソリューションの傾向をみると…
15
クラウド
仮想・物理間の連携
統合制御
ü クラウドネットワークの仮想化 ü クラウドと外部接続連携 ü クラウド収容DCの効率化 等、「クラウド」が適用領域になっているものの製品化が多い
前半 まとめ
16 Photo Credit: Rafa from Brazil via Compfight cc
ü “SDN” という固有名詞の技術は存在しない ü ソフトウェアでネットワークに対して動的制御を行う仕組みをなべて “SDN” と呼んでいる
17 Photo Credit: ake1150sb via Compfight cc
クラウド間、データ間接続で見る “SDN”
Copyright ©2013 Midokura All rights reserved
Google さんの場合
18
h"p://www.opennetsummit.org/archives/apr12/hoelzle-‐tue-‐openflow.pdf
ü リアルタイムに使用率、アクティブなパスを監視して利用率が最大になる用に制御
ü 1:1 冗長からの脱却
DC間接続の効率化
Ø 独自ハードウェア(!) ü 汎用FPGAを利用
Ø 独自コントローラ(!) ü OpenFlow によりパケット転送を制御 ü コントローラとデータコピープロセスが連
携して大規模データ転送時には最適なパスを選択
仕組み
Copyright ©2013 Midokura All rights reserved
PACNET さんの場合
19
h"p://pen.pacnet.com/ h"p://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間接続の傾向を見ると…
20
OpenFlow
汎用FPGAを利用したハードウェア
21 http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Onsen_Macaque.JPG
Copyright ©2013 Midokura All rights reserved
What’s OpenFlow ?
22
OpenFlow = 外部からパケット処理ルールをプログラミングする仕組み
ネットワーク コントローラ
アプリケーション
API
ネットワーク機器群
この部分: APIと通信方式を 規定するのみ
単なるプロトコルであり、 フレームワークを標準化
Copyright ©2013 Midokura All rights reserved
フローエントリとアクションの基本
23
• 転送する • ヘッダを書き換える • 廃棄する • コントローラに転送する
フロー毎のトラフィックの統計情報
OpenFlow-Enabled���スイッチ
OpenFlow ���Client
Control Plane
Data Plane Flow Table
Matching Fields Action Stats フローエントリ
OpenFlow ���コントローラ
OpenFlow プロトコル
Ingress Port
MAC DA
MAC SA EtherType VLAN
ID IP
Src IP
Dst IP
Protocol TCP/UDP src port
TCP/UDP dst port P-bits IP
DSCP
レイヤ2 レイヤ3 レイヤ4 フローを識別
Copyright ©2013 Midokura All rights reserved
ONFによる標準化
24
https://www.opennetworking.org/membership/members 100社以上(*)のメンバにより構成
Working Group で議論
ボードメンバで仕様策定
全てのメンバの承認を 経て、仕様が標準化
ONFの標準化プロセス ボードメンバ(*)
(*) 2013年10月現在
25
汎用FPGAを利用した
ハードウェア
Copyright ©2013 Midokura All rights reserved
背景
26
昔 ルータ、スイッチベンダがチップを独自開発、もしくは専用チップを開発委託
近年 ネットワークを得意とするチップベンダがルータ、スイッチベンダに販売
現在 チップベンダが減少してほぼ 用途毎の寡占、独占状態に
ネットワーク機器用チップの変遷
ü どこの機器を買っても入ってくるチップは同じ ü メジャープレーヤ以外も (ハードウェアは) 同じ物が提供できる
次なる要求として出てきたもの
27
28
Network 機器の White Box 化の要求
?
Copyright ©2013 Midokura All rights reserved
背景
29
サーバ IA アーキテクチャへの収斂が進み、汎用化
ネット���ワーク
未だに数社のメジャープレーヤがハードウェア、ソフトウェアを紐付けたプロプライエタリな実装により寡占
Why ?
サーバ 10数年前と比較すると普及クラスのものの価格は数分の一
ネット���ワーク 10数年前と比較してもそれほど変わらない
コストの変遷
Copyright ©2013 Midokura All rights reserved
White box ?
30
ホワイトボックス(英語:White Box)とは、特定のブランドを持たないノーブランドパソコンや、卸売業者や販売店、ソリューションプロバイダーなどが自社のブランドをつけて販売するプライベートブランドパソコンやショップブランドパソコンのことである。
From: http://ja.wikipedia.org/wiki/ホワイトボックス_(パソコン)
ü 従来、計算機そのものもハードウェア、OS、アプリケーションは全て作り込みをされたセットであったものが、現在では汎用アーキテクチャの組み合わせにより実現
ü OS、アプリケーションの選択も自由
汎用化が進めば進む程、低廉な White box が出現
Copyright ©2013 Midokura All rights reserved
Network 機器の White box 化
31
Ø どこのメーカも同じチップを使用 汎用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
今日現在の状況
32
API の例
OpenFlow ü パケット処理の API から始まっている
¡ 共通化 X 非常に低レイヤを見るフレームワークやライブラリに相当するAPIの為、ユーザが利用するにはアプリケーションやOSに相当する部分を開発しなくてはいけない
実装例 ü 大手ベンダと同じチップ、Linux と XORP * , Open vSwitch を用いた廉価な Box スイッチを提供
ü 大手ベンダと同じチップを使用した廉価な Box スイッチに対し、OpenFlow を制御のキーにした OS を提供
* http://www.xorp.org/
Copyright ©2013 Midokura All rights reserved
今日現在の状況 cont.
33
Open Compute Projectの場合
n OCP Ø Facebook 等が主導する “高効率で低コストのデータセンターを追求するワールドワイドなエコシステムを推進する” Project
n Network Component in OCP
Ø Quanta の様な ODMメーカが汎用チップを使った ToR スイッチを提供を開始
Copyright ©2013 Midokura All rights reserved
今日現在の状況 cont.
34
Cumulus Networks の場合
n White Box向けの OS を提供 Ø Linux ベース Ø サーバ管理のテクノロジ
ーが応用可能 Ø OCP準拠
n 対応状況 Ø 現在は Quanta 製品 (前頁)
を公式サポート Ø 日本からは CTC さんが国
内販売をアナウンス ※
h"p://cumulusnetworks.com/product/overview/
※h"p://www.ctc-‐g.co.jp/corporate/press/2014/0213a.html
Copyright ©2013 Midokura All rights reserved
White box 化に向けた今後の課題
35
ハードウェアアーキテクチャの共通化 Ø チップベンダの寡占化は進んでいるが、アーキテクチャの共通化は IA サーバほど進んでいない
OS、API のテンプレート化、成熟化 Ø コンシューマ向けには Windows 8, サーバ向けには
UNIX や Windows server といった様な典型的な選択肢がまだ用意されるほど市場が成熟していない
36 Photo Credit: kevin dooley via Compfight cc
Copyright ©2013 Midokura All rights reserved
分類I. “適用領域”と”物理vs仮想”
37
データセンタ
物理 仮想
WAN
クラウドネットワークスタック
仮想・物理スイッチの連携
物理スイッチの制御
サーバ、DCネットワーク、WANの統合制御
伝送レイヤの制御
Copyright ©2013 Midokura All rights reserved
パブリッククラウドの台頭
38
+
Photo Credit: Stratfordcollege via Compfight cc
ü オンデマンドデプロイメント ü 従量課金
Cloud meets Enterprise IT !
Copyright ©2013 Midokura All rights reserved
“AWS like なシステム” への要求
39
Photo Credit: kevin dooley via Compfight cc
Ø AWS like なシステムを ü “Amazon より安く” Private Cloud を構築 ü “Amazon より安く” サービスとして提供 する需要が発生
Copyright ©2013 Midokura All rights reserved
IaaS クラウド ~= AWS like なシステムの要求
40
ユーザの必要とする「計算機資源」を 「必要な時に」「必要なだけ」 提供すること
IaaSクラウドの要求
How?
CPU・メモリ ストレージ ネットワーク
計算機資源のスケールアウト オーケストレーション
ストレージ & ネットワークが問題
Copyright ©2013 Midokura All rights reserved
仮想化・クラウド化がネットワークに持たらす課題
41
ü CPU・メモリは仮想化、自動化されているが ネットワークは ?
自動化
ü VM多重収容による物理ポート当たりの帯域使用率増加 ü データセンタ内の折り返しトラフィックの増加
ü 顧客テナント収容数 ü VM収容数 ü 物理ネットワークのポート収容数
パフォーマンス
拡張性
Copyright ©2013 Midokura All rights reserved
OpenStack の場合
42
ü コンポーネント毎に独立したプロジェクト ü OpenStack Neutron API に則った仕組み
を使えばネットワークスタックを選択可能
Open Source での Cloud OS
ü Open vSwitch ベースの L2 over L3 ü VLAN ベース ü サードパーティが提供する
ネットワークスタック
ネットワークの選択肢
Copyright ©2013 Midokura All rights reserved
OpenStack の場合
43
ü Neutron API を切り口に各コンポーネントを疎結合となるアーキテクチャにより、ユーザによる自動化を可能にするアプローチ
自動化
ユーザアプリ
Neutron API
Host OS のデータプレーン Host OS のデータプレーン Host OS のデータプレーン Host OS のデータプレーン
OpenStack GUI
OpenStack CLI
Copyright ©2013 Midokura All rights reserved
ü L2/L3といった基本的な機能だけではなく、高レイヤのサービスにも拡張
Neutron
44
ü OpenStack に準拠する為、多くのメーカ、ベンダが Neutron API と自社 API を変換する Plugin を実装
ü データセンタ・クラウド向け Network API の デファクトスタンダードの候補として注目されている
制御対象
L2 separaaon
L3 separaaon
FWaaS
LBaaS
VPNaaS QoS
Service Inseraon
Security Group Etc, Etc …
Neutron API
Copyright ©2013 Midokura All rights reserved
OpenStack の場合
45
ü サードパーティ各社とも、パフォーマンスや拡張性を持たせる為のテクノロジーとして、Server-‐side Edge Overlay を利用している
パフォーマンス、拡張性
Copyright ©2013 Midokura All rights reserved
Server-‐side Edge overlay
46
仮想スイッチ VM
VM
VM
仮想スイッチ VM
VM
VM
ToR ToR 物理
テナント ルータ
ブリッジ
集約 ルータ
VM VM
仮想
VMの仮想ポートを境界として物理トポロジ上に IaaS 用の仮想トポロジを構築 ( Overlay )
Copyright ©2013 Midokura All rights reserved
Server-‐side Edge overlay の動作
47
仮想スイッチ VM
VM
VM
仮想スイッチ VM
VM
VM
ToR ToR 3
① VMがパケットを送信 ② 仮想スイッチが「こういうネットワークがある」ことにしてヘッダ
を書き換え ※ ③ トンネルヘッダを付与して物理ネットワークに送信
Data
Header’
Data
Header’
Tunnel
2 1 Data
Header
※ ルータ越えによる MAC Address, IP TTL や NAT , LB による IP Address 書き換え等
Copyright ©2013 Midokura All rights reserved
Server-‐side Edge overlay の動作
48
仮想スイッチ VM
VM
VM
仮想スイッチ VM
VM
VM
ToR ToR 3
④ トンネルヘッダに従い物理ネットワークを配送 ⑤ 仮想スイッチがトンネルヘッダ付きのパケットを受信 ⑥ 仮想スイッチがトンネルヘッダを除去してVMに送信
Data
Header’
Data
Header’
Tunnel
2 1 Data
Header
Data
Header’
Tunnel
4 Data
Header’
6
5
VM間では物理トポロジの制約は受けず、 仮想トポロジを経由した様に見える
Copyright ©2013 Midokura All rights reserved
Server-‐side Edge overlay の利点
49
ü Overlay は VLAN ID 等の物理的な制約を受けない
ü トンネルを利用する為、物理ネットワークは L2 でも L3 でも問題なく、大規模 L2 ネットワークの構築等が不要
拡張性
ü 処理が VM を収容する各ノードに分散される為、トラフィック処理のスケールアウトが可能
ü VM間のトポロジ ( Overlay) が複雑になっても、物理ネットワーク (Underlay) は常にトンネルで 1hop
パフォーマンス
Copyright ©2013 Midokura All rights reserved
Server-‐side Edge overlay の利点
50
従来のVirtual Router
Upstream ISP Upstream ISP
Back-end Network
Upstream ISP Upstream ISP
Back-end Network
Network機器をVMとしてエミュレーション Network Topology全体をエミュレーション
Edge overlay
Drop Drop Drop
Drop
Ingressでのトポロジエミュレートにより、目的地となるホストに直接転送する為、”行って来い” が発生しない
East-‐to-‐West traffic の最適化
51 Photo Credit: See-ming Lee 李思明 SML via Compfight cc
Edge Overlay における構成技術
Copyright ©2013 Midokura All rights reserved
Overlay で用いられるトンネル技術
52
ü L2 フレームを UDP で通すトンネリング ü 24bits のテナント識別子を持ち、VLAN空間12btisより広大
¡ UDP ヘッダにより、経由ノードで細かな制御が可能 × MAC学習に標準では IP Multicast を使う為、実装が困難※
VXLAN
NVGRE ü L2 フレームを GRE で通す為の拡張、GRE Tunnel ID を分割 ü 24bitsの Tenant ID を持ち、VLAN空間12bitsより広大
¡ GREに見える為、既存のフレームワークの改変が不要 × Multicast/Broadcast が Tenant IDとリンクしていない
GRE ü 所謂 GRE トンネリング
¡ 枯れており実装も多い × L2 の考慮は上位アプリケーションで考慮する必要がある
※VMWare NSX では IP Multicast による動的学習に加えて コントローラによる効率的な同期をサポート
Copyright ©2013 Midokura All rights reserved
仮想スイッチ
53
仮想スイッチとは
ü ソフトウェアで動作するスイッチ ü Host OSで動作し、VMと外部ネットワークを接続 ü 単純なスイッチング以外にもトンネル化、VLAN
の追加削除等のヘッダ操作もサポート
Copyright ©2013 Midokura All rights reserved
仮想スイッチ
54
代表的な実装例
ü VMWare ESXi/Infrastracture 上で動作 ü 単純なスイッチ機能がメイン
vswitch, vDS
Nexus 1000v
ü ESXi, Linux 上で動作 ü 基本的には Cisco UCS 上での動作を想定 ���
( IAサーバなら動作は可能…な筈 )
ü Linux 上で動作 ü Data path となる kernel module と、Control plane となる
application から構成 ü OpenFlow を使うことも、直接Data pathをプログラミングする事も可能 Open vSwitch
Photo Credit: nushuz via Compfight cc
その他
55
Copyright ©2013 Midokura All rights reserved
ü 通信事業者の標準化団体である ETSI (European Telecommunications Standards Institute) により、仕様化を検討
ü 2013年10月14日に初版の仕様が公開
NFV = Network Function Virtualization
56
ü LBaaS, VPNaaS, FWaaS 等、従来専用機器が機能を提供していたネットワークサービスを汎用サーバ上で実現する事を呼ぶ広義の NFV と、仕様としての狭義の NFV が存在する
仕様としてのNFV
用語としてのNFV
http://www.etsi.org/technologies-clusters/technologies/nfv
Copyright ©2013 Midokura All rights reserved
ETSI NFV の特徴
57
From: http://portal.etsi.org/NFV/NFV_White_Paper.pdf
キャリア固有の機能が多く含まれる
Copyright ©2013 Midokura All rights reserved
ETSI NFV の特徴 cont.
58
ONFと協調してSDNとは補完的な関係を目指す
From: http://portal.etsi.org/NFV/NFV_White_Paper.pdf
後半 まとめ
59 Photo Credit: Rafa from Brazil via Compfight cc
ü DC間、WANの領域では OpenFlow を初めとする API 経由でのハードウェア機器制御による事例が出てきている
ü クラウドのネットワークスタックでは Server-side Edge Overlay によるソリューションが流行中 (?)
60
Thank you!