專利名稱:最短路徑樹與生成樹結(jié)合的節(jié)能路由方法
技術(shù)領(lǐng)域:
綠色網(wǎng)絡(luò)
背景技術(shù):
綠色網(wǎng)絡(luò)是當(dāng)今網(wǎng)絡(luò)研究的一個(gè)重要方向,互聯(lián)網(wǎng)的巨大能耗問題以及低效能量使用問題日益凸顯。為了更加有效的利用能源,減少能量浪費(fèi),利用鏈路休眠機(jī)制實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)能的研究正在得到學(xué)術(shù)界和工業(yè)界越 來越多的關(guān)注。在一般Internet ServiceProvider(ISP)網(wǎng)絡(luò)中,為了應(yīng)對流量巔峰和潛在鏈路故障,在網(wǎng)絡(luò)搭建和升級時(shí)期,網(wǎng)絡(luò)運(yùn)營商通常會部署冗余鏈路和增大冗余鏈路帶寬,而實(shí)際日常網(wǎng)絡(luò)中大部分的時(shí)候網(wǎng)絡(luò)負(fù)載不高,導(dǎo)致鏈路平均利用率偏低,而路由器功耗相比全負(fù)荷運(yùn)行狀態(tài)并無減小。這些因素都會造成網(wǎng)絡(luò)中的能量浪費(fèi)問題。鏈路狀態(tài)路由協(xié)議是現(xiàn)在常用的域內(nèi)路由協(xié)議,該協(xié)議的路由器計(jì)算的路徑為最短路徑,由于該協(xié)議設(shè)計(jì)之初并沒有考慮到能耗等因素,導(dǎo)致了 ISP網(wǎng)絡(luò)上鏈路的利用率低,大量的能量浪費(fèi)的問題。本發(fā)明的目的在于改進(jìn)傳統(tǒng)的標(biāo)準(zhǔn)鏈路狀態(tài)路由,采用生成樹(ST spanning tree)和最短路徑樹(SPT :shortest path tree)結(jié)合的節(jié)能機(jī)制,把流量聚集到盡可能少的鏈路上,其余鏈路進(jìn)入空閑休眠狀態(tài)來達(dá)到節(jié)能。
發(fā)明內(nèi)容
本發(fā)明的目的在于用兩種不同的路徑最短路徑和生成樹路徑構(gòu)造一個(gè)新型的節(jié)能路狀態(tài)路由方法,把流量聚集到生成樹上,使得更多鏈路進(jìn)入休眠狀態(tài),實(shí)現(xiàn)節(jié)能目的的同時(shí),提高平均鏈路利用率,減少能量浪費(fèi)。本發(fā)明的特征在于1.網(wǎng)絡(luò)拓?fù)渖弦来伟匆韵虏襟E實(shí)現(xiàn)步驟(I),網(wǎng)絡(luò)拓?fù)涑跏蓟跇?biāo)準(zhǔn)鏈路狀態(tài)路由協(xié)議的基礎(chǔ)上,對其中各個(gè)路由器節(jié)點(diǎn)連接的每條鏈路上增加休眠狀態(tài);步驟(2),每個(gè)路由器節(jié)點(diǎn)周期性地檢測所有直連鏈路的負(fù)載情況,使用開放式最短路徑優(yōu)先協(xié)議OSPF本身的鏈路狀態(tài)通告機(jī)制LSA把鏈路負(fù)載信息連同鏈路狀態(tài)信息一起洪泛到網(wǎng)絡(luò)拓?fù)渖?,使得所述網(wǎng)絡(luò)拓?fù)渖系拿總€(gè)路由器節(jié)點(diǎn)均擁有完全相同的網(wǎng)絡(luò)拓?fù)湫畔⒑玩溌坟?fù)載信息;步驟(3),每個(gè)路由器節(jié)點(diǎn)根據(jù)從步驟⑵得到的結(jié)果計(jì)算自己到網(wǎng)絡(luò)拓?fù)渖掀渌我宦酚善鞴?jié)點(diǎn)的最短路徑和生成樹路徑,生成路由表,而且所有路由器節(jié)點(diǎn)的計(jì)算結(jié)果是一致的;步驟(4),所述網(wǎng)絡(luò)拓?fù)渖系拿總€(gè)路由器節(jié)點(diǎn)依據(jù)數(shù)據(jù)流經(jīng)過的路徑上鏈路負(fù)載的情況,按目的地址為每一條數(shù)據(jù)流選擇一條合適的路徑,選擇相應(yīng)路由表,并把選擇結(jié)果作為標(biāo)簽添加到數(shù)據(jù)報(bào)文的頭部,再按“目的地址+標(biāo)簽”進(jìn)行轉(zhuǎn)發(fā),根據(jù)標(biāo)簽在路由表中決定路由下一跳;
步驟(5),當(dāng)下游路由器節(jié)點(diǎn)收到由上游路由器轉(zhuǎn)發(fā)的帶有標(biāo)簽的報(bào)文后,根據(jù)標(biāo)簽選擇下一跳,按“目的地址+標(biāo)簽”的格式進(jìn)行轉(zhuǎn)發(fā);步驟¢),核心路由器節(jié)點(diǎn)接收到一個(gè)報(bào)文后,檢查轉(zhuǎn)發(fā)端的鏈路,若轉(zhuǎn)發(fā)段端路正常,則按標(biāo)簽正常轉(zhuǎn)發(fā),若發(fā)現(xiàn)轉(zhuǎn)發(fā)端的鏈路正處于休眠狀態(tài)時(shí),需要把該休眠鏈路喚醒,再將該數(shù)據(jù)報(bào)的標(biāo)簽修改為生成樹的標(biāo)簽進(jìn)行轉(zhuǎn)發(fā),直到到達(dá)目的路由器。2.根據(jù)權(quán)利要求1所述的最短路徑樹與生成樹結(jié)合的節(jié)能路由方法,其特征在于,在所述生成樹上再構(gòu)造一個(gè)供實(shí)際采用的在線子圖,其上的每一個(gè)路由器節(jié)點(diǎn)都在所述生成樹的某一個(gè)鏈路上,還要包含最少的數(shù)目的邊,以防止單鏈路失效。
本發(fā)明所提出的方法的思路在于在標(biāo)準(zhǔn)鏈路狀態(tài)路由協(xié)議的基礎(chǔ)上,對路由器節(jié)點(diǎn)所連接的每條鏈路增加休眠狀態(tài)。在給定的網(wǎng)絡(luò)拓?fù)渖现贫ㄒ粋€(gè)連通子圖,連通子圖上的鏈路始終處于工作狀態(tài),連通子圖外的其他節(jié)點(diǎn)如果持續(xù)一段時(shí)間沒有流量經(jīng)過則進(jìn)入休眠狀態(tài)。路由器通過在連通子圖上構(gòu)建一棵生成樹,將流量匯集生成樹上,使得進(jìn)入休眠的鏈路更多以達(dá)到節(jié)能的效果。本發(fā)明所提出的方法的優(yōu)點(diǎn)在于1.采用分布式算法,每個(gè)入口路由器根據(jù)搜集到的鏈路負(fù)載信息獨(dú)立進(jìn)行決策;2.能夠快速對網(wǎng)絡(luò)負(fù)載變化作出實(shí)時(shí)響應(yīng),流量在最短路徑樹和生成樹之間快速切換;3.在網(wǎng)絡(luò)節(jié)能效率和網(wǎng)絡(luò)負(fù)載彈性之間取得良好的平衡。
圖1.全局拓?fù)浜蜕蓸?連通子圖,圖L I全局拓?fù)?,圖1. 2生成樹/連通子圖(粗線部分)。圖2. “目的地址+標(biāo)簽”轉(zhuǎn)發(fā)示意圖。圖3.標(biāo)簽重置示意圖。圖4.路由協(xié)議流程圖,圖4.1路徑選擇流程圖,圖4. 2數(shù)據(jù)包轉(zhuǎn)發(fā)流程圖。
具體實(shí)施例方式如圖1.1所示,節(jié)能效率與網(wǎng)絡(luò)彈性矛盾的一個(gè)極端情況就是當(dāng)所有鏈路均處于工作狀態(tài),這時(shí)候網(wǎng)絡(luò)能耗最大,但同時(shí)也最可靠和富有彈性,能夠應(yīng)對突發(fā)流量尖峰和鏈路故障。另一個(gè)極端情況見圖1. 2是在一個(gè)包含所有節(jié)點(diǎn)的連通子圖上的所有鏈路處于工作狀態(tài),其他鏈路均處于休眠狀態(tài)。如果在線子圖取為一棵生成樹,則此時(shí)候網(wǎng)絡(luò)節(jié)能效率最高,但同時(shí)也是最脆弱的。一個(gè)考慮周全的節(jié)能路由協(xié)議應(yīng)該不僅考慮節(jié)能效率,同時(shí)應(yīng)該全面考慮網(wǎng)絡(luò)彈性和全局網(wǎng)絡(luò)性能。此外,因?yàn)殒溌窢顟B(tài)切換是基于實(shí)時(shí)流量需求,我們的節(jié)能路由協(xié)議需要能夠快速做出決策,并在全拓?fù)浞秶鷥?nèi)保持一致性。我們研究的節(jié)能路由協(xié)議主要思路是根據(jù)網(wǎng)絡(luò)實(shí)際流量負(fù)荷情況,在兩種極端情況之間實(shí)現(xiàn)盡可能平滑的切換。流量需求低的時(shí)候,盡量利用生成樹上的鏈路傳遞流量,使節(jié)能率最大化;流量需求增長的時(shí)候,逐漸地把流量從生成樹上搬移到全局拓?fù)渖?,喚醒必要的鏈路以保持網(wǎng)絡(luò)彈性和性能,直到所有流量都選取最短路,這時(shí)候協(xié)議自動(dòng)收斂到OSPF的情形。我們研究的節(jié)能路由協(xié)議的關(guān)注點(diǎn)在于使得這樣的切換盡可能的平滑,使丟包率和亂序最小化,以至于對上層協(xié)議應(yīng)用來說由于節(jié)能帶來的影響最小化。工作流程i)首先每個(gè)路由器周期性地檢測直連鏈路的負(fù)載情況,并將該鏈路負(fù)載信息連同鏈路狀態(tài)信息一起洪泛到全網(wǎng)絡(luò),可以使用OSPF本身的LSA洪泛機(jī)制實(shí)現(xiàn)。ii)至此,拓?fù)渖厦恳宦酚善骶鶕碛型耆嗤木W(wǎng)絡(luò)拓?fù)湫畔⒑玩溌坟?fù)載信息,通過拓?fù)湫畔?,路由器可以?jì)算出自己到網(wǎng)絡(luò)其他任一節(jié)點(diǎn)的最短路徑和生成樹路徑,而且由于使用的相同的拓?fù)洌y(tǒng)一的算法,所以所有路由器計(jì)算路徑結(jié)果是保持一致性的,滿足 最優(yōu)子結(jié)構(gòu)特性。iii)然后,每個(gè)入口路由器依據(jù)數(shù)據(jù)流經(jīng)過的路徑上鏈路負(fù)載狀況,為以其為入口的每一條流選擇合適的路徑,并將選擇結(jié)果作為標(biāo)簽添加到數(shù)據(jù)報(bào)文頭部,然后根據(jù)“目的地址+標(biāo)簽”進(jìn)行轉(zhuǎn)發(fā),見圖2。iv)當(dāng)下游節(jié)點(diǎn)接收到上游轉(zhuǎn)發(fā)的帶標(biāo)簽報(bào)文,直接根據(jù)“目的地址+標(biāo)簽”進(jìn)行轉(zhuǎn)發(fā)。v)當(dāng)遇到轉(zhuǎn)發(fā)端口鏈路正處于休眠狀態(tài)時(shí),為了保證流的連續(xù)性,在鏈路被喚醒期間,轉(zhuǎn)發(fā)節(jié)點(diǎn)會把數(shù)據(jù)包的標(biāo)簽重置為沿生成樹的標(biāo)簽再路徑轉(zhuǎn)發(fā),鏈路喚醒后不再進(jìn)行標(biāo)簽重置,見圖3。為提高網(wǎng)絡(luò)拓?fù)涞目煽啃?,?shí)際采用的在線子圖應(yīng)該是在生成樹的基礎(chǔ)上一定程度地增大冗余度,一種可行的方案是尋找這樣一個(gè)子圖使得每個(gè)節(jié)點(diǎn)都在某一個(gè)環(huán)上,同時(shí)包含最少數(shù)目的邊,這樣的在線子圖可以有效應(yīng)對單鏈路失效的情況。我們在3個(gè)真實(shí)的拓?fù)渖线M(jìn)行了實(shí)驗(yàn),發(fā)現(xiàn)生成樹和最短路徑樹結(jié)合的節(jié)能機(jī)制在鏈路利用率較低時(shí)可以節(jié)省209^50%的線卡消耗能量,說明本發(fā)明達(dá)到了預(yù)期的目的。
權(quán)利要求
1.最短路徑樹與生成樹結(jié)合的節(jié)能路由方法,其特征在于,網(wǎng)絡(luò)拓?fù)渖弦来伟匆韵虏襟E實(shí)現(xiàn) 步驟(I),網(wǎng)絡(luò)拓?fù)涑跏蓟跇?biāo)準(zhǔn)鏈路狀態(tài)路由協(xié)議的基礎(chǔ)上,對其中各個(gè)路由器節(jié)點(diǎn)連接的每條鏈路上增加休眠狀態(tài); 步驟(2),每個(gè)路由器節(jié)點(diǎn)周期性地檢測所有直連鏈路的負(fù)載情況,使用開放式最短路徑優(yōu)先協(xié)議OSPF本身的鏈路狀態(tài)通告機(jī)制LSA把鏈路負(fù)載信息連同鏈路狀態(tài)信息一起洪泛到網(wǎng)絡(luò)拓?fù)渖希沟盟鼍W(wǎng)絡(luò)拓?fù)渖系拿總€(gè)路由器節(jié)點(diǎn)均擁有完全相同的網(wǎng)絡(luò)拓?fù)湫畔⒑玩溌坟?fù)載信息; 步驟(3),每個(gè)路由器節(jié)點(diǎn)根據(jù)從步驟(2)得到的結(jié)果計(jì)算自己到網(wǎng)絡(luò)拓?fù)渖掀渌我宦酚善鞴?jié)點(diǎn)的最短路徑和生成樹路徑,生成路由表,而且所有路由器節(jié)點(diǎn)的計(jì)算結(jié)果是一致的; 步驟(4),所述網(wǎng)絡(luò)拓?fù)渖系拿總€(gè)路由器節(jié)點(diǎn)依據(jù)數(shù)據(jù)流經(jīng)過的路徑上鏈路負(fù)載的情況,按目的地址為每一條數(shù)據(jù)流選擇一條合適的路徑,選擇相應(yīng)路由表,并把選擇結(jié)果作為標(biāo)簽添加到數(shù)據(jù)報(bào)文的頭部,再按“目的地址+標(biāo)簽”進(jìn)行轉(zhuǎn)發(fā),根據(jù)標(biāo)簽在路由表中決定路由下一跳; 步驟(5),當(dāng)下游路由器節(jié)點(diǎn)收到由上游路由器轉(zhuǎn)發(fā)的帶有標(biāo)簽的報(bào)文后,根據(jù)標(biāo)簽選擇下一跳,按“目的地址+標(biāo)簽”的格式進(jìn)行轉(zhuǎn)發(fā); 步驟(6),核心路由器節(jié)點(diǎn)接收到一個(gè)報(bào)文后,檢查轉(zhuǎn)發(fā)端的鏈路,若轉(zhuǎn)發(fā)段端路正常,則按標(biāo)簽正常轉(zhuǎn)發(fā),若發(fā)現(xiàn)轉(zhuǎn)發(fā)端的鏈路正處于休眠狀態(tài)時(shí),需要把該休眠鏈路喚醒,再將該數(shù)據(jù)報(bào)的標(biāo)簽修改為生成樹的標(biāo)簽進(jìn)行轉(zhuǎn)發(fā),直到到達(dá)目的路由器。
2.根據(jù)權(quán)利要求1所述的最短路徑樹與生成樹結(jié)合的節(jié)能路由方法,其特征在于,在所述生成樹上再構(gòu)造一個(gè)供實(shí)際采用的在線子圖,其上的每一個(gè)路由器節(jié)點(diǎn)都在所述生成樹的某一個(gè)鏈路上,還要包含最少的數(shù)目的邊,以防止單鏈路失效。
全文摘要
最短路徑樹和生成樹結(jié)合的路由方法屬于網(wǎng)絡(luò)拓?fù)渲械募夹g(shù)領(lǐng)域,其特征在于,在標(biāo)準(zhǔn)鏈路狀態(tài)路由協(xié)議的基礎(chǔ)上,網(wǎng)絡(luò)中路由器節(jié)點(diǎn)所連接的每條鏈路增加休眠狀態(tài),在給定的網(wǎng)絡(luò)拓?fù)渖线x定一棵共享的生成樹,其上的鏈路始終處于工作狀態(tài)以確保網(wǎng)絡(luò)連通,其他不在生成樹上的鏈路若沒有流量經(jīng)過則進(jìn)入休眠狀態(tài),每個(gè)路由器保存全網(wǎng)路徑的最短路徑路由表和對應(yīng)生成樹的路由表,對于一個(gè)數(shù)據(jù)包,入口路由器根據(jù)當(dāng)前鏈路負(fù)載決定數(shù)據(jù)包采用其中一種路徑,并增加標(biāo)簽標(biāo)識,非入口路由器根據(jù)標(biāo)簽選擇相應(yīng)路由表進(jìn)行轉(zhuǎn)發(fā)。
文檔編號H04L12/751GK103023781SQ20121053993
公開日2013年4月3日 申請日期2012年12月13日 優(yōu)先權(quán)日2012年12月13日
發(fā)明者李丹, 余逸榮 申請人:清華大學(xué)