運用

Windowsネットワーク・プロトコルの理解と検証
― プロトコル・アナライザを使ってネットワーク・トラフィックを解析する ―

第1回 ネットワーク・モニタの基本的な使い方

デジタルアドバンテージ
2003/08/07

ネットワークの理論と実際

 ネットワーク・プロトコルを簡単にいえば、コンピュータ同士がお互いに通信するための規約や決まりごとである。人間同士のコミュニケーションに例えるならば、日本語や英語などの「言語」(や「文化」)に相当するといえるだろう。ネットワーク・プロトコルを理解するということは、実はこの言語(および、その背景となる文化)を理解するということと似ている。外国語を学ぶには、単語や文法だけをいくら暗記してもうまくはならない。やはり実際に外国語を話したり、実際に使われている会話を聞いたりする必要があるだろう。ネットワーク・プロトコルを習得する場合も同様である。プロトコルの規格書を読んだり、参考書に書かれていることを暗記したりするだけでは完全に理解できたとはいえず、実際のネットワーク上を流れているパケットをキャプチャして、自分の目で確認して初めてプロトコルの実際の意味や動きが理解できるようになる。

 例えば、WebブラウザでどこかのWebサイトをブラウズするとする。こういう場面では、HTTPプロトコルが利用されるということは知っているかもしれないが、実際にはそれ以外にもさまざまなプロトコルがネットワーク上を行き来している。ARPやルータ・ディスカバリ、DNSサーバやProxyサーバへの問い合わせなども使われていることが分かるだろう。またファイル・サーバへのアクセスでは、SMBプロトコルだけでなく、WINSサーバやNetBIOSなどを使った名前解決も行われるだろうし、ファイルの読み書きの前には、SMBのセットアップ(セッション・セットアップ)なども行われている。

 また、ネットワーク・プロトコルを理解、学習する上で大切なこととして、「規格(理論)」と「実装」の違いを正しく意識する、ということがある。規格は規格書に書かれているが、それを解釈して実際のシステム(「実装」)に組み上げるのが実装者の仕事である。よく、ネットワーク・プロトコルの○○は、RFCのXXX番に記述されているなどということがある。だがこのプロトコルの定義を覚えただけでは、ネットワークのプロトコルを理解したとはいえない。規格書には、そのプロトコルに関するすべての情報や規定などが記述されており、それに従えば、どのようなネットワーク機器でも何の問題もなく相互に接続できると思われがちであるが、実際には未定義な部分や細かな解釈の差異を招くあいまいさなどもあり、そうはなっていない。

 例えば、規格書で「接続が失敗した場合にはリトライを行う」となっていたとしても、何回リトライを行うかとか、リトライのタイミング(どのくらい待ってからリトライするのか、どのくらいの間隔でリトライをするのか、など)は規格としては決めていないことがほとんどである。それぞれの「実装」によってこれらのパラメータが少しずつ異なり、結果としてうまく接続できなかったり、たとえ接続できでもパフォーマンスが上がらなかったりする(このような不具合などを解消するために、規格が改訂されることもよくある)。

 どこまでが規格によって決められている動作で、どこからが実装に依存している動作なのか、これを正しく区別して理解することが、ネットワーク・プロトコルを理解するうえで大切である。そのためは、規格書をよく読むことはもちろんのこと、多くの「実装」に触れてみて、その違いを意識するようにしかない。そのためにも、実際の「生のネットワーク・トラフィック」に触れてみることは非常に重要である。今回と次回では、そのための第一歩として、ネットワークのパケットをキャプチャして、解析するためのツールについて解説する。

 

 INDEX
  [運用]Windowsネットワーク・プロトコルの理解と検証
第1回 ネットワーク・モニタの基本的な使い方
    1.ネットワーク・モニタとは
    2.ネットワーク・モニタの準備
    3.パケットのキャプチャ
    4.キャプチャしたパケットの解析
 
 運用


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間