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
クラウドオーケストレーターとのインターフェイス
オーケストレーターから受信した情報をコンフィグ情報に変換
Control
vRouterやゲートウェイルータと接続する
ルーティング情報のアップデートなどを行う
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
X2
Switch
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-MAP
server
Configuration
Node
Control
Node
Control
Node
IF-MAP
Distributed
Synchronization
Configuration
Node
DHT
DB
DHT
DB
Message Bus
Discovery
server
Compute
Node
Analytics
Node
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"
Proxies
XMPP
Control
Node
Control
Node
Compute
Node
Compute
Node
Configuration
Node
Configuration
Node
IF-MAP
XMPP
IBGP
IF-MAP
Client
Gateway
Routers
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
Rules
Engine
Other
Analytics
Clients
Collector
All
Nodes
All
Nodes
Sande
sh
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 tunnels
MPLS over GRE/UDP or
VXLAN
CONTRAIL CONTROLLER
XMPP
Eth1
Kernel
pkt0
User
Eth0
Config
VRFs
Policy
Table
1. vRouterはハイパーバイザカーネル内の Linux
BridgeやOVS moduleの代わりに使用する
2. vRouter はE-VPNやL3VPNの処理を行う
3. vRouter はセキュリティポリシー, NAT, Multicast,
ミラーリング, ロードバランスなどの処理を行う
4. ルーティング情報はポリシーに従って、自動的に
各ルーティングインスタンスに広告される
vRouter Forwarding Plane
Virtual
Machine
(Tenant A)
Routing
Instance
Flow
Table
FIB
Tap Interfaces (vif)
Routing
Instance
Flow Table
FIB
Virtual
Machine
(Tenant B)
Virtual
Machine
(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"
Proxies
XMPP
IF-MAP
Client
Compute Node
Configuration Node
OpenStack
REST API
Server
Schema
Transformer
DHT DB
IF-MAP
server
Message Bus
vRouter
Agent
NovaVIF
Driver
Nova Agent
Nova Server
Neutron
Server
vRouter
Kernel
23 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
Control Node
"BGP module"
Proxies
XMPP
IF-MAP
Client
Compute Node
Configuration Node
OpenStack
REST API
Server
Schema
Transformer
DHT DB
IF-MAP
server
Message Bus
vRouter
Agent
NovaVIF
Driver
Nova Agent
Nova Server
Neutron
Server
vRouter
Kernel
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"
Proxies
XMPP
IF-MAP
Client
Compute Node
Configuration Node
OpenStack
REST API
Server
Schema
Transformer
DHT DB
IF-MAP
server
Message Bus
vRouter
Agent
NovaVIF
Driver
Nova Agent
Nova Server
Neutron
Server
vRouter
Kernel
TAPの作成
25 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS:
インターフェイスを作成
Control Node
"BGP module"
Proxies
XMPP
IF-MAP
Client
Compute Node
Configuration Node
OpenStack
REST API
Server
Schema
Transformer
DHT DB
IF-MAP
server
Message Bus
vRouter
Agent
NovaVIF
Driver
Nova Agent
Nova Server
Neutron
Server
vRouter
Kernel
Neutron ServerへTAP情報を
送信
26 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
インターフェイスを作成
Control Node
"BGP module"
Proxies
XMPP
IF-MAP
Client
Compute Node
Configuration Node
OpenStack
REST API
Server
Schema
Transformer
DHT DB
IF-MAP
server
Message Bus
vRouter
Agent
NovaVIF
Driver
Nova Agent
Nova Server
Neutron
Server
vRouter
Kernel
vRouter KernelへTAP
インターフェイスを追加
27 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
Control Node
"BGP module"
Proxies
XMPP
IF-MAP
Client
Compute Node
Configuration Node
OpenStack
REST API
Server
Schema
Transformer
DHT DB
IF-MAP
server
Message Bus
vRouter
Agent
NovaVIF
Driver
Nova Agent
Nova Server
Neutron
Server
vRouter
Kernel
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
CONTRAILへ接続
Neutron ServerからVMの
情報をContrailへ送信
28 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
Control Node
"BGP module"
Proxies
XMPP
IF-MAP
Client
Compute Node
Configuration Node
OpenStack
REST API
Server
Schema
Transformer
DHT DB
IF-MAP
server
Message Bus
vRouter
Agent
NovaVIF
Driver
Nova Agent
Nova Server
Neutron
Server
vRouter
Kernel
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"
Proxies
XMPP
IF-MAP
Client
Compute Node
Configuration Node
OpenStack
REST API
Server
Schema
Transformer
DHT DB
IF-MAP
server
Message Bus
vRouter
Agent
NovaVIF
Driver
Nova Agent
Nova Server
Neutron
Server
vRouter
Kernel
受け取った情報をContral の
データへ変換
30 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
IF-MAPへ転送
Control Node
"BGP module"
Proxies
XMPP
IF-MAP
Client
Compute Node
Configuration Node
OpenStack
REST API
Server
Schema
Transformer
DHT DB
IF-MAP
server
Message Bus
vRouter
Agent
NovaVIF
Driver
Nova Agent
Nova Server
Neutron
Server
vRouter
Kernel
データをIF-MAPサーバへ
送信
31 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
CONTROL NODEへデータ転送
Control Node
"BGP module"
Proxies
XMPP
IF-MAP
Client
Compute Node
Configuration Node
OpenStack
REST API
Server
Schema
Transformer
DHT DB
IF-MAP
server
Message Bus
vRouter
Agent
NovaVIF
Driver
Nova Agent
Nova Server
Neutron
Server
vRouter
Kernel
データをControl Nodeへ送信
32 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
COMPUTE NODEへ転送
Control Node
"BGP module"
Proxies
XMPP
IF-MAP
Client
Compute Node
Configuration Node
OpenStack
REST API
Server
Schema
Transformer
DHT DB
IF-MAP
server
Message Bus
vRouter
Agent
NovaVIF
Driver
Nova Agent
Nova Server
Neutron
Server
vRouter
Kernel
データをXMPPに変換し、
vRouter Agentへ送信
33 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL WITH CONTRAIL VM MAKING PROCESS :
ルーティングアップデート
Control Node
"BGP module"
Proxies
XMPP
IF-MAP
Client
Compute Node
Configuration Node
OpenStack
REST API
Server
Schema
Transformer
DHT DB
IF-MAP
server
Message Bus
vRouter
Agent
NovaVIF
Driver
Nova Agent
Nova Server
Neutron
Server
vRouter
Kernel
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-MAP
server
Control-node
Contrail-
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-MAP
server
Control-node
Contrail-
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-MAP
server
Control-node
Contrail-
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-MAP
server
Control-node
Contrail-
nodemgr
Analytics
DB
Configuration Node
Analytics Nodeに接続
40 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL DISCOVERY PROCESS:
COMPUTE NODE
Compute node
vnswad
Contrail-
nodemgr
Configuration Node
Discovery
server
zookeeper Node DB
Control Node Analytics Node
Collector
Analytics
DB
Discovery serverへ
IP AddressとNode Typeを送信
"BGP module"
XMPP
IF-MAP
Client
41 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
Compute node
vnswad
Contrail-
nodemgr
Configuration Node
Discovery
server
zookeeper Node DB
Control Node Analytics Node
Collector
CONTRAIL DISCOVERY PROCESS:
COMPUTE NODE
Analytics
DB
Compute Nodeの情報を
DBに保存
"BGP module"
XMPP
IF-MAP
Client
42 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
CONTRAIL DISCOVERY PROCESS:
COMPUTE NODE
Compute node
vnswad
Contrail-
nodemgr
Configuration Node
Discovery
server
zookeeper Node DB
Control Node Analytics Node
Collector
Analytics
DB
Control 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
vnswad
Contrail-
nodemgr
Configuration Node
Discovery
server
zookeeper Node DB
Control Node Analytics Node
Collector
Analytics
DB
Control NodeとAnalytics Node
に接続
"BGP module"
XMPP
IF-MAP
Client
44 Copyright © 2014 Juniper Networks, Inc. www.juniper.net
OPEN CONTRAIL
UPDATE
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
参加予定イベント

Open contraildays2014

  • 1.
  • 2.
    2 Copyright ©2014 Juniper Networks, Inc. www.juniper.net SDN 実装モデル
  • 3.
    3 Copyright ©2014 Juniper Networks, Inc. www.juniper.net 代表的なSDNの実装:ホップバイホップ コントローラーは通信を「フロー単位」 で細かく定義し、全てのSDN対応スイッ チを制御・管理する。 フロー単位の細やかな制御が可能。 全てのスイッチはOpenFlowに対応する必要 があり、既存ネットワークでは利用できない SDNコントローラ ホップバイホップ型の特徴 ・フロー単位でのきめ細やかなエンドツーエンドの制御が可能 ・全てのスイッチはOpenFlow対応が必要 ・スイッチの台数や全てのフローを管理するため、スケールに課題
  • 4.
    4 Copyright ©2014 Juniper Networks, Inc. www.juniper.net 代表的なSDNの実装:エッジオーバーレイ SDNコントローラ コントローラーは通信をVM単位で定義し、 オーバーレイスイッチをのみ制御・管理 する。 オーバーレイスイッチ間のNW機器は仮想 NWの情報は必要なく、既存のネットワーク がそのまま利用可能。 オーバーレイ型の特徴 ・VM単位で通信を制御し、オーバーレイスイッチのみを制御・管理する ため処理が軽い ・既存ネットワークを利用可能 ・コントローラの負荷が低いため、非常にスケーラブル
  • 5.
    5 Copyright ©2014 Juniper Networks, Inc. www.juniper.net SDNでうれしいこと
  • 6.
    6 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL オーバービュー
  • 7.
    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.
    8 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL OVERVIEW: CONTRAIL NODE OVERVIEW Configuration クラウドオーケストレーターとのインターフェイス オーケストレーターから受信した情報をコンフィグ情報に変換 Control vRouterやゲートウェイルータと接続する ルーティング情報のアップデートなどを行う Analitics すべてのノードの情報を収集する 外部からのクエリを受け付け、データを返す役割ももつ ルーティング情報を保持し、パケットデータの転送を行う ProxyARPやNATなどの機能ももつ vRouter
  • 9.
    9 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL パケットウォーク
  • 10.
    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.
    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.
    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 X2 Switch X3 Packet
  • 13.
    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.
    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.
    15 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAILのノード
  • 16.
    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-MAP server Configuration Node Control Node Control Node IF-MAP Distributed Synchronization Configuration Node DHT DB DHT DB Message Bus Discovery server Compute Node Analytics Node 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.
    17 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL OVERLAY TECHNOLOGY: CONTROL NODE Control Node "BGP module" Proxies XMPP Control Node Control Node Compute Node Compute Node Configuration Node Configuration Node IF-MAP XMPP IBGP IF-MAP Client Gateway Routers 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.
    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 Rules Engine Other Analytics Clients Collector All Nodes All Nodes Sande sh DHT DB Analytics Node Analytics Node Analytics Client Generated API UI, CLI Application Message Bus Query Engines Query Engines Distributed Synchronization Sandesh REST
  • 19.
    19 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL OVERLAY TECHNOLOGY: COMPUTE NODE Compute Node vRouter Agent Overlay tunnels MPLS over GRE/UDP or VXLAN CONTRAIL CONTROLLER XMPP Eth1 Kernel pkt0 User Eth0 Config VRFs Policy Table 1. vRouterはハイパーバイザカーネル内の Linux BridgeやOVS moduleの代わりに使用する 2. vRouter はE-VPNやL3VPNの処理を行う 3. vRouter はセキュリティポリシー, NAT, Multicast, ミラーリング, ロードバランスなどの処理を行う 4. ルーティング情報はポリシーに従って、自動的に 各ルーティングインスタンスに広告される vRouter Forwarding Plane Virtual Machine (Tenant A) Routing Instance Flow Table FIB Tap Interfaces (vif) Routing Instance Flow Table FIB Virtual Machine (Tenant B) Virtual Machine (Tenant B)
  • 20.
    20 Copyright ©2014 Juniper Networks, Inc. www.juniper.net OPENSTACKとの 連携
  • 21.
    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.
    22 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL WITH CONTRAIL VM MAKING PROCESS: 初期状態 Control Node "BGP module" Proxies XMPP IF-MAP Client Compute Node Configuration Node OpenStack REST API Server Schema Transformer DHT DB IF-MAP server Message Bus vRouter Agent NovaVIF Driver Nova Agent Nova Server Neutron Server vRouter Kernel
  • 23.
    23 Copyright ©2014 Juniper Networks, Inc. www.juniper.net Control Node "BGP module" Proxies XMPP IF-MAP Client Compute Node Configuration Node OpenStack REST API Server Schema Transformer DHT DB IF-MAP server Message Bus vRouter Agent NovaVIF Driver Nova Agent Nova Server Neutron Server vRouter Kernel CONTRAIL WITH CONTRAIL VM MAKING PROCESS: VMを作成 Nova ServerからNova Agentへ VM instanceを作成
  • 24.
    24 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL WITH CONTRAIL VM MAKING PROCESS: 仮想ポート情報を要求 Control Node "BGP module" Proxies XMPP IF-MAP Client Compute Node Configuration Node OpenStack REST API Server Schema Transformer DHT DB IF-MAP server Message Bus vRouter Agent NovaVIF Driver Nova Agent Nova Server Neutron Server vRouter Kernel TAPの作成
  • 25.
    25 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL WITH CONTRAIL VM MAKING PROCESS: インターフェイスを作成 Control Node "BGP module" Proxies XMPP IF-MAP Client Compute Node Configuration Node OpenStack REST API Server Schema Transformer DHT DB IF-MAP server Message Bus vRouter Agent NovaVIF Driver Nova Agent Nova Server Neutron Server vRouter Kernel Neutron ServerへTAP情報を 送信
  • 26.
    26 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL WITH CONTRAIL VM MAKING PROCESS : インターフェイスを作成 Control Node "BGP module" Proxies XMPP IF-MAP Client Compute Node Configuration Node OpenStack REST API Server Schema Transformer DHT DB IF-MAP server Message Bus vRouter Agent NovaVIF Driver Nova Agent Nova Server Neutron Server vRouter Kernel vRouter KernelへTAP インターフェイスを追加
  • 27.
    27 Copyright ©2014 Juniper Networks, Inc. www.juniper.net Control Node "BGP module" Proxies XMPP IF-MAP Client Compute Node Configuration Node OpenStack REST API Server Schema Transformer DHT DB IF-MAP server Message Bus vRouter Agent NovaVIF Driver Nova Agent Nova Server Neutron Server vRouter Kernel CONTRAIL WITH CONTRAIL VM MAKING PROCESS : CONTRAILへ接続 Neutron ServerからVMの 情報をContrailへ送信
  • 28.
    28 Copyright ©2014 Juniper Networks, Inc. www.juniper.net Control Node "BGP module" Proxies XMPP IF-MAP Client Compute Node Configuration Node OpenStack REST API Server Schema Transformer DHT DB IF-MAP server Message Bus vRouter Agent NovaVIF Driver Nova Agent Nova Server Neutron Server vRouter Kernel CONTRAIL WITH CONTRAIL VM MAKING PROCESS : データの書き込み 受け取った情報をDBへ保存
  • 29.
    29 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL WITH CONTRAIL VM MAKING PROCESS : データ変換 Control Node "BGP module" Proxies XMPP IF-MAP Client Compute Node Configuration Node OpenStack REST API Server Schema Transformer DHT DB IF-MAP server Message Bus vRouter Agent NovaVIF Driver Nova Agent Nova Server Neutron Server vRouter Kernel 受け取った情報をContral の データへ変換
  • 30.
    30 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL WITH CONTRAIL VM MAKING PROCESS : IF-MAPへ転送 Control Node "BGP module" Proxies XMPP IF-MAP Client Compute Node Configuration Node OpenStack REST API Server Schema Transformer DHT DB IF-MAP server Message Bus vRouter Agent NovaVIF Driver Nova Agent Nova Server Neutron Server vRouter Kernel データをIF-MAPサーバへ 送信
  • 31.
    31 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL WITH CONTRAIL VM MAKING PROCESS : CONTROL NODEへデータ転送 Control Node "BGP module" Proxies XMPP IF-MAP Client Compute Node Configuration Node OpenStack REST API Server Schema Transformer DHT DB IF-MAP server Message Bus vRouter Agent NovaVIF Driver Nova Agent Nova Server Neutron Server vRouter Kernel データをControl Nodeへ送信
  • 32.
    32 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL WITH CONTRAIL VM MAKING PROCESS : COMPUTE NODEへ転送 Control Node "BGP module" Proxies XMPP IF-MAP Client Compute Node Configuration Node OpenStack REST API Server Schema Transformer DHT DB IF-MAP server Message Bus vRouter Agent NovaVIF Driver Nova Agent Nova Server Neutron Server vRouter Kernel データをXMPPに変換し、 vRouter Agentへ送信
  • 33.
    33 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL WITH CONTRAIL VM MAKING PROCESS : ルーティングアップデート Control Node "BGP module" Proxies XMPP IF-MAP Client Compute Node Configuration Node OpenStack REST API Server Schema Transformer DHT DB IF-MAP server Message Bus vRouter Agent NovaVIF Driver Nova Agent Nova Server Neutron Server vRouter Kernel TAP情報を追加し、ルーティ ングテーブルをアップデート
  • 34.
    34 Copyright ©2014 Juniper Networks, Inc. www.juniper.net ノード間の接続
  • 35.
    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.
    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-MAP server Control-node Contrail- nodemgr Discovery serverへ IP AddressとNode Typeを送信 Analytics DB
  • 37.
    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-MAP server Control-node Contrail- nodemgr Control Nodeの情報を DBに保存 Analytics DB
  • 38.
    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-MAP server Control-node Contrail- nodemgr Analytics DB Control Node , Analytics Node Configuration Nodeの情報を送信
  • 39.
    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-MAP server Control-node Contrail- nodemgr Analytics DB Configuration Node Analytics Nodeに接続
  • 40.
    40 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL DISCOVERY PROCESS: COMPUTE NODE Compute node vnswad Contrail- nodemgr Configuration Node Discovery server zookeeper Node DB Control Node Analytics Node Collector Analytics DB Discovery serverへ IP AddressとNode Typeを送信 "BGP module" XMPP IF-MAP Client
  • 41.
    41 Copyright ©2014 Juniper Networks, Inc. www.juniper.net Compute node vnswad Contrail- nodemgr Configuration Node Discovery server zookeeper Node DB Control Node Analytics Node Collector CONTRAIL DISCOVERY PROCESS: COMPUTE NODE Analytics DB Compute Nodeの情報を DBに保存 "BGP module" XMPP IF-MAP Client
  • 42.
    42 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL DISCOVERY PROCESS: COMPUTE NODE Compute node vnswad Contrail- nodemgr Configuration Node Discovery server zookeeper Node DB Control Node Analytics Node Collector Analytics DB Control NodeとAnalytics Node の情報を送信 "BGP module" XMPP IF-MAP Client
  • 43.
    43 Copyright ©2014 Juniper Networks, Inc. www.juniper.net CONTRAIL DISCOVERY PROCESS: COMPUTE NODE Compute node vnswad Contrail- nodemgr Configuration Node Discovery server zookeeper Node DB Control Node Analytics Node Collector Analytics DB Control NodeとAnalytics Node に接続 "BGP module" XMPP IF-MAP Client
  • 44.
    44 Copyright ©2014 Juniper Networks, Inc. www.juniper.net OPEN CONTRAIL UPDATE
  • 45.
    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.
    46 Copyright ©2014 Juniper Networks, Inc. www.juniper.net OPEN CONTRAIL UPDATE Contrailの開発はGitHubに統合されました! https://github.com/juniper
  • 47.
    47 Copyright ©2014 Juniper Networks, Inc. www.juniper.net OPEN CONTRAIL UPDATE 日本語での情報提供を始めます! Wikiはじめました! https://sites.google.com/site/opencontrailwiki/home
  • 48.
    48 Copyright ©2014 Juniper Networks, Inc. www.juniper.net OPEN CONTRAIL UPDATE 日本語での情報提供を始めます! GoogleGroupsはじめました! https://groups.google.com/forum/#!forum/opencontrail-jp
  • 49.
    49 Copyright ©2014 Juniper Networks, Inc. www.juniper.net OPEN CONTRAIL UPDATE 参加予定イベント