專利名稱:實(shí)現(xiàn)指定路由器之間組播業(yè)務(wù)分擔(dān)的狀態(tài)管理方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種實(shí)現(xiàn)指定路由器之間組播業(yè)務(wù) 分擔(dān)的狀態(tài)管理方法和裝置。
背景技術(shù):
目前隨著交互式網(wǎng)絡(luò)電視(InternetProtocol Television, IPTV )、視頻會 議等業(yè)務(wù)的開展,以及數(shù)字電視的興起,組播業(yè)務(wù)在現(xiàn)有網(wǎng)絡(luò)上得到了越來 越廣泛的應(yīng)用。對于用戶端來說,使用組播業(yè)務(wù)主要是靠組播路由協(xié)議和互聯(lián)網(wǎng)組管理 協(xié)議(Internet Group Management Protocol, IGMP )等相關(guān)的協(xié)議來實(shí)現(xiàn)的。用戶需要組播業(yè)務(wù)的時(shí)候,會通過用戶端設(shè)備向相連的路由器發(fā)送某一 個(gè)組播組的IGMP組加入請求消息,路由器收到該組播組的IGMP加入請求消 息后,確認(rèn)有用戶需要獲取該組播組的組播數(shù)據(jù)業(yè)務(wù),從而,根據(jù)組播數(shù)據(jù) 需求方和提供方的對應(yīng)關(guān)系,形成一個(gè)IGMP表項(xiàng),并進(jìn)一步從當(dāng)前網(wǎng)絡(luò)中把 該組播組的數(shù)據(jù)流發(fā)送給對應(yīng)的用戶。為了保證組播業(yè)務(wù)開展的可靠性,形成可靠的備份,與用戶相連的路由 器一般設(shè)置有多個(gè),在現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)中, 一般是設(shè)置兩個(gè)路由器與用戶端 設(shè)備直接相連。相應(yīng)的,與同一個(gè)用戶端設(shè)名4目連的多個(gè)路由器會通過一定 的竟?fàn)帣C(jī)制,選舉出一臺路由器當(dāng)作查詢器,由該查詢器負(fù)責(zé)組播組的維護(hù) 工作,同時(shí)由協(xié)議無關(guān)組4番(Protocol Independent Multicast, PIM)路由器通 過一定的竟?fàn)幰?guī)則,選擇出一個(gè)指定路由器(DesignatedRouter, DR),由 DR來負(fù)責(zé)組播數(shù)據(jù)的轉(zhuǎn)發(fā)工作。在常見的典型應(yīng)用場景中,接入側(cè)的PIM和 IGMP同時(shí)運(yùn)行,完成組4番業(yè)務(wù)的開展。以常見的協(xié)議無關(guān)組播的稀疏模式(Protocol Independent Multicast-Sparse Mode, PIM-SM)為例,說明組播協(xié)議的工作機(jī)制,PIM-SM的工作機(jī)制可概括為鄰居發(fā)現(xiàn)、DR選舉、匯集點(diǎn)(Rendezvous Point, RP)發(fā)現(xiàn)、構(gòu)建RP 樹(RPTree, RPT)、組^番源注冊和最短路徑樹(Shortest Path Tree, SPT) 切換六個(gè)過程,具體說明如下1. 鄰居發(fā)現(xiàn)PIM-SM在路由器之間進(jìn)行HELLO報(bào)文的交換,并以此來發(fā)現(xiàn)共享網(wǎng)段上 的鄰居。2. DR選舉借助HELLO報(bào)文還可以為共享網(wǎng)絡(luò)(例如,以太網(wǎng)Ethernet)選舉DR, 并將選舉出的DR作為該共享網(wǎng)絡(luò)中組播數(shù)據(jù)的唯一轉(zhuǎn)發(fā)者。在實(shí)際應(yīng)用中,無論是與組播源相連的網(wǎng)絡(luò),還是與接收者相連的網(wǎng)絡(luò), 都需要選舉出相應(yīng)的DR。接收者側(cè)的DR負(fù)責(zé)向RP發(fā)送加入報(bào)文,組播源側(cè) 的DR負(fù)責(zé)向RP發(fā)送注冊才艮文。在現(xiàn)有技術(shù)中的DR的選舉策略如下(1) 共享網(wǎng)絡(luò)上的各路由器相互之間發(fā)送HELLO報(bào)文,在該HELLO報(bào) 文中攜帶有該路由器竟選DR的優(yōu)先級參數(shù),擁有最高優(yōu)先級的路由器將成為 DR。(2) 如果存在多個(gè)路由器擁有相同的最高優(yōu)先級,或者共享網(wǎng)絡(luò)中至少 有一臺路由器不支持在HELLO報(bào)文中攜帶竟選DR的優(yōu)先級參數(shù),則根據(jù)各路 由器的IP地址大小來竟選DR, IP地址最大的路由器將成為DR。(3) 當(dāng)DR出現(xiàn)故障時(shí),其余路由器在超出預(yù)設(shè)的響應(yīng)時(shí)間后仍沒有收到 來自DR的HELLO報(bào)文,則會觸發(fā)新的DR選舉過程。如圖l所示的共享網(wǎng)段中,組播源側(cè)包含路由器A,路由器B和路由器C, 根據(jù)上述的DR選舉策略,選舉具有最高優(yōu)先級的路由器B成為DR,而在接收 者側(cè),在路由器D和路由器E中選舉具有最高優(yōu)先級的路由器D成為DR,其中, 路由器B向作為RP的路由器F發(fā)送注冊報(bào)文,路由器D向RP發(fā)送加入報(bào)文。3. RP發(fā)現(xiàn)RP是PIM-SM域中的核心設(shè)備。 一般在PIM-SM域中需要配置多個(gè)候選RP (Candidate-RP, C-RP),通過自舉機(jī)制來動態(tài)選舉RP,使不同的RP服務(wù)于不同的組播組,此時(shí),還需要配置自舉路由器(Bootstrap Router, BSR)。 BSRAPIM-SM域的管理核心, 一個(gè)PIM-SM域內(nèi)只能有一個(gè)BSR,但可以配置 多個(gè)候選BSR (Candidate-BSR, C-BSR)。這樣, 一旦BSRj^生故障,其余 C-BSR能夠通過自動選舉產(chǎn)生新的BSR,從而確保業(yè)務(wù)免受中斷。4. 構(gòu)建RPT如圖2所示,RPT的構(gòu)建過程如下步驟S201、當(dāng)接收者加入一個(gè)組播組G時(shí),先通過IGMP才艮文通知與其直 連的DR。步驟s202、 DR掌握了組播組G的接收者的信息后,向該組播組G所對應(yīng)的 RP方向逐跳發(fā)送加入報(bào)文。步驟S203、從DR到RP所經(jīng)過的路由器就形成了RPT的分支,這些路由器 都在其轉(zhuǎn)發(fā)表中生成了 (*, G)表項(xiàng),這里的"*"表示來自任意組播源。RPT 以RP為4艮,以DR為葉子。當(dāng)發(fā)往組播組G的組播數(shù)據(jù)流經(jīng)RP時(shí),數(shù)據(jù)就會沿著已建立好的RPT到達(dá) DR,進(jìn)而到達(dá)接收者。當(dāng)某接收者對組播組G的信息不再感興趣時(shí),與其直連的DR會逆著RPT 向該組播組G的RP方向逐跳發(fā)送剪枝報(bào)文。上游節(jié)點(diǎn)收到該報(bào)文后在其出接 口列表中刪除與下游節(jié)點(diǎn)相連的接口,并檢查自己是否擁有該組播組G的接收 者,如果沒有則繼續(xù)向其上游轉(zhuǎn)發(fā)該剪枝報(bào)文,相反,如果該上游節(jié)點(diǎn)發(fā)現(xiàn) 自己還擁有其他的該組播組G的接收者,則不再向上游轉(zhuǎn)發(fā)該剪枝報(bào)文,因?yàn)椋?需要為其他的接受者繼續(xù)保留上游的RPT分支。。5. 組播源注冊如圖3所示,組播源向RP注冊的過程如下步驟S301、當(dāng)組播源S向組播組G發(fā)送了一個(gè)組播報(bào)文時(shí),與組播源直接 連的DR在收到該報(bào)文后,就將其封裝成注冊報(bào)文,并通過單播方式發(fā)送給相 應(yīng)的RP。步驟S302、當(dāng)RP收到該報(bào)文后, 一方面解封裝注冊報(bào)文并將封裝在其中 的組播報(bào)文沿著RPT轉(zhuǎn)發(fā)給接收者,另一方面向組播源方向逐跳發(fā)送(S, G)加入報(bào)文。這樣,從RP到組播源所經(jīng)過的路由器就形成了SPT的分支,這些 路由器都在其轉(zhuǎn)發(fā)表中生成了 (S, G)表項(xiàng)。SPT以組播源側(cè)的DR為根,以 RP為葉子。步驟S303、組播源發(fā)出的組播數(shù)據(jù)沿著已建立好的SPT到達(dá)RP,然后由 RP把組播數(shù)據(jù)沿著RPT向接收者進(jìn)行轉(zhuǎn)發(fā)。當(dāng)RP收到沿著SPT轉(zhuǎn)發(fā)來的組播 數(shù)據(jù)后,通過單播方式向與組播源直連的DR發(fā)送注冊停止報(bào)文(Register-Stop Message),組纟番源注冊過程結(jié)束。6. SPT切換接收者側(cè)DR周期性地檢測組播數(shù)據(jù)(S, G)的轉(zhuǎn)發(fā)速率, 一旦發(fā)現(xiàn)其超 過閾值,立即發(fā)起SPT切換,過程如下首先,接收者側(cè)DR向組播源方向發(fā)送(S, G)加入報(bào)文,并最終送達(dá)組 播源側(cè)的DR,沿途經(jīng)過的所有路由器在其轉(zhuǎn)發(fā)表中都生成了 (S, G)表項(xiàng), 從而建立了SPT分支;隨后,當(dāng)組播數(shù)據(jù)沿SPT到達(dá)RPT與SPT分叉的路由器時(shí),該路由器開始 丟棄沿RPT到達(dá)的組播數(shù)據(jù),同時(shí)向RP逐跳發(fā)送含RP位的剪枝報(bào)文,RP收到 該報(bào)文后繼續(xù)向組播源方向發(fā)送剪枝報(bào)文(假設(shè)此時(shí)只有這一個(gè)接收者), 從而完成了SPT切換;最終,組播數(shù)據(jù)將沿SPT從組播源到達(dá)到接收者。 通過SPT切換,PIM-SM能夠以比PIM-DM更經(jīng)濟(jì)的方式建立SPT。 在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題 在現(xiàn)有技術(shù)的網(wǎng)絡(luò)構(gòu)架結(jié)構(gòu)中,DR^組播中很重要的一個(gè)角色,承擔(dān)著 組播源注冊和接收者端RPT和SPT樹的建立等重要職責(zé)。目前,根據(jù)PIM協(xié)議 的處理規(guī)則,在一個(gè)共享網(wǎng)段上只有一個(gè)路由器承擔(dān)著DR的角色,其余路由 器都是作為DR的路由器的名"分功能。這樣, 一旦作為DR的路由器選擇確定后, 組播的轉(zhuǎn)發(fā)路徑SPT也確定了 ,導(dǎo)致所有的組播業(yè)務(wù)只是由少數(shù)路由器來完 成,而其余的路由器都是備份功能。隨著組播業(yè)務(wù)的開展,用戶希望所有的 路由器都能轉(zhuǎn)發(fā)組播業(yè)務(wù),這樣所有的設(shè)備都得到了充分利用,同時(shí)用戶也 希望通過這樣的方式,使各個(gè)路由器之間實(shí)現(xiàn)組播的互為備份功能。在如圖4所示的一個(gè)典型的企業(yè)網(wǎng)組播應(yīng)用組網(wǎng)圖中,按照現(xiàn)有技術(shù)的處 理規(guī)則,接入側(cè)是一個(gè)共享網(wǎng)段,接入側(cè)的DR不是路由器B就是路由器C,如 果確定DRA路由器B,那么組播流的路徑就是組播源Source到路由器A,再到 路由器B,再到路由器D,最后發(fā)送給接收者Receiver;如果DlU:路由器C, 那么組播流的路徑就是組播源Source到路由器A,再到路由器C,再到路由器D, 最后發(fā)送給接收者Receiver??梢钥吹浇M播業(yè)務(wù)流始終在一邊鏈路上,無法實(shí)現(xiàn)一部分組播組的數(shù)據(jù) 流通過路由器B所在的支路發(fā)送,而另 一部分組播組的數(shù)據(jù)流通過路由器C所 在的支路發(fā)送的處理狀態(tài),從而,無法實(shí)現(xiàn)組播業(yè)務(wù)的全網(wǎng)負(fù)載分擔(dān),浪費(fèi) 了共享網(wǎng)段中大量的資源。發(fā)明內(nèi)容本發(fā)明提供一種實(shí)現(xiàn)指定路由器之間組播業(yè)務(wù)分擔(dān)的狀態(tài)管理方法和裝 置,以實(shí)現(xiàn)共享網(wǎng)段上多臺路由器共同分擔(dān)組播業(yè)務(wù),使各個(gè)路由器都能充 分發(fā)揮自己的作用,從而實(shí)現(xiàn)組播業(yè)務(wù)的負(fù)載均衡。為達(dá)到上述目的,本發(fā)明 一 方面提供了 一種實(shí)現(xiàn)指定路由器DR之間組播 業(yè)務(wù)分擔(dān)的狀態(tài)管理方法,應(yīng)用于包含多個(gè)被確定為DR的路由器的共享網(wǎng)段 中,其中,根據(jù)預(yù)設(shè)的DR選舉策略,所述多個(gè)被確定為DR的路由器中一個(gè) 路由器設(shè)置自身為主用DR,另一個(gè)路由器設(shè)置自身為備用DR,余下的全部 路由器設(shè)置自身為工作DR,所述主用DR、所述備用DR和所述工作DR按 照負(fù)載均衡的策略共同分擔(dān)所述共享網(wǎng)段中的組播業(yè)務(wù),所述方法具體包括所述備用DR或所述工作DR分別按照預(yù)設(shè)的呼叫HELLO報(bào)文發(fā)送周期, 向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送HELLO報(bào)文,所述 HELLO報(bào)文包含所述備用DR或所述工作DR的當(dāng)前身份狀態(tài)信息;取所述備用DR或所述工作DR的當(dāng)前身份狀態(tài)信息,按照所述HELLO報(bào)文 發(fā)送周期,向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送主用呼叫 Master HELLO報(bào)文,所述Master HELLO報(bào)文中包含根據(jù)所述DR選舉策略確定的所述共享網(wǎng)段中所有被確定為DR的路由器的最新身份狀態(tài)信息;所述備用DR和所述工作DR接收所述主用DR發(fā)送的Master HELLO報(bào) 文,并根據(jù)所述Master HELLO報(bào)文中的最新身份狀態(tài)信息設(shè)置自身的身份狀 態(tài)。優(yōu)選的,所述根據(jù)預(yù)設(shè)的DR選舉策略,所述多個(gè)被確定為DR的路由器 中一個(gè)路由器設(shè)置自身為主用DR,另一個(gè)路由器設(shè)置自身為備用DR,余下 的全部路由器設(shè)置自身為工作DR,具體為所述共享網(wǎng)段中的各被確定為DR的路由器分別按照預(yù)設(shè)的HELLO報(bào)文 發(fā)送周期,向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含選舉參數(shù) 的HELLO報(bào)文,所述選舉參數(shù)至少包括IP地址信息,并可選的包括優(yōu)先級 參數(shù);當(dāng)所述各^皮確定為DR的^各由器所發(fā)送的HELLO凈艮文中所包含的選舉參 數(shù)均為優(yōu)先級參數(shù)時(shí),所述各被確定為DR的路由器將自身的優(yōu)先級參數(shù)與通 過所述HELLO報(bào)文接收到的其他被確定為DR的路由器的優(yōu)先級參數(shù)進(jìn)行比 較,如果自身的優(yōu)先級參數(shù)的優(yōu)先級為最高,則設(shè)置自身為主用DR;如果自 身的優(yōu)先級參數(shù)的優(yōu)先級為次高,則設(shè)置自身為備用DR;如果自身的優(yōu)先級 參數(shù)的優(yōu)先級不是最高或次高,則設(shè)置自身為工作DR;數(shù)中至少有一個(gè)不是優(yōu)先級參數(shù)時(shí),所述各被確定為DR的路由器將自身的 IP地址信息與通過所述HELLO報(bào)文接收到的其他被確定為DR的路由器的IP 地址信息進(jìn)行比較,如果自身的IP地址最大,則設(shè)置自身為主用DR;如果 自身的IP地址次大,則設(shè)置自身為備用DR;如果自身的IP地址不是最大或 次大,則設(shè)置自身為工作DR。優(yōu)選的,當(dāng)根據(jù)預(yù)設(shè)的DR選舉策略,所述多個(gè)被確定為DR的路由器中 一個(gè)不支持多身份狀態(tài)配置的路由器的選舉參數(shù)優(yōu)于所述共享網(wǎng)段中的其他 路由器時(shí),所述不支持多身份狀態(tài)配置的路由器承擔(dān)所述共享網(wǎng)段中的組播 業(yè)務(wù)。優(yōu)選的,所述Master HELLO報(bào)文,還包括所述共享網(wǎng)段中的DR數(shù)量;所述共享網(wǎng)段中所有DR的標(biāo)識信息;所述共享網(wǎng)段中的各DR是否支持多身份狀態(tài)配置的標(biāo)識。優(yōu)選的,所述備用DR和所述工作DR接收所述主用DR發(fā)送的Master HELLO報(bào)文,并根據(jù)所述Master HELLO報(bào)文中的最新身份狀態(tài)信息設(shè)置自 身的身份狀態(tài),具體為當(dāng)所述備用DR在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報(bào)文時(shí),所述備用DR設(shè)置自身為主用 DR;當(dāng)所述備用DR在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期中接收到 主用DR發(fā)送的Master HELLO報(bào)文,且所述Master HELLO報(bào)文中所包含的 所述備用DR的最新身份狀態(tài)信息為工作DR時(shí),所述備用DR設(shè)置自身為工 作DR;當(dāng)所述工作DR在預(yù)設(shè)的工作DR Master HELLO 4艮文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報(bào)文時(shí),所述工作DR設(shè)置自身為主用 DR;當(dāng)所述工作DR在預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期中接收到 主用DR發(fā)送的Master HELLO報(bào)文,且所述Master HELLO報(bào)文中所包含的 所述工作DR的最新身份狀態(tài)信息為備用DR時(shí),所述工作DR設(shè)置自身為備 用DR;其中,所述預(yù)設(shè)的備用DR Master HELLO 4艮文接收周期大于所述HELLO 報(bào)文發(fā)送周期,小于所述預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期。優(yōu)選的,當(dāng)新的路由器加入所述共享網(wǎng)段時(shí),所述方法還包括所述新的路由器設(shè)置自身的當(dāng)前身份狀態(tài)信息為上線DR;所述上線DR向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含自 身的當(dāng)前身份狀態(tài)信息和選舉參數(shù)的HELLO報(bào)文;所述主用DR接收到所述包含所述上線DR的當(dāng)前身^f分狀態(tài)信息和選舉參 數(shù)的HELLO報(bào)文之后,向所述上線DR發(fā)送包含根據(jù)所述DR選舉策略和所述選舉參數(shù)確定的所述上線DR的最新身份狀態(tài)信息的Master HELLO報(bào)文; 所述上線DR根據(jù)所述Master HELLO報(bào)文中的最新身份狀態(tài)信息設(shè)置自 身的身份狀態(tài)。優(yōu)選的,當(dāng)新的路由器加入所述共享網(wǎng)段時(shí),所述方法還包括所述新的路由器設(shè)置自身的當(dāng)前身份狀態(tài)信息為上線DR;所述上線DR向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含自 身的當(dāng)前身份狀態(tài)信息和選舉參數(shù)的HELLO報(bào)文;所述上線DR接收所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送的包 含自身選舉參數(shù)的HELLO報(bào)文;所述上線DR根據(jù)所述共享網(wǎng)段中的所有被確定為DR的路由器的選舉參 數(shù)和所述DR選舉策略進(jìn)行選舉,并根據(jù)選舉結(jié)果設(shè)置自身的身份狀態(tài)。優(yōu)選的,所述上線DR根據(jù)所述Master HELLO報(bào)文中的最新身份狀態(tài)信 息設(shè)置自身的身份狀態(tài),具體為當(dāng)所述上線DR在預(yù)設(shè)的上線DR Master HELLO報(bào)文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報(bào)文時(shí),所述上線DR設(shè)置自身為主用 DR;當(dāng)所述上線DR在預(yù)設(shè)的上線DR Master HELLO才艮文4妄收周期中4妄收到 主用DR發(fā)送的Master HELLO報(bào)文,且所述Master HELLO報(bào)文中所包含的 所述上線DR的最新身份狀態(tài)信息為備用DR或工作DR時(shí),所述上線DR設(shè) 置自身為備用DR或工作DR;其中,所述預(yù)設(shè)的上線DR Master HELLO才艮文接收周期小于所述HELLO 報(bào)文發(fā)送周期。優(yōu)選的,所述主用DR、所述備用DR和所述工作DR共同分擔(dān)所述共享 網(wǎng)段中的組播業(yè)務(wù),具體為所述主用DR、所述備用DR和所述工作DR分別通過"^合希函數(shù)計(jì)算自身 的哈希值,并將自身的所述哈希值與其他的所述主用DR、所述備用DR和所 述工作DR的哈希值進(jìn)行比較;當(dāng)所述哈希值中存在唯一的最大值時(shí),所述哈希值的最大值所對應(yīng)的所述主用DR、所述備用DR或所述工作DR作為DR對應(yīng)所述共享網(wǎng)段的組播 源或組纟番組;當(dāng)所述哈希值中存在多個(gè)最大值時(shí),IP地址最大的所述主用DR、所述備 用DR或所述工作DR作為DR對應(yīng)所述共享網(wǎng)段的組播源或組播組。另一方面,本發(fā)明還提供了一種路由器,應(yīng)用于包含多個(gè)被確定為DR 的路由器的共享網(wǎng)段中,其中,根據(jù)預(yù)設(shè)的DR選舉策略,所述多個(gè)被確定為 DR的路由器中一個(gè)路由器設(shè)置自身為主用DR,另一個(gè)路由器設(shè)置自身為備 用DR,余下的全部路由器設(shè)置自身為工作DR,新加入所述共享網(wǎng)段中的路 由器設(shè)置自身為上線DR,所述主用DR、所述備用DR和所述工作DR共同 分擔(dān)所述共享網(wǎng)段中的組播業(yè)務(wù),包括報(bào)文發(fā)送模塊,當(dāng)所述路由器的當(dāng)前身份狀態(tài)信息為備用DR、工作DR 或上線DR時(shí),用于按照預(yù)設(shè)的HELLO報(bào)文發(fā)送周期,向所述共享網(wǎng)段中的 所有路由器發(fā)送包含自身身份狀態(tài)信息的HELLO報(bào)文,當(dāng)所述路由器的當(dāng)前 身份狀態(tài)信息為主用DR時(shí),用于按照預(yù)設(shè)的HELLO報(bào)文發(fā)送周期,向所述 共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含根據(jù)所述DR選舉策略確定 的所述共享網(wǎng)段中所有被確定為DR的路由器的最新身份狀態(tài)信息的Master HELLO才艮文;報(bào)文接收模塊,用于接收所述共享網(wǎng)段中的其他被確定為DR的路由器發(fā) 送的HELLO報(bào)文,當(dāng)所述路由器的當(dāng)前身份狀態(tài)信息為備用DR、工作DR 或上線DR時(shí),還用于接收所述共享網(wǎng)段中的主用DR發(fā)送的Master HELLO 報(bào)文;設(shè)置模塊,分別與所述報(bào)文接收模塊和所述報(bào)文發(fā)送模塊電性連接,當(dāng) 所述路由器當(dāng)前沒有設(shè)置自身的身份狀態(tài)時(shí),用于根據(jù)所述報(bào)文接收模塊接 收的所述共享網(wǎng)段中的其他被確定為DR的路由器發(fā)送的HELLO報(bào)文和預(yù)設(shè) 的DR選舉策略設(shè)置自身的身份狀態(tài),當(dāng)所述路由器的當(dāng)前身份狀態(tài)信息為備 用DR、工作DR或上線DR時(shí),還用于根據(jù)所述報(bào)文接收模塊所接收的Master HELLO報(bào)文中的最新身份狀態(tài)信息設(shè)置自身的身份狀態(tài)。優(yōu)選的,所述路由器還包括報(bào)文檢測模塊和計(jì)時(shí)模塊所述報(bào)文檢測模塊,與所述報(bào)文接收模塊和所述設(shè)置模塊電性連接,當(dāng) 所述路由器的當(dāng)前身份狀態(tài)信息為備用DR或工作DR時(shí),用于判斷所述報(bào)文 接收模塊在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期或工作DR Master HELLO拫文接收周期中是否接收到主用DR發(fā)送的Master HELLO報(bào)文;所述計(jì)時(shí)模塊,與所述報(bào)文檢測模塊電性連接,用于對所述HELLO報(bào)文 發(fā)送周期,和/或所迷預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期,和/或所 述預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期,和/或所述預(yù)設(shè)的上線DR Master HELLO報(bào)文接收周期進(jìn)行計(jì)時(shí);在這種情況下所述設(shè)置模塊,還用于當(dāng)所述路由器的當(dāng)前身份狀態(tài)信息為備用DR、工 作DR或上線DR時(shí),根據(jù)所述報(bào)文檢測模塊的檢測結(jié)果,按照所述報(bào)文接收 模塊所接收的Master HELLO報(bào)文中的最新身份狀態(tài)信息以及以下策略設(shè)置 自身的身份狀態(tài)當(dāng)所述備用DR在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報(bào)文時(shí),所述備用DR設(shè)置自身為主用 DR;當(dāng)所述備用DR在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期中接收到 主用DR發(fā)送的Master HELLO報(bào)文,且所述Master HELLO報(bào)文中所包含的 所述備用DR的最新身份狀態(tài)信息為工作DR時(shí),所述備用DR設(shè)置自身為工 作DR;當(dāng)所述工作DR在預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報(bào)文時(shí),所述工作DR設(shè)置自身為主用 DR;當(dāng)所述工作DR在預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期中接收到 主用DR發(fā)送的Master HELLO報(bào)文,且所述Master HELLO報(bào)文中所包含的 所述工作DR的最新身份狀態(tài)信息為備用DR時(shí),所述工作DR設(shè)置自身為備 用DR;當(dāng)所述上線DR在預(yù)設(shè)的上線DR Master HELLO才艮文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報(bào)文時(shí),所述上線DR設(shè)置自身為主用 DR;當(dāng)所述上線DR在預(yù)設(shè)的上線DR Master HELLO才艮文接收周期中接收到 主用DR發(fā)送的Master HELLO報(bào)文,且所述Master HELLO報(bào)文中所包含的 所述上線DR的最新身份狀態(tài)信息為備用DR或工作DR時(shí),所述上線DR設(shè) 置自身為備用DR或工作DR;其中,所述預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期大于所述HELLO 報(bào)文發(fā)送周期,小于所述預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期,所述 預(yù)設(shè)的上線DR Master HELLO凈艮文接收周期小于所述HELLO才艮文發(fā)送周期。優(yōu)選的,所述i 各由器還包括計(jì)算模塊,用于通過哈希函數(shù)計(jì)算所述路由器自身的哈希值; 比較模塊,與所述計(jì)算模塊電性連接,用于將所述計(jì)算模塊計(jì)算的所述路由器自身的哈希值與其他的所述主用DR、所述備用DR和所述工作DR的哈希值進(jìn)行比較;所述設(shè)置模塊,與所述比較模塊電性連接,用于根據(jù)所述比較模塊的比 較結(jié)果,設(shè)置所述路由器與所述共享網(wǎng)段的組播源或組播組的對應(yīng)關(guān)系。 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)通過本發(fā)明,解決了共享網(wǎng)絡(luò)上只存在一個(gè)組播DR的問題,使得共享網(wǎng) 段上多臺路由器都能充分發(fā)揮自己的作用,實(shí)現(xiàn)了組播業(yè)務(wù)的全網(wǎng)負(fù)載均衡, 并擴(kuò)充了共享網(wǎng)段的組播處理能力,使得共享網(wǎng)段上的組播處理規(guī)格得到提 高。
圖1為現(xiàn)有技術(shù)的組播網(wǎng)絡(luò)結(jié)構(gòu)示意圖;圖2為現(xiàn)有技術(shù)的RPT的構(gòu)建過程的流程示意圖;圖3為現(xiàn)有技術(shù)的組播源向RP注冊的過程的流程示意圖;圖4為現(xiàn)有技術(shù)的企業(yè)網(wǎng)組播應(yīng)用組網(wǎng)的結(jié)構(gòu)示意圖;圖5為本發(fā)明提供的一種實(shí)現(xiàn)組播業(yè)務(wù)分擔(dān)的路由器狀態(tài)管理方法的流 程示意圖;圖6為本發(fā)明提供的一種HELLO報(bào)文的構(gòu)成示意圖; 圖7為本發(fā)明提供的一種路由器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了解決現(xiàn)有技術(shù)中的問題,本發(fā)明提出了一種將共享網(wǎng)段上的多個(gè)路 由器確定為DR,并設(shè)置相應(yīng)的身份狀態(tài),使多個(gè)DR共同完成組播功能的方法。在這種技術(shù)方案中,需要解決的問題有包括以下幾點(diǎn),為了方便說明, 具體以PIM-SM為例進(jìn)行相應(yīng)描述,具體的技術(shù)思想在PIM-DM等其他情況下 仍然保持不變,這樣的變化并不影響本發(fā)明的保護(hù)范圍一、 共享網(wǎng)段上,所有路由器都需要知道當(dāng)前共享網(wǎng)段中存在多少路由器。二、 在當(dāng)前的共享網(wǎng)段上,要求各路由器之間分工合作。在此過程中, 需要明確每臺路由器為哪些組播組服務(wù),同時(shí)某臺路由器失效后,其余的路 由器需要完成失效路由器的DR功能。三、 組播源側(cè)的DR的工作是為(S、 G)向RP注冊,按照現(xiàn)有技術(shù)的處理 原則,同一個(gè)網(wǎng)段上的DR負(fù)責(zé)這個(gè)網(wǎng)段上所有的(S, G)的注冊,而在本發(fā) 明的技術(shù)方案中,有多個(gè)DR為這個(gè)網(wǎng)段上的(S, G)注冊,那么,這多個(gè)DR 要遵守同一個(gè)規(guī)則,保證一個(gè)(S, G)只能唯一映射到一個(gè)DR。同樣,接收 者側(cè)DR負(fù)責(zé)為(*, G)向RP注冊,建立其RPT樹,并完成RPT向SPT的切換, 在本發(fā)明的技術(shù)方案中,DR也需要遵守同一個(gè)規(guī)則,使的一個(gè)(*, G)唯一 映射到一個(gè)DR上面。在現(xiàn)有技術(shù)體系的基礎(chǔ)上,本發(fā)明通過以下說明的具體技術(shù)方案解決了 上面三個(gè)問題,在同一個(gè)網(wǎng)段上同時(shí)設(shè)置多個(gè)DR,實(shí)現(xiàn)了組播業(yè)務(wù)的負(fù)載分 擔(dān)和處理。需要指出的是,上述的設(shè)置多個(gè)DR,具體是指使能共享網(wǎng)段上處于開啟 狀態(tài)的路由器的組播功能,使各路由器具有可以承擔(dān)組播業(yè)務(wù)的能力。如圖5所示,為本發(fā)明提出的一種實(shí)現(xiàn)組播業(yè)務(wù)分擔(dān)的路由器狀態(tài)管理方 法的流程示意圖,該方法應(yīng)用于包含多個(gè)被確定為DR的路由器的共享網(wǎng)段中, 其中,根據(jù)預(yù)設(shè)的DR選舉策略,上述的多個(gè)被確定為DR的路由器中一個(gè)路由 器設(shè)置自身為主用DR( Master DR),另 一個(gè)路由器設(shè)置自身為備用DR( Backup DR),余下的全部路由器設(shè)置自身為工作DR (ActiveDR),主用DR、備用 DR和各工作DR共同分擔(dān)共享網(wǎng)段中的組播業(yè)務(wù)。在上述的方案中,對共享網(wǎng)段上面的DR分成三種類型主用DR、備用 DR和工作DR,這三種角色設(shè)置的DR共同承擔(dān)現(xiàn)有技術(shù)中DR的功能,其中, Master DR、 Backup DR、 Active DR都平等的承擔(dān)網(wǎng)絡(luò)DR的功能,轉(zhuǎn)發(fā)組播數(shù) 據(jù),此外,還有一種上線DR (OnlineDR)只是設(shè)備接入網(wǎng)絡(luò)時(shí)候的臨時(shí)角色 設(shè)置,并不承擔(dān)DR功能,即并不實(shí)現(xiàn)組播數(shù)據(jù)的轉(zhuǎn)發(fā)。在存在上述角色設(shè)置的共享網(wǎng)段中,MasterDR需要額外維護(hù)網(wǎng)絡(luò)上其他 DR的狀態(tài),并向當(dāng)前的共享網(wǎng)段上發(fā)布DR身份信息,同時(shí), 一旦MasterDR 失效,Backup DR將迅速成為Master DR,并以Master DR的身份向共享網(wǎng)段上 的其他DR^送HELLO報(bào)文,其他DR收到MasterDR的HELLO消息后,與自己 保存的DR表進(jìn)行比較,如果發(fā)生變化,則按照預(yù)設(shè)的規(guī)則和最新的身份設(shè)置 重新選擇為對應(yīng)的(S, G)和(*, G)服務(wù)。本技術(shù)方案的具體流程說明如下步驟S501、備用DR或工作DR分別按照預(yù)設(shè)的HELLO報(bào)文發(fā)送周期,向 共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送HELLO報(bào)文,該HELLO報(bào)文包 含備用DR或工作DR的當(dāng)前身份狀態(tài)信息。本步驟的作用在于,共享網(wǎng)段中的所有被確定為DR的路由器可以通過發(fā) 送HELLO報(bào)文將自身的當(dāng)前身份狀態(tài)信息告知給其他被確定為DR的路由器, 同時(shí),也可以通過接收其他被確定為DR的路由器發(fā)送的HELLO報(bào)文,獲知其 他路由器的當(dāng)前身份狀態(tài)信息,尤其對于共享網(wǎng)段中的主用DR,可以通過獲 取當(dāng)前的備用DR和工作DR當(dāng)前的身份狀態(tài)信息,并結(jié)合DR選舉策略,對共 享網(wǎng)段中的各個(gè)路由器進(jìn)行狀態(tài)管理。需要指出的是,在本步驟執(zhí)行之前,還需要執(zhí)行DR選舉流程,該流程的具體實(shí)現(xiàn)進(jìn)程如下共享網(wǎng)段中的各被確定為DR的路由器分別按照預(yù)設(shè)的HELLO報(bào)文發(fā)送 周期,向共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含選舉參數(shù)的HELLO 報(bào)文,其中的選舉參數(shù)至少包括IP地址信息,并可選的包括優(yōu)先級參數(shù)。為優(yōu)先級參數(shù)時(shí),各被確定為DR的路由器將自身的優(yōu)先級參數(shù)與通過HELLO 報(bào)文接收到的其他被確定為DR的路由器的優(yōu)先級參數(shù)進(jìn)行比較,如果自身的 優(yōu)先級參數(shù)的優(yōu)先級為最高,則設(shè)置自身為主用DR;如果自身的優(yōu)先級參數(shù) 的優(yōu)先級為次高,則設(shè)置自身為備用DR;如果自身的優(yōu)先級參數(shù)的優(yōu)先級不 是最高或次高,則設(shè)置自身為工作DR;至少有一個(gè)不是優(yōu)先級參數(shù)時(shí),各被確定為DR的路由器將自身的IP地址信息 與通過HELLO報(bào)文接收到的其他被確定為DR的路由器的IP地址信息進(jìn)行比 較,如果自身的IP地址最大,則設(shè)置自身為主用DR;如果自身的IP地址次大, 則設(shè)置自身為備用DR;如果自身的IP地址不是最大或次大,則設(shè)置自身為工 作DR。上述的選舉策略與現(xiàn)有的DR選舉策略相類似,區(qū)別在于上述DR選舉策略 中最終的選舉結(jié)果區(qū)分了各個(gè)DR的身份狀態(tài),包括主用DR、備用DR和工作 DR三種身份狀態(tài),而現(xiàn)有的DR選舉策略則僅是選舉一種DR。Master DR選舉規(guī)則根據(jù)目前PIM協(xié)議保持不變,根據(jù)選舉參數(shù)進(jìn)行選舉, 最優(yōu)的DR成為Master DR,次優(yōu)的DR成為Backup DR,其余的都是Active DR。另一方面,在具體的應(yīng)用場景中,共享網(wǎng)段中可能存在不支持多種身份 狀態(tài)設(shè)置(即多種接口角色設(shè)置)的路由器,在這種情況下,如果根據(jù)預(yù)設(shè) 的DR選舉策略,共享網(wǎng)段中一個(gè)不支持多身份狀態(tài)配置的被確定為DR的路由 器的選舉參數(shù)優(yōu)于該共享網(wǎng)段中的其他被確定為DR的i 各由器時(shí),該不支持多 身份狀態(tài)配置的被確定為DR的路由器獨(dú)自承擔(dān)該共享網(wǎng)段中的組播業(yè)務(wù),而 其他的被確定為DR的路由器不再分擔(dān)組播業(yè)務(wù),但是,在具體的應(yīng)用場景中,上述的其他的被確定為DR的路由器可能具有DR身份以及DR身份區(qū)分,也可 能不再進(jìn)行身份區(qū)分,這樣的變化并不影響本發(fā)明的保護(hù)范圍。步驟S502、主用DR根據(jù)備用DR或工作DR發(fā)送的HELLO報(bào)文,獲取備用 DR或工作DR的當(dāng)前身份狀態(tài)信息,按照HELLO報(bào)文發(fā)送周期,向共享網(wǎng)段 中的所有被確定為DR的路由器發(fā)送Master HELLO報(bào)文,Master HELLO報(bào)文 中包含根據(jù)DR選舉策略確定的共享網(wǎng)段中所有被確定為DR的路由器的最新 身份狀態(tài)信息。其中,Master HELLO報(bào)文中,除了上述的共享網(wǎng)段中所有被確定為DR 的路由器的最新身份狀態(tài)信息,還包括以下信息共享網(wǎng)段中的被確定為DR的路由器數(shù)量;共享網(wǎng)段中所有被確定為DR的路由器的標(biāo)識信息;共享網(wǎng)段中的各被確定為DR的路由器是否支持多身份狀態(tài)配置的標(biāo)識。對于上述步驟,共享網(wǎng)段上所有的被確定為DR的路由器都要監(jiān)聽該共享 網(wǎng)段上的HELLO報(bào)文,記錄該共享網(wǎng)段上鄰居的DR身份狀態(tài),并建立一個(gè)數(shù) 據(jù)庫保留各個(gè)DR的信息。DR通過HELLO報(bào)文來發(fā)現(xiàn)和建立鄰居關(guān)系。當(dāng)一 個(gè)三層接口使能DR功能后,就會以組播形式周期性發(fā)送HELLO報(bào)文,例如, 目的IP為224.0.0.13, HELLC^艮文的發(fā)送周期為30秒。在HELLO報(bào)文中會攜 帶兩邊鄰居協(xié)商的一些參數(shù),其中除了 HELLO HOLD TIME的參數(shù)是必須包 含外,其他都是可選的,當(dāng)被確定為DR的路由器收到自身不識別或者不支持 的參數(shù)時(shí),可以直接跳過,這樣并不影響鄰居關(guān)系的建立。目前,已經(jīng)定義的參數(shù)類型有1 HEIXO Hold Time2 LAN Prune Delay19 DR Priority (PIM-SM Only)20 Generation ID21 State Refresh Capable(PIM-DM Only)22 Bidir Capable(Bidir陽PIM Only) 24Address List(PIM國SM Only)在此基礎(chǔ)上,本發(fā)明擴(kuò)充PIM HELLO報(bào)文的Option能力字段,使得HELLO 才艮文中,能夠攜帶所有的鄰居信息及其角色。本技術(shù)方案擴(kuò)充一個(gè)OptionType等于30的(ALLDR)字段,表明此設(shè)備 的接口是支持多個(gè)DR角色的接口,其中,30為參數(shù)類型編號,ALLDR為參 數(shù)類型的名稱,在具體應(yīng)用中,編號和名稱均可以根據(jù)需要進(jìn)行調(diào)整,在能 夠達(dá)到相同的技術(shù)效果的J^5出上所做出的具體編號和名稱的變化,并不影響 本發(fā)明的保護(hù)范圍。進(jìn)一步的,對于上述參數(shù)類型中的部分參數(shù)項(xiàng)進(jìn)行解釋如下 OptionLength,占用兩個(gè)字節(jié),表明共享網(wǎng)段上鄰居的個(gè)數(shù)。 Option Value,包含所有的鄰居描述, 一個(gè)鄰居描述共6個(gè)字節(jié),前4個(gè)字 節(jié)是運(yùn)行PIM鄰居接口的IP地址,后面2個(gè)說明其角色。角色定義為四種 Master、 Backup、 Active、 Online;可以分別用0X01、 0X02、 0X03、 0X04代 替,其中的代表身份設(shè)置的具體參數(shù)可以根據(jù)實(shí)際需要進(jìn)行變化,這樣的變 化并不影響本發(fā)明的保護(hù)范圍。Option Value,其格式包括接口IP地址和身份標(biāo)識。 步驟S503、備用DR和工作DR接收主用DR發(fā)送的MasterHELLO報(bào)文,并 根據(jù)該MasterHELLO報(bào)文中的最新身份狀態(tài)信息設(shè)置自身的身份狀態(tài)。 具體的處理策略如下當(dāng)備用DR在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期中沒有接收到 主用DR發(fā)送的Master HELLO報(bào)文時(shí),備用DR設(shè)置自身為主用DR;當(dāng)備用DR在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期中接收到主用 DR發(fā)送的Master HELLO報(bào)文,且Master HELLO報(bào)文中所包含的備用DR 的最新身份狀態(tài)信息為工作DR時(shí),備用DR設(shè)置自身為工作DR;當(dāng)工作DR在預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期中沒有接收到 主用DR發(fā)送的Master HELLO報(bào)文時(shí),工作DR設(shè)置自身為主用DR;當(dāng)工作DR在預(yù)設(shè)的工作DR Master HELLO凈艮文接收周期中接收到主用 DR發(fā)送的Master HELLO報(bào)文,且Master HELLO報(bào)文中所包含的工作DR 的最新身份狀態(tài)信息為備用DR時(shí),工作DR設(shè)置自身為備用DR;其中,預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期大于HELLO報(bào)文發(fā) 送周期,小于預(yù)設(shè)的工作DR Master HELLO才艮文接收周期。不僅如此,在上述的身份狀態(tài)設(shè)置完成后,當(dāng)新的路由器加入共享網(wǎng)段 時(shí),還包括以下的處理流程新的路由器設(shè)置自身的當(dāng)前身份狀態(tài)信息為上線DR;上線DR向網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含自身的當(dāng)前身份 狀態(tài)信息和選舉參數(shù)的HELLO報(bào)文;主用DR接收到包含上線DR的當(dāng)前身份狀態(tài)信息和選舉參數(shù)的HELLO報(bào) 文之后,向上線DR發(fā)送包含根據(jù)DR選舉策略和選舉參數(shù)確定的上線DR的最 新身份狀態(tài)信息的Master HELLO報(bào)文;上線DR根據(jù)MasterHELLO報(bào)文中的最新身份狀態(tài)信息設(shè)置自身的身份 狀態(tài),具體包括以下幾種情況當(dāng)上線DR在預(yù)設(shè)的上線DR Master HELLO報(bào)文接收周期中沒有接收到主 用DR發(fā)送的MasterHELLO報(bào)文時(shí),上線DR設(shè)置自身為主用DR;當(dāng)上線DR在預(yù)設(shè)的上線DR Master HELLO報(bào)文接收周期中接收到主用 DR^送的Master HELLO報(bào)文,且Master HELLO凈艮文中所包含的上線DR的最 新身份狀態(tài)信息為備用DR或工作DR時(shí),上線DR設(shè)置自身為備用DR或工作 DR;其中,預(yù)設(shè)的上線DR Master HELLO報(bào)文接收周期小于HELLO報(bào)文發(fā)送 周期,這樣的設(shè)置可以使上線DR迅速識別共享網(wǎng)段中是否存在Master DR。 以新設(shè)備A加入共享網(wǎng)段為例進(jìn)行說明如下新設(shè)備A開始接入共享網(wǎng)段時(shí)候處理過程,發(fā)送的HELLO報(bào)文中,表明 自己是Online角色;如果網(wǎng)段上已經(jīng)有Master DR, Master DR則立即回應(yīng)一個(gè)HELLO報(bào)文, 告訴目前網(wǎng)端中DR的情況,設(shè)備A收到MasterDR的報(bào)文后,把自己的狀態(tài)按 照選舉規(guī)則更改成Master、 Backup、 Active中的一種,并回應(yīng)HELLO報(bào)文。各 個(gè)設(shè)備根據(jù)Master的報(bào)文中攜帶的DR角色再進(jìn)行負(fù)載分擔(dān)處理;如果網(wǎng)段上沒有MasterDR,過3s后自己成為Master DR,并維護(hù)其網(wǎng)段上DR信息的發(fā)布
需要進(jìn)一步說明的是,對應(yīng)上述步驟S501中所^I是出的不支持多身份狀態(tài) 配置的路由器具有最優(yōu)選舉參數(shù)的情況,新加入的路由器的處理策略也會出 現(xiàn)變化,具體說明如下
上線DR的自身設(shè)定策略以及向共享網(wǎng)段中的所有被確定為DR的路由器 發(fā)送HELLO報(bào)文的處理流程不變,但是,在后續(xù)流程中,由于共享網(wǎng)段中不 存在主用DR,所以,所有接收到該HELLO報(bào)文的被確定為DR的路由器都需 要向該上線DR回復(fù)一個(gè)HELLO報(bào)文,并在該HELLO報(bào)文中攜帶自身的選舉 參數(shù),上線DR根據(jù)接收到的所有選舉參數(shù)和預(yù)設(shè)的DR選舉策略進(jìn)行選舉,并 根據(jù)選舉結(jié)果對自身的身份狀態(tài)進(jìn)行設(shè)置。
其中,如果選舉結(jié)果是上線DR的選舉參數(shù)最優(yōu),并且該上線DR支持多身 份狀態(tài)配置,則該上線DR直接設(shè)置自身為主用DR,并對該共享網(wǎng)段中的其他 DR進(jìn)行狀態(tài)管理。
結(jié)合具體的實(shí)施場景,對上述策略進(jìn)行具體說明,各身份設(shè)置的DR的狀 態(tài)處理過程總結(jié)如下 Online DR:
(1 )未收到MasterD嫂送的HELLO報(bào)文。
如果3秒后未收到Master DR發(fā)送的HELLO報(bào)文,則設(shè)置自身為Master DR狀態(tài)。
(2 )收到Master DR^送的HELLO報(bào)文。
如果所收到的HELLO報(bào)文指定其為Active DR狀態(tài),則設(shè)置自身為Active DR狀態(tài),如果所收到的HELLO報(bào)文指定其為Backup DR狀態(tài),設(shè)置自身為 Backup DR狀態(tài)。
Active DR: (1 )未收到MasterDR發(fā)送的HELLO報(bào)文。
如果在4個(gè)HELLO報(bào)文接收周期內(nèi)未收到Master DR發(fā)送的HELLO報(bào)文, 則設(shè)置自身為Master DR狀態(tài)。(2 )收到Master DR發(fā)送的HELLO報(bào)文。 如果所收到的HELLO報(bào)文指定其為Backup DR狀態(tài),設(shè)置自身為Backup DR狀態(tài)。
Backup DR:
(1)未收到MasterDR發(fā)送的HELLO報(bào)文。
如果在2個(gè)HELLO報(bào)文接收周期內(nèi)未收到Master DRj^送的HELLO報(bào)文, 則設(shè)置自身為MasterDR狀態(tài)。
(2 )收到Master DR^送的HELLO才艮文。
如果所收到的HELLO報(bào)文指定其為Active DR狀態(tài),設(shè)置自身為Active DR 狀態(tài)。
Master DR:
如果收到優(yōu)先級高于自身優(yōu)先級的其他DR^送的HELLO報(bào)文,根據(jù) Master DR選舉規(guī)則選舉出最新的Master DR^,將自身設(shè)置為Backup DR。
通過上述角色設(shè)置,當(dāng)MasterDR失效后,Backup DR應(yīng)是最先感知到, 其成為Master報(bào)文,如果Master DR和Backup DR同時(shí)失效,Active DR也能感 知到Master DR的失效,其成為Master DR。
再一方面,在本發(fā)明的技術(shù)方案中,所有的DR都要遵守同一個(gè)規(guī)則,保 證相同的(S, G)或者(*, G)映射到同一個(gè)DR上面。這個(gè)規(guī)則要使得映射 盡可能的均勻即可。
通過上述說明可以知道,網(wǎng)絡(luò)中有多個(gè)服務(wù)的DR,那么這么些DR怎樣共 同承擔(dān)其一個(gè)DR的角色,這就需要一個(gè)統(tǒng)一的規(guī)則,本案建議使用PIM中映 射RP類似的,見則,具體如下
網(wǎng)絡(luò)中的各被確定為DR的路由器將依據(jù)DR集合提供的信息,使用相同的 規(guī)則從眾多DR中為特定組播組和組播源選擇對應(yīng)的DR,具體規(guī)則如下
使用哈希(Hash)函數(shù)計(jì)算各個(gè)DR的哈希值,并選擇哈希值最大的DR 為特定組l番組和組l番源所對應(yīng)的DR。
若同時(shí)有多個(gè)DR具有最大的哈希值,則選擇其中具有最大DR地址的DR 為特定組播組和組播源所對應(yīng)的DR。哈希函數(shù)的表達(dá)式為Value (G, S, DRi) = (1103515245 * ( (1103515245 * (G&S)+ 12345)XORDRi)+ 12345)mod231,其中,各符號的具體含義如下 所示。
公式中哈希函數(shù)中各符號含義 Value:哈希值 G: P組播組的地址
S:組播源地址,如果為(*, G) , S則為255.255.255.255
DRi: DR的IP地址
&:邏輯運(yùn)算符,表示與運(yùn)算
XOR:邏輯運(yùn)算符,表示異或運(yùn)算
Mod:算術(shù)運(yùn)算符,表示整除取余
需要進(jìn)一步指出的是,上述的哈希值算法是以源地址、組地址、DR地址 為元素計(jì)算哈希希值,這只是本發(fā)明的一種優(yōu)選實(shí)施例,在具體的應(yīng)用場景 中,可以根據(jù)實(shí)際需要使用其他的哈希值算法,為在共享網(wǎng)絡(luò)中的多個(gè)DR中 選擇特定組播組和組播源所對應(yīng)的DR提供選^f依據(jù)。這樣的變化并不影響本 發(fā)明的保護(hù)范圍。
通過本發(fā)明所提出的技術(shù)方案,解決了共享網(wǎng)絡(luò)上只存在一個(gè)組播DR 的問題,使得共享網(wǎng)段上多臺路由器都能充分發(fā)揮自己的作用,實(shí)現(xiàn)了組播 業(yè)務(wù)的全網(wǎng)負(fù)載均衡,并擴(kuò)充了共享網(wǎng)段的組播處理能力,使得共享網(wǎng)段上 的組播處理規(guī)格得到提高。
為了實(shí)現(xiàn)本發(fā)明所提出的技術(shù)方案,本發(fā)明進(jìn)一 步提出了 一種路由器, 應(yīng)用于包含多個(gè)被確定為DR的路由器的共享網(wǎng)段中,其中,根據(jù)預(yù)設(shè)的DR 選舉策略,所述多個(gè)被確定為DR的路由器中一個(gè)路由器設(shè)置自身為主用DR, 另一個(gè)路由器設(shè)置自身為備用DR,余下的全部被確定為DR的路由器設(shè)置自 身為工作DR,新加入共享網(wǎng)段中的路由器設(shè)置自身為上線DR,所述主用DR、 所述備用DR和所述工作DR共同分擔(dān)共享網(wǎng)段中的組播業(yè)務(wù),其結(jié)構(gòu)圖如圖 7所示,包括報(bào)文發(fā)送模塊71,當(dāng)該路由器的當(dāng)前身份狀態(tài)信息為備用DR、工作DR 或上線DR時(shí),用于按照預(yù)設(shè)的HELLO報(bào)文發(fā)送周期,向共享網(wǎng)段中的所有 路由器發(fā)送包含自身身份狀態(tài)信息的HELLO報(bào)文,當(dāng)該路由器的當(dāng)前身份狀 態(tài)信息為主用DR時(shí),用于按照預(yù)設(shè)的HELLO報(bào)文發(fā)送周期,向共享網(wǎng)段中 的所有被確定為DR的路由器發(fā)送包含根據(jù)DR選舉策略確定的網(wǎng)段中所有被 確定為DR的路由器的最新身份狀態(tài)信息的Master HELLO報(bào)文;
報(bào)文接收模塊72,用于接收共享網(wǎng)段中的其他被確定為DR的路由器發(fā) 送的HELLO報(bào)文,當(dāng)該路由器的當(dāng)前身份狀態(tài)信息為備用DR、工作DR或 上線DR時(shí),還用于接收共享網(wǎng)段中的主用DR發(fā)送的Master HELLO報(bào)文;
設(shè)置模塊73,分別與報(bào)文接收模塊72和報(bào)文發(fā)送模塊71電性連接,當(dāng) 路由器當(dāng)前沒有設(shè)置自身的身份狀態(tài)時(shí),用于根據(jù)報(bào)文接收模塊71接收的共 享網(wǎng)段中的其他被確定為DR的路由器發(fā)送的HELLO報(bào)文和預(yù)設(shè)的DR選舉 策略設(shè)置自身的身份狀態(tài),當(dāng)該路由器的當(dāng)前身份狀態(tài)信息為備用DR、工作 DR或上線DR時(shí),還用于根據(jù)報(bào)文接收模塊72所接收的Master HELLO報(bào)文 中的最新身份狀態(tài)信息設(shè)置自身的身份狀態(tài)。
在具體的應(yīng)用場景中,該路由器還包括報(bào)文檢測模塊74和計(jì)時(shí)模塊75:
報(bào)文檢測模塊74,與報(bào)文接收模塊72和設(shè)置模塊73電性連接,當(dāng)該路 由器的當(dāng)前身份狀態(tài)信息為備用DR或工作DR時(shí),用于判斷報(bào)文接收模塊 72在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期或工作DR Master HELLO 報(bào)文接收周期中是否接收到主用DR發(fā)送的Master HELLO報(bào)文。
計(jì)時(shí)模塊75,與報(bào)文檢測模塊74電性連接,用于對HELLO報(bào)文發(fā)送周 期,和/或預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期,和/或預(yù)設(shè)的工作DR Master HELLO凈艮文4妻收周期,和/或預(yù)設(shè)的上線DR Master HELLO報(bào)文接收 周期進(jìn)行計(jì)時(shí)。
在此情況下,當(dāng)該路由器的當(dāng)前身份狀態(tài)信息為備用DR、工作DR或上 線DR時(shí),設(shè)置模塊73還用于根據(jù)報(bào)文檢測模塊的檢測結(jié)果,按照報(bào)文接收 模塊所接收的Master HELLO報(bào)文中的最新身份狀態(tài)信息以及以下策略設(shè)置 自身的身份狀態(tài)(1) 對于該路由器的當(dāng)前身份狀態(tài)信息為備用DR的情況,處理策略如
下
主用DR發(fā)送的Master HELLO報(bào)文時(shí),該路由器設(shè)置自身為主用DR;
當(dāng)該路由器在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期中接收到主用 DR發(fā)送的Master HELLO報(bào)文,且Master HELLO報(bào)文中所包含的備用DR 的最新身份狀態(tài)信息為工作DR時(shí),該路由器設(shè)置自身為工作DR;
(2) 對于該路由器的當(dāng)前身份狀態(tài)信息為工作DR的情況,處理策略如
下
當(dāng)該路由器在預(yù)設(shè)的工作DR Master HELLO才艮文接收周期中沒有接收到 主用DR發(fā)送的Master HELLO報(bào)文時(shí),該路由器設(shè)置自身為主用DR;
當(dāng)該路由器在預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期中接收到主用 DR發(fā)送的Master HELLO報(bào)文,且Master HELLO報(bào)文中所包含的該路由器 的最新身份狀態(tài)信息為備用DR時(shí),該路由器設(shè)置自身為備用DR;
(3) 如果該路由器為新加入共享網(wǎng)段的路由器時(shí),該路由器設(shè)置自身的 當(dāng)前身份狀態(tài)信息為上線DR,進(jìn)一步的處理策略如下
當(dāng)該路由器在預(yù)設(shè)的上線DR Master HELLO報(bào)文接收周期中沒有接收到 主用DR發(fā)送的Master HELLO報(bào)文時(shí),該路由器設(shè)置自身為主用DR;
當(dāng)該路由器在預(yù)設(shè)的上線DR Master HELLO報(bào)文接收周期中接收到主用 DR發(fā)送的Master HELLO報(bào)文,且Master HELLO報(bào)文中所包含的該路由器 的最新身份狀態(tài)信息為備用DR或工作DR時(shí),該路由器設(shè)置自身為備用DR 或工作DR;
其中,預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期大于HELLO報(bào)文發(fā) 送周期,小于預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期,預(yù)設(shè)的上線DR Master HELLO報(bào)文接收周期小于HELLO報(bào)文發(fā)送周期。
在具體的應(yīng)用場景中,該路由器還包括
計(jì)算模塊76,用于通過哈希函數(shù)計(jì)算該路由器自身的哈希值;
比較模塊77,與計(jì)算模塊76電性連接,用于將計(jì)算模塊76計(jì)算的路由器自身的哈希值與其他的主用DR、備用DR和工作DR的哈希值進(jìn)行比較; 設(shè)置模塊73,與比較模塊77電性連接,用于根據(jù)比較模塊78的比較結(jié)
果,設(shè)置該路由器與共享網(wǎng)段的組播源或組播組的對應(yīng)關(guān)系。
通過本發(fā)明,解決了共享網(wǎng)絡(luò)上只存在一個(gè)組播DR的問題,使得共享網(wǎng)
段上多臺路由器都能充分發(fā)揮自己的作用,實(shí)現(xiàn)了組播業(yè)務(wù)的全網(wǎng)負(fù)載均衡,
并擴(kuò)充了共享網(wǎng)段的組播處理能力,使得共享網(wǎng)段上的組播處理規(guī)格得到提高。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā) 明可以通過硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實(shí)現(xiàn)。 基于這樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟 件產(chǎn)品可以存儲在一個(gè)非易失性存儲介質(zhì)(可以是CD-ROM, U盤,移動硬 盤等)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服 務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施場景所述的方法。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施場景的示意圖,附圖中 的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。
本領(lǐng)域技術(shù)人員可以理解實(shí)施場景中的裝置中的模塊可以按照實(shí)施場景 描述進(jìn)行分布于實(shí)施場景的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施 場景的一個(gè)或多個(gè)裝置中。上述實(shí)施場景的模塊可以合并為一個(gè)模塊,也可 以進(jìn)一步拆分成多個(gè)子模塊。
上述本發(fā)明序號僅僅為了描述,不代表實(shí)施場景的優(yōu)劣。
以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施場景,但是,本發(fā)明并非局限于 此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種實(shí)現(xiàn)指定路由器DR之間組播業(yè)務(wù)分擔(dān)的狀態(tài)管理方法,其特征在于,應(yīng)用于包含多個(gè)被確定為DR的路由器的共享網(wǎng)段中,其中,根據(jù)預(yù)設(shè)的DR選舉策略,所述多個(gè)被確定為DR的路由器中一個(gè)路由器設(shè)置自身為主用DR,另一個(gè)路由器設(shè)置自身為備用DR,余下的全部路由器設(shè)置自身為工作DR,所述主用DR、所述備用DR和所述工作DR按照負(fù)載均衡的策略共同分擔(dān)所述共享網(wǎng)段中的組播業(yè)務(wù),所述方法具體包括所述備用DR或所述工作DR分別按照預(yù)設(shè)的呼叫HELLO報(bào)文發(fā)送周期,向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送HELLO報(bào)文,所述HELLO報(bào)文包含所述備用DR或所述工作DR的當(dāng)前身份狀態(tài)信息;所述主用DR根據(jù)所述備用DR或所述工作DR發(fā)送的HELLO報(bào)文,獲取所述備用DR或所述工作DR的當(dāng)前身份狀態(tài)信息,按照所述HELLO報(bào)文發(fā)送周期,向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送主用呼叫Master HELLO報(bào)文,所述Master HELLO報(bào)文中包含根據(jù)所述DR選舉策略確定的所述共享網(wǎng)段中所有被確定為DR的路由器的最新身份狀態(tài)信息;所述備用DR和所述工作DR接收所述主用DR發(fā)送的Master HELLO報(bào)文,并根據(jù)所述Master HELLO報(bào)文中的最新身份狀態(tài)信息設(shè)置自身的身份狀態(tài)。
2、如權(quán)利要求l所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)的DR選舉策 略,所述多個(gè)被確定為DR的路由器中一個(gè)路由器設(shè)置自身為主用DR,另一 個(gè)路由器設(shè)置自身為備用DR,余下的全部路由器設(shè)置自身為工作DR,具體 為所述共享網(wǎng)段中的各被確定為DR的路由器分別按照預(yù)設(shè)的HELLO報(bào)文 發(fā)送周期,向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含選舉參數(shù) 的HELLO報(bào)文,所述選舉參數(shù)至少包括IP地址信息,并可選的包括優(yōu)先級 參數(shù);數(shù)均為優(yōu)先級參數(shù)時(shí),所述各被確定為DR的路由器將自身的優(yōu)先級參數(shù)與通 過所述HELLO報(bào)文接收到的其他被確定為DR的路由器的優(yōu)先級參數(shù)進(jìn)行比較,如果自身的優(yōu)先級參數(shù)的優(yōu)先級為最高,則設(shè)置自身為主用DR;如果自 身的優(yōu)先級參數(shù)的優(yōu)先級為次高,則設(shè)置自身為備用DR;如果自身的優(yōu)先級 參數(shù)的優(yōu)先級不是最高或次高,則設(shè)置自身為工作DR;數(shù)中至少有一個(gè)不是優(yōu)先級參數(shù)時(shí),所述各被確定為DR的路由器將自身的 IP地址信息與通過所述HELLO報(bào)文接收到的其他被確定為DR的路由器的IP 地址信息進(jìn)行比較,如果自身的IP地址最大,則設(shè)置自身為主用DR;如果 自身的IP地址次大,則設(shè)置自身為備用DR;如果自身的IP地址不是最大或 次大,則設(shè)置自身為工作DR。
3、 如權(quán)利要求2所述的方法,其特征在于,當(dāng)根據(jù)預(yù)設(shè)的DR選舉策略, 所述多個(gè)被確定為DR的路由器中一個(gè)不支持多身份狀態(tài)配置的路由器的選 舉參數(shù)優(yōu)于所述共享網(wǎng)段中的其他路由器時(shí),所述不支持多身份狀態(tài)配置的 路由器承擔(dān)所述共享網(wǎng)段中的組播業(yè)務(wù)。
4、 如權(quán)利要求1或3所述的方法,其特征在于,所述Master HELLO報(bào) 文,還包括所述共享網(wǎng)段中的DR數(shù)量;所述共享網(wǎng)段中所有DR的標(biāo)識信息;所述共享網(wǎng)段中的各DR是否支持多身份狀態(tài)配置的標(biāo)識。
5、 如權(quán)利要求1所述的方法,其特征在于,所述備用DR和所述工作DR 接收所述主用DR發(fā)送的Master HELLO報(bào)文,并根據(jù)所述Master HELLO報(bào) 文中的最新身份狀態(tài)信息設(shè)置自身的身份狀態(tài),具體為當(dāng)所述備用DR在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報(bào)文時(shí),所述備用DR設(shè)置自身為主用 DR;當(dāng)所述備用DR在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期中接收到 主用DR發(fā)送的Master HELLO報(bào)文,且所述Master HELLO報(bào)文中所包含的 所述備用DR的最新身份狀態(tài)信息為工作DR時(shí),所述備用DR設(shè)置自身為工 作DR;當(dāng)所述工作DR在預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報(bào)文時(shí),所述工作DR設(shè)置自身為主用 DR;當(dāng)所述工作DR在預(yù)設(shè)的工作DR Master HELLO 4艮文接收周期中接收到 主用DR發(fā)送的Master HELLO報(bào)文,且所述Master HELLO報(bào)文中所包含的 所述工作DR的最新身份狀態(tài)信息為備用DR時(shí),所述工作DR設(shè)置自身為備 用DR;其中,所述預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期大于所述HELLO 報(bào)文發(fā)送周期,小于所述預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期。
6、 如權(quán)利要求1或2所述的方法,其特征在于,當(dāng)新的路由器加入所述 共享網(wǎng)段時(shí),所述方法還包括所述新的路由器設(shè)置自身的當(dāng)前身份狀態(tài)信息為上線DR;所述上線DR向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含自 身的當(dāng)前身份狀態(tài)信息和選舉參數(shù)的HELLO報(bào)文;所述主用DR接收到所述包含所述上線DR的當(dāng)前身份狀態(tài)信息和選舉參 數(shù)的HELLO報(bào)文之后,向所述上線DR發(fā)送包含根據(jù)所述DR選舉策略和所 述選舉參數(shù)確定的所述上線DR的最新身份狀態(tài)信息的Master HELLO報(bào)文;所述上線DR根據(jù)所述Master HELLO報(bào)文中的最新身份狀態(tài)信息設(shè)置自 身的身份狀態(tài)。
7、 如權(quán)利要求3所述的方法,其特征在于,當(dāng)新的路由器加入所述共享 網(wǎng)段時(shí),所述方法還包括所述新的路由器設(shè)置自身的當(dāng)前身份狀態(tài)信息為上線DR;所述上線DR向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含自 身的當(dāng)前身份狀態(tài)信息和選舉參數(shù)的HELLO報(bào)文;所述上線DR接收所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送的包 含自身選舉參數(shù)的HELLO報(bào)文;所述上線DR根據(jù)所述共享網(wǎng)段中的所有被確定為DR的路由器的選舉參 數(shù)和所述DR選舉策略進(jìn)行選舉,并根據(jù)選舉結(jié)果設(shè)置自身的身份狀態(tài)。
8、 如權(quán)利要求6所述的方法,其特征在于,所述上線DR根據(jù)所述Master HELLO報(bào)文中的最新身份狀態(tài)信息設(shè)置自身的身份狀態(tài),具體為當(dāng)所述上線DR在預(yù)設(shè)的上線DR Master HELLO寺艮文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報(bào)文時(shí),所述上線DR設(shè)置自身為主用 DR;當(dāng)所述上線DR在預(yù)設(shè)的上線DR Master HELLO報(bào)文接收周期中接收到 主用DR發(fā)送的Master HELLO報(bào)文,且所述Master HELLO報(bào)文中所包含的 所述上線DR的最新身份狀態(tài)信息為備用DR或工作DR時(shí),所述上線DR設(shè) 置自身為備用DR或工作DR;其中,所述預(yù)設(shè)的上線DR Master HELLO報(bào)文接收周期小于所述HELLO 報(bào)文發(fā)送周期。
9、 如權(quán)利要求1所述的方法,其特征在于,所述主用DR、所述備用DR 和所述工作DR共同分擔(dān)所述共享網(wǎng)段中的組播業(yè)務(wù),具體為所述主用DR、所述備用DR和所述工作DR分別通過哈希函數(shù)計(jì)算自身 的哈希值,并將自身的所述哈希值與其他的所述主用DR、所述備用DR和所 述工作DR的哈希值進(jìn)行比較;當(dāng)所述哈希值中存在唯一的最大值時(shí),所述哈希值的最大值所對應(yīng)的所 述主用DR、所述備用DR或所述工作DR作為DR對應(yīng)所述共享網(wǎng)段的組4番 源或組插iE;當(dāng)所述哈希值中存在多個(gè)最大值時(shí),IP地址最大的所述主用DR、所述備 用DR或所述工作DR作為DR對應(yīng)所述共享網(wǎng)^:的組i番源或組播i且。
10、 一種路由器,其特征在于,應(yīng)用于包含多個(gè)被確定為DR的路由器的 共享網(wǎng)段中,其中,根據(jù)預(yù)設(shè)的DR選舉策略,所述多個(gè)^皮確定為DR的路由 器中一個(gè)路由器設(shè)置自身為主用DR,另一個(gè)路由器設(shè)置自身為備用DR,余 下的全部路由器設(shè)置自身為工作DR,新加入所述共享網(wǎng)段中的路由器設(shè)置自 身為上線DR,所述主用DR、所述備用DR和所述工作DR共同分擔(dān)所述共 享網(wǎng)段中的組播業(yè)務(wù),包括報(bào)文發(fā)送模塊,當(dāng)所述路由器的當(dāng)前身份狀態(tài)信息為備用DR、工作DR 或上線DR時(shí),用于按照預(yù)設(shè)的HELLO報(bào)文發(fā)送周期,向所述共享網(wǎng)段中的 所有路由器發(fā)送包含自身身份狀態(tài)信息的HELLO報(bào)文,當(dāng)所述路由器的當(dāng)前 身份狀態(tài)信息為主用DR時(shí),用于按照預(yù)設(shè)的HELLO報(bào)文發(fā)送周期,向所述的所述共享網(wǎng)段中所有被確定為DR的路由器的最新身份狀態(tài)信息的Master HELLO才艮文;報(bào)文接收模塊,用于接收所述共享網(wǎng)段中的其他被確定為DR的路由器發(fā) 送的HELLO報(bào)文,當(dāng)所述路由器的當(dāng)前身份狀態(tài)信息為備用DR、工作DR 或上線DR時(shí),還用于接收所述共享網(wǎng)段中的主用DR發(fā)送的Master HELLO 報(bào)文;設(shè)置模塊,分別與所述報(bào)文接收模塊和所述報(bào)文發(fā)送模塊電性連接,當(dāng) 所述路由器當(dāng)前沒有設(shè)置自身的身份狀態(tài)時(shí),用于根據(jù)所述報(bào)文接收模塊接 收的所述共享網(wǎng)段中的其他被確定為DR的路由器發(fā)送的HELLO報(bào)文和預(yù)設(shè) 的DR選舉策略設(shè)置自身的身份狀態(tài),當(dāng)所述路由器的當(dāng)前身份狀態(tài)信息為備 用DR、工作DR或上線DR時(shí),還用于根據(jù)所述報(bào)文接收模塊所接收的Master HELLO報(bào)文中的最新身份狀態(tài)信息設(shè)置自身的身份狀態(tài)。
11、如權(quán)利要求IO所述的路由器,其特征在于,還包括報(bào)文檢測模塊和 計(jì)時(shí)模塊所述報(bào)文檢測模塊,與所述報(bào)文接收模塊和所述設(shè)置模塊電性連接,當(dāng) 所述路由器的當(dāng)前身份狀態(tài)信息為備用DR或工作DR時(shí),用于判斷所述報(bào)文 接收沖莫塊在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期或工作DR Master HELLO報(bào)文接收周期中是否接收到主用DR發(fā)送的Master HELLO報(bào)文;所述計(jì)時(shí)模塊,與所述報(bào)文檢測模塊電性連接,用于對所述HELLO報(bào)文 發(fā)送周期,和/或所述預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期,和/或所 述預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期,和/或所述預(yù)設(shè)的上線DR Master HELLO報(bào)文接收周期進(jìn)行計(jì)時(shí);在這種情況下所述設(shè)置模塊,還用于當(dāng)所述路由器的當(dāng)前身份狀態(tài)信息為備用DR、工 作DR或上線DR時(shí),根據(jù)所述報(bào)文檢測模塊的檢測結(jié)果,按照所述報(bào)文接收 模塊所接收的Master HELLO報(bào)文中的最新身份狀態(tài)信息以及以下策略設(shè)置 自身的身份狀態(tài)當(dāng)所述備用DR在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報(bào)文時(shí),所述備用DR設(shè)置自身為主用 DR;當(dāng)所述備用DR在預(yù)設(shè)的備用DR Master HELLO報(bào)文接收周期中接收到 主用DR發(fā)送的Master HELLO報(bào)文,且所述Master HELLO報(bào)文中所包含的 所述備用DR的最新身份狀態(tài)信息為工作DR時(shí),所述備用DR設(shè)置自身為工 作DR;當(dāng)所述工作DR在預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報(bào)文時(shí),所述工作DR設(shè)置自身為主用 DR;當(dāng)所述工作DR在預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期中接收到 主用DR發(fā)送的Master HELLO報(bào)文,且所述Master HELLO報(bào)文中所包含的 所述工作DR的最新身份狀態(tài)信息為備用DR時(shí),所述工作DR設(shè)置自身為備 用DR;收到主用DR發(fā)送的Master HELLO報(bào)文時(shí),所述上線DR設(shè)置自身為主用 DR;主用DR發(fā)送的Master HELLO報(bào)文,且所述Master HELLO報(bào)文中所包含的 所述上線DR的最新身份狀態(tài)信息為備用DR或工作DR時(shí),所述上線DR設(shè) 置自身為備用DR或工作DR;其中,所述預(yù)設(shè)的備用DR Master HELLO才艮文4妻收周期大于所述HELLO 報(bào)文發(fā)送周期,小于所述預(yù)設(shè)的工作DR Master HELLO報(bào)文接收周期,所述 預(yù)設(shè)的上線DR Master HELLO報(bào)文接收周期小于所述HELLO報(bào)文發(fā)送周期。
12、如權(quán)利要求IO所述的路由器,其特征在于,還包括 計(jì)算模塊,用于通過哈希函數(shù)計(jì)算所述路由器自身的哈希值; 比較模塊,與所述計(jì)算模塊電性連接,用于將所述計(jì)算模塊計(jì)算的所述路由器自身的哈希值與其他的所述主用DR、所述備用DR和所述工作DR的哈希值進(jìn)行比較;所述設(shè)置模塊,與所述比較模塊電性連接,用于根據(jù)所述比較模塊的比 較結(jié)果,設(shè)置所述路由器與所述共享網(wǎng)段的組播源或組播組的對應(yīng)關(guān)系。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)DR之間組播業(yè)務(wù)分擔(dān)的狀態(tài)管理方法和裝置,通過將共享網(wǎng)段中被確定為DR的路由器設(shè)置不同的身份狀態(tài),使得共享網(wǎng)段上的多臺被確定為DR的路由器之間可以進(jìn)行狀態(tài)管理和建立主備關(guān)系,并能充分利用各路由器的資源,使各路由器共同分擔(dān)共享網(wǎng)段的組播業(yè)務(wù),實(shí)現(xiàn)組播業(yè)務(wù)的全網(wǎng)負(fù)載均衡,并擴(kuò)充了共享網(wǎng)段的組播處理能力,使得共享網(wǎng)段上的組播處理規(guī)格得到提高。
文檔編號H04L1/22GK101577679SQ20091014852
公開日2009年11月11日 申請日期2009年6月26日 優(yōu)先權(quán)日2009年6月26日
發(fā)明者偉 王 申請人:杭州華三通信技術(shù)有限公司