ここまで,ネットワークとITシステムを連携させるには,さまざまな課題があることを見てきました。その課題と対策をまとめたのが表1です。

表1●「自動化」「ITシステムとの親和性」に必要な対策
表1●「自動化」「ITシステムとの親和性」に必要な対策
[画像のクリックで拡大表示]

 これらの対策を装置に実装するためのキーワードが「NETCONF」,「XML」,「Java API」の三つです。今回は,これらの技術がどのように課題を解決するのかと,実装するうえでの課題を詳しく見ていきます。

ネットワーク機器-NMS間の管理用標準プロトコル「NETCONF」

 NETCONFは,ネットワーク機器を制御するための次世代プロトコルです。IETF(Internet Engineering Task Force)で標準化が進められています。ネットワーク機器とNMSの両方がNETCONFを実装することで,ネットワークの制御のしくみが用意されることになります。

 ネットワーク機器とNMSが標準プロトコルでつながるということは,標準規格のないCLIの課題を解消できます(図1)。また,NETCONFではプロトコル・スタックとしてSSHやSSLなどが利用できるように規定されているので,複数のNMSからの制御を受け付ける際に必要となる安全な通信路の確保にもつながります。

図1●NETCONFのプロトコル・スタックと,XML,APIの関係
図1●NETCONFのプロトコル・スタックと,XML,APIの関係
[画像のクリックで拡大表示]

 NETCONFをネットワーク機器に実装するには,クリアすべき課題が二つあります。一つはプロトコル・スタックの実装,もう一つはトランザクション制御機能の装備です。プロトコルスタックとしては,HTTP/HTTPS,SOAP,NETCONF自身が対象となります。

 現在のネットワーク機器は,ユーザーがパソコンのWebブラウザからGUIで設定できるように,HTTPやHTTPSさらにはWebサーバー機能の実装には実例があります。また,CLIで制御する場合にセキュリティを確保する目的でSSHの実装なども行われてきました。

 しかし,NETCONFで自動化や複数のNMSからの指示の実行を考えると,Webサービスの基盤として採用されているSOAPを利用することが最適です。もちろんSSHを使ってもNETCONFをやりとりできますが,XMLやJavaとの親和性,ITシステムとの連携などを考えると,SOAPを使うのがよいのです。SOAPは,複数のサーバー上で動くアプリケーションをネットワーク経由で連係させるWebサービスの中で,メッセージ仕様を規定したものです。

 SOAPをネットワーク機器に実装するには,注意すべき点がいくつかあります。実際にネットワーク機器にSOAPを実装する場合には,(1)SOAPは多くの機能を備えるので利用する機能,必要となる機能だけを選択することと,(2)機器が備えるメモリーの容量との兼ね合いを考えて効率化を図ること――の2点は,特に注意する必要があります。

 続いて,二つめの課題であるトランザクション制御機能の実装に話を進めましょう。

 SOAPにはトランザクション管理の規定は含まれていません。そのため,NETCONFでは,本質的には制御要求に対して同期して応答を返すとか,一つの制御に対して実態としては内部で複数の処理をしているが,一つの応答に見せるなど,トランザクション制御の機能を実現するための工夫が必要になります。

 具体的に見ていきましょう。ネットワーク機器は,NETCONF/SOAPで運ばれてくる制御要求を受けて,それを分解,解釈して実行します。この処理がすぐに済めば問題はあまりないのですが,処理の内容によっては結果が出るまで時間がかかることもあります。時間がかかっても要求と応答をきちんと対応付けて処理しなければなりません。また,複数のNMSから同じリソースへのリクエストが来た場合,リソースが競合しないように排他制御するようなしくみも必要になります。

 これらのトランザクション制御機能をネットワーク機器に実装しなければならないのです。

 NETCONFを機器に実装するには,これらの点を一つひとつ検討してゆくことが必要となります。ただ,NETCONFを実装するのは簡単ではありませんが,その半面大きなメリットを得られます。機器ごと,ベンダーごとに用意していたNMSを統合し,ネットワーク管理業務が標準化されることにより,オペレータの管理負荷が軽減されるだけでなく,管理コストの大幅な削減も可能となります。

XMLによるモデル化で機器間,ベンダー間の違いを吸収

 次に,管理手順や処理対象のモデル化を実現する手段である「XML」について解説します。

 NETCONFはネットワーク機器とNMSの間の通信について規定していますが,対象の何をどう管理し制御するのかという点については具体的に規定していません。例えば,LANスイッチの備えるVLAN機能やQoS機能の設定をどのように変更するのかは決められていないのです。こうした設定の手順や方法を,機器に依存しない形で共通化するのが「モデル化」です。

 プロトコルとしてNETCONFを使うとしても,その上で使う言語が異なれば会話は成立しません。モデル化されたフォーマットに則ってネットワーク装置とNMSが会話することではじめて,ネットワーク装置の機種やベンダーに依存することなく,一つの言葉でマルチベンダーのネットワークを制御できるようになるのです。

 ちょっと複雑になりますが,モデル化の具体例を図2に示します。

図2●XMLデータ・モデルの例(VLANの場合)
図2●XMLデータ・モデルの例(VLANの場合)
[画像のクリックで拡大表示]

 管理対象をモデル化するには,記述言語が必要となります。この記述言語にXMLを採用するわけです。XMLはWebサービスの中核技術でもあり,XMLを採用することでHTTP/SOAPを使うNETCONFとの親和性が高まります。

林 剛久(はやし たけひさ)
アラクサラネットワークスCTO

黒崎 芳行(くろさき よしゆき)
アラクサラネットワークス ソリューションマーケティング部

木村 浩康(きむら ひろやす)
アラクサラネットワークス ソリューションマーケティング部

<<【1】を読む 
>>【3】を読む