Upload
ozkan01
View
60
Download
0
Embed Size (px)
Citation preview
INSIDE CONTRAIL
Open contrail day 2014 Spring
2 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
SDN 実装モデル
3 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
代表的なSDNの実装:ホップバイホップ
コントローラーは通信を「フロー単位」で細かく定義し、全てのSDN対応スイッチを制御・管理する。フロー単位の細やかな制御が可能。
全てのスイッチはOpenFlowに対応する必要があり、既存ネットワークでは利用できない
SDNコントローラ
ホップバイホップ型の特徴・フロー単位でのきめ細やかなエンドツーエンドの制御が可能・全てのスイッチはOpenFlow対応が必要・スイッチの台数や全てのフローを管理するため、スケールに課題
4 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
代表的なSDNの実装:エッジオーバーレイ
SDNコントローラ
コントローラーは通信をVM単位で定義し、オーバーレイスイッチをのみ制御・管理する。
オーバーレイスイッチ間のNW機器は仮想NWの情報は必要なく、既存のネットワークがそのまま利用可能。
オーバーレイ型の特徴・VM単位で通信を制御し、オーバーレイスイッチのみを制御・管理するため処理が軽い・既存ネットワークを利用可能・コントローラの負荷が低いため、非常にスケーラブル
5 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
SDNでうれしいこと
6 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAILオーバービュー
7 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL OVERVIEW:
PROTOCOL OVERVIEW
SDNコントローラーConfiguration
SDNコントローラー
Configuration Analytics
Control
仮想マシン仮想アプライアンス
VM VM
仮想マシン仮想アプライアンス
VM VM VA既存のIPネットワーク
トンネル
XMPP XMPPBGP
オーケストレータ
WAN, Internet
REST
BGP
BGP
vRoutervRouter
VA
ゲートウェイマルチベンダーのエッジルーター
ハイパーバイザー ハイパーバイザー
8 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL OVERVIEW:
CONTRAIL NODE OVERVIEW
Configurationクラウドオーケストレーターとのインターフェイス
オーケストレーターから受信した情報をコンフィグ情報に変換
ControlvRouterやゲートウェイルータと接続する
ルーティング情報のアップデートなどを行う
Analiticsすべてのノードの情報を収集する
外部からのクエリを受け付け、データを返す役割ももつ
ルーティング情報を保持し、パケットデータの転送を行う
ProxyARPやNATなどの機能ももつvRouter
9 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAILパケットウォーク
10 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL OVERLAY TECHNOLOGY:
L3オーバーレイデータプレーン (MPLS/GRE)
VM
G1
VM
G2
Payload IP
Src = IP G1
Dst = IP G2
Server S1 Server S2
Eth
Src = MAC G1
Dst = MAC vRouter S1
Packet
vRouter S1 は VM G1のDefault Gateway
11 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL OVERLAY TECHNOLOGY:
L3オーバーレイデータプレーン (MPLS/GRE)
VM
G1
VM
G2
L3 forwarding table
VM G2 → vRouter S2のMPLSラベルをPush +
GREトンネル経由でServer S2に送信
Server S1 Server S2
Packet
Payload IP
Src = IP G1
Dst = IP G2
12 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL OVERLAY TECHNOLOGY:
L3オーバーレイデータプレーン (MPLS/GRE)
VM
G1
VM
G2
Server S1 Server S2
Payload IP
Src = IP G1
Dst = IP G2
MPLS
Label allocated
by vRouter S2
GRE IP
Src = IP S1
Dst = IP S2
Eth
Src = MAC S1
Dst = MAC S2
L2 forwarding table
MAC S2 → Switch X3
L2 forwarding table
MAC S2 → Switch X2
L2 forwarding table
MAC S2 → Server S2
Switch
X1
Switch
X2Switch
X3
Packet
13 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL OVERLAY TECHNOLOGY:
L3オーバーレイデータプレーン (MPLS/GRE)
VM
G1
VM
G2
L3 forwarding table
VM G2 → MPLSラベルをはずし、VM G2へパケット転送
Server S1 Server S2
Payload IP
Src = IP G1
Dst = IP G2
Packet
14 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL OVERLAY TECHNOLOGY:
L3オーバーレイデータプレーン (MPLS/GRE)
VM
G1
VM
G2
Server S1 Server S2
Payload IP
Src = IP G1
Dst = IP G2
Packet
Eth
Src = MAC vRouter S2
Dst = MAC G2
15 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAILのノード
16 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL OVERLAY TECHNOLOGY:
CONFIGURATION NODE
Configuration Node
REST API Server
Schema Transformer
Orchestrator
REST
DHT DB
IF-MAPserver
Configuration Node
ControlNode
ControlNode
IF-MAP
Distributed Synchronization
Configuration Node
DHT DB
DHT DB
Message Bus
Discovery server
ComputeNode
AnalyticsNode
1. REST API ServerはクラウドオーケストレータとのNorthbound REST インターフェイスを提供
2. DHT/NoSQL Database は設定情報を維持し、HA
を提供するために使用
3. Schema TransformerはREST API経由のハイレベルデータモデルから、vRouterやゲートウェイルーターが使用するローレベルなデータモデルへ“コンパイル” する
4. IF-MAP はControl nodeへのローレベルデータモデルの転送に使用
5. Discovery serverはすべてのコントレイルサービスのレジストリ。Discovery serverは、コントレイルサービスが必要とする情報を提供する
6. Zookeeperはノードの情報を保持するDB
Zookeeper
17 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL OVERLAY TECHNOLOGY:
CONTROL NODE
Control Node
"BGP module"
ProxiesXMPP
ControlNode
Control Node
Compute Node
Compute Node
Configuration Node
Configuration Node
IF-MAP
XMPP
IBGPIF-MAP Client
GatewayRouters
Service Nodes
1. 全てのControl nodeはActive-Activeで動作
2. vRouterは冗長化のために、複数のControl node
に接続する
3. Control nodeは冗長化のために、複数のConfiguration nodeに接続する
4. 物理ゲートウェイやサービスノードにはBGPで接続する
5. Control node間の連携はBGPを使用する
6. ProxiesはDNSなどの情報を提供する
18 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL OVERLAY TECHNOLOGY:
ANALYTICS NODE
1. REST API Serverは解析アプリケーションへNorthbound REST インターフェイスを提供
2. Query EngineはNoSQLから (Object Traces,
Flow Records, Syslogなどの情報を取得するのに利用
3. DHT/NoSQL Database は拡張性と継続性のために利用
4. Collectorはすべてのノード情報を収集しDHT
DBに保存
5. Rules Engine は特定のイベントで発生する情報を自動的に収集する
Analytics Node
REST API Server
RulesEngine
OtherAnalyticsClients
Collector
AllNodes
AllNodes
Sandesh
DHT DB Analytics Node
Analytics Node
Analytics Client
Generated API
UI, CLI Application
Message Bus
Query Engines
Query Engines
Distributed Synchronization
Sandesh
REST
19 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL OVERLAY TECHNOLOGY:
COMPUTE NODE
Compute Node
vRouter Agent
Overlay tunnelsMPLS over GRE/UDP or VXLAN
CONTRAIL CONTROLLER
XMPP
Eth1Kernel
pkt0
UserEth0
Config
VRFsPolicy Table
1. vRouterはハイパーバイザカーネル内の Linux
BridgeやOVS moduleの代わりに使用する
2. vRouterはE-VPNやL3VPNの処理を行う
3. vRouterはセキュリティポリシー, NAT, Multicast,
ミラーリング, ロードバランスなどの処理を行う
4. ルーティング情報はポリシーに従って、自動的に各ルーティングインスタンスに広告される
vRouter Forwarding Plane
VirtualMachine
(Tenant A)
Routing Instance
Flow Table
FIB
Tap Interfaces (vif)
Routing Instance
Flow Table
FIB
VirtualMachine
(Tenant B)
VirtualMachine
(Tenant B)
20 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
OPENSTACKとの連携
21 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS:
OPENSTACK
Nova
Swift
Cinder
Neutron
Horizon
Keystone
Glance
Ceilometer
Heat
コンピュートノード
分散オブジェクトストレージ
ブロックストレージ
ネットワーク管理
Web管理コンソール / ダッシュボード
統合認証管理
イメージ管理
メータリング / リソース計測
オーケストレーションサービス
22 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS:
初期状態
Control Node
"BGP module"
ProxiesXMPP
IF-MAP Client
Compute Node
Configuration Node
OpenStack
REST API Server
Schema Transformer
DHT DB
IF-MAPserver
Message Bus
vRouterAgent
NovaVIFDriver
Nova Agent
Nova Server
Neutron Server
vRouterKernel
23 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
Control Node
"BGP module"
ProxiesXMPP
IF-MAP Client
Compute Node
Configuration Node
OpenStack
REST API Server
Schema Transformer
DHT DB
IF-MAPserver
Message Bus
vRouterAgent
NovaVIFDriver
Nova Agent
Nova Server
Neutron Server
vRouterKernel
CONTRAIL WITH CONTRAIL VM MAKING PROCESS:
VMを作成
Nova ServerからNova AgentへVM instanceを作成
24 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS:
仮想ポート情報を要求
Control Node
"BGP module"
ProxiesXMPP
IF-MAP Client
Compute Node
Configuration Node
OpenStack
REST API Server
Schema Transformer
DHT DB
IF-MAPserver
Message Bus
vRouterAgent
NovaVIFDriver
Nova Agent
Nova Server
Neutron Server
vRouterKernel
TAPの作成
25 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS:
インターフェイスを作成
Control Node
"BGP module"
ProxiesXMPP
IF-MAP Client
Compute Node
Configuration Node
OpenStack
REST API Server
Schema Transformer
DHT DB
IF-MAPserver
Message Bus
vRouterAgent
NovaVIFDriver
Nova Agent
Nova Server
Neutron Server
vRouterKernel
Neutron ServerへTAP情報を送信
26 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
インターフェイスを作成
Control Node
"BGP module"
ProxiesXMPP
IF-MAP Client
Compute Node
Configuration Node
OpenStack
REST API Server
Schema Transformer
DHT DB
IF-MAPserver
Message Bus
vRouterAgent
NovaVIFDriver
Nova Agent
Nova Server
Neutron Server
vRouterKernel
vRouter KernelへTAP
インターフェイスを追加
27 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
Control Node
"BGP module"
ProxiesXMPP
IF-MAP Client
Compute Node
Configuration Node
OpenStack
REST API Server
Schema Transformer
DHT DB
IF-MAPserver
Message Bus
vRouterAgent
NovaVIFDriver
Nova Agent
Nova Server
Neutron Server
vRouterKernel
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
CONTRAILへ接続
Neutron ServerからVMの情報をContrailへ送信
28 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
Control Node
"BGP module"
ProxiesXMPP
IF-MAP Client
Compute Node
Configuration Node
OpenStack
REST API Server
Schema Transformer
DHT DB
IF-MAPserver
Message Bus
vRouterAgent
NovaVIFDriver
Nova Agent
Nova Server
Neutron Server
vRouterKernel
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
データの書き込み
受け取った情報をDBへ保存
29 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
データ変換
Control Node
"BGP module"
ProxiesXMPP
IF-MAP Client
Compute Node
Configuration Node
OpenStack
REST API Server
Schema Transformer
DHT DB
IF-MAPserver
Message Bus
vRouterAgent
NovaVIFDriver
Nova Agent
Nova Server
Neutron Server
vRouterKernel
受け取った情報をContralのデータへ変換
30 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
IF-MAPへ転送
Control Node
"BGP module"
ProxiesXMPP
IF-MAP Client
Compute Node
Configuration Node
OpenStack
REST API Server
Schema Transformer
DHT DB
IF-MAPserver
Message Bus
vRouterAgent
NovaVIFDriver
Nova Agent
Nova Server
Neutron Server
vRouterKernel
データをIF-MAPサーバへ送信
31 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
CONTROL NODEへデータ転送
Control Node
"BGP module"
ProxiesXMPP
IF-MAP Client
Compute Node
Configuration Node
OpenStack
REST API Server
Schema Transformer
DHT DB
IF-MAPserver
Message Bus
vRouterAgent
NovaVIFDriver
Nova Agent
Nova Server
Neutron Server
vRouterKernel
データをControl Nodeへ送信
32 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
COMPUTE NODEへ転送
Control Node
"BGP module"
ProxiesXMPP
IF-MAP Client
Compute Node
Configuration Node
OpenStack
REST API Server
Schema Transformer
DHT DB
IF-MAPserver
Message Bus
vRouterAgent
NovaVIFDriver
Nova Agent
Nova Server
Neutron Server
vRouterKernel
データをXMPPに変換し、vRouter Agentへ送信
33 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
ルーティングアップデート
Control Node
"BGP module"
ProxiesXMPP
IF-MAP Client
Compute Node
Configuration Node
OpenStack
REST API Server
Schema Transformer
DHT DB
IF-MAPserver
Message Bus
vRouterAgent
NovaVIFDriver
Nova Agent
Nova Server
Neutron Server
vRouterKernel
TAP情報を追加し、ルーティングテーブルをアップデート
34 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
ノード間の接続
35 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
Configuration Node
Discovery server
zookeeper Node DB
CONTRAIL DISCOVERY PROCESS:
DISCOVERY SERVER
Control node
Control-node
Analytics node
opserver
Compute node
vnswad
Control node : 10.0.0.1
Analytics node : 10.0.0.2
Compute node : 10.0.0.3
36 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
Configuration Node
Discovery server
zookeeper Node DB
Analytics Node
Collector
CONTRAIL DISCOVERY PROCESS:
CONTROL NODE
Control node
IF-MAPserver
Control-nodeContrail-nodemgr
Discovery serverへIP AddressとNode Typeを送信
Analytics
DB
37 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL DISCOVERY PROCESS:
CONTROL NODE
Configuration Node
Discovery server
zookeeper Node DB
Analytics Node
Collector
Control node
IF-MAPserver
Control-nodeContrail-nodemgr
Control Nodeの情報をDBに保存
Analytics
DB
38 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL DISCOVERY PROCESS:
CONTROL NODE
Configuration Node
Discovery server
zookeeper Node DB
Analytics Node
Collector
Control node
IF-MAPserver
Control-nodeContrail-nodemgr
Analytics
DB
Control Node , Analytics Node
Configuration Nodeの情報を送信
39 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL DISCOVERY PROCESS:
CONTROL NODE
Configuration Node
Discovery server
zookeeper Node DB
Analytics Node
Collector
Control node
IF-MAPserver
Control-nodeContrail-nodemgr
Analytics
DB
Configuration Node
Analytics Nodeに接続
40 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL DISCOVERY PROCESS:
COMPUTE NODE
Compute node
vnswadContrail-nodemgr
Configuration Node
Discovery server
zookeeper Node DB
Control Node Analytics Node
Collector
Analytics
DBDiscovery serverへIP AddressとNode Typeを送信
"BGP module"
XMPP
IF-MAP Client
41 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
Compute node
vnswadContrail-nodemgr
Configuration Node
Discovery server
zookeeper Node DB
Control Node Analytics Node
Collector
CONTRAIL DISCOVERY PROCESS:
COMPUTE NODE
Analytics
DBCompute Nodeの情報をDBに保存
"BGP module"
XMPP
IF-MAP Client
42 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL DISCOVERY PROCESS:
COMPUTE NODE
Compute node
vnswadContrail-nodemgr
Configuration Node
Discovery server
zookeeper Node DB
Control Node Analytics Node
Collector
Analytics
DBControl NodeとAnalytics Node
の情報を送信
"BGP module"
XMPP
IF-MAP Client
43 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL DISCOVERY PROCESS:
COMPUTE NODE
Compute node
vnswadContrail-nodemgr
Configuration Node
Discovery server
zookeeper Node DB
Control Node Analytics Node
Collector
Analytics
DBControl NodeとAnalytics Node
に接続
"BGP module"
XMPP
IF-MAP Client
44 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
OPEN CONTRAILUPDATE
45 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
OPENCONTRAIL
Contrail は Open Sourceなソフトウェアwww.opencontrail.org.
JuniperバージョンもOpenSourceのバージョンと同じですUses proven stable standards. Production-Ready.
Permissive license Apache 2.0
オープンソースなオーケストレーターとの統合
OpenStack, CloudStack
46 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
OPEN CONTRAIL UPDATE
Contrailの開発はGitHubに統合されました!
https://github.com/juniper
47 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
OPEN CONTRAIL UPDATE
日本語での情報提供を始めます!
Wikiはじめました!
https://sites.google.com/site/opencontrailwiki/home
48 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
OPEN CONTRAIL UPDATE
日本語での情報提供を始めます!
GoogleGroupsはじめました!
https://groups.google.com/forum/#!forum/opencontrail-jp
49 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
OPEN CONTRAIL UPDATE
参加予定イベント