ここまでは,LANアナライザによるパケット・キャプチャでトラフィック情報を収集する前提で話を進めてきました。しかし,ネットワークの世界には,このパケット・キャプチャ以外にもトラフィックに関するさまざまな情報を収集するための技術やプロトコルが存在します。例えば,SNMP RMON,sFlow,NetFlowなどが代表例です。本格的にトラフィックを管理しようとすれば,情報を取捨選択するのに労力がかかるLANアナライザによるパケット・キャプチャよりもこれらの利用が便利です。それぞれの詳細は第2部以降で解説することにして,今回はざっくりとこれらの技術の概要を押さえておきましょう。

SNMP RMON

 SNMP RMON(Remote Monitoring)は,最も古くからあるトラフィック管理技術です。RMONによるトラフィック管理には,専用装置またはLANスイッチなどに内蔵された「RMONプローブ」を使います。RMONプローブは,測定対象の回線やポート,VLANなどからパケットをキャプチャして解析し,統計情報として保存する機能を提供します。これらの統計情報は,「RMON MIB」と呼ばれる一種のデータベースになっています(図10)。

図10●RMONの概念
図10●RMONの概念  [画像のクリックで拡大表示]

 管理ステーション(SNMPマネージャなど)は,SNMPを使ってRMONプローブのRMON MIBにアクセスします。RMON MIBには,「RMON-1」と「RMON-2」の二つのバージョンがあります。RMON-1は最初のRMON MIBで,主にデータリンク層の統計やMACアドレス別の統計マトリックスに対応したものです。RMON-2は,ネットワーク層(IP)やトランスポート層(TCP/UDP)をはじめとする,より上位層の情報を取得できるようにRMON-1を拡張したものです。

 現在ではRMON MIBはさらに拡張されており,スイッチに対応したもの(SMON),大容量ネットワークに対応したもの(HCRMON),アプリケーション層の管理に対応したもの(APM),トランスポート層の管理に対応したもの(TPM)などが定義されています。これらは「RMON MIBファミリー」と呼ばれます。しかし,実際のネットワーク機器では,とくに安価な製品だとRMON-1の一部にしか対応していないのが実情です。高価な製品でもRMON-1のフル実装かRMON-2までしか対応していない機種がほとんどです。これは,RMONに対応させるには多くのリソース(CPUパワー,メモリー)が必要になるため,低価格化が進むLANスイッチにそれだけのコスト(開発コストも含む)をかけられないという事情があるためでしょう。

 ほとんどのインテリジェント・タイプのLANスイッチを販売するベンダーではRMON対応をうたっていますが,上述のように安価な製品はRMON-1の一部にしか対応していません。SNMPやトラフィック管理に多少詳しい人はRMONを使えばトラフィック管理ができると思いがちですが,実際にはそう簡単ではないということは覚えておくとよいでしょう。RMONに関する詳細は,第2部でまた解説します。

sFlow

 sFlowは,米インモン(InMon)が開発した技術です。統計的サンプリング技術に基づくもので,仕様はsFlowのサイトで公開されています。現在公開されている最新の仕様としては,sFlowV4(RFC3176)とsFlowV5があります。一方,市場に出ている導入可能な機器はsFlowV2を実装しています。sFlowV4とsFlowV5にはさほど違いはありませんが,sFlowV2はほかのものと仕様が大きく違うので注意が必要です。

 sFlowは,基本的にLANスイッチに内蔵され,管理対象のポートやVLANを流れるパケットをキャプチャして,指定された割合のサンプリング・パケット(ヘッダーのみやログイン・ユーザー情報など)だけを管理ステーション(sFlowの場合は,「コレクタ」と呼ぶ)に送信します。同時に,指定された間隔で管理対象のポート単位の統計情報(送受信パケット,バイト数,エラー数)も管理ステーションに送信します(図11)。

図11●sFlowの概念
図11●sFlowの概念  [画像のクリックで拡大表示]

 これらの情報は,UDPベースのsFlowパケットで送信されます。送信される情報自体は非常にシンプルなものであるため,送信側のネットワーク機器では多くがsFlowの機能をハードウエア(ASIC)で実装しています。このため高速なネットワークに対応可能です。管理ステーションでは,受信した情報を基に,統計的な手法でトラフィック管理に必要な情報を計算します。

 例えば,あるノードが送信したパケット数は,該当するサンプル・パケットの数の割合と,ネットワーク機器で送信されたパケット数(実数)から計算するという具合です。このようにsFlowは統計的処理で計算するため,サンプル数が少ない場合,誤差が発生するという欠点があります。sFlowに対応したネットワーク機器は,米ファウンドリ・ネットワークス,米HP,日立製作所などが販売しています。sFlowに関するの詳細は,第3回で解説します。

NetFlow

 NetFlowは,米シスコシステムズが開発したトラフィック管理用技術です。主にシスコ製のルーターやLANスイッチにソフトウエア機能(IOSの拡張機能)として実装されていますが,ほかのベンダーのネットワーク機器でもサポートしている製品があります。NetFlowは,ネットワーク機器上で「フロー」(TCP,UDPやICMPのあて先,送信元のIPアドレスとポート番号の組み合わせで識別するセッション)単位でパケット数やバイト数を集計し,集計データをUDPベースのNetFlowパケットで管理ステーション(NetFlowでも「コレクタ」と呼ぶ)に送信します(図12)。

図12●NetFlowの概念
図12●NetFlowの概念  [画像のクリックで拡大表示]

 NetFlowには多くのバージョンがあります。一般的なのは,Ver.5ですが,最新のVer.9は,RFC3954で公開されています。Ver.5では,NetFlowパケットのフォーマットが固定的なため,限られた情報しか転送できませんが,Ver.9では「テンプレート」という機能により,NetFlowパケットのフォーマットが拡張可能になり,柔軟性のある情報転送が可能になっています。インターネットで使われる技術の標準化を行う団体であるIETF(internet engineering task force)の「IP Information Export」(IPFIX)ワーキング・グループでは,このNetFlow Ver.9をベースに次世代のトラフィック管理のインターネット標準技術を検討しています。NetFlowに関しては,第4部で解説予定です。

山居 正幸

(有)トゥワイズ・ラボ代表取締役
1961年北海道生まれ。北見工業大学卒業後,日立エンジニアリング,アスキー,ソリトンシステムズを経て,1999年7月トゥワイズ・ラボを設立。現在は,SNMP関連の管理ソフトや安価なWindows版侵入検知ソフトの開発を行っている。TCP/IPやSNMPに関連する著書もある。趣味はサッカー観戦で,浦和レッズを家族ぐるみで応援している。