亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

Bgp路由快速收斂方法

文檔序號:7880940閱讀:2230來源:國知局
專利名稱:Bgp路由快速收斂方法
技術(shù)領(lǐng)域
本發(fā)明屬于計算機(jī)網(wǎng)絡(luò)通信領(lǐng)域,具體涉及一種BGP路由快速收斂的解決方法。
背景技術(shù)
BGP(邊界網(wǎng)關(guān)協(xié)議)作為一類EGP協(xié)議,用于自治系統(tǒng)間路由的發(fā)現(xiàn)與傳遞。BGP通過引入一系列的路由屬性(諸如ORIGIN、AS_PATH、NEXT_HOP、MULTI_EXIT_DISC、LOCAL_PREF等屬性)使其能很輕松的避免路由環(huán)路、而且還擁有豐富的路由選路策略。但正是因為引入這么多的路由屬性,BGP在向Peer(鄰居)通告路由時,就要對每一條路由進(jìn)行一系列費時的路由屬性檢查和路由屬性創(chuàng)建。如果要發(fā)送一萬條路由,就需要進(jìn)行一萬次一系列的路由屬性檢查和創(chuàng)建。然后根據(jù)屬性檢查結(jié)果和新創(chuàng)建的屬性以決定將路由發(fā)送給其他Peer或者從其他Peer撤銷。顯然要處理完這一萬條路由就需要很長的時間,從而導(dǎo)致路由收斂速度很慢。對于這個問題,目前沒有較完善的解決方案,大多通過提高CPU速率的辦法來解決。
這種情況隨著路由的增加還會加劇。一般地BGP需要傳遞的路由遠(yuǎn)大于一萬條(據(jù)統(tǒng)計目前的Intemet路由已超過十萬條,而且還會不斷的增加)。BGP作為域間網(wǎng)關(guān)協(xié)議,一般都運行在核心路由器上。如何提高BGP路由收斂速度,對于整個Intemet網(wǎng)絡(luò)的穩(wěn)定有著很重要的意義。

發(fā)明內(nèi)容
本發(fā)明克服上述BGP路由收斂速度慢的不足,提供一種BGP路由快速收斂辦法,有效提高BGP路由的收斂速度。
本發(fā)明的技術(shù)內(nèi)容一種BGP路由快速收斂辦法,對于同類路由,在向其他鄰居發(fā)送時,針對每一個鄰居只對第一條路由進(jìn)行一次路由屬性的檢查和創(chuàng)建,并將檢查的結(jié)果和創(chuàng)建的屬性放在一張檢查結(jié)果緩存表中,后續(xù)待發(fā)送的路由直接利用存放在緩存表中的檢查結(jié)果和已經(jīng)創(chuàng)建好的屬性進(jìn)行路由發(fā)送。
針對每一個鄰居創(chuàng)建一個路由緩存表,用于將屬性相同的路由一起打包發(fā)送。
本發(fā)明BGP路由快速收斂辦法的具體實現(xiàn)步驟如下1、為每個Peer創(chuàng)建兩個緩存表pstSendCache(檢查結(jié)果緩存表)和pstUpdateOutList(路由緩存表)。
pstSendCache用于保存路由屬性檢查結(jié)果和新創(chuàng)建屬性的緩存表,這個表存放了pstPeerFrom(源鄰居路由是哪個鄰居學(xué)來的)、pstOldAttr(舊屬性沒有經(jīng)過發(fā)送過程處理的屬性)、bCheckFlag(屬性檢查結(jié)果發(fā)送或不發(fā)送)以及pstNewAttr(新創(chuàng)建的屬性經(jīng)過發(fā)送過程處理后生成屬性)四個字段。
pstUpdateOutList路由緩存表,這張表存放了pstNewAttr(新創(chuàng)建的屬性經(jīng)過發(fā)送過程處理后生成屬性,這里的pstNewAttr和pstSendCache表中的pstNewAttr是相同的,即是發(fā)送過程處理中創(chuàng)建的新的屬性)、pstPacket(根據(jù)pstNewAttr和待發(fā)送路由生成的數(shù)據(jù)包,后續(xù)具有相同pstNewAttr的路由直接壓入pstPacket這個數(shù)據(jù)包一起發(fā)送)等字段。
2、路由發(fā)送時首先到pstSendCache緩存表中查找,如果找到了對應(yīng)的表項,說明可以進(jìn)行快速發(fā)送處理。根據(jù)表項中的bCheckFlag決定如何處理路由(1)如果可以發(fā)送,再到pstUpdateOutList進(jìn)行查找。如果找到相應(yīng)的表項,則直接將路由壓入表項對應(yīng)的pstPacket中。如果沒有找到,創(chuàng)建一個新的表項,然后將路由壓入到表項的pstPacket中。
(2)如果不能發(fā)送,檢查路由是否曾經(jīng)向此鄰居發(fā)送過。如果發(fā)送過,則撤銷此路由。否則忽略此路由。
3、如果在pstSendCache中沒有找到相應(yīng)的表項,則啟動普通發(fā)送流程,對路由進(jìn)行屬性檢查和創(chuàng)建。并在pstSendCache中生成相應(yīng)的表項,以備后續(xù)同類路由發(fā)送時使用。
4、pstSendCache表的更新pstSendCache默認(rèn)的大小時64,可根據(jù)需要修改。每一個加入到pstSendCache中的表項都會被賦予一個默認(rèn)的權(quán)值,而且還會隨著時間的推移自動衰減(通過定時掃描pstSendCahe表來實現(xiàn))。表項被使用一次權(quán)值就會增加,長時間不用時就會減小。當(dāng)加入到pstSendCache的表項超出了其上限時,就會把權(quán)值最低的表項刪除,將新的表項加入。這樣使pstSendCache中始終保持著最常使用的表項。
5、pstUpdateOutList中路由的發(fā)送有兩種情況可以觸發(fā)將pstUpdateOutList中的路由發(fā)出(1)隨著路由的加入,當(dāng)某個表項中的pstPacket的長度要超過4064(協(xié)議規(guī)定一個Update包中最長為4096,4096-32=4064,32是預(yù)留長度,防止再壓入一條路由后數(shù)據(jù)包長度超過協(xié)議規(guī)定的4096。即為了安全起見,一個數(shù)據(jù)包長度最多為4064)時,就將此表項從pstUpdateOutList取出,將此表項的pstPacket發(fā)送出去。
(2)同時還會啟動一個定時器,定時將pstUpdateOutList中的所有表項的pstPacket發(fā)送出去。
本發(fā)明的技術(shù)效果基于同類路由(從同一個Peer收到的、并且擁有相同的路由屬性的路由)處理方式一致的原則,通過去除BGP路由發(fā)送速度和待發(fā)送路由數(shù)量之間的線性關(guān)系,盡量減少發(fā)送過程中一系列路由屬性的檢查和創(chuàng)建,從而達(dá)到提高路由收斂速度的目的。本發(fā)明能有效的提高BGP路由的收斂速度,特別是在發(fā)送大量路由時,效果更加明顯。經(jīng)測試,采用本發(fā)明的解決方案后,收斂速度能有一到兩個數(shù)量級的提高。


圖一是本發(fā)明產(chǎn)生快速發(fā)送流程使用的pstSendCache表項處理流程;圖二是本發(fā)明的快速發(fā)送流程處理的過程。
具體實施例方式
當(dāng)配置一個Peer時,將為其創(chuàng)建一個pstSendCache(檢查結(jié)果緩存表)和一個pstUpdateOutList(路由緩存表)。同時為pstSendCache啟動一個權(quán)值維護(hù)定時器,定時衰減pstSendCache中表項的權(quán)值。還會啟動一個路由發(fā)送定時器,定期觸發(fā)路由發(fā)送。
參考圖1,下面以兩條同類路由(具有相同的pstPeerFrom和pstOldAttr的路由)的發(fā)送為例具體說明本發(fā)明的處理過程1、當(dāng)發(fā)送第一條路由時,因為是第一條路由,pstSendCache中沒有相應(yīng)的表項。所以對此路由進(jìn)行普通路由發(fā)送流程處理。
2、在普通發(fā)送流程處理中,對此路由經(jīng)過一系列的屬性檢查和創(chuàng)建。得出需要的bCheckFlalg和pstNewAttr。于是在pstSendCache中創(chuàng)建第一個表項,以備后面的同類路由(具有相同的pstPeerFrom和pstOldAttr的路由)使用。
3、根據(jù)bCheckFlag的值決定如何處理此路由(1)如果檢查結(jié)果顯示可以發(fā)送則根據(jù)pstNewAttr生成pstPacket路由更新數(shù)據(jù)包,并將路由壓入這個pstPacket。然后根據(jù)pstNewAttr和pstPacket在pstUpdateOutList中創(chuàng)建相應(yīng)的表項。如果pstPacket的長度達(dá)到或超過了設(shè)定的長度(4064)或發(fā)送定時器(每隔兩秒)觸發(fā)將路由發(fā)送出去。
(2)如果不用發(fā)送檢查此路由是否曾經(jīng)向此Peer(鄰居)發(fā)送過,如果發(fā)送過,則向此Peer發(fā)撤銷路由更新包。否則忽略此路由。
4、發(fā)送第二條路由時,參考圖2,根據(jù)此路由的pstPeerFrom和pstOldAttr到pstSendCache中查找。因為和第一條路由是同類路由,所以就會找到相應(yīng)的表項,同時增加此表項的權(quán)值,因為被使用了一次。
5、檢查此表項的bCheckFlag,決定如果處理此路由(1)如果可以發(fā)送,則根據(jù)表項的pstNewAttr到pstUpdateOutList查找相應(yīng)的表項。
A)如果找到相應(yīng)的表項,就直接將此路由壓入此表項對應(yīng)的pstPacket數(shù)據(jù)包中,等待發(fā)送。
B)如果沒有找到相應(yīng)的表項,則根據(jù)pstNewAttr生成一個路由更新數(shù)據(jù)包pstPacket,并且根據(jù)pstNewAttr和pstPacket在pstUpdateOutList中創(chuàng)建相應(yīng)的表項。
(2)如果不能發(fā)送,則檢查是否曾經(jīng)向Peer通告過路由,如果是,則向此Peer發(fā)送撤銷更新數(shù)據(jù)包。否則忽略此路由。
6、如果后面還有路由要發(fā)送(1)如果pstSendCache中的表項沒有一條是自己的同類路由通過普通發(fā)送處理過程生成的,則按上訴第一條路由的處理步驟處理。
(2)如果pstSendCache中已有相應(yīng)的表項了,則按上述第二條路由的處理步驟處理。
7、由于pstSendCache的容量有限(默認(rèn)可以存放64條表項),所以當(dāng)有新的表項要加入,如果這使得pstSendCache已滿,則就會將的權(quán)值最低的表項刪除,將新的表項加入。
8、pstSendCache的表項的權(quán)值通過一個權(quán)值定時器來維護(hù)。定時器定時掃描pstSendCache中的表項,對表項的權(quán)值進(jìn)行衰減。同時對表項進(jìn)行排序,將權(quán)值最大的表項放在pstSendCache表的最前面。因為根據(jù)統(tǒng)計學(xué)原理,連續(xù)發(fā)送的路由之間具有某種自相關(guān)特性。所以最常使用的表項就應(yīng)該放在前面,以提高查找效率。發(fā)送路由時,一個表項一旦被使用,權(quán)值就會增加。
權(quán)利要求
1.一種BGP路由快速收斂辦法,其特征在于對于同類路由,在向其他鄰居發(fā)送時,針對每一個鄰居只對第一條路由進(jìn)行一次路由屬性的檢查和創(chuàng)建,并將檢查的結(jié)果和創(chuàng)建的屬性放在一張檢查結(jié)果緩存表中,后續(xù)待發(fā)送的路由直接利用存放在該緩存表中的檢查結(jié)果和已經(jīng)創(chuàng)建好的屬性進(jìn)行路由發(fā)送。
2.如權(quán)利要求1所述的BGP路由快速收斂辦法,其特征在于針對每一個鄰居創(chuàng)建一個路由緩存表,用于將屬性相同的路由一起打包發(fā)送,當(dāng)路由根據(jù)檢查結(jié)果緩存表檢查顯示可以發(fā)送時,在路由緩存表中查找相應(yīng)的表項,如果找到,將該路由壓入此表項對應(yīng)的數(shù)據(jù)包中。
3.如權(quán)利要求1或2所述的BGP路由快速收斂辦法,其特征在于所述檢查結(jié)果緩存表存放了源鄰居、舊屬性、屬性檢查結(jié)果及新創(chuàng)建屬性四個字段。
4.如權(quán)利要求1所述的BGP路由快速收斂辦法,其特征在于如果路由在檢查結(jié)果緩存表中查找到相應(yīng)的表項時,根據(jù)檢查結(jié)果和已經(jīng)創(chuàng)建好的屬性進(jìn)行路由發(fā)送,如果在檢查結(jié)果緩存表中沒有找到相應(yīng)的表項,則啟動普通發(fā)送流程,對路由進(jìn)行屬性檢查和創(chuàng)建,并生成相應(yīng)的表項,以備后續(xù)同類路由發(fā)送時使用。
5.如權(quán)利要求2所述的BGP路由快速收斂辦法,其特征在于當(dāng)路由緩存表中的某個數(shù)據(jù)包的長度大于4064時,將與該數(shù)據(jù)包對應(yīng)的表項從路由緩存表取出,并發(fā)送該數(shù)據(jù)包。
6.如權(quán)利要求2所述的BGP路由快速收斂辦法,其特征在于啟動定時器,定時將路由緩存表中的所有表項的數(shù)據(jù)包發(fā)送出去。
7.如權(quán)利要求1所述的BGP路由快速收斂辦法,其特征在于檢查結(jié)果緩存表中的表項被賦予一個默認(rèn)的權(quán)值,當(dāng)表項每被使用一次,其權(quán)值隨之增加,同理,如表項長時間不用時,其權(quán)值減小。
8.如權(quán)利要求7所述的BGP路由快速收斂辦法,其特征在于表項的權(quán)值通過一個權(quán)值定時器來維護(hù),定時器定時對表項的權(quán)值進(jìn)行衰減,同時對表項進(jìn)行排序,將權(quán)值最大的表項放在檢查結(jié)果緩存表的最前面。
9.如權(quán)利要求7或8所述的BGP路由快速收斂辦法,其特征在于當(dāng)檢查結(jié)果緩存表已滿,將權(quán)值最低的表項刪除,新的表項加入。
全文摘要
本發(fā)明提供了一種BGP路由快速收斂方法,屬于計算機(jī)網(wǎng)絡(luò)通信領(lǐng)域,該方法是在向其他鄰居發(fā)送同類路由時,針對每一個鄰居只對第一條路由進(jìn)行一次路由屬性的檢查和創(chuàng)建,并將檢查的結(jié)果和創(chuàng)建的屬性放在一張檢查結(jié)果緩存表中,后續(xù)待發(fā)送的路由直接利用存放在緩存表中的檢查結(jié)果和已經(jīng)創(chuàng)建好的屬性進(jìn)行路由發(fā)送,并將屬性相同的路由一起打包發(fā)送。通過去除BGP路由發(fā)送速度和待發(fā)送路由數(shù)量之間的線性關(guān)系,盡量減少發(fā)送過程中一系列路由屬性的檢查和創(chuàng)建,可提高路由收斂速度,特別是在發(fā)送大量路由時,效果更加明顯。
文檔編號H04Q3/00GK1543129SQ20031010355
公開日2004年11月3日 申請日期2003年11月7日 優(yōu)先權(quán)日2003年11月7日
發(fā)明者陳國義 申請人:港灣網(wǎng)絡(luò)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1