一種抑制bgp鄰居震蕩的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及無線通信技術(shù)領(lǐng)域,尤其涉及一種抑制邊界網(wǎng)關(guān)協(xié)議(BorderGateway Protocol, BGP)鄰居震蕩的方法及裝置。
【背景技術(shù)】
[0002]BGP做為一種支持十萬甚至百萬級(jí)別的大路由的協(xié)議,在有幾百個(gè)甚至上千個(gè)鄰居的環(huán)境中,由于收發(fā)路由和路由計(jì)算的開銷十分巨大,對(duì)設(shè)備性能要求極高。用戶本著節(jié)省開支的目的,往往會(huì)采購(gòu)性能略超過實(shí)際需求的設(shè)備。在這種性能受限的用戶環(huán)境中,比較容易出現(xiàn)多鄰居同時(shí)收發(fā)計(jì)算路由的情況,導(dǎo)致設(shè)備處理能力過載,頻繁出現(xiàn)鄰居震蕩并相互傳導(dǎo),長(zhǎng)時(shí)間無法穩(wěn)定下來。
[0003]現(xiàn)有的技術(shù)多采用對(duì)BGP鄰居的建立和路由發(fā)布操作增加隨機(jī)延遲時(shí)間來盡可能錯(cuò)開多鄰居的并發(fā)處理,減少設(shè)備性能過載的幾率,然而這種方法的弊端是:隨機(jī)延遲的時(shí)間會(huì)影響正常組網(wǎng)下BGP鄰居的收斂,且該隨機(jī)延遲時(shí)間對(duì)用戶來說是不可控的,無法根據(jù)實(shí)際組網(wǎng)情況進(jìn)行優(yōu)化。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種抑制BGP鄰居震蕩的方法及裝置,用于解決BGP鄰居頻繁震蕩的技術(shù)問題。
[0005]基于本發(fā)明實(shí)施例,本發(fā)明提供了一種抑制邊界網(wǎng)關(guān)協(xié)議BGP鄰居震蕩的方法,包括:
[0006]預(yù)置BGP鄰居衰減抑制參數(shù),所述BGP鄰居衰減抑制參數(shù)包括:單次震蕩懲罰值、抑制門限值、重用門限值、衰減周期;
[0007]在與第一 BGP鄰居建立鄰居關(guān)系后,每當(dāng)與第一 BGP鄰居的鄰居關(guān)系由建立UP變?yōu)閿嚅_DOWN狀態(tài)時(shí),將第一 BGP鄰居對(duì)應(yīng)的震蕩度量值累加單次震蕩懲罰值,并啟動(dòng)衰減定時(shí)器,按衰減周期對(duì)震蕩度量值按預(yù)置的衰減函數(shù)關(guān)系進(jìn)行衰減;
[0008]在向第一 BGP鄰居發(fā)起鄰居建立請(qǐng)求之前或收到第一 BGP鄰居發(fā)起的鄰居建立請(qǐng)求時(shí),判斷第一 BGP鄰居對(duì)應(yīng)的震蕩度量值與重用門限值和抑制門限值的關(guān)系,當(dāng)震蕩度量值小于重用門限值時(shí)允許本次鄰居建立請(qǐng)求,當(dāng)震蕩度量值大于抑制門限值時(shí)禁止本次鄰居建立請(qǐng)求。
[0009]進(jìn)一步地,所述衰減函數(shù)為折半衰減函數(shù),即在每一衰減周期到時(shí),將對(duì)應(yīng)的BGP鄰居的震蕩度量值衰減到當(dāng)前值的二分之一,當(dāng)衰減后的震蕩度量值為O時(shí),終止衰減定時(shí)器。
[0010]進(jìn)一步地,所述BGP鄰居衰減抑制參數(shù)中還包括最大上限值參數(shù),當(dāng)震蕩度量值累加單次震蕩懲罰值大于最大上限值時(shí),將震蕩度量值置為最大上限值。
[0011 ] 進(jìn)一步地,所述方法還包括:
[0012]在震蕩度量值大于抑制門限時(shí),為對(duì)應(yīng)的BGP鄰居鏈路設(shè)置抑制標(biāo)記,當(dāng)震蕩度量值小于重用門限時(shí),清除抑制標(biāo)記;
[0013]所述在向第一 BGP鄰居發(fā)起鄰居建立請(qǐng)求之前或收到第一 BGP鄰居發(fā)起的鄰居建立請(qǐng)求時(shí),當(dāng)震蕩度量值大于重用門限值且小于抑制門限值,則繼續(xù)判斷是否存在抑制標(biāo)記,當(dāng)存在抑制標(biāo)記時(shí),禁止本次鄰居建立請(qǐng)求,當(dāng)不存在抑制標(biāo)記時(shí),允許本次鄰居建立請(qǐng)求。
[0014]進(jìn)一步地,所述BGP鄰居衰減抑制參數(shù)的預(yù)配置為對(duì)BGP路由設(shè)備的所有地址族生效的全局配置;所述鄰居建立請(qǐng)求為傳輸層控制協(xié)議TCP連接請(qǐng)求。
[0015]基于本發(fā)明實(shí)施例,本發(fā)明還提供一種抑制邊界網(wǎng)關(guān)協(xié)議BGP鄰居震蕩的裝置,該裝置包括:
[0016]配置模塊,用于預(yù)置BGP鄰居衰減抑制參數(shù),所述BGP鄰居衰減抑制參數(shù)包括:單次震蕩懲罰值、抑制門限值、重用門限值、衰減周期;
[0017]度量模塊,用于在與第一 BGP鄰居建立鄰居關(guān)系后,每當(dāng)與第一 BGP鄰居的鄰居關(guān)系由建立UP變?yōu)閿嚅_DOWN狀態(tài)時(shí),將第一 BGP鄰居對(duì)應(yīng)的震蕩度量值累加單次震蕩懲罰值,并啟動(dòng)衰減定時(shí)器,按衰減周期對(duì)震蕩度量值按預(yù)置的衰減函數(shù)關(guān)系進(jìn)行衰減;
[0018]抑制模塊,用于在向第一 BGP鄰居發(fā)起鄰居建立請(qǐng)求之前或收到第一 BGP鄰居發(fā)起的鄰居建立請(qǐng)求時(shí),判斷第一 BGP鄰居對(duì)應(yīng)的震蕩度量值與重用門限值和抑制門限值的關(guān)系,當(dāng)震蕩度量值小于重用門限值時(shí)允許本次鄰居建立請(qǐng)求,當(dāng)震蕩度量值大于抑制門限值時(shí)禁止本次鄰居建立請(qǐng)求。
[0019]進(jìn)一步地,所述衰減函數(shù)為折半衰減函數(shù);所述度量模塊在每一衰減周期到時(shí),將對(duì)應(yīng)的BGP鄰居的震蕩度量值衰減到當(dāng)前值的二分之一,當(dāng)衰減后的震蕩度量值為O時(shí),終止衰減定時(shí)器。
[0020]進(jìn)一步地,所述BGP鄰居衰減抑制參數(shù)中還包括最大上限值參數(shù);當(dāng)震蕩度量值累加單次震蕩懲罰值大于最大上限值時(shí),所述度量模塊將震蕩度量值置為最大上限值。
[0021]進(jìn)一步地,所述度量模塊,還用于在震蕩度量值大于抑制門限時(shí),為對(duì)應(yīng)的BGP鄰居鏈路設(shè)置抑制標(biāo)記,當(dāng)震蕩度量值小于重用門限時(shí),清除抑制標(biāo)記;
[0022]所述抑制模塊,還用于在向第一 BGP鄰居發(fā)起鄰居建立請(qǐng)求之前或收到第一 BGP鄰居發(fā)起的鄰居建立請(qǐng)求時(shí),當(dāng)震蕩度量值大于重用門限值且小于抑制門限值,則繼續(xù)判斷是否存在抑制標(biāo)記,當(dāng)存在抑制標(biāo)記時(shí),禁止本次鄰居建立請(qǐng)求,當(dāng)不存在抑制標(biāo)記時(shí),允許本次鄰居建立請(qǐng)求。
[0023]進(jìn)一步地,所述BGP鄰居衰減抑制參數(shù)的預(yù)配置為對(duì)BGP路由設(shè)備的所有地址族生效的全局配置;所述鄰居建立請(qǐng)求為傳輸層控制協(xié)議TCP連接請(qǐng)求。
[0024]由以上描述可以看出,本發(fā)明通過預(yù)置BGP鄰居衰減抑制參數(shù),對(duì)頻繁震蕩的BGP鄰居進(jìn)行鄰居重建抑制,BGP鄰居建立請(qǐng)求被抑制一段時(shí)間后,通過震蕩度量值的衰減,可再次正常建立BGP鄰居關(guān)系。本發(fā)明減少了設(shè)備并發(fā)處理的BGP鄰居數(shù)量,保證BGP所有的鄰居盡快穩(wěn)定下來。本發(fā)明提供的方法只影響頻繁震蕩的BGP鄰居,正常穩(wěn)定的BGP鄰居不會(huì)受到任何影響。用戶可以根據(jù)實(shí)際組網(wǎng)中的震蕩情況合理配置鄰居衰減參數(shù),對(duì)組網(wǎng)進(jìn)行優(yōu)化,以使已有設(shè)備獲得更高的使用率。
【附圖說明】
[0025]圖1為本發(fā)明實(shí)施例提供的一種抑制BGP鄰居震蕩的方法的步驟流程圖;
[0026]圖2為本發(fā)明實(shí)施例提供的一種抑制BGP鄰居震蕩的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0027]為使本申請(qǐng)的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖對(duì)本申請(qǐng)所述方案作進(jìn)一步地詳細(xì)說明。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請(qǐng)的一些方面相一致的裝置和方法的例子。
[0028]在本申請(qǐng)使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請(qǐng)。在本申請(qǐng)和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。
[0029]應(yīng)當(dāng)理解,盡管在本申請(qǐng)可能采用術(shù)語(yǔ)第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語(yǔ)。這些術(shù)語(yǔ)僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請(qǐng)范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語(yǔ)境,如在此所使用的詞語(yǔ)“如果”可以被解釋成為“在......時(shí)”或
“當(dāng)......時(shí)”或“響應(yīng)于確定”。
[0030]為實(shí)現(xiàn)本發(fā)明的發(fā)明目的,圖1示例了本發(fā)明實(shí)施例提供的一種抑制BGP鄰居震蕩的方法的步驟流程圖,該方法應(yīng)用在運(yùn)行BGP協(xié)議的路由設(shè)備上,具體步驟包括:
[0031]步驟101、預(yù)置BGP鄰居衰減抑制參數(shù),所述BGP鄰居衰減抑制參數(shù)包括:單次震蕩懲罰值、抑制門限值、重用門限值、衰減周期;
[0032]優(yōu)選地,所述BGP鄰居衰減抑制參數(shù)的預(yù)配置只針對(duì)單臺(tái)BGP路由設(shè)備,為對(duì)本臺(tái)BGP路由設(shè)備的所有地址族生效的全局配置。
[0033]單次震蕩懲罰值用于在BGP路由設(shè)備與鄰居之間的鏈路(以下簡(jiǎn)稱鄰居鏈路)發(fā)生震蕩(鄰居狀態(tài)由UP變?yōu)镈own)時(shí),對(duì)該鄰居鏈路的震蕩度量值進(jìn)行累加,即發(fā)生一次震蕩,就將該參數(shù)值累加到BGP路由設(shè)備所記錄的該鄰居鏈路對(duì)應(yīng)的震蕩度量值上。本發(fā)明為每一個(gè)BGP鄰居鏈路維護(hù)一個(gè)震蕩度量值,所述震蕩度量值用于反映在一段時(shí)間內(nèi)某一 BGP鄰居鏈路發(fā)生震蕩的頻率或程度,也可以理解為量化的反映BGP鄰居的穩(wěn)定性。
[0034]抑制門限值為禁止重建BGP鄰居關(guān)系的震蕩度量值上限,即當(dāng)某一 BGP鄰居鏈路對(duì)應(yīng)的震蕩度量值大于等于抑制門限值時(shí),禁止再次與該BGP鄰居建立鄰居關(guān)系。
[0035]重用門限值為允許被抑制BGP鄰居關(guān)系重建的震蕩度量值的門限,即當(dāng)某一被抑制的BGP鄰居鏈路對(duì)應(yīng)的震蕩度量值小于重用門限值時(shí),允許再次與該BGP鄰居建立鄰居關(guān)系O
[0036]衰減周期用于控制BGP鄰居鏈路對(duì)應(yīng)的震蕩度量值的衰減周期,即當(dāng)衰減周期到時(shí),對(duì)BGP鄰居鏈路對(duì)應(yīng)的震蕩度量值按預(yù)設(shè)的衰減函數(shù)關(guān)系進(jìn)行衰減(震蕩度量值隨著時(shí)間推移每時(shí)每刻都在按預(yù)設(shè)的衰減函數(shù)關(guān)系進(jìn)行衰減)。
[0037]所述BGP鄰居衰減抑制參數(shù)都為大于O的正整數(shù)。
[0038]步驟102、在與第一 BGP鄰居建立鄰居關(guān)系后,每當(dāng)與第一 BGP鄰居的鄰居關(guān)系由建立(UP)變?yōu)閿嚅_(DOWN)狀態(tài)時(shí),將第一 BGP鄰居對(duì)應(yīng)的震蕩度量值累加單次震蕩懲罰值,并啟動(dòng)衰減定時(shí)器,按衰減周期對(duì)震蕩度量值按預(yù)置的衰減函數(shù)關(guān)系進(jìn)行衰減;
[0039]當(dāng)與第一 BGP鄰居初始建立鄰居關(guān)系時(shí),為該第一 BGP鄰居初始化震蕩度量值,初始值可根據(jù)預(yù)置的衰減函數(shù)確定。
[0040]在本發(fā)明一具體實(shí)施例中,所述衰減函數(shù)為折半衰減函數(shù),即在每一衰減周期到時(shí),將對(duì)應(yīng)的BGP鄰居的震蕩度量值衰減到當(dāng)前值的二分之一,在衰減后對(duì)結(jié)果取整,震蕩度量值最小為0,當(dāng)衰減后的震蕩度量值為O時(shí),終止衰減定時(shí)器。在初始化時(shí),震蕩度量值的初始值為O。
[0041]進(jìn)一步地,本發(fā)明一實(shí)施例中,所述BGP鄰居衰減抑制參數(shù)中還包括最大上限值參數(shù),當(dāng)震蕩度量值累加單次震蕩懲罰值大于最大上限值時(shí),將震蕩度量值置為最大上限值。設(shè)置最大上限值是為限定最長(zhǎng)的懲罰時(shí)間,避免由于懲罰時(shí)間過長(zhǎng),沒有人工干預(yù)無法正?;謴?fù)正常功能。另外也可以避免震蕩度量值超出變量表達(dá)范圍后的計(jì)數(shù)值翻轉(zhuǎn)。
[0042]步驟103、在向第一 BGP鄰居發(fā)起鄰居建立請(qǐng)求之前或收