網路負載平衡 (Network Load Balancing, NLB) 是 Windows Server 2003 內建的高可用性解決方案,可將多台伺服器組成叢集,對外提供單一虛擬 IP 服務,自動分散流量、支援故障自動切換。本文系統性解析 NLB 原理、核心概念、硬體需求、設計考量與操作模式選擇,助您快速建置企業級負載平衡叢集。
NLB 叢集節點共用一組虛擬 IP (VIP) 與虛擬 MAC 位址。核心元件 WLBS.sys 篩選驅動程式位於網卡驅動與網路層之間,攔截所有進封包,依據演算法(來源/目的 IP、通訊協定、埠號、叢集參數)決定由哪個節點處理,其餘節點捨棄封包。所有節點同時監聽服務請求,可同時執行多個應用程式執行個體,實現「主動-主動」負載分散。
| 概念 | 說明 |
|---|---|
| 叢集 IP 位址/子網遮罩 | 對外服務的虛擬 IP,客戶端連線目標。 |
| 專用 IP 位址/子網遮罩 | 各節點真實 IP,用於節點間心跳、管理、內容複寫通訊。 |
| 完整網際網路名稱 (FQDN) | 對應叢集 IP 的 DNS 名稱,如 cluster.corp.com。 |
| 叢集操作模式 | 單播、多播、IGMP 多播三種,決定 MAC 位址處理與交換機相容性。 |
| 埠規則 | Win2003 新增,可精細控制特定埠號流量分派、封鎖或單節點處理。 |
| 優先權 (主機 ID 1-32) | 數值越小優先權越高,處理未納入埠規則的流量;單一叢集最多 32 節點。 |
Windows Server 2003 全版本支援;可與 Windows 2000/NT 4.0 NLB 節點混合(功能受限)。
必須列入 Windows Server 2003 HCL(硬體相容性清單),建議使用相同廠牌/型號網卡。
叢集網卡僅綁定 TCP/IP,且必須使用靜態 IP,不支援 DHCP。
單網卡下,單播模式導致節點間無法直接通訊(MAC 位址相同),心跳、管理、內容複寫流量與客戶流量爭奪頻寬。雙網卡架構:
此設計消除單點競爭,提升叢集穩定度與擴展性。
| 模式 | MAC 位址行為 | 節點間通訊 | 交換機需求 | 適用場景 |
|---|---|---|---|---|
| 單播 | 所有節點共用虛擬 MAC (02-BF-XX-XX-XX-XX) | 單網卡下無法通訊 | 需支援 MAC 地址洪流或搭配 VLAN | 簡單部署、舊式交換器 |
| 多播 | 保留原 MAC,另加多播 MAC | 可正常通訊 | 需支援多播 MAC 映射,部分路由器需手動設定 | 現代交換環境、需節點間通訊 |
| IGMP 多播 | 同多播,但透過 IGMP 向交換器註冊 | 可正常通訊 | 需支援 IGMP Snooping 的 Layer 2/3 交換器 | 大型企業網路、最佳效能與管理性 |
nlbmgr)。Windows Server 2003 NLB 以零授權成本、原生整合、支援主流網路服務(Web、FTP、VPN、Terminal Services、Media Streaming)等優勢,成為中小企業建置高可用性架構的首選。掌握上述原理與設計要訣,即可構建穩固、可擴展的負載平衡叢集,保障業務連續性。