複数の既定のゲートウェイが接続の問題を引き起こす可能性がある

この記事では、TCP/IP 構成オプションで複数の既定のゲートウェイが使用されている場合に発生する接続の問題について説明します。

適用対象:  Windows 2000
元の KB 番号:   159168

概要

1 台のコンピューターの TCP/IP 構成オプションで複数の既定のゲートウェイを使用Windows NT、リモート ネットワーク上のコンピューターへの接続が失われる可能性があります。 統合されていないネットワークに接続されているマルチホーム コンピューターでは、リモート ネットワークへの接続を取得するために、静的ルートをルーティング テーブルに追加できます。

詳細

Windows NT複数の既定のゲートウェイを使用して構成できます。 TCP によってデッド ゲートウェイが検出されると、IP はバックアップ リスト内の次のゲートウェイに既定のゲートウェイを切り替えます。 このスイッチは、同じネットワーク アダプターに対して複数のゲートウェイが構成されている場合、または複数のホーム コンピューター上のさまざまなネットワーク カードに異なる既定のゲートウェイ アドレスが指定されている場合に発生することがあります。 TCP が現在の既定のゲートウェイを介してパケットを送信するために TcpMaxDataRetransmissions 時間の 1/2 を試みたときにスイッチがトリガーされます。

スイッチの後、リモート ネットワーク宛てのこのコンピューター上の任意のネットワーク アダプターから発信される IP トラフィックはすべて、現在選択されているゲートウェイに送信されます。 結合されていないネットワークでは、接続が失われ、最初のゲートウェイを介して接続されたリモート ネットワーク上のコンピューターとのアクティブ なセッションがその後終了する可能性があります。 これは、これらのルーターがルーティング情報を互いに交換しない場合、現在選択されているゲートウェイが、最初のゲートウェイによって管理される他のルートを知らされない可能性があるためです。

切り替えたゲートウェイがネットワーク上で到達不能または非アクティブである場合、すべてのリモート サイトへの接続が失われる。 この時点で、リモート ネットワークからこのコンピューターに ping を実行すると、肯定的な応答を得る必要があります。 同様に、このコンピューターからのリモート ホストへの送信 ping では、要求のタイム アウト エラーが発生します。 この動作は設計上であり、TCP/IP 仕様に準拠しています。

次の図は、複数のゲートウェイが使用される状況を示しています。

Netcard1 と Netcard2 という 2 つのネットワーク カードと、次の IP アドレスと既定のゲートウェイを備えるコンピューターを検討してください。

Netcard1:
IP アドレス: 11.100.1.1
マスク: 255.255.0.0
既定のゲートウェイ: 11.100.0.1 11.100.0.2

Netcard2:
IP アドレス: 11.200.1.1
マスク: 255.255.0.0
既定のゲートウェイ: 11.200.0.1

IP アドレスが 130.20.20.100 のワークステーションに Telnet 接続する場合、IP データグラムは 11.100.0.1 ゲートウェイ経由でルーティングされます。 11.100.0.1 が使用できないと検出された場合、IP は 2 番目のゲートウェイ 11.100.0.2 に切り替います。 このゲートウェイが失敗した場合は、11.200.0.1 を使用します。 これは TCP トラフィックにのみ適用され、前述のメカニズムに基づいてゲートウェイの切り替えが行われます。 Telnet、FTP、および NetBIOS セッション サービスのネットワーク トラフィックは、ネットワーク通信に TCP を使用します。

また、Netcard1 と Netcard2 に接続されている 2 つのネットワークがバラバラである場所 (つまり、他のルーターを介して互いに接続されていない) も考慮してください。 Netcard2 経由でのみアクセス可能なネットワーク (22.101.x.x など) がある場合、このネットワークの IP データグラムはプライマリ 既定のゲートウェイなので、引き続き 11.100.0.1 経由でルーティングされます。 ネットワーク 22.101.x.x ~ 11.200.0.1 宛ての IP データグラムをルーティングするには、ROUTE ユーティリティを介してルーティング テーブルに静的ルートを追加する必要があります。 ルートを追加するには、次のコマンドを入力します。

route add 22.101.0.0 MASK 255.255.0.0 11.200.0.1  

上記のシナリオで考えられるもう 1 つの解決策は、マルチホーム Windows NT コンピューターでマルチプロトコル ルーティングを実行し、ルーティング情報プロトコルを実行しているネットワーク上の他のルーターとルーティング情報を交換することです。 Multiprotocol ルーティングは、Windows NT 3.51 Service Pack 2 以降で使用できます。