: Access Gateway for of vnode System 2014/04/11 第 9 回 NV 研究会 宮宏 郎, 加藤順, 橋広, 上野仁, 阿 留健, 吉章次富 通株式会社 本研究成果は情報通信研究機構 (T) 委託研究 新世代ネットワークを えるネットワーク仮想化基盤技術の研究開発 課題ア統合管理型ネットワーク仮想化基盤技術の研究開発 により得られたものです vnode System と の位置付け ネットワーク仮想化基盤 : vnode system 仮想的なネットワーク資源 (Link), 計算 ストレージ資源 (Node) で構成される仮想ネットワーク () を 物理資源から切り出して提供するプラットフォーム Portal: vnode System の利 者向けインタフェース SNC: vnode system 全体の管理 制御 VNODE: 仮想的なリンクおよびノード資源を提供 NACE: 実ネットワーク () と仮想ネットワーク () を接続する装置 : 実ネットワークおよび同ネットワーク上端末と仮想ネットワーク () を接続する装置 仮想ノード仮想リンク Virtual Network () User Terminals Local Networks Portal /SNC VNODE VNODE vnode System (Physical Resources) VNODE NACE User Terminals Local Networks Real Network Virtual Network Real Network 1
vnode System が特 とする提供技術 (A) Resource Abstraction, (B) Resource Isolation, (C) Resource Elasticity, (D) Deep Programmability, (E) Authentication and Authorization 所有者 (Developer) リソース要求 (D) Deep Programmability 利 者 (User) (E) アクセス時認証 認可 (C) 要求に応じた柔軟なリソース提供 VN VN データ処理 独 プロトコル 仮想ネットワーク ()#1 (B) リソースアイソレーション VL VL VN 仮想ネットワーク () #2 VN: 仮想ノード (Node Sliver) VL: 仮想リンク (Link Sliver) VN 仮想リソース提供 LAN LAN (A) リソース抽象化 物理リソース (Physical Resources) PR PR PR vnode System 運 者 (Operator) 2 要件 1スライスへのアクセス認証機能の提供 (E) AuthN/AuthZ 2End to EndでのAny L2 Frame 疎通 (D) Deep Programmability 3 計算 ストレージリソースの提供 (D) Deep Programmability 4リソースアイソレーション (B) Resource Isolation 1 3 #a Internet 4 #b vnode System 2 3
基本アーキテクチャ ゲートウェイ部 プログラマ部 実 仮想間のFrame 振分 仮想ノード (Node Sliver) 提供 仮想リンク (Link Sliver) 提供 マネージャ部 アクセス制御 装置制御 IKE Daemon, Sec 処理機能 制御のための C/M plane マネージャ プログラマ運 管理 プログラマ部 (10G) ゲートウェイ部 IKE アクセスのための Z Plane User side D plane (Du Plane) ゲートウェイ運 管理 パケット処理部 D plane (10G) (10G) 4 ソフトウェアアーキテクチャ 汎 IA サーバ上ソフトウェア実装中継装置 ゲートウェイ部 : Linux ユーザ空間上にパケット処理機能を実装し オリジナルプロトコルスタックおよびパケット処理機能の実装を容易に プログラマ部 : Linux KVMベース マネージャ IKE Daemon ゲートウェイ部パケット処理機能 Tunnel Switch /Sec パケット処理 API プログラマ部 VMs for in NW Processing マネージャ I/O Driver KVM Linux OS (RHEL, CentOS) IA server 10G 5
アクセス時認証 認可要件 1 認証 認可 要件 : Isolation 担保された 環境に Open な環境からセキュアにアクセス 内はIsolationが担保されている ユーザによるへのアクセスに関して ユーザ利便性のために ユーザはInternet 等 Openな環境からアクセス可能とする Openな環境において 通信の安全性が担保されていること へのアクセス権を有するユーザのみアクセスできるようにする Open 環境からのアクセス 通信の安全性 #a Internet アクセス制御 Isolate された環境 ( 性能 セキュリティ ) #b 6 アクセス時認証 認可 1 認証 認可 Secを いた認証 認可によるセキュリティ担保 の所有者が登録したユーザのみへのアクセスを可能にする 所有者が登録したユーザに対してPre Shared Key (PSK) を払い出す 払いだされたPSKを いてユーザ端末から までのSec tunnelを確 する ユーザ (#A) 接続要求 (#A, ID) PSK 配布 Portal/SNC ユーザ登録 (#A) 所有者 PSK 設定 ( ID, PSK) 設定 ユーザ端末 IKE sequence (PSK) IKE SPI_GID PSK 1 xyz 2 abc Sec tunnels Sec SPI SPI_GID SPI_GID ID 101, 102 1 1 1 201, 202 2 2 2 Packet 処理部 #1 #2 7
E2E の実現 ユーザ端末側通信プロトコル / / Sec / / Ethernet ( 既存ネットワーク収容向け ) 2E2E 要件 : Secでセキュリティを担保しつつ を搭載可能にする //Secを基本とする 内仮想リソース 仮想リンク プログラマブル仮想ノード + 仮想リンク vnode 側通信プロトコル / ユーザ端末 vnode /Sec 仮想 Link プログラマブル仮想ノード 仮想 Link 仮想 Link 8 Frame Format (/Sec 接続 ) 2E2E を 内へ収容可能 Internet 等のネットワーク経由での接続が可能 端末ごとにへ収容 ユーザ端末 sec+ VNODE sec Ether Ether 9
Frame Format ( 接続 ) 2E2E 既存ネットワークを容易にへ収容可能 ごとにへ収容 NACE (Network Accommodation CE) も同様の機能を有する Payload Ether VNODE Payload Ether Payload Ether Ether 10 実ネットワークと との接続 ( 基本構造 ) 2E2E Tunnel Switch: 基本的には 内のパケットは参照せずに 外側のトンネルを識別する ID のみを参照してパケットの送り先を決定することで の導通を可能にする トンネル (, Sec, など ) を 意に特定するIDを 受信パケットから抽出 作成時に作られるMapping Tableに従って 宛先トンネルを決定し 同トンネル IFにパケットを送信する 実ネットワーク側 側 /Sec Tunnel Switch /Sec Protocol Stack Tunnel を特定する ID の抽出 宛先 Tunnel の選択 Mapping Table 宛先 Tunnel の選択 Tunnel を特定する ID の抽出 Protocol Stack 11
実ネットワークと との接続 (Sec 端末の場合 ) 事前処理 / 設定 Inner Frame の宛先 ID の場所を登録 宛先 ID と Sec SPI との関係を登録 Sec tunnel 確 時に Sec SPI と との関係を学習 への振分 Sec SPI に基づいて宛先 を決定 ユーザ端末への振分 Key から を特定 Frame 内宛先 Id から宛先 Sec (SPI) を特定 2E2E 12 実ネットワークと との接続 ( の場合 ) への振分 IDに基づいて宛先 を特定 2E2E への振分 keyに基づいて宛先 を決定 13
の提供するプログラマビリティ 3Deep Programmability プログラマブル仮想ノード () の提供 (vnode SlowPath と同等 ) 仮想ネットワーク () エッジでの情報処理 蓄積を可能とする (A) Any Format の L2 Frame を送受信可能 (B) 任意の Linux プログラムを搭載可能 ソフトウェア実装の特性を活かしたインフラプログラマビリティ (C) 収容する実ネットワーク / 端末に応じたプロトコルスタックへの対応 VNODE プログラマブル仮想ノード () (B) Any linux programs Linux OS (A) s 送受信 port port Node Sliver port? Sec (C) カスタムIF ゲートウェイ部 Tunnel Switch 14 プログラマブル仮想ノード () 3Deep Programmability はKVM hypervisor 上のVM (Linux OS) として提供 tunnelとopen vswitch (OVS) の組合せにより による の送受信を実現 プログラマ部 Node Sliver (KVM VM) virbr0 netfilter vif OVS 10G vif OVS 10G Eth (key=y) Z Plane D Plane User To ユーザ端末 10G Sec 10G ゲートウェイ部 10G 10G Eth D Plane (key=x) 隣接 VNODE 15
実ネットワーク / 端末に応じたプロトコルスタックへの対応 パケット処理のユーザ空間ソフトウェア実装の特 を活かして 独 プロトコルスタックの追加が可能 他装置と連携した 網の収容を実現 3Deep Programmability 様々なプロトコルスタックに対応可能 L2 L3 Sec SW Sec 端末収容 / ネットワーク収容 L2 SW ネットワーク L2 / ネットワーク収容 独 プロトコルスタック SW FLARE: https://www.nakao lab.org/nikkeibp nakaolab.pdf 16 Resource Isolation 4 リソース分離 Policing, Shaping 機能を利 した帯域 優先制御 隣接 VNODEと連携し トラフィック発 源から 新たな装置 コンポーネントに る 前で制御を実施 プログラマ部 トラフィック発 源 (Priority) (Best Effort) vif vif vif vif 未制御トラフィック 制御済トラフィック 制御ポイント 隣接 VNODE トラフィック発 源 ユーザ端末ユーザ端末 ネットワーク ネットワーク ゲートウェイ部 トラフィック発 源 17
性能評価 ゲートウェイ処理性能 測定系 端末 Ingress egress ハードウェア仕様 CPU: Intel Xeon X5690 (3.46GHz x 6 cores x 2 CPU) Memory: 12GB 性能 /Sec@1400bytes Frame 約 1200Mbps for 1flow 約 2500Mbps for multiple flows @1372bytes Frame 約 4Gbps for 1flow 約 9Gbps for multiple flows Performance [Mbps] Performance [Mbps] /Sec Data Sizes [bytes] Data Sizes [bytes] 1 flow perf. (Ingress) 1 flow perf. (Egress) system perf. (Ingress) system perf. (Egress) 1 flow perf. (Ingress) 1 flow perf. (Egress) system perf. (Ingress) system perf. (Egress) 18 性能評価 仮想ノード込性能 測定系 分離型 体型 プログラマ部 プログラマ部 HW Node 端末 GW 部 端末 GW 部 ハードウェア仕様 体型 CPU: Intel Xeon E5 2670 (2.60GHz/8 コア ) 2 個 GW 部 : 8 コア プログラマ部 (VM+Vhostnet): 8 コア Memory: 128GB 分離型 プログラマ部 CPU: Intel Xeon X5690 (3.46GHz/6 コア ) 2 Memory: 96GB 分離型 GW 部 CPU: Intel Xeon X5690 (3.46GHz/6 コア ) 2 Memory: 48GB 性能 @1372bytes Frame 約 1500Mbps for 1flow@ 分離型 約 900Mbps for 1flow@ 体型 1800.0 1600.0 1400.0 1200.0 1000.0 800.0 600.0 400.0 200.0 0.0 Ingress 方向 Egress 方向 VNODE ( 一体型 ) VNODE ( 分離型 ) 19
まとめ 仮想ネットワーク向けゲートウェイ装置 実 仮想ネットワーク間でFrameの識別 振分を い End to Endで任意のプロトコルフレームを疎通可能な仮想ネットワークの構築を可能に 仮想ネットワークへのアクセス制御機能を提供 リソース分離された仮想リンク プログラマブルな仮想ノードを提供 20 今後 の Edge Area 拡張 GW としての活 他リソース活 によるリソース拡充 エンドユーザへの Reachability 拡 Edge Area 拡張 Federation による拡張 Virtual Edge Area Infrastructure Edge Area Infrastructure FLARE EMD GW /NC /NC vnode System GK/GW GENI Physical Public/private Cloud VPN / Internet /NC エッジリソースと合わせて ユーザ近傍にプログラム データを配備可能なエッジ装置として 各種ネットワーク分散アプリケーションの評価 検証に活 21
22