專利名稱:一種基于流量預(yù)測(cè)的啟發(fā)式路由表更新方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別是涉及IP路由器的路由表更新方法一一種基于流量預(yù)測(cè)的啟發(fā)式路由表更新方法。
背景技術(shù):
在目前的IP骨干網(wǎng)絡(luò)中,鏈路失效和網(wǎng)絡(luò)設(shè)備故障是導(dǎo)致網(wǎng)絡(luò)流量中斷的主要原因,而中斷時(shí)間的長(zhǎng)短主要取決于鏈路狀態(tài)路由協(xié)議(如:0SPF、ISIS等)的重收斂速度,通常情況下這一時(shí)間會(huì)持續(xù)幾秒甚至幾十秒,這對(duì)于網(wǎng)絡(luò)中實(shí)時(shí)業(yè)務(wù)的傳輸是一個(gè)嚴(yán)重的挑戰(zhàn)。目前許多技術(shù)被提出用以加快IP骨干網(wǎng)絡(luò)的重收斂速度,如:雙向轉(zhuǎn)發(fā)檢測(cè)(BFD)技術(shù)、自適應(yīng)計(jì)時(shí)器技術(shù)、遞增式最短路徑優(yōu)先算法等,但這些技術(shù)的使用仍無(wú)法滿足實(shí)時(shí)業(yè)務(wù)毫秒級(jí)的時(shí)延要求。因此,研究人員提出了 IP快速重路由(IP Frr)技術(shù)。這一技術(shù)能夠?yàn)镮P路由器中每條路由表項(xiàng)預(yù)先計(jì)算一條備份路由表項(xiàng),當(dāng)IP路由器檢測(cè)到鏈路失效時(shí)則立即更新到備份路由表項(xiàng)進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā),直到整個(gè)網(wǎng)絡(luò)重新收斂到正常狀態(tài)。與動(dòng)態(tài)路由協(xié)議相比,IP快速重路由技術(shù)沒(méi)有鏈路狀態(tài)通告(LSA)的產(chǎn)生和傳播過(guò)程,以及最短路徑樹的計(jì)算過(guò)程,因而能夠最大程度的降低網(wǎng)絡(luò)流量的中斷時(shí)間。雖然通過(guò)IP快速重路由技術(shù)能夠?qū)⒕W(wǎng)絡(luò)流量的中斷時(shí)間降至最低,但仍需要一定的時(shí)間來(lái)對(duì)備份路由表項(xiàng)進(jìn)行更新以實(shí)現(xiàn)其重路由功能,在這一更新過(guò)程中所產(chǎn)生的網(wǎng)絡(luò)丟包量將會(huì)直接決定網(wǎng)絡(luò)數(shù)據(jù)包的時(shí)延長(zhǎng)短,以及對(duì)網(wǎng)絡(luò)中實(shí)時(shí)業(yè)務(wù)傳輸?shù)挠绊懗潭?。由于現(xiàn)有的IP快速重路由技術(shù)只關(guān)注于如何減少路由恢復(fù)時(shí)間和避免路由循環(huán),因而很少考慮對(duì)路由表更新過(guò)程的優(yōu)化(減少網(wǎng)絡(luò)丟包量的產(chǎn)生),而目前的路由表更新機(jī)制(只按照路由表項(xiàng)的隨機(jī)生成順序進(jìn)行更新)又無(wú)法有效控制和減少網(wǎng)絡(luò)丟包的產(chǎn)生,因此,如何減少在路由表更新過(guò)程中的網(wǎng)絡(luò)丟包量成為了保障網(wǎng)絡(luò)穩(wěn)定性的關(guān)鍵。目前的路由表更新機(jī)制目前的IP路由器通常包括路由引擎和轉(zhuǎn)發(fā)引擎兩部分,其結(jié)構(gòu)如
圖1所示,其中路由引擎主要負(fù)責(zé)路由協(xié)議的管理、最短路徑的計(jì)算以及構(gòu)建和維護(hù)路由信息庫(kù)(RIB);轉(zhuǎn)發(fā)引擎則負(fù)責(zé)轉(zhuǎn)發(fā)信息庫(kù)(FIB)的更新和維護(hù),并根據(jù)FIB中的路由表項(xiàng)把接收到的網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)到相應(yīng)的網(wǎng)絡(luò)端口。當(dāng)對(duì)IP路由器中的路由表項(xiàng)進(jìn)行更新時(shí),主要是通過(guò)對(duì)轉(zhuǎn)發(fā)引擎中的FIB進(jìn)行更新和配置,具體過(guò)程包括以下兩個(gè)步驟:I)使用新的路由表項(xiàng)對(duì)FIB中相應(yīng)的路由表項(xiàng)進(jìn)行更新;2)將FIB中新的路由表項(xiàng)信息分發(fā)至線路卡(Line Card)上的本地轉(zhuǎn)發(fā)信息庫(kù)(LFIB)中。在實(shí)際的更新過(guò)程中,這兩個(gè)步驟通常是交叉進(jìn)行的,即系統(tǒng)會(huì)在更新和分發(fā)兩個(gè)進(jìn)程之間進(jìn)行交換,并通過(guò)一系列更新-分發(fā)批處理來(lái)實(shí)現(xiàn),其中每個(gè)批處理的大小是一個(gè)預(yù)設(shè)的固定值,整個(gè)更新過(guò)程如圖2所示。默認(rèn)情況下,IP路由器將按照路由表項(xiàng)的隨機(jī)生成順序進(jìn)行更新和分發(fā),由于路由表項(xiàng)生成過(guò)程的隨機(jī)性,因此這一機(jī)制在整個(gè)路由表更新過(guò)程中無(wú)法控制和減少網(wǎng)絡(luò)丟包量的產(chǎn)生。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)上述問(wèn)題提出了一種新的路由表更新算法一基于流量預(yù)測(cè)的啟發(fā)式路由表更新方法,用于減少IP路由器在路由表更新過(guò)程中產(chǎn)生的網(wǎng)絡(luò)丟包量,從而降低因路由表更新對(duì)整個(gè)網(wǎng)絡(luò)所產(chǎn)生的影響。本發(fā)明的技術(shù)構(gòu)思:由于在IP路由器中每條路由表項(xiàng)的地址前綴的不同,這使得在路由轉(zhuǎn)發(fā)過(guò)程中,對(duì)應(yīng)于每條路由表項(xiàng)的數(shù)據(jù)流量的速率都不相同。當(dāng)對(duì)多條路由表項(xiàng)進(jìn)行更新時(shí),先被更新的路由表項(xiàng)將先恢復(fù)其路由轉(zhuǎn)發(fā)功能,進(jìn)而與其對(duì)應(yīng)的數(shù)據(jù)流量也將先被恢復(fù)轉(zhuǎn)發(fā)。因此,為了保證在路由表更新過(guò)程中產(chǎn)生最小的網(wǎng)絡(luò)丟包量,更新算法應(yīng)保證數(shù)據(jù)流量較大的路由表項(xiàng)先被更新,因此需要通過(guò)流量模型來(lái)預(yù)測(cè)鏈路失效后各路由表項(xiàng)所對(duì)應(yīng)的網(wǎng)絡(luò)流量的速率,從而確定路由表項(xiàng)的更新順序。此外,在整個(gè)更新過(guò)程中,由于一次被更新的路由表項(xiàng)的數(shù)量是由批處理的大小來(lái)決定的,而固定的批處理大小并不利于路由表更新過(guò)程的優(yōu)化,因此需要設(shè)計(jì)一種啟發(fā)式算法來(lái)動(dòng)態(tài)調(diào)整每個(gè)批處理的大小,從而實(shí)現(xiàn)對(duì)整個(gè)更新過(guò)程的優(yōu)化。因此,本發(fā)明首先通過(guò)流量預(yù)測(cè)模型對(duì)IP路由器中各路由表項(xiàng)所對(duì)應(yīng)的網(wǎng)絡(luò)流量進(jìn)行預(yù)測(cè),并在此基礎(chǔ)上通過(guò)啟發(fā)式算法動(dòng)態(tài)調(diào)整路由表項(xiàng)的更新順序和更新-分發(fā)批處理的量程大小,從而實(shí)現(xiàn)在路由表更新過(guò)程中產(chǎn)生最少的網(wǎng)絡(luò)丟包量。通過(guò)使用本方法,當(dāng)網(wǎng)絡(luò)鏈路失效發(fā)生后,IP路由器能夠優(yōu)化路由表項(xiàng)的更新順序及更新時(shí)間,從而有效減少因路由表更新導(dǎo)致的網(wǎng)絡(luò)丟包量。一種基于流量預(yù)測(cè)的啟發(fā)式路由表更新方法,其特征在于,包括I)流量建模和預(yù)測(cè)步驟、2)啟發(fā)式路由表更新步驟兩部分:I)所述的流量建模和預(yù)測(cè)步驟,具體包括:
11)對(duì)IP路由器中每個(gè)路由表項(xiàng)所對(duì)應(yīng)的網(wǎng)絡(luò)流量進(jìn)行周期采樣,采樣數(shù)據(jù)為各網(wǎng)絡(luò)流量的比特率;12)使用Mallat小波分解算法對(duì)網(wǎng)絡(luò)流量的采樣數(shù)據(jù)X = IxJ進(jìn)行J層分解,分解后的結(jié)果為'~■個(gè)小波系數(shù)aj= {aj,k:r}和J個(gè)尺度系數(shù)dl = {d1 kl}, d2 = {d2,k2},…,dj =
γ 1r\
{dJjkJ} (J彡I);其中,X為網(wǎng)絡(luò)流量的比特率,η為時(shí)間序列X的長(zhǎng)度,Arl= -—,
I T kJ — 1...,,KJ=;13)對(duì)小波系數(shù)aj和尺度系數(shù)dl,d2,…,dj分別執(zhí)行小波單支重構(gòu),得到時(shí)間序列X = IxJ的低頻流量分量AJ = {AJjn}和高頻流量分量Dl = {Dljn},D2 = {D2,n},…,DJ =隊(duì)山于是有:Xi =< i彡η);其中,J為小波分解層數(shù),η為時(shí)間序列X的長(zhǎng)度;14)對(duì)低頻流量分量AJ采用ARIMA-GARCH模型進(jìn)行建模,同時(shí)對(duì)高頻流量分量Dl,D2,…,DJ分別采用GARCH模型進(jìn)行建模;15)對(duì)低頻流量分量AJ和高頻流量分量D1,D2,-,DJ分別使用ARIMA-GARCH模型和GARCH模型對(duì)未來(lái)時(shí)刻t (t > η)進(jìn)行預(yù)測(cè),并將預(yù)測(cè)結(jié)果求和得到對(duì)實(shí)際流量在未來(lái)時(shí)刻t的預(yù)測(cè)值x’t:X,t = A,j,t+D,1>t+D,2,t+...+D,j,t(t > n)⑴其中,A\,t,D’ 2jt,.",D’m分別為低頻流量分量AJ和高頻流量分量Dl,D2,…,DJ在未來(lái)時(shí)刻t的預(yù)測(cè)值;2)所述的啟發(fā)式路由表更新步驟,具體包括:21)將所有因鏈路失效而受到影響的路由表項(xiàng)加入到IP路由器的系統(tǒng)工作集中,該工作集是IP路由器系統(tǒng)分配的一段內(nèi)存空間;22)使用上述步驟I)對(duì)工作集中各路由表項(xiàng)所對(duì)應(yīng)的網(wǎng)絡(luò)流量在未來(lái)時(shí)刻t的比特率進(jìn)行預(yù)測(cè),并按照預(yù)測(cè)值減小的順序?qū)ο鄳?yīng)的路由表項(xiàng)進(jìn)行排序;23)判斷IP路由器當(dāng)前是否存在更新-分發(fā)批處理,如果不存在則轉(zhuǎn)到231),否則轉(zhuǎn)到232);231)創(chuàng)建一個(gè)更新-分發(fā)批處理并將工作集中第一個(gè)路由表項(xiàng)添加到這個(gè)更新-分發(fā)批處理中,并轉(zhuǎn)到24);232)根據(jù)當(dāng)前更新-分發(fā)批處理和工作集中的第一個(gè)路由表項(xiàng)分別計(jì)算相應(yīng)的分割損耗和擴(kuò)展損耗(說(shuō)明書解釋),如果分割損耗小于擴(kuò)展損耗則轉(zhuǎn)到2321),否則轉(zhuǎn)到
2322);2321)執(zhí) 行分割操作,并轉(zhuǎn)到24);2322)執(zhí)行擴(kuò)展操作,并轉(zhuǎn)到24);24)從工作集中刪除被添加到批處理中的路由表項(xiàng);25)如果工作集不為空則轉(zhuǎn)到22),否則執(zhí)行當(dāng)前更新-分發(fā)批處理并結(jié)束路由表更新流程。上述步驟2321)分割操作是執(zhí)行當(dāng)前更新-分發(fā)批處理,然后建立一個(gè)新的更新-分發(fā)批處理,并把工作集中第一個(gè)路由表項(xiàng)添加到這個(gè)新的更新-分發(fā)批處理中,其過(guò)程如圖3所不。上述步驟232)的分割損耗是執(zhí)行分割操作所產(chǎn)生的額外丟包損耗,所述的分割損耗的計(jì)算方法是通過(guò)分割操作所產(chǎn)生的時(shí)間延遲與當(dāng)前工作集中的路由表項(xiàng)所對(duì)應(yīng)的網(wǎng)絡(luò)流量的比特率的積分之和來(lái)表示,其表達(dá)式如下:current) 一 Σ [brifj^dt (2)
f j ^^current其中bmt是當(dāng)前更新-分發(fā)批處理,fi;..., fi+s是b—中所包含的路由表項(xiàng)所對(duì)應(yīng)的網(wǎng)絡(luò)流量,br(fi; t)為網(wǎng)絡(luò)流量fj在t時(shí)刻的比特率的預(yù)測(cè)值,a = ERT(fj,tcurrent),b = ERT(fj,teiment)+2ts,其中,teiment是系統(tǒng)當(dāng)前時(shí)間,ERT是一個(gè)路由表項(xiàng)的最早可能恢復(fù)時(shí)間,它表示了包含此路由表項(xiàng)的最小批處理的更新時(shí)間。上述步驟2322)擴(kuò)展操作是將工作集中第一個(gè)路由表項(xiàng)添加到當(dāng)前更新-分發(fā)批處理中,其過(guò)程如圖3所示;上述步驟232)的擴(kuò)展損耗是執(zhí)行擴(kuò)展操作所產(chǎn)生的額外丟包損耗,所述的擴(kuò)展損耗的計(jì)算方法是通過(guò)擴(kuò)展操作所產(chǎn)生的時(shí)間延遲與當(dāng)前批處理的路由表項(xiàng)所對(duì)應(yīng)的網(wǎng)絡(luò)流量的比特率的積分之和來(lái)表示:
權(quán)利要求
1.一種基于流量預(yù)測(cè)的啟發(fā)式路由表更新方法,其特征在于,包括I)流量建模和預(yù)測(cè)步驟、2)啟發(fā)式路由表更新步驟兩部分: 1)所述的流量建模和預(yù)測(cè)步驟,具體包括: 11)對(duì)IP路由器中每個(gè)路由表項(xiàng)所對(duì)應(yīng)的網(wǎng)絡(luò)流量進(jìn)行周期采樣,采樣數(shù)據(jù)為各網(wǎng)絡(luò)流量的比特率; 12)使用Mallat小波分解算法對(duì)網(wǎng)絡(luò)流量的采樣數(shù)據(jù)X=IxJ進(jìn)行J層分解,分解后的結(jié)果為一個(gè)小波系數(shù)aj = {aJjkJ}和J個(gè)尺度系數(shù)dl = {dljkl}, d2 = {d2,k2},..., dj ={dJjkJ} (J≥I);其中,X為網(wǎng)絡(luò)流量的比特率,η為時(shí)間序列X的長(zhǎng)度
2.根據(jù)權(quán)利要求1所述的基于流量預(yù)測(cè)的啟發(fā)式路由表更新方法,其特征在于上述步驟2321)分割操作是執(zhí)行當(dāng)前更新-分發(fā)批處理,然后建立一個(gè)新的更新-分發(fā)批處理,并把工作集中第一個(gè)路由表項(xiàng)添加到這個(gè)新的更新-分發(fā)批處理中。
3.根據(jù)權(quán)利要求1所述的基于流量預(yù)測(cè)的啟發(fā)式路由表更新方法,其特征在于上述步驟232)的分割損耗是執(zhí)行分割操作所產(chǎn)生的額外丟包損耗,所述的分割損耗的計(jì)算方法是通過(guò)分割操作所產(chǎn)生的時(shí)間延遲與當(dāng)前工作集中的路由表項(xiàng)所對(duì)應(yīng)的網(wǎng)絡(luò)流量的比特率的積分之和來(lái)表示,其表達(dá)式如下:
4.根據(jù)權(quán)利要求1所述的基于流量預(yù)測(cè)的啟發(fā)式路由表更新方法,其特征在于上述步驟2322)擴(kuò)展操作是將工作集中第一個(gè)路由表項(xiàng)添加到當(dāng)前更新-分發(fā)批處理中。
5.根據(jù)權(quán)利要求1所述的基于流量預(yù) 測(cè)的啟發(fā)式路由表更新方法,其特征在于上述步驟232)的擴(kuò)展損耗是執(zhí)行擴(kuò)展操作所產(chǎn)生的額外丟包損耗,所述的擴(kuò)展損耗的計(jì)算方法是通過(guò)擴(kuò)展操作所產(chǎn)生的時(shí)間延遲與當(dāng)前批處理bmt中的路由表項(xiàng)所對(duì)應(yīng)的網(wǎng)絡(luò)流量的比特率的積分之和來(lái)表示:
6.根據(jù)權(quán)利要求4或5所述的基于流量預(yù)測(cè)的啟發(fā)式路由表更新方法,其特征在于上述一個(gè)路由表項(xiàng)的最早恢復(fù)時(shí)間ERT的計(jì)算方法是按照下列公式計(jì)算:ERT (fj, t) = t+j (tu+td)+ts (4) 其中tu是一個(gè)路由表項(xiàng)的更新時(shí)間,td是一個(gè)路由表項(xiàng)的分發(fā)時(shí)間,ts是更新過(guò)程和分發(fā)過(guò)程之間的交換時(shí)間,j是在t時(shí)刻與網(wǎng)絡(luò)流量fj相關(guān)的路由表項(xiàng)在更新-分發(fā)批處理中的位置。
全文摘要
本發(fā)明涉及IP路由器的路由表更新方法。屬于計(jì)算機(jī)網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,該方法包括首先使用流量預(yù)測(cè)模型對(duì)IP路由器中各路由表項(xiàng)所對(duì)應(yīng)的網(wǎng)絡(luò)流量進(jìn)行建模和預(yù)測(cè);然后在此基礎(chǔ)上使用啟發(fā)式算法以流量比特率降低的順序?yàn)橄鄳?yīng)需要更新的路由表項(xiàng)進(jìn)行排序,同時(shí)實(shí)時(shí)計(jì)算和比較分割操作和擴(kuò)展操作所產(chǎn)生的額外丟包損耗,并動(dòng)態(tài)調(diào)整每個(gè)更新-分發(fā)批處理的量程大小,直到所有需要更新的路由表項(xiàng)被更新。本發(fā)明克服了傳統(tǒng)路由表更新機(jī)制的缺點(diǎn),具有較低的運(yùn)算復(fù)雜度和廣闊的應(yīng)用前景。
文檔編號(hào)H04L12/757GK103200104SQ20131007661
公開(kāi)日2013年7月10日 申請(qǐng)日期2013年2月16日 優(yōu)先權(quán)日2013年2月16日
發(fā)明者時(shí)鴻濤, 宮麗寧, 牟肖光 申請(qǐng)人:青島農(nóng)業(yè)大學(xué)