連載
» 2001年05月19日 00時00分 公開

基礎から学ぶネットワーク構築(6):Windows標準ツールを使ったトラフィック計測

[篠原光太郎,@IT]

ネットワークのトラフィックを観察してみる

 では、皆さんのネットワークにどれだけのトラフィックが流れているかを、実際にツールを使って観察してみましょう。トラフィックを監視/解析するためのツールを、一般的に「ネットワークモニタ」や「ネットワーク・アナライザ」と呼びます。ネットワーク・アナライザは、専用のマシンを用いるものや、Windows上で実行できるソフトウェアタイプのものなど、現在では選択肢が多くなってきています。ここでは、入手のしやすいツールをメインに利用していきたいと思います。

 まずは、Windows NTやWindows 2000に付属の、パフォーマンス・モニタを利用して、トラフィック量の概要をチェックします。トラフィックを計りたいネットワークに接続されたPCかサーバを1台選び、下記の操作を実行します。ここでは、Windows 2000での操作をメインに紹介します。

画面2 パフォーマンス・モニタの起動画面(画面をクリックすると拡大表示します) 画面2 パフォーマンス・モニタの起動画面(画面をクリックすると拡大表示します

【パフォーマンス・モニタを使ったトラフィックの監視】

「+」アイコンをクリックし、「カウンタの追加」ウィンドウを表示させる

(1)スタートメニューから、「プログラム」→「管理ツール」→「パフォーマンス」を選択し、パフォーマンス・モニタを起動する(画面2

(2)「+」アイコンをクリックし、「カウンタの追加」ウィンドウを表示させる

(3)「パフォーマンスオブジェクト」ドロップダウンリストから、「Network Interface」を選択する(画面3

(4)右下のインスタンスリストから、トラフィックを計るネットワークに接続されているNICを選択する。ここでは、「INTEL[R] PRO Adapter」を選択した(画面4

(5)カウンタの一覧から必要なカウンタを選択し、「追加」ボタンを押す

(6)必要なカウンタの追加がすべて終了したら、「カウンタの追加」ウィンドウを閉じる

画面3 カウンタの追加ダイアログで「Network Interface」を選択する(画面をクリックすると拡大表示します) 画面3 カウンタの追加ダイアログで「Network Interface」を選択する(画面をクリックすると拡大表示します
画面4 インスタンスの一覧から、トラフィックを計測するネットワークに接続されたNICを選択する(画面をクリックすると拡大表示します) 画面4 インスタンスの一覧から、トラフィックを計測するネットワークに接続されたNICを選択する(画面をクリックすると拡大表示します

 「Network Interface」オブジェクトで取得可能なカウンタは以下のリストのとおりです。通常使用するカウンタは、を参考にしてください。

カウンタ 説明
Bytes Received/sec 1秒間に受信したバイト数
Bytes Sent/Sec 1秒間に送信したバイト数
Bytes Total/Sec 1秒間に送受信したバイト数。イーサネットの場合は、セグメントの利用帯域幅を計測するために使用することが可能
Current Bandwidth ネットワークの総帯域幅。イーサネット 10BASE-Tの場合は10,000,000(bps)となる
Output Que Length 送信キューの待ち行列の長さ。通常は0
Packets Outbound Discarded ネットワークのエラーではなかったにもかかわらず送信されなかったパケット数
Packets Outbound Errors ネットワークのエラーで送信できなかったパケット数
Packets Received Discarded パケットをネットワークから受信し、上位プロトコルへパケットを受け渡す際のエラーは発生しなかったにもかかわらず、破棄されたパケット数
Packets Received Errors パケットをネットワークから受信し、上位プロトコルへパケットを受け渡す際にエラーが発生したパケット数
Packets Received Non-Unicast/Sec 1秒間にネットワークから受信したブロードキャスト/マルチキャスト(1対多)のパケット数
Packets Received Unicast/Sec 1秒間にネットワークから受信したユニキャスト(1対1)のパケット数
Packets Received Unknown 受信した非サポート・プロトコルのパケット数
Packets Received/Sec 1秒間に受信したパケット数
Packets Sent Non-Unicast/Sec 1秒間に送信したブロードキャスト/マルチキャスト(1対多)のパケット数
Packets Sent Unicast/Sec 1秒間に送信したユニキャスト(1対1)のパケット数
Packets Sent /Sec 1秒間に送信したパケット数
Packets/Sec 1秒間に送受信したパケット数

 「Bytes Total/Sec」を「Packets/Sec」で割ると、平均のパケット長を求めることができます。

 このほかにも、ネットワークのトラフィックを知るために有用なオブジェクトが幾つかありますので、紹介しておきましょう。

カウンタ 説明
IP IPプロトコル関連のカウンタ
TCP TCPプロトコル関連のカウンタ
NBT Connections NetBTプロトコル関連のカウンタ

スイッチング・ハブ環境でのトラフィックの計り方

 スイッチング・ハブが導入された環境では、トラフィックの計測は多少工夫する必要があります。それは、スイッチング・ハブの特性により、ネットワーク全体のトラフィックが特定の端末のポートに流れてこないからです。つまり、ある特定の端末でトラフィックを計ったとしても、それは、スイッチング・ハブの特定のポートのトラフィックしか観察することができない、ということです。

図12 スイッチングハブ構成のトラフィックの流れ。スイッチングハブに管理用端末を接続してもパケットが届かない 図12 スイッチングハブ構成のトラフィックの流れ。スイッチングハブに管理用端末を接続してもパケットが届かない

 これを解消するためにはどのようにしたらよいのでしょうか。スイッチング・ハブのメーカー各社は、各ポートのトラフィックを計測するために、RMON(リモートモニタリング)という仕組みを提供しています。RMON自身はネットワークを監視するための「SNMP」(Simple Network Management Protocol)というプロトコルの一部です。RMONでのネットワーク監視に対応するために、スイッチング・ハブは各ポートのトラフィックなどの情報を取得し保存します。専用のネットワーク監視ソフトからRMONプロトコルでスイッチング・ハブにアクセスをし、トラフィックなどの情報を入手することができます。

図13 RMONの概念図。管理端末からSMTPを使ってRMON対応機器に問い合わせを行うことで、各種の情報を取得することができる 図13 RMONの概念図。管理端末からSMTPを使ってRMON対応機器に問い合わせを行うことで、各種の情報を取得することができる

 ところが、RMONに対応したスイッチング・ハブもそれを監視するネットワーク監視ソフトも、そんなに安いものではありません。そこで、一番単純な方法は、「サーバを起点としたトラフィック」を観察することです。前述のトラフィックパターンを思い出していただけると分かるとおり、トラフィックのほとんどは、特定のサーバを起点とした通信になっていたと思います。

 ピア・ツー・ピアでWindowsのクライアントPCがフォルダを共有化し、ほかのPCからアクセスを受け付けることも可能ですので、トラフィックとしては考慮する必要があります。ところが、「トラフィック量」を知りたい、という目的からすると、ピア・ツー・ピアが全体の何割を占めるかというと、ほとんど無視して構わないレベルではないでしょうか。全体の傾向と特性を知りたければ、サーバや外部向けのルータなど、クライアントが特にアクセスしに行く場所、つまり、トラフィックが集中するところを起点にトラフィックを観察すれば十分であるということです。

図14 図12の問題に対処するためには、スイッチングハブとサーバの間にリピータハブを追加し、そこに管理用端末を接続すればいい

サーバのトラフィックの計り方

 では、サーバのトラフィックを計るにはどうしたらよいでしょうか。一番簡単な方法としては、サーバがWindows NTかWindows 2000であれば、そのマシンでパフォーマンス・モニタを動かす、という方法があります。

 また、パフォーマンス・モニタには、リモートマシンのパフォーマンスをリモートで計測する、という機能が含まれていますが、ネットワークのパフォーマンスを計るためにこの機能を使うことはあまり得策とはいえませんね。パフォーマンス・モニタのトラフィックも、計測の対象となるネットワークのトラフィックとなるからです。

 Windows NTやWindows 2000のサーバ以外でも使える方法としては、以下の2つの方法が考えられます。

(1)スイッチング・ハブに「モニターポート」が付いていればそのポートに監視用の端末を接続する

(2)スイッチング・ハブとサーバの間にカスケードハブを接続し、そのハブから監視用の端末を接続する

 特に、(1)で紹介した「モニターポート」はあると便利です。(2)の方法だと、スイッチング・ハブに接続されている監視対象のサーバやルータの数だけカスケードハブを準備しなくてはならなくなるため、あまり効率はよくありません。また、(2)の方法だと、あらかじめハブを設置しておかない限り、何らかの時点でサーバやルータのサービスをいったん停止する必要があるため、タイムリーに計測できるようにするためには、サーバの設置時点でハブを設置しておく必要があります。

トラフィックの傾向

 皆さんのネットワークのトラフィックがどの程度あるか、見ることができたでしょうか。普段、遅い、と感じる割には「あまり流れていない」と思われたのではないでしょうか。

  イーサネットで通常感じられる遅さは、局所的なものであることが多いのです。つまり、常時ネットワークが込んでいて遅い、という状態よりは、だれかが大きなファイルを転送していて、たまたまそのときにほかのことをやろうと思った人が遅く感じる、という場合です。このようなときは、そのタイミングがずれれば、ネットワークの混雑は解消されたかのように感じます。

 あとは、業務のパターンによる経時変化があるでしょう。これは、例えば、朝の始業時と、昼食休憩後の1時、終業前の5時前後が、特にトラフィックが多い、などです。さらには、1カ月の中でのトラフィックパターン、季節の中でのトラフィックパターン、年間の中でのトラフィックパターン、などが考えられます。

 来るべき障害に備えるためには、なるべく多くの正常時のトラフィック量を計測しておくべきです。何らかの時点で突然トラフィックが多くなりレスポンスが悪化した場合、それが障害によるものなのか、業務のパターンの変化によるものなのかを見分ける大きな材料になります。

もう少しミクロなトラフィックの観察

 Windows NTやWindows 2000に付属のパフォーマンス・モニタでも、ある程度のトラフィックの特性は見ることができましたね。今度は、トラフィックがどこからどの程度発生し、どこに流れていくのかをもっと詳しく調べてみましょう。

ネットワークモニタによるトラフィックの監視

 Windows NT ServerやWindows 2000 Serverには、「ネットワークモニタ」というツールが付属しています。ネットワークモニタを使うと、パフォーマンス・モニタよりも詳細な監視を実施することが可能です。もともと、Microsoft Systems Management Serverに付属のツールですが、Windows NT ServerやWindows 2000 Serverに付属のバージョンは、一部機能制限がかかっています。

 ネットワークモニタを使用して監視できる主なポイントは次の2つです。

(1)トラフィックの送信アドレス〜受信アドレスのペアのパケット数統計

(2)キャプチャしたパケットの解析表示

【ネットワークモニタのインストール】
ネットワークモニタは標準セットアップではインストールされないので、以下の手順でインストールしてください

(1)コントロールパネルから「アプリケーションの追加と削除」を起動する

(2)「Windowsコンポーネントの追加と削除」をクリックする

(3)リストの中から「管理とモニタツール」をチェックし、「次へ」ボタンをクリックする

画面5 コントロールパネルから「アプリケーションの追加と削除」を起動し、「Windowsコンポーネントの追加と削除」を選択する(画面をクリックすると拡大表示します) 画面5 コントロールパネルから「アプリケーションの追加と削除」を起動し、「Windowsコンポーネントの追加と削除」を選択する(画面をクリックすると拡大表示します
画面6 一覧の中から「管理とモニタツール」にチェックを入れ、「次へ」ボタンを押す(画面をクリックすると拡大表示します) 画面6 一覧の中から「管理とモニタツール」にチェックを入れ、「次へ」ボタンを押す(画面をクリックすると拡大表示します

【ネットワークモニタの使用】

(1)スタートメニューから「プログラム」→「管理ツール」→「ネットワークモニタ」を選択し、ネットワークモニタを起動する

(2)「ネットワークの選択」ウィンドウが表示されるので、監視をしたいネットワーク・インターフェイスを選択する

 ここで、ネットワーク接続名が表示されるわけではないので、一瞬どれを選択すればよいのか戸惑うでしょう。正確に選択するのであれば、「MacAddress」欄に表示されているMACアドレスが、監視をしたいNIC(ネットワーク・インターフェイス・カード)のMACアドレスか否かを確認すればよいでしょう。イーサネットではMACアドレスはNICに設定してある固有のアドレスです。通常は、NICにシールなどで記述されています。

(3)「F10」もしくはメニューから「キャプチャ」→「開始」を選択すると、監視を開始します

画面7 ネットワークモニタの実行画面(画面をクリックすると拡大表示します) 画面7 ネットワークモニタの実行画面(画面をクリックすると拡大表示します

 ネットワークが使用中であれば、「ネットワーク使用率」グラフや「フレーム/秒」、「バイト/秒」などが伸び縮みするはずなので、監視中であることはすぐに分かると思います。

 ウィンドウ左側の真ん中の欄が、送信アドレスと受信アドレスでのパケット数の集計です。この欄に表示される情報を監視することにより、どのマシンとどのマシンの間のトラフィックが多いか、という点において、パケット数を頼りに予想できるようになります。表示されているのはあくまでパケット数なので、帯域使用率とは異なる点に注意しましょう。

 もう1つの機能である「パケットの解析表示」機能を次に使用してみましょう。パケットの解析表示をさせるためには、いったんキャプチャを停止する必要があります。

(1) メニューから「キャプチャ」→「停止」を選択する

(2)メニューから「キャプチャ」→「キャプチャデータの表示」を選択する

画面8 ネットワークモニタのパケット解析画面(画面をクリックすると拡大表示します

 ここで表示されているリストが、NICで送受信したパケットのすべてです。ここでは、「00022D1B2D73」というMACアドレスを持った機器と、ネットワークモニタを実行しているコンピュータ(LOCAL)との間で、順にパケットが送受信している様子が分かりますね。

  どれか1つパケットを選択すると、ウィンドウが3つに分かれて、真ん中のウィンドウにプロトコルの解析結果が、下のウィンドウにパケットのダンプが表示されます。プロトコルの解析結果は、一番左の+印をクリックすると、エクスプローラのように階層表示されます。

 プロトコルの解析機能は、何らかのネットワークトラブルに対して対処する際に役立つ機能ですが、それ以外でも、ネットワーク・プロトコルを学習するためには非常に有効なツールです。ぜひ使ってみてください。

そのほかのツール

 Windows NT ServerやWindows 2000 Serverをお持ちでない方は、フリーソフトや商用ソフトで以下のようなツールを入手することも可能です。

名称 概要 価格
Ethereal パケットのキャプチャと解析機能 無料
FreePeek パケットのキャプチャと解析機能 無料
PacMon パケットのキャプチャと解析機能、および、フレームタイプのグラフ表示など 1万円
Observer パケットのキャプチャと解析機能、および、長期間ネットワークトレンド機能など 14万8000円〜

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。