簡介
本檔案介紹Catalyst 9000系列交換器上的IGMP功能在Microsoft網路負載平衡器(NLB)部署中的行為方式。
必要條件
需求
思科建議您瞭解以下主題:
- Microsoft NLB操作模式
- IGMP多點傳送
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- Catalyst 9200
- Catalyst 9300
- Catalyst 9400
- Catalyst 9500
- Catalyst 9600
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
NLB是一種適用於所有Windows 2000 Server和Windows 2003 Server系列系統的群集技術。它為所有客戶機提供單個虛擬IP地址作為整個群集的目標IP地址。
NLB可用於在一組伺服器之間分發客戶端請求。為確保客戶端體驗可接受的效能級別,NLB提供了在客戶端負載增加時新增更多伺服器以擴展無狀態應用程式(如基於IIS的Web伺服器)的功能。此外,它還減少了因伺服器故障導致的停機時間。
可以將NLB配置為在以下三種模式之一中工作:
- 單播模式
- 組播模式
- 網際網路群組管理協定(IGMP)模式
提示:單播模式和組播模式部署具有文檔適用於Microsoft網路負載均衡的Catalyst交換機配置示例中描述的相同配置和驗證
本檔案將重點介紹網際網路群組管理通訊協定(IGMP)模式。
最佳實踐
Catalyst 9000系列交換器偵聽IGMP封包的第3層標頭,以便填充Snooping表。由於必須使用靜態組播MAC在交換機上配置NLB的方式,IGMP監聽表未填充,並且目標VLAN中會發生泛洪。換句話說,當NLB伺服器處於IGMP模式時,Catalyst 9000中的IGMP監聽不會自動包含組播泛洪(Catalyst 9000中的轉發基於組播IP,而不是基於組播MAC地址)。
注意:在Catalyst 9000上,NLB的所有三種模式都會發生泛洪。鑑於封包的目的地必須是其預設閘道,使用者VLAN中不會發生泛濫。只有在報頭重新寫入目標VLAN後,才會發生泛洪。
因此,請考慮以下成功部署的最佳實踐:
- 使用專用VLAN僅將泛洪限制到NLB群集。
- 使用靜態MAC條目來限制NLB VLAN中發生泛洪的埠。
IGMP模式
在此模式中,NLB群集的虛擬MAC位於Internet編號指派機構(IANA)範圍內,它以0100.5exx.xxxx開頭。其 IGMP Snooping
交換機上配置的功能不會在MAC地址表中程式設計群集的虛擬組播MAC地址。由於缺少此動態程式設計,交換機從NLB集群接收的組播流量將泛洪到同一VLAN的所有埠成員。思科錯誤ID CSCvw18989。
對於NLB伺服器與使用者位於不同VLAN的拓撲,由於群集的虛擬IP地址使用組播MAC地址,因此無法在本地子網外訪問。為了解決此問題,您必須在集群VLAN中具有第3層介面的每台裝置上配置靜態ARP條目。
Catalyst 9000系列交換器中的IGMP窺探功能不使用多點傳送MAC位址進行轉送。它們使用組播IP地址,這就是它無法像其他舊版平台(如Catalyst 6000系列)那樣在MAC表中自動程式設計組播MAC地址的原因。所有新平台都使用組播IP地址轉發方法,以避免在舊版交換機上發現重疊地址問題。
注意:乙太網組播MAC地址有一些重疊。相同的MAC地址被分配給32個不同的組播組。如果乙太網段上的一個使用者訂購組播組225.1.1.1,而另一個使用者訂購230.1.1.1,則兩個使用者都接收兩個組播流(MAC地址相同01-00-5e-01-01-01)。在LAN網段上設計組播網路時,需要專門監視並設計此重疊以避免問題。
設定
同一VLAN中的來源和目的地
網路圖表
本節介紹當群集和使用者位於同一個VLAN中時,如何配置NLB。
1.檢驗是否已建立NLB VLAN。由於泛洪,建議為NLB流量設定專用VLAN。
C9300-01#show vlan id 10
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
10 NLB active Te1/0/1, Te1/0/2, Te1/0/3
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
10 enet 100010 1500 - - - - - 0 0
Remote SPAN VLAN
----------------
Disabled
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
2. C為必須獲取此NLB流量的埠配置靜態MAC地址條目。此命令必須包括通往NLB VLAN中的NLB集群路徑中的所有中繼埠或接入埠。在圖中,只有一個通過Tengig1/0/2通往NLB的路徑。
C9300-01(config)#mac address-table static 0100.5e01.0155 vlan 10 interface TenGigabitEthernet 1/0/2
C9300-01#show run | in mac
mac address-table static 0100.5e01.0155 vlan 10 interface TenGigabitEthernet1/0/2
注意:靜態MAC地址條目中可根據需要有任意數量的對映埠。此埠對映可減少NLB VLAN內的預期泛洪。在本例中,靜態MAC條目可以避免向NLB集群的流量從Te1/0/3泛洪出去。
不同VLAN中的源和目標
網路圖表
本節介紹當群集和使用者位於不同的VLAN中時,如何配置NLB。
1.將NLB VLAN和IP地址配置為NLB群集的預設網關。
C9300-01#show vlan id 10
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
10 NLB active Te1/0/2, Te1/0/3
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
10 enet 100010 1500 - - - - - 0 0
Remote SPAN VLAN
----------------
Disabled
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
C9300-01#show run interface vlan 10
Building configuration...
Current configuration : 59 bytes
!
interface Vlan10
ip address 10.1.1.1 255.255.255.0
end
2.為NLB群集伺服器的虛擬IP地址配置靜態ARP條目。必須在集群VLAN中具有交換機虛擬介面(SVI)的所有第3層裝置上配置靜態ARP。靜態ARP的目的是允許交換機具有向NLB VLAN傳送路由資料包所需的重寫資訊。
C9300-01(config)#
arp 10.1.1.85 0100.5e01.0155 arpa
3.檢驗在接入層建立的使用者VLAN及其預設網關。您必須在雙方上設定預設閘道。(NLB群集和使用者)。
C9300-01#show vlan id 11
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
11 Users2 active Te1/0/1, Te1/0/4
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
11 enet 100011 1500 - - - - - 0 0
Remote SPAN VLAN
----------------
Disabled
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
C9300-01#show run interface vlan 11
Building configuration...
Current configuration : 59 bytes
!
interface Vlan11
ip address 172.16.1.1 255.255.255.0
end
注意:在重寫MAC報頭後路由的任何資料包,其目標MAC未在輸出SVI中獲知,然後資料包會在相應的VLAN中泛洪。為了緩解泛洪,您需要為NLB伺服器建立網關和單獨的VLAN。如果不希望為NLB流量配置專用VLAN,則可以為必須接收NLB流量的埠配置靜態MAC地址條目,即mac address-table static 0100.5exx.xxxx vlan #interface interface_name
疑難排解
1.驗證是否已將靜態MAC地址配置為需要將流量轉發到NLB的所有目標埠。
C9300-01#show mac address multicast
Vlan Mac Address Type Ports
---- ----------- ---- -----
10 0100.5e01.0155 USER Te1/0/2
2.對於NLB群集與客戶端位於不同子網的部署,請驗證是否存在靜態ARP條目將NLB伺服器的虛擬IP與其組播MAC地址進行對映。
C9300-01#show run | in arp
arp 10.1.1.85 0100.5e01.0155 ARPA
C9300-01#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.1.1.1 - c4c6.0309.cf46 ARPA Vlan10
Internet 10.1.1.85 - 0100.5e01.0155 ARPA
Internet 172.16.1.1 - c4c6.0309.cf54 ARPA Vlan11
3.使用不經常使用的大小對NLB伺服器IP執行ping操作。清除連線埠的控制器,並檢查命令的多次迭代,確認大小未使用太多。
C9300-01#show controllers ethernet-controller Te1/0/2 | in 1024
0 1024 to 1518 byte frames 0 1024 to 1518 byte frames
C9300-01#clear controllers ethernet-controller Te1/0/2
HOST#ping 10.1.1.85 time 0 rep 1000 size 1024
Type escape sequence to abort.
Sending 1000, 1024-byte ICMP Echos to 10.1.1.85, timeout is 0 seconds:
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
....................
Success rate is 0 percent (0/1000)
4.檢查ping是否正確從目的地連線埠轉發出去,以及相同的ping測試是否湧向其他連線埠。在不同的介面上使用same controllers counters指令驗證這一點。
C9300-01#show controllers ethernet-controller Te1/0/1 | in 1024 <-- Ingress Host port
0 1024 to 1518 byte frames 1000 1024 to 1518 byte frames
C9300-01#show controllers ethernet-controller Te1/0/2 | in 1024 <-- Egress port to NLB
1000 1024 to 1518 byte frames 0 1024 to 1518 byte frames
5.在具有EPC的輸入連線埠和具有SPAN的輸出連線埠上擷取封包擷取,並檢查交換器是否正在轉送資料。
C9300-01#monitor capture tac buffer size 10 match any interface Te1/0/1 in
C9300-01#monitor capture tac start
C9300-01#monitor capture tac stop
C9300-01#monitor capture tac export location flash:DataTraffic.pcap
提示:在第2層入口或出口方向轉發資料包時,嵌入式資料包捕獲(EPC)功能是可靠的。但是,如果流量由交換機路由然後轉發到出口埠,則EPC不可靠。若要在第3層路由發生後擷取輸出中的封包,請使用交換器連線埠分析器(SPAN)功能。
C9300-01(config)#monitor session 1 source interface Te1/0/2 tx
C9300-01(config)#monitor session 1 destination interface Te1/0/3 encapsulation replicate
C9300-01#show monitor session all
Session 1
---------
Type : Local Session
Source Ports :
TX Only : Te1/0/2
Destination Ports : Te1/0/3
Encapsulation : Replicate
Ingress : Disabled
相關資訊