ONOS を活 した 広域ネットワークシステム構築と国際連携 NEC/NICT 海好彦 1 NEC Corporation 2017
モチベーション ONOS 概要 JGN への展開 まとめとこれから 略歴 2009 年から SDN ( はじめは PFlow/OpenFlow) に関与 現在に る 現在は主に海外テレコム向けに SDN/NFV/ クラウドを利 するソリュー ション開発業務を担当 JGN 運 管理担当の研究員を約 12 年 (2002 年から ) RISE ( 広域 SDN テストベッド ) の ち上げ (2009 年から ) その他 Interop Tokyo ShowNet NOC も経験 NICT 特別研究員
モチベーション JGN 内には C/J/A/N の HW スイッチやルータが設置されている l チャレンジにも取り組むが R&D テストベッドサービスを安定提供することが 的の 1 つ 次のネットワークインフラの構築 運 管理に挑戦するために ソフトウェアのみ (HW はサーバのみ ) でテストベッド構築を 指す RISE ( 広域 SDN テストベッド ) の発展 l Mininet/OVS は ONOS で利 されているが 違うスイッチで挑戦 開発者の顔が える SW スイッチの利 ( の利 ) l テストベッドサービス提供するための運 条件 : 相互接続 性能 ログ 設定 状態監視 安定等々 既存 NW 技術 ( 広域イーサー等 ) と新 NW 技術 (OpenFlow 等 ) を融合 ODL も社内でテスト l NEC の整理では ODL は企業向け SDN コントローラとして利 ( 無理がある?) ONOS は NEC のキャリア向け SDN コントローラプラットフォームとして利 中 ( 本来業務 ) 3 NEC Corporation 2017
ONOS を提供中の ONF ( 旧 ON.LAB) の歩み Mission Statement: To bring openness and innovation to the Internet and Cloud for the public good. Ø オープンイノベーションでネットワークをより効率的な姿に変える Ø 企業のみでは難しい破壊的な変化を実現する Stanford Clean Slate ON.LAB 設 ONOS 開始 ONOS 1.0 release CORD 設 ONF に統合 2007 2012/6 2014/12 2016/5 2017/7 4 NEC Corporation 2017
ONOS 開発に参加中の企業 キャリア 2017 年 7 2016 年 12 ベンダ 5 NEC Corporation 2017
ONOS 開発に参加中の企業 キャリア 主にユースケースの提案とテストベッドの提供で貢献 2017 年 7 ベンダ 主に装置の提供と開発技術者の提供で貢献 2016 年 12 6 NEC Corporation 2017
ONOS 概要 ONOS (Open Network Operating System) を利 l ネットワーク機器 ( データプレイン ) を抽象化し, アプリケーションが利 しやすいプラットフォームを提供可能し 分散 DB を持ち 可 性も実現する ( あと性能も ) l SDN コントローラ上に複数のアプリケーションが同時に動作可能 今回は SDN-IP を使 例 ü エッジコンピューティング アプリ ü IOT セキュリティ アプリ ネットワーク抽象化機能 7 NEC Corporation 2017
分散データストア ONOS has various states to be shared among instances Distribution & replication methods should be optimized for the type of state Ø Based on size and read/write access patterns ONOS has polyglot state management feature that can match requisites from state stores Application Intents Immutable Durable & replicated Global Network View Eventually consistent Fully replicated Flow Table Entries Strongly consistent Partitioned 8 NEC Corporation 2017 ONOS instance 1 ONOS instance 2 ONOS instance 3 Examples of sate management method Necessary properties for each states 3-way replication - H/A execution via distributed queues Optimistic Replication - gossip based - anti-entropy - partial ordering Master/Backup Replication
SDN-IP BGP4 から得た経路情報をフロールールに変換 l South Band プロトコルを利 したため フローエントリーに変換 l IP アドレスと MAC アドレスの付与 (Proxy ARP の設定 ) l Peer 先の設定 ONOS CLI を使って設定投 (REST api も利 可 ) ここを理解するまで時間を要した Try and error の連続 対外 BGP ルータと接続する で TCP179 とそれ以外を分離 BGP Speaker ibgp onos Control vlan Internal vlan TCP179 OpenFlow ebgp 対外 BGP ルータ network To next TCP179 以外 External vlan 9 NEC Corporation 2017
VPLS VLAN-ID の pop/push を提供する ONOS アプリの 1 つ l SDN-IP との同時動作は可能 しかし VLAN インターフェースに IP アドレスを付与できないため今回の構成では連携は不可 l 物理ポートを消費するが l まずは受け れる 0/51 0/50 0/39 0/38 L2-SW 0/37 0/36 0/35 0/34 0/52 External vlan control and 0/19 eth14 Internal vlan 対外 BGP ルータ 堂島 広島 福岡 To next To next reserved reserved Internal vlan External vlan Control vlan Mgmt vlan BGP Speaker Server 名古屋 NTT 大手町 p1p2 p1p1 em52 em51 em50 em49 em2 em1 10 NEC Corporation 2017
ONOS を いた次世代インフラの検証環境 ( 概観 ) ONOS がコントローラの 可 性 処理性能, アプリケーション導 プラットフォームを提供 で HW スイッチよりも柔軟なサービスの提供を 指す ONOSノード ONOSノード ONOSノード ONOSノード ONOSノード ONOSノード Apps: SDN-IP, IOT, and so on NB Core API Distributed Core (state management, notifications, high-availability & scale-out) SB Core API Providers Providers Providers Providers Providers Providers OpenFlow OpenFlow OpenFlow OpenFlow OpenFlow OpenFlow ( 福岡 ) ( 広島 ) JGN ( 堂島 ) ( 名古屋 ) (note) 11 NEC Corporation 2017
JGN への展開 ステップ 1: 単純な L2 転送 (SDN-IP なし ) l 2017 年プロ野球キャンプ中継映像の伝送 ( 沖縄県名護市からKDDI 町まで ) l 約 50MbpsのTCPトラフィック ステップ 2:Global SDN deployment powered by ONOS への参加 l JGN/APAN/NARLab( 台湾 )/NECTEC( タイ ) と SDN-IP を利 した ebgp ピアリングを 指す 単純な L2 転送環境 +SDN-IP 環境 12 NEC Corporation 2017
SDN-IP collaboration overview JGN (normal BGP) 17934 APAN (normal BGP) 7660 SDN-IP on JGN ASN: 64892 Route: 10.10.0.0/16 CKP (normal BGP) 4718 - planning NECTEC@ タイ (SDN-IP) 3836 Test AS 10.10.208.0/24 NARLab@ 台湾 (SDN-IP) 65212 13 NEC Corporation 2017
(参考) Global SDN Deployment Powered by ONOS The application allows to manage Internet exchange Points (IXP) as Software Defined Exchange Points (SDXs). It provides L2 and L3 connectivity. Allows multiple ONOS clusters geographically distributed to communicate together in a peer-topeer fashion. It creates Virtual Private Broadcast L2 networks based on VLANs, on demand. AmLight, Internet2, Kreonet, NCTU It transforms an OpenFlow network into an IP transit network. The OpenFlow network behave as a legacy stand alone Autonomous System talking BGP to the outside world, without anyway any need of using legacy routers. The solution also helps to migrate an existing legacy network to SDN. The application allows to manage Internet exchange Points (IXP) as Software Defined Exchange Points (SDXs). It provides L2 and L3 connectivity. https://wiki.onosproject.org/display/onos/global+sdn+deployment+powered+by+onos 14 NEC Corporation 2017
JGN への展開までの経緯 ONOS 1.7 と 0.2.09 l の multipart 側の処理に問題 ONOS 1.8 と 0.2.10 l VLAN-ID の解釈違い L2 転送環境の構築 (SDN-IP なし ) 5 セットの と 6 つの ONOS ノード ONOSノード ONOSノード ONOSノード ONOSノード ONOSノード ONOSノード Apps: SDN-IP, IOT, and so on NB Core API Distributed Core (state management, notifications, high-availability & scale-out) SB Core API Providers Providers Providers Providers Providers Providers OpenFlow OpenFlow OpenFlow OpenFlow OpenFlow OpenFlow ONOS 1.8 with SDN-IP と 0.2.10 ( 福岡 ) ( 広島 ) ( 堂島 ) l 試験的に BGP で経路を 100 個ほど受信すると が segmentation fault JGN ( 名古屋 ) (note) ONOS 1.10 with SDN-IP と 0.2.11 ここで安定 l JGN, APAN, NARLab( 台湾 ), NECTEC( タイ ) と SDN-IP で経路交換 (ebgp) 現在の経路数は 23 個 1.10 は 2017 年 9 にダウンロード後 展開 15 NEC Corporation 2017
JGN 上に展開した SDN-IP 全体像 赤字の IP アドレスは proxyarp のため,BGP speaker と同じ 括弧内はポート番号 BGP speaker (nagoya) SDN-IP の設定対象 BGP speaker (dojima) BGP speaker (hiroshima) BGP speaker (fukuoka).5.101 BGP speaker (note) 10.1.254.17/29 堂島 (3 つの ONOS ノード ).3.101.18.101.2.101 10.10.254.25/29 10.10.254.1/29.8.101 10.100.0.0/16.3.201.3.202.3.203.1.201.1.202.1.203 onos1 onos2 onos3 onos4 onos5 onos6 203.181.248.92/30(APAN) 10.1.254.1/29 (JGN) NTT 町 (3 つの ONOS ノード ).94 APAN (normal BGP) CKP( 予定 ) (normal BGP).18 (4) (4) (6) (4) Lago1-hiroshima (4).93 (5) (3) Lago1- Lago1- Lago1-nagoya Lago1-note dojima (2) fukuoka (2) (3) (3).4.17 (1) (3).1 (1).1.2 Kote-mx2010 JGN (normal BGP).10(tap) Control plane Data plane1 16 NEC Corporation 2017 10.10.254.26/29 NETEC (SDN-IP) テスト 65354.2 test-vrfukuoka 10.10.208.0/24 OpenVPN client 211.73.95.27 202.180.35.54 The Internet OpenVPN server 10.140.110.1/28.2 16 NARLab (SDN-IP)
JGN 上に展開した SDN-IP 全体像 赤字の IP アドレスは proxyarp のため,BGP speaker と同じ 括弧内はポート番号 BGP speaker (nagoya) SDN-IP の設定対象 BGP speaker (dojima) BGP speaker (hiroshima) BGP speaker (fukuoka).5.101 BGP speaker (note) 10.1.254.17/29.3.101.18.101.2.101 10.10.254.25/29 10.10.254.1/29.8.101 10.100.0.0/16 TCP179.3.201.3.202.3.203.1.201.1.202.1.203 onos1 onos2 onos3 onos4 onos5 onos6 203.181.248.92/30(APAN) 10.1.254.1/29 (JGN).94 APAN (normal BGP) CKP( 予定 ) (normal BGP).18 17 NEC Corporation 2017 Control plane Data plane1 TCP179 以外 10.10.254.26/29 NETEC (SDN-IP) TCP179 以外 テスト 65354.2 (4) (4) (6) (4) Lago1-hiroshima (4).93 (5) (3) Lago1- Lago1- Lago1-nagoya Lago1-note dojima (2) fukuoka (2) (3) (3).4.17 (1) (3).1 (1).1 test-vrfukuoka 10.10.208.0/24 OpenVPN client.10(tap) 211.73.95.27 202.180.35.54 The Internet OpenVPN server 10.140.110.1/28.2 Kote-mx2010 JGN (normal BGP).2 17 NARLab (SDN-IP)
ONOS 上で確認できるフローエントリー 例 :Lago1-hiroshima TCP 179 の処理 TCP 179 以外の処理ルーティング情報のフローエントリーへの変換 転送エントリ等 18 NEC Corporation 2017
まとめとこれから と ONOS 連携 l 転送性能は問題なし l 安定 (?) l 運 の課題は 連携を進めながら抽出 l ONOS/SDN-IP の課題は IPv4のみ / 経路数の上限 /4byte-ASN 未対応 (?) なぜか ONOS ノードの起動期間にバラツキしかしサービスは継続中 SDN-IP を使った国際連携 特にアジア圏 l JGN/APAN/NARLab 間のeBGP ピア データプレインの疎通は共にOK l NECTECはeBGP ピアリングはOK しかし データプレインに問題あり( 現在シュート中 ) l ベトナムと接続予定 ( 時期未定 ) その他 マネージメントプレインの強化 l ONOS は Netconf/YANG も実装も整いつつあるので チャレンジ中 19 NEC Corporation 2017 コントリビュータ募集中!