WINDOWS 負載均衡NLB配置中單播與多播區別


單播

在單播模式下,NLB重新對每個NLB節點中啟用NLB的網絡適配器分配MAC地址(此MAC地址稱為群集MAC地址),並且所有的NLB節點均使用相同的MAC地址(均使用群集MAC地址),同時NLB修改所有發送的數據包中的源MAC地址,從而使交換機不能將此群集MAC地址綁定在某個端口上。 工作在單播模式下的NLB可以在所有網絡環境下正常運行,但是由於它的工作特性,具有以下兩個限制: 由於NLB所使用的群集MAC地址沒有綁定在某個具體的交換機端口上,所以所有的NLB通訊均通過在交換機的所有端口上廣播進行,而不管此端口是否連接了NLB節點,這造成了額外的網絡流量負擔; 由於所有的NLB節點具有相同的MAC地址,NLB節點之間不能通過自己原有的專用IP地址進行通訊。若我們在NLB創建時選擇單播的模式,在“群集IP配置”中的“網絡地址”是以“02 - BF”開頭,后面緊跟IP地址的十六進制表示,該網絡地址與實際主機的MAC地址相同,后續加入的主機也將修改為此MAC地址。

 

多播

在多播模式下,NLB不會修改NLB節點啟用NLB的網絡適配器的MAC地址,而是為它再分配一個二層多播MAC地址專用於NLB的通訊(此MAC地址稱為群集MAC地址),這樣NLB節點之間可以通過自己原有的專用IP地址進行通訊。但是在多播模式中,NLB節點發送的針對群集IP地址MAC地址ARP請求的ARP回復會將群集IP地址映射到多播MAC地址,而許多路由器或者交換機(包括CISCO的產品)會拒絕這一行為。當出現這種情況時,你必須在路由器和交換機上手動添加靜態映射,將群集IP地址映射到群集的多播MAC地址。 Windows Server 2003提供了一個新的特性,稱為IGMP 多播,它可以通過使用IGMP協議支持來使交換機只將NLB通訊發送到連接NLB節點的端口,而不是所有交換機端口。但是此特性必須要求交換機支持IGMP偵聽,並且要求群集工作在多播模式下。若我們在NLB創建時選擇多播的模式,在“群集IP配置”中的“網絡地址”是以“03 -BF”開頭,后面緊跟IP地址的十六進制表示。在IGMP多播模式下,將采用“01 – 00 - 5E”開頭的MAC地址。在多播的模式下,實體主機之間可以互相通信。

 

如何選擇

一般來說,在NLB的創建時,單網卡多播,雙網卡單播。雙網卡單播時,因為主機之間不能互相通信,將設置內網通訊的網卡,也就是群集設置中的心跳。在微軟 官方推薦在NLB設置時,首先考慮單播模式,除非單播不能滿足其要求,若要解決流量擴展的方法,推薦使用VLAN。

 

兩種模式存在的問題及解決辦法

 

單播:

1、由於NLB所使用的群集MAC地址沒有綁定在某個具體的交換機端口上,所以所有的NLB通訊均通過在交換機的所有端口上廣播進行,這就出現了交換機泛洪的現象,可以通過將所有NLB節點添加到一個VLAN中隔離廣播的辦法解決。

2、由於所有的NLB節點具有相同的MAC地址,所以NLB節點之間不能通過自己原有的專用IP地址進行通訊。 (節點之間就無法ping通)。我們可以采用雙網卡來解決節點間通信問題,一塊網卡用於啟用負責均衡,一塊網卡用於節點間通訊。

 

多播:

1、多播模式下NLB節點之間可以通過自己原有的專用IP地址進行通訊,但是群集IP對應一個多播MAC進行通訊,可能會被不支的路由器或一些交換機拒絕,必須通過在網絡設備中添加靜態數據的方法解決。

2、由於交換機所有端口中都是使用各個節點實際IP與MAC注冊而群集使用多播MAC,所以交換機收到群集的數據包發現交換機沒有一個端口是對應群集多播MAC就仍然會廣播到所有端口,這樣就仍然有交換機泛洪的問題。解決方法也可以采用和單播一樣的使用VLAN解決,此外還可以通過勾選IGMP 多播來解決交換機泛洪,但是需要交換機支持此功能。

 

最后建議如果NLB節點服務器只有一塊網卡,請使用多播模式;如果NLB節點服務器擁有多塊網卡,或者網絡設備(如二層交換機與路由器)不支持多播模式,則可以采用單播模式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM