本文涉及路由器之間的消息交互技術(shù)領(lǐng)域,尤其涉及一種路由器之間的消息交互方法和裝置。
背景技術(shù):
路由器之間通常需要通過(guò)消息交互來(lái)完成路由,相關(guān)技術(shù)中,路由器之間交互的消息中只包括路由器idtlv(type,length,value),通過(guò)該路由器idtlv,接收消息的路由器可以知道發(fā)送消息的路由器的id,并據(jù)此進(jìn)行路由。
當(dāng)多種應(yīng)用共用路由器idtlv信息時(shí),由于不知道發(fā)送消息的路由器的id的任何情況,接收到消息的路由器會(huì)執(zhí)行很多冗余的操作,從而造成資源浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明要解決的技術(shù)問(wèn)題是提供一種路由器之間的消息交互方法和裝置,以解決由于路由器不知道正在使用路由器id的應(yīng)用而造成的冗余操作,避免資源浪費(fèi)。
為了解決上述問(wèn)題,采用如下技術(shù)方案:
一種路由器之間消息交互的方法,該方法包括:
在路由器之間交互的消息中增加路由器id使用信息tlv,該路由器id使用信息tlv用于表明發(fā)送消息的路由器的路由器id正在被哪個(gè)或哪些應(yīng)用使用;
一路由器通過(guò)從其他路由器接收到的所述消息中的所述路由器id使用信息tlv,來(lái)執(zhí)行正在使用發(fā)送消息的路由器的路由器id的應(yīng)用相應(yīng)的操 作。
可選地,所述消息中還包括發(fā)送消息的路由器的路由器id。
可選地,所述路由器id使用信息tlv所包括的內(nèi)容字段中包括子tlv類型、子tlv長(zhǎng)度和子tlv內(nèi)容。
可選地,所述子tlv類型包括ipv4路由器id使用信息和ipv6路由器id使用信息這兩種類型。
可選地,所述正在使用所述路由器id的應(yīng)用包括:te(trafficengineering,流量工程),remote-lfa(loopfreealternate)和sr(segmentrouting,分段路由)中的一種或多種。
可選地,所述子tlv內(nèi)容字段包括標(biāo)志flag和相應(yīng)的描述,通過(guò)該flag和描述能夠表明發(fā)送消息的路由器的路由器id正在被哪個(gè)或哪些應(yīng)用使用,同時(shí)反映出該路由器id沒(méi)有被哪個(gè)或哪些應(yīng)用使用。
可選地,所述執(zhí)行正在使用發(fā)送消息的路由器的路由器id的應(yīng)用相應(yīng)的操作的步驟包括:
當(dāng)所述路由器id使用信息tlv表明發(fā)送消息的路由器的路由器id正在被某一應(yīng)用或某些應(yīng)用時(shí),建立與該應(yīng)用或這些應(yīng)用相應(yīng)的拓?fù)浠蛩淼溃?/p>
當(dāng)所述路由器id使用信息tlv反映出發(fā)送消息的路由器的路由器id沒(méi)有被某一應(yīng)用或某些應(yīng)用使用時(shí),放棄或停止建立與該應(yīng)用或這些應(yīng)用相應(yīng)的拓?fù)浠蛩淼馈?/p>
一種消息交互裝置,該裝置包括:至少一個(gè)執(zhí)行如下模塊的處理器:
消息處理模塊,設(shè)置成:在路由器之間交互的消息中增加路由器id使用信息tlv,該路由器id使用信息tlv用于表明發(fā)送消息的路由器的路由器id正在被哪個(gè)或哪些應(yīng)用使用;
操作模塊,設(shè)置成:一路由器通過(guò)從其他路由器接收到的所述消息中的所述路由器id使用信息tlv,來(lái)執(zhí)行正在使用發(fā)送消息的路由器的路由器id的應(yīng)用相應(yīng)的操作。
可選地,所述消息處理模塊還設(shè)置成:在所述消息中設(shè)置路由器的路由器id。
可選地,所述消息處理模塊設(shè)置成按照如下方式在路由器之間交互的消息中增加路由器id使用信息tlv:在所述路由器id使用信息tlv所包括的內(nèi)容字段中設(shè)置子tlv類型、子tlv長(zhǎng)度和子tlv內(nèi)容。
可選地,所述消息處理模塊設(shè)置成按照如下方式設(shè)置所述子tlv類型:將所述子tlv類型設(shè)置為ipv4路由器id使用信息或ipv6路由器id使用信息。
可選地,所述消息處理模塊設(shè)置成按照如下方式在路由器之間交互的消息中增加路由器id使用信息tlv:設(shè)置正在使用所述路由器id的應(yīng)用包括:te(trafficengineering,流量工程),remote-lfa(loopfreealternate)和sr(segmentrouting,分段路由)中的一種或多種。
可選地,所述消息處理模塊設(shè)置成按照如下方式設(shè)置所述子tlv內(nèi)容:在所述子tlv內(nèi)容字段設(shè)置標(biāo)志flag和相應(yīng)的描述,通過(guò)該flag和描述表明發(fā)送消息的路由器的路由器id正在被哪個(gè)或哪些應(yīng)用使用,同時(shí)反映出該路由器id沒(méi)有被哪個(gè)或哪些應(yīng)用使用。
可選地,所述操作模塊設(shè)置成按照如下方式執(zhí)行正在使用發(fā)送消息的路由器的路由器id的應(yīng)用相應(yīng)的操作:
當(dāng)所述路由器id使用信息tlv表明發(fā)送消息的路由器的路由器id正在被某一應(yīng)用或某些應(yīng)用使用時(shí),建立與該應(yīng)用或這些應(yīng)用相應(yīng)的拓?fù)浠蛩淼溃?/p>
當(dāng)所述路由器id使用信息tlv發(fā)映出發(fā)送消息的路由器的路由器id沒(méi)有被某一應(yīng)用或某些應(yīng)用使用時(shí),放棄或停止建立與該應(yīng)用或這些應(yīng)用相應(yīng)的拓?fù)浠蛩淼馈?/p>
可選地,該裝置位于路由器中。
采用上述技術(shù)方案后,通過(guò)新增路由器id使用信息tlv來(lái)表明發(fā)送消息的路由器的路由器id正在被某一應(yīng)用或某些應(yīng)用使用,使得接收到該消息的路由器可以直接據(jù)此進(jìn)行路由相關(guān)操作,如拓?fù)浣⒒蛩淼澜?,提高了路由器解析和使用路由器id信息的靈活性,降低了路由器因冗余操作到來(lái) 的不必要的資源損耗。
附圖說(shuō)明
圖1為本發(fā)明消息交互方法的流程示意圖;
圖2為本發(fā)明應(yīng)用示例1的拓?fù)鋱D;
圖3為本發(fā)明實(shí)施示例2的拓?fù)鋱D;
圖4為本發(fā)明實(shí)施示例3的拓?fù)鋱D;
圖5為本發(fā)明實(shí)施例的裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行更詳細(xì)的說(shuō)明。
為使本發(fā)明的目的、技術(shù)方法和優(yōu)點(diǎn)更加清楚,下面將詳述其使用方法,同時(shí)結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
路由器的lsp(linkstatepdu,鏈路狀態(tài)協(xié)議數(shù)據(jù)單元)泛洪路由器id信息時(shí),可能存在多種應(yīng)用或稱功能同時(shí)使用該路由器id的情況。本發(fā)明技術(shù)方案通過(guò)新增路由器id使用信息tlv來(lái)表明發(fā)送消息的路由器的路由器id正在被某一應(yīng)用或某些應(yīng)用使用,使得接收到該消息的路由器可以直接據(jù)此進(jìn)行路由相關(guān)操作,如拓?fù)浣⒒蛩淼澜ⅲ岣吡寺酚善鹘馕龊褪褂寐酚善鱥d信息的靈活性,降低了路由器因冗余操作到來(lái)的不必要的資源損耗。
本發(fā)明實(shí)施例提供了一種路由器之間消息交互的方法,如圖1所示,該方法包括:
在路由器之間交互的消息中增加路由器id使用信息tlv,該路由器id使用信息tlv用于表明發(fā)送消息的路由器的路由器id正在被哪些應(yīng)用使用;
一路由器通過(guò)從其他路由器接收到的所述消息中的所述路由器id使用信息tlv,來(lái)執(zhí)行正在使用發(fā)送消息的路由器的路由器id的應(yīng)用相應(yīng)的操作。
可選地,所述消息中還包括發(fā)送消息的路由器的路由器id。
可選地,所述路由器id使用信息tlv所包括的內(nèi)容字段中包括子tlv類型、子tlv長(zhǎng)度和子tlv內(nèi)容。
可選地,所述子tlv類型包括ipv4路由器id使用信息和ipv6路由器id使用信息這兩種類型。
可選地,正在使用所述路由器id的應(yīng)用包括:te(trafficengineering,流量工程),remote-lfa(loopfreealternate)和sr(segmentrouting,分段路由)中的一種或多種。
可選地,所述子tlv內(nèi)容字段包括標(biāo)志flag和相應(yīng)的描述,通過(guò)該flag和描述能夠表明發(fā)送消息的路由器的路由器id正在被哪個(gè)或哪些應(yīng)用使用,同時(shí)反映出該路由器id沒(méi)有被哪個(gè)或哪些應(yīng)用使用。此處之所以所能夠反映出該路由器id沒(méi)有被哪個(gè)或哪些應(yīng)用使用,而不是表明該路由器id沒(méi)有被哪個(gè)或哪些應(yīng)用使用,是因?yàn)閺南旅娴膶?shí)施例一可知,子tlv內(nèi)容字段通過(guò)標(biāo)志flag和相應(yīng)的描述只能表明發(fā)送消息的路由器的路由器id正在被哪個(gè)或哪些應(yīng)用使用。
可選地,所述執(zhí)行正在使用發(fā)送消息的路由器的路由器id的應(yīng)用相應(yīng)的操作的步驟包括:
當(dāng)所述路由器id使用信息tlv表明發(fā)送消息的路由器的路由器id正在被某一應(yīng)用或某些應(yīng)用時(shí),建立與該應(yīng)用或這些應(yīng)用相應(yīng)的拓?fù)浠蛩淼溃?/p>
當(dāng)所述路由器id使用信息tlv發(fā)映出發(fā)送消息的路由器的路由器id沒(méi)有被某一應(yīng)用或某些應(yīng)用時(shí),放棄或停止建立與該應(yīng)用或這些應(yīng)用相應(yīng)的拓?fù)浠蛩淼馈?/p>
實(shí)施例一:
本發(fā)明實(shí)施例的路由器id使用信息tlv具體格式定義如下:
路由器id使用信息–這個(gè)可選tlv,在lsp里面應(yīng)該最多出現(xiàn)一次,用來(lái)指明路由器id的使用情況。
類型碼–未確定
長(zhǎng)度–內(nèi)容總長(zhǎng)度
內(nèi)容–
子tlv類型碼–1或2.
子tlv長(zhǎng)度–子tlv內(nèi)容長(zhǎng)度.
子tlv內(nèi)容–
其中,子tlv類型1:ipv4路由器id使用信息
這種子tlv里面包含的是ipv4路由id使用信息,并且它應(yīng)該在路由器id使用信息tlv里面最多出現(xiàn)一次。出于靈活易于擴(kuò)展的考慮,該子tlv的長(zhǎng)度沒(méi)有固定成1個(gè)字節(jié)(八比特)。
子tlv類型2:ipv6路由器id使用信息
這種子tlv里面包含的是ipv6路由id使用信息,并且它應(yīng)該在路由器id使用信息tlv里面最多出現(xiàn)一次。出于靈活易于擴(kuò)展的考慮,該子tlv的長(zhǎng)度沒(méi)有固定成1個(gè)字節(jié)(八比特)。
下面用本發(fā)明的幾個(gè)應(yīng)用示例進(jìn)一步加以說(shuō)明。
假設(shè)路由設(shè)備支持了路由器id使用信息tlv:
應(yīng)用示例1:
假設(shè)有如圖2網(wǎng)絡(luò)拓?fù)?,直連節(jié)點(diǎn)是互通的,雙向metric花銷值(如圖中的10)相同?,F(xiàn)在為鏈路s-e嘗試生成remote-lfa備路由,根據(jù)算法可以知道節(jié)點(diǎn)c是備選的pq節(jié)點(diǎn)。如果通過(guò)解析c節(jié)點(diǎn)的路由器id使用信息tlv,發(fā)現(xiàn)c節(jié)點(diǎn)攜帶的路由器id并不應(yīng)用于remote-lfa,那么s節(jié)點(diǎn)將立馬放棄從s節(jié)點(diǎn)到c節(jié)點(diǎn)的備拓?fù)?,同時(shí)也將放棄嘗試建立從s節(jié)點(diǎn)到c節(jié)點(diǎn)的隧道。
應(yīng)用示例2:假設(shè)有如圖3網(wǎng)絡(luò)拓?fù)?,直連節(jié)點(diǎn)是互通的,雙向metric 值相同?,F(xiàn)在為s節(jié)點(diǎn)到e節(jié)點(diǎn)建立te隧道。雖然從e節(jié)點(diǎn)的lsp里面獲取到了路由器id,但是如果通過(guò)解析e節(jié)點(diǎn)的路由器id使用信息tlv,發(fā)現(xiàn)e節(jié)點(diǎn)攜帶的路由器id并不應(yīng)用于te,那么s節(jié)點(diǎn)將立馬放棄建立從s節(jié)點(diǎn)到e節(jié)點(diǎn)的te隧道。
應(yīng)用示例3:假設(shè)有如圖4網(wǎng)絡(luò)拓?fù)?,直連節(jié)點(diǎn)是互通的,雙向metric值相同。現(xiàn)在計(jì)劃為s節(jié)點(diǎn)到d節(jié)點(diǎn)的路徑實(shí)施sr,要求必須經(jīng)過(guò)s-a,a-b,b-c和c-d。雖然從a節(jié)點(diǎn)的lsp里面獲取到了路由器id,但是如果通過(guò)解析a節(jié)點(diǎn)的路由器id使用信息tlv,發(fā)現(xiàn)a節(jié)點(diǎn)攜帶的路由器id并不應(yīng)用于sr,那么s節(jié)點(diǎn)將放棄解析sr專有的子tlv,并停止sr相關(guān)動(dòng)作。
本發(fā)明實(shí)施例提供了一種消息交互裝置,如圖5所示,該裝置包括:至少一個(gè)執(zhí)行如下模塊的處理器:
消息處理模塊501,設(shè)置成:在路由器之間交互的消息中增加路由器id使用信息tlv,該路由器id使用信息tlv用于表明發(fā)送消息的路由器的路由器id正在被哪個(gè)或哪些應(yīng)用使用;
操作模塊502,設(shè)置成:通過(guò)從其他路由器接收到的所述消息中的所述路由器id使用信息tlv,來(lái)執(zhí)行正在使用發(fā)送消息的路由器的路由器id的應(yīng)用相應(yīng)的操作。
可選地,所述消息處理模塊501還設(shè)置成:在所述消息中設(shè)置路由器的路由器id。
可選地,所述消息處理模塊501設(shè)置成按照如下方式在路由器之間交互的消息中增加路由器id使用信息tlv:在所述路由器id使用信息tlv所包括的內(nèi)容字段中設(shè)置子tlv類型、子tlv長(zhǎng)度和子tlv內(nèi)容。
可選地,所述消息處理模塊501設(shè)置成按照如下方式設(shè)置所述子tlv類型:將所述子tlv類型設(shè)置為ipv4路由器id使用信息或ipv6路由器id使用信息。
可選地,所述消息處理模塊501設(shè)置成按照如下方式在路由器之間交互 的消息中增加路由器id使用信息tlv:設(shè)置正在使用路由器id的應(yīng)用包括:te(trafficengineering,流量工程),remote-lfa(loopfreealternate)和sr(segmentrouting,分段路由)中的一種或多種。
可選地,所述消息處理模塊501設(shè)置成按照如下方式設(shè)置所述子tlv內(nèi)容:在所述子tlv內(nèi)容字段設(shè)置標(biāo)志flag和相應(yīng)的描述,通過(guò)該flag和描述表明發(fā)送消息的路由器的路由器id正在被哪個(gè)或哪些應(yīng)用使用,同時(shí)反映出該路由器id沒(méi)有被哪個(gè)或哪些應(yīng)用使用。此處之所以所能夠反映出該路由器id沒(méi)有被哪個(gè)或哪些應(yīng)用使用,而不是表明該路由器id沒(méi)有被哪個(gè)或哪些應(yīng)用使用,是因?yàn)閺南旅娴膶?shí)施例一可知,子tlv內(nèi)容字段通過(guò)標(biāo)志flag和相應(yīng)的描述只能表明發(fā)送消息的路由器的路由器id正在被哪個(gè)或哪些應(yīng)用使用。
可選地,所述操作模塊502設(shè)置成按照如下方式執(zhí)行正在使用發(fā)送消息的路由器的路由器id的應(yīng)用相應(yīng)的操作:
當(dāng)所述路由器id使用信息tlv表明發(fā)送消息的路由器的路由器id正在被某一應(yīng)用或某些應(yīng)用使用時(shí),建立與該應(yīng)用或這些應(yīng)用相應(yīng)的拓?fù)浠蛩淼溃?/p>
當(dāng)所述路由器id使用信息tlv發(fā)映出發(fā)送消息的路由器的路由器id沒(méi)有被某一應(yīng)用或某些應(yīng)用使用時(shí),放棄或停止建立與該應(yīng)用或這些應(yīng)用相應(yīng)的拓?fù)浠蛩淼馈?/p>
可選地,上述裝置位于路由器中。
上述裝置與方法相應(yīng)的部分與方法的實(shí)現(xiàn)相同,在此不再贅述。
上述技術(shù)方案中,如果收到的消息中包括路由器id使用信息tlv,路由設(shè)備解析消息中的路由器id后,將按照路由器id使用信息tlv里面的信息來(lái)使用該路由器id,避免做無(wú)用處理,從而降低路由器不必要的資源損耗。
需要說(shuō)明的是,如果不沖突,本發(fā)明實(shí)施例以及實(shí)施例中的各個(gè)特征可以相互結(jié)合,均在本發(fā)明的保護(hù)范圍之內(nèi)。另外,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的 步驟。
本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤(pán)或光盤(pán)等。可選地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明的權(quán)利要求的保護(hù)范圍。