トラフィック管理とトラフィック・エンジニアリングは、歴史的に非常に困難な作業である。ネットワーク・オペレータは、ルーティング・プロトコルの設定パラメータを調整し、経路を再計算する必要がある。トラフィックは新しい経路に沿って流れ、その結果、トラフィックのバランス調整が再度行われる。
これらのプロトコルは予測不可能な方法で相互作用する可能性がある。SDN(ソフトウェア定義ネットワーク)はこれらの問題を多くを解決することを目的としている。
ルーターにはすでにソフトウェアが入っている
ルーター上で設定可能ソフトウェアがパケット内の情報を検索し、転送先の決定を行うという意味で、ある意味でネットワークは常に「ソフトウェア定義」されたものであると言える。
シスコやjuniperのルーターを購入したオペレータは、ある意味、ベンダーがハードウェアと一緒に出荷したソフトウェア技術に縛られていたのである。
SDNの主なコンセプト
ルートを選択し、トラフィックを転送する際の処理を決定するソフトウェアとロジックであるコントロール・プレーン(control plane)をソフトウェアで動作させ、パケットに対して実際に検索を実行し、その処理を決定するハードウェアベースのテクノロジーであるデータ・プレーン(data plane)と完全に分離して動作できることを示すのであった。
SDNで使われる言語
論理的に集中制御されたプログラムがあり、しばしば高級言語(例えばPython, Java, Golang, C)で書かれていて、転送に関する論理的な決定を行い、その決定をネットワーク上の全ての転送デバイスに伝えている。
データプレーンとコントロールコントロールプレーンの考え方は変わっていない
SDNのテクノロジーは急速に進化し続けているが、データ・プレーンとコントロール・プレーンの分離という中心的な考え方は変わっていない。SDNテクノロジーは何年もかけて進化してきた。
感想
SDNに関して何も理解していないので、難しそうだ。