多個預設閘道可能會導致連線問題

本文說明在 TCP/IP 組態選項中使用多個預設閘道時所發生的連線問題。

適用於: Windows 2000
原始 KB 編號: 159168

摘要

當 Windows NT 電腦上的 TCP/IP 組態選項中使用多個預設閘道時,遠端網路上電腦的連線可能會遺失。 在連線到脫離網路的多路計算機上,可能會將靜態路由新增至路由表,以連線到遠端網路。

其他相關資訊

Windows NT 計算機可以使用多個預設閘道進行設定。 當 TCP 偵測到無效閘道時,它可以將 IP 導向 IP,將預設網關切換至備份清單中的下一個閘道。 當為相同的網路適配器設定多個閘道,或多路計算機上各種網路適配器上提供不同的預設網關位址時,可能會發生這個交換器。 當 TCP 嘗試一半的 TcpMaxDataRetransmissions 時間,以透過目前的預設網關傳送封包時,就會觸發交換器。

交換器之後,源自此計算機上任何網路適配器的所有IP流量都會傳送至目前選取的閘道。 在脫離的網路上,這可能會導致連線中斷,並導致使用中會話的後續終止,而遠端網路上的計算機會透過第一個網關聯機。 這是因為如果目前選取的網關未互相交換路由資訊,則第一個閘道可能不知道第一個網關所管理的其他路由。

如果交換的閘道在網路上無法連線或處於非使用中狀態,則會失去與所有遠端月臺的連線。 此時,從遠端網路對這部計算機的 Ping 將無法取得正面回應。 同樣地,從這部電腦傳出到遠端主機的任何傳出 Ping 都會發出要求逾時錯誤。 此行為是設計且符合 TCP/IP 規格。

下圖說明使用多個閘道的情況。

請考慮具有兩張網路卡、Netcard1 和 Netcard2 的電腦,以及下列 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的工作站,IP資料報會透過11.100.0.1閘道路由傳送。 如果偵測到 11.100.0.1 無法使用,IP 會切換至第二個閘道 11.100.0.2。 當此閘道失敗時,請使用 11.200.0.1 等等。 這僅適用於 TCP 流量和交換閘道,會根據稍早所述的機制進行。 Telnet、FTP 和 NetBIOS 會話服務網路流量會使用 TCP 進行網路通訊。

也請考慮連線到 Netcard1 和 Netcard2 的兩個網路脫離的位置(也就是說,不會透過任何其他路由器彼此連線)。 如果有只能透過 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  

上述案例的另一個可能解決方案是在多路 Windows NT 計算機上執行多通訊協定路由,以便與執行路由資訊通訊協定之網路上的其他路由器交換路由資訊。 Windows NT 3.51 Service Pack 2 或更新版本提供多重通訊協定路由。