論理的に集中管理されたソフトウェア制御
SDNの基本的な技術コントロールプレーン
SDNの基礎となる主な技術的アイデアの一つは、ルーターとは別に、しばしば単一の論理的に集中化されたプログラムとして動作するコントロール・プレーンである。
コントロールプレーンはネットワーク通信における計算、更新を行う
典型的には、SDN制御プログラム(時には「コントローラ」と呼ばれる)は、ルーターに変わってネットワークを通る経路を計算し、リモートで結果の転送テーブルを更新するような制御ロジックを担当している。と言える。
バージョン管理し、プッシュして設定する
SDNはこれまでも実際に存在していた。ルーターは設定可能で、多くの大規模ネットワークはしばしばルーターの設定を中央のデータベースから自動生成し、それをバージョン管理し、スクリプトでルーターにそれらの設定をプッシュしていた。
技術的にはオペレータに対して制御を与えているだけ
学術的な意味では、この種の設定はSDNと呼ばれるかもしれないが、技術的に言えばこの種の設定はトラフィックがネットワークを通じてどのように転送されるかについてオペレーターに限られた制御を与えているだけである。
SDNの初期研究では直接制御
ソフトウェア定義ネットワークの初期の研究は、ネットワークの各ルーターが選択するルートを、ネットワーク構成パラメータの間接的なチューニングに頼るのではなく、
直接制御することによって、ネットワーク運用者がトラフィック・エンジニアリングの仕事を容易に実行できるようにすることを目的としていた。
SDNの実証例
RCP(Routing Control Platform:ルーティング制御プラットフォーム)であり、これはその後、
トラフィックの負荷分散とサービス拒否攻撃からの防御のためにバックボーン・ネットワークに展開された。その後、Ethaneと呼ばれるシステムが開発され、ソフトウェアによる集中制御でネットワーク内のホストを認証している。
- バックボーン・ネットワークとは
スイッチ・メモリに直接書き込むことができるOpenFlow
プログラマブルなコントロール・プレーンを通してスイッチをより柔軟にする便利なバックドアがあった。多くのネットワーク・スイッチは共通のBroadcomチップセットに依存しており、その
チップセットはスイッチに直接書き込むことができるインターフェースを持っていた。このインターフェースをソフトウェア・プログラムとして公開し、最終的にOpenFlowと呼ばれるプロトコルを開発した。
- Broadcomチップセットとは?
ブロードコム(英語: Broadcom Inc.)は、無線(ワイヤレス、ブロードバンド)および通信インフラ向けの半導体製品、ソフトウェアなどを製造販売するファブレス企業。
OpenFlowの機能
当初、このプロトコルは、非常にシンプルなインターフェースをサポートしていた。
シンプルなマッチ・アクション・テーブルとして機能する連想メモリに書き込みを行うものであった。
マッチ・アクション・テーブルを使ってパケットに対する処理を実行する
スイッチはパケット・ヘッダーの一つ以上のフィールド(MACアドレス、IPアドレスなど)に一致するパケットを認識し、
パケットを特定のポートにフォワードするか、破棄するか、経路外のソフトウェア・コントローラに送るか、など、一連なの可能なアクションの一つのを実行することができた。
- ポートにフォワードするとは?
OpenFlowの後のバージョンによってプログラマに対して新たなサポートが必要になった。
OpenFlowの後のバージョンでは、テーブルのチェーンを含む複雑な操作が追加されたが、これらの標準を実装したベンダーはごく僅かであった。
これらのタイプのマッチングにANDやORの論理式を表現することは、特にプログラマにとって少し厄介なことが判明し、プログラマがより複雑な条件を組み合わせを簡単に表現できるようにする技術がいるようになった。
感想
SDN,OpenFlowに対して何も知らないのでなんとかこじ開けて理解したい。