[Network] | ||||||||||||||
TCP/IPのレジストリ・パラメータを知る―― TCP/IPプロトコル・スタックの実装依存パラメータを設定/確認する ――
|
||||||||||||||
|
解説 |
ネットワーク・プロトコルの「規格」と「実装」
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(マイクロソフト)」を参照していただきたい。
この記事と関連性の高い別の記事
- Windows OSのTCP/IP設定をリセットする(TIPS)
- ノートPCのTCP/IP設定を簡単に切り替える方法(netshコマンドを使ったネットワーク設定の高速切り替え)(TIPS)
- リソース・キット付属のレジストリ・リファレンスを活用する(TIPS)
- サーバ用管理ツールをクライアントPCにインストールする(TIPS)
- Windowsのポート445(ダイレクト・ホスティングSMBサービス)に注意(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|