一種防止堆疊系統(tǒng)單邊分裂的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種防止堆疊系統(tǒng)單邊分裂的方法及系統(tǒng),該方法主要包括:在虛擬交換鏈路中,本端設(shè)備與對(duì)端設(shè)備之間相互發(fā)送保活報(bào)文,收集對(duì)端設(shè)備的保活周期和最大?;畲螖?shù);當(dāng)本端設(shè)備發(fā)生分裂時(shí),關(guān)閉與對(duì)端設(shè)備之間的虛擬交換鏈路,并同時(shí)啟動(dòng)定時(shí)器,所述對(duì)端設(shè)備檢測(cè)到虛擬交換鏈路異常,則與本端設(shè)備進(jìn)行決策分裂;定時(shí)器超時(shí)后,恢復(fù)關(guān)閉的虛擬交換鏈路。本發(fā)明所述方法及系統(tǒng)能夠保證堆疊系統(tǒng)正常分裂,并且結(jié)合MAD等機(jī)制,可以避免不完全分裂對(duì)客戶業(yè)務(wù)造成影響,增強(qiáng)了堆疊系統(tǒng)故障恢復(fù)能力,特別是當(dāng)硬件芯片無(wú)法做到Qos保證導(dǎo)致數(shù)據(jù)過(guò)載而丟包、遠(yuǎn)距離線路和中轉(zhuǎn)設(shè)備較多無(wú)法保證線路質(zhì)量時(shí),效果特別明顯。
【專利說(shuō)明】一種防止堆疊系統(tǒng)單邊分裂的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)通信【技術(shù)領(lǐng)域】,具體涉及一種防止堆疊系統(tǒng)單邊分裂的方法及系統(tǒng)的設(shè)計(jì)。
【背景技術(shù)】
[0002]隨著寬帶應(yīng)用的普及和網(wǎng)絡(luò)規(guī)模的不斷增長(zhǎng),網(wǎng)絡(luò)的整體速率不斷提高,大吞吐數(shù)據(jù)交換和各種智能應(yīng)用的需要也日益增加。為了滿足大型網(wǎng)絡(luò)對(duì)于端口數(shù)量的要求,通常利用堆疊技術(shù)將多臺(tái)設(shè)備連接起來(lái)組成一個(gè)堆疊系統(tǒng)(Stacking System, SS),這樣不僅僅增加了端口數(shù)量,也簡(jiǎn)化了管理。堆疊系統(tǒng)中的這些網(wǎng)絡(luò)設(shè)備統(tǒng)稱為堆疊系統(tǒng)的成員設(shè)備。每?jī)膳_(tái)成員設(shè)備之間建立的堆疊鏈路稱為虛擬交換鏈路(VSL, Virtual Switchinglink),參與堆疊的多臺(tái)成員設(shè)備中,其中一臺(tái)設(shè)備為主設(shè)備(Master設(shè)備),其他設(shè)備都為從設(shè)備(Slave設(shè)備),其中Master設(shè)備為Active(活動(dòng))狀態(tài),充當(dāng)管理者和控制者的角色,其配置生效,而Slave設(shè)備則為Standby (備用)狀態(tài),其配置不生效,作為備份設(shè)備。由于從設(shè)備都是主設(shè)備的備份設(shè)備,大大提高了網(wǎng)絡(luò)的可靠性和穩(wěn)定性。
[0003]在堆疊系統(tǒng)中,如果虛擬交換鏈路出現(xiàn)故障,會(huì)造成堆疊系統(tǒng)分裂,然后通過(guò)MAD (Mult1-Active Detection,多激活檢測(cè))關(guān)閉分裂出來(lái)的系統(tǒng)的業(yè)務(wù)口,以保證部分系統(tǒng)能夠持續(xù)正常工作。但是,如果堆疊系統(tǒng)中各成員設(shè)備間的虛擬交換鏈路由于數(shù)據(jù)過(guò)載、線路質(zhì)量問(wèn)題、軟件處理異常等原因可能會(huì)造成一種現(xiàn)象:單邊分裂;以最簡(jiǎn)單的兩臺(tái)設(shè)備堆疊為例,如圖1所示,所謂單邊分裂,就是指其中一臺(tái)設(shè)備認(rèn)為已經(jīng)發(fā)生了分裂,設(shè)備已經(jīng)從堆疊系統(tǒng)中退出了,但是另一臺(tái)設(shè)備卻認(rèn)為堆疊系統(tǒng)完全正常,沒(méi)有發(fā)生分裂。
[0004]如果是從設(shè)備認(rèn)為自己分裂了,那么其會(huì)選舉自己為主設(shè)備,此時(shí)堆疊系統(tǒng)中出現(xiàn)兩個(gè)主設(shè)備,多激活檢測(cè)生效,用戶業(yè)務(wù)不一定受到影響,只是由于主設(shè)備認(rèn)為其從設(shè)備并沒(méi)有分裂出去,所以其狀態(tài)不正常,會(huì)出現(xiàn)報(bào)錯(cuò),表項(xiàng)下發(fā)不成功等現(xiàn)象。
[0005]如果是主設(shè)備認(rèn)為自己分裂了,從設(shè)備認(rèn)為自己沒(méi)有分裂,此時(shí)從設(shè)備就處于完全失控的狀態(tài)了,如果此時(shí)主設(shè)備上更改配置等,很可能造成環(huán)路等問(wèn)題,嚴(yán)重影響用戶業(yè)務(wù)。
[0006]當(dāng)前,業(yè)界主要是采用硬件Qos (Quality of Service,服務(wù)質(zhì)量)軟件優(yōu)化保證不出現(xiàn)異常檢測(cè)等方式來(lái)規(guī)避此問(wèn)題,但是硬件芯片不支持無(wú)法保證線路質(zhì)量,無(wú)法處理虛擬交換鏈路上數(shù)據(jù)過(guò)載,或因虛擬交換鏈路較遠(yuǎn)、轉(zhuǎn)接設(shè)備很多等狀況從而無(wú)法保證其每個(gè)環(huán)節(jié)都處理正常,因此當(dāng)前沒(méi)有一種好的方式一勞永逸地解決上述問(wèn)題。由于實(shí)際環(huán)境中,虛擬交換鏈路的帶寬都是小于用戶業(yè)務(wù)帶寬的,所以如果用戶環(huán)境中跨成員設(shè)備數(shù)據(jù)很多,造成虛擬交換鏈路過(guò)載是很常見的事情,同時(shí),不是所有的硬件和集成芯片都有完善的Qos保障,所以過(guò)載后數(shù)據(jù)很可能被丟棄,如果設(shè)備間虛擬交換鏈路?;顖?bào)文被丟棄,且是單方向過(guò)載,則可能造成單邊分裂現(xiàn)象。另外,如果堆疊的成員設(shè)備間的距離很遠(yuǎn),中間有各種傳輸設(shè)備中轉(zhuǎn),那么我們不能保證所有的中間環(huán)節(jié)都處理正確,所以也可能出現(xiàn)單邊分裂。
【發(fā)明內(nèi)容】
[0007]本發(fā)明所要解決的技術(shù)問(wèn)題是為了克服現(xiàn)有技術(shù)中堆疊系統(tǒng)中產(chǎn)生的單邊分裂的問(wèn)題而提供一種防止堆疊系統(tǒng)單邊分裂的方法及系統(tǒng)。
[0008]本發(fā)明解決其技術(shù)問(wèn)題采用的技術(shù)方案是:一種防止堆疊系統(tǒng)單邊分裂的方法,包括如下步驟:
[0009]S1、在虛擬交換鏈路中,本端設(shè)備與對(duì)端設(shè)備之間相互發(fā)送?;顖?bào)文,收集對(duì)端設(shè)備的保活周期和最大?;畲螖?shù);
[0010]S2、當(dāng)本端設(shè)備發(fā)生分裂時(shí),關(guān)閉與對(duì)端設(shè)備之間的虛擬交換鏈路,并同時(shí)啟動(dòng)定時(shí)器,所述對(duì)端設(shè)備檢測(cè)到虛擬交換鏈路異常,則與本端設(shè)備進(jìn)行決策分裂;
[0011]S3、定時(shí)器超時(shí)后,恢復(fù)關(guān)閉的虛擬交換鏈路。
[0012]進(jìn)一步的,所述步驟SI中?;顖?bào)文包括:?;钫?qǐng)求報(bào)文和保活響應(yīng)報(bào)文,在堆疊系統(tǒng)正常工作的情況下,堆疊系統(tǒng)中各個(gè)成員設(shè)備之間組成虛擬交換鏈路的本端設(shè)備定時(shí)向?qū)Χ嗽O(shè)備發(fā)送?;钫?qǐng)求報(bào)文,若本端設(shè)備在連續(xù)發(fā)送N次?;钫?qǐng)求報(bào)文而未接收到對(duì)端設(shè)備發(fā)送的?;铐憫?yīng)報(bào)文,則認(rèn)為本端設(shè)備與該對(duì)端設(shè)備之間的虛擬交換鏈路發(fā)生異常,否則認(rèn)為該虛擬交換鏈路工作正常。
[0013]更進(jìn)一步的,所述保活報(bào)文包括:報(bào)文類型Type字段、序列號(hào)Seq字段、?;钪芷赥ime字段以及最大?;畲螖?shù)Count字段;所述Type字段用于表示當(dāng)前發(fā)送的保活報(bào)文是?;钫?qǐng)求報(bào)文還是?;铐憫?yīng)報(bào)文;所述Seq字段用于表示發(fā)送的保活報(bào)文的序列號(hào),每發(fā)送一次?;钫?qǐng)求報(bào)文時(shí),所述Seq字段的值加I。
[0014]更進(jìn)一步的,所述N值為?;顖?bào)文中Count字段的值,當(dāng)本端設(shè)備發(fā)送的?;钫?qǐng)求報(bào)文的序列號(hào)Seq和接收到的保活響應(yīng)報(bào)文的序列號(hào)Seq之間差大于所述Count字段的值時(shí),所述本端設(shè)備與對(duì)端設(shè)備之間的虛擬交換鏈路發(fā)生異常,則對(duì)端設(shè)備與本端設(shè)備進(jìn)行決策分裂。
[0015]進(jìn)一步的,所述步驟S2中,所述定時(shí)器的值為對(duì)端設(shè)備發(fā)送的?;顖?bào)文中的?;钪芷赥imeX (最大?;畲螖?shù)Count +1)。
[0016]進(jìn)一步的,所述步驟S2中,當(dāng)本端設(shè)備發(fā)生分裂關(guān)閉與對(duì)端設(shè)備之間的虛擬交換鏈路時(shí),本端設(shè)備的物理端口的狀態(tài)為down ;若本端設(shè)備與對(duì)端設(shè)備直接相連,則對(duì)端設(shè)備直接進(jìn)行決策分裂;若所述本端設(shè)備與對(duì)端設(shè)備之間存在中轉(zhuǎn)設(shè)備,則對(duì)端設(shè)備在定時(shí)器超時(shí)后與本端設(shè)備進(jìn)行決策分裂。
[0017]本發(fā)明為解決技術(shù)問(wèn)題還提供了一種防止堆疊系統(tǒng)單邊分裂的系統(tǒng),具體包括本端設(shè)備和對(duì)端設(shè)備,所述本端設(shè)備包括鏈路?;钅K、分裂決策模塊、鏈路管理模塊以及定時(shí)模塊;
[0018]所述鏈路?;钅K,用于在虛擬交換鏈路中,本端設(shè)備與對(duì)端設(shè)備之間相互發(fā)送保活報(bào)文,收集對(duì)端設(shè)備的?;钪芷诤妥畲蟊;畲螖?shù);
[0019]所述分裂決策模塊,用于決策本端設(shè)備是否應(yīng)該從堆疊系統(tǒng)中分裂;
[0020]所述鏈路管理模塊,用于在本端設(shè)備發(fā)生分裂時(shí),關(guān)閉與對(duì)端設(shè)備之間的虛擬交換鏈路,同時(shí),檢測(cè)虛擬交換鏈路物理端口狀態(tài);
[0021]所述定時(shí)模塊,用于在定時(shí)器超時(shí)后,恢復(fù)關(guān)閉的虛擬交換鏈路。[0022]進(jìn)一步的,所述本端設(shè)備與對(duì)端設(shè)備之間相互發(fā)送的?;顖?bào)文包括:保活請(qǐng)求報(bào)文和?;铐憫?yīng)報(bào)文,在堆疊系統(tǒng)正常工作的情況下,堆疊系統(tǒng)中各個(gè)成員設(shè)備之間組成虛擬交換鏈路的本端設(shè)備定時(shí)向?qū)Χ嗽O(shè)備發(fā)送?;钫?qǐng)求報(bào)文,若本端設(shè)備在連續(xù)發(fā)送N次保活請(qǐng)求報(bào)文而未接收到對(duì)端設(shè)備發(fā)送的?;铐憫?yīng)報(bào)文,則認(rèn)為本端設(shè)備與該對(duì)端設(shè)備之間的虛擬交換鏈路發(fā)生異常,否則認(rèn)為該虛擬交換鏈路工作正常;
[0023]所述?;顖?bào)文包括:報(bào)文類型Type字段、序列號(hào)Seq字段、?;钪芷赥ime字段以及最大保活次數(shù)Count字段;所述Type字段用于表示當(dāng)前發(fā)送的保活報(bào)文是保活請(qǐng)求報(bào)文還是?;铐憫?yīng)報(bào)文;所述Seq字段用于表示發(fā)送的?;顖?bào)文的序列號(hào),每發(fā)送一次?;钫?qǐng)求報(bào)文時(shí),所述Seq字段的值加I。
[0024]更進(jìn)一步的,所述N值為?;顖?bào)文中Count字段的值,當(dāng)本端設(shè)備發(fā)送的?;钫?qǐng)求報(bào)文的序列號(hào)Seq和接收到的?;铐憫?yīng)報(bào)文的序列號(hào)Seq之間差大于所述Count字段的值時(shí),所述本端設(shè)備與對(duì)端設(shè)備之間的虛擬交換鏈路發(fā)生異常,則對(duì)端設(shè)備與本端設(shè)備進(jìn)行決策分裂。
[0025]進(jìn)一步的,所述定時(shí)模塊中定時(shí)器的值為對(duì)端設(shè)備發(fā)送的?;顖?bào)文中的?;钪芷赥imeX (最大?;畲螖?shù)Count + I)。
[0026]本發(fā)明的有益效果:本發(fā)明一種防止堆疊系統(tǒng)單邊分裂的方法及系統(tǒng),通過(guò)在堆疊系統(tǒng)的堆疊成員之間進(jìn)行鏈路保活,在成員設(shè)備因線路過(guò)載、報(bào)文丟失而出現(xiàn)單邊分裂的現(xiàn)象時(shí)能夠與堆疊系統(tǒng)完全分裂;在虛擬交換鏈路狀態(tài)不穩(wěn)定時(shí),通過(guò)本發(fā)明方法及系統(tǒng)能夠保證堆疊系統(tǒng)正常分裂,并且結(jié)合MAD等檢測(cè)機(jī)制,可以避免不完全分裂對(duì)客戶業(yè)務(wù)造成影響,增強(qiáng)了堆疊系統(tǒng)故障恢復(fù)能力,特別是當(dāng)硬件芯片無(wú)法做到Qos保證導(dǎo)致數(shù)據(jù)過(guò)載而丟包、遠(yuǎn)距離線路和中轉(zhuǎn)設(shè)備較多無(wú)法保證線路質(zhì)量時(shí),效果特別明顯。
【專利附圖】
【附圖說(shuō)明】
[0027]圖1所示為本發(fā)明實(shí)施例的一種防止堆疊系統(tǒng)單邊分裂的方法的流程框圖;
[0028]圖2所示為本發(fā)明實(shí)施例中兩臺(tái)成員設(shè)備組成堆疊系統(tǒng)的連接示意圖;
[0029]圖3所示為本發(fā)明實(shí)施例中四臺(tái)成員設(shè)備組成堆疊系統(tǒng)的連接示意圖;
[0030]圖4所示為本發(fā)明實(shí)施例中成員設(shè)備間存在中轉(zhuǎn)設(shè)備時(shí)的堆疊系統(tǒng)的連接示意圖;
[0031]圖5所示為本發(fā)明實(shí)施例的一種防止堆疊系統(tǒng)單邊分裂的系統(tǒng)的示意框圖?!揪唧w實(shí)施方式】
[0032]下面結(jié)合附圖和具體的實(shí)施例對(duì)本發(fā)明作進(jìn)一步的闡述。
[0033]如圖1所示為本發(fā)明實(shí)施例的一種防止堆疊系統(tǒng)單邊分裂的方法的流程框圖,包括如下步驟:
[0034]S1、在虛擬交換鏈路中,本端設(shè)備與對(duì)端設(shè)備之間相互發(fā)送?;顖?bào)文,收集對(duì)端設(shè)備的?;钪芷诤妥畲蟊;畲螖?shù);
[0035]S2、當(dāng)本端設(shè)備發(fā)生分裂時(shí),關(guān)閉與對(duì)端設(shè)備之間的虛擬交換鏈路,并同時(shí)啟動(dòng)定時(shí)器,所述對(duì)端設(shè)備檢測(cè)到虛擬交換鏈路異常,則與本端設(shè)備進(jìn)行決策分裂;
[0036]S3、定時(shí)器超時(shí)后,恢復(fù)關(guān)閉的虛擬交換鏈路。[0037]本發(fā)明實(shí)施例中的本端設(shè)備與對(duì)端設(shè)備是相對(duì)而言的,本端設(shè)備既可以是主設(shè)備也可以是從設(shè)備,對(duì)端設(shè)備既可以是主設(shè)備也可以是從設(shè)備。對(duì)于只有兩臺(tái)堆疊設(shè)備的堆疊系統(tǒng)來(lái)說(shuō),本端設(shè)備與對(duì)端設(shè)備是指主設(shè)備與從設(shè)備之間互發(fā)?;顖?bào)文;對(duì)于含有多臺(tái)堆疊設(shè)備的堆疊系統(tǒng)來(lái)說(shuō),本端設(shè)備與對(duì)端設(shè)備是針對(duì)相鄰的成員設(shè)備而言的;本端設(shè)備與對(duì)端設(shè)備既可以是指主從設(shè)備之間互發(fā)?;顖?bào)文,也可以是從設(shè)備與從設(shè)備之間互發(fā)保活報(bào)文;
[0038]本發(fā)明防止堆疊系統(tǒng)單邊分裂的方法,首先在堆疊系統(tǒng)正常工作的情況下,對(duì)虛擬交換鏈路進(jìn)行鏈路?;睿ㄟ^(guò)在?;顖?bào)文中攜帶?;钪芷诤妥畲蟊;畲螖?shù)從而收集各成員設(shè)備的?;钪芷诤妥畲蟊;畲螖?shù);其次,當(dāng)本端設(shè)備發(fā)生分裂時(shí),則關(guān)閉對(duì)應(yīng)的虛擬交換鏈路,并同時(shí)啟動(dòng)定時(shí)器,當(dāng)定時(shí)器超時(shí)后,由于已經(jīng)保證堆疊系統(tǒng)徹底分裂了,此時(shí)開啟虛擬交換鏈路的物理端口,恢復(fù)堆疊鏈路,使堆疊系統(tǒng)合并,業(yè)務(wù)恢復(fù)。為了本領(lǐng)域技術(shù)人員能夠理解并且實(shí)施本發(fā)明技術(shù)方案,下面將結(jié)合具體應(yīng)用環(huán)境對(duì)本發(fā)明所述方法進(jìn)行闡述:
[0039]所述步驟SI中?;顖?bào)文包括:保活請(qǐng)求報(bào)文和?;铐憫?yīng)報(bào)文,在堆疊系統(tǒng)正常工作的情況下,堆疊系統(tǒng)中各個(gè)成員設(shè)備之間組成虛擬交換鏈路的本端設(shè)備定時(shí)向?qū)Χ嗽O(shè)備發(fā)送?;钫?qǐng)求報(bào)文,若本端設(shè)備在連續(xù)發(fā)送N次?;钫?qǐng)求報(bào)文而未接收到對(duì)端設(shè)備發(fā)送的?;铐憫?yīng)報(bào)文,則本端設(shè)備與該對(duì)端設(shè)備之間的虛擬交換鏈路發(fā)生異常,否則認(rèn)為該虛擬交換鏈路工作正常;其中所述定時(shí)信息和所述N值都可由?;顖?bào)文字段來(lái)設(shè)定,如表I所示為在本實(shí)施例中?;顖?bào)文的格式:
[0040]表I 一保活報(bào)文格式
[0041]
Type Seq Time Count
[0042]上述?;顖?bào)文包括:報(bào)文類型Type字段、序列號(hào)Seq字段、?;钪芷赥ime字段以及最大保活次數(shù)Count字段;所述Type字段用于表示當(dāng)前發(fā)送的?;顖?bào)文是保活請(qǐng)求報(bào)文還是?;铐憫?yīng)報(bào)文;所述Seq字段用于表示發(fā)送的?;顖?bào)文的序列號(hào),每發(fā)送一次保活請(qǐng)求報(bào)文時(shí),所述Seq字段的值加I。所述N值為保活報(bào)文中Count字段的值,當(dāng)本端設(shè)備發(fā)送的?;钫?qǐng)求報(bào)文的序列號(hào)Seq和接收到的?;铐憫?yīng)報(bào)文的序列號(hào)Seq之間差大于所述Count字段的值時(shí),所述本端設(shè)備與對(duì)端設(shè)備之間的虛擬交換鏈路發(fā)生異常,則對(duì)端設(shè)備與本端設(shè)備進(jìn)行決策分裂。
[0043]其中,?;钪芷赥ime和最大保活次數(shù)Count都有默認(rèn)值,在堆疊系統(tǒng)中各個(gè)成員設(shè)備的默認(rèn)值一致,比如?;钪芷赥ime為0.5秒,最大保活次數(shù)Count為6次,表示每0.5秒發(fā)送一個(gè)?;钫?qǐng)求報(bào)文,如果連續(xù)6次未收到?;铐憫?yīng)報(bào)文報(bào)文則認(rèn)為線路異常,應(yīng)進(jìn)行決策分裂。但在實(shí)際應(yīng)用中,?;钪芷赥ime和最大保活次數(shù)Count都可自行設(shè)置,其應(yīng)根據(jù)各成員設(shè)備間鏈路穩(wěn)定性評(píng)估來(lái)配置不同的值,比如主設(shè)備和從設(shè)備之間無(wú)中轉(zhuǎn)設(shè)備,線纜很短,評(píng)估不容易出現(xiàn)問(wèn)題,線路延遲很小,其實(shí)際應(yīng)用情況可模擬為如圖2所示的由兩臺(tái)成員設(shè)備組成的堆疊系統(tǒng)時(shí),可以使用默認(rèn)值;但如果是異地災(zāi)備環(huán)境,堆疊系統(tǒng)的各成員設(shè)備在不同城市,其實(shí)際應(yīng)用情況可模擬為如圖3所示的由四臺(tái)成員設(shè)備組成的堆疊系統(tǒng)時(shí),則?;钪芷诳梢暂^長(zhǎng),其具體值可以根據(jù)線路情況分別設(shè)置。[0044]在所述步驟S2中,當(dāng)所述本端設(shè)備出現(xiàn)?;钍?、端口故障、軟件處理異常等原因,決策本端設(shè)備需要分裂時(shí),則關(guān)閉與對(duì)端設(shè)備間的虛擬交換鏈路,關(guān)閉時(shí)間為對(duì)端設(shè)備定時(shí)信息中?;钪芷赥imeX (最大?;畲螖?shù)Count+Ι),即如果Time為0.5秒,Count為6,則定時(shí)器值為0.5X (6+1)=3.5秒;
[0045]關(guān)閉該虛擬交換鏈路后,本端設(shè)備鏈路中物理端口 down,如果對(duì)端設(shè)備和本端設(shè)備直接相連,如圖2所示,則對(duì)端設(shè)備對(duì)應(yīng)的物理端口根據(jù)物理特性也會(huì)跟隨down掉,此時(shí)對(duì)端設(shè)備會(huì)直接感知到虛擬交換鏈路異常,則與本端設(shè)備進(jìn)行分裂決策,而不需要再等保活超時(shí)。但如果對(duì)端設(shè)備和本端設(shè)備不是直接相連,而是有中轉(zhuǎn)設(shè)備,如圖4所示,由于本端設(shè)備鏈路中物理端口 down,對(duì)端設(shè)備不會(huì)感知到,但是本端設(shè)備由于虛擬交換鏈路已經(jīng)關(guān)閉,所以不會(huì)再發(fā)送?;铐憫?yīng)報(bào)文,而由于我們物理端口 down的時(shí)間為對(duì)端設(shè)備?;钪芷赥imeX (最大?;畲螖?shù)Count+Ι),所以對(duì)端設(shè)備在?;畛瑫r(shí)后肯定能夠檢測(cè)到虛擬交換鏈路異常,進(jìn)行分裂決策,分裂后,MAD等檢測(cè)機(jī)制可以正常生效,保證用戶業(yè)務(wù)不受影響。
[0046]在所述步驟S3中,本端設(shè)備在發(fā)生分裂后關(guān)閉虛擬交換鏈路的同時(shí)啟動(dòng)定時(shí)器,定時(shí)器值為對(duì)端設(shè)備定時(shí)信息中?;钪芷赥imeX (最大?;畲螖?shù)Count+Ι),當(dāng)定時(shí)器超時(shí)后,重新恢復(fù)該虛擬交換鏈路,如果線路物理連接正常,則物理端口會(huì)重新UP,這樣堆疊系統(tǒng)可以正常合并,恢復(fù)業(yè)務(wù)。
[0047]本發(fā)明為解決技術(shù)問(wèn)題還提供了一種防止堆疊系統(tǒng)單邊分裂的系統(tǒng),其具體包括本端設(shè)備和對(duì)端設(shè)備,所述本端設(shè)備包括鏈路保活模塊、分裂決策模塊、鏈路管理模塊以及定時(shí)模塊;
[0048]所述鏈路?;钅K,用于在虛擬交換鏈路中,本端設(shè)備與對(duì)端設(shè)備之間相互發(fā)送?;顖?bào)文,收集對(duì)端設(shè)備的?;钪芷诤妥畲蟊;畲螖?shù);
[0049]所述分裂決策模塊,用于決策本端設(shè)備是否應(yīng)該從堆疊系統(tǒng)中分裂;
[0050]所述鏈路管理模塊,用于在本端設(shè)備發(fā)生分裂時(shí),關(guān)閉與對(duì)端設(shè)備之間的虛擬交換鏈路,同時(shí),檢測(cè)虛擬交換鏈路物理端口狀態(tài);
[0051]所述定時(shí)模塊,用于在定時(shí)器超時(shí)后,恢復(fù)關(guān)閉的虛擬交換鏈路。
[0052]由于本發(fā)明實(shí)施例中,本端設(shè)備與對(duì)端設(shè)備是相對(duì)而言的,同理對(duì)端設(shè)備也包括鏈路保活模塊、分裂決策模塊、鏈路管理模塊以及定時(shí)模塊;具體功能和用途不再贅述。本發(fā)明實(shí)施例的防止堆疊系統(tǒng)單邊分裂的系統(tǒng)如圖5所示為該系統(tǒng)的示意框圖,
[0053]其中,所述本端設(shè)備與對(duì)端設(shè)備之間相互發(fā)送的?;顖?bào)文包括:?;钫?qǐng)求報(bào)文和?;铐憫?yīng)報(bào)文,在堆疊系統(tǒng)正常工作的情況下,堆疊系統(tǒng)中各個(gè)成員設(shè)備之間組成虛擬交換鏈路的本端設(shè)備定時(shí)向?qū)Χ嗽O(shè)備發(fā)送保活請(qǐng)求報(bào)文,若本端設(shè)備在連續(xù)發(fā)送N次保活請(qǐng)求報(bào)文而未接收到對(duì)端設(shè)備發(fā)送的?;铐憫?yīng)報(bào)文,則本端設(shè)備與該對(duì)端設(shè)備之間的虛擬交換鏈路發(fā)生異常,否則認(rèn)為該虛擬交換鏈路工作正常;所述?;顖?bào)文包括:報(bào)文類型Type字段、序列號(hào)Seq字段、保活周期Time字段以及最大?;畲螖?shù)Count字段;所述Type字段用于表示當(dāng)前發(fā)送的保活報(bào)文是保活請(qǐng)求報(bào)文還是?;铐憫?yīng)報(bào)文;所述Seq字段用于表示發(fā)送的保活報(bào)文的序列號(hào),每發(fā)送一次保活請(qǐng)求報(bào)文時(shí),所述Seq字段的值加I。
[0054]所述N值為?;顖?bào)文中Count字段的值,當(dāng)本端設(shè)備發(fā)送的?;钫?qǐng)求報(bào)文的序列號(hào)Seq和接收到的?;铐憫?yīng)報(bào)文的序列號(hào)Seq之間差大于所述Count字段的值時(shí),所述本端設(shè)備與對(duì)端設(shè)備之間的虛擬交換鏈路發(fā)生異常,則對(duì)端設(shè)備與本端設(shè)備進(jìn)行決策分裂。[0055]本領(lǐng)域的普通技術(shù)人員將會(huì)意識(shí)到,這里所述的實(shí)施例是為了幫助讀者理解本發(fā)明的原理,應(yīng)被理解為本發(fā)明的保護(hù)范圍并不局限于這樣的特別陳述和實(shí)施例。本領(lǐng)域的普通技術(shù)人員可以根據(jù)本發(fā)明公開的這些技術(shù)啟示做出各種不脫離本發(fā)明實(shí)質(zhì)的其它各種具體變形和組合,這些變形和組合仍然在本發(fā)明的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1. 一種防止堆疊系統(tǒng)單邊分裂的方法,其特征在于,包括如下步驟: 51、在虛擬交換鏈路中,本端設(shè)備與對(duì)端設(shè)備之間相互發(fā)送?;顖?bào)文,收集對(duì)端設(shè)備的?;钪芷诤妥畲蟊;畲螖?shù); 52、當(dāng)本端設(shè)備發(fā)生分裂時(shí),關(guān)閉與對(duì)端設(shè)備之間的虛擬交換鏈路,并同時(shí)啟動(dòng)定時(shí)器,所述對(duì)端設(shè)備檢測(cè)到虛擬交換鏈路異常,則與本端設(shè)備進(jìn)行決策分裂; 53、定時(shí)器超時(shí)后,恢復(fù)關(guān)閉的虛擬交換鏈路。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟SI中保活報(bào)文包括:?;钫?qǐng)求報(bào)文和?;铐憫?yīng)報(bào)文,在堆疊系統(tǒng)正常工作的情況下,堆疊系統(tǒng)中各個(gè)成員設(shè)備之間組成虛擬交換鏈路的本端設(shè)備定時(shí)向?qū)Χ嗽O(shè)備發(fā)送?;钫?qǐng)求報(bào)文,若本端設(shè)備在連續(xù)發(fā)送N次?;钫?qǐng)求報(bào)文而未接收到對(duì)端設(shè)備發(fā)送的?;铐憫?yīng)報(bào)文,則認(rèn)為本端設(shè)備與該對(duì)端設(shè)備之間的虛擬交換鏈路發(fā)生異常,否則認(rèn)為該虛擬交換鏈路工作正常。
3.如權(quán)利要求2所述的方法,其特征在于,所述?;顖?bào)文包括:報(bào)文類型Type字段、序列號(hào)Seq字段、保活周期Time字段以及最大?;畲螖?shù)Count字段;所述Type字段用于表示當(dāng)前發(fā)送的保活報(bào)文是?;钫?qǐng)求報(bào)文還是保活響應(yīng)報(bào)文;所述Seq字段用于表示發(fā)送的?;顖?bào)文的序列號(hào),每發(fā)送一次?;钫?qǐng)求報(bào)文時(shí),所述Seq字段的值加I。
4.如權(quán)利要求3所述的方法,其特征在于,所述N值為?;顖?bào)文中Count字段的值,當(dāng)本端設(shè)備發(fā)送的?;钫?qǐng)求報(bào)文的序列號(hào)Seq和接收到的?;铐憫?yīng)報(bào)文的序列號(hào)Seq之間差大于所述Count字段的值時(shí),所述本端設(shè)備與對(duì)端設(shè)備之間的虛擬交換鏈路發(fā)生異常,則對(duì)端設(shè)備與本端設(shè)備進(jìn)行決策分裂。
5.如權(quán)利要求4所述的方法,其特征在于,所述步驟S2中,所述定時(shí)器的值為對(duì)端設(shè)備發(fā)送的保活報(bào)文中的?;钪芷赥imeX (最大保活次數(shù)Count + I)。
6.如權(quán)利要求1至5任一項(xiàng)所述的方法,其特征在于,所述步驟S2中,當(dāng)本端設(shè)備發(fā)生分裂關(guān)閉與對(duì)端設(shè)備之間的虛擬交換鏈路時(shí),本端設(shè)備的物理端口的狀態(tài)為down ;若本端設(shè)備與對(duì)端設(shè)備直接相連,則對(duì)端設(shè)備直接進(jìn)行決策分裂;若所述本端設(shè)備與對(duì)端設(shè)備之間存在中轉(zhuǎn)設(shè)備,則對(duì)端設(shè)備在定時(shí)器超時(shí)后與本端設(shè)備進(jìn)行決策分裂。
7.一種防止堆疊系統(tǒng)單邊分裂的系統(tǒng),其特征在于,具體包括本端設(shè)備和對(duì)端設(shè)備,所述本端設(shè)備包括鏈路?;钅K、分裂決策模塊、鏈路管理模塊以及定時(shí)模塊; 所述鏈路?;钅K,用于在虛擬交換鏈路中,本端設(shè)備與對(duì)端設(shè)備之間相互發(fā)送?;顖?bào)文,收集對(duì)端設(shè)備的?;钪芷诤妥畲蟊;畲螖?shù); 所述分裂決策模塊,用于決策本端設(shè)備是否應(yīng)該從堆疊系統(tǒng)中分裂; 所述鏈路管理模塊,用于在本端設(shè)備發(fā)生分裂時(shí),關(guān)閉與對(duì)端設(shè)備之間的虛擬交換鏈路,同時(shí),檢測(cè)虛擬交換鏈路物理端口狀態(tài); 所述定時(shí)模塊,用于在定時(shí)器超時(shí)后,恢復(fù)關(guān)閉的虛擬交換鏈路。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述本端設(shè)備與對(duì)端設(shè)備之間相互發(fā)送的?;顖?bào)文包括:保活請(qǐng)求報(bào)文和?;铐憫?yīng)報(bào)文,在堆疊系統(tǒng)正常工作的情況下,堆疊系統(tǒng)中各個(gè)成員設(shè)備之間組成虛擬交換鏈路的本端設(shè)備定時(shí)向?qū)Χ嗽O(shè)備發(fā)送?;钫?qǐng)求報(bào)文,若本端設(shè)備在連續(xù)發(fā)送N次?;钫?qǐng)求報(bào)文而未接收到對(duì)端設(shè)備發(fā)送的?;铐憫?yīng)報(bào)文,則本端設(shè)備與該對(duì)端設(shè)備之間的虛擬交換鏈路發(fā)生異常,否則認(rèn)為該虛擬交換鏈路工作正常; 所述保活報(bào)文包括:報(bào)文類型Type字段、序列號(hào)Seq字段、?;钪芷赥ime字段以及最大?;畲螖?shù)Count字段;所述Type字段用于表示當(dāng)前發(fā)送的?;顖?bào)文是?;钫?qǐng)求報(bào)文還是?;铐憫?yīng)報(bào)文;所述Seq字段用于表示發(fā)送的?;顖?bào)文的序列號(hào),每發(fā)送一次?;钫?qǐng)求報(bào)文時(shí),所述Seq字段的值加1。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述N值為?;顖?bào)文中Count字段的值,當(dāng)本端設(shè)備發(fā)送的保活請(qǐng)求報(bào)文的序列號(hào)Seq和接收到的?;铐憫?yīng)報(bào)文的序列號(hào)Seq之間差大于所述Count字段的值時(shí),所述本端設(shè)備與對(duì)端設(shè)備之間的虛擬交換鏈路發(fā)生異常,則對(duì)端設(shè)備與本端設(shè)備進(jìn)行決策分裂。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述定時(shí)模塊中定時(shí)器的值為對(duì)端設(shè)備發(fā)送的?;顖?bào)文中的?;钪芷赥imeX (最大?;畲螖?shù)Count + 1)。
【文檔編號(hào)】H04L29/06GK103944781SQ201410151728
【公開日】2014年7月23日 申請(qǐng)日期:2014年4月15日 優(yōu)先權(quán)日:2014年4月15日
【發(fā)明者】張華洪 申請(qǐng)人:邁普通信技術(shù)股份有限公司