49
INSIDE CONTRAIL Open contrail day 2014 Spring

Opencontraildays2014dist 140514051248-phpapp01

  • Upload
    ozkan01

  • View
    60

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Opencontraildays2014dist 140514051248-phpapp01

INSIDE CONTRAIL

Open contrail day 2014 Spring

Page 2: Opencontraildays2014dist 140514051248-phpapp01

2 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

SDN 実装モデル

Page 3: Opencontraildays2014dist 140514051248-phpapp01

3 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

代表的なSDNの実装:ホップバイホップ

コントローラーは通信を「フロー単位」で細かく定義し、全てのSDN対応スイッチを制御・管理する。フロー単位の細やかな制御が可能。

全てのスイッチはOpenFlowに対応する必要があり、既存ネットワークでは利用できない

SDNコントローラ

ホップバイホップ型の特徴・フロー単位でのきめ細やかなエンドツーエンドの制御が可能・全てのスイッチはOpenFlow対応が必要・スイッチの台数や全てのフローを管理するため、スケールに課題

Page 4: Opencontraildays2014dist 140514051248-phpapp01

4 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

代表的なSDNの実装:エッジオーバーレイ

SDNコントローラ

コントローラーは通信をVM単位で定義し、オーバーレイスイッチをのみ制御・管理する。

オーバーレイスイッチ間のNW機器は仮想NWの情報は必要なく、既存のネットワークがそのまま利用可能。

オーバーレイ型の特徴・VM単位で通信を制御し、オーバーレイスイッチのみを制御・管理するため処理が軽い・既存ネットワークを利用可能・コントローラの負荷が低いため、非常にスケーラブル

Page 5: Opencontraildays2014dist 140514051248-phpapp01

5 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

SDNでうれしいこと

Page 6: Opencontraildays2014dist 140514051248-phpapp01

6 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

CONTRAILオーバービュー

Page 7: Opencontraildays2014dist 140514051248-phpapp01

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

ゲートウェイマルチベンダーのエッジルーター

ハイパーバイザー ハイパーバイザー

Page 8: Opencontraildays2014dist 140514051248-phpapp01

8 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

CONTRAIL OVERVIEW:

CONTRAIL NODE OVERVIEW

Configurationクラウドオーケストレーターとのインターフェイス

オーケストレーターから受信した情報をコンフィグ情報に変換

ControlvRouterやゲートウェイルータと接続する

ルーティング情報のアップデートなどを行う

Analiticsすべてのノードの情報を収集する

外部からのクエリを受け付け、データを返す役割ももつ

ルーティング情報を保持し、パケットデータの転送を行う

ProxyARPやNATなどの機能ももつvRouter

Page 9: Opencontraildays2014dist 140514051248-phpapp01

9 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

CONTRAILパケットウォーク

Page 10: Opencontraildays2014dist 140514051248-phpapp01

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

Page 11: Opencontraildays2014dist 140514051248-phpapp01

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

Page 12: Opencontraildays2014dist 140514051248-phpapp01

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

Page 13: Opencontraildays2014dist 140514051248-phpapp01

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

Page 14: Opencontraildays2014dist 140514051248-phpapp01

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

Page 15: Opencontraildays2014dist 140514051248-phpapp01

15 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

CONTRAILのノード

Page 16: Opencontraildays2014dist 140514051248-phpapp01

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

Page 17: Opencontraildays2014dist 140514051248-phpapp01

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などの情報を提供する

Page 18: Opencontraildays2014dist 140514051248-phpapp01

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

Page 19: Opencontraildays2014dist 140514051248-phpapp01

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)

Page 20: Opencontraildays2014dist 140514051248-phpapp01

20 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

OPENSTACKとの連携

Page 21: Opencontraildays2014dist 140514051248-phpapp01

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管理コンソール / ダッシュボード

統合認証管理

イメージ管理

メータリング / リソース計測

オーケストレーションサービス

Page 22: Opencontraildays2014dist 140514051248-phpapp01

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

Page 23: Opencontraildays2014dist 140514051248-phpapp01

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を作成

Page 24: Opencontraildays2014dist 140514051248-phpapp01

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の作成

Page 25: Opencontraildays2014dist 140514051248-phpapp01

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情報を送信

Page 26: Opencontraildays2014dist 140514051248-phpapp01

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

インターフェイスを追加

Page 27: Opencontraildays2014dist 140514051248-phpapp01

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へ送信

Page 28: Opencontraildays2014dist 140514051248-phpapp01

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へ保存

Page 29: Opencontraildays2014dist 140514051248-phpapp01

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のデータへ変換

Page 30: Opencontraildays2014dist 140514051248-phpapp01

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サーバへ送信

Page 31: Opencontraildays2014dist 140514051248-phpapp01

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へ送信

Page 32: Opencontraildays2014dist 140514051248-phpapp01

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へ送信

Page 33: Opencontraildays2014dist 140514051248-phpapp01

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情報を追加し、ルーティングテーブルをアップデート

Page 34: Opencontraildays2014dist 140514051248-phpapp01

34 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

ノード間の接続

Page 35: Opencontraildays2014dist 140514051248-phpapp01

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

Page 36: Opencontraildays2014dist 140514051248-phpapp01

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

Page 37: Opencontraildays2014dist 140514051248-phpapp01

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

Page 38: Opencontraildays2014dist 140514051248-phpapp01

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の情報を送信

Page 39: Opencontraildays2014dist 140514051248-phpapp01

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に接続

Page 40: Opencontraildays2014dist 140514051248-phpapp01

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

Page 41: Opencontraildays2014dist 140514051248-phpapp01

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

Page 42: Opencontraildays2014dist 140514051248-phpapp01

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

Page 43: Opencontraildays2014dist 140514051248-phpapp01

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

Page 44: Opencontraildays2014dist 140514051248-phpapp01

44 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

OPEN CONTRAILUPDATE

Page 45: Opencontraildays2014dist 140514051248-phpapp01

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

Page 46: Opencontraildays2014dist 140514051248-phpapp01

46 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

OPEN CONTRAIL UPDATE

Contrailの開発はGitHubに統合されました!

https://github.com/juniper

Page 47: Opencontraildays2014dist 140514051248-phpapp01

47 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

OPEN CONTRAIL UPDATE

日本語での情報提供を始めます!

Wikiはじめました!

https://sites.google.com/site/opencontrailwiki/home

Page 48: Opencontraildays2014dist 140514051248-phpapp01

48 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

OPEN CONTRAIL UPDATE

日本語での情報提供を始めます!

GoogleGroupsはじめました!

https://groups.google.com/forum/#!forum/opencontrail-jp

Page 49: Opencontraildays2014dist 140514051248-phpapp01

49 Copyright © 2014 Juniper Networks, Inc. www.juniper.net

OPEN CONTRAIL UPDATE

参加予定イベント