【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に当てはめると下表の様になる。

この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に当てはめると下表の様になる。
