本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種堆疊系統(tǒng)分裂檢測方法及裝置。
背景技術(shù):
IRF3(Intelligent Resilient Framework 3,第三代智能彈性架構(gòu))是為了提高網(wǎng)絡(luò)接入層的接入能力和管理效率而開發(fā)的縱向網(wǎng)絡(luò)整合虛擬化技術(shù)。它的核心思想是將多臺PEX(Port Extender,端口擴(kuò)展器)設(shè)備連接到父設(shè)備上,進(jìn)行必要的配置后,將每臺PEX設(shè)備虛擬化成父設(shè)備的一塊遠(yuǎn)程接口板,由父設(shè)備統(tǒng)一管理。使用這種虛擬化技術(shù)可以以較低的成本,來提高父設(shè)備的接口密度,簡化網(wǎng)絡(luò)拓?fù)?,降低網(wǎng)絡(luò)維護(hù)成本。
在實(shí)際IRF3組網(wǎng)中,父設(shè)備通常是由兩臺或以上設(shè)備組成的IRF。在該組網(wǎng)中,若IRF鏈路故障會導(dǎo)致一個(gè)IRF分裂成兩個(gè)新的IRF,這兩個(gè)IRF擁有相同的IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)等三層配置,若這兩個(gè)IRF均為Active(激活)狀態(tài),會引起地址沖突,進(jìn)而導(dǎo)致故障在網(wǎng)絡(luò)中擴(kuò)大。
可見,為了提高組網(wǎng)可靠性,如何及時(shí)檢測出IRF發(fā)生分裂成為一個(gè)亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種堆疊系統(tǒng)分裂檢測方法及裝置,以提高堆疊系統(tǒng)組網(wǎng)可靠性。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種堆疊系統(tǒng)分裂檢測方法,應(yīng)用于縱向堆疊系統(tǒng)中的目標(biāo)父設(shè)備,縱向堆疊系統(tǒng)的父設(shè)備之間通過堆疊鏈路進(jìn)行鏈型堆疊,多個(gè)端口擴(kuò)展器之間進(jìn)行全連接,該方法包括:
當(dāng)目標(biāo)父設(shè)備為堆疊系統(tǒng)的主設(shè)備時(shí),通過預(yù)設(shè)端口擴(kuò)展器PEX端口發(fā)送MAD檢測報(bào)文,MAD檢測報(bào)文中攜帶有目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的域標(biāo)識Domain ID和激活標(biāo)識Active ID,以使接收到MAD檢測報(bào)文的PEX設(shè)備向入端口之外的其它PEX端口轉(zhuǎn)發(fā)MAD檢測報(bào)文,直至MAD檢測報(bào)文到達(dá)堆疊系統(tǒng)中的其他父設(shè)備;
當(dāng)目標(biāo)父設(shè)備接收到MAD檢測報(bào)文時(shí),根據(jù)該MAD檢測報(bào)文中攜帶的Domain ID和Active ID確定是否發(fā)生堆疊系統(tǒng)分裂。
為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種堆疊系統(tǒng)裝置,應(yīng)用于縱向堆疊系統(tǒng)的目標(biāo)父設(shè)備,縱向堆疊系統(tǒng)的父設(shè)備之間通過堆疊鏈路進(jìn)行鏈型堆疊,多個(gè)端口擴(kuò)展器之間進(jìn)行全連接,該裝置包括:
發(fā)送單元,用于當(dāng)目標(biāo)父設(shè)備為堆疊系統(tǒng)的主設(shè)備時(shí),通過預(yù)設(shè)端口擴(kuò)展器PEX端口發(fā)送MAD檢測報(bào)文,MAD檢測報(bào)文中攜帶有目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的域標(biāo)識Domain ID和激活標(biāo)識Active ID,以使接收到MAD檢測報(bào)文的PEX設(shè)備向入端口之外的其它PEX端口轉(zhuǎn)發(fā)MAD檢測報(bào)文,直至MAD檢測報(bào)文到達(dá)堆疊系統(tǒng)中的其他父設(shè)備;
接收單元,用于接收MAD檢測報(bào)文;
確定單元,用于根據(jù)接收單元接收到的MAD檢測報(bào)文中攜帶的Domain ID和Active ID確定是否發(fā)生堆疊系統(tǒng)分裂。
為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種堆疊系統(tǒng)分裂檢測方法,應(yīng)用于縱向堆疊系統(tǒng)中的目標(biāo)端口擴(kuò)展器PEX設(shè)備,縱向堆疊系統(tǒng)的父設(shè)備之間通過堆疊鏈路進(jìn)行鏈型堆疊,多個(gè)端口擴(kuò)展器之間進(jìn)行全連接,該方法包括:
當(dāng)接收到報(bào)文時(shí),判斷報(bào)文是否為MAD檢測報(bào)文;
若報(bào)文為MAD檢測報(bào)文,則通過接收到報(bào)文的入端口之外的其它PEX端口轉(zhuǎn)發(fā)MAD檢測報(bào)文,以使作為主設(shè)備的父設(shè)備接收到MAD檢測報(bào)文時(shí),根據(jù)MAD檢測報(bào)文中攜帶的域標(biāo)識Domain ID和激活標(biāo)識Active ID確定是否發(fā)生堆疊系統(tǒng)分裂。
根據(jù)本發(fā)明實(shí)施例的第四方面,提供一種堆疊系統(tǒng)分裂檢測裝置,應(yīng)用于縱向堆疊系統(tǒng)中的目標(biāo)端口擴(kuò)展器PEX設(shè)備,縱向堆疊系統(tǒng)的父設(shè)備之間通過堆疊鏈路進(jìn)行鏈型堆疊,多個(gè)端口擴(kuò)展器之間進(jìn)行全連接,該裝置包括:
接收單元,用于接收報(bào)文;
判斷單元,用于判斷接收單元接收到的報(bào)文是否為MAD檢測報(bào)文;
發(fā)送單元,用于若接收單元接收到的報(bào)文為MAD檢測報(bào)文,則通過接收到報(bào)文的入端口之外的其它PEX端口轉(zhuǎn)發(fā)MAD檢測報(bào)文,以使作為主設(shè)備的父設(shè)備接收到MAD檢測報(bào)文時(shí),根據(jù)MAD檢測報(bào)文中攜帶的域標(biāo)識Domain ID和激活標(biāo)識Active ID確定是否發(fā)生堆疊系統(tǒng)分裂
應(yīng)用本發(fā)明實(shí)施例,當(dāng)目標(biāo)父設(shè)備為堆疊系統(tǒng)的主設(shè)備時(shí),通過預(yù)設(shè)PEX端口發(fā)送攜帶有目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID和Active ID的MAD檢測報(bào)文,以使接收到該MAD檢測報(bào)文的PEX設(shè)備向入端口之外的其它PEX端口轉(zhuǎn)發(fā)該MAD檢測報(bào)文,直至MAD檢測報(bào)文到達(dá)堆疊系統(tǒng)中的其他父設(shè)備,當(dāng)目標(biāo)父設(shè)備接收到MAD檢測報(bào)文時(shí),根據(jù)該MAD檢測報(bào)文中攜帶的Domain ID和Active ID確定是否發(fā)生堆疊系統(tǒng)分裂,從而,在不需要占用專門的端口或鏈路的前提下,利用堆疊系統(tǒng)中PEX通道擴(kuò)散MAD檢測報(bào)文,避免了縱向堆疊系統(tǒng)中,鏈型堆疊的父設(shè)備之間的堆疊鏈路斷開而無法傳遞堆疊分裂檢測報(bào)文而有可能產(chǎn)生的堆疊系統(tǒng)存在多個(gè)主設(shè)備的技術(shù)問題,實(shí)現(xiàn)了堆疊系統(tǒng)分裂的檢測,提高了組網(wǎng)的可靠性。
附圖說明
圖1是本發(fā)明實(shí)施例提供的一種堆疊系統(tǒng)分裂檢測方法的流程示意圖;
圖2是本發(fā)明實(shí)施例提供的另一種堆疊系統(tǒng)分裂檢測方法的流程示意圖;
圖3是本發(fā)明實(shí)施例提供的一種具體應(yīng)用場景的架構(gòu)示意圖;
圖4是本發(fā)明實(shí)施例提供的一種堆疊系統(tǒng)分裂檢測裝置的結(jié)構(gòu)示意圖;
圖5是本發(fā)明實(shí)施例提供的另一種堆疊系統(tǒng)分裂檢測裝置的結(jié)構(gòu)示意圖;
圖6是本發(fā)明實(shí)施例提供的一種堆疊系統(tǒng)分裂檢測裝置的結(jié)構(gòu)示意圖;
圖7是本發(fā)明實(shí)施例提供的另一種堆疊系統(tǒng)分裂檢測裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說明。
請參見圖1,為本發(fā)明實(shí)施例提供的一種堆疊系統(tǒng)分裂檢測方法的流程示意圖,如圖1所示,該方法可以包括以下步驟:
需要說明的是,在本發(fā)明實(shí)施例中,步驟101~步驟102的執(zhí)行主體可以為包括多個(gè)父設(shè)備的縱向堆疊系統(tǒng)中的任一父設(shè)備(本文中稱為目標(biāo)父設(shè)備),該縱向堆疊系統(tǒng)中的多個(gè)父設(shè)備之間通過堆疊鏈路進(jìn)行鏈型堆疊,多個(gè)端口擴(kuò)展器之間進(jìn)行全連接,為便于描述,以下以步驟101~步驟102的執(zhí)行主體為堆疊系統(tǒng)中的一個(gè)父設(shè)備作為目標(biāo)父設(shè)備為例進(jìn)行說明。
步驟101、當(dāng)目標(biāo)父設(shè)備為堆疊系統(tǒng)的主設(shè)備時(shí),通過預(yù)設(shè)PEX端口發(fā)送MAD檢測報(bào)文,該MAD檢測報(bào)文中攜帶有目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID和Active ID,以使接收到該MAD檢測報(bào)文的PEX設(shè)備向入端口之外的其它PEX端口轉(zhuǎn)發(fā)該MAD檢測報(bào)文,直至MAD檢測報(bào)文到達(dá)堆疊系統(tǒng)中的其他父設(shè)備。
本發(fā)明實(shí)施例中,為了及時(shí)檢測出堆疊系統(tǒng)分裂的發(fā)生,堆疊系統(tǒng)中的主設(shè)備可以定時(shí)或周期性地向堆疊系統(tǒng)中的從設(shè)備發(fā)送MAD檢測報(bào)文;同時(shí),為了避免MAD檢測對端口和鏈路的占用,可以通過父設(shè)備與PEX設(shè)備之間的鏈路以及PEX設(shè)備之間的鏈路擴(kuò)散MAD檢測報(bào)文。
相應(yīng)地,在本發(fā)明實(shí)施例中,當(dāng)目標(biāo)父設(shè)備為堆疊系統(tǒng)的主設(shè)備時(shí),目標(biāo)父設(shè)備可以從預(yù)設(shè)PEX端口發(fā)送MAD檢測報(bào)文,該MAD檢測報(bào)文中攜帶有目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID(域標(biāo)識)和Active ID(激活標(biāo)識)。
其中,當(dāng)目標(biāo)父設(shè)備存在多個(gè)PEX端口時(shí),可以預(yù)先從該多個(gè)PEX端口中選擇出一個(gè)端口作為首選發(fā)包端口(即上述預(yù)設(shè)PEX端口),其它PEX端口作為備用發(fā)包端口;當(dāng)首選發(fā)包端口Down(關(guān)閉)時(shí),目標(biāo)父設(shè)備可以從備用發(fā)包端口中選擇一個(gè)作為新的發(fā)包端口,用于發(fā)送MAD檢測報(bào)文。
本發(fā)明實(shí)施例中,當(dāng)PEX設(shè)備從PEX端口接收到MAD檢測報(bào)文時(shí),PEX設(shè)備可以通過接收到該MAD檢測報(bào)文的入端口之外的其它PEX端口轉(zhuǎn)發(fā)該MAD檢測報(bào)文,直至該MAD檢測報(bào)文到達(dá)其他父設(shè)備。
其中,PEX設(shè)備對MAD檢測報(bào)文的識別的具體實(shí)現(xiàn)可以參見圖2所示方法流程中的相關(guān)描述,本發(fā)明實(shí)施例在此不做贅述。
值得說明的是,在本發(fā)明實(shí)施例中,PEX端口包括堆疊系統(tǒng)中父設(shè)備與PEX設(shè)備之間連接的端口,以及PEX設(shè)備之間連接的端口,而不包括連接堆疊系統(tǒng)外部設(shè)備的端口,本發(fā)明實(shí)施例后續(xù)不再復(fù)述。
步驟102、當(dāng)目標(biāo)父設(shè)備接收到MAD檢測報(bào)文時(shí),根據(jù)該MAD檢測報(bào)文中攜帶的Domain ID和Active ID確定是否發(fā)生堆疊系統(tǒng)分裂。
本發(fā)明實(shí)施例中,目標(biāo)父設(shè)備接收到MAD檢測報(bào)文時(shí),可以通過比較該MAD檢測報(bào)文中攜帶的Domain ID和Active ID與本地記錄的目標(biāo)父設(shè)備所屬的Domain ID和Active ID的方式確定是否發(fā)生堆疊系統(tǒng)分裂。
作為一種可選的實(shí)施方式,上述步驟102中,根據(jù)MAD檢測報(bào)文中攜帶的Domain ID和Active ID確定是否發(fā)生堆疊系統(tǒng)分裂,可以包括以下步驟:
11)、比較該MAD檢測報(bào)文中攜帶的Domain ID和Active ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID和Active ID;
12)、若該MAD檢測報(bào)文中攜帶的Domain ID和Active ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID和Active ID均相同,則確定未發(fā)生堆疊系統(tǒng)分裂;
13)、若該MAD檢測報(bào)文中攜帶的Domain ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID相同,但該MAD檢測報(bào)文中攜帶的Active ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Active ID不同,則確定發(fā)生堆疊系統(tǒng)分裂。
在該實(shí)施方式中,當(dāng)目標(biāo)父設(shè)備接收到MAD檢測報(bào)文時(shí),目標(biāo)父設(shè)備可以獲取該MAD檢測報(bào)文中攜帶的Domain ID和Active ID,并比較該MAD檢測報(bào)文中攜帶的Domain ID與本地記錄的目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID。
若MAD檢測報(bào)文中攜帶的Domain ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID相同,則進(jìn)一步比較該檢測報(bào)文中攜帶的Active ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Active ID是否相同。
若該檢測報(bào)文中攜帶的Active ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Active ID相同(即MAD檢測報(bào)文中攜帶的Domain ID和Active ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID和Active ID均相同),則目標(biāo)父設(shè)備確定未發(fā)生堆疊系統(tǒng)分裂。
若該檢測報(bào)文中攜帶的Active ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Active ID不同(即MAD檢測報(bào)文中攜帶的Domain ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID相同,但該MAD檢測報(bào)文中攜帶的Active ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Active ID不同),即檢測到的多Active沖突,則目標(biāo)父設(shè)備可以確定發(fā)生了堆疊系統(tǒng)分裂。
值得說明的是,在本發(fā)明實(shí)施例中,若目標(biāo)父設(shè)備接收到的MAD檢測報(bào)文中攜帶的Domain ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID不同,則認(rèn)為該MAD檢測報(bào)文來自不同的堆疊系統(tǒng),在該情況下,目標(biāo)父設(shè)備不對該MAD檢測報(bào)文進(jìn)行處理。
此外,目標(biāo)父設(shè)備確定發(fā)生了堆疊系統(tǒng)分裂之后的處理措施,如讓Master(主)成員編號最小的堆疊系統(tǒng)繼續(xù)正常工作(維持Active狀態(tài)),其它堆疊系統(tǒng)會遷移到Recovery(恢復(fù))狀態(tài)(表示堆疊系統(tǒng)處于禁用狀態(tài)),并關(guān)閉Recovery狀態(tài)堆疊系統(tǒng)中所有成員設(shè)備上除保留端口以外的其它所有物理端口(通常為業(yè)務(wù)接口),以保證該堆疊系統(tǒng)不能再轉(zhuǎn)發(fā)業(yè)務(wù)報(bào)文等具體實(shí)現(xiàn)可以參見現(xiàn)有相關(guān)流程中的相關(guān)實(shí)現(xiàn),本發(fā)明實(shí)施例在此不做贅述。
請參見圖2,為本發(fā)明實(shí)施例提供的另一種堆疊系統(tǒng)分裂檢測方法的流程示意圖,如圖2所示,該方法可以包括以下步驟:
需要說明的是,在本發(fā)明實(shí)施例中,步驟201~步驟202的執(zhí)行主體可以為包括多個(gè)父設(shè)備的縱向堆疊系統(tǒng)中的任一PEX設(shè)備(本文中稱為目標(biāo)PEX設(shè)備),該縱向堆疊系統(tǒng)中的多個(gè)父設(shè)備之間通過堆疊鏈路進(jìn)行鏈型堆疊,多個(gè)PEX設(shè)備之間進(jìn)行全連接,為便于描述,以下以步驟201~步驟202的執(zhí)行主體為堆疊系統(tǒng)中的目標(biāo)PEX設(shè)備為例進(jìn)行說明。
步驟201、當(dāng)接收到報(bào)文時(shí),判斷該報(bào)文是否為MAD檢測報(bào)文。若是,轉(zhuǎn)至步驟202;否則,結(jié)束當(dāng)前流程。
本發(fā)明實(shí)施例中,當(dāng)目標(biāo)PEX設(shè)備接收到報(bào)文時(shí),目標(biāo)PEX設(shè)備需要對該報(bào)文進(jìn)行識別,以判斷該報(bào)文是否為MAD檢測報(bào)文。
作為一種可選的實(shí)施方式,上述步驟201中,判斷該報(bào)文是否為MAD檢測報(bào)文,可以包括:
判斷接收到該報(bào)文的入端口以及該報(bào)文中攜帶的ethtype(以太網(wǎng)類型)值是否與預(yù)設(shè)ACL(Access Control List,訪問控制列表)表項(xiàng)的匹配項(xiàng)匹配;其中,該預(yù)設(shè)ACL表項(xiàng)的匹配項(xiàng)為入端口為PEX端口,ethtype值為預(yù)設(shè)值,動作項(xiàng)為將與匹配項(xiàng)匹配的報(bào)文從入端口之外的其它PEX端口轉(zhuǎn)發(fā);
若匹配,則確定該報(bào)文為MAD檢測報(bào)文。
在該實(shí)施方式中,為了使PEX設(shè)備能夠識別MAD檢測報(bào)文,可以預(yù)先在PEX設(shè)備中下發(fā)ACL表項(xiàng),該ACL表項(xiàng)的匹配項(xiàng)可以為入端口為PEX端口,ethtype值為預(yù)設(shè)值(可以根據(jù)實(shí)際場景設(shè)定),動作項(xiàng)為將與匹配項(xiàng)匹配的報(bào)文從入端口之外的其它PEX端口轉(zhuǎn)發(fā)。
相應(yīng)地,當(dāng)目標(biāo)PEX設(shè)備接收到報(bào)文時(shí),目標(biāo)PEX設(shè)備可以判斷該報(bào)文的入端口以及報(bào)文中攜帶的ethtype值是否與預(yù)設(shè)ACL表項(xiàng)的匹配項(xiàng)匹配,即判斷該報(bào)文的入端口是否為PEX端口,且該報(bào)文中攜帶的ethtype值是否為預(yù)設(shè)值。
若目標(biāo)PEX設(shè)備確定接收到的報(bào)文的入端口以及報(bào)文中攜帶的ethtype值與預(yù)設(shè)ACL表項(xiàng)的匹配項(xiàng)匹配,即該報(bào)文的入端口為PEX端口,且該報(bào)文中攜帶的ethtype值為預(yù)設(shè)值,則目標(biāo)PEX設(shè)備確定可以該報(bào)文為MAD檢測報(bào)文。
值得說明的是,在該實(shí)施方式中,若目標(biāo)PEX設(shè)備確定接收到的報(bào)文的入端口以及報(bào)文中攜帶的ethtype值與預(yù)設(shè)ACL表項(xiàng)的匹配項(xiàng)不匹配,即該報(bào)文的入端口不是PEX端口,或/和,該報(bào)文中攜帶的ethtype值不是預(yù)設(shè)值,則目標(biāo)PEX設(shè)備可以確定該報(bào)文不是MAD檢測報(bào)文。
相應(yīng)地,為了實(shí)現(xiàn)上述MAD檢測報(bào)文的識別,當(dāng)父設(shè)備通過PEX端口向PEX設(shè)備發(fā)送MAD檢測報(bào)文時(shí),可以將該MAD檢測報(bào)文中攜帶的ethtype值設(shè)置為預(yù)設(shè)值,以使接收到該MAD檢測報(bào)文的PEX設(shè)備根據(jù)報(bào)文的入端口以及報(bào)文中攜帶的ethtype值識別MAD檢測報(bào)文。
需要說明的是,在本發(fā)明實(shí)施例中,父設(shè)備在構(gòu)造上述MAD檢測報(bào)文時(shí),除了可以通過上述將ethtype值設(shè)置為預(yù)設(shè)值的方式使PEX設(shè)備能夠識別MAD檢測報(bào)文之外,也可以通過其它方式實(shí)現(xiàn),如在報(bào)文中攜帶預(yù)先協(xié)商的標(biāo)識字段(該標(biāo)識字段可以為新增字段,也可以為對現(xiàn)有字段的擴(kuò)展),由PEX設(shè)備根據(jù)該標(biāo)識字段識別MAD檢測報(bào)文,其具體實(shí)現(xiàn)在此不再贅述。
步驟202、通過接收到該報(bào)文的入端口之外的其它PEX端口轉(zhuǎn)發(fā)該MAD檢測報(bào)文,以使作為主設(shè)備的父設(shè)備接收到該MAD檢測報(bào)文時(shí),根據(jù)該MAD檢測報(bào)文中攜帶的Domain ID和Active ID確定是否發(fā)生堆疊系統(tǒng)分裂。
本發(fā)明實(shí)施例中,當(dāng)目標(biāo)PEX設(shè)備確定接收到的報(bào)文為MAD檢測報(bào)文時(shí),目標(biāo)PEX設(shè)備可以通過報(bào)文的入端口之外的其它PEX端口轉(zhuǎn)發(fā)該MAD檢測報(bào)文,直至報(bào)文到達(dá)其他父設(shè)備。
其他父設(shè)備接收到MAD檢測報(bào)文時(shí),可以根據(jù)該MAD檢測報(bào)文中攜帶的Domain ID以及Active ID確定是否發(fā)生堆疊系統(tǒng)分裂,其具體實(shí)現(xiàn)可以參見上述圖1所示方法流程中的相關(guān)描述,本發(fā)明實(shí)施例在此不再贅述。
值得說明的是,在本發(fā)明實(shí)施例中,當(dāng)目標(biāo)PEX設(shè)備確定接收到的報(bào)文不是MAD檢測報(bào)文時(shí),目標(biāo)PEX設(shè)備可以按照現(xiàn)有流程中的相關(guān)實(shí)現(xiàn)對其進(jìn)行處理,本發(fā)明實(shí)施例在此不做贅述。
可見,在圖1和圖2所示的方法流程中,父設(shè)備通過PEX端口向PEX設(shè)備發(fā)送MAD檢測報(bào)文,使用現(xiàn)有堆疊系統(tǒng)中的PEX通道完成MAD檢測報(bào)文的轉(zhuǎn)發(fā),在不需要占用專門的端口或鏈路的前提下,實(shí)現(xiàn)了對堆疊系統(tǒng)分裂的檢測,提高了堆疊系統(tǒng)分裂檢測方案的可擴(kuò)展性。
為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實(shí)施例提供的技術(shù)方案,下面結(jié)合具體應(yīng)用場景對本發(fā)明實(shí)施例提供的技術(shù)方案進(jìn)行詳細(xì)描述。
請參見圖3,為本發(fā)明實(shí)施例提供的一種具體應(yīng)用場景的架構(gòu)示意圖,如圖3所示,在該應(yīng)用場景中,父設(shè)備301與父設(shè)備302之間形成通過堆疊鏈路進(jìn)行鏈型堆疊,PEX設(shè)備401與父設(shè)備301連接,PEX設(shè)備403與父設(shè)備302連接,PEX設(shè)備401、PEX設(shè)備402以及PEX設(shè)備403之間全連接。
基于該應(yīng)用場景,本發(fā)明實(shí)施例提供的堆疊系統(tǒng)分裂檢測方案實(shí)現(xiàn)原理如下:
1、MAD檢測報(bào)文構(gòu)造
構(gòu)造MAD檢測報(bào)文(本文中可以稱為PEX MAD檢測報(bào)文)需要滿足以下條件:
1)、能攜帶當(dāng)前堆疊系統(tǒng)的Domain ID和Active;
2)、能在PEX設(shè)備被識別;
其中,在該實(shí)施例中,為了使PEX設(shè)備能識別MAD檢測報(bào)文,使用一個(gè)特殊的ethtype值(0xBCCB)來標(biāo)識報(bào)文,報(bào)文內(nèi)容為當(dāng)前堆疊系統(tǒng)的Domain ID和Active ID,報(bào)文格式可以如下:
其中,源MAC(Media Access Control,媒體訪問控制)地址為發(fā)送MAD檢測報(bào)文的父設(shè)備的MAC地址。
2、發(fā)送端口選擇
端口選擇需要滿足以下條件:
1)、需要選擇一個(gè)PEX端口,使得MAD檢測報(bào)文能發(fā)送到其它堆疊系統(tǒng)成員設(shè)備;
2)、能夠根據(jù)PEX端口狀態(tài)變化,實(shí)現(xiàn)端口動態(tài)重選。
其中,在該實(shí)施例中,當(dāng)父設(shè)備上存在多個(gè)連接PEX設(shè)備的PEX端口時(shí),可以選取任意一個(gè)PEX端口作為首選發(fā)包端口,當(dāng)該P(yáng)EX端口down時(shí),從其余PEX端口中重選一個(gè)PEX端口作為發(fā)包端口。
3、MAD檢測報(bào)文在PEX設(shè)備上正確擴(kuò)散
優(yōu)先通過硬件擴(kuò)散實(shí)現(xiàn)檢測報(bào)文,以減少PEX設(shè)備CPU(Center Process Unit,中央處理單元)壓力;若無法通過硬件擴(kuò)散,則通過PEX設(shè)備的CPU來完成MAD檢測報(bào)文的識別和轉(zhuǎn)發(fā)。
在該實(shí)施例中,可以在PEX設(shè)備上下發(fā)ACL表項(xiàng),該ACL表項(xiàng)的匹配項(xiàng)為入端口為PEX端口,報(bào)文中ethtype值為0xBCCB,動作項(xiàng)為將與匹配項(xiàng)匹配的報(bào)文通過入端口之外的PEX端口轉(zhuǎn)發(fā)。
4、堆疊系統(tǒng)分裂檢測原理
當(dāng)父設(shè)備接收到MAD檢測報(bào)文時(shí),比較MAD檢測報(bào)文中攜帶的Domain ID和Active ID與自身所屬堆疊系統(tǒng)的Domain ID和Active ID:
若Domain ID不同,則不對該MAD檢測報(bào)文進(jìn)行處理;
若Domain ID相同,且Active ID也相同,則確定未發(fā)生堆疊系統(tǒng)分裂;
若Domain ID相同,但Active ID不同,則確定發(fā)生堆疊系統(tǒng)分裂。
基于上述原理,在該實(shí)施例中,假設(shè)父設(shè)備301為堆疊系統(tǒng)的主設(shè)備,則堆疊系統(tǒng)未發(fā)生分裂時(shí),父設(shè)備301會周期性地向PEX1發(fā)送MAD檢測報(bào)文,PEX設(shè)備401接收到該MAD檢測報(bào)文時(shí),根據(jù)該MAD檢測報(bào)文匹配預(yù)設(shè)ACL表項(xiàng),發(fā)現(xiàn)匹配,將該MAD檢測報(bào)文通過入端口之外的PEX端口轉(zhuǎn)發(fā),即轉(zhuǎn)發(fā)給PEX設(shè)備402;同理,PEX設(shè)備402將該MAD檢測報(bào)文轉(zhuǎn)發(fā)給PEX設(shè)備403;PEX設(shè)備403將該MAD檢測報(bào)文轉(zhuǎn)發(fā)給父設(shè)備302;父設(shè)備302接收到該MAD檢測報(bào)文時(shí),獲取該MAD檢測報(bào)文中攜帶的Domain ID和Active ID,發(fā)現(xiàn)與自身所屬的堆疊系統(tǒng)的Domain ID和Active ID均相同,確定未發(fā)生堆疊系統(tǒng)分裂。
若某一時(shí)刻,父設(shè)備301和父設(shè)備302之間的堆疊系統(tǒng)鏈路發(fā)生故障,即堆疊系統(tǒng)發(fā)生分裂,形成兩個(gè)新的堆疊系統(tǒng),此時(shí),父設(shè)備301(父設(shè)備302)會周期性地向PEX設(shè)備401(PEX設(shè)備403)發(fā)送MAD檢測報(bào)文,該MAD檢測報(bào)文經(jīng)過PEX設(shè)備通道轉(zhuǎn)發(fā),最終到達(dá)父設(shè)備302(父設(shè)備301);父設(shè)備301(父設(shè)備302)接收到MAD檢測報(bào)文時(shí),獲取該MAD檢測報(bào)文中攜帶的Domain ID和Active ID,發(fā)現(xiàn)Domain ID與自身所屬堆疊系統(tǒng)的Domain ID相同,但Active ID不同,確定發(fā)生堆疊系統(tǒng)分裂。
其中,堆疊系統(tǒng)發(fā)生分裂后,父設(shè)備301發(fā)送的MAD檢測報(bào)文中攜帶的Active ID為父設(shè)備301的成員編號,父設(shè)備302發(fā)送的MAD檢測報(bào)文中攜帶的Active ID為父設(shè)備302的成員編號。
通過以上描述可以看出,在本發(fā)明實(shí)施例提供的技術(shù)方案中,當(dāng)目標(biāo)父設(shè)備為堆疊系統(tǒng)的主設(shè)備時(shí),通過預(yù)設(shè)PEX端口發(fā)送攜帶有目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID和Active ID的MAD檢測報(bào)文,以使接收到該MAD檢測報(bào)文的PEX設(shè)備向入端口之外的其它PEX端口轉(zhuǎn)發(fā)該MAD檢測報(bào)文,直至MAD檢測報(bào)文到達(dá)堆疊系統(tǒng)中的其他父設(shè)備,當(dāng)目標(biāo)父設(shè)備接收到其他父設(shè)備的MAD檢測報(bào)文時(shí),根據(jù)該MAD檢測報(bào)文中攜帶的Domain ID和Active ID確定是否發(fā)生堆疊系統(tǒng)分裂,從而,在不需要占用專門的端口或鏈路的前提下,利用堆疊系統(tǒng)中PEX通道擴(kuò)散MAD檢測報(bào)文,避免了縱向堆疊系統(tǒng)中,鏈型堆疊的父設(shè)備之間的堆疊鏈路斷開而無法傳遞堆疊分裂檢測報(bào)文而有可能產(chǎn)生的堆疊系統(tǒng)存在多個(gè)主設(shè)備的技術(shù)問題,實(shí)現(xiàn)了堆疊系統(tǒng)分裂的檢測,提高了組網(wǎng)的可靠性。
請參見圖4,為本發(fā)明實(shí)施例提供的一種堆疊系統(tǒng)分裂檢測裝置的結(jié)構(gòu)示意圖,其中,該裝置可以應(yīng)用于上述方法實(shí)施例中的目標(biāo)父設(shè)備,如圖4所示,該裝置可以包括:
發(fā)送單元410,用于當(dāng)目標(biāo)父設(shè)備為堆疊系統(tǒng)的主設(shè)備時(shí),通過預(yù)設(shè)端口擴(kuò)展器PEX端口發(fā)送MAD檢測報(bào)文,MAD檢測報(bào)文中攜帶有目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的域標(biāo)識Domain ID和激活標(biāo)識Active ID,以使接收到MAD檢測報(bào)文的PEX設(shè)備向入端口之外的其它PEX端口轉(zhuǎn)發(fā)MAD檢測報(bào)文,直至MAD檢測報(bào)文到達(dá)堆疊系統(tǒng)中的其他父設(shè)備;
接收單元420,用于接收MAD檢測報(bào)文;
確定單元430,用于根據(jù)接收單元420接收到的MAD檢測報(bào)文中攜帶的Domain ID和Active ID確定是否發(fā)生堆疊系統(tǒng)分裂。
在可選實(shí)施例中,MAD檢測報(bào)文中攜帶的以太網(wǎng)類型ethtype值為預(yù)設(shè)值,以使接收到MAD檢測報(bào)文的PEX設(shè)備根據(jù)MAD檢測報(bào)文的入端口以及MAD檢測報(bào)文中攜帶的ethtype值識別MAD檢測報(bào)文。
請一并參見圖5,為本發(fā)明實(shí)施例提供的另一種堆疊系統(tǒng)分裂檢測裝置的結(jié)構(gòu)示意圖,如圖5所示,在圖4所示實(shí)施例的基礎(chǔ)上,圖5所示堆疊系統(tǒng)分裂檢測裝置中,確定單元430,可以包括:
比較子單元431,用于比較該MAD檢測報(bào)文中攜帶的Domain ID和Active ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID和Active ID;
確定子單元432,用于若該MAD檢測報(bào)文中攜帶的Domain ID和Active ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID和Active ID均相同,則確定未發(fā)生堆疊系統(tǒng)分裂;若該MAD檢測報(bào)文中攜帶的Domain ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID相同,但該MAD檢測報(bào)文中攜帶的Active ID與目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Active ID不同,則確定發(fā)生堆疊系統(tǒng)分裂。
請參見圖6,為本發(fā)明實(shí)施例提供的一種堆疊系統(tǒng)分裂檢測裝置的結(jié)構(gòu)示意圖,其中,該裝置可以應(yīng)用于上述方法實(shí)施例中的目標(biāo)PEX設(shè)備,如圖6所示,該裝置可以包括:
接收單元610,用于接收報(bào)文;
判斷單元620,用于判斷接收單元610接收到的報(bào)文是否為MAD檢測報(bào)文;
發(fā)送單元630,用于若接收單元610接收到的報(bào)文為MAD檢測報(bào)文,則通過接收到報(bào)文的入端口之外的其它PEX端口轉(zhuǎn)發(fā)MAD檢測報(bào)文,以使作為主設(shè)備的父設(shè)備接收到MAD檢測報(bào)文時(shí),根據(jù)MAD檢測報(bào)文中攜帶的域標(biāo)識Domain ID和激活標(biāo)識Active ID確定是否發(fā)生堆疊系統(tǒng)分裂。
請一并參見圖7,為本發(fā)明實(shí)施例提供的另一種堆疊系統(tǒng)分裂檢測裝置的結(jié)構(gòu)示意圖,如圖7所示,在圖6所示實(shí)施例的基礎(chǔ)上,圖7所示堆疊系統(tǒng)分裂檢測裝置中,判斷單元620,包括:
判斷子單元621,用于判斷接收到報(bào)文的入端口以及報(bào)文中攜帶的以太網(wǎng)類型ethtype值是否與預(yù)設(shè)訪問控制列表ACL表項(xiàng)的匹配項(xiàng)匹配;其中,預(yù)設(shè)ACL表項(xiàng)的匹配項(xiàng)為入端口為PEX端口,ethtype值為預(yù)設(shè)值,動作項(xiàng)為將與匹配項(xiàng)匹配的報(bào)文從入端口之外的其它PEX端口轉(zhuǎn)發(fā);
確定子單元622,用于若匹配,則確定報(bào)文為MAD檢測報(bào)文。
上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
對于裝置實(shí)施例而言,由于其基本對應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。
由上述實(shí)施例可見,當(dāng)目標(biāo)父設(shè)備為堆疊系統(tǒng)的主設(shè)備時(shí),通過預(yù)設(shè)PEX端口發(fā)送攜帶有目標(biāo)父設(shè)備所屬堆疊系統(tǒng)的Domain ID和Active ID的MAD檢測報(bào)文,以使接收到該MAD檢測報(bào)文的PEX設(shè)備向入端口之外的其它PEX端口轉(zhuǎn)發(fā)該MAD檢測報(bào)文,直至MAD檢測報(bào)文到達(dá)堆疊系統(tǒng)中的其他父設(shè)備,當(dāng)目標(biāo)父設(shè)備接收到MAD檢測報(bào)文時(shí),根據(jù)該MAD檢測報(bào)文中攜帶的Domain ID和Active ID確定是否發(fā)生堆疊系統(tǒng)分裂,從而,在不需要占用專門的端口或鏈路的前提下,利用堆疊系統(tǒng)中PEX通道擴(kuò)散MAD檢測報(bào)文,避免了縱向堆疊系統(tǒng)中,鏈型堆疊的父設(shè)備之間的堆疊鏈路斷開而無法傳遞堆疊分裂檢測報(bào)文而有可能產(chǎn)生的堆疊系統(tǒng)存在多個(gè)主設(shè)備的技術(shù)問題,實(shí)現(xiàn)了堆疊系統(tǒng)分裂的檢測,提高了組網(wǎng)的可靠性。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。