Trill廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法及系統(tǒng),涉及通信技術(shù)中的TRILL領(lǐng)域。該方法包括以下步驟:RB設(shè)備選舉DRB設(shè)備,在DRB設(shè)備上設(shè)置重傳定時(shí)器;DRB設(shè)備獲取TRILL網(wǎng)絡(luò)的拓?fù)湫畔?;DRB設(shè)備將含有分發(fā)樹信息的CSNP報(bào)文廣播至TRILL網(wǎng)絡(luò)中;啟動(dòng)DRB設(shè)備的重傳定時(shí)器;RB設(shè)備在TRILL網(wǎng)絡(luò)中收到當(dāng)前CSNP報(bào)文后,向DRB返回PSNP報(bào)文;若DRB收到返回的PSNP報(bào)文,所有RB設(shè)備按照當(dāng)前分發(fā)樹信息進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā);否則DRB設(shè)備重新向未返回PSNP報(bào)文的RB設(shè)備發(fā)送CSNP報(bào)文。本發(fā)明能夠顯著縮短鏈路收斂時(shí)間,不僅能夠提高網(wǎng)絡(luò)轉(zhuǎn)發(fā)效率,而且能夠減低降低TRILL網(wǎng)絡(luò)的部署成本。
【專利說(shuō)明】TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)中的TRILL (Transparent interconnect1n of Lots ofLinks,多鏈接透明互聯(lián))領(lǐng)域,具體涉及一種TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法及系統(tǒng)。
【背景技術(shù)】
[0002]傳統(tǒng)二層網(wǎng)絡(luò)(L2)通過(guò)STP處理網(wǎng)絡(luò)拓?fù)洵h(huán)路,STP(Spanning Tree Protocol,生成樹協(xié)議)的工作方法為:通過(guò)阻止端口,所有的冗余鏈路不進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。該工作方法雖然能夠解決二層數(shù)據(jù)環(huán)路的問(wèn)題,但是造成了帶寬資源的浪費(fèi);與此同時(shí),在網(wǎng)絡(luò)拓?fù)渥兓那闆r下,STP的收斂速度較慢,難以滿足數(shù)據(jù)中心業(yè)務(wù)的高可靠性要求。因此,STP已經(jīng)不再適合融合網(wǎng)絡(luò)或超大型數(shù)據(jù)中心的擴(kuò)展;為了解決STP使用時(shí)存在的問(wèn)題,TRILL應(yīng)運(yùn)而生。
[0003]2004年5月,互聯(lián)網(wǎng)工程任務(wù)提出TRILL技術(shù),TRILL將成熟的三層路由控制算法ISIS (Intermediate System to Intermediate System,中間系統(tǒng)到中間系統(tǒng)協(xié)議)應(yīng)用至二層網(wǎng)絡(luò)、并認(rèn)知網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),具體方法為:將原先的L2報(bào)文添加新的封裝(隧道封裝)后,轉(zhuǎn)換至新地址空間、并進(jìn)行轉(zhuǎn)發(fā)。由于新地址的路由屬性與IP類似,因此采用新地址空間轉(zhuǎn)發(fā)能夠規(guī)避STP/MSTP (MSTP (Multiple Spanning Tree Protocol,多生成樹協(xié)議)等技術(shù)的缺陷,進(jìn)而實(shí)現(xiàn)強(qiáng)壯的大規(guī)模二層組網(wǎng)。
[0004]RB (Route Bridge,路由交換機(jī)或路由橋)是運(yùn)行TRILL協(xié)議的交換機(jī),即具有路由轉(zhuǎn)發(fā)設(shè)備的網(wǎng)橋設(shè)備,由RB構(gòu)建的網(wǎng)絡(luò)稱為TRILL campus。參見圖1所示,RB在TRILLcampus中使用時(shí)的路由計(jì)算方法包括以下步驟:
[0005]SlOl:所有RB設(shè)備相互發(fā)送Hello報(bào)文建立鄰接關(guān)系、并選舉DRB設(shè)備,所有的RB設(shè)備將LSP報(bào)文(Link State Protocol,鏈路狀態(tài)協(xié)議報(bào)文)發(fā)送給DRB (DesignatedRoute Bridge,指定路由橋)設(shè)備,當(dāng)某RB設(shè)備的LSP報(bào)文發(fā)生更新時(shí),RB設(shè)備將更新的LSP報(bào)文打上廣播頭在TRILL網(wǎng)絡(luò)中廣播,DRB設(shè)備接收到LSP報(bào)文后對(duì)比自己的鏈路狀態(tài)數(shù)據(jù)庫(kù)決定是否更新LSP報(bào)文。
[0006]S102 =DRB 設(shè)備更新 LSDB (Link State Datebase,鏈路狀態(tài)數(shù)據(jù)庫(kù)),當(dāng) CSNP 報(bào)文定時(shí)器超時(shí)后,將CSNP報(bào)文(Complete Sequence Number F1DU,完全序列號(hào)報(bào)文)在TRILL網(wǎng)絡(luò)中廣播。
[0007]S103:收到CSNP報(bào)文的RB設(shè)備對(duì)比自己的LSDB,若有需要更新的部分,則向DRB設(shè)備發(fā)送PSNP報(bào)文(Partial Sequence Number F1DU,部分序列號(hào)報(bào)文)請(qǐng)求需更新的部分。
[0008]S104:收到PSNP報(bào)文的DRB設(shè)備向請(qǐng)求的RB設(shè)備發(fā)送LSP報(bào)文,其中LSP報(bào)文中包含此RB設(shè)備請(qǐng)求的部分鏈路狀態(tài)信息,鏈路狀態(tài)數(shù)據(jù)庫(kù)達(dá)成一致后,各RB分別根據(jù)自己的鏈路狀態(tài)數(shù)據(jù)庫(kù)采用最短路徑優(yōu)先算法計(jì)算路由。
[0009]在廣播鏈路中,未知單播報(bào)文、組播報(bào)文和廣播報(bào)文的分發(fā)均需要通過(guò)分發(fā)樹實(shí)現(xiàn)報(bào)文的轉(zhuǎn)發(fā)。分發(fā)樹的計(jì)算過(guò)程如下:當(dāng)網(wǎng)絡(luò)中各鏈路狀態(tài)數(shù)據(jù)庫(kù)收斂后,先根據(jù)nickname攜帶的根優(yōu)先級(jí)選舉一個(gè)root RB (根優(yōu)先級(jí)最高的nickname標(biāo)示的RB), rootRB能夠在LSP中發(fā)布nickname列表指定分發(fā)樹樹根。nickname列表若未指定分發(fā)樹樹根,則以根優(yōu)先級(jí)最高的n(在LSP中攜帶了分發(fā)樹計(jì)算數(shù)量的信息,root RB希望整網(wǎng)計(jì)算的分發(fā)樹的數(shù)量與網(wǎng)絡(luò)中各RB支持的最多能計(jì)算的分發(fā)樹數(shù)量中的最小值)個(gè)RB為分發(fā)樹的樹根。各RB分別以η個(gè)分發(fā)樹樹根為源節(jié)點(diǎn),計(jì)算整網(wǎng)其它所有節(jié)點(diǎn)的最短路徑樹。由于LSDB在全網(wǎng)絡(luò)中是同步的,因此在分發(fā)樹樹根確定的情況下,各RB設(shè)備基于最短路徑優(yōu)先算法計(jì)算出的分發(fā)樹是相同的。
[0010]但是,每臺(tái)RB設(shè)備分別計(jì)算分發(fā)樹消息,會(huì)浪費(fèi)大量的CPU資源,與此同時(shí),鏈路鏈接狀態(tài)發(fā)生變化時(shí),變化的RB設(shè)備需向DRB設(shè)備發(fā)送LSP報(bào)文通報(bào)鏈路變化情況,DRB設(shè)備等待CSNP定時(shí)器超時(shí)后生成新的CSNP報(bào)文廣播給鏈路上所有RB設(shè)備,RB設(shè)備收到的CSNP報(bào)文后對(duì)比自己的鏈路狀態(tài)數(shù)據(jù)庫(kù)。部分需更新的RB設(shè)備向DRB設(shè)備發(fā)送PSNP報(bào)文,DRB設(shè)備收到請(qǐng)求報(bào)文后返回相應(yīng)的鏈路狀態(tài)協(xié)議報(bào)文LSP,使鏈路上RB維護(hù)的鏈路狀態(tài)數(shù)據(jù)庫(kù)收斂,收斂過(guò)程中需要傳送大量的LSP報(bào)文,不僅浪費(fèi)大量的鏈路帶寬資源,而且延長(zhǎng)了收斂時(shí)間。
【發(fā)明內(nèi)容】
[0011]針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法及系統(tǒng),本發(fā)明能夠顯著縮短鏈路收斂時(shí)間,降低TRILL網(wǎng)絡(luò)對(duì)RB設(shè)備的CPU要求,不僅能夠提高網(wǎng)絡(luò)轉(zhuǎn)發(fā)效率,而且能夠減低降低TRILL網(wǎng)絡(luò)的部署成本。
[0012]為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是:一種TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法,多鏈接透明互聯(lián)TRILL網(wǎng)絡(luò)中的每條鏈路上均設(shè)置有多個(gè)路由交換機(jī)RB設(shè)備,所述TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法包括以下步驟:
[0013]Α、所有的RB設(shè)備選舉出指定路由橋DRB設(shè)備,在DRB設(shè)備上設(shè)置重傳定時(shí)器;DRB設(shè)備獲取TRILL網(wǎng)絡(luò)的拓?fù)湫畔ⅲ?br>
[0014]B、DRB設(shè)備計(jì)算分發(fā)樹信息;DRB設(shè)備將分發(fā)樹信息填入完全序列號(hào)CSNP報(bào)文的擴(kuò)展TLV中、并將當(dāng)前CSNP報(bào)文廣播至TRILL網(wǎng)絡(luò)中;設(shè)置重傳定時(shí)器的重傳時(shí)間,啟動(dòng)DRB設(shè)備的重傳定時(shí)器;
[0015]C、RB設(shè)備在TRILL網(wǎng)絡(luò)中收到當(dāng)前CSNP報(bào)文后,向DRB返回用于確認(rèn)的部分序列號(hào)PSNP報(bào)文;
[0016]D、在重傳時(shí)間內(nèi),判斷DRB是否收到返回的PSNP報(bào)文,若是,轉(zhuǎn)到步驟E ;否則DRB設(shè)備向未返回PSNP報(bào)文的RB設(shè)備重新發(fā)送當(dāng)前CSNP報(bào)文、并重新啟動(dòng)重傳定時(shí)器,再次執(zhí)行步驟C ;
[0017]E、所有RB設(shè)備按照當(dāng)前CSNP報(bào)文中的分發(fā)樹信息進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
[0018]在上述方案的基礎(chǔ)上,步驟A中所有RB設(shè)備選舉出DRB設(shè)備包括以下步驟:所有RB設(shè)備相互發(fā)送Hello報(bào)文建立鄰接關(guān)系、并選舉DRB設(shè)備。
[0019]在上述方案的基礎(chǔ)上,步驟A中所述DRB設(shè)備獲取TRILL網(wǎng)絡(luò)的拓?fù)湫畔ㄒ韵虏襟E:所有的RB設(shè)備將各自的鏈路狀態(tài)協(xié)議LSP報(bào)文發(fā)送至DRB設(shè)備,DRB設(shè)備將所有收到的LSP報(bào)文進(jìn)行匯總,得到TRILL網(wǎng)絡(luò)的拓?fù)湫畔ⅰ?br>
[0020]在上述方案的基礎(chǔ)上,步驟A與步驟B之間包括以下步驟:當(dāng)任意RB設(shè)備的LSP報(bào)文發(fā)生更新時(shí),當(dāng)前RB設(shè)備將更新的LSP報(bào)文打上廣播頭后,在TRILL網(wǎng)絡(luò)中廣播;DRB設(shè)備接收到打上廣播頭的LSP報(bào)文后,將當(dāng)前LSP報(bào)文與自身的鏈路狀態(tài)數(shù)據(jù)庫(kù)LSDB進(jìn)行比對(duì)、并決定是否根據(jù)當(dāng)前LSP報(bào)文更新LSDB ;若決定需要更新當(dāng)前LSDB,則更新當(dāng)前LSDB,轉(zhuǎn)到步驟B ;若決定保持當(dāng)前LSDB,則直接轉(zhuǎn)到步驟B。
[0021]在上述方案的基礎(chǔ)上,所述將當(dāng)前LSP報(bào)文與自身的LSDB進(jìn)行比對(duì)、并決定是否根據(jù)當(dāng)前LSP報(bào)文更新LSDB包括以下步驟:
[0022]當(dāng)前LSDB是否存儲(chǔ)有與當(dāng)前LSP報(bào)文對(duì)應(yīng)的本地LSP報(bào)文,若否,則需要更新當(dāng)前LSDB ;否則將本地LSP報(bào)文的本地LSP序列號(hào)與當(dāng)前LSP報(bào)文的當(dāng)前LSP序列號(hào)進(jìn)行比較:
[0023]若當(dāng)前LSP序列號(hào)大于本地LSP序列號(hào),則需要更新當(dāng)前LSDB ;
[0024]若當(dāng)前LSP序列號(hào)小于本地LSP序列號(hào),則決定保持當(dāng)前LSDB ;
[0025]若當(dāng)前LSP序列號(hào)等于本地LSP序列號(hào),則將當(dāng)前LSP報(bào)文的當(dāng)前剩余生存時(shí)間與本地LSP報(bào)文的本地剩余生存時(shí)間進(jìn)行比較:
[0026]若當(dāng)前剩余生存時(shí)間大于本地剩余生存時(shí)間,則決定保持當(dāng)前LSDB ;
[0027]若當(dāng)前剩余生存時(shí)間小于本地剩余生存時(shí)間,則需要更新當(dāng)前LSDB ;
[0028]若當(dāng)前剩余生存時(shí)間等于本地剩余生存時(shí)間,則將當(dāng)前LSP報(bào)文的當(dāng)前校驗(yàn)和與本地LSP報(bào)文的本地校驗(yàn)和進(jìn)行比較,若當(dāng)前校驗(yàn)和大于本地校驗(yàn)和,則需要更新當(dāng)前LSDB,否則決定保持當(dāng)前LSDB。
[0029]在上述方案的基礎(chǔ)上,步驟B中所述DRB設(shè)備計(jì)算分發(fā)樹信息包括以下步驟:DRB設(shè)備根據(jù)LSDB和最短路徑優(yōu)先算法計(jì)算分發(fā)樹信息。
[0030]一種實(shí)現(xiàn)權(quán)利要求上述方法的TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算系統(tǒng),包括獲取模塊、計(jì)算模塊、返回信息發(fā)送模塊、返回確認(rèn)模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊;
[0031]所述獲取模塊用于:所有的RB設(shè)備選舉出DRB設(shè)備,在DRB設(shè)備上設(shè)置重傳定時(shí)器;DRB設(shè)備獲取TRILL網(wǎng)絡(luò)的拓?fù)湫畔?;向?jì)算模塊發(fā)送計(jì)算信號(hào);
[0032]所述計(jì)算模塊用于:收到計(jì)算信號(hào)后,控制DRB設(shè)備計(jì)算分發(fā)樹信息;DRB設(shè)備將分發(fā)樹信息填入CSNP報(bào)文的擴(kuò)展TLV中、并將當(dāng)前CSNP報(bào)文廣播至TRILL網(wǎng)絡(luò)中;設(shè)置重傳定時(shí)器的重傳時(shí)間,啟動(dòng)DRB設(shè)備的重傳定時(shí)器;向返回信息發(fā)送模塊發(fā)送返回信號(hào);
[0033]所述返回信息發(fā)送模塊用于:收到返回信號(hào)后,控制RB設(shè)備在TRILL網(wǎng)絡(luò)中收到當(dāng)前CSNP報(bào)文后,向DRB返回用于確認(rèn)的PSNP報(bào)文;向返回確認(rèn)模塊發(fā)送返回確認(rèn)信號(hào);
[0034]返回確認(rèn)模塊用于:收到返回確認(rèn)信號(hào)后,在重傳時(shí)間內(nèi),判斷DRB是否收到返回的PSNP報(bào)文,若是,向數(shù)據(jù)轉(zhuǎn)發(fā)模塊發(fā)送數(shù)據(jù)轉(zhuǎn)發(fā)信號(hào);否則DRB設(shè)備向未返回PSNP報(bào)文的RB設(shè)備重新發(fā)送當(dāng)前CSNP報(bào)文、并重新啟動(dòng)重傳定時(shí)器,向返回信息發(fā)送模塊發(fā)送返回信號(hào);
[0035]所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊用于:收到數(shù)據(jù)轉(zhuǎn)發(fā)信號(hào)后,所有RB設(shè)備按照當(dāng)前CSNP報(bào)文中的分發(fā)樹信息進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
[0036]在上述方案的基礎(chǔ)上,所述計(jì)算系統(tǒng)還包括LSDB更新模塊,其用于:當(dāng)任意RB設(shè)備的LSP報(bào)文發(fā)生更新時(shí),當(dāng)前RB設(shè)備將更新的LSP報(bào)文打上廣播頭后,在TRILL網(wǎng)絡(luò)中廣播;DRB設(shè)備接收到打上廣播頭的LSP報(bào)文后,將當(dāng)前LSP報(bào)文與自身的LSDB進(jìn)行比對(duì)、并決定是否根據(jù)當(dāng)前LSP報(bào)文更新LSDB ;若決定需要更新當(dāng)前LSDB,則更新當(dāng)前LSDB,向計(jì)算模塊發(fā)送計(jì)算信號(hào);若決定保持當(dāng)前LSDB,則直接向計(jì)算模塊發(fā)送計(jì)算信號(hào)。
[0037]在上述方案的基礎(chǔ)上,所述計(jì)算模塊包括分發(fā)樹信息計(jì)算子模塊,其用于:控制DRB設(shè)備根據(jù)LSDB和最短路徑優(yōu)先算法計(jì)算分發(fā)樹信息。
[0038]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
[0039]與現(xiàn)有技術(shù)中每臺(tái)RB設(shè)備分別計(jì)算分發(fā)樹消息相比,本發(fā)明轉(zhuǎn)發(fā)廣播報(bào)文時(shí),只有DRB設(shè)備需要計(jì)算分發(fā)樹信息。RB設(shè)備無(wú)需同步LSDB,也無(wú)需計(jì)算路由,進(jìn)而能夠顯著縮短鏈路收斂時(shí)間,降低TRILL網(wǎng)絡(luò)對(duì)RB設(shè)備的CPU要求,不僅能夠提高網(wǎng)絡(luò)轉(zhuǎn)發(fā)效率,而且能夠減低降低TRILL網(wǎng)絡(luò)的部署成本。
【專利附圖】
【附圖說(shuō)明】
[0040]圖1為【背景技術(shù)】中路由計(jì)算方法的流程圖;
[0041]圖2為本發(fā)明實(shí)施例中TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法的流程圖。
【具體實(shí)施方式】
[0042]以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
[0043]本發(fā)明實(shí)施例中的TRILL (Transparent interconnect1n of Lots of Links,多鏈接透明互聯(lián))網(wǎng)絡(luò)中的每條鏈路上均設(shè)置有多個(gè)RB (Route Bridge,路由交換機(jī)或路由橋)設(shè)備。
[0044]本發(fā)明實(shí)施例中的基于上述TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法,包括以下步驟:
[0045]A、所有的RB設(shè)備選舉出DRB設(shè)備(Designated Route Bridge,指定路由橋設(shè)備),在DRB設(shè)備上設(shè)置重傳定時(shí)器;DRB設(shè)備獲取TRILL網(wǎng)絡(luò)的拓?fù)湫畔ⅰ?br>
[0046]B、DRB設(shè)備計(jì)算分發(fā)樹信息;DRB設(shè)備將分發(fā)樹信息填入CSNP報(bào)文(CompleteSequence Number PDU,完全序列號(hào)報(bào)文)的擴(kuò)展TLV中(報(bào)文格式)、并將當(dāng)前CSNP報(bào)文廣播至TRILL網(wǎng)絡(luò)中;設(shè)置重傳定時(shí)器的重傳時(shí)間,啟動(dòng)DRB設(shè)備的重傳定時(shí)器。
[0047]C、RB設(shè)備在TRILL網(wǎng)絡(luò)中收到當(dāng)前CSNP報(bào)文后,向DRB返回用于確認(rèn)的PSNP報(bào)文(Partial Sequence Number F1DU,部分序列號(hào)報(bào)文)。
[0048]D、在重傳時(shí)間內(nèi),判斷DRB是否收到返回的PSNP報(bào)文,若是,轉(zhuǎn)到步驟E ;否則DRB設(shè)備向未返回PSNP報(bào)文的RB設(shè)備重新發(fā)送當(dāng)前CSNP報(bào)文、并重新啟動(dòng)重傳定時(shí)器,再次執(zhí)行步驟C。
[0049]E、所有RB設(shè)備按照當(dāng)前CSNP報(bào)文中的分發(fā)樹信息進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
[0050]參見圖2所示,下面通過(guò)I個(gè)實(shí)施例具體說(shuō)明本發(fā)明的TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法。
[0051]S201:所有的RB設(shè)備相互發(fā)送Hello報(bào)文建立鄰接關(guān)系、并選舉DRB設(shè)備,在DRB設(shè)備上設(shè)置重傳定時(shí)器;所有的RB設(shè)備將各自的LSP報(bào)文(Link State Protocol,鏈路狀態(tài)協(xié)議報(bào)文)發(fā)送至DRB設(shè)備。
[0052]S202 =DRB設(shè)備將所有收到的LSP報(bào)文進(jìn)行匯總,得到TRILL網(wǎng)絡(luò)的拓?fù)湫畔ⅰ?br>
[0053]S203:當(dāng)任意RB設(shè)備的LSP報(bào)文發(fā)生更新時(shí),當(dāng)前RB設(shè)備將更新的LSP報(bào)文打上廣播頭后,在TRILL網(wǎng)絡(luò)中廣播。DRB設(shè)備接收到打上廣播頭的LSP報(bào)文后,將當(dāng)前LSP報(bào)文與自身的LSDB (Link State Datebase,鏈路狀態(tài)數(shù)據(jù)庫(kù))進(jìn)行比對(duì)、并決定是否根據(jù)當(dāng)前LSP報(bào)文更新LSDB ;若決定需要更新當(dāng)前LSDB,則更新當(dāng)前LSDB,轉(zhuǎn)到步驟S204 ;若決定保持當(dāng)前LSDB,則直接轉(zhuǎn)到步驟S204。
[0054]將當(dāng)前LSP報(bào)文與自身的LSDB進(jìn)行比對(duì)、并決定是否根據(jù)當(dāng)前LSP報(bào)文更新LSDB時(shí),判斷方式如下:
[0055]當(dāng)前LSDB是否存儲(chǔ)有當(dāng)前LSP報(bào)文的相關(guān)記錄(即與當(dāng)前LSP報(bào)文對(duì)應(yīng)的本地LSP報(bào)文),若否,則更新當(dāng)前LSDB ;否則將本地LSP報(bào)文的本地LSP序列號(hào)與當(dāng)前LSP報(bào)文的當(dāng)前LSP序列號(hào)進(jìn)行比較:
[0056]若當(dāng)前LSP序列號(hào)大于本地LSP序列號(hào),則需要更新當(dāng)前LSDB ;
[0057]若當(dāng)前LSP序列號(hào)小于本地LSP序列號(hào),則決定保持當(dāng)前LSDB ;
[0058]若當(dāng)前LSP序列號(hào)等于本地LSP序列號(hào),則將當(dāng)前LSP報(bào)文的當(dāng)前剩余生存時(shí)間與本地LSP報(bào)文的本地剩余生存時(shí)間進(jìn)行比較:
[0059]若當(dāng)前剩余生存時(shí)間大于本地剩余生存時(shí)間,則決定保持當(dāng)前LSDB ;
[0060]若當(dāng)前剩余生存時(shí)間小于本地剩余生存時(shí)間,則需要更新當(dāng)前LSDB ;
[0061]若當(dāng)前剩余生存時(shí)間等于本地剩余生存時(shí)間,則將當(dāng)前LSP報(bào)文的當(dāng)前校驗(yàn)和與本地LSP報(bào)文的本地校驗(yàn)和進(jìn)行比較,若當(dāng)前校驗(yàn)和大于本地校驗(yàn)和,則需要更新當(dāng)前LSDB,否則決定保持當(dāng)前LSDB。
[0062]S204 =DRB設(shè)備根據(jù)LSDB和最短路徑優(yōu)先算法計(jì)算分發(fā)樹信息;DRB設(shè)備將分發(fā)樹信息填入CSNP報(bào)文的擴(kuò)展TLV中、并將當(dāng)前CSNP報(bào)文廣播至TRILL網(wǎng)絡(luò)中。設(shè)置重傳定時(shí)器的重傳時(shí)間,啟動(dòng)DRB設(shè)備的重傳定時(shí)器。
[0063]S205:RB設(shè)備在TRILL網(wǎng)絡(luò)中收到當(dāng)前CSNP報(bào)文后,向DRB返回用于確認(rèn)的PSNP報(bào)文。
[0064]S206:在重傳時(shí)間內(nèi),判斷DRB是否收到返回的PSNP報(bào)文,若不是,轉(zhuǎn)到步驟S207,否則轉(zhuǎn)到步驟S208。
[0065]S207 =DRB設(shè)備重新向未返回PSNP報(bào)文的RB設(shè)備發(fā)送當(dāng)前CSNP報(bào)文、并重新啟動(dòng)重傳定時(shí)器,再次執(zhí)行步驟S205。
[0066]S208:所有RB設(shè)備按照當(dāng)前CSNP報(bào)文中的分發(fā)樹信息進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
[0067]本發(fā)明實(shí)施例中的實(shí)現(xiàn)上述方法的TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算系統(tǒng),包括獲取模塊、LSDB更新模塊、計(jì)算模塊、返回信息發(fā)送模塊、返回確認(rèn)模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊。
[0068]獲取模塊用于:所有的RB設(shè)備選舉出DRB設(shè)備,在DRB設(shè)備上設(shè)置重傳定時(shí)器;DRB設(shè)備獲取TRILL網(wǎng)絡(luò)的拓?fù)湫畔?;向?jì)算模塊發(fā)送計(jì)算信號(hào)。
[0069]LSDB更新模塊用于:當(dāng)任意RB設(shè)備的LSP報(bào)文發(fā)生更新時(shí),當(dāng)前RB設(shè)備將更新的LSP報(bào)文打上廣播頭后,在TRILL網(wǎng)絡(luò)中廣播;DRB設(shè)備接收到打上廣播頭的LSP報(bào)文后,將當(dāng)前LSP報(bào)文與自身的LSDB進(jìn)行比對(duì)、并決定是否根據(jù)當(dāng)前LSP報(bào)文更新LSDB ;若決定需要更新當(dāng)前LSDB,則更新當(dāng)前LSDB,向計(jì)算模塊發(fā)送計(jì)算信號(hào);若決定保持當(dāng)前LSDB,則直接向計(jì)算模塊發(fā)送計(jì)算信號(hào)。
[0070]計(jì)算模塊用于:收到計(jì)算信號(hào)后,控制DRB設(shè)備計(jì)算分發(fā)樹信息;DRB設(shè)備將分發(fā)樹信息填入CSNP報(bào)文的擴(kuò)展TLV中、并將當(dāng)前CSNP報(bào)文廣播至TRILL網(wǎng)絡(luò)中;設(shè)置重傳定時(shí)器的重傳時(shí)間,啟動(dòng)DRB設(shè)備的重傳定時(shí)器;向返回信息發(fā)送模塊發(fā)送返回信號(hào)。
[0071]計(jì)算模塊包括分發(fā)樹信息計(jì)算子模塊,其用于:控制DRB設(shè)備根據(jù)LSDB和最短路徑優(yōu)先算法計(jì)算分發(fā)樹信息。
[0072]返回信息發(fā)送模塊用于:收到返回信號(hào)后,控制RB設(shè)備在TRILL網(wǎng)絡(luò)中收到當(dāng)前CSNP報(bào)文后,向DRB返回用于確認(rèn)的PSNP報(bào)文;向返回確認(rèn)模塊發(fā)送返回確認(rèn)信號(hào)。
[0073]返回確認(rèn)模塊用于:收到返回確認(rèn)信號(hào)后,在重傳時(shí)間內(nèi),判斷DRB是否收到返回的PSNP報(bào)文,若是,向數(shù)據(jù)轉(zhuǎn)發(fā)模塊發(fā)送數(shù)據(jù)轉(zhuǎn)發(fā)信號(hào);否則DRB設(shè)備向未返回PSNP報(bào)文的RB設(shè)備重新發(fā)送當(dāng)前CSNP報(bào)文、并重新啟動(dòng)重傳定時(shí)器,向返回信息發(fā)送模塊發(fā)送返回信號(hào)。
[0074]數(shù)據(jù)轉(zhuǎn)發(fā)模塊用于:收到數(shù)據(jù)轉(zhuǎn)發(fā)信號(hào)后,所有RB設(shè)備按照當(dāng)前CSNP報(bào)文中的分發(fā)樹信息進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
[0075]本領(lǐng)域的技術(shù)人員根據(jù)本發(fā)明實(shí)施例中對(duì)計(jì)算方法和系統(tǒng)的描述,可以清楚得知本發(fā)明既能夠通過(guò)硬件實(shí)現(xiàn),也能夠借助軟件和必要的通用硬件平臺(tái)實(shí)現(xiàn)。因此,本發(fā)明實(shí)施例中的計(jì)算方法能夠以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品能夠存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(例如是CD—R0M、U盤、移動(dòng)硬盤等)中,非易失性存儲(chǔ)介質(zhì)包括若干用于命令通信設(shè)備執(zhí)行本發(fā)明實(shí)施例中計(jì)算方法的指令。
[0076]本發(fā)明不局限于上述實(shí)施方式,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說(shuō)明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
【權(quán)利要求】
1.一種TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法,多鏈接透明互聯(lián)TRILL網(wǎng)絡(luò)中的每條鏈路上均設(shè)置有多個(gè)路由交換機(jī)RB設(shè)備,其特征在于:所述TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法包括以下步驟: A、所有的RB設(shè)備選舉出指定路由橋DRB設(shè)備,在DRB設(shè)備上設(shè)置重傳定時(shí)器;DRB設(shè)備獲取TRILL網(wǎng)絡(luò)的拓?fù)湫畔ⅲ? B、DRB設(shè)備計(jì)算分發(fā)樹信息;DRB設(shè)備將分發(fā)樹信息填入完全序列號(hào)CSNP報(bào)文的擴(kuò)展TLV中、并將當(dāng)前CSNP報(bào)文廣播至TRILL網(wǎng)絡(luò)中;設(shè)置重傳定時(shí)器的重傳時(shí)間,啟動(dòng)DRB設(shè)備的重傳定時(shí)器; C、RB設(shè)備在TRILL網(wǎng)絡(luò)中收到當(dāng)前CSNP報(bào)文后,向DRB返回用于確認(rèn)的部分序列號(hào)PSNP報(bào)文; D、在重傳時(shí)間內(nèi),判斷DRB是否收到返回的PSNP報(bào)文,若是,轉(zhuǎn)到步驟E;否則DRB設(shè)備向未返回PSNP報(bào)文的RB設(shè)備重新發(fā)送當(dāng)前CSNP報(bào)文、并重新啟動(dòng)重傳定時(shí)器,再次執(zhí)行步驟C ; E、所有RB設(shè)備按照當(dāng)前CSNP報(bào)文中的分發(fā)樹信息進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
2.如權(quán)利要求1所述的TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法,其特征在于:步驟A中所有RB設(shè)備選舉出DRB設(shè)備包括以下步驟:所有RB設(shè)備相互發(fā)送Hello報(bào)文建立鄰接關(guān)系、并選舉DRB設(shè)備。
3.如權(quán)利要求1所述的TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法,其特征在于:步驟A中所述DRB設(shè)備獲取TRILL網(wǎng)絡(luò)的拓?fù)湫畔ㄒ韵虏襟E:所有的RB設(shè)備將各自的鏈路狀態(tài)協(xié)議LSP報(bào)文發(fā)送至DRB設(shè)備,DRB設(shè)備將所有收到的LSP報(bào)文進(jìn)行匯總,得到TRILL網(wǎng)絡(luò)的拓?fù)?[目息。
4.如權(quán)利要求1所述的TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法,其特征在于:步驟A與步驟B之間包括以下步驟:當(dāng)任意RB設(shè)備的LSP報(bào)文發(fā)生更新時(shí),當(dāng)前RB設(shè)備將更新的LSP報(bào)文打上廣播頭后,在TRILL網(wǎng)絡(luò)中廣播;DRB設(shè)備接收到打上廣播頭的LSP報(bào)文后,將當(dāng)前LSP報(bào)文與自身的鏈路狀態(tài)數(shù)據(jù)庫(kù)LSDB進(jìn)行比對(duì)、并決定是否根據(jù)當(dāng)前LSP報(bào)文更新LSDB ;若決定需要更新當(dāng)前LSDB,則更新當(dāng)前LSDB,轉(zhuǎn)到步驟B ;若決定保持當(dāng)前LSDB,則直接轉(zhuǎn)到步驟B。
5.如權(quán)利要求4所述的TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法,其特征在于:所述將當(dāng)前LSP報(bào)文與自身的LSDB進(jìn)行比對(duì)、并決定是否根據(jù)當(dāng)前LSP報(bào)文更新LSDB包括以下步驟: 當(dāng)前LSDB是否存儲(chǔ)有與當(dāng)前LSP報(bào)文對(duì)應(yīng)的本地LSP報(bào)文,若否,則需要更新當(dāng)前LSDB ;否則將本地LSP報(bào)文的本地LSP序列號(hào)與當(dāng)前LSP報(bào)文的當(dāng)前LSP序列號(hào)進(jìn)行比較: 若當(dāng)前LSP序列號(hào)大于本地LSP序列號(hào),則需要更新當(dāng)前LSDB ; 若當(dāng)前LSP序列號(hào)小于本地LSP序列號(hào),則決定保持當(dāng)前LSDB ; 若當(dāng)前LSP序列號(hào)等于本地LSP序列號(hào),則將當(dāng)前LSP報(bào)文的當(dāng)前剩余生存時(shí)間與本地LSP報(bào)文的本地剩余生存時(shí)間進(jìn)行比較: 若當(dāng)前剩余生存時(shí)間大于本地剩余生存時(shí)間,則決定保持當(dāng)前LSDB ; 若當(dāng)前剩余生存時(shí)間小于本地剩余生存時(shí)間,則需要更新當(dāng)前LSDB ; 若當(dāng)前剩余生存時(shí)間等于本地剩余生存時(shí)間,則將當(dāng)前LSP報(bào)文的當(dāng)前校驗(yàn)和與本地LSP報(bào)文的本地校驗(yàn)和進(jìn)行比較,若當(dāng)前校驗(yàn)和大于本地校驗(yàn)和,則需要更新當(dāng)前LSDB,否則決定保持當(dāng)前LSDB。
6.如權(quán)利要求4所述的TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算方法,其特征在于:步驟B中所述DRB設(shè)備計(jì)算分發(fā)樹信息包括以下步驟:DRB設(shè)備根據(jù)LSDB和最短路徑優(yōu)先算法計(jì)算分發(fā)樹信息。
7.一種實(shí)現(xiàn)權(quán)利要求1至6任一項(xiàng)所述方法的TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算系統(tǒng),其特征在于:包括獲取模塊、計(jì)算模塊、返回信息發(fā)送模塊、返回確認(rèn)模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊; 所述獲取模塊用于:所有的RB設(shè)備選舉出DRB設(shè)備,在DRB設(shè)備上設(shè)置重傳定時(shí)器;DRB設(shè)備獲取TRILL網(wǎng)絡(luò)的拓?fù)湫畔?;向?jì)算模塊發(fā)送計(jì)算信號(hào); 所述計(jì)算模塊用于:收到計(jì)算信號(hào)后,控制DRB設(shè)備計(jì)算分發(fā)樹信息;DRB設(shè)備將分發(fā)樹信息填入CSNP報(bào)文的擴(kuò)展TLV中、并將當(dāng)前CSNP報(bào)文廣播至TRILL網(wǎng)絡(luò)中;設(shè)置重傳定時(shí)器的重傳時(shí)間,啟動(dòng)DRB設(shè)備的重傳定時(shí)器;向返回信息發(fā)送模塊發(fā)送返回信號(hào); 所述返回信息發(fā)送模塊用于:收到返回信號(hào)后,控制RB設(shè)備在TRILL網(wǎng)絡(luò)中收到當(dāng)前CSNP報(bào)文后,向DRB返回用于確認(rèn)的PSNP報(bào)文;向返回確認(rèn)模塊發(fā)送返回確認(rèn)信號(hào); 所述返回確認(rèn)模塊用于:收到返回確認(rèn)信號(hào)后,在重傳時(shí)間內(nèi),判斷DRB是否收到返回的PSNP報(bào)文,若是,向數(shù)據(jù)轉(zhuǎn)發(fā)模塊發(fā)送數(shù)據(jù)轉(zhuǎn)發(fā)信號(hào);否則DRB設(shè)備向未返回PSNP報(bào)文的RB設(shè)備重新發(fā)送當(dāng)前CSNP報(bào)文、并重新啟動(dòng)重傳定時(shí)器,向返回信息發(fā)送模塊發(fā)送返回信號(hào); 所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊用于:收到數(shù)據(jù)轉(zhuǎn)發(fā)信號(hào)后,所有RB設(shè)備按照當(dāng)前CSNP報(bào)文中的分發(fā)樹信息進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
8.如權(quán)利要求7所述的TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算系統(tǒng),其特征在于:所述計(jì)算系統(tǒng)還包括LSDB更新模塊,其用于:當(dāng)任意RB設(shè)備的LSP報(bào)文發(fā)生更新時(shí),當(dāng)前RB設(shè)備將更新的LSP報(bào)文打上廣播頭后,在TRILL網(wǎng)絡(luò)中廣播;DRB設(shè)備接收到打上廣播頭的LSP報(bào)文后,將當(dāng)前LSP報(bào)文與自身的LSDB進(jìn)行比對(duì)、并決定是否根據(jù)當(dāng)前LSP報(bào)文更新LSDB ;若決定需要更新當(dāng)前LSDB,則更新當(dāng)前LSDB,向計(jì)算模塊發(fā)送計(jì)算信號(hào);若決定保持當(dāng)前LSDB,則直接向計(jì)算模塊發(fā)送計(jì)算信號(hào)。
9.如權(quán)利要求8所述的TRILL廣播網(wǎng)絡(luò)中組播分發(fā)樹的計(jì)算系統(tǒng),其特征在于:所述計(jì)算模塊包括分發(fā)樹信息計(jì)算子模塊,其用于:控制DRB設(shè)備根據(jù)LSDB和最短路徑優(yōu)先算法計(jì)算分發(fā)樹信息。
【文檔編號(hào)】H04L12/753GK104270315SQ201410444317
【公開日】2015年1月7日 申請(qǐng)日期:2014年9月3日 優(yōu)先權(quán)日:2014年9月3日
【發(fā)明者】汪嚴(yán)寒, 程友清, 汪懷坤 申請(qǐng)人:武漢烽火網(wǎng)絡(luò)有限責(zé)任公司