ネットワーク抽象化を用いたSDN 制御基盤と IP-VPN 向けコントローラの実現 日本電気株式会社 情報・ナレッジ研究所 鈴木一哉、森本昌治、飯澤洋平、金子紘也 2014/6/17 謝辞: 本技術は、総務省の「ネットワーク仮想化技術の研究開発」による委託を受けて実施した研究開発による成果です。 SDN (Software-Defined Networking)とは 自律分散制御型ネットワーク Software-Defined Networking Software 仮想NW Config Config Config Config OSPF/ BGP Config 2 ITRC meet35 SDN制御基盤 ▐ SDN制御基盤上の制御ソフトウエア群によって仮想ネットワークを構成 物理ネットワークとは独立に、ソフトウエアによって独自の機能や構成を定義 計測 アクセス制御 Traffic engineering SDN コントローラ 仮想L2/L3 制御ソフトウエア SDN制御基盤 Southbound Interface (OpenFlow, etc) 物理 ネットワーク 3 ITRC meet35 SDNコントローラの課題 – cont’d 様々な物理ネットワークに対応 物理ネットワーク 制御プロトコル L2 OpenFlow OpenFlow v1.0, v1.3, etc. with various vender extensions Legacy L2/L3 CLI, I2RS, etc. Transport OpenFlow, TL1, etc. 他のシステムを経由 Via NMS, via other OpenFlow controllers, etc. 幅広いユースケースに対応 Use-cases Brief Description Carrier Edge Smart routing among NFV services IP-VPN service Network domain as a virtual single BGP entity Router-less transport Network domain as a virtual single BGP entity, underlying packet transport or optical network Cloud DC L2 slicing over distributed DC locations, using hop-by-hop and overlay tunnels Enterprise NW Network slicing based on user authentication 4 ITRC meet35 SDNコントローラの課題 SDNコントローラ OpenFlow コントローラ開発 フレームワーク • • • • POX / NOX FloodLight Trema … 柔軟・汎用的 プログラミングが必要 複雑になりがち 5 ITRC meet35 ネットワーク仮想化 ソリューション • • • • Quantum API VMWare NSX ProgrammableFlow … 簡単な設定で動作 目的に特化 柔軟性が低い 本研究のゴールとアイデア 様々な物理ネットワーク 幅広いユースケース 用途に応じたSDNコントローラを容易に 開発したい 様々なプロトコル 単一のネットワーク抽象化モデル (物理NW/仮想NWをオブジェクトとして表現し、オブ ジェクトに対する操作として機能を表現) 様々な機能構成 6 ITRC meet35 オブジェクトと機能要素(Operator)の組み 合わせによってSDNコントローラを構成 提案するSDN制御基盤の基本コンセプト Net Apps. Net Apps. SDN制御基盤 Operator Network “object” (Abstracted representation of physical / logical network instance) Abstraction model Network abstraction OpenFlow 7 ITRC meet35 Packet transport (Both view and control) Optical node Physical network ネットワーク抽象化モデル 1. Topology: “What a network is”: static/dynamic state of a network Network graph: common to any network object Attributes: varies to network instances 2. Flow: “How the network behaves”: behavioral model of a network Filter: definition of a “flow” Flow path: unicast or multicast tree, multiple flow groups Edge behavior: (OpenFlow) action at the edge +α. “Packets”: raw channel between C-U planes Packet_in/out (OpenFlow case) Network Abstraction Model Topology Node Port Packets Link • Physical / logical NW graph • Packet-in/out • State change notification (OpenFlow case) • Statistics 8 ITRC meet35 Flows • Route control • Flow (OpenFlow), RIB/FIB, etc… ネットワーク抽象化モデル – cont’d Network Abstraction Model Topology 基底クラス 継承 OpenFlow Node Port Packets Link • Physical / logical NW graph • Packet-in/out • State change notification (OpenFlow case) • Statistics Overlay Flows Mobile • Route control • Flow (OpenFlow), RIB/FIB, etc… Transport それぞれ物理ネットワークの特定に応じた”attribute”を追加 9 ITRC meet35 Operatorの例: Aggregator ▐ Original Network の Topology を集約し、1 Node のみで構成される Aggregated Network を生成 Aggregated Network nodeA Aggregator node1 Original Network ITRC meet35 node3 link3 link1 node2 10 link2 link4 node4 Operatorの例: Slicer ▐ Original Network の Topology のコピーし、名前空間を論理分割した Sliced Network を生成 Sliced Network 1 1 node1 2 3 link1 link2 1 node2 Sliced Network 2 node1 1 3 2 3 2 Slicer 1 node1 2 3 link1 link2 1 node2 2 Original Network 11 ITRC meet35 3 link1 link2 1 2 node2 3 ユースケース検討 : IP-VPN 向けコントローラ ▐ ネットワーク全体を、仮想的に一つのルータとして動作 IP-VPN サービス提供に利用可能 IP-VPN 向けコントローラ Customer NWs A Customer NWs OpenFlow Customer NWs A A B A B B B C C Customer NWs ルータA A ルータB B ルータC C 顧客NWは、それぞれの顧客毎に用意されたルータに接続しているように見える 12 ITRC meet35 A B C ユースケース検討 : IP-VPN 向けコントローラ ▐ 宛先 IP アドレスに応じて、適切な顧客ネットワークにパケットを転送 ▐ 顧客ネットワークの経路情報は、BGP を用いて収集 Customer NWs 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24 13 ITRC meet35 Customer NWs BGP BGP 192.168.4.0/24 192.168.5.0/24 192.168.6.0/24 ユースケース検討 : 経路情報の収集 顧客NWの経路情報を収集するための BGP 処理機能をコントローラ上で実行 コントローラは、BGP プロトコル転送用パスを構成 IP-VPN 向けコントローラ BGP プロトコル転 送用パス設定 SDN制御基盤 BGP 処理機能 (顧客 A) BGP 処理機能 (顧客 B) 192.168.2.0/24 192.168.1.0/24 192.168.1.0/24 192.168.2.0/24 顧客A 192.168.3.0/24 顧客B 14 ITRC meet35 192.168.3.0/24 ユースケース検討 : 顧客トラフィック用パスの設定 収集した経路情報に基づいて、顧客トラフィック用パスを構成 IP-VPN 向けコントローラ BGP 処理機能 (顧客 A) IBGP (経路情報の通知) BGP 処理機能 (顧客 B) L3転送制御 SDN制御基盤 192.168.2.0/24 192.168.1.0/24 192.168.1.0/24 顧客A 192.168.3.0/24 顧客B 15 192.168.2.0/24 ITRC meet35 192.168.3.0/24 SDN 制御基盤を用いた IP-VPN 向けコントローラ ▐ IP-VPN サービス提供には、以下の二種類の "フロー" 設定が必要 顧客トラフィック転送 (L3 転送制御) BGP プロトコル転送 (L2 転送制御) ▐ それぞれの制御を分離 顧客毎に分離 (ポート単位) プロトコル単位での分離 (BGPとそれ以外) → Slicer を利用 ▐ 網内制御を、ユーザアプリケーション(L2/L3転送制御)から分離 → Aggregator を利用 16 ITRC meet35 SDN 制御基盤を用いた IP-VPN 向けコントローラ L3転送制御 L3転送制御 L3転送制御 L3転送制御 L2転送制御 L2転送制御 L2転送制御 L2転送制御 SDN 制御基盤上のユーザアプリ ケーションとして実装 Slicer Aggregator OpenFlowDriver OpenFlow 17 ITRC meet35 SDN 制御基盤のコンポーネント を利用 実装 ▐ SDN 制御基盤利用による効果 ユーザアプリケーション部分(L3転送制御)の実装がシンプルに 役割を明確化したことにより、オペレータ (Aggregator, Slicer) の実装もシ ンプルに 一方で、コンポーネント間の通信処理部分の実装が必要 SDN制御基盤使用の有無によるライン数の比較 SDN制御基盤を使用 (Python) 18 L3転送制御 1.5KL Aggregator 1.0KL Slicer 1.5KL Driver 2.8KL ITRC meet35 SDN制御基盤を未使用 (C言語) L3転送制御 経路計算 2.7KL 1.1KL Topology Discovery 4.8KL まとめ・今後の課題 ▐ 簡単かつ柔軟なSDN制御基盤の提案 機能・プロトコル中心からオブジェクト中心へ • ネットワーク抽象化モデルに基づいてインタフェースを統一 プログラミングからコンポーネントの組み合わせへ • 再利用可能なコンポーネント群(objectとoperator) • コンポーネントの組み合わせによるSDNコントローラーの作成 ▐ SDN 制御基盤を用いた IP-VPN サービス向けコントローラの実現 ▐ 今後の課題 テストベッド上での動作、各種トライアルの実施 コンポーネントの充実化、ネットワーク抽象化モデルの洗練化、等 19 ITRC meet35
© Copyright 2024 ExpyDoc