2015年年4⽉月27⽇日
⼀一般社団法⼈人 沖縄オープンラボラトリ
今⽇日のアジェンダ
n
クラウド/SDNでできること(担当 丸⼭山)
n
OpenStack
とは(担当 倉橋)
n
SDN
とは・OpenFlow概要(担当 ⼩小林林)
今⽇日のアジェンダ
n
クラウド/SDNでできること(担当 丸⼭山)
n
OpenStack
とは(担当 倉橋)
n
SDN
とは・OpenFlow概要(担当 ⼩小林林)
自己紹介
名前 丸山 純平 所属 NTTコミュニケーションズ株式会社 生い立ち 学生時代: 文系の学部のため、ITとは無縁の学生生活。 2回留年し、24歳でNTTcomに入社。 料金戦略担当に配属され、ITとは無縁の2年間。 2年前より技術開発部に異動し、ITの勉強を始める。 今やってること OpenStack 沖縄オープンラボのインターン受け入れ検討 趣味 ダイビングユースケース例 仮想オフィス
海外DC 沖縄DC 沖縄 国際会議会場 OVS OVS 海外ユーザ OVS OVS 利用シーン 1 沖縄での国際会議時、仮想サーバを沖縄デー タセンタ内の仮想サーバにマイグレーションし、 通常のオフィスと変わらない快適なシステム利 用環境を実現 2 会場から最も近いアクセスポイントも指定し、 仮想ネットワークにより接続先システムの自動 設定変更を行いログイン 3 国際海底ケーブルの活用による、海外データセ 2 3 海外ユーザの移動に合わせ、システムも自動で沖縄県内データセンタに移行することで、快適な作業環境を提供 ネットワーク種別(Internet、VPN等)を選ばず、オーバレイで仮想ネットワークを実現 低遅延の国際海底ケーブルの活用により、海外データセンタとの迅速なアクセスも可能 1 仮想ネットワーク インター ネット VPN,閉域網 国際会議参加 2 接続先の自動変更 通常の 接続先 低遅延アクセスユースケース例 オンラインゲーム
通常はセンターサーバと通信しているが、リアルタイムなシーンではユーザ同士が 中継サーバを通して通信するようにネットワーク制御をし、快適で面白いゲームを実現。 センターサーバ 中継サーバ 通常のアクセスは センターサーバへ リアルタイム通信は 中継サーバを介しユースケース例 遠隔医療
電子カルテ 診断データ 調剤履歴 利用シーン 1 ロケーションフリーで接続でき、堅固なセキュ リティ機能を持ち重要な個人医療情報が守られ る仮想医療ネットワーク 2 診療データ、高精細検診画像、大量のヘルス チェックデータを効率的に伝送、蓄積、検索で きるオープン医療情報データベース 3 オープン医療情報データベースを活用し、仮想医 療ネットワーク上の分散コンピュータリソース を効率的に連携させた、診断画像やビックデー タ解析処理による診療支援機能 ① ② ③ ④ オープン医療ネットワークによる地域医療格差の是正と医療機関連携による高度医療実現 ②モ○ストでいうと。。。
みなさん、このアプリを知ってますか? このアプリが大人気になった理由のひとつとして、 「共闘」という友達や近くにいる人と一緒にステージを 進めていく機能があります。 どのようにクラウド技術を使っているかというと。。。センターサーバ
モ○ストでいうと。。。
センターサーバで 自分のレベル、 クエストの状況、 スタミナなどを管理 している。(と思う)センターサーバ 中継サーバ
モ○ストでいうと。。。
友達と共闘するときは高速通信が必要になるため、近くの中継サーバを介し、 ストレスなくス○ライクショットを打つことが可能になる! 中継サーバを利用し、 遅延を少なくして ストレスなくゲームを 楽しむことができる!ユースケース例 遠隔医療
みなさん、この漫画を知ってますか? この漫画の中にある感動的なシーンがあります。 主人公の医者が研修中にあるがん患者の担当医になり、 未承認薬を試し、患者とともにガンに立ち向かっていく 話があります。 この中で、がん患者は入院していましたが、家族と最後の 思い出を作るために一時的に退院し、旅行にいくという 感動的なシーンがあります。 それがこちらです。一時退院する患者さん 主人公の お医者さん 主人公の お医者さん 一時退院する 患者さん 一時退院する 患者さんの夫 お医者さんA お医者さんB
一時退院する 患者さん 一時退院する 患者さんの夫 一時退院する 患者さん 主人公が書いた紹介状 一時退院する 患者さん
一時退院する 患者さん 一時退院する 患者さんの夫 一時退院する 患者さん 主人公が書いた紹介状 一時退院する 患者さん これ、かなり無駄です!!
クラウドを活用すると。。。
電子カルテ 診断データ 調剤履歴 主人公は診断データを クラウド上のデータベースに 旅行先で症状が悪化したときは、その病院から クラウド上のデータベースにアクセスするだけで 主人公が書いた紹介状 主人公が書いた 紹介状のデータ 主人公が書いた 紹介状のデータ電子カルテ 診断データ 調剤履歴 過去のたくさんの患者のデータから同じような症状、診断結果のデータを探し、 より的確な診察ができるようなビッグデータ解析が可能となる ううむ。。。 これは悪性の腫瘍かわからない。。。 そうだ!過去に同じような事例が ないかクラウド上を探してみよう!
クラウドを活用すると。。。
今⽇日のアジェンダ
n
クラウド/SDNでできること(担当 丸⼭山)
n
OpenStack
とは(担当 倉橋)
n
SDN
とは・OpenFlow概要(担当 ⼩小林林)
⾃自⼰己紹介
n名前
n 倉橋 良良(NECソリューションイノベータ株式会社) n⽣生い⽴立立ち
n 学⽣生時代はXenを使ったNested Virtualizationの研究や FPGAによるLSIの設計を⾏行行う n今やってること
n OpenStack(クラウド)やOpenDaylight(SDN) n 最先端の技術を⾝身に付けることで⾃自社から⾊色々頼られる ので優越感に浸れるOPENSTACK・クラウドとは
自分のパソコンにソフトをインストールしたりデータを保存せず にインターネット経由でさまざまなソフトやサービス等を利用で きる仕組み 例えば・・ ・Webメール(Yahooメール、Gmailなど) ・Webストレージ(Dropbox、Evernoteなど) OpenStackはクラウド環境構築を行うことができるオープンソー スのソフトウェアですそもそもクラウドって?
クラウドサービスのイメージ
雲をインターネットに例えて色んなサービスが 降ってくるイメージ
クラウドのサービス形態
プライベートクラウド パブリッククラウド • 単一機関内で利用される (社内・学内ポータルなど) • 機関毎に構築するため、 独自機能が組み込みやすい • インターネット上で利用される (オンラインゲーム・ECサイトなど) • みんなが共有で利用するため、 汎用的な作りが要求される ハイブリッドクラウド プライベートクラウド + パブリッククラウドクラウドのサービスモデル
業務アプリ (Office等) SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure as a Service 説明 種類 OS,ミドルウェア 等 CPU,MEM DISK,NW等 アプリケーショ ンを 利用できる アプリケーショ ンを 開発できる リソースを 利用できるOpenStack
はこの辺
IaaSのメリット
Before After 環境の構築は人が行う 環境の構築はプログラムが行う 都度調達が必要(時間がかかる) 必要な時に即座にリソースを確保 環境依存した操作が発生する 環境に依存しない操作が可能 繰り返した分だけ時間がかかる 何度でも同じ操作が 1回分の工数で可能 確保できるリソースに制限がある 事実上無制限の リソースが利用できる やりたい事がリソースに制限される やりたい事に合わせてIaaSを使うには
●既にあるサービスを利用する
●自分で作る
●HP Helion Public Cloud ●Amazon Web Service ●SUSE Cloud
OpenStack概要
機能セット
(
代表的なものだけ
)
仮想ネットワーク制御 Neutron ハイパーバイザー制御 ベアメタル プロビジョニング イメージ スナップショット管理 Glance ブロックストレージ制 御 Cinder オブジェクト ストレージ Swift Nova 仮想ルータ、仮想L2 仮想ロードバランサ 仮想サーバ作成・削除 物理サーバ 仮想マシンのテンプレート 設定済みイメージのスナップショット 仮想ボリューム ReST入出力ファイルストア レプリケーション、遠隔地分散 Horizon (Dashboard) 各種API構造
OpenStack (nova, neutron等) KVM用 ドライバ Xen用 ドライバ 商用製品用 ドライバKVMサーバ Xenサーバ VMwareサーバ Hyper-Vサーバ
OpenStack API
ユーザやプログラムは、 OpenStackの利用方法だけを 知っていれば環境の操作が可能
操作イメージ
#!/usr/bin/env python
from novaclient.v1_1 import client nt = client.Client("demo", "openstack", "demo", "http://11.22.33.44:5000/v2.0", service_type="compute") ns = nt.servers.create(name = "testvm001", image = im[0], flavor = fv[0],
OPENSTACKを使ってみたいという
人は
l Devstack OpenStackのコミュニティが開発した公式デプロイツールhttps://github.com/ openstack-dev/devstack l RDO RedHatが開発したRedhat系OS上でOpenStackを構築するデプロイツール http://jp-redhat.com/openstack/rdo/今⽇日のアジェンダ
n
クラウド/SDNでできること(担当 丸⼭山)
n
OpenStack
とは(担当 倉橋)
n
SDN
とは・OpenFlow概要(担当 ⼩小林林)
⾃自⼰己紹介
n⽒氏名
n ⼩小林林 慶⼀一(株式会社アドックインターナショナル) n⽣生い⽴立立ち
n 学⽣生時代:建築学科のためITとはほぼ無縁 n クラウド、SDNは2014年年10⽉月に知った n今の業務内容(技術を中⼼心とした話)
n Openstack, midonet n 全然知らなかったけど、コミュニティでLTできたToday’s Agenda
n SDN
とは
n Openflow
の概要
n SDN
の取り組み
•
商⽤用サービスへの適⽤用
• SDN-WAN
の実現に向けて
今のネットワーク機器は、昔のメインフレームだ!
Open Networking Foundation
各ネットワーク機器が自律分散的に動作し、経路制御を 実施してパケットを転送 経路制御 パケット転送 経路制御 パケット転送 経路制御 パケット転送 経路制御 パケット転送
SDN
以前のネットワーク
パケット転送 経路制御 パケット転送 パケット転送 パケット転送
SDN
を活⽤用したネットワーク
制御機能とデータ転送機能を分離して、経路の制御はコント ローラで中央制御し、パケット転送はネットワーク機器が実施SDN
以前のネットワーク
ü 実現できることはそのNW装置が持っている機能だけ ⇒ 新機能が欲しければ作ってもらう必要がある ü 世界中でベンダのNW装置を買うことができる ⇒ サービスとしての差別化が難しい ü 製品ベンダが異異なれば使い勝⼿手も異異なる ⇒ 運⽤用が⼤大変 これまでのNW:ベンダが決めた製品の仕様に従って動く ⇒ ベンダがコントロール ベンダの NW装置 アプリケーション (機能やサービス) Cプレーン (制御機能) Dプレーン (データ転送機能)SDN
を活⽤用したネットワーク
NW装置 vSwitch vSwitch Switch Switch SwitchControl Plane Software
App App App App “ソフトウェア”でネットワーク全体の機能制御を実現 するための技術概念念(考え⽅方) “ソフトウェア” ⇒ベンダに依らずユー ザサイドで作ることが 可能 トラフィック転送 ⇒”ソフトウェア”に従う アプリケーション (機能やサービス) Cプレーン (制御機能) Dプレーン (データ転送機能) API API Openflow etc
ホップ・バイ・ホップ/オーバーレイ
SDN コントローラ Openflow スイッチ Openflow 仮想スイッチ VM VM VM スイッチ 既存ネットワーク スイッチ 仮想スイッチ VM VM VM 仮想スイッチ VM VM VM SDN コントローラオーバーレイ方式
Openflow スイッチ Openflow 仮想スイッチ VM VM VMホップ・バイ・ホップ方式
トンネルホップ・バイ・ホップ/オーバーレイ
SDN コントローラ Openflow スイッチ Openflow 仮想スイッチ VM VM VM スイッチ 既存ネットワーク スイッチ 仮想スイッチ VM VM VM 仮想スイッチ VM VM VM SDN コントローラオーバーレイ方式
Openflow スイッチ Openflow 仮想スイッチ VM VM VMホップ・バイ・ホップ方式
トンネルSDN
を活⽤用したネットワーク
NW装置 vSwitch vSwitch Switch Switch SwitchControl Plane Software
App App App App “ソフトウェア”でネットワーク全体の機能制御を実現 するための技術概念念(考え⽅方) “ソフトウェア” ⇒ベンダに依らずユー ザサイドで作ることが 可能 トラフィック転送 ⇒”ソフトウェア”に従う アプリケーション (機能やサービス) Cプレーン (制御機能) Dプレーン (データ転送機能) API API Openflow etc
SDN
を活⽤用したネットワーク
NW装置 vSwitch Switch Switch SwitchControl Plane Software
App App App App “ソフトウェア”でネットワーク全体の機能制御を実現 するための技術概念念(考え⽅方) “ソフトウェア” ⇒ベンダに依らずユー ザサイドで作ることが 可能 トラフィック転送 ⇒”ソフトウェア”に従う アプリケーション (機能やサービス) Cプレーン (制御機能) Dプレーン (データ転送機能) API API Openflow etc
ファームウェア フローテーブル 従来のスイッチ 制御するソフトウェア パケット転送ルール 従来のネットワーク機器のコントロールプレーンは、組み込みソ フトウェアとして実装 されており、エンドユーザがその動作仕様を変更することはで きませんでした。
コントローラ Openflow プロトコル ・ SDNのコントローラは、一般的なサーバ上で動作するソフトウ ェアとして実装されており、エンドユーザがソフトウェアを開発 して、独自のコントローラを作成することができます。 ・ OpenFlowは、ネットワークスイッチが受け取ったパケットの 転送処理を外部の「コントローラ」で制御するためのプロトコル です。
コントローラ フロー テーブル 知らない パケット フローテーブル 更新 Openflow プロトコル 転送ルールを参照 OpenFlow対応のスイッチは、パケットを受け取ると、その処 理方法をコントローラに問い合わせて、コントローラの指示に 基づいて転送処理を行います。
イーサネット
・MACアドレスで端末識別
・スイッチは行き先を知るために、MAC学習を行う→自動
・MAC学習が成立するために、ブロードキャストを用いている→ループが怖い
・ループを防止するために、STP(Spanning Tree Protocol)という方式がある
・ブロードキャストが届く範囲が一つのNW
・複数のネットワークを構成するためにVLANがある
MAC DA MAC SA 802.1Q Payload FCS MAC DA MAC SA Payload FCS
IP
・IPアドレスで端末識別
・ルータは行き先を知るために、ルーティングプロトコルを用いてIPテーブルを作成
・ルーティングプロトコルには内部(OSPF等)、外部(BGP)がある
MAC DA MAC SA IP header Payload FCS IP DA IP SA
MAC DA MAC SA IP header Payload FCS IP DA IP SA 4B 4B
OpenFlow
・MAC、IPアドレス等12タプルでフローを識別 (L1:ポート、L2:MAC/VLAN、L3:IP、L4:TCP/UDP) ・フローテーブルはコントローラからの指示で直接書き換えるOpenFlow1.3
の概要イメージ
Match(○○な条件)
L2 ETH, VLAN, MPLS, PBB L3 IPv4, IPv6, ARP
L4 TCP, UDP, ICMP, SCTP
- Input port, Metadata, Tunnel ID
Instruction(□□の処理)
Output, Drop 指定ポートから出す/出さない Push-Tag, Pop-Tag タグ(VLAN, MPLS, PBB)の付け外し Change-TTL TTL(IPv4, IPv6, MPLS)の減算/コピー Set-Field 主要フィールドの書き換え Meter, Queue 帯域制御 の主要フィールド(詳細次頁) • OpenFlowスイッチはOpenFlowフローテーブルに基づきフローを処理理 • “マッチングルール”にマッチしたトラフィックを“アクション”に従い処理理 〇〇な条件のパケットが来たら、□□の処理理をする
OpenFlowフローテーブル
Flow Table Header Field (マッチングルール) マッチングするフローを 定義 Action ⼊入⼒力力パケットに対する 処理理を定義 ・Forward ・EnqueueHeader Field#1 Action #1 Counter #1 Entry #1
Header Field #N Action #N Counter #N Entry #N Counter フローの統計情報を記録 ・マッチしたパケット数 ・バイト数 ・セッション継続時間 • コントローラはマッチ、アクションのフローテーブルをスイッチに設定 • スイッチはフローテーブルの従ってパケットを処理理する
コントローラ
フロー テーブル
Openflow プロトコル
好きな言語で書ける
Java, Python, Ruby, etc…
既存のプロトコルに縛られない (e.g. vlanの上限) ・ ソフトウェアによる高い自由度 ・ システム連携と自動化 ・ ソフトウェア開発手法をネットワークに適用できる
OpenFlowによって何が変わる?
コントローラ フロー テーブル Openflow プロトコル 自由に連携可能
OpenFlowによって何が変わる?
TEサーバ DBG-Scale Network Hardware
・DC間を自作した10Gスイッチで構成
・Openflowを用いて集中制御型のTEを実装
DC DC ・ルータは自律分散で動く ・宛先に対して必ず最短路を選択 ・帯域の使用量は加味してくれない
UseCase:広域DC間ネットワーク
集中 ヒマDC DC DC
UseCase:広域DC間ネットワーク
TEサーバ TEサーバ ・各リンクの空き帯域を収集 ・トラフィックへ空き帯域を割り当てDC
UseCase:広域DC間ネットワーク
TEサーバ TEサーバ ・各リンクの空き帯域を収集 ・トラフィックへ空き帯域を割り当て コントローラ トラフィック情報 経路情報 Openflowスイッチ 他拠点のopenflowスイッチDC DC DC ・コントローラから制御 ・帯域の使用量に応じて経路を変更
UseCase:広域DC間ネットワーク
帯域の有効活用WAN帯域を有効活用
オープンソースコミュニティ
OpenDayLight Ryu Trema ⾔言語:Java http://www.opendaylight.org/ ⾔言語:Python http://osrg.github.io/ryu/ ⾔言語:Ruby http://trema.github.io/trema/ ⾔言語:C++ NOX各社の取り組み
スイッチ製品開発 Opendaylight 開発に貢献 SDNコントローラ OpenFlowスイッチSDNに対しての
各社の取り組み例
まとめ
n SDNとは、ソフトウェアでネットワーク構成を定義・コントロ ールする仕組みと考え方 n コントロールプレーンとデータプレーンの分離 n 特定のファンクションを規定するモノではない = 概念 n openflowとは、スイッチをコントロールするプロトコルの標準 n ネットワーク領域におけるソフトウェア化・オープン化今⽇日のアジェンダ
n
クラウド/SDNでできること(担当 丸⼭山)
n
OpenStack
とは(担当 倉橋)
n