【SDN(SDNアーキテクチャ)について】


         このHPはSDN(SDNアーキテクチャ)についてまとめたものです。


1-1 SDNアーキテクチャ

SDNを構成する要素は下記の3つ。

■コントロールプレーンの機能を実行するソフトウェア
■データプレーン機能を搭載するネットワーク機器
■コントロールプレーン上に構築される、ネットワーク制御アプリケーション


これらの他に、下記2つのインターフェイスが必要。

◆コントロールプレーンからデータプレーンを制御するための、両者の間でデータ転送制御情報を
やり取り仕組み
◆コントロールプレーンのアプリケーションソフトに対するAPI

SDNのアーキテクチャは下記の3つのレイヤに分かれている。

■インフラストラクチャレイヤ
■コントロールレイヤ
■アプリケーションレイヤ







◆インフラストラクチャレイヤ
インフラストラクチャレイヤは、ルータやスイッチが等のネットワーク機器のレイヤで、パケットが転送される転送プレーンに該当する。

◆コントロールレイヤ
コントロールレイヤは、SDNコントローラーが該当するレイヤ。
コントロールプレーンの機能を実現する。ネットワークの制御を行うレイヤで、例えばトポロジーの発見・管理やルート計算、ネットワーク仮想化といった機能を提供する。また、アプリケーションレイヤとインフラストラクチャレイヤの橋渡しを行う。


◆アプリケーションレイヤ
アプリケーションレイヤは、SDNコントローラーが該当するレイヤ。
アプリケーションには、SDNコントローラーとセットになっていて、ベンダーから提供されるものもあれば、カスタマイズしたアプリケーションを自作することもできる。
ユーザーはこれらのアプリケーションを通じてSDNコントローラーを操作する。

これらの
レイヤ間でやり取りする際に使用されるのが「API」。
APIとは、他のプログラム等の機能を使用するための仕様。



■サウスバウンドAPI
SDNコントローラーとネットワーク機器を接続するための論理インターフェイスを、「サウスバウンドAPI」または「サウスバウンドインターフェイス」と呼ぶ。
コントロールレイヤから見て下(南)に位置するため、この様な名前がついている。

サウスバウンドAPIには、
「OpenFlow」、「NETCONF」、「RESTCONF」、「OpFlex」といったプロトコルや、従来の機器でも使用可能な、「TELNET」、「SSH」、「SNMP」というプロトコルを用いて、各ネットワーク機器に、「この宛先のパケットはPort2に送れ」や「このトラフィックは遮断しろ」等の指示を出す。


■ノースバウンドAPI

SDNコントローラーとアプリケーションレイヤをつなぐ論理インターフェイスを
「ノースバウンドAPI」または、「ノースバウンドインターフェイス」と呼ぶ。

ノースバウンドAPIは、サウスバウンドAPIとは異なり、
標準的なプロトコルやAPIは存在しない。
SDNコントローラーを提供する各ベンダーによって、APIが提供されている。

SDNコントローラーと、SDNコントローラーを操作するアプリケーションがインストールされた端末は、多くの場合、
ネットワーク上の異なる場所に配置され、上位のアプリケーションは下記の様な処理を行う。

・現在のネットワークステータスの取得(トポロジ、トラフィック量など)
・ポリシーの投入(QoSの設定、アクセスリストの適用等)
・ネットワーク構成の自動変更


また、ノースバウンドAPIでは、Webシステムを外部から利用するためのAPIである「REST API」がよく使用される。
REST APIは、
HTTPやHTTPSを利用して、コントローラーに対して情報の取得や、設定変更のリクエストを送る。






■CRUD

REST APIでは、「HTTPリクエストメソッド」を使用して特定の処理(情報の取得、追加、更新等)を実行する。
サーバ側は、
クライアントから指定されたHTTPリクエストメソッドに応じて、更新や削除を行う。

データを相違さする際に必要となる基本的な機能は下記の4つで、これらの頭文字をとり「CRUD」という。


・Create(作成)
・Read(読み取り)
・Update(更新)
・Delete(削除)

HTTPリクエストメソッドをCRUDに当てはめると下表の様になる。