專利名稱:避免路由設(shè)備頻繁切換狀態(tài)的方法和一種路由設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),特別是涉及一種避免路由設(shè)備頻繁切換狀態(tài)的方法和一種路由設(shè)備。
背景技術(shù):
為了向用戶終端提供可靠的業(yè)務(wù)保護(hù),IETF制定了虛擬路由器冗余協(xié)議(VRRP)技術(shù)。VRRP技術(shù)應(yīng)用于作為靜態(tài)配置缺省網(wǎng)關(guān)上的第三層交換機(jī)和路由器上,為依賴缺省網(wǎng)關(guān)進(jìn)行廣域網(wǎng)接入或訪問(wèn)其它局域網(wǎng)網(wǎng)域的終端系統(tǒng)提供了更快、更有效的冗余容錯(cuò)能力。目前,VRRP技術(shù)已不再僅僅局限于路由器上的使用,而是逐步引入到大規(guī)模的交換網(wǎng),以實(shí)現(xiàn)高可靠性的第三層交換的冗余備份。
當(dāng)采用VRRP技術(shù)時(shí),網(wǎng)絡(luò)側(cè)的多個(gè)路由設(shè)備組成一個(gè)虛擬的設(shè)備組,稱之為VRRP備份組。圖1是VRRP備份組的示意圖。參見(jiàn)圖1,在VRRP備份組內(nèi)只有一個(gè)路由設(shè)備作為主用路由設(shè)備,其它路由設(shè)備則作為備用路由設(shè)備,并且,在任何時(shí)刻,只有主用路由設(shè)備負(fù)責(zé)與網(wǎng)絡(luò)中的其它設(shè)備進(jìn)行數(shù)據(jù)交互。
在VRRP備份組內(nèi)部,當(dāng)主用路由設(shè)備正常工作時(shí),主用路由設(shè)備會(huì)周期性地向備用路由設(shè)備發(fā)送一個(gè)正常通知報(bào)文即VRRP報(bào)文。這樣,如果VRRP備份組內(nèi)的備用路由設(shè)備在一個(gè)報(bào)文接收周期內(nèi)接收到VRRP報(bào)文,則可確定主用路由設(shè)備未發(fā)生故障;而如果VRRP備份組內(nèi)的備用路由設(shè)備在一個(gè)報(bào)文接收周期內(nèi)未接收到VRRP報(bào)文,則可確定主用路由設(shè)備發(fā)生故障,此時(shí),各備用路由設(shè)備首先切換自己的狀態(tài),即,將自己切換為主用狀態(tài),然后狀態(tài)切換后的各個(gè)備用路由設(shè)備分別根據(jù)各自優(yōu)先級(jí)的大小來(lái)重新確定一個(gè)主用路由設(shè)備,由該重新確定的主用路由設(shè)備負(fù)責(zé)與網(wǎng)絡(luò)中的其它設(shè)備進(jìn)行數(shù)據(jù)交互。
目前,在主用路由設(shè)備未發(fā)生故障時(shí),由于各種原因,經(jīng)常會(huì)出現(xiàn)備用路由設(shè)備無(wú)法在一個(gè)報(bào)文接收周期內(nèi)接收到主用路由設(shè)備發(fā)來(lái)的VRRP報(bào)文。比如由于網(wǎng)絡(luò)中突發(fā)大流量數(shù)據(jù)報(bào)文使得網(wǎng)絡(luò)擁塞,或者,由于備用路由設(shè)備本身處理能力較差,不支持嚴(yán)格報(bào)文分類及針對(duì)分類后的報(bào)文進(jìn)行帶寬預(yù)留等原因,使得備用路由設(shè)備無(wú)法在一個(gè)報(bào)文接收周期內(nèi)接收到主用路由設(shè)備發(fā)來(lái)的VRRP報(bào)文。
然而,根據(jù)上述VRRP備份組的工作原理,一旦備用路由設(shè)備無(wú)法在一個(gè)報(bào)文接收周期內(nèi)接收到主用路由設(shè)備發(fā)來(lái)的VRRP報(bào)文,該備用路由設(shè)備則會(huì)切換自身的狀態(tài),將自身切換為主用狀態(tài),而由于初始的主用路由設(shè)備并未發(fā)生故障,在后續(xù)時(shí)間,狀態(tài)切換后的備用路由設(shè)備則會(huì)接收到VRRP報(bào)文,則必須再次切換自身的狀態(tài),重新將自身切換為備用狀態(tài),往往導(dǎo)致備用路由設(shè)備在短時(shí)間內(nèi)頻繁地進(jìn)行狀態(tài)切換。比如,主用路由設(shè)備每隔1秒發(fā)送一次VRRP報(bào)文,備用路由設(shè)備的報(bào)文接收周期為4.5秒(即在4.5秒內(nèi)未接收到VRRP報(bào)文就進(jìn)行狀態(tài)切換),由于網(wǎng)絡(luò)擁塞,備用路由設(shè)備實(shí)際每5秒才能接收到VRRP報(bào)文,這樣,在計(jì)時(shí)到達(dá)4.5秒時(shí),由于備用路由設(shè)備無(wú)法接收到VRRP報(bào)文,備用路由設(shè)備就會(huì)發(fā)生一次狀態(tài)切換,將自身切換為主用狀態(tài),在計(jì)時(shí)到達(dá)5秒時(shí),由于該狀態(tài)切換后的備用路由設(shè)備又接收到了VRRP報(bào)文,所以又發(fā)生一次狀態(tài)切換,將自身切換回備用狀態(tài),可見(jiàn),每5秒備用路由設(shè)備便會(huì)發(fā)生兩次狀態(tài)切換,因此,使得備用路由設(shè)備在短時(shí)間內(nèi)頻繁地進(jìn)行狀態(tài)切換,降低了備用路由設(shè)備的穩(wěn)定性。
為了避免備用路由設(shè)備頻繁地切換狀態(tài),目前的解決方法為管理人員在發(fā)現(xiàn)備用路由設(shè)備頻繁地切換狀態(tài)后,手動(dòng)修改報(bào)文接收周期,使該報(bào)文接收周期的值變大,從而使得備用路由設(shè)備等待VRRP報(bào)文的時(shí)間增加,延長(zhǎng)備用路由設(shè)備進(jìn)行狀態(tài)切換的時(shí)間,降低備用路由設(shè)備進(jìn)行狀態(tài)切換的頻率;或者,管理人員在發(fā)現(xiàn)備用路由設(shè)備頻繁地切換狀態(tài)后,為備用路由設(shè)備設(shè)置較長(zhǎng)的延遲時(shí)間,使得備用路由設(shè)備無(wú)法在一個(gè)報(bào)文接收周期內(nèi)接收到主用路由設(shè)備發(fā)來(lái)的VRRP報(bào)文后,延遲較長(zhǎng)的時(shí)間后再進(jìn)行狀態(tài)切換,從而延長(zhǎng)備用路由設(shè)備進(jìn)行狀態(tài)切換的時(shí)間,降低備用路由設(shè)備進(jìn)行狀態(tài)切換的頻率。
由以上描述可以看出,在現(xiàn)有技術(shù)中,必須由管理人員進(jìn)行手動(dòng)配置,才能避免備用路由設(shè)備頻繁地進(jìn)行狀態(tài)切換,系統(tǒng)卻無(wú)法自動(dòng)實(shí)現(xiàn),因此,大大降低了系統(tǒng)的靈活性和實(shí)用性,并增加了管理人員的維護(hù)工作量。
另外,在現(xiàn)有技術(shù)中,在備用路由設(shè)備頻繁切換狀態(tài)時(shí),管理人員往往無(wú)法及時(shí)發(fā)現(xiàn),往往是網(wǎng)絡(luò)事故發(fā)生了很久,網(wǎng)絡(luò)管理人員才可發(fā)現(xiàn)然后才能進(jìn)行手動(dòng)配置,因此,無(wú)法有效地避免備用路由設(shè)備頻繁進(jìn)行狀態(tài)切換。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種避免路由設(shè)備頻繁切換狀態(tài)的方法,本發(fā)明的另一目的在于提供一種路由設(shè)備,保證能夠由備用路由設(shè)備自動(dòng)實(shí)現(xiàn)避免頻繁狀態(tài)切換的過(guò)程,提高系統(tǒng)的靈活性和實(shí)用性。
為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種避免路由設(shè)備頻繁切換狀態(tài)的方法,該方法包括備用路由設(shè)備判斷自身狀態(tài)切換是否出現(xiàn)異常,如果是,則增加狀態(tài)切換的時(shí)間長(zhǎng)度,并根據(jù)該增加后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換。
所述備用路由設(shè)備判斷自身狀態(tài)切換是否出現(xiàn)異常的步驟包括備用路由設(shè)備判斷在預(yù)先設(shè)定的時(shí)間長(zhǎng)度內(nèi),自身已進(jìn)行狀態(tài)切換的次數(shù)是否大于預(yù)先設(shè)置的切換次數(shù)閾值,如果大于,則確定自身狀態(tài)切換出現(xiàn)異常。
所述增加狀態(tài)切換的時(shí)間長(zhǎng)度的步驟包括延長(zhǎng)報(bào)文接收周期;所述根據(jù)增加后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換的步驟包括備用路由設(shè)備在延長(zhǎng)后的報(bào)文接收周期內(nèi)未接收到主用路由設(shè)備發(fā)來(lái)的正常通知報(bào)文后,執(zhí)行狀態(tài)切換。
所述延長(zhǎng)報(bào)文接收周期的步驟包括在計(jì)算報(bào)文接收周期的公式中增加調(diào)節(jié)因子,并增加該調(diào)節(jié)因子的當(dāng)前值。
在延長(zhǎng)報(bào)文接收周期之后,該方法進(jìn)一步包括備用路由設(shè)備判斷自身接收正常通知報(bào)文的頻率是否已恢復(fù)正常,如果是,則減小所述調(diào)節(jié)因子的當(dāng)前值,根據(jù)減小后的調(diào)節(jié)因子的當(dāng)前值得到報(bào)文接收周期,并根據(jù)該所得的報(bào)文接收周期執(zhí)行狀態(tài)切換,其中,減小后的調(diào)節(jié)因子的當(dāng)前值大于或等于其初始值。
所述增加狀態(tài)切換的時(shí)間長(zhǎng)度的步驟包括增加狀態(tài)切換的延遲時(shí)間S;所述根據(jù)增加后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換的步驟包括備用路由設(shè)備在報(bào)文接收周期內(nèi)未接收到正常通知報(bào)文后,等待狀態(tài)切換的延遲時(shí)間S后,執(zhí)行狀態(tài)切換。
在增加狀態(tài)切換的時(shí)間長(zhǎng)度之后,該方法進(jìn)一步包括備用路由設(shè)備判斷自身接收正常通知報(bào)文的頻率是否已恢復(fù)正常,如果是,則減小或去除所述狀態(tài)切換延遲時(shí)間S的當(dāng)前值,根據(jù)減小或去除的狀態(tài)切換延遲時(shí)間S執(zhí)行狀態(tài)切換。
所述備用路由設(shè)備判斷自身接收正常通知報(bào)文的頻率是否已恢復(fù)正常的步驟包括備用路由設(shè)備判斷在預(yù)先設(shè)定的時(shí)間長(zhǎng)度內(nèi),在每一個(gè)初始的報(bào)文接收周期中是否均可接收到正常通知報(bào)文,如果均可接收到,則確定自身接收正常通知報(bào)文的頻率已恢復(fù)正常。
一種路由設(shè)備,該路由設(shè)備包括控制單元、計(jì)數(shù)器和計(jì)時(shí)器,其中,控制單元,用于在路由設(shè)備進(jìn)行狀態(tài)切換時(shí),將計(jì)數(shù)器的值加1,并在監(jiān)測(cè)到計(jì)時(shí)器計(jì)時(shí)到達(dá)預(yù)先設(shè)置的第一時(shí)間長(zhǎng)度后,判斷計(jì)數(shù)器在該第一時(shí)間長(zhǎng)度內(nèi)所計(jì)數(shù)值是否大于預(yù)先設(shè)置的切換次數(shù)閾值,在判斷出大于后,增加狀態(tài)切換的時(shí)間長(zhǎng)度,根據(jù)增加后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換。
所述控制單元,進(jìn)一步用于監(jiān)測(cè)在計(jì)時(shí)器計(jì)時(shí)到達(dá)預(yù)先設(shè)置的第二時(shí)間長(zhǎng)度的過(guò)程中,在每一個(gè)初始的報(bào)文接收周期內(nèi)是否均可接收到正常通知報(bào)文,在確定均可接收到后,減少狀態(tài)切換時(shí)間長(zhǎng)度,根據(jù)該減少后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換。
由此可見(jiàn),本發(fā)明具有以下優(yōu)點(diǎn)1、備用路由設(shè)備在監(jiān)測(cè)到自身頻繁進(jìn)行了狀態(tài)切換后,能夠自動(dòng)延長(zhǎng)狀態(tài)切換的時(shí)間,從而自動(dòng)避免了頻繁進(jìn)行狀態(tài)切換,大大提高了系統(tǒng)的靈活性和實(shí)用性,并降低了管理人員的維護(hù)工作量。
2、在本發(fā)明中,由備用路由設(shè)備自己監(jiān)測(cè)是否頻繁進(jìn)行狀態(tài)切換并采用相應(yīng)處理措施,因此,可以保證備用路由設(shè)備及時(shí)發(fā)現(xiàn)頻繁狀態(tài)切換的情況,并及時(shí)進(jìn)行后續(xù)自動(dòng)延長(zhǎng)狀態(tài)切換時(shí)間的處理,從而有效地避免了備用路由設(shè)備頻繁地進(jìn)行狀態(tài)切換,大大提高了備用路由設(shè)備的穩(wěn)定性。
3、在本發(fā)明中,備用路由設(shè)備通過(guò)一系列軟件處理過(guò)程即可自動(dòng)實(shí)現(xiàn)避免頻繁狀態(tài)切換,而對(duì)備用路由設(shè)備的硬件結(jié)構(gòu)無(wú)需進(jìn)行任何改動(dòng),因此,節(jié)約了硬件成本,并使得本發(fā)明易于實(shí)現(xiàn)。
圖1是VRRP備份組的示意圖。
圖2是在本發(fā)明中路由設(shè)備的內(nèi)部結(jié)構(gòu)示意圖。
圖3是在本發(fā)明中實(shí)現(xiàn)避免路由設(shè)備頻繁切換狀態(tài)的流程圖。
具體實(shí)施例方式
本發(fā)明提出了一種避免路由設(shè)備頻繁切換狀態(tài)的方法,其核心思想是備用路由設(shè)備判斷自身狀態(tài)切換是否出現(xiàn)異常,如果是,則增加狀態(tài)切換的時(shí)間長(zhǎng)度,并根據(jù)該增加后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換。
其中,備用路由設(shè)備判斷自身狀態(tài)切換是否出現(xiàn)異常的方式可以是備用路由設(shè)備判斷在一個(gè)設(shè)定時(shí)間長(zhǎng)度內(nèi)自身已進(jìn)行的狀態(tài)切換次數(shù)是否大于預(yù)先設(shè)置的切換次數(shù)閾值,如果是,則確定自身已頻繁地進(jìn)行了狀態(tài)切換。
另外,所述的增加狀態(tài)切換的時(shí)間長(zhǎng)度可以通過(guò)多種方式來(lái)實(shí)現(xiàn),比如,通過(guò)延長(zhǎng)報(bào)文接收周期來(lái)實(shí)現(xiàn),或通過(guò)在報(bào)文接收周期之外增加一個(gè)狀態(tài)切換的延遲時(shí)間來(lái)實(shí)現(xiàn)等。
另外,判斷在設(shè)定時(shí)間長(zhǎng)度內(nèi)自身已進(jìn)行的狀態(tài)切換次數(shù)是否大于預(yù)先設(shè)置的次數(shù)閾值可以通過(guò)在備用路由設(shè)備中設(shè)置計(jì)數(shù)器和計(jì)時(shí)器來(lái)實(shí)現(xiàn)。
相應(yīng)的,本發(fā)明還提出了一種路由設(shè)備。圖2是在本發(fā)明中路由設(shè)備的內(nèi)部結(jié)構(gòu)示意圖。參見(jiàn)圖2,在本發(fā)明中,備份組內(nèi)路由設(shè)備的內(nèi)部結(jié)構(gòu)可以包括控制單元、計(jì)數(shù)器和計(jì)時(shí)器,其中,控制單元,在路由設(shè)備進(jìn)行狀態(tài)切換時(shí),將計(jì)數(shù)器的值加1,并在監(jiān)測(cè)到計(jì)時(shí)器計(jì)時(shí)到達(dá)預(yù)先設(shè)置的第一時(shí)間長(zhǎng)度后,判斷計(jì)數(shù)器的當(dāng)前值是否大于預(yù)先設(shè)置的切換次數(shù)閾值,在判斷出大于后,增加狀態(tài)切換的時(shí)間長(zhǎng)度,根據(jù)增加后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換。
需要說(shuō)明的是,本發(fā)明的技術(shù)方案不僅可以應(yīng)用于采用VRRP協(xié)議的VRRP備份組,而且還可以應(yīng)用于采用其他協(xié)議的備份組。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
以下通過(guò)將本發(fā)明的技術(shù)方應(yīng)用于采用VRRP協(xié)議的VRRP備份組為例,來(lái)詳細(xì)說(shuō)明本發(fā)明的實(shí)現(xiàn)過(guò)程。
圖3是在本發(fā)明中實(shí)現(xiàn)避免路由設(shè)備頻繁切換狀態(tài)的流程圖。參見(jiàn)圖2和圖3,在本發(fā)明中,自動(dòng)實(shí)現(xiàn)避免路由設(shè)備頻繁切換狀態(tài)的過(guò)程包括以下步驟步驟301預(yù)先在備用路由設(shè)備中設(shè)置計(jì)數(shù)器和計(jì)時(shí)器。
這里,在備用路由設(shè)備中設(shè)置計(jì)數(shù)器和計(jì)時(shí)器,是為了在后續(xù)過(guò)程中能夠通過(guò)計(jì)數(shù)器和計(jì)時(shí)器的值判斷出備用路由設(shè)備是否頻繁地進(jìn)行了狀態(tài)切換,進(jìn)一步地,在后續(xù)過(guò)程中還能夠通過(guò)計(jì)數(shù)器和計(jì)時(shí)器的值判斷出備用路由設(shè)備接收正常通知報(bào)文的頻率是否穩(wěn)定,即狀態(tài)切換是否恢復(fù)正常。
步驟302在備用路由設(shè)備開(kāi)始工作時(shí),初始化計(jì)數(shù)器和計(jì)時(shí)器。
這里,所述的初始化計(jì)數(shù)器和計(jì)時(shí)器是指將計(jì)數(shù)器的值清零,并使計(jì)時(shí)器從零開(kāi)始計(jì)時(shí)。
步驟303當(dāng)滿足切換條件時(shí),備用路由設(shè)備中的控制單元執(zhí)行狀態(tài)切換,并將計(jì)數(shù)器的值加1。
這里,所述的滿足切換條件可以是備用路由設(shè)備中的控制單元判斷出在一個(gè)報(bào)文接收周期內(nèi),未接收到主用路由設(shè)備發(fā)來(lái)的正常通知報(bào)文即VRRP報(bào)文。此種情況下,備用路由設(shè)備中控制單元執(zhí)行的狀態(tài)切換是將該備用路由設(shè)備的狀態(tài)切換為主用狀態(tài)。
所述的滿足切換條件還可以是在備用路由設(shè)備的狀態(tài)切換為主用狀態(tài)后,該備用路由設(shè)備中的控制單元接收到初始主用路由設(shè)備發(fā)來(lái)的VRRP報(bào)文。此種情況下,備用路由設(shè)備中的控制單元執(zhí)行的狀態(tài)切換是將備用路由設(shè)備的狀態(tài)切換回備用狀態(tài)。
需要說(shuō)明的是,該步驟303的過(guò)程與后續(xù)其他步驟之間并無(wú)固定的執(zhí)行上的先后順序,也就是說(shuō),在實(shí)際業(yè)務(wù)實(shí)現(xiàn)中,只要滿足切換條件,便需執(zhí)行本步驟的過(guò)程。
步驟304備用路由設(shè)備中的控制單元實(shí)時(shí)監(jiān)測(cè)計(jì)時(shí)器,當(dāng)監(jiān)測(cè)到計(jì)時(shí)器計(jì)時(shí)到達(dá)預(yù)先設(shè)置的第一時(shí)間長(zhǎng)度時(shí),判斷計(jì)數(shù)器在該第一時(shí)間長(zhǎng)度內(nèi)所計(jì)的數(shù)值是否大于預(yù)先設(shè)置的切換次數(shù)閾值,如果是,則執(zhí)行步驟305,否則,返回步驟304。
這里,通過(guò)對(duì)計(jì)數(shù)器和計(jì)時(shí)器值的判斷,備用路由設(shè)備則完成了判斷自身狀態(tài)切換是否出現(xiàn)異常的過(guò)程。也就是說(shuō),如果在預(yù)先設(shè)置的第一時(shí)間長(zhǎng)度內(nèi),備用路由設(shè)備已進(jìn)行的切換次數(shù)大于預(yù)先設(shè)置的切換次數(shù)閾值,則可確定備用路由設(shè)備頻繁地進(jìn)行了狀態(tài)切換的過(guò)程,從而可執(zhí)行后續(xù)的處理措施。
其中,預(yù)先設(shè)置的第一時(shí)間長(zhǎng)度的值可以根據(jù)實(shí)際業(yè)務(wù)需要來(lái)確定,比如,需要每30秒判斷一次備用路由設(shè)備的切換頻率是否過(guò)于頻繁,則可將第一時(shí)間長(zhǎng)度的值設(shè)置為30秒。
步驟305備用路由設(shè)備中的控制單元增加狀態(tài)切換的時(shí)間長(zhǎng)度。
這里,增加狀態(tài)切換的時(shí)間長(zhǎng)度可以通過(guò)包括但不限于以下方式來(lái)實(shí)現(xiàn)方式A、通過(guò)延長(zhǎng)報(bào)文接收周期來(lái)實(shí)現(xiàn)。
在方式A下,初始的報(bào)文接收周期記為T(mén),T=3×adver_interval+(255-priority)/100,其中,adver_interval為主用路由設(shè)備發(fā)送VRRP報(bào)文的周期,priority為該備用路由設(shè)備的優(yōu)先級(jí)。
因此,在方式A下,可以預(yù)先修改上述公式,在上述公式中增加一個(gè)調(diào)節(jié)因子flag,通過(guò)增加該調(diào)節(jié)因子的當(dāng)前值,從而實(shí)現(xiàn)本步驟的延長(zhǎng)報(bào)文接收周期。所述修改方式包括但不限于以下方式修改方式一、將T修改為T(mén)’,使得T’=3×adver_interval×flag+(255-priority)/100。
在修改方式一下,本步驟中所述的增加報(bào)文接收周期長(zhǎng)度的值可以是增加flag的值。比如,在備用路由設(shè)備可正常接收到主用路由設(shè)備的VRRP報(bào)文時(shí),使該flag的值為1,在本步驟中,則可增加flag的當(dāng)前值,使其大于1。
修改方式二、將T修改為T(mén)’,使得T’=3×adver_interval+flag×(255-priority)/100。
在修改方式一下,本步驟中所述的增加報(bào)文接收周期長(zhǎng)度的值可以是增加flag的值。比如,在備用路由設(shè)備可正常接收到主用路由設(shè)備的VRRP報(bào)文時(shí),使該flag的值為1,在本步驟中,則可增加flag的當(dāng)前值,使其大于1。
修改方式三、將T修改為T(mén)’,使得T’=3×adver_interval+(255-priority)/100+flag。
在修改方式三下,本步驟中所述的增加報(bào)文接收周期長(zhǎng)度的值可以是增加flag的值。比如,在備用路由設(shè)備可正常接收到主用路由設(shè)備的VRRP報(bào)文時(shí),使該flag的值為0,在本步驟中,則可增加flag的當(dāng)前值,使其大于0。
在本步驟中,由于增加調(diào)節(jié)因子flag的值,會(huì)使備用路由設(shè)備實(shí)現(xiàn)狀態(tài)切換的時(shí)間增加,因此,可能會(huì)使網(wǎng)絡(luò)通信臨時(shí)中斷的時(shí)間增加,因此,在增加調(diào)節(jié)因子flag的值時(shí),可將實(shí)際用戶可容忍的等待時(shí)間作為T(mén)’,來(lái)確定flag的最大值。
方式B、通過(guò)增加狀態(tài)切換的延遲時(shí)間來(lái)實(shí)現(xiàn)。
在該方式B下,備用路由設(shè)備中的控制單元不修改報(bào)文接收周期,而是額外增加一個(gè)狀態(tài)切換的延遲時(shí)間,記為S。
步驟306備用路由設(shè)備中的控制單元根據(jù)當(dāng)前的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換。
這里,如果在上述步驟305中,延長(zhǎng)了報(bào)文接收周期長(zhǎng)度,那么,在本步驟中,備用路由設(shè)備在修改后的報(bào)文接收周期T’內(nèi)未接收到主用路由設(shè)備發(fā)來(lái)的VRRP報(bào)文后,執(zhí)行狀態(tài)切換。并且,由于備用路由設(shè)備等待接收VRRP報(bào)文的時(shí)間則增加了,從而延長(zhǎng)了進(jìn)行狀態(tài)切換的時(shí)間,有效避免了備用路由設(shè)備頻繁地進(jìn)行狀態(tài)切換。
如果在上述步驟305中,增加了狀態(tài)切換的延遲時(shí)間S,那么,在本步驟中,在報(bào)文接收周期內(nèi)未接收到VRRP報(bào)文后,備用路由設(shè)備中的控制單元會(huì)繼續(xù)等待延遲時(shí)間S后,再進(jìn)行狀態(tài)切換,從而延長(zhǎng)了進(jìn)行狀態(tài)切換的時(shí)間,有效避免了備用路由設(shè)備頻繁地進(jìn)行狀態(tài)切換。
至此,則完成了由備用路由設(shè)備自動(dòng)實(shí)現(xiàn)避免頻繁進(jìn)行狀態(tài)切換的過(guò)程。
為了進(jìn)一步保證在備用路由設(shè)備可正常接收到VRRP報(bào)文時(shí),能夠恢復(fù)到初始的狀態(tài)切換時(shí)間長(zhǎng)度,本發(fā)明還可以進(jìn)一步包括以下步驟。
步驟307備用路由設(shè)備中的控制單元實(shí)時(shí)監(jiān)測(cè)計(jì)時(shí)器,判斷在計(jì)時(shí)器計(jì)時(shí)到達(dá)第二時(shí)間長(zhǎng)度的過(guò)程中,在每一個(gè)初始的報(bào)文接收周期內(nèi)是否均可接收到主用路由設(shè)備發(fā)來(lái)的VRRP報(bào)文,如果是,則執(zhí)行步驟308,否則,返回步驟307。
這里,如果在第二時(shí)間長(zhǎng)度內(nèi),備用路由設(shè)備中的控制單元在每一個(gè)初始的報(bào)文接收周期T=3×adver_interval+(255-priority)/100內(nèi),均可接收到主用路由設(shè)備發(fā)來(lái)的VRRP報(bào)文,備用路由設(shè)備則可確定自身接收?qǐng)?bào)文的頻率已恢復(fù)正常,則應(yīng)該執(zhí)行后續(xù)的恢復(fù)處理。
從而可以減小當(dāng)前的報(bào)文接收周期長(zhǎng)度T’的值,使其逐漸恢復(fù)其初始值T=3×adver_interval+(255-priority)/100,從而使備用路由設(shè)備恢復(fù)初始的報(bào)文接收過(guò)程。
其中,所述的第二時(shí)間長(zhǎng)度的值可以根據(jù)時(shí)間業(yè)務(wù)需要來(lái)確定,比如,需要每30秒判斷一次備用路由設(shè)備是否滿足接收?qǐng)?bào)文頻率穩(wěn)定,則可將第二時(shí)間長(zhǎng)度的值設(shè)置為30秒。
步驟308備用路由設(shè)備中的控制單元減少狀態(tài)切換時(shí)間長(zhǎng)度,根據(jù)該減少后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換。
這里,如果在步驟305中采用了方式A中的修改方式一、修改方式二或修改方式三,那么,在本步驟中,則可減小T’中調(diào)節(jié)因子的當(dāng)前值,即減小flag的當(dāng)前值,減小后的flag的當(dāng)前值大于或等于其初始值。此后,根據(jù)減小后的調(diào)節(jié)因子flag的當(dāng)前值得到T’,并根據(jù)該所得的T’執(zhí)行狀態(tài)切換。
如果在步驟305中采用了方式B,那么,在本步驟中,去除或減小所增加的狀態(tài)切換的延長(zhǎng)時(shí)間S,根據(jù)減小或去除的狀態(tài)切換延遲時(shí)間S執(zhí)行狀態(tài)切換。其中,如果是減小S,那么,備用路由設(shè)備在報(bào)文接收周期內(nèi)未接收到主用路由設(shè)備發(fā)來(lái)的VRRP報(bào)文后,在等待減小后的狀態(tài)切換延長(zhǎng)時(shí)間S后執(zhí)行狀態(tài)切換;如果是去除S,那么,備用路由設(shè)備在報(bào)文接收周期內(nèi)未接收到主用路由設(shè)備發(fā)來(lái)的VRRP報(bào)文后,直接執(zhí)行狀態(tài)切換。
在本發(fā)明中,還可以進(jìn)一步根據(jù)用戶的需要,確定是否進(jìn)行上述圖3所示的由備用路由設(shè)備自動(dòng)完成避免頻繁狀態(tài)切換的過(guò)程。也就是說(shuō),如果用戶對(duì)網(wǎng)絡(luò)通信的連續(xù)性要求較高,則可禁止備用路由設(shè)備執(zhí)行上述圖3中所示的各個(gè)處理過(guò)程,仍采用現(xiàn)有技術(shù)中的處理方式。如果用戶對(duì)網(wǎng)絡(luò)的穩(wěn)定性要求較高,則可觸發(fā)備用路由設(shè)備執(zhí)行上述圖3中所示的各個(gè)處理過(guò)程,實(shí)現(xiàn)自動(dòng)且有效避免頻繁狀態(tài)切換的過(guò)程。
在上述實(shí)施例中,對(duì)本發(fā)明的技術(shù)方案應(yīng)用于VRRP備份組時(shí)進(jìn)行了詳細(xì)說(shuō)明。在實(shí)際業(yè)務(wù)實(shí)現(xiàn)中,本發(fā)明的技術(shù)方案還可以應(yīng)用于支持其他協(xié)議的備份組,其具體實(shí)現(xiàn)過(guò)程與上述實(shí)施例所述過(guò)程的原理相同。
總之,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種避免路由設(shè)備頻繁切換狀態(tài)的方法,其特征在于,該方法包括備用路由設(shè)備判斷自身狀態(tài)切換是否出現(xiàn)異常,如果是,則增加狀態(tài)切換的時(shí)間長(zhǎng)度,并根據(jù)該增加后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述備用路由設(shè)備判斷自身狀態(tài)切換是否出現(xiàn)異常的步驟包括備用路由設(shè)備判斷在預(yù)先設(shè)定的時(shí)間長(zhǎng)度內(nèi),自身已進(jìn)行狀態(tài)切換的次數(shù)是否大于預(yù)先設(shè)置的切換次數(shù)閾值,如果大于,則確定自身狀態(tài)切換出現(xiàn)異常。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述增加狀態(tài)切換的時(shí)間長(zhǎng)度的步驟包括延長(zhǎng)報(bào)文接收周期;所述根據(jù)增加后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換的步驟包括備用路由設(shè)備在延長(zhǎng)后的報(bào)文接收周期內(nèi)未接收到主用路由設(shè)備發(fā)來(lái)的正常通知報(bào)文后,執(zhí)行狀態(tài)切換。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述延長(zhǎng)報(bào)文接收周期的步驟包括在計(jì)算報(bào)文接收周期的公式中增加調(diào)節(jié)因子,并增加該調(diào)節(jié)因子的當(dāng)前值。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在延長(zhǎng)報(bào)文接收周期之后,該方法進(jìn)一步包括備用路由設(shè)備判斷自身接收正常通知報(bào)文的頻率是否已恢復(fù)正常,如果是,則減小所述調(diào)節(jié)因子的當(dāng)前值,根據(jù)減小后的調(diào)節(jié)因子的當(dāng)前值得到報(bào)文接收周期,并根據(jù)該所得的報(bào)文接收周期執(zhí)行狀態(tài)切換,其中,減小后的調(diào)節(jié)因子的當(dāng)前值大于或等于其初始值。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述增加狀態(tài)切換的時(shí)間長(zhǎng)度的步驟包括增加狀態(tài)切換的延遲時(shí)間S;所述根據(jù)增加后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換的步驟包括備用路由設(shè)備在報(bào)文接收周期內(nèi)未接收到正常通知報(bào)文后,等待狀態(tài)切換的延遲時(shí)間S后,執(zhí)行狀態(tài)切換。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在增加狀態(tài)切換的時(shí)間長(zhǎng)度之后,該方法進(jìn)一步包括備用路由設(shè)備判斷自身接收正常通知報(bào)文的頻率是否已恢復(fù)正常,如果是,則減小或去除所述狀態(tài)切換延遲時(shí)間S的當(dāng)前值,根據(jù)減小或去除的狀態(tài)切換延遲時(shí)間S執(zhí)行狀態(tài)切換。
8.根據(jù)權(quán)利要求5或7所述的方法,其特征在于,所述備用路由設(shè)備判斷自身接收正常通知報(bào)文的頻率是否已恢復(fù)正常的步驟包括備用路由設(shè)備判斷在預(yù)先設(shè)定的時(shí)間長(zhǎng)度內(nèi),在每一個(gè)初始的報(bào)文接收周期中是否均可接收到正常通知報(bào)文,如果均可接收到,則確定自身接收正常通知報(bào)文的頻率已恢復(fù)正常。
9.一種路由設(shè)備,其特征在于,該路由設(shè)備包括控制單元、計(jì)數(shù)器和計(jì)時(shí)器,其中,控制單元,用于在路由設(shè)備進(jìn)行狀態(tài)切換時(shí),將計(jì)數(shù)器的值加1,并在監(jiān)測(cè)到計(jì)時(shí)器計(jì)時(shí)到達(dá)預(yù)先設(shè)置的第一時(shí)間長(zhǎng)度后,判斷計(jì)數(shù)器在該第一時(shí)間長(zhǎng)度內(nèi)所計(jì)數(shù)值是否大于預(yù)先設(shè)置的切換次數(shù)閾值,在判斷出大于后,增加狀態(tài)切換的時(shí)間長(zhǎng)度,根據(jù)增加后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換。
10.根據(jù)權(quán)利要求9所述的路由設(shè)備,其特征在于,所述控制單元,進(jìn)一步用于監(jiān)測(cè)在計(jì)時(shí)器計(jì)時(shí)到達(dá)預(yù)先設(shè)置的第二時(shí)間長(zhǎng)度的過(guò)程中,在每一個(gè)初始的報(bào)文接收周期內(nèi)是否均可接收到正常通知報(bào)文,在確定均可接收到后,減少狀態(tài)切換時(shí)間長(zhǎng)度,根據(jù)該減少后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換。
全文摘要
本發(fā)明公開(kāi)了一種避免路由設(shè)備頻繁切換狀態(tài)的方法和一種路由設(shè)備。該方法包括備用路由設(shè)備判斷自身是否已頻繁地進(jìn)行了狀態(tài)切換,如果是,則增加狀態(tài)切換的時(shí)間長(zhǎng)度,并根據(jù)該增加后的狀態(tài)切換時(shí)間長(zhǎng)度執(zhí)行狀態(tài)切換。本發(fā)明中的備用路由設(shè)備能夠自動(dòng)避免頻繁進(jìn)行狀態(tài)切換,大大提高了系統(tǒng)的靈活性和實(shí)用性,并降低了管理人員的維護(hù)工作量。并且,本發(fā)明可以保證備用路由設(shè)備及時(shí)發(fā)現(xiàn)頻繁狀態(tài)切換的情況,并及時(shí)進(jìn)行后續(xù)自動(dòng)延長(zhǎng)狀態(tài)切換時(shí)間的處理,大大提高了備用路由設(shè)備的穩(wěn)定性。
文檔編號(hào)H04L29/06GK1913493SQ200610109930
公開(kāi)日2007年2月14日 申請(qǐng)日期2006年8月24日 優(yōu)先權(quán)日2006年8月24日
發(fā)明者申彥昌 申請(qǐng)人:杭州華為三康技術(shù)有限公司