摘要
如果你設定一台 Windows 電腦,且在同一實體網路和協定子網路上有多個網路卡,可能會遇到意想不到的結果。 本文描述了此類非標準配置的預期行為。
更多資訊
請考慮以下案例:
- 你有一台安裝 Windows 的正常電腦。
- 兩個網路卡連接到同一個實體網路或集線器。
- TCP/IP 是安裝為網路協定。
- 同一子網路上的適配器位址為 192.168.0.1 和 192.168.0.2。
- 網路上的用戶端使用位址 192.168.0.119。
在這種情況下,你可能會預期同一實體網路和協定子網路上的兩個介面卡會執行負載平衡。 然而,根據定義,乙太網路拓撲中同一時間只能有一個介面卡在網路上通訊。 因此,兩個介面卡無法同時傳輸,且若網路上有其他裝置在傳輸,必須等待。 此外,廣播訊息必須由每個介面卡處理,因為兩者都在同一個網路上監聽。 此配置需承擔大量開銷,不包括任何協定相關問題。 此配置無法提供同一網路的冗餘網路卡。
注意 Windows Server 2012 新增一項名為 SMB 多通道的功能。 SMB 多通道是 SMB 3.0 協定的一部分,允許伺服器同時使用多個網路連線。 欲了解更多關於中小企業多通道的資訊,請造訪 Windows Server 2012 與 SMB 3.0 的中小企業多頻道基礎功能。
注意,若網路是使用 CSMA/CD,Windows Server 2012 伺服器無法同時使用多個網路連線。
假設伺服器必須使用 TCP/IP 協定向位址為 192.168.0.119 的用戶端發送封包。 此地址位於當地子網路上。 因此,不必使用閘道器即可連接用戶端。 協定堆疊會使用它在本地路由表中找到的第一條路由。 通常,這是第一個安裝的轉接器。 在這個案例中,那個轉接器是 192.168.0.1。 若傳輸失敗,後續重試可依路由表中所發現的條目使用相同轉接器。
如果 192.168.0.1 介面卡的網路線故障,這不一定會導致路由表中該路由被移除。 因此,第二個轉接器仍可能無法使用。
另一點要考慮的是,有些網路應用程式會綁定系統中的特定介面卡。 若網路應用程式特別綁定至第二個介面卡,應用程式可能會忽略來自第一個介面卡用戶端的應用程式相關流量。 這可能是因為網路上的 NetBIOS 名稱註冊所致。 此外,若綁定應用程式的介面卡失敗,應用程式若未使用另一個介面卡也可能失敗。
通常,除非應用程式特別要求,這種配置通常沒什麼幫助。 有些廠商會製造容錯網路介面卡,以防止單點故障發生。 這些轉接器允許同一伺服器包含兩個轉接器,但同時只能使用一個轉接器。 若主要介面卡故障,驅動程式會停用第一張卡,並以相同的位址配置啟用第二張卡。 結果是轉換到替代轉接器相當順暢。 這是防止單一網路介面卡成為單點故障的首選方法。
Windows Server 故障轉移叢集
Windows Server 故障轉移叢集不會在同一網路上使用額外介面卡,而是依賴 TCP/IP 協定的現有功能。 若介面卡故障,軟體不會自動嘗試登錄另一台介面卡的 IP 位址資源位址。 如果你想避免單一網路卡成為單點故障,可以將網路卡設定在不同的邏輯子網路上。 或者,如本文前述所述,使用 NIC 分組將多個實體介面卡合併成單一邏輯介面卡 () 。
上述資訊適用於廣播路線。 通往子網的路由使用子網內最高的數值 IP 位址。 例如,假設有兩個介面卡,IP 位址分別為 192.168.0.1 和 192.168.0.2,並假設先安裝了 192.168.0.1。 這種情況會產生以下路線:
192.168.0.0 255.255.255.0 192.168.0.1 192.168.0.1
192.168.0.0 255.255.255.0 192.168.0.2 192.168.0.2
192.255.255.255 255.255.255.255 192.168.0.1 192.168.0.1
255.255.255.255 255.255.255.255 192.168.0.1 192.168.0.1