專利名稱:一種檢測(cè)堆疊多Active的方法、系統(tǒng)及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種檢測(cè)堆疊多Active的方法、系 統(tǒng)及設(shè)備。
背景技術(shù):
堆疊技術(shù)將至少兩臺(tái)分布式框式設(shè)備連接起來(lái),形成一臺(tái)邏輯設(shè)備,例 如VSS ( Virtual Switching System,虛擬交換系統(tǒng)),參與堆疊的設(shè)備稱為堆疊 成員,需要使用堆疊電纜連接,如圖1所示。其中, 一個(gè)堆疊中的多臺(tái)堆疊 成員組成一個(gè)虛擬設(shè)備,具有唯一的橋MAC (Media Access Control,媒體訪 問(wèn)控制),稱為堆疊橋MAC,每臺(tái)堆疊成員都使用這個(gè)唯一的橋MAC與外界 通訊。用戶管理堆疊就像管理一臺(tái)單一設(shè)備,可以提供高可用性、高可擴(kuò)展 性、簡(jiǎn)化管理。
一個(gè)堆疊中包括一臺(tái)Active (主)設(shè)備,其他均為Standby (備)設(shè)備。 Active設(shè)備負(fù)責(zé)管理整個(gè)堆疊控制平面,包括執(zhí)行配置、下發(fā)配置等;Standby 設(shè)備負(fù)責(zé)運(yùn)行數(shù)據(jù)平面,進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),Standby所需的數(shù)據(jù)由Active統(tǒng)一下 發(fā)。
一個(gè)堆疊中的Active設(shè)備與Standby設(shè)備使用相同的橋MAC 、共享同一 套配置文件。當(dāng)堆疊電纜出現(xiàn)故障時(shí),堆疊分裂,每臺(tái)堆疊成員獨(dú)立工作, 可能產(chǎn)生多Active設(shè)備沖突,例如每臺(tái)堆疊成員使用相同的橋MAC,出現(xiàn)橋 MAC沖突,導(dǎo)致STP (Spanning Tree Protocol,生成樹(shù)協(xié)議)無(wú)法工作;再 例如,每臺(tái)堆疊成員使用同一套配置文件中的IP地址,出現(xiàn)IP沖突,導(dǎo)致三 層網(wǎng)絡(luò)不可使用。
因此堆疊需要檢測(cè)和解決多Active設(shè)備沖突。例如,使用二層協(xié)議進(jìn)行 檢測(cè),即通過(guò)PAgP增強(qiáng)協(xié)議檢測(cè),如圖2所示,初始時(shí),Switchl為Active 設(shè)備,Switch2為Standby設(shè)備,當(dāng)堆疊電纜故障,Switch2導(dǎo)換為Active設(shè)備,此時(shí)存在雙Active設(shè)備沖突??梢酝ㄟ^(guò)擴(kuò)充PAgP (Port Aggregation Protocol,端口聚合協(xié)議)報(bào)文,使新Active將本身的ACTIVE—ID攜帶在PAgP 報(bào)文中,通過(guò)訪問(wèn)交換機(jī)發(fā)送到原Active,原Active經(jīng)過(guò)^r測(cè)發(fā)現(xiàn)接收到的 PAgP報(bào)文中的ACTIVE—ID與本地ACTIVEJD不同,則關(guān)閉本地所有端口 , 進(jìn)入Recovery狀態(tài)。
然而,PAgP增強(qiáng)協(xié)議檢測(cè)只能支持兩臺(tái)框式設(shè)備形成的堆疊,當(dāng)存在三 臺(tái)或者更多設(shè)備參與堆疊時(shí),需要進(jìn)行多Active檢測(cè),不能滿足要求。如圖 3所示,四臺(tái)設(shè)備堆疊,兩條堆疊鏈路出現(xiàn)故障,新產(chǎn)生New Active 1和New Active 2兩個(gè)Active設(shè)備,通過(guò)PAgP增強(qiáng)協(xié)議只能使原Active設(shè)備進(jìn)入 Recovery狀態(tài),還同時(shí)存在兩個(gè)Active設(shè)備,造成Active設(shè)備沖突。
另外,PAgP增強(qiáng)協(xié)議檢測(cè)不能支持多個(gè)堆疊共存的情況。如4圖所示, 兩個(gè)堆疊stackl和stack2,每個(gè)堆疊由兩臺(tái)堆疊成員組成。訪問(wèn)交換機(jī)的四個(gè) 接口配置成一個(gè)聚合組(EtherChannelLink),分別與堆疊成員相連。當(dāng)stack 1 的堆疊鏈路發(fā)生故障時(shí),StandbyA發(fā)送PAgP消息,攜帶ID-2的消息,此時(shí) 訪問(wèn)交換機(jī)會(huì)向其他的三個(gè)成員端口轉(zhuǎn)發(fā)該消息。ActiveA設(shè)備收到該消息后 進(jìn)入Recovery狀態(tài);同樣的ActiveB和StandbyB也會(huì)收到該消息進(jìn)入Recovery 狀態(tài)。因此,stackl的堆疊鏈路故障導(dǎo)致了 stack2錯(cuò)誤的進(jìn)入了 Recovery狀 態(tài)。
另外,并不是所有的堆疊分裂都會(huì)引起多Active設(shè)備沖突。多Active設(shè) 備沖突主要表現(xiàn)在兩個(gè)方面, 一是堆疊橋MAC沖突,另一個(gè)是運(yùn)行配置沖突 (設(shè)備正在使用的配置)。如果這兩個(gè)方面不存在沖突,即使堆疊分裂為多個(gè) Active,也不會(huì)影響用戶網(wǎng)絡(luò)功能。在IRF (Intelligent Resilient Framework, 智能彈性框架)等堆疊技術(shù)中允許配置堆疊橋MAC的變化,例如當(dāng)Active 離開(kāi)堆疊,且6分鐘內(nèi)沒(méi)有回到堆疊,則會(huì)使用新選舉出的Active的橋MAC 做堆疊橋MAC,從而避免新、老Active之間的橋MAC沖突。在規(guī)劃良好堆 疊中,用戶可以將配置分割,確保每個(gè)堆疊成員使用相互不重疊的配置,從 而避免了堆疊分裂后的運(yùn)行配置沖突。然而,PAgP增強(qiáng)協(xié)議檢測(cè)只是簡(jiǎn)單的 考慮了 Active ID的變化,不管是否存在沖突,只要堆疊發(fā)生分裂且存在兩個(gè)Active,都會(huì)強(qiáng)制進(jìn)行沖突處理。
發(fā)明內(nèi)容
本發(fā)明提供了一種檢測(cè)堆疊多Active的方法、系統(tǒng)及設(shè)備,實(shí)現(xiàn)分布式 堆疊的多Active設(shè)備沖突^f企測(cè)。
為達(dá)到上述目的,本發(fā)明實(shí)施例提供了一種檢測(cè)堆疊多Active的方法, 其特征在于,包括以下步驟
堆疊鏈路故障時(shí),新Active設(shè)備生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文 中攜帶所述新Active設(shè)備的橋MAC地址和成員編號(hào);
所述新Active設(shè)備將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給 堆疊成員;
所述堆疊成員根據(jù)所述橋MAC地址和成員編號(hào)檢測(cè)到多Active設(shè)備沖 突,進(jìn)入Recovery狀態(tài)。
其中,所述堆疊成員根據(jù)所述橋MAC地址和成員編號(hào)檢測(cè)到多Active 設(shè)備沖突,進(jìn)入Recovery狀態(tài),具體為
本地記錄的橋MAC地址與報(bào)文中攜帶的橋MAC地址不同,不存在多 Active設(shè)備沖突;本地記錄的橋MAC地址與報(bào)文中攜帶的橋MAC地址相同, 且本地成員編號(hào)與報(bào)文中攜帶的成員編號(hào)不同,存在多Active設(shè)備沖突,所 述堆疊成員及所述新Active設(shè)備根據(jù)成員編號(hào)保留一個(gè)Active設(shè)備,其他 Active設(shè)備都進(jìn)入Recovery狀態(tài)。
其中,所述報(bào)文中還攜帶分割標(biāo)志,所述堆疊成員根據(jù)所述分割標(biāo)志確 定是否存在多Active設(shè)備沖突。
其中,所述堆疊成員根據(jù)所述分割標(biāo)志確定是否存在多Active設(shè)備沖突 具體為
Active ID教:值大的Active設(shè)備進(jìn)入Recovery狀態(tài),最小編號(hào)的Active 設(shè)備保持網(wǎng)絡(luò)功能可用;或
Active ID數(shù)值小的Active設(shè)備進(jìn)入Recovery狀態(tài),最大編號(hào)的Active 設(shè)備保持網(wǎng)絡(luò)功能可用。本發(fā)明實(shí)施例提供了 一種檢測(cè)堆疊多Active的方法,包括以下步驟 訪問(wèn)交換機(jī)將每個(gè)堆疊成員的橋MAC和成員編號(hào)存儲(chǔ)到本地,形成一個(gè)
包括所有堆疊成員的橋MAC和成員編號(hào)的列表;
堆疊鏈路故障時(shí),所述訪問(wèn)交換機(jī)接收新Active設(shè)備發(fā)送的生成鏈路匯
聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新Active設(shè)備的橋MAC地址和成員
編號(hào);
所述訪問(wèn)交換機(jī)比較所述報(bào)文中的橋MAC和成員編號(hào)與本地列表中的 橋MAC和成員編號(hào),只有相同橋MAC,不同成員編號(hào)的報(bào)文才轉(zhuǎn)發(fā)給對(duì)應(yīng) 的堆疊成員;
接收到所述報(bào)文的Active設(shè)備及新Active設(shè)備根據(jù)成員編號(hào)保留一個(gè) Active設(shè)備,其他Active i殳備都進(jìn)入Recovery狀態(tài)。
其中,所述根據(jù)成員編號(hào)保留一個(gè)Active設(shè)備具體為
Active ID教:值大的Active i殳備進(jìn)入Recovery狀態(tài),最小編號(hào)的Active 設(shè)備保持網(wǎng)絡(luò)功能可用;或
Active ID數(shù)值小的Active設(shè)備進(jìn)入Recovery狀態(tài),最大編號(hào)的Active 設(shè)備保持網(wǎng)絡(luò)功能可用。
本發(fā)明實(shí)施例提供了 一種檢測(cè)堆疊多Active的系統(tǒng),包括
新Active設(shè)備,用于生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述 新Active設(shè)備的橋MAC地址和成員編號(hào),將所述鏈路匯聚控制協(xié)議報(bào)文通 過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆疊成員;
堆疊成員,用于根據(jù)所述橋MAC地址和成員編號(hào)沖全測(cè)到多Active設(shè)備 沖突,進(jìn)入Recovery狀態(tài)。
其中,所述新Active設(shè)備具體包括
生成單元,用于生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新 Active設(shè)備的橋MAC地址和成員編號(hào);
發(fā)送單元,用于將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆 疊成員。
其中,所述堆疊成員具體包括檢測(cè)單元,用于檢測(cè)到本地記錄的橋MAC地址與報(bào)文中攜帶的橋MAC 地址不同時(shí),確定不存在多Active設(shè)備沖突;4企測(cè)到本地記錄的橋MAC地 址與報(bào)文中攜帶的橋MAC地址相同,且本地成員編號(hào)與報(bào)文中攜帶的成員編 號(hào)不同時(shí),存在多Active設(shè)備沖突;
狀態(tài)控制單元,用于根據(jù)成員編號(hào)判斷本設(shè)備是否需要進(jìn)入Recovery狀態(tài)。
本發(fā)明實(shí)施例提供了一種堆疊設(shè)備,包括
生成單元,用于生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新 Active設(shè)備的橋MAC地址和成員編號(hào);
發(fā)送單元,用于將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆 疊成員;
檢測(cè)單元,用于檢測(cè)到本地記錄的橋MAC地址與報(bào)文中攜帶的橋MAC 地址不同時(shí),確定不存在多Active設(shè)備沖突;檢測(cè)到本地記錄的橋MAC地 址與報(bào)文中攜帶的橋MAC地址相同,且本地成員編號(hào)與報(bào)文中攜帶的成員編 號(hào)不同時(shí),存在多Active設(shè)備沖突;
狀態(tài)控制單元,用于根據(jù)成員編號(hào)判斷本設(shè)備是否需要進(jìn)入Recovery狀態(tài)。
本發(fā)明實(shí)施例提供了 一種檢測(cè)堆疊多Active的系統(tǒng),包括
新Active設(shè)備,用于生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述
新Active設(shè)備的橋MAC地址和成員編號(hào),將所述鏈路匯聚控制協(xié)議報(bào)文發(fā)
送到訪問(wèn)交換^L;
訪問(wèn)交換機(jī),用于預(yù)先生成一個(gè)包括所有堆疊成員的橋MAC和成員編號(hào)
成員編號(hào),只有相同橋MAC,不同成員編號(hào)的報(bào)文才轉(zhuǎn)發(fā)給對(duì)應(yīng)的堆疊成員; 堆疊成員,用于根據(jù)成員編號(hào)判斷本設(shè)備是否需要進(jìn)入Recovery狀態(tài)。 其中,所述新Active設(shè)備具體包括
生成單元,用于生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新 Active設(shè)備的橋MAC地址和成員編號(hào);發(fā)送單元,用于將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆 疊成員。
其中,所迷訪問(wèn)交換機(jī)具體包括
列表生成單元,用于預(yù)先生成一個(gè)包括所有堆疊成員的橋MAC和成員編 號(hào)的列表;
MAC和成員編號(hào),只有相同橋MAC,不同成員編號(hào)的報(bào)文才轉(zhuǎn)發(fā)給對(duì)應(yīng)的 堆疊成員。
其中,所述堆疊成員具體包括
接收單元,用于接收訪問(wèn)交換機(jī)的報(bào)文;
控制單元,用于根據(jù)成員編號(hào)判斷本設(shè)備是否需要進(jìn)入Recovery狀態(tài)。 本發(fā)明實(shí)施例提供了一種訪問(wèn)交換機(jī),包括
列表生成單元,用于預(yù)先生成一個(gè)包括所有堆疊成員的橋MAC和成員編 號(hào)的列表;
MAC和成員編號(hào),只有相同橋MAC,不同成員編號(hào)的報(bào)文才轉(zhuǎn)發(fā)給對(duì)應(yīng)的堆 疊成員。
與現(xiàn)有技術(shù)相比,本發(fā)明至少存在以下優(yōu)點(diǎn)
本發(fā)明中,通過(guò)在標(biāo)準(zhǔn)LACP (Link Aggregation Control Protocol,鏈路匯 聚控制協(xié)議)的擴(kuò)展字段攜帶堆疊橋MAC、 Active ID、和配置分割標(biāo)志,進(jìn) 而實(shí)現(xiàn)分布式堆疊的多Active設(shè)備沖突檢測(cè)。能夠檢測(cè)多個(gè)(大于2) Active 設(shè)備的沖突,并且在多個(gè)不同堆疊存在時(shí)避免錯(cuò)誤的沖突檢測(cè),還能夠在多 Active設(shè)備存在但是配置沒(méi)有沖突的情況下避免錯(cuò)誤的沖突檢測(cè)。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí) 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下 面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是現(xiàn)有技術(shù)中分布式堆疊連接示意圖2是現(xiàn)有技術(shù)中通過(guò)PAgP增強(qiáng)協(xié)議檢測(cè)示意圖3是現(xiàn)有技術(shù)中四臺(tái)設(shè)備堆疊,兩條堆疊鏈路出現(xiàn)故障示意圖4是現(xiàn)有技術(shù)中PAgP增強(qiáng)協(xié)議檢測(cè)不能支持多個(gè)堆疊共存示意圖5是本發(fā)明中各堆疊成員設(shè)備與訪問(wèn)交換機(jī)使用聚合鏈路連接示意
圖6是本發(fā)明中LACP協(xié)議報(bào)文格式示意圖7是本發(fā)明中利用保留數(shù)據(jù)段擴(kuò)展的ACTIVE—DECT域格式示意圖8是本發(fā)明中通過(guò)LACP檢測(cè)分布式堆疊多Active設(shè)備流程圖9是本發(fā)明中根據(jù)LACP控制消息擴(kuò)展域內(nèi)容進(jìn)行處理流程圖10是本發(fā)明中堆疊成員檢測(cè)工作挪到訪問(wèn)交換機(jī)流程圖11是本發(fā)明中 一種檢測(cè)堆疊多Active的系統(tǒng)結(jié)構(gòu)圖12是本發(fā)明中一種堆疊設(shè)備結(jié)構(gòu)圖13是本發(fā)明中一種檢測(cè)堆疊多Active的系統(tǒng)結(jié)構(gòu)圖14是本發(fā)明中一種訪問(wèn)交換機(jī)結(jié)構(gòu)圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行 清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而 不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作 出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明中,使用通用的LACP ( Link Aggregation Control Protocol,鏈路聚 合控制協(xié)議)協(xié)議進(jìn)行分布式堆疊的多Active檢測(cè);并且支持多堆疊共存環(huán) 境下的多Active檢測(cè);還可以基于運(yùn)行配置進(jìn)行多Active沖突檢測(cè)。當(dāng)然, 也可以使用其他類似于LACP的私有協(xié)議替換LACP控制消息,攜帶的數(shù)據(jù) 和處理算法與使用LACP協(xié)議相同。
本發(fā)明中,每個(gè)堆疊成員具有唯一的成員編號(hào),將Active設(shè)備的成員編號(hào)稱為ActiveID。各堆疊成員與訪問(wèn)交換機(jī)通過(guò)聚合鏈路連接,典型組網(wǎng)如 圖5所示,訪問(wèn)交換機(jī)四個(gè)端口配置聚合,每個(gè)端口分別與stackl堆疊中一 臺(tái)堆疊成員相連。
LACP是一種能夠?qū)崿F(xiàn)鏈路動(dòng)態(tài)聚合與解聚合的協(xié)議,可以經(jīng)過(guò)擴(kuò)展攜帶 堆疊橋MAC和ActiveID信息。擴(kuò)展LACP協(xié)議報(bào)文內(nèi)容,在報(bào)文的保留字 段內(nèi)定義一個(gè)新的TVL (Type Version Length,類型、版本、長(zhǎng)度)數(shù)據(jù)域, 用于交互堆疊成員的ActiveID。 LACP協(xié)議報(bào)文格式如圖6所示。
利用圖6中保留數(shù)據(jù)段擴(kuò)展的ACTIVE—DECT域格式如圖7所示。其中, TVL—Type為ACTIVE—DECT表明該擴(kuò)展域用于分布式堆疊的多Active檢觀寸; ACTIVE—DECT—Length是擴(kuò)展域的數(shù)據(jù)長(zhǎng)度;ACTIVE—MAC是分布式堆疊 的堆疊橋MAC; ACTIVEJD是分布式堆疊當(dāng)前Active設(shè)備的成員編號(hào); IS—CFG—PARTITION記錄當(dāng)前堆疊運(yùn)行配置是否進(jìn)行了分割(即本堆疊中成 員設(shè)備之間不會(huì)重疊),取值為O表示未進(jìn)行分割,取值l表示進(jìn)行了分割; Reserved字段保留,用于將來(lái)擴(kuò)展。
其中,IS一CFG一PARTITION字段為可選,可以根據(jù)需要確定是否攜帶, 其取值可以由用戶配置。例如在校園網(wǎng)時(shí),分布式堆疊用來(lái)擴(kuò)充學(xué)生宿舍的 接入端口數(shù)量,每個(gè)堆疊成員獨(dú)立接入不同樓層的網(wǎng)絡(luò),堆疊成員之間的配 置有良好的分割(即每個(gè)樓層由單獨(dú)的堆疊成員提供服務(wù))時(shí),網(wǎng)絡(luò)管理人 員希望堆疊鏈路故障分裂為多個(gè)Active設(shè)備之后,各個(gè)堆疊成員仍然能夠獨(dú) 立的為各樓層提供接入服務(wù),網(wǎng)絡(luò)管理人員可以配置IS—CFG—PARTITION為 1。相反的,如果堆疊成員之間的配置沒(méi)有良好的分割(即每個(gè)樓層由多個(gè)堆 疊成員聯(lián)合提供服務(wù)),出現(xiàn)堆疊鏈路故障時(shí)網(wǎng)絡(luò)管理員希望盡快隔離多余的 Active設(shè)備,可以配置IS—CFG—PARTITION為0。當(dāng)然,IS—CFG—PARTITION 也可以通過(guò)當(dāng)前配置計(jì)算得出。
本發(fā)明中,通過(guò)LACP檢測(cè)分布式堆疊多Active設(shè)備的應(yīng)用場(chǎng)景中(即 可以是包括多個(gè)堆疊成員的一個(gè)堆疊,也可以是多個(gè)堆疊的組合),訪問(wèn)交換 機(jī)能夠識(shí)別出帶有ACTIVE—DECT類型擴(kuò)展域的LACP控制消息,并將LACP控制消息廣播到所屬聚合組的所有其他堆疊成員端口 ,同時(shí)堆疊成員具有識(shí)
別和構(gòu)造ACTIVE一DECT擴(kuò)展域的能力。具體實(shí)現(xiàn)過(guò)程如圖8所示,包括以 下步驟
步驟801,堆疊鏈路故障時(shí)新Active設(shè)備向訪問(wèn)交換機(jī)發(fā)送LACP控制 消息。具體包括堆疊鏈路故障時(shí),分布式堆疊快速檢測(cè)到故障并立即選舉 出新Active設(shè)備;新Active設(shè)備構(gòu)造LACP控制消息,在ACTIVE—DECT擴(kuò) 展域中攜帶新Active的堆疊橋MAC、 Active ID、運(yùn)行配置是否分區(qū)等信息, 然后從聚合組成員端口發(fā)給訪問(wèn)交換機(jī)。
步驟802,訪問(wèn)交換機(jī)向聚合成員端口轉(zhuǎn)發(fā)LACP控制消息;訪問(wèn)交換機(jī) 收到LACP控制消息后,查看擴(kuò)展域,如果發(fā)現(xiàn)ACTIVE—DECT類型的擴(kuò)展 域,則向聚合組中其他成員端口轉(zhuǎn)發(fā)該LACP控制消息。
步驟803,聚合組中其他堆疊成員收到該LACP控制消息后,根據(jù)LACP 控制消息擴(kuò)展域內(nèi)容進(jìn)行處理。
其中,步驟803的具體過(guò)程如圖9所示,包括以下步驟
步驟901,提取LACP控制消息中ACTIVE—DECT擴(kuò)展域的堆疊橋MAC (計(jì)作DECT—MAC )、 Active ID(計(jì)作DECT—ID )和分割標(biāo)志DECT—IS—PART; 調(diào)用本地的堆疊橋MAC(計(jì)作CURR—MAC )、本地Active ID(計(jì)作CURR—ID) 和本地分割標(biāo)志CURR—IS—PART。
步驟902,判斷DECT—MAC是否不等于CURR—MAC,如果不等于,則 說(shuō)明本堆疊成員與新Active設(shè)備不在同一個(gè)堆疊中,不存在多Active設(shè)備沖 突,不需要進(jìn)入Recovery狀態(tài),避免了現(xiàn)有技術(shù)圖4中的問(wèn)題。如果相等, 則說(shuō)明本堆疊成員與新Active設(shè)備在同一個(gè)堆疊中,可能存在多Active設(shè)備 沖突,轉(zhuǎn)步驟903;
步驟903,判斷DECT—ID與CURRJD是否不同,如果相同,則說(shuō)明是 本設(shè)備環(huán)回的報(bào)文,不存在多Active設(shè)備沖突,將該報(bào)文丟棄;如果不相同, 則可能存在多Active設(shè)備沖突,轉(zhuǎn)步驟904;
步驟904,根據(jù)DECT—IS—PART和CURR—IS—PART判斷堆疊中成員之間 是否不會(huì)重疊,如果CURR—IS—PART不等于1、或DECT—IS—PART不等于1,則不會(huì)重疊,進(jìn)而不存在多Active設(shè)備沖突;否則,存在多Active設(shè)備沖突, 轉(zhuǎn)步驟905;
步驟905,判斷DECT_ID是否小于CURR—ID,如果是則本Active設(shè)備 進(jìn)入Recovery狀態(tài),否則不處理。因此,當(dāng)4企測(cè)到?jīng)_突時(shí),Active ID數(shù)值大 的Active設(shè)備進(jìn)入Recovery狀態(tài),所有網(wǎng)絡(luò)接口 shutdown,確保多個(gè)Active 設(shè)備存在時(shí)只有最小編號(hào)的Active設(shè)備保持網(wǎng)絡(luò)功能可用。當(dāng)然,也可以采 用其他方式保證存在多個(gè)Active時(shí),只保留 一個(gè)Active ,其他Active都進(jìn)入 Recovery狀態(tài),例如,采用Active ID數(shù)值'J 、的進(jìn)入Recovery狀態(tài)等。
本發(fā)明中,可以將堆疊成員檢測(cè)工作挪到訪問(wèn)交換機(jī)上完成,如圖10 所示,包括以下步驟
步驟1010,訪問(wèn)交換機(jī)接收堆疊成員的報(bào)文后,將每個(gè)堆疊成員的橋 MAC和成員編號(hào)存儲(chǔ)到本地,在本地形成一個(gè)包括所有堆疊成員的橋MAC 和成員編號(hào)的列表;
步驟1020,堆疊鏈路故障時(shí)新Active設(shè)備向訪問(wèn)交換機(jī)發(fā)送LACP控制 消息。具體包括新Active設(shè)備構(gòu)造LACP控制消息,在ACTIVE—DECT擴(kuò) 展域中攜帶新Active的堆疊橋MAC、 Active ID、運(yùn)行配置是否分區(qū)等信息, 然后從聚合組成員端口發(fā)給訪問(wèn)交換機(jī)。
步驟1030,訪問(wèn)交換機(jī)接收新Active發(fā)送的報(bào)文后,比較所述報(bào)文中的 橋MAC和成員編號(hào)與本地列表中的橋MAC和成員編號(hào),只有相同橋MAC, 不同成員編號(hào)的報(bào)文才轉(zhuǎn)發(fā)給對(duì)應(yīng)的堆疊成員。
步驟1040,接收到該報(bào)文的Active設(shè)備判斷本地成員編號(hào)是否小于報(bào)文 中的成員編號(hào),如果是則本Active設(shè)備進(jìn)入Recovery狀態(tài),否則不處理,保 i正Active ID凄W直大的Active i殳備進(jìn)入Recovery狀態(tài),所有網(wǎng)纟各才矣口 shutdown, 確保多個(gè)Active設(shè)備存在時(shí)只有最小編號(hào)的Active設(shè)備保持網(wǎng)絡(luò)功能可用。 當(dāng)然,也可以采用其他方式保證存在多個(gè)Active時(shí),只保留一個(gè)Active,其 他Active都進(jìn)入Recovery狀態(tài),例如,采用Active ID凄^f直小的進(jìn)入Recovery 狀態(tài)等。
其中,步驟1040比較成員編號(hào)的大小的功能也可以設(shè)置在訪問(wèn)交換機(jī)中。本發(fā)明提供了一種檢測(cè)堆疊多Active的系統(tǒng),如圖11所示,包括新 Active設(shè)備1110,用于生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新 Active設(shè)備的橋MAC地址和成員編號(hào),將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪 問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆疊成員;堆疊成員1120,用于才艮據(jù)所述橋MAC地址和成 員編號(hào)檢測(cè)到多Active設(shè)備沖突,進(jìn)入Recovery狀態(tài)。
其中,新Active設(shè)備具體包括生成單元,用于生成鏈路匯聚控制協(xié)議 報(bào)文,所述報(bào)文中攜帶所述新Active設(shè)備的橋MAC地址和成員編號(hào);發(fā)送 單元,用于將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆疊成員。 其中,堆疊成員具體包括檢測(cè)單元,用于檢測(cè)到本地記錄的橋MAC地址與 報(bào)文中攜帶的橋MAC地址不同時(shí),確定不存在多Active設(shè)備沖突;檢測(cè)到 本地記錄的橋MAC地址與報(bào)文中攜帶的橋MAC地址相同,且本地成員編號(hào) 與報(bào)文中攜帶的成員編號(hào)不同時(shí),存在多Active設(shè)備沖突;狀態(tài)控制單元, 用于根據(jù)成員編號(hào)判斷本設(shè)備是否需要進(jìn)入Recovery狀態(tài)。每個(gè)設(shè)備具有唯 一的橋MAC,該橋MAC通常是設(shè)備出廠時(shí)固定寫(xiě)在設(shè)備中,任何兩個(gè)設(shè)備 的出廠橋MAC不同。當(dāng)多臺(tái)設(shè)備形成堆疊時(shí),這些設(shè)備會(huì)使用相同的橋MAC (稱為堆疊橋MAC),而不是使用自己的出廠橋MAC。堆疊橋MAC往往是 Active設(shè)備的出廠橋MAC。例如dl、 d2、 d3三臺(tái)設(shè)備堆疊,dl是Active。 那么堆疊橋MAC是dl的出廠橋MAC,而d2和d3都會(huì)使用堆疊橋MAC。
本發(fā)明提供了一種堆疊設(shè)備,如圖12所示,包括生成單元1210,用于 生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新Active設(shè)備的橋MAC 地址和成員編號(hào);發(fā)送單元1220,用于將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪 問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆疊成員;檢測(cè)單元1230,用于檢測(cè)到本地記錄的橋MAC 地址與報(bào)文中攜帶的橋MAC地址不同時(shí),確定不存在多Active設(shè)備沖突; 檢測(cè)到本地記錄的橋MAC地址與報(bào)文中攜帶的橋MAC地址相同,且本地成 員編號(hào)與報(bào)文中攜帶的成員編號(hào)不同時(shí),存在多Active設(shè)備沖突;狀態(tài)控制 單元1240,用于根據(jù)成員編號(hào)判斷本設(shè)備是否需要進(jìn)入Recovery狀態(tài)。
本發(fā)明提供了一種檢測(cè)堆疊多Active的系統(tǒng),如圖13所示,包括新Active設(shè)備1310,用于生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新 Active設(shè)備的橋MAC地址和成員編號(hào),將所述鏈路匯聚控制協(xié)議報(bào)文發(fā)送到 訪問(wèn)交換機(jī);訪問(wèn)交換機(jī)1320,用于預(yù)先生成一個(gè)包括所有堆疊成員的橋 MAC和成員編號(hào)的列表;并比較所述報(bào)文中的橋MAC和成員編號(hào)與本地列 表中的橋MAC和成員編號(hào),只有相同橋MAC,不同成員編號(hào)的報(bào)文才轉(zhuǎn)發(fā) 給對(duì)應(yīng)的堆疊成員;堆疊成員1330,用于根據(jù)成員編號(hào)判斷本設(shè)備是否需要 進(jìn)入Recovery狀態(tài)。
其中,新Active設(shè)備具體包括生成單元,用于生成鏈路匯聚控制協(xié)議 報(bào)文,所述報(bào)文中攜帶所述新Active設(shè)備的橋MAC地址和成員編號(hào);發(fā)送 單元,用于將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆疊成員。
其中,訪問(wèn)交換機(jī)具體包括列表生成單元,用于預(yù)先生成一個(gè)包括所 有堆疊成員的橋MAC和成員編號(hào)的列表;比較單元,用于比較接收?qǐng)?bào)文中的 橋MAC和成員編號(hào)與本地列表中的橋MAC和成員編號(hào),只有相同橋MAC, 不同成員編號(hào)的報(bào)文才轉(zhuǎn)發(fā)給對(duì)應(yīng)的堆疊成員。
其中,堆疊成員具體包括接收單元,用于接收訪問(wèn)交換機(jī)的報(bào)文;控 制單元,用于根據(jù)成員編號(hào)判斷本設(shè)備是否需要進(jìn)入Recovery狀態(tài)。
本發(fā)明了一種訪問(wèn)交換機(jī),如圖14所示,包括列表生成單元1410,用 于預(yù)先生成一個(gè)包括所有堆疊成員的橋MAC和成員編號(hào)的列表;比較單元
成員編號(hào),只有相同橋MAC,不同成員編號(hào)的報(bào)文才轉(zhuǎn)發(fā)給對(duì)應(yīng)的堆疊成員。 以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的 普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn) 和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種檢測(cè)堆疊多Active的方法,其特征在于,包括以下步驟堆疊鏈路故障時(shí),新Active設(shè)備生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新Active設(shè)備的橋MAC地址和成員編號(hào);所述新Active設(shè)備將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆疊成員;所述堆疊成員根據(jù)所述橋MAC地址和成員編號(hào)檢測(cè)到多Active設(shè)備沖突,進(jìn)入Recovery狀態(tài)。
2、 如權(quán)利要求1所述的方法,其特征在于,所述堆疊成員根據(jù)所述橋 MAC地址和成員編號(hào)4企測(cè)到多Active設(shè)備沖突,進(jìn)入Recovery狀態(tài),具體 為本地記錄的橋MAC地址與報(bào)文中攜帶的橋MAC地址不同,不存在多 Active設(shè)備沖突;本地記錄的橋MAC地址與報(bào)文中攜帶的橋MAC地址相同, 且本地成員編號(hào)與報(bào)文中攜帶的成員編號(hào)不同,存在多Active設(shè)備沖突,所 述堆疊成員及所述新Active設(shè)備根據(jù)成員編號(hào)保留一個(gè)Active設(shè)備,其他 Active設(shè)備都進(jìn)入Recovery狀態(tài)。
3、 如權(quán)利要求1所述的方法,其特征在于,所述報(bào)文中還攜帶分割標(biāo)志, 所述堆疊成員根據(jù)所述分割標(biāo)志確定是否存在多Active設(shè)備沖突。
4、 如權(quán)利要求3所述的方法,其特征在于,所述堆疊成員根據(jù)所述分割 標(biāo)志確定是否存在多Active設(shè)備沖突具體為Active ID凄丈值大的Active i史備進(jìn)入Recovery狀態(tài),最小編號(hào)的Active 設(shè)備保持網(wǎng)絡(luò)功能可用;或Active ID凄W直小的Active i殳備進(jìn)入Recovery狀態(tài),最大編號(hào)的Active 設(shè)備保持網(wǎng)絡(luò)功能可用。
5、 一種檢測(cè)堆疊多Active的方法,其特征在于,包括以下步驟訪問(wèn)交換機(jī)將每個(gè)堆疊成員的橋MAC和成員編號(hào)存儲(chǔ)到本地,形成一個(gè) 包括所有堆疊成員的橋MAC和成員編號(hào)的列表;堆疊鏈路故障時(shí),所述訪問(wèn)交換機(jī)接收新Active設(shè)備發(fā)送的生成鏈路匯. 聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新Active設(shè)備的橋MAC地址和成員 編號(hào);所述訪問(wèn)交換機(jī)比較所述報(bào)文中的橋MAC和成員編號(hào)與本地列表中的 橋MAC和成員編號(hào),只有相同橋MAC,不同成員編號(hào)的才艮文才轉(zhuǎn)發(fā)給對(duì)應(yīng) 的堆疊成員;接收到所述報(bào)文的Active設(shè)備及新Active設(shè)備根據(jù)成員編號(hào)保留一個(gè) Active設(shè)備,其他Active設(shè)備都進(jìn)入Recovery狀態(tài)。
6、 如權(quán)利要求5所述的方法,其特征在于,所述根據(jù)成員編號(hào)保留一個(gè) Active i更備具體為Active ID凄t值大的Active設(shè)備進(jìn)入Recovery狀態(tài),最小編號(hào)的Active 設(shè)備保持網(wǎng)絡(luò)功能可用;或Active ID凄t值小的Active i殳備進(jìn)入Recovery狀態(tài),最大編號(hào)的Active 設(shè)備保持網(wǎng)絡(luò)功能可用。
7、 一種檢測(cè)堆疊多Active的系統(tǒng),其特征在于,包括新Active設(shè)備,用于生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述 新Active設(shè)備的橋MAC地址和成員編號(hào),將所述鏈路匯聚控制協(xié)議報(bào)文通 過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆疊成員;堆疊成員,用于根據(jù)所述橋MAC地址和成員編號(hào)檢測(cè)到多Active設(shè)備 沖突,進(jìn)入Recovery狀態(tài)。
8、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述新Active設(shè)備具體包括 生成單元,用于生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新Active設(shè)備的橋MAC地址和成員編號(hào);發(fā)送單元,用于將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆 疊成員。
9、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述堆疊成員具體包括 檢測(cè)單元,用于檢測(cè)到本地記錄的橋MAC地址與報(bào)文中攜帶的橋MAC地址不同時(shí),確定不存在多Active設(shè)備沖突;檢測(cè)到本地記錄的橋MAC地 址與報(bào)文中攜帶的橋MAC地址相同,且本地成員編號(hào)與報(bào)文中攜帶的成員編 號(hào)不同時(shí),存在多Active設(shè)備沖突;狀態(tài)控制單元,用于根據(jù)成員編號(hào)判斷本設(shè)備是否需要進(jìn)入Recovery狀態(tài)。
10、 一種堆疊設(shè)備,其特征在于,包括生成單元,用于生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新 Active設(shè)備的橋MAC地址和成員編號(hào);發(fā)送單元,用于將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆 疊成員;檢測(cè)單元,用于檢測(cè)到本地記錄的橋MAC地址與報(bào)文中攜帶的橋MAC 地址不同時(shí),確定不存在多Active設(shè)備沖突;檢測(cè)到本地記錄的橋MAC地 址與報(bào)文中攜帶的橋MAC地址相同,且本地成員編號(hào)與報(bào)文中攜帶的成員編 號(hào)不同時(shí),存在多Active設(shè)備沖突;狀態(tài)控制單元,用于根據(jù)成員編號(hào)判斷本設(shè)備是否需要進(jìn)入Recovery狀態(tài)。
11、 一種檢測(cè)堆疊多Active的系統(tǒng),其特征在于,包括新Active設(shè)備,用于生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述 新Active設(shè)備的橋MAC地址和成員編號(hào),將所述鏈路匯聚控制協(xié)議報(bào)文發(fā) 送到訪問(wèn)交換機(jī);訪問(wèn)交換機(jī),用于預(yù)先生成一個(gè)包括所有堆疊成員的橋MAC和成員編號(hào)成員編號(hào),只有相同橋MAC,不同成員編號(hào)的報(bào)文才轉(zhuǎn)發(fā)給對(duì)應(yīng)的堆疊成員; 堆疊成員,用于根據(jù)成員編號(hào)判斷本設(shè)備是否需要進(jìn)入Recoveiy狀態(tài)。
12、 如權(quán)利要求11所述的系統(tǒng),其特征在于,所述新Active設(shè)備具體包括生成單元,用于生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新Active設(shè)備的橋MAC地址和成員編號(hào);發(fā)送單元,用于將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆 疊成員。
13、 如權(quán)利要求11所述的系統(tǒng),其特征在于,所述訪問(wèn)交換^L具體包括 列表生成單元,用于預(yù)先生成一個(gè)包括所有堆疊成員的橋MAC和成員編號(hào)的列表;比較單元,用于比較接收?qǐng)?bào)文中的橋MAC和成員編號(hào)與本地列表中的橋 MAC和成員編號(hào),只有相同橋MAC,不同成員編號(hào)的報(bào)文才轉(zhuǎn)發(fā)給對(duì)應(yīng)的 堆疊成員。
14、 如權(quán)利要求11所述的系統(tǒng),其特征在于,所述堆疊成員具體包括 接收單元,用于接收訪問(wèn)交換機(jī)的報(bào)文;控制單元,用于根據(jù)成員編號(hào)判斷本設(shè)備是否需要進(jìn)入Recovery狀態(tài)。
15、 一種訪問(wèn)交換機(jī),其特征在于,包括列表生成單元,用于預(yù)先生成一個(gè)包括所有堆疊成員的橋MAC和成員編 號(hào)的列表;比較單元,用于比較接收?qǐng)?bào)文中的橋MAC和成員編號(hào)與本地列表中的橋 MAC和成員編號(hào),只有相同橋MAC,不同成員編號(hào)的報(bào)文才轉(zhuǎn)發(fā)給對(duì)應(yīng)的 堆疊成員。
全文摘要
本發(fā)明公開(kāi)了一種檢測(cè)堆疊多Active的方法,包括以下步驟堆疊鏈路故障時(shí),新Active設(shè)備生成鏈路匯聚控制協(xié)議報(bào)文,所述報(bào)文中攜帶所述新Active設(shè)備的橋MAC地址和成員編號(hào);所述新Active設(shè)備將所述鏈路匯聚控制協(xié)議報(bào)文通過(guò)訪問(wèn)交換機(jī)轉(zhuǎn)發(fā)給堆疊成員;所述堆疊成員根據(jù)所述橋MAC地址和成員編號(hào)檢測(cè)到多Active設(shè)備沖突,進(jìn)入Recovery狀態(tài)。本發(fā)明中,通過(guò)在標(biāo)準(zhǔn)LACP的擴(kuò)展字段攜帶堆疊橋MAC、Active ID、和配置分割標(biāo)志,進(jìn)而實(shí)現(xiàn)分布式堆疊的多Active設(shè)備沖突檢測(cè)。
文檔編號(hào)H04L29/06GK101442484SQ200810182410
公開(kāi)日2009年5月27日 申請(qǐng)日期2008年12月5日 優(yōu)先權(quán)日2008年12月5日
發(fā)明者胡小龍 申請(qǐng)人:杭州華三通信技術(shù)有限公司