SDN(Software Defined Network)とは
SDNとは、ネットワークの設計や管理をソフトウェアベースで行うネットワークアーキテクチャ(アーキテクチャ=仕組み,考え方)のことです。従来のネットワークでは、ルーターやスイッチといったネットワーク機器に依存して設定や管理を行っていましたが、SDNはこれをソフトウェアで制御することで、柔軟性と効率性を大幅に向上させる技術です。
目次
SDNの主な特徴
SDNの代表的な特徴は以下の通りです。
- 集中制御(Centralized Control):ソフトウェアを用いてネットワーク全体を一元的に制御し、そのソフトウェアから、ネットワーク全体の各装置の設定変更や管理を行えるようになります。
- 制御プレーンとデータプレーンを分離:従来のネットワーク機器は、データ転送のための必要な情報を管理する「制御プレーン」と、制御プレーンから受け取った情報をもとにデータ転送を行う「データプレーン」が一体化していましたが、SDNではこれらの機能を分離させます。具体的には、 ネットワーク全体の集中制御を担当するSDNコントローラによって制御プレーンを管理し、データプレーンは単純にパケットを転送する役割を持つ形になります。
- プログラム可能性(Programmability):ネットワーク全体の制御を行っているSDNコントローラにはプログラムが設定できるため、SDNにおいてはネットワークの挙動がプログラム可能です。よって、ネットワークの設定やポリシーの変更を自動で行えるようにもなります。
- 柔軟性とスケーラビリティ(拡張性):ネットワークを流れるデータの通信量(トラフィック)は常に変化し続けます。従来のネットワークではネットワークの設定を各通信機器側で行っていたため、トラフィックの増減などに対応するためには各通信機器側で設定を変更する必要がありました。しかし、SDNにおいてはネットワーク全体を制御するソフトウェアから動的にネットワーク全体の挙動を調整することができるため、トラフィック増大時でも柔軟に対応できるようになります。また、SDNを用いれば、物理的なネットワーク内に仮想的なネットワークを複数作成することもでき、ネットワークの範囲の変更も容易です。クラウド環境が重視される昨今のネットワーク事情において、ネットワークの仮想化技術の一つであるSDNの重要性はますます高まっていると言えるでしょう。
SDNの導入による主なメリット
SDNの導入にはさまざまなメリットがあります。
- コスト削減:SDNにおいては、ネットワーク構成の変更時に新規の物理的なネットワーク機器の導入や、ネットワーク機器側での設定が不要になります。これにより、ネットワーク機器購入のための費用はもちろん、人的リソースやメンテナンスのためのコストを抑えることができます。
- 運用効率の向上: ネットワーク全体をソフトウェアで一元管理しているため、ソフトウェアを通じてネットワーク設定の変更が容易に行えるようになるだけでなく、ネットワーク上でトラブル発生した時でも対応がしやすくなります。
- セキュリティの向上:ソフトウェアでネットワークを一元管理し、プログラム可能でもあるため、動的にネットワークの設定やポリシーを変更でき、求められるセキュリティ要件が変化した場合でも対応しやすくなります。
- 柔軟なネットワーク構築:物理的なネットワーク内に仮想的なネットワークを作成し、その数も範囲も変更できるため、トラフィックの最適化や新しいアプリケーションの要件に合わせたネットワーク設定が可能になります。
SDNの主な構成要素
SDNを構成する要素を紹介します。
- アプリケーション:SDNコントローラーを操作するためのアプリケーション。
- SDNコントローラー:ネットワーク全体を管理する中枢部。アプリケーションから操作します。
(SDNコントローラの代表例): OpenDaylight、ONOS、Cisco ACIなど
- データプレーンデバイス:スイッチやルータといった、パケットを転送するネットワーク機器。使用されるネットワーク機器はSDN対応のものである必要があります。
- API(Application Programming Interface):アプリケーションとコントローラ、及び各機器との間のやり取りで用いられます。
- ノースバウンドAPI:アプリケーションとSDNコントローラ間の通信を行うインターフェース。
- サウスバウンドAPI:SDNコントローラとデバイス間の通信を行うインターフェースで、OpenFlowと呼ばれるプロトコルで実装されます。
SDNの活用例
SDNはその柔軟性や拡張性、管理しやすさなどから、さまざまな場所で活用されています。
データセンター:データセンターは多数の顧客企業との契約にもとづき、大量のデータを保管するサービスです。データセンターでは、顧客企業からの求めに応じて、データセンター内に設置された各サーバのリソースを動的に配分するので、SDNのような仮想的なネットワークを構築する技術は重要です。
クラウドサービス:クラウドサービスはオンライン上でさまざまなサービスを提供するサービスです。そのサービスの形態上、クラウドサービスには大量のトラフィックが発生するため、サービスを安定して供給し続けるには、クラウドサービス内のネットワーク構成をトラフィックの状況に応じて迅速に変更する必要が出てきます。こういった際の変更にもSDNは活用されます。
企業ネットワーク:企業ネットワーク内においても、SDNは活用されています。トラフィックの管理やコスト削減、セキュリティ要件の変化への柔軟な対応などは、どの組織内ネットワークでも重要です。
SDNとNFV、VPNとの違い
仮想的なネットワークと聞くと、NFVやVPNといった技術が思いつく人も多いでしょう。これらの技術とSDNは目的や用途が異なる技術ですので、この違いについても記載ます。
NFV(Network Function Virtualization):NFVは、ETSI(欧州電気通信標準化機構)によって標準化された技術で、ネットワーク機器自体を仮想化します。具体的にはスイッチやルータといった各機器の機能を、汎用サーバー内に組み込まれた仮想マシンによって実現します。ネットワーク機器の機能をサーバ内にまとめることで、運用コスト削減や省スペース化が図れます。SDNがネットワークを仮想化する技術であるのに対して、NFVはネットワーク機器自体を仮想化します。
VPN(Virtual Private Network):VPNは、ネットワーク上に仮想的な専用回線を構築する技術です。拠点間をつなぐインターネット上に仮想的な専用回線を構築することで、重要なデータの盗聴(第三者に盗み見られること)が防げます。SDNがネットワークの一元管理や柔軟性を目的としたものであるのに対して、VPNはセキュリティ向上を目的とした技術です。
SDNは現在、ネットワークのシステム刷新やクラウドの利用促進の要として広く採用されています。世界中のネットワークがさらに複雑になっていく将来においては、SDNをはじめとしたネットワーク仮想化技術の重要性は高まっていくでしょう。