Windows TIPS
[Network]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

TCP/IPのレジストリ・パラメータを知る

―― TCP/IPプロトコル・スタックの実装依存パラメータを設定/確認する ――

デジタルアドバンテージ 打越 浩幸
2007/12/21
対象OS
Windows NT
Windows 2000
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
ネットワーク・プロトコルを実装する場合、規格では具体的に決められていない、さまざまなオプションや選択肢、タイムアウト、制限値など、実装に依存する項目を決める必要がある。
Windows OSのTCP/IPプロトコル・スタックでは、これら多くの実装依存パラメータはオプション・コンポーネントとレジストリ値で定義され、参照/変更できるようになっている。
TCP/IP関連のパラメータのレジストリ情報は、OSごとに「TCP/IP Implementation Details」というドキュメント・ファイルにまとめられているので、参考にするとよい。

解説

ネットワーク・プロトコルの「規格」と「実装」

 TCP/IPを始めとするネットワーク・プロトコルは、RFCなどの規格書によって定義され、それに基づいて「実装(インプリメント)」されている。だが規格書だけを頼りに完全に動作するプロトコル・スタックを作成することはできないし、相互に接続させると、うまく通信できないといった問題が発生することもある。規格には、オプション項目(実装してもよいし、しなくてもよい項目)や選択項目(複数の機能のうち、どれか1つを選んで実装する。異なる選択肢だと通信できないこともある)、実装依存項目(タイムアウト時間や許容値の上限といった項目)などが多く含まれているのが普通であり、実装者がそれらをどのように解釈/実現するかで、機能や性能、相互接続性などに影響を与えるからだ。ほかの「実装」と実際に通信してみて、初めて分かる実装上の問題点などもあるので(場合によっては規格そのものの不具合が見つかり、改定/変更されることもある)、規格への準拠だけでなく、ほかの実装やネットワーク環境などに合わせて調整する必要もある。

Windows OSにおける実装依存項目の一覧をまとめた「TCP/IP Implementation Details」ドキュメント

 以上のような実装依存の項目を、現実のネットワーク・プロトコル・スタック上でどのように扱うのかは実際の実装者に任されているが、Windows OSの場合は、オプション・コンポーネントとレジストリ設定などによって実現している。

 例えばRIP(Routing Information Protocol)というルーティング・プロトコルの受信機能は、「RIPリスナ」というネットワーク関連のオプション・コンポーネントをインストールすることで対処している(TIPS「RIPプロトコルでルーティング情報を受信する(クライアント編)」参照)。ほかにも、ネットワーク関連のコンポーネントはいくつか用意されている。

 これに対し、例えばARPの有効時間(受け取ったARP応答がARPキャッシュ中で有効な時間)などといった基本的かつ重要な項目は、レジストリを使って設定していることが多い(この例ならArpCacheLifeなどのレジストリ・エントリに有効秒数を記録している)。

 このように、ユーザーが変更可能なコンポーネントやレジストリを利用することにより、さまざまなネットワーク環境に柔軟に対応できるようになっている。

Windows OSにおける実装依存項目の一覧をまとめた「TCP/IP Implementation Details」ドキュメント

 TCP/IPのプロトコル・スタックがどのように実装され、実装依存項目がどのようになっているかという詳細は、一般ユーザーはあまり知る必要はないが、ネットワーク管理者にとっては重要である。特にトラブルシューティング作業でパケットをキャプチャして解析するような場合には、どのように動作しているかを知っていないと、なぜそのような動きをしているのか理解できないこともある(例えばタイムアウト時には、何回、どの程度の間隔でリトライするか、など)。

 Windows OSにおいて、TCP/IPのプロトコル・スタックがどのように実装され、実装依存項目がどのようになっているか、どのレジストリ・エントリを使っているかなどの情報は、マイクロソフトのサイトにおいて、「TCP/IP Implementation Details」などのドキュメントにまとめられ、公開されている(基本的には英語のみで提供されている)。このドキュメントはOS別に異なるものが提供されているし、何度か改訂されている(Service Packで新しいプロトコルが導入されることがあるので、それに合わせて改訂されることもある)。

 2007年12月現在、以下のようなドキュメントが提供されているので、OSのバージョンに合わせて参照してほしい。ただし新しいOSでは、より新しい(もしくは改良された)プロトコルがサポートされているので、可能な限り最新のものを入手していただきたい。最新のものはマイクロソフトのサイトで「TCP/IP Implementation Details」などをキーワードにして検索するとよい。

Microsoft Windows Server 2003 TCP/IP Implementation Details(.DOCファイル)
  Windows Server 2003/Windows XP向けドキュメント。ただしドキュメントのバージョンが1.0となっており、次のドキュメントの元ファイルだと思われるが、内容は若干異なる。

Microsoft Windows Server 2003 TCP/IP Implementation Details(.DOCファイル)
  これも同じくWindows Server 2003/Windows XP向けドキュメント。ただしドキュメントのバージョンが2.4で、上のものより新しい。通常はこちらを参照のこと。Windows Server 2003だけでなく、Windows XPの情報も含んでいる(これら2つのOSのTCP/IPプロトコル・スタックはほぼ同じもの)。

Microsoft Windows 2000 TCP/IP Implementation Details(.DOCファイル)
 Microsoft Windows 2000 TCP/IP Implementation Details(Technetオンライン)
 Technical Reference to the Windows 2000 Registry Start Page(Technetオンライン)
  Windows 2000(Windows 2000 Server/Windows 2000 Professional)向けドキュメント。上の2つはImplementation Detailsのドキュメントで、3つ目はTCP/IP関連のレジストリだけをまとめたリファレンス。いずれもWindows 2000のリソース・キットに含まれていたものと同じである。

TCP/IP Implementation Details(Windows NT Server Resource Kit)
 Windows NTに関するドキュメント。 Windows NTのリソース・キットに含まれていた、TCP/IP Implementation Detailsのヘルプ・ファイルをオンラインで参照可能にしたもの。

TCP/IP Registry Values for Microsoft Windows Vista and Windows Server "Longhorn"(.DOCファイル)
  Windows VistaおよびWindows Server 2008(次期Windows Server OS)関連のレジストリ情報。なおWindows Vista/Windows Server 2008のネットワークに関する情報は「Next Generation TCP/IP Stack(マイクロソフト)」を参照していただきたい。End of Article

「Windows TIPS」


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

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間