專利名稱:堆疊中多主用設(shè)備沖突檢測方法及堆疊成員設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及堆疊技術(shù)領(lǐng)域,具體涉及堆疊中多主用設(shè)備沖突檢測方法及堆疊成員設(shè)備。
背景技術(shù):
堆疊技術(shù)將兩臺或者多臺設(shè)備連接起來,形成一臺邏輯設(shè)備。用戶管理堆疊就像管理一臺單一設(shè)備。堆疊技術(shù)可以提供高可用性、高可擴(kuò)展性,簡化管理。參與堆疊的所有設(shè)備使用相同的配置文件。
參與堆疊的設(shè)備使用堆疊電纜連接。圖1為典型的堆疊的組成圖,如圖1所示,堆疊中有一臺主用(Active)設(shè)備,其它設(shè)備均為備用(Standby)設(shè)備。Active設(shè)備負(fù)責(zé)管理整個堆疊控制平面,包括執(zhí)行配置、下發(fā)配置等。Active設(shè)備和Standby設(shè)備共同負(fù)責(zé)運行數(shù)據(jù)平面,進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。Standby設(shè)備所需的數(shù)據(jù)由Active設(shè)備統(tǒng)一下發(fā)。
Active與Standby設(shè)備間的堆疊電纜斷裂后,網(wǎng)絡(luò)中會存在兩臺或者多臺全局配置完全相同的Active設(shè)備,這些設(shè)備通過其它鏈路連通時可能會引起網(wǎng)絡(luò)故障,例如IP地址沖突、二層協(xié)議計算錯誤等。因此,多臺設(shè)備堆疊需要解決的一個重要問題是如何識別多Active設(shè)備沖突。
思科(Cisco)公司的虛擬交換系統(tǒng)(VSS,Virtual Switching System)堆疊最多允許由兩臺Catalyst 6500系列交換機(jī)組成。VSS使用兩種技術(shù)實現(xiàn)雙Active設(shè)備檢測與沖突解決。
一種機(jī)制是端口聚合協(xié)議(PAgP,Port Aggregation Protocol)增強(qiáng)協(xié)議檢測。如圖2所示,Cisco公司擴(kuò)充了PAgP協(xié)議報文,使新Active設(shè)備將自身的ACTIVE_ID攜帶在PAgP報文中發(fā)送給原Active設(shè)備,原Active設(shè)備發(fā)現(xiàn)接收到的報文中的ACTIVE_ID與本地ACTIVE_ID不同,則確定存在多Active設(shè)備沖突,原Active設(shè)備關(guān)閉本地所有接口,此時沖突得以解決。
另外一種機(jī)制是雙向轉(zhuǎn)發(fā)檢測(BFD,Bidirectional ForwardingDetection)。如圖3所示,在參與堆疊的兩個設(shè)備上分別選取一個三層接口,在每個接口上配置不同網(wǎng)段的IP地址和靜態(tài)路由,將兩個接口用額外的網(wǎng)線連接起來。當(dāng)堆疊正常工作時,BFD會話處于DOWN狀態(tài);當(dāng)堆疊鏈路斷裂時,Standby設(shè)備上的靜態(tài)路由生效,BFD會話UP,從而檢測到多Active設(shè)備沖突。
上述Cisco公司的兩個實現(xiàn)方案的最大缺點是只能支持兩臺設(shè)備形成的堆疊,即只能實現(xiàn)“雙Active設(shè)備檢測”。當(dāng)存在三臺或者更多設(shè)備參與堆疊時,需要進(jìn)行“多Active設(shè)備檢測”,Cisco公司的兩個方案均不能滿足要求。如圖4所示,采用PAgP增強(qiáng)協(xié)議檢測方案,原Active設(shè)備會被關(guān)閉,但是新Active 1設(shè)備和新Active 2設(shè)備同樣也會存在沖突。采用BFD方案,也存在同樣的問題。
發(fā)明內(nèi)容
本發(fā)明提供堆疊中多Active設(shè)備沖突檢測方法及堆疊成員設(shè)備,以實現(xiàn)對堆疊中沖突的多Active設(shè)備的檢測。
本發(fā)明的技術(shù)方案是這樣實現(xiàn)的 一種堆疊中多主用設(shè)備沖突檢測方法,預(yù)先在堆疊中的每個成員設(shè)備上配置一個檢測接口,為每個檢測接口分配IP地址,激活主用設(shè)備的檢測接口的IP地址,且在每個設(shè)備上配置主用設(shè)備選舉規(guī)則,并配置各成員設(shè)備的檢測接口的IP地址與該設(shè)備的主用設(shè)備選舉參數(shù)的對應(yīng)關(guān)系;該方法包括 堆疊分裂后,備用設(shè)備發(fā)現(xiàn)本設(shè)備的堆疊鏈路故障,升級為主用設(shè)備并激活本設(shè)備的檢測接口的IP地址,各主用設(shè)備以本設(shè)備的檢測接口的IP地址作為源IP地址,與其它主用設(shè)備建立會話,根據(jù)接收到的會話報文中的源IP地址查找到主用設(shè)備選舉參數(shù),根據(jù)配置的主用設(shè)備選舉規(guī)則及查找到的當(dāng)前堆疊各主用設(shè)備的主用設(shè)備選舉參數(shù),選舉出維持主用狀態(tài)的主用設(shè)備。
所述會話為雙向轉(zhuǎn)發(fā)檢測BFD會話。
所述檢測接口為三層物理接口,或者為虛擬局域網(wǎng)VLAN接口。
所述堆疊中的成員設(shè)備的檢測接口通過二層交換機(jī)相連。
所述堆疊中的所有成員設(shè)備的檢測接口的IP地址位于同一網(wǎng)段。
所述堆疊中的所有成員設(shè)備的檢測接口的IP地址位于不同網(wǎng)段,且,在每個成員設(shè)備的檢測接口上配置到其它每個成員設(shè)備的檢測接口的靜態(tài)路由。
所述主用設(shè)備選舉參數(shù)為設(shè)備編號、設(shè)備優(yōu)先級、設(shè)備中央處理單元媒體接入控制CPU-MAC地址中的一種或任意組合。
一種堆疊成員設(shè)備,該設(shè)備包括 鏈路故障檢測模塊,發(fā)現(xiàn)本設(shè)備的堆疊鏈路故障,若本設(shè)備為備用設(shè)備則升級為主用設(shè)備,向IP地址激活模塊發(fā)送IP地址激活指示;若本設(shè)備為主用設(shè)備,則向主用設(shè)備選舉模塊發(fā)送會話建立指示; IP地址激活模塊,接收IP地址激活指示,將本設(shè)備的檢測接口的IP地址激活,向主用設(shè)備選舉模塊發(fā)送會話建立指示; 主用設(shè)備選舉模塊,保存各成員設(shè)備的檢測接口的IP地址與該設(shè)備的主用設(shè)備選舉參數(shù)的對應(yīng)關(guān)系;接收會話建立指示,以本設(shè)備的檢測接口的IP地址作為源IP地址,與其它主用設(shè)備建立會話,根據(jù)接收到的會話報文中的源IP地址查找到對應(yīng)的主用設(shè)備選舉參數(shù),根據(jù)保存的主用設(shè)備選舉規(guī)則及查找到的當(dāng)前堆疊各主用設(shè)備的主用設(shè)備選舉參數(shù),選舉出維持主用狀態(tài)的主用設(shè)備。
所述設(shè)備的檢測接口與二層交換機(jī)相連。
與現(xiàn)有技術(shù)相比,本發(fā)明中,預(yù)先在堆疊中的每個成員設(shè)備上配置一個檢測接口,為每個檢測接口分配IP地址,激活主用設(shè)備的檢測接口的IP地址,且在每個設(shè)備上配置主用設(shè)備選舉規(guī)則,并配置各成員設(shè)備的檢測接口的IP地址與該設(shè)備的主用設(shè)備選舉參數(shù)的對應(yīng)關(guān)系;堆疊分裂后,備用設(shè)備發(fā)現(xiàn)本設(shè)備的堆疊鏈路故障,升級為主用設(shè)備并激活本設(shè)備的檢測接口的IP地址,各主用設(shè)備以本設(shè)備的檢測接口的IP地址作為源IP地址,與其它主用設(shè)備建立會話,根據(jù)接收到的會話報文中的源IP地址查找到主用設(shè)備選舉參數(shù),根據(jù)配置的主用設(shè)備選舉規(guī)則及查找到的當(dāng)前堆疊各主用設(shè)備的主用設(shè)備選舉參數(shù),選舉出維持主用狀態(tài)的主用設(shè)備。本發(fā)明實現(xiàn)了對堆疊中的多Active設(shè)備沖突的檢測。
圖1為典型的堆疊的組成圖; 圖2為現(xiàn)有的Cisco公司提出的PAgP增強(qiáng)協(xié)議檢測雙Active設(shè)備沖突的示意圖; 圖3為現(xiàn)有的Cisco公司提出的采用BFD檢測雙Active設(shè)備沖突的示意圖; 圖4為現(xiàn)有的采用Cisco公司提出的PAgP增強(qiáng)協(xié)議檢測多Active設(shè)備沖突的示意圖; 圖5為本發(fā)明實施例提供的檢測堆疊中的多Active設(shè)備沖突的流程圖; 圖6為本發(fā)明提供的檢測堆疊中的多Active設(shè)備沖突的應(yīng)用示例圖; 圖7為本發(fā)明實施例提供的堆疊成員設(shè)備的組成圖。
具體實施例方式 下面結(jié)合附圖及具體實施例對本發(fā)明再作進(jìn)一步詳細(xì)的說明。
圖5為本發(fā)明實施例提供的檢測堆疊中的多Active設(shè)備沖突的流程圖,如圖5所示,其具體步驟如下 步驟501對于一個堆疊,在堆疊中的每個成員設(shè)備上配置一個檢測接口,為每個檢測接口分配一個IP地址,激活A(yù)ctive設(shè)備的檢測接口的IP地址,而不激活Standby設(shè)備的檢測接口的IP地址。
檢測接口為物理三層接口或虛擬局域網(wǎng)(VLAN,Virtual Local AreaNetwork)接口。對于沒有物理三層接口的設(shè)備可以使用VLAN接口作為檢測接口;對于有物理三層接口的設(shè)備,可以選擇物理三層接口也可以選擇VLAN接口作為檢測接口。
所有成員設(shè)備的檢測接口的IP地址可以屬于同一網(wǎng)段,也可以屬于不同網(wǎng)段。若屬于不同網(wǎng)段,則需要為每個檢測接口配置到其它每個檢測接口的靜態(tài)路由。
步驟502將堆疊中的成員設(shè)備的檢測接口通過二層交換機(jī)相連。
步驟503在每個成員設(shè)備上配置多Active檢測表,在每個成員設(shè)備上配置Active選舉規(guī)則。
多Active檢測表包括每個成員設(shè)備的檢測接口的IP地址與該成員設(shè)備的Active選舉參數(shù),Active選舉參數(shù)可以是成員編號、CPU-MAC、優(yōu)先級等中的一個或任意組合。
Active選舉規(guī)則可以如下 堆疊分裂后,優(yōu)先級最高的Active設(shè)備維持Active狀態(tài),其它Active設(shè)備進(jìn)入Recovery狀態(tài),此時,優(yōu)先級為Active選舉參數(shù); 或者,CPU-MAC最大的Active設(shè)備維持Active狀態(tài),其它Active設(shè)備進(jìn)入Recovery狀態(tài),此時,CPU-MAC為Active選舉參數(shù); 或者,成員編號最高的Active設(shè)備維持Active狀態(tài),其它Active設(shè)備進(jìn)入Recovery狀態(tài),此時,成員編號為Active選舉參數(shù); 對于存在兩臺設(shè)備優(yōu)先級相同的情形,可以設(shè)定優(yōu)先級最高的Active設(shè)備維持Active狀態(tài),其它Active設(shè)備進(jìn)入Recovery狀態(tài),當(dāng)兩臺設(shè)備的優(yōu)先級相同時,成員編號高的Active設(shè)備維持Active設(shè)備,另一臺設(shè)備進(jìn)入Recovery狀態(tài),此時,優(yōu)先級+成員編號為Active選舉參數(shù);或者,當(dāng)兩臺設(shè)備的優(yōu)先級相同時,CPU-MAC大的設(shè)備維持Active狀態(tài),另一臺設(shè)備進(jìn)入Recovery狀態(tài),此時,優(yōu)先級+CPU-MAC為Active選舉參數(shù)。
表1給出了一個多Active檢測表示例 表1多Active檢測表示例 步驟504堆疊分裂后,堆疊中的Standby設(shè)備發(fā)現(xiàn)本設(shè)備的堆疊鏈路出現(xiàn)故障,將本設(shè)備升級為Active設(shè)備,并激活本設(shè)備的檢測接口的IP地址,根據(jù)本設(shè)備配置的其它所有成員設(shè)備的檢測接口的IP地址,向其它每個成員設(shè)備發(fā)送BFD報文,以與當(dāng)前堆疊中的各Active設(shè)備建立BFD會話,BFD報文的源IP地址為本設(shè)備的檢測接口的IP地址。
由于Standby設(shè)備升級為Active設(shè)備后并不知道還有哪些Standby設(shè)備升級為Active設(shè)備,因此,該新Active設(shè)備會向堆疊中的其它每個成員設(shè)備發(fā)送BFD報文。例如若堆疊中共有N個成員設(shè)備,則本步驟中,Standby設(shè)備升級為Active設(shè)備后,需要向其它N-1個成員設(shè)備發(fā)送BFD報文。
需要說明的是,對于原Active設(shè)備來說,由于其檢測接口的IP地址已被激活,因此原Active設(shè)備在發(fā)現(xiàn)堆疊鏈路故障后,也會向其它每個成員設(shè)備發(fā)送BFD報文。
步驟505二層交換機(jī)接收BFD報文,轉(zhuǎn)發(fā)該報文。
步驟506當(dāng)前堆疊中的Active設(shè)備收到BFD報文,發(fā)現(xiàn)與該報文的源IP地址對應(yīng)設(shè)備的BFD會話建立,根據(jù)該報文的源IP地址在多Active檢測表中查找到該設(shè)備的Active選舉參數(shù)。
步驟507當(dāng)前堆疊中的各Active設(shè)備根據(jù)預(yù)設(shè)Active選舉規(guī)則以及多Active檢測表中各Active設(shè)備的Active選舉參數(shù),選舉出當(dāng)前堆疊中維持Active狀態(tài)的Active設(shè)備和需要進(jìn)入Recovery狀態(tài)的Active設(shè)備。
圖6為本發(fā)明提供的檢測堆疊中多Active設(shè)備沖突的應(yīng)用示例圖,如圖6所示,堆疊中共有4臺設(shè)備設(shè)備1~4,設(shè)備1~4的檢測接口配置的IP地址分別為ip1~4,每個檢測接口都連接到同一二層交換機(jī)上,初始時,設(shè)備1為Active設(shè)備,設(shè)備2~4為Standby設(shè)備,ip1激活,ip2~4不激活;在設(shè)備1~4上配置的多Active檢測表包含每個設(shè)備的成員編號和IP地址的對應(yīng)關(guān)系,在設(shè)備1~4上配置的Active選舉規(guī)則為成員編號最小者維持Active狀態(tài)。
某一時刻,設(shè)備1、2,設(shè)備2、3間的堆疊鏈路出現(xiàn)故障,Standby設(shè)備2、3升級為Active2、Active3設(shè)備,ip2、3被激活,設(shè)備1、2、3分別向二層交換機(jī)發(fā)送BFD報文,則每個Active設(shè)備上都會有兩條BFD會話,具體如下 設(shè)備1上有BFD會話1ip1<-->ip2,BFD會話2ip1<-->ip3; 設(shè)備2上有BFD會話1ip2<-->ip1,BFD會話3ip2<-->ip3; 設(shè)備3上有BFD會話2ip3<-->ip1,BFD會話3ip3<-->ip2。
當(dāng)設(shè)備1上的BFD會話1up時,設(shè)備1發(fā)現(xiàn)對端IP地址為ip2,則確定ip2對應(yīng)設(shè)備2是一個Active設(shè)備; 當(dāng)設(shè)備1上的BFD會話2up時,設(shè)備1發(fā)現(xiàn)對端IP地址為ip3,則確定ip3對應(yīng)設(shè)備3是一個Active設(shè)備; 當(dāng)設(shè)備2上的BFD會話1up時,設(shè)備2發(fā)現(xiàn)對端IP地址為ip1,則確定ip1對應(yīng)設(shè)備1是一個Active設(shè)備; 當(dāng)設(shè)備2上的BFD會話3up時,設(shè)備2發(fā)現(xiàn)對端IP地址為ip3,則確定ip3對應(yīng)設(shè)備3是一個Active設(shè)備; 當(dāng)設(shè)備3上的BFD會話2up時,設(shè)備3發(fā)現(xiàn)對端IP地址為ip1,則確定ip1對應(yīng)設(shè)備1是一個Active設(shè)備; 當(dāng)設(shè)備3上的BFD會話3up時,設(shè)備3發(fā)現(xiàn)對端IP地址為ip2,則確定ip2對應(yīng)設(shè)備2是一個Active設(shè)備; 最后,設(shè)備1、2、3根據(jù)配置的Active選舉規(guī)則成員編號最小者維持Active狀態(tài),選舉出設(shè)備1維持Active狀態(tài),設(shè)備2、3進(jìn)入Recovery狀態(tài)。
圖7為本發(fā)明實施例提供的堆疊成員設(shè)備的組成圖,如圖7所示,其主要包括鏈路故障檢測模塊71、IP地址激活模塊72和主用設(shè)備選舉模塊73,其中 鏈路故障檢測模塊71發(fā)現(xiàn)本設(shè)備的堆疊鏈路故障,若本設(shè)備為備用設(shè)備則升級為主用設(shè)備,并向IP地址激活模塊72發(fā)送IP地址激活指示;若本設(shè)備為主用設(shè)備,則向主用設(shè)備選舉模塊73發(fā)送會話建立指示。
IP地址激活模塊72接收鏈路故障檢測模塊71發(fā)來的IP地址激活指示,則激活本設(shè)備的檢測接口的IP地址,向主用設(shè)備選舉模塊73發(fā)送會話建立指示。
主用設(shè)備選舉模塊73保存Active選舉規(guī)則,保存各成員設(shè)備的檢測接口的IP地址與該設(shè)備的主用設(shè)備選舉參數(shù)的對應(yīng)關(guān)系;接收鏈路故障檢測模塊71或IP地址激活模塊72發(fā)來的會話建立指示,以其它各成員設(shè)備的檢測接口的IP地址作為目的IP地址,以本設(shè)備的檢測接口的IP地址作為源IP地址,與其它主用設(shè)備建立會話,根據(jù)接收到的會話報文的源IP地址,查找到該IP地址對應(yīng)的主用設(shè)備選舉參數(shù),根據(jù)保存的主用設(shè)備選舉規(guī)則和查找到的各主用設(shè)備的主用設(shè)備選舉參數(shù),在當(dāng)前堆疊的各主用設(shè)備中,選舉出維持主用狀態(tài)的主用設(shè)備和需要進(jìn)入恢復(fù)狀態(tài)的主用設(shè)備。
以上所述僅為本發(fā)明的過程及方法實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種堆疊中多主用設(shè)備沖突檢測方法,其特征在于,預(yù)先在堆疊中的每個成員設(shè)備上配置一個檢測接口,為每個檢測接口分配IP地址,激活主用設(shè)備的檢測接口的IP地址,且在每個設(shè)備上配置主用設(shè)備選舉規(guī)則,并配置各成員設(shè)備的檢測接口的IP地址與該設(shè)備的主用設(shè)備選舉參數(shù)的對應(yīng)關(guān)系;該方法包括
堆疊分裂后,備用設(shè)備發(fā)現(xiàn)本設(shè)備的堆疊鏈路故障,升級為主用設(shè)備并激活本設(shè)備的檢測接口的IP地址,各主用設(shè)備以本設(shè)備的檢測接口的IP地址作為源IP地址,與其它主用設(shè)備建立會話,根據(jù)接收到的會話報文中的源IP地址查找到主用設(shè)備選舉參數(shù),根據(jù)配置的主用設(shè)備選舉規(guī)則及查找到的當(dāng)前堆疊各主用設(shè)備的主用設(shè)備選舉參數(shù),選舉出維持主用狀態(tài)的主用設(shè)備。
2、如權(quán)利要求1所述的方法,其特征在于,所述會話為雙向轉(zhuǎn)發(fā)檢測BFD會話。
3、如權(quán)利要求1或2所述的方法,其特征在于,所述檢測接口為三層物理接口,或者為虛擬局域網(wǎng)VLAN接口。
4、如權(quán)利要求1或2所述的方法,其特征在于,所述堆疊中的成員設(shè)備的檢測接口通過二層交換機(jī)相連。
5、如權(quán)利要求1或2所述的方法,其特征在于,所述堆疊中的所有成員設(shè)備的檢測接口的IP地址位于同一網(wǎng)段。
6、如權(quán)利要求1或2所述的方法,其特征在于,所述堆疊中的所有成員設(shè)備的檢測接口的IP地址位于不同網(wǎng)段,且,在每個成員設(shè)備的檢測接口上配置到其它每個成員設(shè)備的檢測接口的靜態(tài)路由。
7、如權(quán)利要求1或2所述的方法,其特征在于,所述主用設(shè)備選舉參數(shù)為設(shè)備編號、設(shè)備優(yōu)先級、設(shè)備中央處理單元媒體接入控制CPU-MAC地址中的一種或任意組合。
8、一種堆疊成員設(shè)備,其特征在于,該設(shè)備包括
鏈路故障檢測模塊,發(fā)現(xiàn)本設(shè)備的堆疊鏈路故障,若本設(shè)備為備用設(shè)備則升級為主用設(shè)備,向IP地址激活模塊發(fā)送IP地址激活指示;若本設(shè)備為主用設(shè)備,則向主用設(shè)備選舉模塊發(fā)送會話建立指示;
IP地址激活模塊,接收IP地址激活指示,將本設(shè)備的檢測接口的IP地址激活,向主用設(shè)備選舉模塊發(fā)送會話建立指示;
主用設(shè)備選舉模塊,保存各成員設(shè)備的檢測接口的IP地址與該設(shè)備的主用設(shè)備選舉參數(shù)的對應(yīng)關(guān)系;接收會話建立指示,以本設(shè)備的檢測接口的IP地址作為源IP地址,與其它主用設(shè)備建立會話,根據(jù)接收到的會話報文中的源IP地址查找到對應(yīng)的主用設(shè)備選舉參數(shù),根據(jù)保存的主用設(shè)備選舉規(guī)則及查找到的當(dāng)前堆疊各主用設(shè)備的主用設(shè)備選舉參數(shù),選舉出維持主用狀態(tài)的主用設(shè)備。
9、如權(quán)利要求8所述的設(shè)備,其特征在于,所述設(shè)備的檢測接口與二層交換機(jī)相連。
全文摘要
本發(fā)明公開了堆疊中多主用設(shè)備沖突檢測方法及堆疊成員設(shè)備。預(yù)先在堆疊中的每個成員設(shè)備上配置一個檢測接口,為每個檢測接口分配IP地址,激活主用設(shè)備的檢測接口的IP地址,且在每個設(shè)備上配置主用設(shè)備選舉規(guī)則,并配置各成員設(shè)備的檢測接口的IP地址與該設(shè)備的主用設(shè)備選舉參數(shù)的對應(yīng)關(guān)系;堆疊分裂后,備用設(shè)備升級為主用設(shè)備并激活本設(shè)備的檢測接口的IP地址,各主用設(shè)備以本設(shè)備的檢測接口的IP地址作為源IP地址,與其它主用設(shè)備建立會話,根據(jù)接收到的會話報文中的源IP地址查找到主用設(shè)備選舉參數(shù),根據(jù)配置的主用設(shè)備選舉規(guī)則,選舉出維持主用狀態(tài)的主用設(shè)備。本發(fā)明實現(xiàn)了對堆疊中多主用設(shè)備沖突的檢測。
文檔編號H04L12/26GK101610182SQ20091008834
公開日2009年12月23日 申請日期2009年6月26日 優(yōu)先權(quán)日2009年6月26日
發(fā)明者王鵬舉, 胡小龍 申請人:杭州華三通信技術(shù)有限公司