プライベートクラウド管理のすゝめ② - 其の弐

作成日 2014/6/20
更新日 -

ネットワーク管理者編 - 其の弐

理想的な企業ネットワークを実現する上でSDN/OpenFlowが有効

ユーザが求める理想的な企業ネットワークを実現する上で、必要となるテクノロジーを再整理します。

 

1. ローエンドからハイエンドまでのスイッチで構成されるネットワーク全体を抽象化し、そのリソースを有効活用するためのネットワーク仮想化技術

2. ネットワーク全体に対して必要なトラフィック制御を設定するための入力インターフェース

3. ネットワークの状態(トポロジ、経路情報、CPU・メモリ・トラフィック流量など)を取り出すための管理インターフェース

 

1は既存のバーチャルシャーシやTRILLといった技術、2はSDNというネットワークアーキテクチャ(詳しくはSDN/OpenFlow技術紹介)、3はLLDP/SNMP/sFlowなどを組み合わせて実現される技術に相当します。特にSDNについて、現時点で主要スイッチベンダから提供されているものとしてCisco社のApplication Centric Infrastructureなどが挙げられますが、これも、バーチャルシャーシやTRILL同様、ハイエンドなスイッチのみで利用可能な機能であり、ローエンドからハイエンドまでのスイッチで構成されるネットワークでは満たせない現状となります。また、従来のtelnetやnetconfといった仕組みを駆使することによってもSDNを実現することは可能です。ただし、各スイッチのコマンドなどは標準化されておらず(この点は前述の主要スイッチベンダから提供される独自のSDNも同様と捉えられます)、ベンダ間の仕様差分を吸収させたインタフェースを設計する必要があり、さらにスイッチの不具合などに対してファームウェアをアップデートする際にもコマンドが変更されていないかどうかを確認する必要があります。開発時の調査、安定運用を実現する上で想定以上のコストを要する可能性があります。

ここで、SDN/OpenFlow技術紹介を読んでいただいた方はお気づきかもしれませんが、OpenFlowプロトコルはトラフィック制御に関するプリミティブな入力インターフェースとして扱えることから2を実現する手段として利用可能であり、さらにOpenFlowコントローラを中心とした集中管理型のアーキテクチャがデファクトな利用形態であることから1を実現する手段(*1)としても利用可能です。そして、スイッチ自体のSNMP(MIBによるリソース情報の取得、TRAPによる状態変化の通知)などの従来の管理インタフェース(*2)を利用しつつ、OpenFlowコントローラに管理するトポロジ状態・トラフィック状態を管理できるインタフェースを具備させることで、従来のネットワーク管理よりもはるかに効率化された理想的なネットワーク・インフラを手に入れることが可能となります。

 

(*1) 現時点(2014年6月)で入手可能なOpenFlowスイッチのほとんどは従来のL3スイッチにOpenFlowのインタフェースを追加したものです。L3スイッチ相当であり、価格帯としては1スイッチあたり数十万円~数百万円と幅があります。

 

(*2) OpenFlowスイッチによって従来の管理プロトコル(SNMPなど)が利用できる場合とできない場合があることに留意しましょう。

 

以上を踏まえた上で、OpenFlowを積極的に活用した場合における理想的な企業ネットワークのアーキテクチャを描いてみます。ネットワークの制御および状態管理を司るのがOpenFlowコントローラとなり、それを実現する上での基本機能としてはネットワークの全体構成であるトポロジ情報(ネットワークを構成するスイッチの一覧、各スイッチの接続情報)、スイッチに接続される機器の検出といったものが必要となります。さらに、ネットワーク管理者から入力されるネットワーク論理構成(機器間のトラフィック制御情報)を解釈し、機器の接続ポートおよびトポロジ情報に基づいて機器間の最適経路を算出し、経路上のスイッチに対して制御ルール(フローエントリ)をOpenFlowコントローラから自動配布します。そして、ネットワークの運用を効率化するため、OpenFlowコントローラが検出したトポロジの変化、トラフィック経路の変化などを運用管理ソフトウェアにsyslogやSNMPTRAPといった管理プロトコルで連携することにより、理想的なネットワーク運用を実現できます。

 

理想的な企業ネットワークをOpenFlowで描く

OpenFlowという制御プロトコルを活用していくことにより、このような理想的なネットワーク運用が実現できることまでわかりましたが、このような機能を有するOpenFlowコントローラはどのように入手すればよいのでしょうか?まず、商用およびOSSを含めて、様々なOpenFlowコントローラが入手可能となってきましたが、開発フレームワークとSDNコントローラ(トラフィック制御用のアプリケーションを含む)の2つに大きく分けられます。開発フレームワークとしては、Trema/Ryu SDN Framework/Floodlight OpenFlow Controller/OpenDaylightなどのOSS、NTTデータ バーチャルネットワークコントローラ(R) バージョン2.0などの商用製品として提供されています。SDNコントローラとしては、NTTデータ Hinemos仮想ネットワーク管理オプション/NEC ProgramableFlow Controller/Big Switch Networks Big Virtual Switch, Big Tap/HP VAN SDN Controllerなどの商用製品が提供されています。開発フレームワーク or SDNコントローラの選択方法は単純に捉えると、自社でトラフィック制御用のアプリケーションを開発する理由があるかどうかが重要になります。開発フレームワークは通信キャリア・大規模データセンタ事業者・SIerなどが自身が展開・開発するサービスと親和性高く連携させたい場合などに選択され、SDNコントローラはネットワーク機器更改を検討している場合、属人的で複雑なネットワーク設計・運用を大きく改善したい場合などに選択されます。多くの企業においてはOpenFlowコントローラを開発するための要員を抱えたり、あるいは開発するための期間を設けることは困難な場合が多いことから、まず最初に出来合いのSDNコントローラから導入を検討するのが一般的と考えられます。

 

 

さらに、SDNコントローラのトラフィック制御方式もhop-by-hop方式、overlay方式という2種類に大きく分類することができます。hop-by-hop方式は経由するすべてのスイッチおよびリンクをOpenFlowコントローラが管理し、物理的な構成レベルを踏まえてのトラフィック制御までを細かく制御できる方式であるのに対し、overlay方式はスイッチ間の通信にNVGRE/VXLANといったトンネリング技術で仮想的なリンク上を利用して、末端となる機器が接続するアクセススイッチあるいはハイパーバイザ上のソフトウェアスイッチを経由するトラフィックのみを制御する方式となります。今回は、アンダーレイとなるネットワーク(トラフィックが流れる物理スイッチ・物理リンク)までを管理するネットワーク管理者にとって理想的な設計あるいは運用を実現するためのネットワークとして、hop-by-hop方式を前提にご紹介しています。

なお、OSSのOpenFlowコントローラを触れたことのある方であればお気づきかと思いますが、スイッチに対する制御ルールの配布自体はOpenFlowプロトコルそのもの(Flow-Modifyメッセージ)で実現できますし、ネットワークトポロジ・ネットワークに接続される機器の自動検出・経路の障害検知については数多くのOpenFlowコントローラで実装されていて、Packet-In/OutメッセージとLLDP(Link Layer Discovery Protocol)の組み合わせ・MAC Learningといったデファクトの実現方式が存在しています。運用コストの削減を目的としたSDNコントローラを選択する際は、このような機能が提供されていることを確認の上、チューニングの可否や非機能面(実装品質)を検証することが重要です。そして、これらの基本機能に加えて、トラフィック制御に関する機能がSDNコントローラごとに異なってきます。例えば、どのようなトラフィック制御が行えるのか、そのトラフィック制御の設定を行うためにどのようなUI(ユーザインタフェース)が提供されるのか、運用管理ソフトウェアなどの外部ソフトウェアと連携するためにどのようなインタフェースが提供されるのか、既存のネットワークとの接続性はどうなのか、など実現したいネットワークの要件とのフィット&ギャップ分析をきちんと実施することが重要です。

 

 

次回は、このような機能を兼ね備えた「Hinemos仮想ネットワーク管理オプション」で効率化されるネットワーク運用イメージをご紹介します。

 

< 1 2 3 >

 

技術情報

Hinemosで始めるネットワーク仮想化管理

SDN/OpenFlow関連情報

関連情報

採用事例

準備中

お問い合わせ