SDNはSoftware Defined Networkの略

「~初心者にも理解できるネットワーク技術~ NO.317 2014/2/28」より引用
----------------------------------------
■SDNとは?
 OpenFlowというプロトコルを聞いたことがあるでしょうか?
 OpenFlowというキーワードが出始めたのが、2010年ごろだったと記憶しています。

 当時は、OpenFlowを導入することで、Cプレーン(制御機能)とDプレーン(データ転送機能)を分離して、Cプレーンを集中制御出来るので、機器コストを削減できるし、制御も自動化できるしで、バラ色なネットワークになりますよ的な触れ込みで、バズワードとして大きく取り沙汰されていました。

 そんな「キーワードが先行していた時期」から、最近になってようやく実際のLive Networkに導入するための、SDNの使い方が見えてきたように感じています。

 OpenFlowも今では、SDNを実現するための一つ機能のという見方になってきました。

 そこで今回から、現在のSDNの状況と今後のSDNの進化について書いていきたいと思います。

■SDNが注目されている理由
 ここ数年で、ネットワークは物理的にも論理的にも複雑化が進んでいます。

 理由としては、通信キャリアや企業の要求が多種多様になったことが最大の原因です。
 ネットワークが複雑化すると、そのネットワークを運用も当然複雑化して、結果的にOpexやCapexといったコスト増に繋がってしまいます。

 そんな中、この課題を解決するソリューションとしてSDNという考え方が生まれました。

 「Humans suck at state management.」
 (人間はネットワークの状態を管理することが苦手である。)

 Open Flow を開発したMartin Casado氏が、Open Flowの概念を思いついたきっかけが、「人間はネットワークの状態を管理することが苦手である」ということに気が付いたからだとのことです。
 「人間が苦手なことを人間にやらせるのではなく、プログラムで解決させる」という考えから、SDNというフレームワークが生まれています。

 SDNは、Software Defined Networkの略で、新しいネットワークレイヤーのフレームワークです。

 SDNはフレームワークですので、考え方やとらえ方も様々ですが、根っこは同じで「複雑化されたネットワークを自動化を活用して構築/設定を行う」ことを目指しています。
 最近はこの根っこも細分化されてきてはいますが、その話は別途していきたいと思います。

 SDNが今までのネットワークと大きく異なる点として、ネットワーク機器に実装されていたCプレーンとDプレーンを分離して、Cプレーンを外部のデバイスに外だしするという考え方にあります。

 Dプレーンを外だしし、CプレーンとDプレーンを標準的なインタフェースで接続できるようにすれば、ユーザーが独自に開発をして標準インタフェース経由でDプレーンの制御が可能になります。

 こうすることで、ネットワーク機器の機能を簡素化できるためにコスト削減が期待出来るという点と、Cプレーンを一元的に管理できるため、複数のネットワーク機器で構成されているネットワークを論理的に1つのネットワークとして扱えることが出来るという利点があります。

 ・今までのネットワーク機器
  http://farm4.staticflickr.com/3731/12791164755_2a433ea110.jpg

 ・SDNのフレームワーク
  http://farm6.staticflickr.com/5502/12791264473_6c66aa3c5a.jpg
f:id:nonbei:20140228194350j:plain

 個人的には、このCプレーンとDプレーンを分割するという考え方が、今迄ネットワークを運用してきたエンジニアにとって理解されにくい点ではないかと思います。

 今迄のネットワークはOSPFやBGPなどのプロトコルを使って、ルータが自律分散的に動作していましたが、SDNの考え方はネットワーク制御は一極集中するCプレーンを別に外だししてネットワークを制御します。

 このCプレーンとDプレーンを分割するという考え方が大きな変化になっているのですが、逆にこれこそがSDNの本質でもあるのだと思います。
----------------------------------------