INTEROP TOKYO 2012 Open Flow Showcase Juniper Networks K.K June 12-1,2012
ITEROP TOKYO 2012 OpenFlow Showcase アジェンダ Juniper Networks の SDN/OpenFlow に対する取り組み JUNOS SDK Data Center を柔軟に連携させるための技術 Pseudo Wire(MPLS VPN) ネットワークの仮想化 OpenFlow デモ内容紹介 約 分ほど時間を下さい! 2 Copyright 2009 Juniper Networks, Inc. www.juniper.net
SDN/OpenFlow に対する取り組み 3 Copyright 2009 Juniper Networks, Inc. www.juniper.net
Juniper NETWORKS の SDN/Open Flow に対するメッセージ Open Flow は SDN の 1 つの例ネットワークにはセキュリティ コンテンツ配信最適化など改善すべき課題は多い 4 Copyright 2009 Juniper Networks, Inc. www.juniper.net
2011 年秋にリリースした Open Flow に対するメッセージ JUNOS SDK の枠組みで OpenFlow アプリケーションに対応 http://www.juniper.net/us/en/company/press-center/press-releases/2011/pr_2011_10_26-06_42.html Copyright 2009 Juniper Networks, Inc. www.juniper.net
JUNIPER の Software 戦略と SDK JUNOS/JUNOS Space が基幹 OS SDK により API を開放して Partner と New Network を構築 SPACE Apps 3rd party App 3rd party App 3rd party App API Mobile Broadband Software Media Delivery Software 3rd party App 3rd party App API 3rd party App Routing Switching Security SDKはJDNサイトで登録後利用可能 ASICs/TCAM/Network Processor https://developer.juniper.net/content/jdn/en/tools/jdn-terms-of-use.html 6 Copyright 2009 Juniper Networks, Inc. www.juniper.net
- JUNOS SDK 概要 ネットワークプラットフォームの開発環境を提供 開発ステップ Router features パートナーソースコード 対応プラットフォーム バーチャルビルド M /TSeries SDK アプリによるビルド MX Series システム精査, SDK のロード SRX (RE SDK のみ ) 210, 240, 60 Data streams Unix features SDK アプリケーションが利用可能 一部 EX-(RE SDK) 12.2 より 導入事例 NTT-communications 様 経路ハイジャックを防止するアプリケーションをJUNOS SDKで開発 IIJ 様 柔軟なマネージドサービス を JUNOS SDK で開発 国立情報学研究所様 JUNOS SDK を搭載した 仮想開発プラットフォームを提供 7 Copyright 2009 Juniper Networks, Inc. www.juniper.net
JUNOS アーキテクチャ上の SDK RE SDK により生成したアプリ Routing Engines コントロールプレーン Applications New process(es) Kernel of-switchd Packet Forwarding Engine データプレーン OpenFlow のプロセス Traffic Modules I/O PIC/DPC I/O Service Modules Services Plane Service Application(s) Service Applications I/O Models I/O PIC/DPC Traffic Services SDK により生成 8 Copyright 2009 Juniper Networks, Inc. www.juniper.net
MX/EX4200/EX400 が OpenFlowSwitch に対応 MX -80,MX240-960(MPC) EX4200/EX400[ ブース Shownet で動作中 ] JUNOS Beta および SDK Agreement に同意すれば利用可能 OpenFlow Agreement に同意すれば OpenFlow コードは開示 OpenFlow 1.0 準拠 1.3 をターゲットとして開発継続 国内外での接続テスト実施中 Trema/Big switch/flood light/nox/ryu(ntt) との接続実績あり.2 Tb/s 2.8 Tb/s 20-80 Gbps 1.4Tb/s EX4200 EX4200-VC EX400 EX400-VC MX -80 MX 240 MX 480 MX 960 9 Copyright 2009 Juniper Networks, Inc. www.juniper.net
-Data Center のネットワークに柔軟性を!- Data Center を有効に連携させる技術 10 Copyright 2009 Juniper Networks, Inc. www.juniper.net
Database Data Center をビジネスに最大限に活用 会社 オフィス モバイルなどあらゆる環境でインターネットを介したクラウドサービスの活用が求められる 同時にデータセンター内データセンター間でより柔軟なインフラ構築が求めれている Clients Global High-Performance Network データセンター A Data Centers Multimedia Finance Video Applications データセンター B Database Data リソース 11 Copyright 2009 Juniper Networks, Inc. www.juniper.net
柔軟性のない従来の IT モデル データセンターは進化した From ネットワークを除いて To オンプレミス型のアプリケーション 専用サーバ 専用ストレージ 複雑なレイヤー ネットワーク アプリケーションサーバ / コンピュータストレージ SaaS バーチャルサーバー 共有ストレージ 柔軟性の高い仮想化モデル 12 Copyright 2009 Juniper Networks, Inc. www.juniper.net
柔軟性のない従来の IT モデル データセンターは進化した ネットワークを除いて From オンプレミス型のアプリケーション 専用サーバ 専用ストレージ 複雑なレイヤー アプリケーション サーバ / コンピュータ ストレージ ネットワーク 13 Copyright 2009 Juniper Networks, Inc. www.juniper.net ネットワークだけが進化から取り残され いまやデータセンターのイノベーションを妨げる要因に VRF SDN/OpenFlow 新たな技術への挑戦 Virtual-Chassis Fabric Cluster(Qfabric) Logical-System ネットワークの仮想化 Pseudo Wire データセンターの連携 柔軟性の高い仮想化モデル
1 データセンタ間を連携させる Pseudo wire (MPLS VPN) Clients 標準化されたデータセンター間を接続する技術 国内外導入実績多数 クライアント - データセンター間 (IP-SEC VPN/SSL) Global High-Performance Network Data Centers データセンター間 14 Copyright 2009 Juniper Networks, Inc. www.juniper.net
2 柔軟なサービスを展開できるネットワークの仮想化技術 運用技術も仮想化した LSYS(Logical System) でネットワークのサービスを柔軟に展開 サービス事業者 設定ファイル 設定ファイル 設定ファイル 設定ファイル 筐体管理者 筐体内での LSYS 事業者 1 事業者 2 事業者 3 SSH/TELENT login ルータ 最大 1 の LSYS LSYS1 LSYS3 Master メモリ /CPU Resource Manager 実サービス Virtual Network Virtual Resource Physical Resource 仮想化されたノードにより構築された仮想化網 参考 :ITU-T Y.3011 Framework of network virtualization for Future Networks 1 Copyright 2009 Juniper Networks, Inc. www.juniper.net
3 新しい可能性を秘めた OpenFlow ONF1.0 に準拠 MX で複数の Controller を設定可能 Flow modify Port id=1 から MAC 12:34:6:78;9a:02 のパケットを Port id=3 に転送 サービス管理者 2 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 サービス管理者 1 Ctr1 SW1 Flow modify Port id=1 から MAC 12:34:6:78;9a:01 のパケットを Port id=2 に転送 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) SW 16 Copyright 2009 Juniper Networks, Inc. www.juniper.net TCP:Port 6633(SYN,SYN ACK,ACK) Hello(version 0x01) Hello(version 0x01) 2Versionを交換し 問題なければActive Feature request Feature reply 3SW のスペック ポート状態を確認 Switch Config&Flow Mod(delete) 4SWのベース設定およびFlow Entryリセット Flow Modify Echo Request( 秒毎 ) Echo Reply Controller 1SW から Controller に対して TCP(6633) にセッションを張る コントローラのポリシーに応じて Flow Entry を注入
OpenFlow と Pseudo Wire のハイブリッド機能を利用しデータセンター間でマルチサービス接続を実現 MXでOpenFlow SwitchとMPLS L2 Pseudo Wireをハイブリッドで動作させOpenFlowと広域ネットワークとの連携を提案しています サービス管理者 1 Ctr1 日本 米国間で超高速 高帯域で放送系のサービスしたい 現地 キャリアから格安の回線入手 海外無線ローミングで安価な従量性サービスをしたい サービス管理者 2 Ctr1 SW1 ルータ -1 LSYS1 専用インフラ ルータ -2 LSYS1 SW1 新規にデータセンタ間サービスを立ち上げたい方募集! 借用インフラ 共用インフラデータセンター管理者 17 Copyright 2009 Juniper Networks, Inc. www.juniper.net 日本と米国東海外にデータセンターを設立しました オープンフローのサービス立ち上げます
Open Flow Showcase demo 18 Copyright 2009 Juniper Networks, Inc. www.juniper.net
OPENFLOW デモ接続イメージ Open Flow Controller MX80:JUNOS 12.2 test code:opneflow 1.0 準拠 Controller:Trema(OpenSource) Trema Control mgmt MX80-1 MX80-2 SW Spirent SW booth 19 Copyright 2009 Juniper Networks, Inc. www.juniper.net OpenFlowShowcase Rack
tr1 tr2 tr3 13 14 6 Ge-1/0/8 Ge-1/0/11 1 12 OpenFlow demo logical topology Controller は SW からの Port ID をベースにどこの Port から入ってきたトラヒックをどの Port に出すか Flow Entry のルールを決めていく SW の Port と Pseudo Wire の組み合わせでデータセンター間のパスを選択できるような仕組み Ge-1/0/9 Ge-1/0/1 Ge-1/0/2 3 SW1 MX80-1 LSYS1 lt-0/0/0.0 lt-0/0/0.1 Lt-0/0/0.2 Lt-0/0/0.3 4 Lt-0/0/0.4 Lt-0/0/0. Pseudo Wire Pseudo Wire1 Pseudo Wire2 LSYS1 MX80-2 SW1 P3 P4 P P6 P7 P8 P9 P10 2 lt-0/0/0.1 lt-0/0/0.0 ge3 ge-1/0/3 1 Lt-0/0/0.3 Lt-0/0/0.2 Ge-1/0/4 Ge-1/0/3 8 4 3 9 Ge-1/0/4 7 Lt-0/0/0. Lt-0/0/0.4 Ge-1/0/11 Ctr1 Ctr3 20 Copyright 2009 Juniper Networks, Inc. www.juniper.net
Ctr1 OpenFlow demo scenario1-1 Data Center : A MX80 SW1 LSYS1 Pseudo Wire Data Center : B MX80 SW1 LSYS1 Ctr1 Ctr3 13 6 14 SRC-MAC_12:34:6:78:90:a1 192.168.2.100.1 SRC-MAC_12;34;6:78:90:a2 192.168.2.100.2 SRC-MAC_12:34:6:78:90:a3 192.168.2.100.3 3 4 Pseudo Wire1 Pseudo Wire2 80μs 20μs 20μs Ctr3 21 Copyright 2009 Juniper Networks, Inc. www.juniper.net
Ctr1 Ctr3 13 6 14 OpenFlow demo scenario1-1 Data Center : A MX80 SW1 SRC-MAC_12:34:6:78:90:a1 192.168.2.100.1 SRC-MAC_12;34;6:78:90:a2 192.168.2.100.2 SRC-MAC_12:34:6:78:90:a3 192.168.2.100.3 3 4 Pseudo Wire1 Pseudo Wire2 Data Center : B Ctroller3がにインストールするFlow modメッセージ (Trema のruby code) match1 = Match.new( :in_port => 6,:dl_src =>"12:34:6:78:90:a1", MX80 :dl_type => 0x0800,:nw_src => "192.168.2.1/32" ) actions1 = ActionOutput.new( :port => 13 ) Pseudo Wire SW1 send_flow_mod_add( datapath_id,:match => match1,:actions => actions1 ) match2 LSYS1 = Match.new( :in_port => 6,:dl_src LSYS1 =>"12:34:6:78:90:a2", :dl_type => 0x0800,:nw_src => "192.168.2.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:6:78:90:a3", dl_type => 0x0800, :nw_src => "192.168.2.3/32") actions3 = ActionOutput.new( :port => 14 ) Send_flow_mod_add(datapath_id :match=> match3,:actions => actions3) 80μs 20μs 20μs Ctr1 Ctr3 22 Copyright 2009 Juniper Networks, Inc. www.juniper.net
Ctr1 Ctr3 13 6 14 OpenFlow demo scenario1-1 Data Center : A MX80 SW1 SRC-MAC_12:34:6:78:90:a1 192.168.2.100.1 SRC-MAC_12;34;6:78:90:a2 192.168.2.100.2 SRC-MAC_12:34:6:78:90:a3 192.168.2.100.3 3 4 LSYS1 Pseudo Wire1 Pseudo Wire2 23 Copyright 2009 Juniper Networks, Inc. www.juniper.net Ctroller2がにインストールするFlow modメッセージ (Trema のruby code) match1 = Match.new( :in_port => 3,:dl_src =>"12:34:6:78:90:a2", MX80 :dl_type => 0x0800,:nw_src => "192.168.2.2/32") actions1 = ActionOutput.new( :port => ) Pseudo Wire SW1 Ctr1 send_flow_mod_add( datapath_id, :match => match2, :actions => actions2 ) LSYS1 Data Center : B match2 = Match.new( :in_port => 3, :dl_src =>"12:34:6:78:90:a3", dl_type => 0x0800, :nw_src => "192.168.2.3/32") actions2 = ActionOutput.new( :port => ) Send_flow_mod_add(datapath_id :match=> match3,:actions => actions2) 80μs 20μs 20μs Ctr3
Ctr1 OpenFlow demo scenario1-1 Data Center : A MX80 SW1 LSYS1 Pseudo Wire Data Center : B MX80 SW1 LSYS1 Ctr1 Ctr3 13 6 14 SRC-MAC_12:34:6:78:90:a1 192.168.2.100.1 SRC-MAC_12;34;6:78:90:a2 192.168.2.100.2 SRC-MAC_12:34:6:78:90:a3 192.168.2.100.3 3 4 Pseudo Wire1 Pseudo Wire2 80μs 20μs 20μs Ctr3 24 Copyright 2009 Juniper Networks, Inc. www.juniper.net
OpenFlow demo scenario1-2 Data Center : A MX80 Data Center : B MX80 3 4 Pseudo Wire1 Pseudo Wire2 Please Accelerate 20μs 20μs SRC-MAC_12:34:6:78:90:a1 192.168.2.100.1 SRC-MAC_12;34;6:78:90:a2 192.168.2.100.2 SRC-MAC_12:34:6:78:90:a3 192.168.2.100.3 2 Copyright 2009 Juniper Networks, Inc. www.juniper.net
OpenFlow demo scenario1-2 Ctroller2 が にインストールする Flow mod メッセージ (Trema の ruby code) Data Center : A MX80 match1 = Match.new( :in_port => 3,:dl_src =>"12:34:6:78:90:a2", :dl_type => 0x0800,:nw_src Data => "192.168.2.2/32") Center : B actions1 = ActionOutput.new( :port => 4) send_flow_mod_add( datapath_id, :match => match2, MX80 :actions => actions2 ) match2 = Match.new( :in_port => 3, :dl_src =>"12:34:6:78:90:a3", dl_type => 0x0800, :nw_src => "192.168.2.3/32") actions2 = ActionOutput.new( :port => ) Send_flow_mod_add(datapath_id :match=> match3,:actions => actions2) 3 4 Pseudo Wire1 Pseudo Wire2 Please Accelerate 20μs 20μs SRC-MAC_12:34:6:78:90:a1 192.168.2.100.1 SRC-MAC_12;34;6:78:90:a2 192.168.2.100.2 SRC-MAC_12:34:6:78:90:a3 192.168.2.100.3 26 Copyright 2009 Juniper Networks, Inc. www.juniper.net
OpenFlow demo scenario1-3 Data Center : A MX80 Data Center : B MX80 Pseudo Wire1 Please Accelerate Pseudo Wire2 20μs->80μs 20μs 27 Copyright 2009 Juniper Networks, Inc. www.juniper.net