專利名稱:一種節(jié)約標(biāo)簽提高標(biāo)簽利用效率的部分標(biāo)簽交換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種流驅(qū)動(dòng)和控制驅(qū)動(dòng)相結(jié)合的標(biāo)簽交換方法,尤其是一種節(jié)約標(biāo)簽提高標(biāo)簽利用效率的方法,它克服了傳統(tǒng)的流驅(qū)動(dòng)(如IP switching)和控制驅(qū)動(dòng)(MPLS)各自的弊端??梢怨?jié)約有限的標(biāo)簽空間,具有較強(qiáng)的實(shí)用價(jià)值屬于通信網(wǎng)絡(luò)的技術(shù)領(lǐng)域。
背景技術(shù):
首先介紹一下什么是標(biāo)簽交換。傳統(tǒng)的分組交換網(wǎng)絡(luò)如Internet等是基于IP(Internet Protocol網(wǎng)際協(xié)議)的,也就是說(shuō)是面向無(wú)連接的。我們可以看到當(dāng)一對(duì)源地址和目的地址進(jìn)行通信的時(shí)候,會(huì)發(fā)送一系列的數(shù)據(jù)包。每一個(gè)數(shù)據(jù)包到達(dá)路由器之后路由器會(huì)根據(jù)目的地址查找轉(zhuǎn)發(fā)表確定一條路由,然后在網(wǎng)絡(luò)中逐跳轉(zhuǎn)發(fā)到目的地址。每個(gè)路由器只關(guān)心與目的地址相匹配的下一個(gè)路由器地址,就像郵局的郵遞員只負(fù)責(zé)把同一個(gè)單位的信件送到這個(gè)單位的收發(fā)室,而并不負(fù)責(zé)把信件交到每個(gè)人的手里。這就是現(xiàn)在的IP網(wǎng)絡(luò)的轉(zhuǎn)發(fā)策略。我們從圖中看到,相同源地址和目的地址的數(shù)據(jù)包所走的路線并不一樣,這要根據(jù)路由器動(dòng)態(tài)選擇(無(wú)連接網(wǎng)絡(luò)的特性)。這種策略有可能會(huì)造成一種情況源端點(diǎn)先發(fā)的數(shù)據(jù)包會(huì)后到達(dá)目的點(diǎn),這就導(dǎo)致了數(shù)據(jù)傳輸?shù)氖?,目的端要重組,從而增大了時(shí)延降低了通信的QOS(即服務(wù)質(zhì)量)。而且,在IP網(wǎng)絡(luò)中的路由器查找轉(zhuǎn)發(fā)表時(shí)所依據(jù)的IP地址采用的是最長(zhǎng)匹配,即尋找表中與數(shù)據(jù)包目的地址最匹配的表項(xiàng),這就增大了路由器的處理時(shí)延。所以人們想出了各種能夠面向連接的(即相同源和目的地址的數(shù)據(jù)包每次都采用相同的路徑傳輸),利用硬件轉(zhuǎn)發(fā)的交換方法。標(biāo)簽交換就是其中的一種。標(biāo)簽交換的原理是當(dāng)路由器收到了一個(gè)分組之后,根據(jù)目的地址和源地址的信息,在分組中打上一個(gè)定長(zhǎng)標(biāo)記(或標(biāo)簽),發(fā)送到下一個(gè)路由器,下一個(gè)路由器根據(jù)收到的定長(zhǎng)標(biāo)記值(而不是復(fù)雜的IP地址)來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)包,并替換成另一個(gè)標(biāo)記值,轉(zhuǎn)發(fā)給再下一個(gè)路由器。這里每一個(gè)入標(biāo)簽和出標(biāo)簽與轉(zhuǎn)發(fā)路徑是一一對(duì)應(yīng)的,這樣所有后續(xù)數(shù)據(jù)包就可以一直按照這條鏈路傳送數(shù)據(jù)包(只要該標(biāo)簽路徑?jīng)]有被撤銷)。如此就實(shí)現(xiàn)了面向連接的數(shù)據(jù)傳輸,同時(shí)由于標(biāo)簽是定長(zhǎng)的,就可以用硬件來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)包。提高了轉(zhuǎn)發(fā)速度,降低了處理時(shí)延。
近些年人們提出了各種基于標(biāo)簽的交換方案。其中比較有名的有IPswitching(lP.Newman and G.Minshall,“IP Switching-ATM under IP”,IEEE/ACM trans.On Networking,vol 6,pp.117-129,April 1998.),多協(xié)議標(biāo)簽交換(MPLS)([2]Bruce Davie and Jeremy Lawrence,“draft-davie-mpls-atm-01”,Internet Draft,PP.1-19,Nov 1998.[3]Eric C.Rosen and Arun Viswanathan,“draft-ietf-mpls-arch-02”Internet Draft,pp.1-59,Nov.1997.[4]L Andersson and P.Doolan,“draft-mpls-ldp-02”,Internet Draft,ppl-124,Nov.1998).和Tagswitching([5]Y.Rekhter et.al,“Cisco Systems’Tag SwitchingArchitecture Overview”,IETF RFC 2105,pp.1-13,F(xiàn)ebruary 1997.)等等。其中IP switching只能應(yīng)用在ATM(Asynchronous transfer mode異步傳輸模式)網(wǎng)絡(luò)中,它的標(biāo)簽分配是屬于流驅(qū)動(dòng)的,也就是說(shuō)每當(dāng)來(lái)一個(gè)長(zhǎng)流(這里的流是指所有具有相同源地址目的地址的數(shù)據(jù)包的集合),交換機(jī)就對(duì)其分配標(biāo)簽,而短流則仍采用第三層轉(zhuǎn)發(fā)(就是IP轉(zhuǎn)發(fā),也就是依靠查找變長(zhǎng)匹配IP地址來(lái)查找路由表,并采用找到的路由表來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)的策略);MPLS和Tag switching是屬于控制驅(qū)動(dòng)的,也就是說(shuō)交換機(jī)或路由器在消息傳遞之前利用路由表項(xiàng),配置信息等控制信息建立好標(biāo)簽通路。消息流的所有數(shù)據(jù)包都由建立好的標(biāo)簽通路轉(zhuǎn)發(fā)。當(dāng)標(biāo)簽交換被應(yīng)用到ATM網(wǎng)絡(luò)中時(shí)(如IPswitching),ATM信元中的VPI/VCI被用作為標(biāo)簽域,而ATM信元中的VPI/VCI(虛通道標(biāo)記/虛電路標(biāo)記)又是相當(dāng)緊張的一種資源。目前很多ATM交換機(jī)同時(shí)只能支持64-128K的虛電路。這相對(duì)于今天Internet上的海量的數(shù)據(jù)來(lái)說(shuō)是遠(yuǎn)遠(yuǎn)不夠的。而對(duì)于MPLS這種支持多種網(wǎng)絡(luò)的標(biāo)簽交換技術(shù)來(lái)說(shuō),其定長(zhǎng)標(biāo)簽域也是有限的(標(biāo)簽字段只有20bit)。所以,如何有效的解決相對(duì)有限的標(biāo)簽空間和越來(lái)越大的網(wǎng)絡(luò)負(fù)載之間的矛盾成為當(dāng)務(wù)之急。
現(xiàn)存的標(biāo)簽交換技術(shù),都存在一個(gè)弊端,那就是標(biāo)簽空間的不足與浪費(fèi)問(wèn)題。IP switching的可擴(kuò)展性成為該方案的最大弱點(diǎn),該方案的批評(píng)者認(rèn)為既然IP switching是為每一個(gè)源節(jié)點(diǎn)和目的節(jié)點(diǎn)綁定一條標(biāo)簽通道(即是流驅(qū)動(dòng)的),那么如果一個(gè)網(wǎng)絡(luò)有N個(gè)節(jié)點(diǎn),而每一個(gè)節(jié)點(diǎn)都要與另外的所有節(jié)點(diǎn)進(jìn)行通信,那么就需要N2條標(biāo)簽通路。顯然這時(shí)標(biāo)簽資源就會(huì)很緊張。同時(shí)其他的一些控制驅(qū)動(dòng)的標(biāo)簽交換技術(shù)(如MPLS,Tag switching)也在可擴(kuò)展性方面遭到了質(zhì)疑[1],MPLS和Tag switch基于路由表項(xiàng)而不是消息流來(lái)分配標(biāo)簽,所以在IP域內(nèi)的任何一條路由都對(duì)應(yīng)一條標(biāo)簽交換路徑(LSP)[3]。而對(duì)于實(shí)際的網(wǎng)絡(luò),比如說(shuō)Internet,我們可以斷定網(wǎng)絡(luò)中很多的路由實(shí)際上從長(zhǎng)時(shí)間的統(tǒng)計(jì)來(lái)看其平均流量是很小的。即大部分時(shí)間并沒(méi)有需要應(yīng)用這些表項(xiàng)尋路的數(shù)據(jù)包通過(guò)該路由器,我們稱這樣的路由為閑置的路由。而如果路由器還始終分配標(biāo)簽給這樣的路由表項(xiàng),那么就造成極大的浪費(fèi)。Boustead提出了一種新的標(biāo)簽交換策略,但是它需要在路由器上既安裝IP switching模塊又安裝MPLS模塊([6]PaulBoustead et.al,“Label Switching and IP version 6”,Proceedings ofIC3N’98 Lafayette USA,October 1998.)。也就是說(shuō)要對(duì)整個(gè)標(biāo)簽域內(nèi)的路由器進(jìn)行升級(jí),顯然這是不現(xiàn)實(shí)的。
由上面的背景技術(shù)的介紹可以知道,現(xiàn)在的標(biāo)簽交換技術(shù)面臨著一個(gè)標(biāo)簽空間緊張的局面。一方面標(biāo)簽空間本身就不富裕,如MPLS網(wǎng)絡(luò)中的標(biāo)簽字段只有20bit;另一方面,現(xiàn)存的技術(shù)如IP Switching和MPLS等又存在著標(biāo)簽浪費(fèi)的問(wèn)題(即很多標(biāo)簽分配下去之后,并沒(méi)有得到利用);標(biāo)簽空間不足一方面限制了網(wǎng)絡(luò)的可擴(kuò)展性,另一方面也增大了由于標(biāo)簽不夠用而產(chǎn)生的第三層轉(zhuǎn)發(fā)的數(shù)據(jù)包的數(shù)量,這與標(biāo)簽轉(zhuǎn)發(fā)方法的速度快、可靠性高等特性不相符。
發(fā)明內(nèi)容
技術(shù)問(wèn)題發(fā)明的目的是提供一種節(jié)約標(biāo)簽提高標(biāo)簽利用效率的部分標(biāo)簽交換方法,該方法既具有向后兼容性(不用大量改動(dòng)路由器軟件)又能提高標(biāo)簽利用率,提高網(wǎng)絡(luò)的可擴(kuò)展性,保證數(shù)據(jù)轉(zhuǎn)發(fā)的有效性和可靠性。
技術(shù)方案為了解決上述矛盾,我們提供了一種新的標(biāo)簽交換技術(shù)稱為部分標(biāo)簽交換(Partial Label Switching下文簡(jiǎn)稱PLS)。它基于MPLS,MPLS以路由表項(xiàng)為依據(jù)來(lái)分配標(biāo)簽,并且由于路由聚合(即可以用同一個(gè)標(biāo)簽來(lái)標(biāo)記不同的路徑,但是這些路徑在網(wǎng)絡(luò)中的大部分地方是重合的,在要分開的時(shí)候靠第三層轉(zhuǎn)發(fā)來(lái)尋路)的原因,第三層轉(zhuǎn)發(fā)的機(jī)制還必須在網(wǎng)絡(luò)路由器中存在,不能拋棄。當(dāng)在某段鏈路發(fā)生標(biāo)簽泄漏(即不存在對(duì)應(yīng)的標(biāo)簽表項(xiàng)以供使用)時(shí)還必須利用第三層轉(zhuǎn)發(fā)來(lái)保證網(wǎng)絡(luò)的穩(wěn)健性。既然網(wǎng)絡(luò)中的第三層轉(zhuǎn)發(fā)機(jī)制不可或缺,那么我們就可以更加靈活的利用它即我們規(guī)定并不是所有的路由都采取標(biāo)簽轉(zhuǎn)發(fā)的方式轉(zhuǎn)發(fā),而是僅僅對(duì)那些經(jīng)常處于活躍狀態(tài)的路由分配標(biāo)簽,而對(duì)那些并不活躍的路由采取第三層轉(zhuǎn)發(fā)的機(jī)制。各路由的活躍與否可以通過(guò)各路由器統(tǒng)計(jì)得出我們可以對(duì)每一條路由表項(xiàng)計(jì)數(shù),一條表項(xiàng)每被應(yīng)用一次就將計(jì)數(shù)器加1,同時(shí)我們周期性的計(jì)時(shí),如果在規(guī)定時(shí)間內(nèi)的一條表項(xiàng)的平均被應(yīng)用次數(shù)低于一個(gè)門限值(由具體的網(wǎng)絡(luò)來(lái)設(shè)定),就將其設(shè)為不活躍的,如果高于某個(gè)門限值,就將其設(shè)為活躍的。采用了這種策略之后,雖然有一小部分路由會(huì)用第三層轉(zhuǎn)發(fā),但仍然能夠取得比較高的效率!在Internet骨干網(wǎng)中,一個(gè)路由器的典型的路由表項(xiàng)的數(shù)目大概是40000條[8],但是如果我們用一個(gè)12000條的高速緩存來(lái)轉(zhuǎn)發(fā),我們發(fā)現(xiàn)95%的數(shù)據(jù)是可以正常發(fā)送的,只有5%的數(shù)據(jù)包的路由是高速緩存中沒(méi)有的,需要查找路由表。所以我們可以得出結(jié)論,在一個(gè)實(shí)際的網(wǎng)絡(luò)中路由器的大部分路由表項(xiàng)是處于閑置狀態(tài)的。這樣如果應(yīng)用我們的PLS的方法就可以節(jié)省很大一部分標(biāo)簽開銷,同時(shí)又提高了轉(zhuǎn)發(fā)效率(因?yàn)樵蕉嗟陌谩皹?biāo)簽轉(zhuǎn)發(fā)”網(wǎng)絡(luò)的整體效率就越高)。
該方法將流驅(qū)動(dòng)與控制驅(qū)動(dòng)相結(jié)合,依據(jù)路由表分配標(biāo)簽,使標(biāo)簽針對(duì)路由而不是源地址和目的地址而存在,同時(shí),只為活躍路由表項(xiàng)分配標(biāo)簽,在保證轉(zhuǎn)發(fā)效率降低很少的情況下,節(jié)省大量的標(biāo)簽。
其路由器的大體工作可為以下幾個(gè)步驟(1)、在路由器加電以后,所有的配置都和MPLS相同,例如維護(hù)臨接關(guān)系,通報(bào)標(biāo)簽信息等都采用MPLS的消息格式。當(dāng)系統(tǒng)加電的最初,有數(shù)據(jù)包到來(lái)時(shí)采用第三層轉(zhuǎn)發(fā)策略,即利用包的IP地址轉(zhuǎn)發(fā)數(shù)據(jù)包。
(2)、然后PLS每隔時(shí)間間隔Δ秒統(tǒng)計(jì)一次路由表項(xiàng)的忙閑(以周期Δ統(tǒng)計(jì))一類是忙的路由(busy entry),也就是說(shuō)這一類路由是經(jīng)常被用到的,一段時(shí)間內(nèi)確定是活躍的路由;另一類是閑置的路由(idle entry),也就是說(shuō)這一類路由是被偶爾用到的,在一段時(shí)間內(nèi)經(jīng)統(tǒng)計(jì)是不活躍的。對(duì)統(tǒng)計(jì)結(jié)果超過(guò)門限值的路由表項(xiàng)我們將其標(biāo)記為“活躍的”,發(fā)送標(biāo)簽更新消息給鄰節(jié)點(diǎn),對(duì)統(tǒng)計(jì)結(jié)果低于門限值的路由表項(xiàng)我們將其標(biāo)記為“不活躍的”。
(3)、隨后對(duì)于那些原來(lái)是不活躍的,現(xiàn)在變?yōu)榛钴S的表項(xiàng)申請(qǐng)標(biāo)簽,并且發(fā)送標(biāo)簽更新消息給鄰居節(jié)點(diǎn)。將那些原來(lái)是活躍的現(xiàn)在變?yōu)椴换钴S的表項(xiàng)復(fù)制到“等待替換標(biāo)簽隊(duì)列”。
(4)、隨后,當(dāng)來(lái)到一個(gè)等待轉(zhuǎn)發(fā)的數(shù)據(jù)包后,首先查看標(biāo)簽轉(zhuǎn)發(fā)表,如果有對(duì)應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)表項(xiàng),則應(yīng)用標(biāo)簽轉(zhuǎn)發(fā),如果沒(méi)有此表項(xiàng)則交給第三層來(lái)轉(zhuǎn)發(fā)。
(5)、當(dāng)發(fā)現(xiàn)了一個(gè)忙的表項(xiàng)的時(shí)候才撤銷一個(gè)相對(duì)閑的表項(xiàng)的標(biāo)簽PLS模型為每一個(gè)分配了標(biāo)簽的路由表項(xiàng)維持一個(gè)空閑計(jì)時(shí)器,當(dāng)計(jì)時(shí)器超時(shí)后該表項(xiàng)的標(biāo)簽并不是被撤銷而是被標(biāo)記為“等待替換的標(biāo)簽”而放入“等待替換標(biāo)簽”隊(duì)列;當(dāng)一個(gè)新的“忙表項(xiàng)”被發(fā)現(xiàn)(即超過(guò)門限值)時(shí),路由器會(huì)從該隊(duì)列中取出一個(gè)標(biāo)簽分配給這個(gè)忙的表項(xiàng),同時(shí)撤銷原表項(xiàng)的標(biāo)簽,并生成一條消息報(bào)告上游這個(gè)變更;另外,當(dāng)一個(gè)路由器收到了一個(gè)標(biāo)簽更新消息后則不管該消息對(duì)應(yīng)的表項(xiàng)是否是忙的,都要將這個(gè)表項(xiàng)應(yīng)用到標(biāo)簽轉(zhuǎn)發(fā)表中,并用這個(gè)標(biāo)簽更新之。這主要是為了解決與MPLS的互操作問(wèn)題。
(6)、與MPLS的互操作PLS的另外的一大特色就是可以與MPLS很好的進(jìn)行互操作,PLS利用標(biāo)準(zhǔn)的LDP(標(biāo)簽分配協(xié)議,主要負(fù)責(zé)在網(wǎng)絡(luò)中的各節(jié)點(diǎn)中通告標(biāo)簽分配情況,和建立標(biāo)簽轉(zhuǎn)發(fā)路徑之用)消息與鄰居進(jìn)行通信,當(dāng)一個(gè)MPLS路由器向一個(gè)PLS路由器分配一系列標(biāo)簽時(shí),PLS就會(huì)應(yīng)用這些標(biāo)簽,而不管這些表項(xiàng)是否是忙的,而當(dāng)一個(gè)PLS路由器向一個(gè)MPLS路由器分配標(biāo)簽時(shí),PLS只向MPLS路由器分配忙的標(biāo)簽,這更有利于MPLS路由器節(jié)省標(biāo)簽。
有益效果本發(fā)明采用流驅(qū)動(dòng)和控制驅(qū)動(dòng)相結(jié)合的方式,克服了各自的弊端,較好的解決了有限的標(biāo)簽空間和網(wǎng)絡(luò)規(guī)模不斷增長(zhǎng)之間的矛盾,可以節(jié)約有限的標(biāo)簽空間,具有較強(qiáng)的實(shí)用價(jià)值。同時(shí)本發(fā)明所涉及的標(biāo)簽轉(zhuǎn)發(fā)方法又是向后兼容的,完全可以和MPLS進(jìn)行互操作而無(wú)須大量修改路由器的軟硬件設(shè)施。對(duì)于提高現(xiàn)有網(wǎng)絡(luò)的可量測(cè)性,節(jié)約網(wǎng)絡(luò)升級(jí)成本都是非常合適的選擇。
本發(fā)明的標(biāo)簽交換技術(shù)稱為部分標(biāo)簽交換(Partial′Label Switching)。它基于MPLS,但是并不是所有的路由都采取標(biāo)簽轉(zhuǎn)發(fā)的方式轉(zhuǎn)發(fā),而是僅僅對(duì)那些經(jīng)常處于活躍狀態(tài)的路由分配標(biāo)簽,而對(duì)那些并不活躍的路由采取第三層轉(zhuǎn)發(fā)的機(jī)制。而各路由的活躍與否可以通過(guò)各路由器統(tǒng)計(jì)得出。采用了這種策略之后,雖然有一小部分路由會(huì)用第三層轉(zhuǎn)發(fā),但仍然能夠取得比較高的效率!同時(shí)達(dá)到了大量節(jié)省標(biāo)簽的效果(因?yàn)閷?shí)際網(wǎng)絡(luò)中的不活躍路由還是相對(duì)較多的)。
下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說(shuō)明。
圖1是標(biāo)簽空間的大小與轉(zhuǎn)發(fā)效率之間關(guān)系的示意圖。其中有橫坐標(biāo)為仿真觀測(cè)時(shí)間,縱坐標(biāo)是能夠利用標(biāo)簽轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā)的包的百分比,從上到下的三條曲線分別是擁有7000個(gè)標(biāo)簽的路由器能夠利用標(biāo)簽轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā)的C類地址包的百分比;擁有10000個(gè)標(biāo)簽的路由器能夠利用標(biāo)簽轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā)的C類地址包的百分比;擁有5000個(gè)標(biāo)簽的路由器能夠利用標(biāo)簽轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā)的B類地址包的百分比;圖2是PLS和IP switching轉(zhuǎn)發(fā)相同粒度數(shù)據(jù)包時(shí)的轉(zhuǎn)發(fā)效率的比較的示意圖。其中橫坐標(biāo)是觀測(cè)時(shí)間,縱坐標(biāo)是利用標(biāo)簽轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā)的包的百分比。從上到下的兩條曲線分別是PLS能夠利用標(biāo)簽轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā)包的百分比和IPswitching能夠利用標(biāo)簽轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā)的包的百分比。轉(zhuǎn)發(fā)同粒度相同標(biāo)簽空間的PLS和IP switching轉(zhuǎn)發(fā)的包的比較。PLS能夠比IP switching利用LSP多轉(zhuǎn)發(fā)大概35%的包;圖3是相同標(biāo)簽空間不同粒度的PLS和IP switching之間轉(zhuǎn)發(fā)包的轉(zhuǎn)發(fā)效率比較示意圖。其中橫坐標(biāo)是觀測(cè)時(shí)間,縱坐標(biāo)是利用標(biāo)簽轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā)的包的百分比。。PLS利用第三層轉(zhuǎn)發(fā)的包比IP switching少大概75%左右。說(shuō)明粗粒度又多節(jié)省了大概40%的標(biāo)簽。
圖4是傳統(tǒng)的分組交換網(wǎng)絡(luò)的交換方式。其中帶有數(shù)字的小方塊為數(shù)據(jù)包,2為先發(fā)送的數(shù)據(jù)塊,1為后發(fā)送的數(shù)據(jù)塊。中間的用連線連接起來(lái)的是標(biāo)簽路轉(zhuǎn)發(fā)由器??梢钥吹较劝l(fā)送的數(shù)據(jù)后到達(dá)終點(diǎn)。
圖5本發(fā)明的工作流程示意圖。
具體實(shí)施例方式
本發(fā)明的節(jié)約標(biāo)簽提高標(biāo)簽利用效率的部分標(biāo)簽交換方法在于將流驅(qū)動(dòng)與控制驅(qū)動(dòng)相結(jié)合,依據(jù)路由表分配標(biāo)簽,使標(biāo)簽針對(duì)路由而不是源地址和目的地址而存在,同時(shí),只為活躍路由表項(xiàng)分配標(biāo)簽,在保證轉(zhuǎn)發(fā)效率降低很少的情況下,節(jié)省大量的標(biāo)簽。
具體的交換方法為1)、在路由器加電以后,所有的初始化工作都和MPLS相同,即維護(hù)臨接關(guān)系、通報(bào)標(biāo)簽信息都采用MPLS的消息格式,當(dāng)系統(tǒng)加電的最初,有數(shù)據(jù)包到來(lái)時(shí)采用第三層轉(zhuǎn)發(fā)策略,即利用包的IP地址轉(zhuǎn)發(fā)數(shù)據(jù)包;2)、然后PLS每隔時(shí)間間隔Δ秒統(tǒng)計(jì)一次路由表項(xiàng)的忙閑;一類是忙的路由,即這一類路由是經(jīng)常被用到的,一段時(shí)間內(nèi)確定是活躍的路由;另一類是閑置的路由,即這一類路由是被偶爾用到的,在一段時(shí)間內(nèi)經(jīng)統(tǒng)計(jì)是不活躍的;對(duì)統(tǒng)計(jì)的結(jié)果用一個(gè)稱之為“活躍因子”的標(biāo)量來(lái)表示,對(duì)于“活躍因子”超過(guò)門限值的路由表項(xiàng)將其標(biāo)記為“活躍的”,發(fā)送標(biāo)簽更新消息給鄰節(jié)點(diǎn),對(duì)“活躍因子”低于門限值的路由表項(xiàng)我們將其標(biāo)記為“不活躍的”的;3)、隨后對(duì)于那些原來(lái)是活躍的現(xiàn)在變?yōu)椴换钴S的表項(xiàng)復(fù)制到“等待替換標(biāo)簽隊(duì)列”,4)、對(duì)于那些原來(lái)是不活躍的,現(xiàn)在變?yōu)榛钴S的表項(xiàng)申請(qǐng)標(biāo)簽,并且發(fā)送標(biāo)簽更新消息給鄰居節(jié)點(diǎn),PLS模型會(huì)在“等待替換標(biāo)簽隊(duì)列”選擇一個(gè)標(biāo)簽分配給這個(gè)活躍的表項(xiàng),同時(shí)撤銷原表項(xiàng)的標(biāo)簽,并生成一條消息報(bào)告上游這個(gè)變更;另外,當(dāng)一個(gè)路由器收到了一個(gè)標(biāo)簽更新消息后則不管該消息對(duì)應(yīng)的表項(xiàng)是否是活躍的,都要將這個(gè)表項(xiàng)應(yīng)用到標(biāo)簽轉(zhuǎn)發(fā)表中,并用這個(gè)標(biāo)簽更新之,解決與MPLS的互操作問(wèn)題;5)、當(dāng)向鄰居節(jié)點(diǎn)通報(bào)標(biāo)簽消息時(shí),PLS利用標(biāo)準(zhǔn)的“標(biāo)簽分配協(xié)議消息”與鄰居進(jìn)行通信,實(shí)現(xiàn)PLS路由器和其他的MPLS路由器進(jìn)行互操作,當(dāng)PLS路由器收到了一個(gè)MPLS路由器發(fā)過(guò)來(lái)的標(biāo)簽通告消息后,PLS就會(huì)應(yīng)用這些標(biāo)簽,而不管這些表項(xiàng)是否是忙的,而當(dāng)一個(gè)PLS路由器向相鄰的MPLS路由器通告標(biāo)簽消息時(shí),MPLS也應(yīng)用之;
6)、隨后,當(dāng)來(lái)到一個(gè)等待轉(zhuǎn)發(fā)的數(shù)據(jù)包后,首先查看標(biāo)簽轉(zhuǎn)發(fā)表,如果有對(duì)應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)表項(xiàng),則應(yīng)用標(biāo)簽轉(zhuǎn)發(fā),如果沒(méi)有此表項(xiàng)則交給第三層來(lái)轉(zhuǎn)發(fā)。
本發(fā)明的實(shí)施因不同的網(wǎng)絡(luò)背景略有差異,下面介紹一種
具體實(shí)施例方式(1)路由表項(xiàng)統(tǒng)計(jì)需要的一些參數(shù)設(shè)定我們的實(shí)現(xiàn)方法基本按照上面所述的技術(shù)方案的實(shí)現(xiàn)步驟設(shè)計(jì)。從上面的技術(shù)方案中我們看到路由器每隔時(shí)間Δ要對(duì)路由表項(xiàng)的忙閑進(jìn)行統(tǒng)計(jì)。而這種統(tǒng)計(jì)要以一定的參數(shù)作為標(biāo)準(zhǔn)。
一、統(tǒng)計(jì)間隔Δ的設(shè)定在PLS方案中這個(gè)時(shí)間間隔Δ的設(shè)置非常重要。有的時(shí)候往往需要考慮很多問(wèn)題。
一方面,如果Δ很小則可以更加迅速的對(duì)網(wǎng)絡(luò)的流量情況做出判斷,從而更多的數(shù)據(jù)包可以及時(shí)地采用標(biāo)簽來(lái)轉(zhuǎn)發(fā)。但是如果Δ太小的話則會(huì)引入過(guò)大的網(wǎng)絡(luò)延時(shí)和處理器開銷另一方面,如果Δ過(guò)大又會(huì)對(duì)網(wǎng)絡(luò)的負(fù)載情況反應(yīng)遲鈍,使得本來(lái)應(yīng)該分配標(biāo)簽利用標(biāo)簽轉(zhuǎn)發(fā)的數(shù)據(jù)包得不到標(biāo)簽(因?yàn)楸眄?xiàng)還沒(méi)有更新),從而減少了利用標(biāo)簽轉(zhuǎn)發(fā)的數(shù)據(jù)包,導(dǎo)致了網(wǎng)絡(luò)性能的下降。
在我們的實(shí)驗(yàn)環(huán)境中,通過(guò)對(duì)2秒,60秒,900秒,1800秒進(jìn)行仿真的結(jié)果看,60秒是比較理想的選擇,建議根據(jù)不同的網(wǎng)絡(luò)背景選擇30~60秒的Δ比較合適。
二、活躍程度的量化表示PLS中每次統(tǒng)計(jì)得到的路由表項(xiàng)的活躍情況必須能夠用數(shù)量來(lái)表示,這樣才能確定哪個(gè)表項(xiàng)相對(duì)于其他表項(xiàng)是活躍的。這個(gè)量化表示可以根據(jù)不同的網(wǎng)絡(luò)背景要求,有不同的標(biāo)準(zhǔn)。在我們的實(shí)驗(yàn)中我們將其設(shè)定義為活躍因子α。α越大證明該表項(xiàng)越活越。在實(shí)驗(yàn)中我們定義本次統(tǒng)計(jì)的活躍因子=(上次統(tǒng)計(jì)時(shí)得到的活躍因子)*(加權(quán)因子Q)+最近Δ時(shí)間內(nèi)收到的包的數(shù)量這個(gè)公式的物理意義是當(dāng)前統(tǒng)計(jì)的該路由表項(xiàng)的活躍程度取決于統(tǒng)計(jì)時(shí)刻之前Δ時(shí)間內(nèi)這條表項(xiàng)的負(fù)載和歷史上該表項(xiàng)的活躍程度。我們用ηNK表示第N次統(tǒng)計(jì)時(shí)刻之前Δ時(shí)間內(nèi)收到的包的數(shù)量,用αNK來(lái)表示我們第N次統(tǒng)計(jì)得到的路由表中第K個(gè)表項(xiàng)的活躍因子,則αNK的計(jì)算方式如下αNK=αN-1K*Q+ηNK(0<Q<1)]]>其中Q是加權(quán)因子,用來(lái)體現(xiàn)以往統(tǒng)計(jì)的活躍性對(duì)當(dāng)前活躍性的影響程度,可根據(jù)具體網(wǎng)絡(luò)背景進(jìn)行設(shè)定。我們?cè)趯?shí)驗(yàn)中設(shè)為0.5。
三、門限值的選擇PLS方案中另外一個(gè)重要的設(shè)置是門限值的設(shè)定。門限值受網(wǎng)絡(luò)的限制較多,一般來(lái)說(shuō),如果標(biāo)簽空間L(可供支配的標(biāo)簽數(shù)量)比較大,門限值可以低一點(diǎn)。反之可以高一點(diǎn)。同時(shí)需要網(wǎng)絡(luò)管理員離線分析歷史上的流量情況,來(lái)設(shè)定門限值。
在我們的實(shí)現(xiàn)中,考慮到網(wǎng)絡(luò)流量的突發(fā)性,我們?cè)O(shè)置兩個(gè)門限hu與hd,其中hu為上門限,當(dāng)一個(gè)“第三層轉(zhuǎn)發(fā)”的路由表項(xiàng)的活躍因子大于hu時(shí),路由器將其設(shè)置為“標(biāo)簽轉(zhuǎn)發(fā)”并分配標(biāo)簽,通報(bào)標(biāo)簽更新信息。當(dāng)一個(gè)“標(biāo)簽轉(zhuǎn)發(fā)”的路由表項(xiàng)的活躍因子小于hd時(shí),路由器將其設(shè)置為“第三層轉(zhuǎn)發(fā)”并分配標(biāo)簽,通報(bào)標(biāo)簽更新消息。而對(duì)于活躍因子在hd和hu之間的路有表項(xiàng),路由器保持其原來(lái)的狀態(tài)。采用這種方式主要是為了防止由于網(wǎng)絡(luò)流量的震蕩造成路由表項(xiàng)頻繁的在活躍與不活躍之間切換,導(dǎo)致頻繁的發(fā)送標(biāo)簽更新消息,從而影響網(wǎng)絡(luò)性能。在實(shí)驗(yàn)中我們采用hu=15,hd=5。基本上不存在震蕩了。一般來(lái)說(shuō)取下門限是上門限的1/3。會(huì)有效防止震蕩。
(2)實(shí)施步驟1、按照技術(shù)方案中的基本步驟,結(jié)合上面的分析,設(shè)定N=0,Q=0.5,Δ=60秒,hu=15,hd=5
2、系統(tǒng)加電后將以上參數(shù)設(shè)定,并且使所有表項(xiàng)均為“第三層轉(zhuǎn)發(fā)”。
3、在第(n+1)*Δ時(shí)刻,路由器利用(1)中公式統(tǒng)計(jì)各表項(xiàng),得出αNK。
4、對(duì)于“第三層轉(zhuǎn)發(fā)”的表項(xiàng),若αnk>hu]]>則將其標(biāo)記為“標(biāo)簽轉(zhuǎn)發(fā)”,并發(fā)送標(biāo)簽更新消息給鄰居節(jié)點(diǎn)。否則保持不變。
5、對(duì)于“標(biāo)簽轉(zhuǎn)發(fā)的”的表項(xiàng),若αnk<hd]]>則將其標(biāo)記為“第三層轉(zhuǎn)發(fā)”,并發(fā)送標(biāo)簽更新消息給鄰居節(jié)點(diǎn)。否則保持不變。
6、n=n+1。然后跳轉(zhuǎn)至步驟3。
權(quán)利要求
1.一種節(jié)約標(biāo)簽提高標(biāo)簽利用效率的部分標(biāo)簽交換方法,其特征在于將流驅(qū)動(dòng)與控制驅(qū)動(dòng)相結(jié)合,依據(jù)路由表分配標(biāo)簽,使標(biāo)簽針對(duì)路由而不是源地址和目的地址而存在,同時(shí),只為活躍路由表項(xiàng)分配標(biāo)簽,在保證轉(zhuǎn)發(fā)效率降低很少的情況下,節(jié)省大量的標(biāo)簽。
2.如權(quán)利要求1所述的一種節(jié)約標(biāo)簽提高標(biāo)簽利用效率的部分標(biāo)簽交換方法,其特征在于具體的交換方法為1)、在路由器加電以后,所有的初始化工作都和MPLS相同,即維護(hù)臨接關(guān)系、通報(bào)標(biāo)簽信息都采用MPLS的消息格式,當(dāng)系統(tǒng)加電的最初,有數(shù)據(jù)包到來(lái)時(shí)采用第三層轉(zhuǎn)發(fā)策略,即利用包的IP地址轉(zhuǎn)發(fā)數(shù)據(jù)包;2)、然后PLS每隔時(shí)間間隔Δ秒統(tǒng)計(jì)一次路由表項(xiàng)的忙閑;一類是忙的路由,即這一類路由是經(jīng)常被用到的,一段時(shí)間內(nèi)確定是活躍的路由;另一類是閑置的路由,即這一類路由是被偶爾用到的,在一段時(shí)間內(nèi)經(jīng)統(tǒng)計(jì)是不活躍的;對(duì)統(tǒng)計(jì)的結(jié)果用一個(gè)稱之為“活躍因子”的標(biāo)量來(lái)表示,對(duì)于“活躍因子”超過(guò)門限值的路由表項(xiàng)將其標(biāo)記為“活躍的”,發(fā)送標(biāo)簽更新消息給鄰節(jié)點(diǎn),對(duì)“活躍因子”低于門限值的路由表項(xiàng)我們將其標(biāo)記為“不活躍的”的;3)、隨后對(duì)于那些原來(lái)是活躍的現(xiàn)在變?yōu)椴换钴S的表項(xiàng)復(fù)制到“等待替換標(biāo)簽隊(duì)列”,4)、對(duì)于那些原來(lái)是不活躍的,現(xiàn)在變?yōu)榛钴S的表項(xiàng)申請(qǐng)標(biāo)簽,并且發(fā)送標(biāo)簽更新消息給鄰居節(jié)點(diǎn),PLS模型會(huì)在“等待替換標(biāo)簽隊(duì)列”選擇一個(gè)標(biāo)簽分配給這個(gè)活躍的表項(xiàng),同時(shí)撤銷原表項(xiàng)的標(biāo)簽,并生成一條消息報(bào)告上游這個(gè)變更;另外,當(dāng)一個(gè)路由器收到了一個(gè)標(biāo)簽更新消息后則不管該消息對(duì)應(yīng)的表項(xiàng)是否是活躍的,都要將這個(gè)表項(xiàng)應(yīng)用到標(biāo)簽轉(zhuǎn)發(fā)表中,并用這個(gè)標(biāo)簽更新之,解決與MPLS的互操作問(wèn)題;5)、當(dāng)向鄰居節(jié)點(diǎn)通報(bào)標(biāo)簽消息時(shí),PLS利用標(biāo)準(zhǔn)的“標(biāo)簽分配協(xié)議消息”與鄰居進(jìn)行通信,實(shí)現(xiàn)PLS路由器和其他的MPLS路由器進(jìn)行互操作,當(dāng)PLS路由器收到了一個(gè)MPLS路由器發(fā)過(guò)來(lái)的標(biāo)簽通告消息后,PLS就會(huì)應(yīng)用這些標(biāo)簽,而不管這些表項(xiàng)是否是忙的,而當(dāng)一個(gè)PLS路由器向相鄰的MPLS路由器通告標(biāo)簽消息時(shí),MPLS也應(yīng)用之;6)、隨后,當(dāng)來(lái)到一個(gè)等待轉(zhuǎn)發(fā)的數(shù)據(jù)包后,首先查看標(biāo)簽轉(zhuǎn)發(fā)表,如果有對(duì)應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)表項(xiàng),則應(yīng)用標(biāo)簽轉(zhuǎn)發(fā),如果沒(méi)有此表項(xiàng)則交給第三層來(lái)轉(zhuǎn)發(fā)。
全文摘要
本發(fā)明涉及一種流驅(qū)動(dòng)和控制驅(qū)動(dòng)相結(jié)合的部分標(biāo)簽交換方法(PLS)。它克服了傳統(tǒng)的流驅(qū)動(dòng)(如IP switching)和控制驅(qū)動(dòng)(MPLS)各自的弊端??梢怨?jié)約有限的標(biāo)簽空間,具有較強(qiáng)的實(shí)用價(jià)值。它基于MPLS,將流驅(qū)動(dòng)與控制驅(qū)動(dòng)相結(jié)合,依據(jù)路由表分配標(biāo)簽,使標(biāo)簽針對(duì)路由而不是源地址和目的地址而存在,同時(shí),只為活躍路由表項(xiàng)分配標(biāo)簽,在保證轉(zhuǎn)發(fā)效率降低很少的情況下,節(jié)省大量的標(biāo)簽。采用了這種策略之后,雖然有一小部分路由會(huì)用第三層轉(zhuǎn)發(fā),但仍然能夠取得比較高的效率,同時(shí)達(dá)到了大量節(jié)省標(biāo)簽的效果。
文檔編號(hào)H04L25/06GK1684444SQ20051003796
公開日2005年10月19日 申請(qǐng)日期2005年3月4日 優(yōu)先權(quán)日2005年3月4日
發(fā)明者王海, 陳劍 申請(qǐng)人:中國(guó)人民解放軍理工大學(xué)