open flow showcase - juniper networks - network … flow showcase juniper networks k.k june 12-15...
TRANSCRIPT
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分ほど時間を下さい!
4 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
JUNOS SDKの枠組みでOpenFlowアプリケーションに対応
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と広域ネットワークとの連携を提案しています。
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