国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于pimsm協(xié)議的優(yōu)雅重啟方法及其系統(tǒng)的制作方法

      文檔序號(hào):7755650閱讀:311來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):基于pim sm協(xié)議的優(yōu)雅重啟方法及其系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)通信技術(shù)領(lǐng)域,尤其涉及PIM SM(稀疏模式獨(dú)立組播協(xié)議, protocol independent multicast sparse mode)的優(yōu)雅重啟技術(shù)。
      背景技術(shù)
      目前,新興起的流媒體業(yè)務(wù)對(duì)可靠性提出了較高的要求,設(shè)備級(jí)可靠性是實(shí)現(xiàn)業(yè) 務(wù)可靠性的一個(gè)重要方面。高可靠性設(shè)備通常采用數(shù)據(jù)平面、控制平面分離的分布式體系 結(jié)構(gòu)以及雙主控冗余的設(shè)計(jì)。數(shù)據(jù)平面、控制平面分離的分布式體系結(jié)構(gòu)將設(shè)備劃分為控 制和轉(zhuǎn)發(fā)兩個(gè)層面,控制層面負(fù)責(zé)路由的控制和計(jì)算,轉(zhuǎn)發(fā)層面只負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)發(fā)。支持雙主 控冗余的設(shè)備使用兩個(gè)MPU (main processing unit),主MPU處于工作狀態(tài),從MPU處于備 份狀態(tài),當(dāng)主MPU出現(xiàn)故障或者手工重啟后,從MPU立刻接替主MPU的工作。目前大多數(shù)廠(chǎng) 商將靜態(tài)配置信息和數(shù)據(jù)平面的轉(zhuǎn)發(fā)表項(xiàng)信息備份到從MPU上,當(dāng)設(shè)備發(fā)生主從切換后, 備份的轉(zhuǎn)發(fā)表項(xiàng)能正確指導(dǎo)轉(zhuǎn)發(fā)線(xiàn)卡上的數(shù)據(jù)轉(zhuǎn)發(fā)。對(duì)于控制平面的協(xié)議狀態(tài)的備份,有 兩種實(shí)現(xiàn)方法第一種是在從MPU上實(shí)時(shí)備份主MPU上所有的協(xié)議狀態(tài)信息,當(dāng)設(shè)備主從切 換后,協(xié)議可以迅速恢復(fù)到正常的工作狀態(tài)。顯然備份所有協(xié)議狀態(tài)會(huì)占用設(shè)備太多資源, 擴(kuò)展性也很差,實(shí)現(xiàn)代價(jià)過(guò)高。第二種方法是切換發(fā)生后在控制平面重新建立協(xié)議狀態(tài)的 信息。但是在切換過(guò)程中協(xié)議狀態(tài)達(dá)到穩(wěn)定之前,可能會(huì)出現(xiàn)路由震蕩甚至可能導(dǎo)致業(yè)務(wù) 轉(zhuǎn)發(fā)中斷。因此,目前有一些路由協(xié)議提出了優(yōu)雅重啟的方法。優(yōu)雅重啟技術(shù)可以避免設(shè) 備主從切換時(shí)鄰居關(guān)系發(fā)生震蕩。一旦重啟發(fā)生,重啟設(shè)備盡快完成與鄰居的路由信息的 同步,然后更新本地路由信息。PIM SM協(xié)議是目前被廣泛使用的組播路由協(xié)議,DR(指定路由器,designated router)為直接與組播源相連的路由器,RP(匯聚點(diǎn),rendezvous point)為SM(稀疏模式) 中的組播匯聚點(diǎn),匯聚組播發(fā)送者與接收者。組播路由表項(xiàng)包括(*,G)、(S,G)等,其中*表 示匹配任何組播源IP地址,G表示組播組IP地址,S表示組播源IP地址。PIM SM協(xié)議的 基本工作過(guò)程如下組播接收者所在網(wǎng)段的DR主動(dòng)發(fā)送(*,G)加入消息到RP,告知RP下游有組播組 G的接收者。與組播源直連的DR通過(guò)源注冊(cè)機(jī)制告知RP組播源開(kāi)始發(fā)送數(shù)據(jù)。RP將組播 源發(fā)送的數(shù)據(jù)轉(zhuǎn)發(fā)到相關(guān)的組播接收者,這樣形成了以源DR為根的組播源到RP和以RP為 根的RP到組播接收者的組播分發(fā)樹(shù)。其中,源DR到RP的注冊(cè)過(guò)程為源DR收到組播組G 的數(shù)據(jù)后,將組播數(shù)據(jù)封裝在注冊(cè)報(bào)文中,單播該注冊(cè)報(bào)文到組播組G對(duì)應(yīng)的RP。RP收到 注冊(cè)報(bào)文后,創(chuàng)建注冊(cè)狀態(tài)(S,G)表項(xiàng),如果存在下游接收者,向組播源DR方向發(fā)送(S,G) 加入消息,沿途的各個(gè)設(shè)備都會(huì)建立起(S,G)表項(xiàng)。組播源DR收到(S,G)加入消息后,將 收到加入消息的接口添加到(S,G)表項(xiàng)的出接口列表中,這樣組播數(shù)據(jù)開(kāi)始通過(guò)(S,G)表 項(xiàng)轉(zhuǎn)發(fā)。RP在(S,G)表項(xiàng)的入接口收到組播數(shù)據(jù)后,發(fā)送注冊(cè)停止消息給源DR。這時(shí),數(shù) 據(jù)沿著源DR到RP的組播分布樹(shù)到達(dá)RP,再沿RP到接收端DR的組播分布樹(shù)到達(dá)組播接收 者ο
      5
      PIM SM協(xié)議的hello報(bào)文中定義了 generation ID (接口身份標(biāo)識(shí))字段,設(shè)備在 啟動(dòng)或者重啟后每個(gè)接口都生成唯一的generation ID值。設(shè)備檢測(cè)到鄰居發(fā)送的hello 報(bào)文中g(shù)eneration ID值發(fā)生變化后認(rèn)為鄰居設(shè)備接口上的PIM協(xié)議發(fā)生了重啟。如圖1所示,主MPU上控制平面保存的組播協(xié)議狀態(tài)信息包括有鄰居狀態(tài)(包括 每個(gè)接口上的鄰居generation ID信息、鄰居?;疃〞r(shí)器等)、DR狀態(tài)(包括每個(gè)接口所在 網(wǎng)段的指定路由器IP地址、DR優(yōu)先級(jí))、RP-set (匯聚點(diǎn)集合)和BSR(發(fā)布rp-Set(匯聚點(diǎn) 集合)信息的自舉路由器)狀態(tài)、TIB (tree informationbase組播分布樹(shù)信息庫(kù))。TIB狀 態(tài)用(*,G)、(S,G)等組播路由表項(xiàng)形式維護(hù)了該設(shè)備上所有的組播分布樹(shù)信息,包括各個(gè) 接口上的IGMP(因特網(wǎng)組管理協(xié)議)成員信息和下游加入剪枝狀態(tài),以及設(shè)備上游加入剪 枝狀態(tài),在承擔(dān)特殊角色的源DR和RP上還保存了有關(guān)的由(S,G)表項(xiàng)構(gòu)成的注冊(cè)狀態(tài)。設(shè) 備上數(shù)據(jù)平面維護(hù)了用來(lái)指導(dǎo)數(shù)據(jù)轉(zhuǎn)發(fā)的MFIB(組播轉(zhuǎn)發(fā)信息庫(kù),multicast forwarding informationbase) 0 MFIB中的(S,G)表項(xiàng)由第一個(gè)組播業(yè)務(wù)數(shù)據(jù)觸發(fā)創(chuàng)建;當(dāng)?shù)谝粋€(gè)組播 業(yè)務(wù)數(shù)據(jù)觸發(fā)MFIB創(chuàng)建時(shí),會(huì)向協(xié)議層發(fā)送no cache (無(wú)緩存)消息。組播路由協(xié)議收到 此消息后,根據(jù)TIB信息,將輸出接口列表下發(fā)到MFIB中。當(dāng)下發(fā)輸出接口的操作完成后, 以后組播路由協(xié)議層的TIB變化時(shí)會(huì)及時(shí)更新數(shù)據(jù)平面的對(duì)應(yīng)MFIB表項(xiàng)。從MPU的控制 平面在正常情況下的組播協(xié)議狀態(tài)為空,當(dāng)主從切換發(fā)生時(shí),原從MPU應(yīng)恢復(fù)切換前主MPU 上所有協(xié)議的狀態(tài)信息。目前,能夠觸發(fā)TIB更新MFIB的情況有(1)協(xié)議層只有收到no cache消息之后,才會(huì)根據(jù)TIB的變化來(lái)更新相應(yīng)的MFIB表項(xiàng)。(2)主從切換過(guò)程結(jié)束時(shí),觸發(fā)TIB更新MFIB表項(xiàng)。TIB對(duì)MFIB的更新方式有兩種(1)在設(shè)備發(fā)生主從切換的過(guò)程中,為了保證數(shù)據(jù)流的不中斷,TIB更新MFIB時(shí) 采取只增添不刪除的方式,這可能造成切換過(guò)程中控制平面的TIB和數(shù)據(jù)平面的MFIB不一 致;(2)主從切換過(guò)程結(jié)束時(shí),觸發(fā)TIB更新MFIB,此時(shí)的更新方式需在MFIB中刪除 與TIB不一致的表項(xiàng),使TIB和MFIB狀態(tài)完全達(dá)成一致。本文將上述第(1)種更新方式稱(chēng)為無(wú)刪除式更新,將第(2)種更新方式稱(chēng)為一致 性更新。主從切換過(guò)程中采用的無(wú)刪除式更新可能造成切換過(guò)程中控制平面中的TIB和 數(shù)據(jù)平面MFIB的不一致。而這種不同步的狀態(tài)可能會(huì)導(dǎo)致不必要的數(shù)據(jù)流占用網(wǎng)絡(luò)資源, 甚至還可能引起一些網(wǎng)絡(luò)問(wèn)題,如出現(xiàn)環(huán)路。因此,需要尋求一種能夠更加快速結(jié)束設(shè)備主從切換過(guò)程的方法。這樣,一方面能 減少切換過(guò)程中已有的組播業(yè)務(wù)和新增的組播業(yè)務(wù)需求受到的影響;另一方面,通過(guò)盡快 結(jié)束TIB狀態(tài)和MFIB不一致,以盡量避免可能帶來(lái)的網(wǎng)絡(luò)問(wèn)題。主從切換速度依賴(lài)于控制平面的組播協(xié)議狀態(tài)收斂速度。所以,要加快主從切換 過(guò)程,實(shí)際需解決的是,如何快速恢復(fù)控制平面的組播協(xié)議狀態(tài)。在協(xié)議已有的實(shí)現(xiàn)中,鄰居設(shè)備檢測(cè)到有設(shè)備發(fā)送的Hello報(bào)文中的generation ID變化,則認(rèn)為該設(shè)備接口上的PIM協(xié)議發(fā)生了重啟,此時(shí)該鄰居設(shè)備會(huì)向重啟設(shè)備發(fā)送Hello報(bào)文應(yīng)答、BSM (bootstrap message自舉報(bào)文)。另外,下游設(shè)備檢測(cè)到上 游RPF (reverse pathforwarding逆向路徑轉(zhuǎn)發(fā))鄰居發(fā)生重啟,會(huì)向重啟設(shè)備發(fā)送 triggeredjoin(觸發(fā)加入)消息。重啟設(shè)備收到應(yīng)答的Hello報(bào)文后可立即恢復(fù)鄰居狀 態(tài)、DR狀態(tài)。鄰居設(shè)備主動(dòng)發(fā)送BSM,這可以讓重啟設(shè)備不必等到BSR周期發(fā)送BSM (發(fā)送 周期為60s)就可以快速恢復(fù)RP-set和BSR狀態(tài)。另外triggered join消息的發(fā)送讓重 啟設(shè)備不需要等待下游設(shè)備上維護(hù)的上游加入剪枝消息發(fā)送定時(shí)器超時(shí)(普通的加入剪 枝消息的發(fā)送間隔為60s)即可獲得下游加入剪枝狀態(tài),上游加入剪枝狀態(tài)根據(jù)所有接口 保存的下游加入剪枝狀態(tài)計(jì)算出來(lái)。現(xiàn)有的優(yōu)雅重啟方法雖然可以從某些方面加快組播協(xié) 議狀態(tài)收斂的速度(能加快重啟設(shè)備快速恢復(fù)RP-set和BSR狀態(tài)、以及TIB狀態(tài)中的下游 加入剪枝狀態(tài)),但對(duì)加快各個(gè)接口上的IGMP成員信息恢復(fù)以及針對(duì)承擔(dān)特殊角色的源DR 和RP的由(S,G)表項(xiàng)構(gòu)成的注冊(cè)狀態(tài)并未提出更有效率的恢復(fù)方法。按目前的實(shí)現(xiàn)技術(shù),設(shè)備重啟后默認(rèn)自己為IGMP查詢(xún)者,在各個(gè)接口上發(fā)送普通 查詢(xún)并等待與接口相連的所有主機(jī)發(fā)送成員報(bào)告來(lái)獲取接口上的IGMP成員狀態(tài)。IGMP協(xié) 議中主機(jī)發(fā)送普通成員報(bào)告的時(shí)間間隔為10s。當(dāng)RP設(shè)備主從切換時(shí),RP上注冊(cè)狀態(tài)的恢 復(fù)需要等到接收源DR周期發(fā)送的下一個(gè)注冊(cè)報(bào)文,協(xié)議中注冊(cè)報(bào)文的發(fā)送間隔為60s。源 DR上的由(S,G)表項(xiàng)構(gòu)成的注冊(cè)狀態(tài)是在第一個(gè)來(lái)自組播源S的組播業(yè)務(wù)報(bào)文到達(dá)時(shí)由 no cache消息觸發(fā)創(chuàng)建的,包括創(chuàng)建注冊(cè)接口,維護(hù)注冊(cè)停止定時(shí)器。當(dāng)源DR設(shè)備主從切 換時(shí),由于在數(shù)據(jù)平面?zhèn)浞萘?MFIB,來(lái)自組播源S的組播業(yè)務(wù)數(shù)據(jù)不會(huì)觸發(fā)no cache消息 的發(fā)送,因此在MFIB刪除之前控制平面無(wú)法建立注冊(cè)狀態(tài)。在重啟過(guò)程中,MFIB只能通 過(guò)自然老化方式(即?;疃〞r(shí)器到期)刪除,而通常表項(xiàng)的?;顣r(shí)間很長(zhǎng),這使得重啟過(guò)程 中源DR上無(wú)法在短時(shí)間內(nèi)恢復(fù)注冊(cè)狀態(tài)。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種能更加快速收斂組播協(xié)議狀態(tài)的基于 PIM SM協(xié)議優(yōu)雅重啟的方法以及實(shí)現(xiàn)該方法的系統(tǒng)。本發(fā)明為解決上述技術(shù)問(wèn)題所采用的技術(shù)方案是,將支持優(yōu)雅重啟的設(shè)備分為 兩個(gè)角色重啟設(shè)備RR(restart router)和協(xié)助RR恢復(fù)協(xié)議狀態(tài)的鄰居設(shè)備HR(helper router),基于PIMSM協(xié)議的優(yōu)雅重啟方法,包括發(fā)生主從切換的RR發(fā)送重啟通知報(bào)文至HR,并啟動(dòng)優(yōu)雅重啟定時(shí)器;HR接收到重啟通知報(bào)文后,向RR發(fā)送重啟應(yīng)答報(bào)文,協(xié)助RR完成組播協(xié)議狀態(tài)信 息恢復(fù),所述組播協(xié)議狀態(tài)信息包括鄰居狀態(tài)、DR狀態(tài)、BSR狀態(tài)、rp-set狀態(tài)、TIB狀態(tài), 所述TIB狀態(tài)包括各個(gè)接口上的IGMP成員狀態(tài)、下游加入剪枝狀態(tài);HR協(xié)助RR完成組播協(xié) 議狀態(tài)信息恢復(fù)具體包括HR將本地保存的BSR信息和rp-set信息用BSM單播給RR ;位于 RR下游的HR根據(jù)其TIB中的上游加入剪枝狀態(tài)向RR發(fā)送triggeredjoin消息;HR檢查所 有與RR相連的接口,若在接口上存在IGMP成員,則偽造IGMP主機(jī)成員報(bào)告發(fā)送給RR ;當(dāng)優(yōu)雅重啟定時(shí)器超時(shí),或當(dāng)RR接收完畢所有HR發(fā)送的組播協(xié)議狀態(tài)信息并完 成組播協(xié)議狀態(tài)信息恢復(fù)后,重啟結(jié)束,觸發(fā)TIB狀態(tài)一致性更新MFIB ;RR向HR發(fā)送重 啟結(jié)束報(bào)文;RR恢復(fù)組播協(xié)議狀態(tài)信息具體為RR通過(guò)解析接收到重啟應(yīng)答報(bào)文恢復(fù)出 鄰居狀態(tài)和DR狀態(tài);RR通過(guò)解析接收到BSM恢復(fù)出BSR狀態(tài)和rp-set狀態(tài);通過(guò)解析triggered join消息恢復(fù)下游加入剪枝狀態(tài),并根據(jù)所有接口保存的下游加入剪枝狀態(tài)恢 復(fù)出上游加入剪枝狀態(tài);通過(guò)解析IGMP主機(jī)成員報(bào)告中的組播組IP地址恢復(fù)該IGMP主機(jī) 成員報(bào)告對(duì)應(yīng)接口下的IGMP成員狀態(tài)。RR各個(gè)接口上的HR都檢查和RR相連網(wǎng)段上的IGMP成員信息,如果存在IGMP成 員,則構(gòu)造IGMP主機(jī)成員報(bào)告。這樣,RR不需要等待各個(gè)接口上的主機(jī)逐一發(fā)送IGMP成 員報(bào)告便可快速恢復(fù)各接口上的IGMP成員信息。加快了 RR控制平面恢復(fù)IGMP成員狀態(tài) 的速度。在多接入網(wǎng)段上,可以進(jìn)一步優(yōu)化上一步驟采用DR選舉的方法在同一網(wǎng)段的多 個(gè)HR中選舉出一個(gè)HR向RR發(fā)送BSM和IGMP成員報(bào)告,從而可以避免該網(wǎng)段上所有支持 優(yōu)雅重啟的HR都向RR發(fā)送相同的BSM和IGMP成員報(bào)告,節(jié)約網(wǎng)絡(luò)帶寬。(位于同一網(wǎng)段 的設(shè)備上保存的BSR和rp-set信息相同,連接到同一網(wǎng)段的各個(gè)接口下的IGMP成員信息 相同)。進(jìn)一步的,當(dāng)RR為匯聚點(diǎn)設(shè)備,所述RR的組播協(xié)議狀態(tài)信息還包括注冊(cè)狀態(tài);位于RR上游的HR將注冊(cè)報(bào)文中偽IP頭部的源IP地址和目的IP地址修改為(S, G)表項(xiàng)中的組播源IP地址和組播組IP地址,并將該注冊(cè)報(bào)文發(fā)給RR ;RR收到注冊(cè)報(bào)文后, 創(chuàng)建注冊(cè)狀態(tài)。具體的,在重啟通知報(bào)文中增加Local RP list字段;發(fā)生主從切換的RR先檢查 靜態(tài)配置中是否存在本地IP地址配置為靜態(tài)匯聚點(diǎn)設(shè)備或者動(dòng)態(tài)候選匯聚點(diǎn)設(shè)備,如是, 將配置為靜態(tài)匯聚點(diǎn)設(shè)備或者動(dòng)態(tài)候選匯聚點(diǎn)設(shè)備的本地IP主地址填入Local RP list 字段,后將重啟通知報(bào)文發(fā)送至HR ;HR提取并保存重啟通知報(bào)文中的Local RP list字段; 位于RR上游的HR將本地保存的TIB信息中與RR相關(guān)的下游加入剪枝狀態(tài)置上標(biāo)記,針對(duì) 在TIB中置上標(biāo)記的(S,G)表項(xiàng),在rp-set信息中查找該(S,G)表項(xiàng)中組播組IP地址映 射的匯聚點(diǎn)設(shè)備,如果查找到的匯聚點(diǎn)設(shè)備的IP地址存在于所述Local RP list中,上游 的HR則判斷該RR為匯聚點(diǎn)設(shè)備。RP的上游HR鄰居借助local RP list字段,檢查RR是否為T(mén)IB中組播組IP地址 映射的RP。通過(guò)在rp-set中組播組IP地址映射的RP,如果查找到的RP也位于local RP list中,則偽造空注冊(cè)報(bào)文幫助RP迅速建立起注冊(cè)狀態(tài)。進(jìn)一步的,重啟過(guò)程中RR遍歷MFIB,為MFIB的每一個(gè)表項(xiàng)啟動(dòng)no cache消息發(fā) 送定時(shí)器,周期性地向協(xié)議層發(fā)送no cache消息,觸發(fā)協(xié)議層利用TIB狀態(tài)無(wú)刪除式更新 MFIB,并將更新過(guò)的MFIB表項(xiàng)設(shè)置更新標(biāo)志;重啟結(jié)束后,RR清除no cache消息發(fā)送定時(shí) 器,同時(shí)主動(dòng)將MFIB中沒(méi)有更新標(biāo)志的MFIB表項(xiàng)刪除。重啟設(shè)備RR為備份的MFIB表項(xiàng)構(gòu)造no cache消息發(fā)送定時(shí)器。當(dāng)重啟設(shè)備為 源DR時(shí),nocache消息的發(fā)送使得源DR上控制平面能夠建立起注冊(cè)狀態(tài)。另外,周期性發(fā) 送no cache消息使得協(xié)議層新建的TIB狀態(tài)能夠立即無(wú)刪除式更新MFIB中的對(duì)應(yīng)表項(xiàng), 從而不影響切換過(guò)程中新的業(yè)務(wù)需求。進(jìn)一步的,為了更合理地設(shè)置優(yōu)雅重啟定時(shí)器的超時(shí)時(shí)間,在重啟應(yīng)答報(bào)文中增 加holdtime值;所述holdtime值為能容忍鄰居經(jīng)歷重啟的最長(zhǎng)時(shí)間;優(yōu)雅重啟定時(shí)器中超時(shí)時(shí)間的具體設(shè)置為優(yōu)雅重啟定時(shí)器啟動(dòng)時(shí),優(yōu)雅重啟 定時(shí)器的超時(shí)時(shí)間設(shè)置為本地配置的最長(zhǎng)狀態(tài)收斂時(shí)間;當(dāng)RR若收到HR發(fā)送的重啟應(yīng)答報(bào)文中的holdtime值小于當(dāng)前設(shè)置的超時(shí)時(shí)間,則將超時(shí)時(shí)間重新設(shè)置為該最小的 hoIdtime 值?;赑IM SM協(xié)議的優(yōu)雅重啟系統(tǒng),包括RR、HR HR用于,接收到重啟通知報(bào)文后,向RR發(fā)送重啟應(yīng)答報(bào)文,協(xié)助RR完成組播協(xié)議 狀態(tài)信息恢復(fù);HR將本地保存的BSR信息和rp-set信息用BSM單播給RR ;HR檢查所有與 RR相連的接口,若在接口上存在IGMP成員,則偽造IGMP主機(jī)成員報(bào)告單播給RR ;當(dāng)HR位 于RR下游,還根據(jù)其TIB中的上游加入剪枝狀態(tài)向RR發(fā)送triggered join消息;RR用于,發(fā)生主從切換的RR發(fā)送重啟通知報(bào)文至HR,并啟動(dòng)優(yōu)雅重啟定時(shí)器;當(dāng) 優(yōu)雅重啟定時(shí)器超時(shí),或當(dāng)RR接收完畢所有HR發(fā)送的組播協(xié)議狀態(tài)信息并完成組播協(xié)議 狀態(tài)信息恢復(fù)后,重啟結(jié)束,觸發(fā)TIB狀態(tài)一致性更新MFIB ;RR向HR發(fā)送重啟結(jié)束報(bào)文;所 述組播協(xié)議狀態(tài)信息恢復(fù)具體為RR通過(guò)解析接收到BSM恢復(fù)出BSR狀態(tài)和rp-set狀態(tài); 通過(guò)解析triggeredjoin消息恢復(fù)下游加入剪枝狀態(tài);通過(guò)解析IGMP主機(jī)成員報(bào)告中的組 播組IP地址恢復(fù)該IGMP主機(jī)成員報(bào)告對(duì)應(yīng)接口下的IGMP成員狀態(tài)。進(jìn)一步的,當(dāng)多個(gè)HR位于同一網(wǎng)段,僅由一個(gè)選舉出的HR向RR發(fā)送BSM和偽造 的IGMP主機(jī)成員報(bào)告。進(jìn)一步的,位于RR上游的HR還用于,判斷出RR為匯聚點(diǎn)設(shè)備后,將注冊(cè)報(bào)文中偽 IP頭部的源IP地址和目的IP地址修改為(S,G)表項(xiàng)中的組播源IP地址和組播組IP地 址,并將該注冊(cè)報(bào)文發(fā)給RR ;RR還用于,收到注冊(cè)報(bào)文后,創(chuàng)建注冊(cè)狀態(tài)。進(jìn)一步的,RR還用于,在重啟過(guò)程中遍歷MFIB,為MFIB的每一個(gè)表項(xiàng)啟動(dòng)no cache消息發(fā)送定時(shí)器,周期性地向協(xié)議層發(fā)送no cache消息,觸發(fā)協(xié)議層利用TIB狀態(tài) 無(wú)刪除式更新MFIB,并將更新過(guò)的MFIB表項(xiàng)設(shè)置更新標(biāo)志;重啟結(jié)束后,RR清除no cache 消息發(fā)送定時(shí)器,同時(shí)主動(dòng)將MFIB中沒(méi)有更新標(biāo)志的MFIB表項(xiàng)刪除。本發(fā)明的有益效果是,在現(xiàn)有PIM SM協(xié)議的基礎(chǔ)上擴(kuò)展的優(yōu)雅重啟機(jī)制能使設(shè)備 上控制平面協(xié)議狀態(tài)的恢復(fù)時(shí)間由原來(lái)的幾十秒減為1秒以下,減少了重啟過(guò)程中長(zhǎng)時(shí)間 不穩(wěn)定的協(xié)議狀態(tài)對(duì)已有業(yè)務(wù)和新增的業(yè)務(wù)需求造成的影響,最大限度避免了重啟過(guò)程中 TIB狀態(tài)和MFIB不一致造成的網(wǎng)絡(luò)問(wèn)題,對(duì)于提高組播業(yè)務(wù)的可靠性和節(jié)約網(wǎng)絡(luò)帶寬有著 重要的意義。


      圖1是MPU控制平面、數(shù)據(jù)平面維護(hù)的狀態(tài)信息圖;圖2是RR發(fā)生主從切換后PIM SM協(xié)議處理流程圖;圖3是HR收到RR重啟通告后PIM SM協(xié)議處理流程圖;圖4是實(shí)施例中的網(wǎng)絡(luò)示意圖。
      具體實(shí)施例方式本發(fā)明提出了一種PIM SM協(xié)議優(yōu)雅重啟的方法,用于設(shè)備發(fā)生主從切換時(shí)控 制平面協(xié)議狀態(tài)的快速收斂。將支持優(yōu)雅重啟的設(shè)備分為兩個(gè)角色發(fā)生重啟的設(shè)備 RR (restart router)和協(xié)助RR恢復(fù)協(xié)議狀態(tài)的鄰居設(shè)備HR (helper router)。該方法包 括
      在協(xié)議的hello報(bào)文中定義兩個(gè)新的私有字段-優(yōu)雅重啟字段和Local RP list (本地被配置為RP的IP地址列表)字段。優(yōu)雅重啟字段用于設(shè)備間互相協(xié)商對(duì)優(yōu)雅 重啟的支持,包含三個(gè)標(biāo)志位(分別是優(yōu)雅重啟的發(fā)生標(biāo)志S,應(yīng)答標(biāo)志A和結(jié)束標(biāo)志E) 和一個(gè)時(shí)間值holdtime (能容忍鄰居經(jīng)歷重啟的最長(zhǎng)時(shí)間)。Local RP list字段用于RP 上注冊(cè)狀態(tài)的恢復(fù)。RR檢查靜態(tài)配置中是否存在本地IP地址配置為靜態(tài)RP或者動(dòng)態(tài)候 選RP。如果存在,將這些本地IP主地址填入該字段,并將它通告給HR。如果不存在,則在 該字段中填充0。如圖2所示,發(fā)生主從切換的設(shè)備RR將優(yōu)雅重啟字段的S置位,填充好Local RP list字段,發(fā)送hello報(bào)文通知鄰居自己發(fā)生了重啟,并啟動(dòng)重啟定時(shí)器GRT (graceful restart timer)。支持優(yōu)雅重啟的鄰居設(shè)備HR收到generation ID值變化和S置位的 hello報(bào)文后,認(rèn)為鄰居發(fā)生了重啟,于是將重啟設(shè)備的local RP list保存下來(lái),并發(fā)送A 置位的重啟應(yīng)答。其中,GRT啟動(dòng)時(shí),其值設(shè)置為本地配置的最長(zhǎng)狀態(tài)收斂時(shí)間。若收到鄰居的重啟 應(yīng)答報(bào)文中的holdtime值小于當(dāng)前GRT的值,則將GRT重新設(shè)為該holdtime值。HR在發(fā)送重啟應(yīng)答之后,將本地保存的BSR和rp-set信息用BSM單播給RR。位于RR下游的HR設(shè)備根據(jù)TIB中的上游加入剪枝狀態(tài)向RR發(fā)送triggered join 消息。HR檢查所有與RR相連接的接口,若在接口上存在IGMP成員,偽造IGMP主機(jī)成員 報(bào)告單播給RR,RR解析出成員報(bào)告中的組地址即可恢復(fù)收到成員報(bào)告的接口下的IGMP成 員狀態(tài)。RR的上游HR鄰居借助hello報(bào)文中的local RP list字段,檢查重啟設(shè)備RR是 否為T(mén)IB表項(xiàng)中組G映射的RP。通過(guò)在rp-set中查找組G映射的RP,如果查找到的RP也 位于local RP list中,則偽造空注冊(cè)報(bào)文幫助RR迅速建立起注冊(cè)狀態(tài)如圖3所示,位于 RR上游的HR設(shè)備將TIB中與重啟設(shè)備相關(guān)的下游加入剪枝狀態(tài)置上標(biāo)記,對(duì)TIB中置上標(biāo) 記的(S,G)表項(xiàng),在rp-set中查找該表項(xiàng)中組播組G映射的RP,如果查找到的RP地址也 位于保存的鄰居狀態(tài)的local RP list中,說(shuō)明重啟設(shè)備為這個(gè)組的RP。為了幫助RP盡 快恢復(fù)注冊(cè)狀態(tài),上游HR偽造空注冊(cè)報(bào)文,將注冊(cè)報(bào)文中偽IP頭部的源地址和目的地址修 改為(S,G)表項(xiàng)中的源和組地址,發(fā)給重啟設(shè)備。重啟設(shè)備收到注冊(cè)報(bào)文后,創(chuàng)建注冊(cè)狀態(tài) (SjG)0這樣RR不需要收到源DR周期發(fā)送的注冊(cè)報(bào)文即可恢復(fù)注冊(cè)狀態(tài)。如果在rp-set 中查找到組G映射的RP地址不在鄰居狀態(tài)的IocalRP list中,則不做任何操作。RR遍歷數(shù)據(jù)平面MFIB中的表項(xiàng),為每一個(gè)表項(xiàng)啟動(dòng)no cache消息發(fā)送定時(shí)器,周 期性向協(xié)議發(fā)送no cache消息,no cache消息觸發(fā)協(xié)議層TIB無(wú)刪除式更新MFIB中的相 關(guān)表項(xiàng),并將更新過(guò)的表項(xiàng)設(shè)置更新標(biāo)志。待重啟結(jié)束后,清除no cache消息發(fā)送定時(shí)器, 同時(shí)主動(dòng)將MFIB中沒(méi)有更新標(biāo)志的表項(xiàng)刪除。RR和HR檢查自己是否可以結(jié)束優(yōu)雅重啟的過(guò)程,如果滿(mǎn)足結(jié)束條件,則發(fā)送E置 位的hello報(bào)文通告鄰居已經(jīng)結(jié)束優(yōu)雅重啟。其中,HR結(jié)束優(yōu)雅重啟的條件為根據(jù)本地保存的協(xié)議狀態(tài)檢查是否需要向RR發(fā) 送IGMP成員報(bào)告、triggered join消息以及偽注冊(cè)報(bào)文,在需要的情況下完成上述操作; RR結(jié)束優(yōu)雅重啟的條件為GRT定時(shí)器到期(已經(jīng)過(guò)了足夠長(zhǎng)的時(shí)間)或者收到了所有HR發(fā)送的E置位的hello報(bào)文。如果RR收到了所有HR發(fā)送的E置位的hello報(bào)文,可以認(rèn) 為協(xié)議狀態(tài)信息已經(jīng)恢復(fù)完成,可以結(jié)束重啟。重啟設(shè)備RR為備份的MFIB表項(xiàng)構(gòu)造no cache消息發(fā)送定時(shí)器。no cache消息 的發(fā)送使得源DR上控制平面能夠建立起注冊(cè)狀態(tài),并且使得協(xié)議層新建的TIB狀態(tài)能及時(shí) 無(wú)刪除式更新MFIB的對(duì)應(yīng)表項(xiàng)。實(shí)施例如圖4所示的網(wǎng)絡(luò)環(huán)境,假設(shè)圖中設(shè)備都支持PIM SM優(yōu)雅重啟功能。源DR向RP 發(fā)起組播源注冊(cè),RP根據(jù)本地保存的IGMP成員狀態(tài)(接收者Rl)和下游發(fā)送的加入消息 (接收者R2),將兩個(gè)接收者對(duì)應(yīng)的接口填入注冊(cè)狀態(tài)(S,G)表項(xiàng)的出接口中。同時(shí)向源 DR發(fā)起(S,G)加入。源DR和RP之間的設(shè)備上都建立起(S,G)表項(xiàng)。在不發(fā)生RPT切換 的情況下,組播流從源DR流向RP,再?gòu)腞P到達(dá)各個(gè)接收者。在本實(shí)施例中,RP設(shè)備發(fā)生主從切換。步驟1,RP將hello消息中優(yōu)雅重啟字段的S標(biāo)識(shí)置位,此時(shí),設(shè)備檢查到靜態(tài)配 置中存在本地的IoopbackO接口被配置為動(dòng)態(tài)rp-candidate,于是將該IoopbackO地址填 入local RP list列表中,通過(guò)發(fā)送hello消息向HRl和HR2通告自己發(fā)生了重啟。啟動(dòng) 重啟定時(shí)器GRT,取值為本地配置的最長(zhǎng)狀態(tài)收斂時(shí)間。步驟2,RP上游鄰居HRl和下游鄰居HR2收到了 RP的重啟通告,保存重啟設(shè)備的 local RPlist列表,將hello消息中優(yōu)雅重啟字段的A標(biāo)識(shí)置位,將本地配置的能容忍鄰居 重啟的最長(zhǎng)時(shí)間填入holdtime字段,通過(guò)發(fā)送hello消息通告重啟設(shè)備接下來(lái)將協(xié)助它完 成控制平面協(xié)議狀態(tài)的恢復(fù)。步驟3,RP在fO和f 1接口上分別接收到來(lái)自HRl和HR2的hello應(yīng)答消息,將GRT 設(shè)置為 min(GRT 當(dāng)前值,HRl hello 中 holdtime 字段值,HR2hello 中 holdtime 字段值)。步驟4,HRl將保存的rp-set和BSR信息用BSM單播給重啟設(shè)備RP。檢查與RP相 連接口 fO所在網(wǎng)段上有無(wú)IGMP成員,發(fā)現(xiàn)存在接收者成員R1,則構(gòu)造IGMP成員報(bào)告發(fā)送 給重啟設(shè)備RP。RP保存收到的BSM和IGMP成員信息,根據(jù)這些信息建立起對(duì)應(yīng)的組播狀 態(tài)(*,G)并向上游鄰居發(fā)起(*,G)加入(此時(shí)自己為RP所以沒(méi)有加入動(dòng)作)。步驟5,HR2將保存的rp-set和BSR信息用BSM單播給重啟設(shè)備RP。檢查與RP相 連接口 Π所在網(wǎng)段上有無(wú)IGMP成員,發(fā)現(xiàn)不存在任何接收者,于是執(zhí)行步驟6。步驟6,下游鄰居HR2根據(jù)TIB中的上游加入剪枝狀態(tài)向RP發(fā)送triggered join。 HR2將hello消息中優(yōu)雅重啟字段的E標(biāo)識(shí)置位,通告重啟設(shè)備本地協(xié)助重啟的工作已經(jīng) 結(jié)束。步驟7,上游鄰居HRl上TIB中的(S,G)表項(xiàng)保存了重啟設(shè)備的下游加入剪枝狀 態(tài),將該狀態(tài)置上標(biāo)記,查找本地保存的rp-set信息,發(fā)現(xiàn)查找到的RP (即RR的loopbackO 接口地址)位于鄰居RR的local RP list列表中,于是偽造空注冊(cè)報(bào)文發(fā)送給重啟設(shè)備。 HRl將helIo消息中優(yōu)雅重啟字段的E標(biāo)識(shí)置位,通告重啟設(shè)備本地協(xié)助重啟的工作已經(jīng)結(jié)
      束ο步驟8,RP為數(shù)據(jù)平面MFIB中的表項(xiàng)(S,G)構(gòu)造no cache消息,MFIB中(S,G) 表項(xiàng)得到無(wú)刪除式更新,被置上更新標(biāo)識(shí)。步驟9,RP收到HRl和HR2的重啟結(jié)束報(bào)文或者GRT超時(shí)后,將hello消息中優(yōu)雅重啟字段的E標(biāo)識(shí)置位,通告鄰居HRl和HR2已經(jīng)完成優(yōu)雅重啟過(guò)程。
      上述步驟涉及到三個(gè)設(shè)備的操作,因此各個(gè)步驟之間不具備嚴(yán)格的時(shí)間先后次 序??梢钥闯?,RR可以在HR協(xié)助下快速恢復(fù)BSR和rp-set狀態(tài)、TIB狀態(tài),結(jié)束優(yōu)雅重啟 過(guò)程,從設(shè)備級(jí)可靠性方面為可靠組播業(yè)務(wù)的開(kāi)展提供了平臺(tái)。
      權(quán)利要求
      基于PIM SM協(xié)議的優(yōu)雅重啟方法,包括發(fā)生主從切換的重啟設(shè)備發(fā)送重啟通知報(bào)文至鄰居設(shè)備,并啟動(dòng)優(yōu)雅重啟定時(shí)器;鄰居設(shè)備接收到重啟通知報(bào)文后,向重啟設(shè)備發(fā)送重啟應(yīng)答報(bào)文,協(xié)助重啟設(shè)備完成組播協(xié)議狀態(tài)信息恢復(fù),所述組播協(xié)議狀態(tài)信息包括鄰居狀態(tài)、指定路由器狀態(tài)、自舉路由器狀態(tài)和匯聚點(diǎn)集合狀態(tài)、組播分布樹(shù)信息庫(kù)狀態(tài),所述組播分布樹(shù)信息庫(kù)狀態(tài)包括各個(gè)接口上的因特網(wǎng)組管理協(xié)議成員狀態(tài)、下游加入剪枝狀態(tài)、上游加入剪枝狀態(tài);當(dāng)優(yōu)雅重啟定時(shí)器超時(shí),或當(dāng)重啟設(shè)備接收完畢所有鄰居設(shè)備發(fā)送的組播協(xié)議狀態(tài)信息并完成組播協(xié)議狀態(tài)信息恢復(fù)后,重啟結(jié)束,觸發(fā)組播分布樹(shù)信息庫(kù)狀態(tài)一致性更新組播轉(zhuǎn)發(fā)信息庫(kù);重啟設(shè)備向鄰居設(shè)備發(fā)送重啟結(jié)束報(bào)文;其特征在于,鄰居設(shè)備協(xié)助重啟設(shè)備完成組播協(xié)議狀態(tài)信息恢復(fù)具體包括鄰居設(shè)備將本地保存的自舉路由器信息和匯聚點(diǎn)集合信息用自舉報(bào)文單播給重啟設(shè)備;位于重啟設(shè)備下游的鄰居設(shè)備根據(jù)其組播分布樹(shù)信息庫(kù)中的上游加入剪枝狀態(tài)向重啟設(shè)備發(fā)送觸發(fā)加入消息;鄰居設(shè)備檢查所有與重啟設(shè)備相連的接口,若在接口上存在因特網(wǎng)組管理協(xié)議成員,則偽造因特網(wǎng)組管理協(xié)議主機(jī)成員報(bào)告發(fā)送給重啟設(shè)備;重啟設(shè)備完成組播協(xié)議狀態(tài)信息恢復(fù)具體包括重啟設(shè)備通過(guò)解析接收到重啟應(yīng)答報(bào)文恢復(fù)出鄰居狀態(tài)和指定路由器狀態(tài);通過(guò)解析接收到自舉報(bào)文恢復(fù)出自舉路由器狀態(tài)和匯聚點(diǎn)集合狀態(tài);通過(guò)解析觸發(fā)加入消息恢復(fù)下游加入剪枝狀態(tài),并根據(jù)所有接口保存的下游加入剪枝狀態(tài)恢復(fù)出上游加入剪枝狀態(tài);通過(guò)解析因特網(wǎng)組管理協(xié)議主機(jī)成員報(bào)告中的組播組IP地址恢復(fù)該因特網(wǎng)組管理協(xié)議主機(jī)成員報(bào)告對(duì)應(yīng)接口下的因特網(wǎng)組管理協(xié)議成員狀態(tài)。
      2.如權(quán)利要求1所述基于PIMSM協(xié)議的優(yōu)雅重啟方法,其特征在于,在同一網(wǎng)段的多 個(gè)鄰居設(shè)備中僅選舉一個(gè)鄰居設(shè)備向重啟設(shè)備發(fā)送自舉報(bào)文和偽造的因特網(wǎng)組管理協(xié)議 主機(jī)成員報(bào)告。
      3.如權(quán)利要求1或2所述基于PIMSM協(xié)議的優(yōu)雅重啟方法,其特征在于,當(dāng)重啟設(shè)備 為匯聚點(diǎn)設(shè)備,所述重啟設(shè)備的組播協(xié)議狀態(tài)信息還包括由注冊(cè)報(bào)文觸發(fā)創(chuàng)建的由(S,G) 表項(xiàng)構(gòu)成的注冊(cè)狀態(tài);位于重啟設(shè)備上游的鄰居設(shè)備將注冊(cè)報(bào)文中偽IP頭部的源IP地址和目的IP地址修 改為(S,G)表項(xiàng)中的組播源IP地址和組播組IP地址,并將該注冊(cè)報(bào)文發(fā)給重啟設(shè)備; 重啟設(shè)備收到注冊(cè)報(bào)文后,創(chuàng)建注冊(cè)狀態(tài)。
      4.如權(quán)利要求3所述基于PIMSM協(xié)議的優(yōu)雅重啟方法,其特征在于,在重啟通知報(bào)文 中增加Local RP list字段;發(fā)生主從切換的重啟設(shè)備先檢查靜態(tài)配置中是否存在本地IP地址配置為靜態(tài)匯聚點(diǎn) 設(shè)備或者動(dòng)態(tài)候選匯聚點(diǎn)設(shè)備,如是,將配置為靜態(tài)匯聚點(diǎn)設(shè)備或者動(dòng)態(tài)候選匯聚點(diǎn)設(shè)備 的本地IP主地址填入Local RP list字段,后將重啟通知報(bào)文發(fā)送至鄰居設(shè)備; 鄰居設(shè)備提取并保存重啟通知報(bào)文中的Local RP list字段; 位于重啟設(shè)備上游的鄰居設(shè)備將本地保存的組播分布樹(shù)信息庫(kù)信息中與重啟設(shè)備相 關(guān)的下游加入剪枝狀態(tài)置上標(biāo)記,針對(duì)在組播分布樹(shù)信息庫(kù)中置上標(biāo)記的(S,G)表項(xiàng),在 匯聚點(diǎn)集合信息中查找該(S,G)表項(xiàng)中組播組IP地址映射的匯聚點(diǎn)設(shè)備,如果查找到的匯聚點(diǎn)設(shè)備的IP地址存在于所述Local RP list中,上游的鄰居設(shè)備則判斷該重啟設(shè)備為匯 聚點(diǎn)設(shè)備。
      5.如權(quán)利要求1或2所述基于PIMSM協(xié)議的優(yōu)雅重啟方法,其特征在于,重啟過(guò)程中 重啟設(shè)備遍歷組播轉(zhuǎn)發(fā)信息庫(kù),為組播轉(zhuǎn)發(fā)信息庫(kù)的每一個(gè)表項(xiàng)啟動(dòng)無(wú)緩沖消息發(fā)送定時(shí) 器,周期性地向協(xié)議層發(fā)送無(wú)緩沖消息,觸發(fā)協(xié)議層利用組播分布樹(shù)信息庫(kù)狀態(tài)無(wú)刪除式 更新組播轉(zhuǎn)發(fā)信息庫(kù),并將更新過(guò)的組播轉(zhuǎn)發(fā)信息庫(kù)表項(xiàng)設(shè)置更新標(biāo)志;重啟結(jié)束后,重啟設(shè)備清除無(wú)緩沖消息發(fā)送定時(shí)器,同時(shí)主動(dòng)將組播轉(zhuǎn)發(fā)信息庫(kù)中沒(méi) 有更新標(biāo)志的組播轉(zhuǎn)發(fā)信息庫(kù)表項(xiàng)刪除。
      6.如權(quán)利要求1所述基于PIMSM協(xié)議的優(yōu)雅重啟方法,其特征在于,在重啟應(yīng)答報(bào)文 中增加holdtime值;所述holdtime值為能容忍鄰居設(shè)備經(jīng)歷重啟的最長(zhǎng)時(shí)間;優(yōu)雅重啟定時(shí)器中超時(shí)時(shí)間的具體設(shè)置為優(yōu)雅重啟定時(shí)器啟動(dòng)時(shí),優(yōu)雅重啟定時(shí)器的超時(shí)時(shí)間設(shè)置為本地配置的最長(zhǎng)狀態(tài)收斂 時(shí)間;若重啟設(shè)備收到鄰居設(shè)備發(fā)送的重啟應(yīng)答報(bào)文中的holdtime值小于當(dāng)前設(shè)置的超 時(shí)時(shí)間,則將超時(shí)時(shí)間重新設(shè)置為該最小的holdtime值。
      7.基于PIMSM協(xié)議的優(yōu)雅重啟系統(tǒng),包括重啟設(shè)備、鄰居設(shè)備,其特征在于,所述鄰居設(shè)備用于,接收到重啟通知報(bào)文后,向重啟設(shè)備發(fā)送重啟應(yīng)答報(bào)文,協(xié)助重啟 設(shè)備完成組播協(xié)議狀態(tài)信息恢復(fù);鄰居設(shè)備將本地保存的自舉路由器信息和匯聚點(diǎn)集合信 息用自舉報(bào)文單播給重啟設(shè)備;鄰居設(shè)備檢查所有與重啟設(shè)備相連的接口,若在接口上存 在因特網(wǎng)組管理協(xié)議成員,則偽造因特網(wǎng)組管理協(xié)議主機(jī)成員報(bào)告發(fā)送給重啟設(shè)備;當(dāng)鄰 居設(shè)備位于重啟設(shè)備下游,還根據(jù)其組播分布樹(shù)信息庫(kù)中的上游加入剪枝狀態(tài)向重啟設(shè)備 發(fā)送觸發(fā)加入消息;所述重啟設(shè)備用于,發(fā)生主從切換的重啟設(shè)備發(fā)送重啟通知報(bào)文至鄰居設(shè)備,并啟動(dòng) 優(yōu)雅重啟定時(shí)器;當(dāng)優(yōu)雅重啟定時(shí)器超時(shí),或當(dāng)重啟設(shè)備接收完畢所有鄰居設(shè)備發(fā)送的組 播協(xié)議狀態(tài)信息并完成組播協(xié)議狀態(tài)信息恢復(fù)后,重啟結(jié)束,觸發(fā)組播分布樹(shù)信息庫(kù)狀態(tài) 一致性更新組播轉(zhuǎn)發(fā)信息庫(kù);重啟設(shè)備向鄰居設(shè)備發(fā)送重啟結(jié)束報(bào)文;所述組播協(xié)議狀態(tài) 信息恢復(fù)具體為重啟設(shè)備通過(guò)解析接收到重啟應(yīng)答報(bào)文恢復(fù)出鄰居狀態(tài)和指定路由器狀 態(tài);重啟設(shè)備通過(guò)解析接收到自舉報(bào)文恢復(fù)出自舉路由器狀態(tài)和匯聚點(diǎn)集合狀態(tài);通過(guò)解 析觸發(fā)加入消息恢復(fù)下游加入剪枝狀態(tài),并根據(jù)所有接口保存的下游加入剪枝狀態(tài)恢復(fù)出 上游加入剪枝狀態(tài);通過(guò)解析因特網(wǎng)組管理協(xié)議主機(jī)成員報(bào)告中的組播組IP地址恢復(fù)該 因特網(wǎng)組管理協(xié)議主機(jī)成員報(bào)告對(duì)應(yīng)接口下的因特網(wǎng)組管理協(xié)議成員狀態(tài)。
      8.如權(quán)利要求7所述基于PIMSM協(xié)議的優(yōu)雅重啟系統(tǒng),當(dāng)多個(gè)鄰居設(shè)備位于同一網(wǎng) 段,僅由一個(gè)選舉出的鄰居設(shè)備向重啟設(shè)備發(fā)送自舉報(bào)文和偽造的因特網(wǎng)組管理協(xié)議主機(jī) 成員報(bào)告。
      9.如權(quán)利要求7或8所述基于PIMSM協(xié)議的優(yōu)雅重啟方法,其特征在于,位于重啟設(shè)備上游的鄰居設(shè)備還用于,判斷出重啟設(shè)備為匯聚點(diǎn)設(shè)備后,將注冊(cè)報(bào)文 中偽IP頭部的源IP地址和目的IP地址修改為(S,G)表項(xiàng)中的組播源IP地址和組播組IP 地址,并將該注冊(cè)報(bào)文發(fā)給重啟設(shè)備;重啟設(shè)備還用于,收到注冊(cè)報(bào)文后,創(chuàng)建注冊(cè)狀態(tài)。
      10.如權(quán)利要求7或8所述基于PIMSM協(xié)議的優(yōu)雅重啟方法,其特征在于,重啟設(shè)備還用于,在重啟過(guò)程中遍歷組播轉(zhuǎn)發(fā)信息庫(kù),為組播轉(zhuǎn)發(fā)信息庫(kù)的每一個(gè)表項(xiàng)啟動(dòng)無(wú)緩沖消 息發(fā)送定時(shí)器,周期性地向協(xié)議層發(fā)送無(wú)緩沖消息,觸發(fā)協(xié)議層利用組播分布樹(shù)信息庫(kù)狀 態(tài)無(wú)刪除式更新組播轉(zhuǎn)發(fā)信息庫(kù),并將更新過(guò)的組播轉(zhuǎn)發(fā)信息庫(kù)表項(xiàng)設(shè)置更新標(biāo)志;重啟 結(jié)束后,重啟設(shè)備清除無(wú)緩沖消息發(fā)送定時(shí)器,同時(shí)主動(dòng)將組播轉(zhuǎn)發(fā)信息庫(kù)中沒(méi)有更新標(biāo) 志的組播轉(zhuǎn)發(fā)信息庫(kù)表項(xiàng)刪除。
      全文摘要
      本發(fā)明提供一種能更加快速收斂組播協(xié)議狀態(tài)的基于PIM SM協(xié)議優(yōu)雅重啟的方法以及實(shí)現(xiàn)該方法的系統(tǒng)。鄰居設(shè)備檢查所有與重啟設(shè)備相連的接口,若在接口上存在IGMP成員,則偽造IGMP主機(jī)成員報(bào)告發(fā)送給重啟設(shè)備;重啟設(shè)備通過(guò)解析IGMP主機(jī)成員報(bào)告中的組播組IP地址恢復(fù)該IGMP主機(jī)成員報(bào)告對(duì)應(yīng)接口下的IGMP成員狀態(tài)。重啟設(shè)備各個(gè)接口上的鄰居設(shè)備都檢查和重啟設(shè)備相連網(wǎng)段上的IGMP成員信息,如果存在IGMP成員,則構(gòu)造IGMP主機(jī)成員報(bào)告。這樣,重啟設(shè)備不需要等待各個(gè)接口上的主機(jī)逐一發(fā)送IGMP成員報(bào)告便可快速恢復(fù)各接口上的IGMP成員信息。加快了重啟設(shè)備控制平面恢復(fù)IGMP成員狀態(tài)的速度。
      文檔編號(hào)H04L12/24GK101895475SQ20101024171
      公開(kāi)日2010年11月24日 申請(qǐng)日期2010年7月30日 優(yōu)先權(quán)日2010年7月30日
      發(fā)明者熊思, 王強(qiáng) 申請(qǐng)人:邁普通信技術(shù)股份有限公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1