SDNとは?ネットワーク仮想化の基礎からCisco DNA Centerまで解説

ネットワーク機器が増えるたびに、エンジニアはスイッチやルータに1台ずつSSHで入り、CLIで設定を投入する。VLANの追加、ACLの変更、ファームウェアの更新――すべてが手作業だ。機器が10台なら耐えられるが、100台を超えると設定ミスや反映漏れが常態化する。この「機器ごとの個別管理」という従来モデルの限界を根本から変えるのがSDN(Software-Defined Networking)である。

本記事では、SDNの基本的な考え方から、アーキテクチャの仕組み、そしてCiscoの主要ソリューションまでを一気通貫で解説する。

目次

SDNの核心:コントロールプレーンとデータプレーンの分離

従来のネットワーク機器は、経路計算などの「頭脳」にあたるコントロールプレーンと、実際にパケットを転送する「手足」にあたるデータプレーンが1台の筐体に同居していた。SDNではこの2つを明確に分離し、コントロールプレーンを外部のSDNコントローラに集約する。

コントロールプレーンが担う処理は、ルーティングプロトコルの計算、MACアドレスの学習、ARP処理などだ。一方、データプレーンはコントロールプレーンが決定した転送先情報に従って、パケットやフレームを実際に転送する。NATやカプセル化、ACLによるフィルタリングもデータプレーン側の仕事になる。

この分離により、ネットワーク全体の制御ロジックを1か所に集約でき、ソフトウェアによって柔軟にネットワークの振る舞いを定義できるようになる。

以下の図は、従来型とSDN型の違いを示している。

従来型 SDN型 コントロール プレーン データ プレーン コントロール プレーン データ プレーン 機器ごとに個別管理 SDNコントローラ コントロールプレーン DP DP DP コントローラで一括制御 コントロールプレーン データプレーン

SDNアーキテクチャの3層構造

SDNアーキテクチャは、次の3つの層で構成される。

  • アプリケーション層:ネットワークの監視、分析、ポリシー管理などのアプリケーションが動作する層
  • コントロール層:SDNコントローラが配置され、ネットワーク全体の制御ロジックを司る層
  • インフラストラクチャ層:物理・仮想のスイッチやルータなど、実際にデータを転送する機器の層

これらの層は、2種類のAPIで接続される。

ノースバウンドAPIとサウスバウンドAPI

ノースバウンドAPI(NBI) はコントロール層とアプリケーション層をつなぐインターフェースだ。HTTP/HTTPSを使ったRESTful APIでアクセスし、データ形式にはJSONやXMLが使われる。自作プログラムからネットワークを制御するためのプログラミングインターフェースとして機能する。

サウスバウンドAPI(SBI) はコントロール層とインフラストラクチャ層をつなぐインターフェースだ。代表的なプロトコルとして、OpenFlow、OpFlex、NETCONF、RESTCONF、SNMP、SSH/Telnetなどがある。SDNコントローラがネットワーク機器を実際に制御するための通信経路にあたる。

以下の図でSDNアーキテクチャ全体の構造を確認できる。

アプリケーション層 監視・分析・ポリシー管理アプリ ノースバウンドAPI(REST API) コントロール層 SDNコントローラ サウスバウンドAPI(OpenFlow / OpFlex / NETCONF等) インフラストラクチャ層 スイッチ・ルータ(データプレーン) HTTP/HTTPS JSON / XML プロトコル各種

主要なSDNソリューションの比較

SDNの実装は大きく3つのアプローチに分類できる。

OpenFlowベースのSDN(Open SDN)

OpenFlowは、SDNの最も初期のサウスバウンドプロトコルだ。コントロールプレーンをOpenFlowコントローラに完全に集約し、OpenFlowスイッチの転送テーブルをコントローラが一括管理する。コントロールプレーンの変更度合いが最も大きく、柔軟性は高いがその分設計難易度も上がる。代表的なコントローラにはOpenDaylight SDN ControllerやCisco Open SDN Controllerがある。

Cisco ACI(データセンター向け)

Cisco ACIはデータセンター向けのSDNソリューションだ。SDNコントローラとしてAPIC(Application Policy Infrastructure Controller)を使用し、サウスバウンドAPIにはCisco独自のOpFlexを採用している。OpFlexはOpenFlowほどコントロールプレーンを集中させず、ポリシーベースでシンプルにネットワークを構築できる点が特徴だ。

ネットワークトポロジにはスパイン/リーフ構成を採用する。リーフスイッチはすべてのスパインスイッチと接続し、リーフ同士・スパイン同士は直接接続しない。この構成により、すべての通信が最大2ホップで完了する。

Cisco SD-AccessとDNA Center(エンタープライズ向け)

Cisco SD-Accessは企業ネットワーク向けのSDNソリューションで、SDNコントローラとしてCisco DNA Centerを使用する。DNA CenterはCiscoが提唱するインテントベースネットワーク(IBN)の中核であり、管理者がネットワークの「意図(インテント)」を定義すれば、具体的な機器設定をコントローラが自動生成する。

DNA Centerの主な機能は次のとおりだ。

  • 設定の自動化:統一ポリシーによるネットワーク構築。個別機器へのCLI投入が不要になる
  • アシュアランス:SNMP、Syslog、NetFlowなどからデータを収集し、AIや機械学習で問題を検知・分析する
  • Scalable Groups:IPアドレスに依存しないSGT(Scalable Group Tag)ベースのアクセス制御をGUIで設定できる
  • テンプレートエディタ:CLIテンプレートを作成・適用し、設定の一貫性を保つ
  • REST API(インテントAPI):ノースバウンドAPIとしてHTTPメソッドでネットワークを制御。外部プログラムとの連携が可能

SBIとしてはTelnet/SSH/SNMPに加え、NETCONF/RESTCONFも使用する。管理対象機器はSNMP/SyslogでDNA Centerに情報を通知する。

以下のテーブルで3つのアプローチを整理する。

項目Open SDNCisco ACICisco SD-Access
用途汎用データセンターエンタープライズ
コントローラOpenDaylight等APICCisco DNA Center
SBIOpenFlowOpFlexCLI / SNMP / NETCONF
CP集中度ほぼ全て集中一部集中分散(集中管理なし)
トポロジ自由スパイン/リーフ階層型(STPなし)

SD-Accessのアンダーレイとオーバーレイ

SD-Accessのネットワークは、物理層(アンダーレイ)と論理層(オーバーレイ)の2層構造になっている。

アンダーレイはルータやスイッチ、ケーブルで構成される物理ネットワークだ。OSPFやIS-ISといったリンクステート型のルーティングプロトコルを使用し、すべてレイヤ3で接続する。STPやRSTPは使わない。

オーバーレイはアンダーレイの上に構築される仮想ネットワークで、VXLANによるトンネリングを用いる。トンネルの宛先アドレス解決にはLISP(Locator Identity Separation Protocol)を使用する。

実務で押さえておくべきポイント

SDNの学習を進めるにあたって、次のステップが効果的だ。

まず、REST APIの基礎を押さえること。SDNコントローラの操作はほぼすべてREST API経由で行える。HTTPメソッド(GET/POST/PUT/DELETE)とJSONの読み書きができれば、DNA CenterのインテントAPIやAPICの操作を実際に試せる。

次に、自分の環境に近いソリューションから手を動かすこと。データセンター寄りならACIのスパイン/リーフ構成、企業LAN/WAN寄りならDNA CenterとSD-Accessがそれぞれの入口になる。Cisco DevNetのサンドボックス環境では、実機なしでAPI操作を試すことができる。

最後に、従来型との対比を常に意識すること。SDNが解決する課題を理解していれば、各ソリューションの設計思想の違い(OpenFlowの完全集中 vs OpFlexのポリシー分散 vs DNA Centerのインテントベース)が腹落ちしやすくなる。

目次