隨著網絡規模的增加,網絡邊緣需要使用大量的接入設備,這使對這些設備的管理工作非常繁瑣,同時要為這些設備逐一配置IP地址,在目前IP地址資源日益緊張的情況下無疑也是一種浪費。集群(Cluster)是一組網絡通信設備的集合,集群管理的主要目的就是解決大量分散的網絡設備的集中管理問題。集群管理具有以下優點:
l 節省公網IP地址。
l 簡化配置管理任務。網絡管理員隻需在一台設備上配置公網IP地址就可實現對集群中所有設備的管理和維護,而無需登錄到每台設備上進行配置。
l 提供拓撲發現和顯示功能,有助於監視和調試網絡。
l 可同時對多台設備進行軟件升級和參數配置,且不受網絡拓撲和距離限製。
根據在集群中所處的地位和功能的不同,可把集群中的設備分為以下三種角色:
l 管理設備(Administrator):在集群中對整個集群管理發揮接口作用的設備,也是集群中唯一配置公網IP地址的設備。每個集群必須(且隻能)指定一個管理設備。對集群中的其它設備進行配置、管理和監控都必須通過管理設備來進行,管理設備通過收集相關信息來發現和確定候選設備。
l 成員設備(Member):在集群中處於被管理狀態的設備。
l 候選設備(Candidate):指沒有加入任何集群但具備集群能力、能夠成為集群成員的設備。它與成員設備的區別在於:其拓撲信息已被管理設備收集到但尚未加入集群。
如圖1所示,配置有公網IP地址並執行管理功能的設備就是管理設備,其它被管理的設備是成員設備,尚未加入任何集群但具備集群能力的設備是候選設備。由管理設備和成員設備共同組成了一個集群。
l 當在某候選設備上創建集群時,該設備就成為了這個集群的管理設備;管理設備隻有在刪除集群時才能恢複為候選設備。
l 當把某候選設備加入到集群中後,該設備便成為成員設備;當從集群中刪除某成員設備後,該設備又恢複為候選設備。
集群管理通過HGMPv2(HW Group Management Protocol version 2,HW組管理協議版本2)來實現,它由以下三個協議組成:
l NDP(Neighbor Discover Protocol,鄰居發現協議)
l NTDP(Neighbor Topology Discover Protocol,鄰居拓撲發現協議)
l Cluster(集群管理協議)
l 集群通過以上三個協議,對集群內部的設備進行配置和管理,其工作過程包括拓撲收集以及集群的建立和維護。拓撲收集過程和集群維護過程相對獨立,拓撲收集過程在集群建立之前就開始啟動,工作原理如下:
l 所有設備通過NDP來獲取鄰居設備的信息,包括鄰居設備的軟件版本、主機名、MAC地址和端口名稱等信息。
l 管理設備通過NTDP來收集用戶指定跳數範圍內的設備信息以及各個設備的連接信息,並從收集到的拓撲信息中確定集群的候選設備。
l 管理設備根據NTDP收集到的候選設備信息完成將候選設備加入集群、成員設備離開集群的操作。
NDP用來獲取直接相連的鄰居設備的信息,包括連接端口、設備名稱、軟件版本等信息,工作原理如下:
l 運行NDP的設備周期性地向鄰居發送NDP報文,其中包含NDP信息(包括當前設備的名稱、軟件版本和連接端口等信息)以及NDP信息在接收設備上的老化時間。同時會接收(但不轉發)鄰居設備發送的NDP報文。
l 運行NDP的設備都會存儲和維護NDP鄰居信息表,在該表中為每台鄰居設備創建一個表項。當新發現了一個鄰居,即第一次收到它發送的NDP報文時,為其新增一個表項。如果收到的鄰居設備NDP信息與舊信息不同,則更新相應的表項及其老化時間;如果相同,則隻更新老化時間;如果老化時間超時後仍未收到鄰居的NDP信息,將自動刪除相應的表項。
NDP協議運行在數據鏈路層,因此可以支持不同的網絡層協議。
NTDP為管理設備提供可加入集群的設備信息,收集指定跳數內設備的拓撲信息。NDP為NTDP提供鄰接表信息,NTDP根據鄰接信息發送和轉發NTDP拓撲收集請求,收集一定網絡範圍內所有設備的NDP信息以及這些設備間的連接信息。收集完這些信息後,管理設備或網管可使用這些信息完成所需功能。
當成員設備上的NDP發現鄰居有變化時,通過握手報文將鄰居改變的消息通知給管理設備,管理設備可以啟動NTDP收集指定拓撲,從而使NTDP能夠及時反映網絡拓撲的變化。
管理設備可以定時在網絡內進行拓撲收集,用戶也可以通過手工配置啟動一次拓撲收集。管理設備收集拓撲信息過程如下:
l 管理設備從使能NTDP的端口周期性發送NTDP拓撲收集請求報文。
l 收到請求報文的設備立即發送拓撲響應報文至管理設備,並在已使能NTDP的端口複製此請求報文並發送到鄰接設備;拓撲響應報文包含本設備的基本信息和所有鄰接設備的NDP信息。
l 鄰接設備收到請求報文後將執行同樣操作,直至拓撲收集請求報文擴散到指定跳數範圍內的所有設備。
l 當拓撲收集請求報文在網絡內擴散時,大量網絡設備同時收到拓撲收集請求並同時發送拓撲收集響應報文。為了避免網絡擁塞和管理設備任務繁忙,可采取以下措施控製拓撲收集請求報文的擴散速度:
l 每台被收集設備收到拓撲收集請求報文後,並不立即轉發該報文,而是延遲一段時間再由其第一個端口轉發。
l 在同一台設備上,除第一個端口外,其它端口在上一個端口轉發了拓撲收集請求報文後,都將延遲一段時間再繼續轉發該報文。
(1) 候選設備加入集群
用戶在建立集群時應首先指定管理設備,管理設備可以通過NDP和NTDP協議發現和確定候選設備並將其自動加入集群,也可以通過手工配置將候選設備加入集群。
當候選設備成功加入集群後,將獲得管理設備為其分配的集群成員序列號、集群管理使用的私有IP地址等。
(2) 集群內部通訊
在集群內部,管理設備與成員設備通過握手報文實時通信,以維護它們之間的連接狀態,管理設備和成員設備的連接狀態如圖3所示。
圖3 管理/成員設備狀態轉換
l 集群建立成功、候選設備加入集群成為成員設備後,管理設備將其狀態信息保存到本地,並將其狀態標識為Active;成員設備也將自身的狀態信息保存到本地,並將其自身狀態標識為Active。
l 管理設備和成員設備定時互發握手報文。管理設備收到成員設備的握手報文後不應答,仍將其狀態保持為Active;成員設備收到管理設備的握手報文後也不應答,仍將其自身狀態保持為Active。
l 當管理設備發送握手報文後,在三倍握手報文發送時間間隔內仍沒收到成員設備的握手報文,則將其狀態由Active遷移為Connect;同樣,當成員設備發送握手報文後,在三倍握手報文發送時間間隔內仍沒收到管理設備的握手報文,其自身狀態也將從Active遷移為Connect。
l 若管理設備收到了處於Connect狀態的成員設備在有效保留時間內發送的握手或管理報文,則將其狀態遷移回Active,否則遷移為Disconnect——此時管理設備會認為已與該成員設備斷開;而處於Connect狀態的成員設備若在有效保留時間內收到了管理設備發送的握手或管理報文,則將其自身狀態遷移至Active,否則遷移為Disconnect。
l 當管理設備與成員設備的通信恢複時,處於Disconnect狀態的成員設備將重新加入集群。加入成功後,成員設備在管理設備以及其本地的狀態都將恢複為Active。
l 如果發現拓撲改變,成員設備也通過握手報文向管理設備傳遞變化信息。
管理VLAN是指集群協議報文通訊所使用的VLAN,它限製了集群管理的範圍,通過配置管理VLAN,可實現如下功能:
l 集群的管理報文(包括NDP、NTDP和握手報文)都將限製在管理VLAN內,實現了與其它報文的隔離,增加了安全性。
l 管理設備和成員設備通過管理VLAN實現了內部通訊。
l 集群管理要求管理設備與成員/候選設備相連的端口(包括級聯端口)都要允許管理VLAN通過。如果端口不允許管理VLAN通過,該端口所連的設備將不能加入集群,因此當候選設備與管理設備相連的端口包括級聯端口不允許管理VLAN通過時,可通過管理VLAN自協商修改候選設備的端口以允許管理VLAN通過。隻有當管理設備與成員/候選設備相連接的端口(包括級聯端口)的缺省VLAN ID都是管理VLAN時,才允許配置管理VLAN的報文不帶Tag通過,否則管理VLAN的報文都必須帶Tag通過。
& 說明:
級聯端口是指當候選設備通過另外一台候選設備與管理設備相連時,這兩台候選設備之間的連接端口。