MS-DOS クライアントから Windows 2000 へのコピーが遅い

この記事は、以前は次の ID で公開されていました: JP244826
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
重要 : この資料には、レジストリの編集に関する情報が含まれています。レジストリを編集する前に、問題が発生した場合に備えて、レジストリの復元方法を理解しておいてください。復元方法の詳細については、Regedit.exe のヘルプ トピック「レジストリを復元する」、またはRegedt32.exe のヘルプ トピック「レジストリ キーを復元する」を参照してください。
現象
TCP/IP プロトコルで MS-DOS クライアントから Windows 2000 ベースのコンピュータにファイルをコピーするときに、長い時間がかかります。

: MS-DOS クライアントから Microsoft Windows NT 4.0 または Microsoft Windows 95/98 が実行されているコンピュータにファイルをコピーする場合、または Windows 2000 コンピュータから MS-DOS コンピュータにファイルをコピーする場合、長い時間はかかりません。
原因
これは、MS-DOS クライアント側が送信パケットの一部を廃棄するためです。Windows 2000 では、イーサネットのデフォルトの TCP 受信ウィンドウ サイズが 17 KB に設定されています (Windows NT 4.0 では 8 KB)。MS-DOS 側は、受信側のバッファを満たそうとして back-to-back パケットを送信し、その結果、自身のネットワーク アダプタがあふれます。MS-DOS のリアル モードのネットワーク アダプタ ドライバは、MS-DOS TCP/IP スタックから送られてくるパケット ストリームに追いつくことができず、一部のパケットが失われます。ネットワーク アダプタ ドライバは、これらのパケットを送信する前に廃棄します。
解決方法
警告 : レジストリ エディタの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要です。Microsoft は、レジストリ エディタの誤用により発生した問題に関しては、一切責任を負わないものとします。レジストリ エディタは、自己の責任においてご使用ください。

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

この問題を避けるには、Windows 2000 の TCP 受信ウィンドウ サイズを 8 KB 以下に設定します。
  1. レジストリ エディタ (Regedt32.exe) を起動します。
  2. 次のレジストリ キーを探します。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. [編集] メニューの [値の追加] をクリックし、次のレジストリの値を追加します。
    値の名前 : TcpWindowSize
    データ型 : REG_DWORD
    値 : 8192
  4. レジストリ エディタを終了します。
状況
弊社では、これが MS-DOS のリアル モード ネットワーク アダプタ ドライバの問題であることを確認済みです。
詳細
最大セグメント サイズ (Maximum Segment Size: MSS) は、NDIS ドライバ (ネットワーク カード) から報告される最大転送ユニット (Maximum Transmission Unit: MTU) から計算されます。たとえば、イーサネット = 1460、4 MB トークン リング = 4128、16 MB トークン リング = 17888 などとなります。

TCP ウィンドウの値が最大セグメント サイズより小さい場合は、MS-DOS クライアントがデータの最初のセグメントを送信したとき、パケットが TCP ウィンドウのサイズに合わせて縮小されることがあります。この値は TCP ヘッダーに記述されており、ネットワーク トレースで確認できます。イーサネットの場合、Windows の TCP ヘッダーには、次のような値が書き込まれています。
TCP: Window = 1450 (0x5AA)
このような場合は、Windows 2000 ベースのコンピュータの TCP 受信ウィンドウ サイズをクライアントの TCP ウィンドウの倍数に設定します。上の例では、サイズが 1460 ではなく 1450 なので、TCP 受信ウィンドウのサイズを 7250 (1450 × 5) に設定します。

このネットワークの問題は、TCP 受信ウィンドウ サイズを縮小することでは解決しません。ウィンドウ サイズを縮小すると、状況が改善したように見えることがありますが、問題は解決していません。

TCP 受信ウィンドウ サイズを設定するには、TcpWindowSize レジストリ キーを使用します。これを行うには、次の文書番号をクリックして Microsoft Knowledge Base を参照してください。
120642TCP/IP and NBT Configuration Parameters for Windows NT
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 244826 (最終更新日 1999-12-29) をもとに作成したものです。

nic
プロパティ

文書番号:244826 - 最終更新日: 02/01/2014 17:19:34 - リビジョン: 3.0

  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Server
  • kbnosurvey kbarchive kbnetwork kbprb KB244826
フィードバック