SDNとは|ネットワークの仕組みと導入のメリットを解説

SDNとは|ネットワークの仕組みと導入のメリットを解説

ネットワークリソースが大量に消費される今の時代、ネットワークの効率化が重要視されています。今までと同じようなネットワーク技術では、通信料の肥大化に対応できないのです。新しい技術の研究や実装が進められてきました。

いくつかの技術が研究されていますが、それらの中にSDNと呼ばれるものがあります。今回は、これからの時代に必要とされる、SDNの概要や仕組みなどを解説します。

SDNはソフトウェアでネットワークを制御

最初に、SDN(Software Defined Networking)とはどのような技術であるのか理解を深めておきましょう。

SDNを簡単に説明すると「ソフトウェアを用いたネットワーク制御」です。ネットワークをソフトウェアで制御することによって、簡単に構成を変更したり設定を見直したりできるようになります。

具体的には、SDNを導入することによって、物理的なネットワークとは異なる仕組みの仮想的なネットワークを構築できるのです。ネットワーク機器の伝送機能と制御機能を分離してしまい、制御機能はソフトウェアで一元管理します。今までは、物理的な機器の中にどちらも含まれていましたが、SDNはこれらを分離していることが大きな特徴です。

今まで、ネットワークの制御は物理的な機器に依存していました。例えば、複数のネットワークを接続するためには、ルーターやスイッチなどを用意する必要があったのです。また、それぞれを1台ずつ個別に設定する必要がありました。

このような作業は大きな負担でしたが、SDNで制御できれば、このような負担がなくなります。ソフトウェアで制御できるようになったことは、非常に大きな進化であると考えましょう。

SDNの仕組み


SDNの仕組みを理解するためには、ネットワークの制御方法やそれを支える技術について理解しなければなりません。特に、SDNを支える重要な仕組みであるOpenFlowについて理解を深めなければなりません。

OpenFlowによる制御

SDNの制御にあたっては「OpenFlow」と呼ばれるものを利用するケースが大半です。GoogleやFacebookなども参加する、業界団体のOpenNetworkingFoundation(ONF)によって、標準仕様の策定が行われています。世界的に採用されている技術であるため、SDNを構築する際は、こちらのOpenFlowを利用すると認識しておいて差し支えないでしょう。

OpenFlowを導入することによって、ネットワークの構築に必要なハードウェアを、ソフトウェアで一元管理できるようになります。本来は、個々のハードウェアで管理しなければならない要素をソフトウェア化できるのです。ソフトウェアで管理できる点と一元管理できる点の両面から、OpenFlowの利用が広がっています。

OpenFlowを支える技術

OpenFlowで重要な技術として「OpenFlowコントローラー」「OpenFlowスイッチ」の2つがあります。これらを理解できていなければ、OpenFlowを正しく使いこなせません。続いては、これらの技術についても解説します。

OpenFlowコントローラー

OpenFlowコントローラーは、OpenFlowプロトコルを使用してネットワークスイッチやルーターを制御するソフトウェアです。ネットワークの制御面とデータ転送面を分離することを目的としています。従来のネットワークデバイスでは、制御面とデータ転送面が一体となっていました。しかし、OpenFlowを使用することでこれらを分離し、ネットワークの制御ロジックを一元的に管理できます。

主要なものとして、OpenFlowコントローラーには「フローエントリの管理」に関する機能があります。これは、スイッチのフローテーブルにフローエントリを追加、更新、削除できる機能です。フローエントリは、特定のトラフィックマッチング条件と、その条件に一致するトラフィックに対するアクションを定義できます。

他にも、ネットワークのトポロジを認識し、最適な経路を計算する「トポロジの認識」「統計情報の収集」などの機能も用意されています。これらを組み合わせることで、最適な経路で最高のパフォーマンスを実現できるのです。ネットワークの柔軟性が向上し、迅速な変更や最適化を実現してくれます。

OpenFlowスイッチ

OpenFlowスイッチは、OpenFlowプロトコルをサポートするネットワークスイッチです。OpenFlowのプロトコルに従って動作し、外部のOpenFlowコントローラーからの指示に基づいてトラフィックを転送します。

まず、OpenFlowスイッチには「フローテーブル」と呼ばれる特別なテーブルがあります。このテーブルは、トラフィックのマッチング条件と、その条件に一致するトラフィックに対するアクションを定義するフローエントリで構成されたものです。フローエントリは、OpenFlowコントローラーからの指示に基づいて追加、更新、削除されます。

また、OpenFlowスイッチは制御ロジックを持たず、外部のOpenFlowコントローラーからの指示に従って動作します。結果、ネットワークの制御とデータ転送を独立して扱うことができ、ネットワークの柔軟性やスケーラビリティを向上させられるのです。

OpenFlowを用いたSDNの実装

OpenFlowを用いると、どのようなSDNの実装ができるのか、具体例を紹介します。

データセンターネットワークの最適化

大規模なデータセンターは、仮想マシンやコンテナの動的な配置や移動が頻繁におこなわれる環境です。そこで、OpenFlowを使用すると、動的なネットワークの再構成や最適化を迅速に実現できます。また、トラフィックフローの可視化や、ボトルネックの特定も容易になるでしょう。

加えて、ネットワーク内の異常トラフィックや不正アクセスをリアルタイムで検出することが可能です。結果、必要に応じて迅速な対応を取ることもできます。

WANの最適化と帯域管理

複数の拠点を持つ企業では、WAN(Wide Area Network)のトラフィック管理が課題となることがあります。OpenFlowを用いたSDNを導入することで、帯域の最適利用やトラフィックの優先順位付けを動的に実施することが可能です。結果、通信の最適化が実現され、安定した通信速度の担保につながります。

また、物理的なネットワークインフラを利用している場合は、SDNに切り替えることで仮想化やネットワークの分割を実現可能です。これにより、複数のアプリケーションで利用する帯域やネットワークリソースを分けるなどの活用ができます。

SDNとNFVの違い

SDNと組み合わせて利用することから、意味を間違えられやすいものにNFVがあります。これとは、どのような違いがあるのか押さえておきましょう。

NFVとは

NFVは「Network Functions Virtualization」の頭文字を取ったもので、ネットワーク機器を含めて仮想化する技術を指します。現在は、サーバーの仮想化が当たり前となり、ネットワークも仮想化されるようになっているのです。

従来のネットワークは、基本的に物理的なネットワーク機器から構成されていました。例えば、ネットワーク同士を接続するために、ルーターなどの機器が必要とされたのです。いくつもの機器を複雑に組み合わせて、ネットワーク全体が完成する仕組みだったのです。現在もこの方式で構築されているネットワークは数多くあります。

ただ、NFVはこのようなネットワークとは異なり、物理的な機器を可能な限り仮想化しています。例えば、ルーターやスイッチなどの機器は仮想化の対象となり、物理的なマシンの上でコンテナなどとして実行されるようになるのです。仮想化、つまりソフトウェアとして扱われます。

なお、物理的な機器が仮想化されることによって、コストを抑えられたり最新機能をスムーズに導入できたりします。クラウドサービスでも中心となる技術であり、SDNと併せて理解することが大切です。

SDNとNFVの異なる部分

解説した通り、NFVはネットワーク全体を仮想化して、管理を簡略化する技術です。それに対し、SDNはネットワークの機器構成や接続手段などを仮想化します。どちらも仮想化ではありますが、対象となるものや根本的に求められているものは、大きく異なると理解しましょう。

ただ、異なった技術ではありますが、NFVとSDNは同時に利用されることが多々あります。例えば、NFVは主にネットワーク機器を仮想化するため、それらを接続する仮想化はSDNで実現するのです。また、SDNでネットワークを自動的に管理することで、NFVによる機器の変更などにも対応しやすくなります。

SDNとNFVは違いを持つ技術であるため、これらを組み合わせることで、全てを仮想的に構築することが可能です。仮想マシンを動作させる物理的なマシンは必要ですが、今までのネットワークから大きく進歩させられます。

SDNでネットワークを構築する3つのメリット


ネットワークを構築するにあたって、SDNを利用することには多くのメリットがあります。例えば、以下のメリットを意識して利用してみましょう。

柔軟性の向上

SDNを採用する大きなメリットとして、ネットワークの柔軟性が向上することが挙げられます。従来のような物理的なネットワーク構成では対応できなかったことが、SDNならば対応できるようになるのです。

例えば、一般的な物理的な機器を利用したネットワークでは、変更や構成の追加にさまざまなハードルがあります。機器の購入にコストが発生し、搬入や設定にも時間を要してしまうのです。そのため、ネットワークの構成を変更することは、大掛かりな作業になりがちでした。

しかし、SDNによってネットワークの構成や管理をソフトウェア化できれば、これらを迅速に変更できるようになります。各種、コスト面で対応を躊躇していたネットワーク環境でも、スムーズに対応できるでしょう。結果、新しいアプリケーションの導入や、通信ルートの最適化などを実現しやすくなり、総じて柔軟性が向上します。

設定の一元管理

SDNを用いてネットワークを構築することで、ネットワークに関連する設定を一元管理できます。今までのネットワークでは、それぞれの設定を利用している機器が保有していました。そのため、どのような設定がなされているのかは、設計書などを利用してその都度確認する必要があったのです。

しかし、SDNならば個別の機器や設計書を確認する必要がなく、管理コンソールを閲覧するだけで把握できます。一元管理できることで、運用が非常に効率化されることがメリットです。

コスト削減

ネットワークをSDNで実現すれば、コストの削減につながります。構築から運用まで、ネットワークに関するコストを全体的に削減できると考えましょう。

まず、設定をソフトウェアで管理できることによって、構築の初期設定を簡単に済ませられます。本来は、ネットワーク機器それぞれに対して設定する作業が必要ですが、SDNならば必要ありません。結果、設定作業に必要な人件費などを大きく削減できます。

また、遠隔地の設定も簡単に変更できることから、運用コストも大きな削減が可能です。例えば、ソフトウェアの設定を変更するだけであるため、ネットワーク機器が設置されている場所へ出向く必要がありません。出張などが発生しないことで、運用コストを間接的に下げられるのです。

まとめ

ネットワークをソフトウェアで管理するSDNについて解説しました。一般的には、それぞれのネットワークに機器でネットワークを制御しますが、SDNならばソフトウェアで一元管理できます。結果、ネットワークの管理だけではなく、機器の追加や交換など変更にも対応しやすくなりました。

ネットワークの構築において、非常に魅力的な技術ですが、活用には専門的な知識が必要です。一般的なネットワークのスキルだけでは対応できないため注意しておきましょう。

ただ、SDNで利用されるスキルは、解説したとおりOpenFlowが中心です。これさえ習得しておけば、一般的なネットワークのスキルと組み合わせて、SDNを使いこなせるようになるでしょう。

SHAREこの記事をシェアする

admin