Setsockopt が IP パケット ヘッダーで IP プロトコルの TOS ビットを設定できない

文書翻訳 文書翻訳
文書番号: 248611 - 対象製品
この記事は、以前は次の ID で公開されていました: JP248611
重要 : この資料には、レジストリの編集に関する情報が含まれています。レジストリを編集する前に、問題が発生した場合に備えて、レジストリの復元方法を理解しておいてください。復元方法の詳細については、Regedit.exe のヘルプ トピック「レジストリを復元する」、または Regedt32.exe のヘルプ トピック「レジストリ キーを復元する」を参照してください。
すべて展開する | すべて折りたたむ

概要

Windows 2000 では、setsockopt 関数によるインターネット プロトコル (IP) の Type of Service (ToS) ビットの設定はサポートされていません。

詳細

Windows NT 4.0 と Windows 9x では、Winsock アプリケーションは、IP_TOS オプションを使用して setsockopt 関数を呼び出すことによって、UDP と ICMP パケットの IP ヘッダーで ToS ビットを設定することができます。それらのプラットフォームの ping ユーティリティについても、"-v" オプションを使用することにより、ICMP Echo パケットでの ToS ビットの設定を許可します。TCP ソケットで IP_TOS オプションを使用した setsockopt 呼び出しが 0 (正常) を返しても、Winsock では TCP パケットの ToS ビットの設定ができるようになっていないことに注意してください。

Windows 2000 では、Winsock アプリケーションと ping ユーティリティの ToS ビットの設定機能がデフォルトで無効になっています。Windows 2000 で setsockopt 関数の IP_TOS オプションを設定しようとすると、依然として 0 (正常) を返してアプリケーションは実行され続けますが、IP ヘッダーの ToS ビットは設定されません。

Windows 2000 でこの仕様に変更されたのは、RFC (Request For Comment) 1349 で指定されている以前の ToS ビットおよび優先順位 (precedence) ビットが RFC 2474 と 2475 で古くなったためです。これらの RFC により、ToS が Differentiated Services (DiffServ) に置き換えられました。

DiffServ Code Point (DSCP) により、ルータのようなレイヤ 3 の情報に影響するネットワーク デバイスを通過するパケットが、お互いに区別される相対優先度を持つようになります。DSCP は、IP ヘッダーで ToS フィールドの最初の 6 ビットを設定することによって確立されます。DSCP は、IP 優先順位を決定する機能を前提としていますが、後方互換性を維持しています。DSCP マーキングにより、レイヤ 3 デバイスは集約された優先順位ベースのキューを確立し、より高い相対優先度を持つパケットにより、より強化されたサービスを提供することができます。

これは、ストリーム メディアのプレゼンテーションと他のリアルタイム データ ストリームに関連する著しいネットワーク トラフィックの負荷がある場合と同様に、パケット サービスがキューに従う場合に特に有用です。DSCP を有効にするには、レイヤ 3 デバイスで DSCP が有効になっている必要があります。

Windows 2000 ホスト デバイスでは、GQOS (Generic Quality of Service) の実装により DSCP 設定が決定されます。Winsock GQOS プログラムは、RSVP サービス プロバイダをトリガし、ネットワーク データ パスに沿ってポリシー コントロールおよびリソースの利用可能性を判定するためにポリシーとリソースのチェックを送信します。意図したリソースの使用が承認されると、QOS パケット スケジューラ サービスにより IP パケット ヘッダーで DSCP の優先順位化が設定されます。Setsockopt 関数の IP_TOS オプションは Windows 2000 QOS ポリシー コントロールを省略するため、Windows 2000 ではデフォルトで無効になっています。

マイクロソフトでは、Winsock プログラムで GQOS を実装し、Windows 2000 GQOS 機能を利用することをお勧めします。しかし、後方互換性のために Windows 2000 で Windows NT 4.0 の IP_TOS に類似した現象を考慮するには、Windows 2000 で新しいレジストリ キーを追加します。

警告 : レジストリ エディタの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要です。マイクロソフトは、レジストリ エディタの誤用により発生した問題に関しては、一切責任を負わないものとします。レジストリ エディタは、自己の責任においてご使用ください。

レジストリの編集方法の詳細については、レジストリ エディタ (Regedit.exe) のヘルプ トピック「キーと値の変更」、または Regedt32.exe のヘルプ トピック「レジストリ情報の追加と削除」と「レジストリ情報の編集」を参照してください。レジストリを編集する前にレジストリのバックアップを必ず作成してください。Windows NT または Windows 2000 を実行している場合、システム修復ディスク (ERD) も更新する必要があります。

次の手順に従って、Windows 2000 で Winsock setsockopt 関数の IP_TOS オプションと ping ユーティリティの -v オプションを有効にします。
  1. レジストリ エディタ (Regedt32.exe) を起動します。
  2. 次のキーに移動します。
    ローカル コンピュータの HKEY_LOCAL_ MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\ 
    
    : 上記のレジストリ キーは 1 つのパスです。
  3. [編集] メニューの [値の追加] をクリックし、DisableUserTOSSetting と入力します。[データ型] ボックスの [REG_DWORD] をクリックし、[OK] をクリックします。
  4. 表示される ダイアログ ボックスに 0 を入力します。
  5. レジストリ エディタを終了して、コンピュータを再起動します。
IP_ToS オプションを効果的に置き換えた QoS (Quality of Service) アプリケーション プログラミング インターフェイス (API) の使用およびアプリケーションについては、MSDN オンラインを参照して QoS を検索してください。

トラフィックの優先順位付けの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
222102 Traffic Prioritization Using IP Precedence
222020 Description of 802.1P Signaling
222020 [NT]802.1P 信号方式について
233039 QoS Queuing Techniques

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 248611 (最終更新日 2001-08-08) をもとに作成したものです。

プロパティ

文書番号: 248611 - 最終更新日: 2003年8月22日 - リビジョン: 3.0
この資料は以下の製品について記述したものです。
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT 4.0 Service Pack 5
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Server
キーワード:?
kbinfo kbnetwork KB248611
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com