SDNの構成

SDNの構成

各レイヤ(層)の役割

SDNアーキテクチャは、アプリケーション層(レイヤ)、コントロール層(レイヤ)、インフラストラクチャ層(レイヤ)の3つの層から構成されています。

また各層の間を接続するインタフェースとしてSouthbound APIとNorthbound APIがあります。

アプリケーション層(レイヤ)

SDNコントローラの操作に使用する各アプリケーションのための層です。

コントロール層(レイヤ)

コントロールプレーンとしての(ネットワーク機器を制御する)役割を果たします。SDNコントローラのための層です。

インフラストラクチャ層(レイヤ)

データプレーンとしての役割を果たします。そのためデータ転送を行うルータやスイッチなどの各機器のための層です。

各層を結ぶインタフェースについて

インタフェースとは、ハードウェアまたはソフトウェア間の接合部分です。双方の橋渡しをするような役割があり、API(Application Programming Interface)は、アプリケーション間のデータの橋渡しするための役割を果たします。

Northbound API(NBI)の役割

ユーザは専用のアプリケーション(アプリケーション層)を介してSDNコントローラ(コントロール層)を間接的に操作します。

ユーザが直接的に専用のアプリケーション(アプリケーション層)に与えた指示内容を、コントローラ(コントロール層)へ渡す必要があり、この指示内容をコントローラ側で処理できるように、橋渡しするのが、Northbound API(NBI)の役割です。

つまりはアプリケーションを介してコントローラを使用するためのAPIです。

代表的なNBI①:REST API

アプリケーション(アプリケーション層)とSDNコントローラ(コントロール層)が異なるコンピュータ(または仮想サーバ)に配置されているような、二つの層がHTTP(HTTPS)を介して通信する必要性がある場合、REST API(RESTful API)というAPIが使われます。

代表的なNBI②:Java API

一方、アプリケーション(アプリケーション層)とSDNコントローラ(コントロール層)が同じコンピュータ(または仮想サーバ)に配置されている場合、Java APIを介して互いに通信します。

Northbound API(NBI)の役割

Southbound API(SBI)の役割

コントローラ(コントロール層)は、各ネットワーク機器(インフラストラクチャ層)に対して、ルーティングテーブルやルーティングプロトコルの設定などの制御を行います。

各ネットワーク機器(インフラストラクチャ層)がコントローラ(コントロール層)から与えられた指示を処理できるよう、双方の間の橋渡しするのが、Southbound API(SBI)の役割です。

つまりはコントローラが各ネットワーク機器(インフラストラクチャ層)を使用(制御)するためのAPIです。

代表的なSBI

OpenFlow、OpFlex、NETCONF、RESTCONF、TELNET、SSH、SNMPなど

OpenFlowについて

概要:OpenFlowはONF開発のSB

OpenFlowは、SDNを実現するためのプロトコルです。

ONF(※)によってSBIの部分だけが標準化されたので、SBI(Southbound API)に分類されます。

※ONFとは:Open Networking Foundationの略称。OpenFlowの開発を行った団体/組織であり、SDNの推進を行っている。

OpenFlowを使ったネットワーク構成

コントロールプレーンを担う(経路制御機能をまとめた)OpenFlowコントローラ(OFC)と、データプレーンを担う(データ転送機能をまとめた)OpenFlowスイッチ(OFS)で構成されており、両者のやり取りを仲介するのが、SBIであるOpenFlowプロトコルです。

またOFCやOFSなどOpenFlowのネットワーク構成で使用するネットワーク機器は全てOpenFlowに対応した機器になります。


NEXT>> SDNを実装するには