Open Flow Showcase
Juniper Networks K.K
June 12-15 ,2012
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
Juniper NETWORKSのSDN/Open Flow に対するメッセージ
Open FlowはSDNの1つの例
5 Copyright © 2009 Juniper Networks, Inc. www.juniper.net
2011年秋にリリースした Open Flowに対するメッセージ
http://www.juniper.net/us/en/company/press-center/press-releases/2011/pr_2011_10_26-06_42.html
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より
JUNOS アーキテクチャ上のSDK
Routing Engines – コントロールプレーン
Packet Forwarding Engine – データプレーン
I/O P IC/DP C I/O P IC/DP C
Traffic
Traffic
Applications
Service Modules – Services Plane
New
process(es)
Service Application(s)
Service Applications
I/O M odule s RE SDKにより 生成したアプリ Services SDK により生成 I/O M odel sKernel
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-Data Center のネットワークに柔軟性を!-
Data Centerを有効に連携させる技術
11 Copyright © 2009 Juniper Networks, Inc. www.juniper.net
Data Centerをビジネスに最大限に活用
Database会社、オフィス、モバイルなどあらゆる環境でインターネットを
介したクラウドサービスの活用が求められる。同時にデータセンター内
データセンター間でより柔軟なインフラ構築が求めれている。
データセンターA リソース Data Multimedia Database Video Finance Applications データセンターBオンプレミス型の アプリケーション 専用サーバ 専用ストレージ 複雑なレイヤー
データセンターは進化した・・・
柔
軟
性
の
な
い
従
来
の
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
データセンターの連携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
16 Copyright © 2009 Juniper Networks, Inc. www.juniper.net
③新しい可能性を秘めた OpenFlow
Ctr1 Ctr2SW2
SW1
サービス 管理者1 サービス 管理者2ONF1.0に準拠。MXで複数のControllerを設定可能
③SWのスペック、ポート状態を確認 Hello(version 0x01) Feature requestTCP: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と広域ネットワークとの連携
を提案しています。
19 Copyright © 2009 Juniper Networks, Inc. www.juniper.net
OPENFLOW デモ接続イメージ
MX80-1
Spirent
OpenFlowShowcase Rack
booth
MX80-2
Trema Control mgmtSW
SW
Open Flow Controller MX80:JUNOS 12.2 test code:OpneFlow 1.0準拠 Controller:Trema(OpenSource)
SW3
SW3
Pseudo Wire1
Pseudo Wire
MX80-2
OpenFlow demo logical topology
LSYS2
LSY
S
1
MX80-1
LSYS1
P3
P4
P5
P6
P7
P8
P9
P10
LSYS2
ge3Pseudo 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/9SW2
SW2
3 4 5SW1
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.4ControllerはSWからのPort IDをベースにどこのPortから入ってきたトラヒックをどのPortに出すかFlow Entryのルールを決めていく SWのPortとPseudo Wireの組み合わせでデータセンター間のパスを選択できるような仕組み
21 Copyright © 2009 Juniper Networks, Inc. www.juniper.net
SW3
5Pseudo Wire1
Pseudo Wire
MX80
OpenFlow demo scenario1-1
Pseudo Wire2
Ctr1 Ctr2 Ctr2 Ctr1LSYS2
Ctr3SW2
LSYS2
LSYS1
MX80
SW1
LSYS1
SW1
SW2
SW3
Ctr3Data 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
SW3
5
Pseudo Wire1
Pseudo Wire
MX80
OpenFlow demo scenario1-1
Pseudo Wire2
Ctr1 Ctr2 Ctr2 Ctr1LSYS2
Ctr3SW2
LSYS2
LSYS1
MX80
SW1
LSYS1
SW1
SW2
SW3
Ctr3Data 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 )
23 Copyright © 2009 Juniper Networks, Inc. www.juniper.net
SW3
5Pseudo Wire1
Pseudo Wire
MX80
OpenFlow demo scenario1-1
Pseudo Wire2
Ctr1 Ctr2 Ctr2 Ctr1LSYS2
Ctr3SW2
LSYS2
LSYS1
MX80
SW1
LSYS1
SW1
SW2
SW3
Ctr3Data 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 )
SW3
5
Pseudo Wire1
Pseudo Wire
MX80
OpenFlow demo scenario1-1
Pseudo Wire2
Ctr1 Ctr2 Ctr2 Ctr1LSYS2
Ctr3SW2
LSYS2
LSYS1
MX80
SW1
LSYS1
SW1
SW2
SW3
Ctr3Data 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 Ctr2LSYS2
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.3SW3
5
Pseudo Wire1
MX80
OpenFlow demo scenario1-2
Pseudo Wire2
Ctr2 Ctr2LSYS2
SW2
LSYS2
MX80
SW2
SW3
Data Center : A
Data Center : B
250μs 250μs
Please
Accelerate
5 4 3Ctroller2が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
27 Copyright © 2009 Juniper Networks, Inc. www.juniper.net
SW3
5