Open Flow Showcase - Juniper Networks - Network … Flow Showcase Juniper Networks K.K June 12-15...

27
Open Flow Showcase Juniper Networks K.K June 12-15 ,2012 INTEROP TOKYO 2012

Transcript of Open Flow Showcase - Juniper Networks - Network … Flow Showcase Juniper Networks K.K June 12-15...

Open Flow Showcase

Juniper Networks K.K

June 12-15 ,2012

INTEROP TOKYO 2012

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

ITEROP TOKYO 2012 OpenFlow Showcase アジェンダ

Juniper NetworksのSDN/OpenFlowに対する取り組み

JUNOS SDK

Data Centerを柔軟に連携させるための技術

Pseudo Wire(MPLS VPN)

ネットワークの仮想化

OpenFlow

デモ内容紹介

約5分ほど時間を下さい!

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

SDN/OpenFlowに対する取り組み

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

Juniper NETWORKSのSDN/Open Flow に対するメッセージ

Open FlowはSDNの1つの例

ネットワークにはセキュリティ、コンテンツ配信最適化など改善すべき課題は多い

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

SPACE Apps

3rd party App

3rd party App

3rd party App

Mobile Broadband Software

3rd party App

3rd party App

3rd party App

Media Delivery Software

API

Routing Switching

ASICs/TCAM/Network Processor

Security

API

JUNIPERのSoftware戦略とSDK JUNOS/JUNOS Spaceが基幹OS

SDKによりAPIを開放して、PartnerとNew Networkを構築

https://developer.juniper.net/content/jdn/en/tools/jdn-terms-of-use.html

SDKはJDNサイトで登録後利用可能

7 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

- JUNOS SDK 概要 – ネットワークプラットフォームの開発環境を提供

パートナー

ソースコード バーチャル

ビルド

SDK アプリによる

ビルド

システム精査,

SDKのロード

Router features

Data streams

Unix features

SDK アプリケーションが利用可能

SRX (RE SDKのみ) 210, 240, 650

M /TSeries MX Series

NTT-communications様

経路ハイジャックを防止するアプリケーション

をJUNOS SDKで開発

IIJ様

柔軟なマネージドサービス

をJUNOS SDKで開発

国立情報学研究所様

JUNOS SDKを搭載した

仮想開発プラットフォームを提供

開発ステップ

対応プラットフォーム

導入事例

一部EX-(RE SDK)

12.2より

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

JUNOS アーキテクチャ上のSDK

Routing Engines – コントロールプレーン

Packet Forwarding Engine – データプレーン

I/O

PIC

/DP

C

I/O

PIC

/DP

C

Traffic Traffic

Applications

Service Modules – Services Plane

New

process(es)

Service Application(s) Service Applications

I/O

Mo

du

les

RE SDKにより

生成したアプリ

Services SDK

により生成

I/O

Mo

dels

Kernel

of-switchd

OpenFlowの

プロセス

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

MX 5-80,MX240-960(MPC)

EX4200/EX4500[ブース、Shownetで動作中]

JUNOS Beta および SDK Agreement に同意すれば利用可能

OpenFlow Agreementに同意すればOpenFlowコードは開示

OpenFlow 1.0準拠。1.3をターゲットとして開発継続

国内外での接続テスト実施中 Trema/Big switch/flood light/NOX/RYU(NTT)との接続実績あり

MX 960 MX 480 MX 5-80

2.8 Tb/s

5.2 Tb/s

1.4Tb/s

MX 240

20-80 Gbps

MX/EX4200/EX4500がOpenFlowSwitchに対応

EX4200

EX4200-VC EX4500

EX4500-VC

10 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

-Data Center のネットワークに柔軟性を!-

Data Centerを有効に連携させる技術

11 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

Data Centerをビジネスに最大限に活用

Database

会社、オフィス、モバイルなどあらゆる環境でインターネットを

介したクラウドサービスの活用が求められる。同時にデータセンター内

データセンター間でより柔軟なインフラ構築が求めれている。

データセンターA

リソース

Data

Multimedia

Database

Video

Finance

Applications

データセンターB

Clients

Data Centers

Global High-Performance Network

12 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

オンプレミス型の アプリケーション

専用サーバ

専用ストレージ

複雑なレイヤー

データセンターは進化した・・・ 柔軟性のない従来のITモデル

柔軟性の高い仮想化モデル

SaaS

バーチャルサーバー

共有ストレージ

アプリケーション

サーバ/コンピュータ

ストレージ

ネットワーク

・・・ネットワークを除いて

From To

13 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

オンプレミス型の アプリケーション

専用サーバ

専用ストレージ

複雑なレイヤー

データセンターは進化した・・・ 柔軟性のない従来のITモデル

柔軟性の高い仮想化モデル

アプリケーション

サーバ/コンピュータ

ストレージ

・・・ネットワークを除いて

ネットワーク

From ネットワークだけが進化から取り残され、いまやデータセンターのイノベーションを妨げる要因に…

Fabric Cluster(Qfabric) VRF

Virtual-Chassis

Logical-System ネットワークの仮想化

SDN/OpenFlow 新たな技術への挑戦

Pseudo Wire データセンターの連携

14 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

Data Centers

Clients

Global High-Performance Network

クライアント-データセンター間

(IP-SEC VPN/SSL)

データセンター間

①データセンタ間を連携させるPseudo wire (MPLS VPN) 標準化されたデータセンター間を接続する技術。国内外導入実績多数

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

②柔軟なサービスを展開できるネットワークの仮想化技術

運用技術も仮想化したLSYS(Logical System)でネットワークのサービスを柔軟に展開

事業者1

事業者2

事業者3

メモリ/CPU

最大15のLSYS サービス事業者

筐体管理者

LSYS3

ルータ

設定

ファイル

LSYS2

LSYS1

設定

ファイル

設定

ファイル

設定

ファイル

Master

Physical

Resource

Virtual

Resource

実サービス

筐体内でのLSYS 仮想化されたノードにより構築された仮想化網

Virtual

Network

Resource

Manager

参考:ITU-T Y.3011 Framework of network virtualization for Future Networks SSH/TELENT login

16 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

③新しい可能性を秘めた OpenFlow

Ctr1 Ctr2

SW2 SW1

サービス

管理者1

サービス

管理者2

ONF1.0に準拠。MXで複数のControllerを設定可能

③SWのスペック、ポート状態を確認

Hello(version 0x01)

Feature request

TCP:Port 6633(SYN,SYN ACK,ACK)

Hello(version 0x01)

Feature reply

Echo Request(5秒毎) Echo Reply

SW

Switch Config&Flow Mod(delete)

Flow Modify

Controller

①SWからControllerに対してTCP(6633)にセッションを張る

②Versionを交換し、問題なければActive

⑤コントローラのポリシーに応じてFlow Entryを注入

④SWのベース設定およびFlow Entryリセット

Feature reply

dpid:0x1:aa:bb:cc:dd:ee:ff Port id

1:ge-1/0/1

2:lt-0/0/0.0

Local(lo0)

Feature reply

dpid:0x2:aa:bb:cc:dd:ee:ff Port id

1:ge-1/0/3

3:lt-0/0/0.2

3:tt-0/0/0.4

Local(lo0)

MX

Flow modify

Port id=1からMAC

12:34:56:78;9a:01の

パケットを

Port id=2に転送

Flow modify

Port id=1からMAC

12:34:56:78;9a:02の

パケットを

Port id=3に転送

17 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

Ctr1 Ctr2

SW2

SW1

SW3

サービス

管理者1

ルータ-1

LSYS2

LSYS1

SW2

SW1

SW3

ルータ-2

LSYS2

LSYS1

Ctr2

サービス

管理者2

日本と米国東海外に

データセンターを

設立しました。

新規にデータセンタ間

サービスを

立ち上げたい方募集!

日本、米国間で

超高速、高帯域で

放送系のサービスしたい

現地、キャリアから格安の回線入手。海外無線ローミングで安価な従量性サービスをしたい

共用インフラ

専用インフラ

借用インフラ

Ctr1

オープンフローの

サービス

立ち上げます

データセンター

管理者

OpenFlowとPseudo Wireのハイブリッド機能を利用し データセンター間でマルチサービス接続を実現

MXでOpenFlow SwitchとMPLS L2 Pseudo Wireをハイブリッドで動作させOpenFlowと広域ネットワークとの連携を提案しています。

18 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

Open Flow Showcase demo

19 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

OPENFLOW デモ接続イメージ

MX80-1

Spirent

OpenFlowShowcase Rack booth

MX80-2

Trema Control

mgmt

SW

SW

Open Flow Controller MX80:JUNOS 12.2 test code:OpneFlow 1.0準拠

Controller:Trema(OpenSource)

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

SW3 SW3

Pseudo Wire1

Pseudo Wire

MX80-2

OpenFlow demo logical topology

LSYS2

LSYS1 MX80-1

LSYS1

P3 P4 P5 P6 P7 P8 P9 P10

LSYS2

ge3

Pseudo Wire2

1

6

13

14

Ge-1/0/3

Ge-1/0/8

Ge-1/0/4

Ge-1/0/11

Lt-0/0/0.2 Lt-0/0/0.3

ge-1/0/3

Ge-1/0/4

Ge-1/0/2

Ge-1/0/9

SW2 SW2 3 4

5

SW1 SW1 1 2

3 4

5 7

9

8

Ctr1

Ctr2 Ctr2

Ctr1

Ctr3 Ctr3

Ge-1/0/11

1 2

lt-0/0/0.0 lt-0/0/0.1 Ge-1/0/1

Lt-0/0/0.4 Lt-0/0/0.5

Lt-0/0/0.3 Lt-0/0/0.2

Lt-0/0/0.5 Lt-0/0/0.4

ControllerはSWからのPort IDをベースにどこのPortから入ってきたトラヒックをどのPortに出すかFlow Entryのルールを決めていく

SWのPortとPseudo Wireの組み合わせでデータセンター間のパスを選択できるような仕組み

lt-0/0/0.1 lt-0/0/0.0

21 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

SW3

5

Pseudo Wire1

Pseudo Wire

MX80

OpenFlow demo scenario1-1

Pseudo Wire2

Ctr1

Ctr2 Ctr2

Ctr1

LSYS2

Ctr3

SW2

LSYS2

LSYS1

MX80

SW1

LSYS1

SW1

SW2 SW3

Ctr3

Data Center : A Data Center : B

80μs

250μs

250μs

SRC-MAC_12:34:56:78:90:a1 192.168.255.100.1

SRC-MAC_12;34;56:78:90:a2 192.168.255.100.2

SRC-MAC_12:34:56:78:90:a3 192.168.255.100.3

6

13

14

5

4

3

22 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

SW3

5

Pseudo Wire1

Pseudo Wire

MX80

OpenFlow demo scenario1-1

Pseudo Wire2

Ctr1

Ctr2 Ctr2

Ctr1

LSYS2

Ctr3

SW2

LSYS2

LSYS1

MX80

SW1

LSYS1

SW1

SW2 SW3

Ctr3

Data Center : A Data Center : B

80μs

250μs

250μs

SRC-MAC_12:34:56:78:90:a1 192.168.255.100.1

SRC-MAC_12;34;56:78:90:a2 192.168.255.100.2

SRC-MAC_12:34:56:78:90:a3 192.168.255.100.3

6

13

14

5

4

3

Ctroller3がSW3にインストールするFlow modメッセージ(Trema のruby code)

match1 = Match.new( :in_port => 6 ,:dl_src =>"12:34:56:78:90:a1",

:dl_type => 0x0800,:nw_src => "192.168.255.1/32" )

actions1 = ActionOutput.new( :port => 13 )

send_flow_mod_add( datapath_id,:match => match1,:actions => actions1 )

match2 = Match.new( :in_port => 6,:dl_src =>"12:34:56:78:90:a2",

:dl_type => 0x0800,:nw_src => "192.168.255.2/32")

actions2 = ActionOutput.new( :port => 14 )

send_flow_mod_add( datapath_id, :match => match2, :actions => actions2 )

match3 = Match.new( :in_port => 6, :dl_src =>"12:34:56:78:90:a3" ,

dl_type => 0x0800, :nw_src => "192.168.255.3/32")

actions3 = ActionOutput.new( :port => 14 )

Send_flow_mod_add(datapath_id :match=> match3,:actions => actions3)

23 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

SW3

5

Pseudo Wire1

Pseudo Wire

MX80

OpenFlow demo scenario1-1

Pseudo Wire2

Ctr1

Ctr2 Ctr2

Ctr1

LSYS2

Ctr3

SW2

LSYS2

LSYS1

MX80

SW1

LSYS1

SW1

SW2 SW3

Ctr3

Data Center : A Data Center : B

80μs

250μs

250μs

SRC-MAC_12:34:56:78:90:a1 192.168.255.100.1

SRC-MAC_12;34;56:78:90:a2 192.168.255.100.2

SRC-MAC_12:34:56:78:90:a3 192.168.255.100.3

6

13

14

5

4

3

Ctroller2がSW2にインストールするFlow modメッセージ(Trema のruby code)

match1 = Match.new( :in_port => 3,:dl_src =>"12:34:56:78:90:a2",

:dl_type => 0x0800,:nw_src => "192.168.255.2/32")

actions1 = ActionOutput.new( :port => 5)

send_flow_mod_add( datapath_id, :match => match2, :actions => actions2 )

match2 = Match.new( :in_port => 3, :dl_src =>"12:34:56:78:90:a3" ,

dl_type => 0x0800, :nw_src => "192.168.255.3/32")

actions2 = ActionOutput.new( :port => 5 )

Send_flow_mod_add(datapath_id :match=> match3,:actions => actions2)

24 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

SW3

5

Pseudo Wire1

Pseudo Wire

MX80

OpenFlow demo scenario1-1

Pseudo Wire2

Ctr1

Ctr2 Ctr2

Ctr1

LSYS2

Ctr3

SW2

LSYS2

LSYS1

MX80

SW1

LSYS1

SW1

SW2 SW3

Ctr3

Data Center : A Data Center : B

80μs

250μs

250μs

SRC-MAC_12:34:56:78:90:a1 192.168.255.100.1

SRC-MAC_12;34;56:78:90:a2 192.168.255.100.2

SRC-MAC_12:34:56:78:90:a3 192.168.255.100.3

6

13

14

5

4

3

25 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

SW3

5

Pseudo Wire1

MX80

OpenFlow demo scenario1-2

Pseudo Wire2

Ctr2 Ctr2

LSYS2

SW2

LSYS2

MX80

SW2 SW3

Data Center : A Data Center : B

250μs

250μs

Please

Accelerate

5

4

3

SRC-MAC_12:34:56:78:90:a1 192.168.255.100.1

SRC-MAC_12;34;56:78:90:a2 192.168.255.100.2

SRC-MAC_12:34:56:78:90:a3 192.168.255.100.3

26 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

SW3

5

Pseudo Wire1

MX80

OpenFlow demo scenario1-2

Pseudo Wire2

Ctr2 Ctr2

LSYS2

SW2

LSYS2

MX80

SW2 SW3

Data Center : A Data Center : B

250μs

250μs

Please

Accelerate

5

4

3

Ctroller2がSW2にインストールするFlow modメッセージ(Trema のruby code)

match1 = Match.new( :in_port => 3,:dl_src =>"12:34:56:78:90:a2",

:dl_type => 0x0800,:nw_src => "192.168.255.2/32")

actions1 = ActionOutput.new( :port => 4)

send_flow_mod_add( datapath_id, :match => match2, :actions => actions2 )

match2 = Match.new( :in_port => 3, :dl_src =>"12:34:56:78:90:a3" ,

dl_type => 0x0800, :nw_src => "192.168.255.3/32")

actions2 = ActionOutput.new( :port => 5 )

Send_flow_mod_add(datapath_id :match=> match3,:actions => actions2)

SRC-MAC_12:34:56:78:90:a1 192.168.255.100.1

SRC-MAC_12;34;56:78:90:a2 192.168.255.100.2

SRC-MAC_12:34:56:78:90:a3 192.168.255.100.3

27 Copyright © 2009 Juniper Networks, Inc. www.juniper.net

SW3

5

Pseudo Wire1

MX80

OpenFlow demo scenario1-3

Pseudo Wire2

Ctr2 Ctr2

LSYS2

SW2

LSYS2

MX80

SW2 SW3

Data Center : A Data Center : B

Please

Accelerate

250μs->80μs 250μs