一般來說,在NLB的創建時,單網卡多播,雙網卡單播。
雙網卡單播時,因為主機之間不能互相通信,將設置內網通訊的網卡,也就是群集設置中的心跳。
NLB模式 |
描述 |
優點 |
缺點 |
單播 |
網卡MAC會被NLB專用,無法另作他用,各NLB節點之間無法單獨通信,交換機上無需配置,但是會增加網絡負載。
在單播模式下,NLB重新對每個NLB節點中啟用NLB的網絡適配器分配MAC地址(此MAC地址稱為群集MAC地址),並且所有的NLB節點均使用相同 的MAC地址(均使用群集MAC地址),同時NLB修改所有發送的數據包中的源MAC地址,從而使交換機不能將此群集MAC地址綁定在某個端口上。
工作在單播模式下的NLB可以在所有網絡環境下正常運行,但是由於它的工作特性,具有以下兩個限制:
由於NLB所使用的群集MAC地址沒有綁定在某個具體的交換機端口上,所以所有的NLB通訊均通過在交換機的所有端口上廣播進行,而不管此端口是否連接了NLB節點,這造成了額外的網絡流量負擔;
由於所有的NLB節點具有相同的MAC地址,NLB節點之間不能通過自己原有的專用IP地址進行通訊。
在“群集IP配置”中的“網絡地址”是以“02 - BF”開頭,后面緊跟IP地址的十六進制表示,該網絡地址與實際主機的MAC地址相同,后續加入的主機也將修改為此MAC地址。 在每個群集成員上,NLB 覆蓋網絡適配器上制造商提供的 MAC 地址。 NLB 對所有成員都使用相同的單播 MAC 地址。 |
它可以無縫地與大多數路由器和交換機協同工作 |
到達群集的流量會擴散到交換機虛擬 LAN (VLAN) 上的所有端口 主機之間的通信不能通過 NLB 綁定到的適配器,也即實體主機間不可以互相通信 |
多播 |
在多播模式下,NLB不會修改NLB節點啟用NLB的網絡適配器的MAC地址,而是為它再分配一個二層多播MAC地址專用於NLB的通訊(此MAC地址稱 為群集MAC地址),這樣NLB節點之間可以通過自己原有的專用IP地址進行通訊。但是在多播模式中,NLB節點發送的針對群集IP地址MAC地址ARP 請求的ARP回復會將群集IP地址映射到多播MAC地址,而許多路由器或者交換機(包括CISCO的產品)會拒絕這一行為。當出現這種情況時,你必須在路 由器和交換機上手動添加靜態映射,將群集IP地址映射到群集的多播MAC地址。
在“群集IP配置”中的“網絡地址”是以“03 -BF”開頭,后面緊跟IP地址的十六進制表示。 如果選擇復選項“IGMP Multicast(IGMP多播)”,就像多播操作模式一樣,NLB 保留原廠 MAC 地址不變,但是向網絡適配器中增加了一個 IGMP 多播地址。 保留原廠 MAC 地址不變,但是向網絡適配器中增加了一個第 2 層多播 MAC 地址。 所有入站流量都會到達這個多播 MAC 地址。 |
通過在交換機的“內容可尋址存儲器”(CAM) 表中創建靜態項,從而使得入站流量僅到達群集中的主機。 |
因為 CAM 項必須靜態關聯一組交換機端口,如果沒有這些 CAM 項,入站流量仍然會擴散到交換機 VLAN 上的所有端口。 很多路由器不會自動將單播 IP 地址(群集的虛擬 IP 地址)與多播 MAC 地址關聯起來。如果進行靜態配置的話,一些路由器可以存在這種關聯。 |