48
40 分分分分分分分分分分 SDN(Software Defined Networking) 分分分分分分分分 ~~ 2014 年 4 年 10 年 年年年年年年年年年年年年 年年年

ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Embed Size (px)

DESCRIPTION

講師:ミドクラ社 高嶋様 日時:2014/04/10 タイトル:40分でばっちり理解するSDN(Software Defined Networking) 〜ベンダーサイド〜 概要: - What’s “SDN” ? - “SDN” を分類してみよう - クラウド間、データ間接続で見る “SDN” - クラウド内ネットワークで見る “SDN” - SDNベンダ(?)の悩み 〜 私の場合

Citation preview

Page 1: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

40分でばっちり理解するSDN(Software Defined Networking) ~ベンダーサイド~

2014 年 4 月 10 日ミドクラジャパン株式会社 高嶋隆一

Page 2: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

本日の流れ

2

前半What’s “SDN” ?

“SDN” を分類してみよう後半クラウド間、データ間接続で見る “ SDN”

クラウド内ネットワークで見る “ SDN”

SDN ベンダ (?) の悩み 〜 私の場合

Page 3: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

What’s “SDN” ?

3

Software Defined Networking

ソフトウェアでネットワークを定義する ???

Page 4: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

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

Page 5: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

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

Page 6: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

Web 上で見る様々な “ SDN” の定義 cont.

6

共通項 “ ソフトウェアで” “ 動的に変更”

その他のキーワード コントロールプレーン、データプレーン分離 自動化 機能の追加 仮想化 汎用ハードウェア

Page 7: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

Web 上で見る様々な “ SDN” の定義 cont.

7

“SDN” という固有名詞の標準技術は存在しない

ソフトウェアでネットワークに対して動的制御を行う仕組みをなべて “ SDN” と呼んでいる

Photo Credit: @Doug88888 via Compfight cc

ポイント

Page 8: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

“SDN” を分類してみよう

8Photo Credit: 5letterdesign via Compfight

cc

Page 9: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

無数の “ SDN” ベンダ

9

Page 10: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

分類 I. “ 適用領域”と”物理 vs 仮想”

10

データセンタ

物理 仮想

WAN

クラウドネットワークスタック

仮想・物理スイッチの連携

物理スイッチの制御

サーバ、 DC ネットワーク、 WAN の統合制御

伝送路、パスの制御

Page 11: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

分類 II. “ 新興 vs 既存”と “ Hardware とSoftware”

11

ソフトウェア

既存 新興

ハードウェア

新興ソフトウェアベンダ

仮想化 No.1 事業者の補強

既存ネットワーク機器メーカ

汎用 FPGA 、汎用 OS による ODM 会社

既存伝送機器メーカ

既存サーバ機器メーカ

Page 12: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

分類 III. “ 利用技術”

12

( 何らかの )API

HopBy

Hop

Edgeoverlay

OpenFlow

伝送パス設定の自動化

物理 L2/L3 設定の自動化・機能追加

クラウドの自動化・スケール強化

全部入り

仮想・物理スイッチの統合

クラウド・ DC 間の連携

Page 13: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

現存する “ SDN” ソリューションの傾向をみると…

13

クラウド

仮想・物理間の連携

統合制御

クラウドネットワークの仮想化

クラウドと外部接続連携 クラウド収容 DC の効率化等、「クラウド」が適用領域になっているものの製品化が多い

Page 14: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

前半 まとめ

14

Photo Credit: Rafa from Brazil via Compfight cc

“SDN” という固有名詞の技術は存在しない

ソフトウェアでネットワークに対して動的制御を行う仕組みをなべて “ SDN” と呼んでいる

Page 15: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

15Photo Credit: ake1150sb via Compfight cc

クラウド間、データ間接続で見る “ SDN”

Page 16: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

Google さんの場合

16

http://www.opennetsummit.org/archives/apr12/hoelzle-tue-openflow.pdf

リアルタイムに使用率、アクティブなパスを監視して利用率が最大になる用に制御

1:1 冗長からの脱却

DC 間接続の効率化

独自ハードウェア (!) 汎用 FPGA を利用

独自コントローラ (!) OpenFlow によりパケット転送を

制御 コントローラとデータコピープロセ

スが連携して大規模データ転送時には最適なパスを選択

仕組み

Page 17: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

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 ベースでコントローラから制御

仕組み

顧客への制御の開放

Page 18: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

クラウド間、 DC 間接続の傾向を見ると…

18

OpenFlow

汎用 FPGA を利用したハードウェア

Page 19: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

OpenFlow ?

19

OpenFlow = 外部からパケット処理ルールをプログラミングする仕組み

ネットワークコントローラ

アプリケーション

API

ネットワーク機器群

この部分 :API と通信方式を規定するのみ

単なるプロトコルであり、フレームワークを標準化

Page 20: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

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フローを識別

Page 21: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

21

汎用 FPGA を利用したハードウェアと

Network 機器の White Box 化の要求

?

Page 22: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

背景

22

昔 ルータ、スイッチベンダがチップを独自開発、もしくは専用チップを開発委託

近年 ネットワークを得意とするチップベンダがルータ、スイッチベンダに販売

現在 チップベンダが減少してほぼ用途毎の寡占、独占状態に

ネットワーク機器用チップの変遷

どこの機器を買っても入ってくるチップは同じ メジャープレーヤ以外も ( ハードウェアは ) 同じ物が提供で

きる

Page 23: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

White box ?

23

ホワイトボックス(英語 :White Box)とは、特定のブランドを持たないノーブランドパソコンや、卸売業者や販売店、ソリューションプロバイダーなどが自社のブランドをつけて販売するプライベートブランドパソコンやショップブランドパソコンのことである。 From: http://ja.wikipedia.org/wiki/ホワイトボックス _( パソコ

ン )

従来、計算機そのものもハードウェア、 OS 、アプリケーションは全て作り込みをされたセットであったものが、現在では汎用アーキテクチャの組み合わせにより実現

OS 、アプリケーションの選択も自由

汎用化が進めば進む程、低廉な White box が出現

Page 24: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

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

Page 25: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

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

Page 26: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

おまけ

26

Page 27: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

White box 化に向けた今後の課題

27

ハードウェアアーキテクチャの共通化 チップベンダの寡占化は進んでいるが、アーキテク

チャの共通化は IA サーバほど進んでいない

OS 、 API のテンプレート化、成熟化

コンシューマ向けには Windows 8, サーバ向けには UNIX や Windows server といった様な典型的な選択肢がまだ用意されるほど市場が成熟していない

Page 28: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

28

クラウド内

ネットワークで見る “ SDN”

Photo Credit: kevin dooley via Compfight cc

Page 29: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

IaaS クラウドの要求

29

ユーザの必要とする「計算機資源」を「必要な時に」「必要なだけ」提供すること

IaaS クラウドの要求

How?

CPU ・メモリ ストレージ ネットワーク

計算機資源のスケールアウトオーケストレーション

ストレージ &ネットワークが問

Page 30: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

仮想化・クラウド化がネットワークに持たらす課題

30

CPU ・メモリは仮想化、自動化されているがネットワークは ?

自動化

VM 多重収容による物理ポート当たりの帯域使用率増加

データセンタ内の折り返しトラフィックの増加

顧客テナント収容数 VM 収容数 物理ネットワークのポート収容数

パフォーマンス

拡張性

Page 31: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

OpenStack の場合

31

コンポーネント毎に独立したプロジェクト

OpenStack Neutron API に則った仕組みを使えばネットワークスタックを選択可能

Open Source での Cloud OS

Open vSwitch ベースの L2 over L3 VLAN ベース サードパーティが提供する

ネットワークスタック いずれも Edge Overlay

ネットワークの選択肢

Page 32: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

OpenStack の場合

32

Neutron API を切り口に各コンポーネントを疎結合となるアーキテクチャにより、ユーザによる自動化を可能にするアプローチ

自動化

ユーザアプリ

Neutron API

Host OS のデータプレーンHost OS のデータプレーンHost OS のデータプレーンHost OS のデータプレーン

OpenStackGUI

OpenStackCLI

Page 33: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

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

Page 34: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

Edge overlay

34

仮想スイッチ

VMVMVM

仮想スイッチ

VMVMVM

ToRToR物理トポロジ

テナントルータ

ブリッジ

集約ルータ

VM VM

仮想トポロジ

VM の仮想ポートを境界として物理トポロジ上に

IaaS 用の仮想トポロジを構築 ( Overlay )

Page 35: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

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 書き換え等

Page 36: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

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 間では物理トポロジの制約は受けず、仮想トポロジを経由した様に見える

Page 37: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

Server-side Edge overlay の利点

37

Overlay は VLAN ID 等の物理的な制約を受けない

トンネルを利用する為、物理ネットワークは L2 でも L3 でも問題なく、大規模 L2 ネットワークの構築等が不要

拡張性

処理が VM を収容する各ノードに分散される為、トラフィック処理のスケールアウトが可能

VM 間のトポロジ ( Overlay) が複雑になっても、物理ネットワーク (Underlay) は常にトンネルで 1hop

パフォーマンス

Page 38: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

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 機器ではなく、論理トポロジ全体をエミュ

レート

Page 39: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

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

Page 40: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

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

Page 41: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

後半 まとめ

41

Photo Credit: Rafa from Brazil via Compfight cc

DC 間、 WAN の領域では OpenFlow を初めとする API 経由でのハードウェア機器制御による事例が出てきている

クラウドのネットワークスタックでは Server-side Edge Overlay によるソリューションが流行中 (?)

Page 43: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

よくあるケース

43

勉強になりました !

典型的ケースその 1 聞いてはみたものの、そもそも好奇心や情報収集以上

のものではなかった

OVS plugin とどこが違うんでしょう ?

典型的ケースその 2 OVS plugin で HA や Scale 等で悩んだことがな

いと、一見できることが同じに見えちゃう人もいる

Page 44: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

よくあるケース

44

動きません !

典型的ケースその 3 Nova / Neutron の設定まちがってます

既存のシステムがあるので…

既存のネットワーク機器等と違い、「徐々に導入」がやりづらい

Page 45: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

よくあるケース

45

お金かかるんですか…

ネットワークはエンドユーザに課金する対象ではないケースがあり、そこにお金を払う概念がないケースもある

Page 46: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

よくあるケース、のまとめ

46

結局、今お客さんになってくれるのは …

OpenStack を初めとするスキルセットがある 既にサービスを展開しており、 L2-L3 の柔軟性、ス

ケーラビリティで壁にあたっている 新サービス展開やサービス拡張で新規のシステムを

作る可能性がある

この AND 条件

Page 47: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

Copyright ©2013 Midokura All rights reserved

今がんばっていること

47

買ってもらうために …

エンドユーザに課金できる様な、 高レイヤのサービスを Add-on していく(弊社の例 )

分散 L4 ロードバランサ

既存のシステムと連携できる様な仕組みを作成していく( 弊社の例 )

VLAN 終端 ( L2 ゲートウェイ )による外部 L2

セグメントとの連携

Page 48: ミドクラ様講演 OpenStack最新情報セミナー 2014年4月

48

Thank you!