国产精品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>

      實現(xiàn)指定路由器之間組播業(yè)務分擔的狀態(tài)管理方法和裝置的制作方法

      文檔序號:7709190閱讀:182來源:國知局
      專利名稱:實現(xiàn)指定路由器之間組播業(yè)務分擔的狀態(tài)管理方法和裝置的制作方法
      技術領域
      本發(fā)明涉及通信技術領域,特別涉及一種實現(xiàn)指定路由器之間組播業(yè)務 分擔的狀態(tài)管理方法和裝置。
      背景技術
      目前隨著交互式網(wǎng)絡電視(InternetProtocol Television, IPTV )、視頻會 議等業(yè)務的開展,以及數(shù)字電視的興起,組播業(yè)務在現(xiàn)有網(wǎng)絡上得到了越來 越廣泛的應用。對于用戶端來說,使用組播業(yè)務主要是靠組播路由協(xié)議和互聯(lián)網(wǎng)組管理 協(xié)議(Internet Group Management Protocol, IGMP )等相關的協(xié)議來實現(xiàn)的。用戶需要組播業(yè)務的時候,會通過用戶端設備向相連的路由器發(fā)送某一 個組播組的IGMP組加入請求消息,路由器收到該組播組的IGMP加入請求消 息后,確認有用戶需要獲取該組播組的組播數(shù)據(jù)業(yè)務,從而,根據(jù)組播數(shù)據(jù) 需求方和提供方的對應關系,形成一個IGMP表項,并進一步從當前網(wǎng)絡中把 該組播組的數(shù)據(jù)流發(fā)送給對應的用戶。為了保證組播業(yè)務開展的可靠性,形成可靠的備份,與用戶相連的路由 器一般設置有多個,在現(xiàn)有的網(wǎng)絡結構中, 一般是設置兩個路由器與用戶端 設備直接相連。相應的,與同一個用戶端設名4目連的多個路由器會通過一定 的竟爭機制,選舉出一臺路由器當作查詢器,由該查詢器負責組播組的維護 工作,同時由協(xié)議無關組4番(Protocol Independent Multicast, PIM)路由器通 過一定的竟爭規(guī)則,選擇出一個指定路由器(DesignatedRouter, DR),由 DR來負責組播數(shù)據(jù)的轉發(fā)工作。在常見的典型應用場景中,接入側的PIM和 IGMP同時運行,完成組4番業(yè)務的開展。以常見的協(xié)議無關組播的稀疏模式(Protocol Independent Multicast-Sparse Mode, PIM-SM)為例,說明組播協(xié)議的工作機制,PIM-SM的工作機制可概括為鄰居發(fā)現(xiàn)、DR選舉、匯集點(Rendezvous Point, RP)發(fā)現(xiàn)、構建RP 樹(RPTree, RPT)、組^番源注冊和最短路徑樹(Shortest Path Tree, SPT) 切換六個過程,具體說明如下1. 鄰居發(fā)現(xiàn)PIM-SM在路由器之間進行HELLO報文的交換,并以此來發(fā)現(xiàn)共享網(wǎng)段上 的鄰居。2. DR選舉借助HELLO報文還可以為共享網(wǎng)絡(例如,以太網(wǎng)Ethernet)選舉DR, 并將選舉出的DR作為該共享網(wǎng)絡中組播數(shù)據(jù)的唯一轉發(fā)者。在實際應用中,無論是與組播源相連的網(wǎng)絡,還是與接收者相連的網(wǎng)絡, 都需要選舉出相應的DR。接收者側的DR負責向RP發(fā)送加入報文,組播源側 的DR負責向RP發(fā)送注冊才艮文。在現(xiàn)有技術中的DR的選舉策略如下(1) 共享網(wǎng)絡上的各路由器相互之間發(fā)送HELLO報文,在該HELLO報 文中攜帶有該路由器竟選DR的優(yōu)先級參數(shù),擁有最高優(yōu)先級的路由器將成為 DR。(2) 如果存在多個路由器擁有相同的最高優(yōu)先級,或者共享網(wǎng)絡中至少 有一臺路由器不支持在HELLO報文中攜帶竟選DR的優(yōu)先級參數(shù),則根據(jù)各路 由器的IP地址大小來竟選DR, IP地址最大的路由器將成為DR。(3) 當DR出現(xiàn)故障時,其余路由器在超出預設的響應時間后仍沒有收到 來自DR的HELLO報文,則會觸發(fā)新的DR選舉過程。如圖l所示的共享網(wǎng)段中,組播源側包含路由器A,路由器B和路由器C, 根據(jù)上述的DR選舉策略,選舉具有最高優(yōu)先級的路由器B成為DR,而在接收 者側,在路由器D和路由器E中選舉具有最高優(yōu)先級的路由器D成為DR,其中, 路由器B向作為RP的路由器F發(fā)送注冊報文,路由器D向RP發(fā)送加入報文。3. RP發(fā)現(xiàn)RP是PIM-SM域中的核心設備。 一般在PIM-SM域中需要配置多個候選RP (Candidate-RP, C-RP),通過自舉機制來動態(tài)選舉RP,使不同的RP服務于不同的組播組,此時,還需要配置自舉路由器(Bootstrap Router, BSR)。 BSRAPIM-SM域的管理核心, 一個PIM-SM域內(nèi)只能有一個BSR,但可以配置 多個候選BSR (Candidate-BSR, C-BSR)。這樣, 一旦BSRj^生故障,其余 C-BSR能夠通過自動選舉產(chǎn)生新的BSR,從而確保業(yè)務免受中斷。4. 構建RPT如圖2所示,RPT的構建過程如下步驟S201、當接收者加入一個組播組G時,先通過IGMP才艮文通知與其直 連的DR。步驟s202、 DR掌握了組播組G的接收者的信息后,向該組播組G所對應的 RP方向逐跳發(fā)送加入報文。步驟S203、從DR到RP所經(jīng)過的路由器就形成了RPT的分支,這些路由器 都在其轉發(fā)表中生成了 (*, G)表項,這里的"*"表示來自任意組播源。RPT 以RP為4艮,以DR為葉子。當發(fā)往組播組G的組播數(shù)據(jù)流經(jīng)RP時,數(shù)據(jù)就會沿著已建立好的RPT到達 DR,進而到達接收者。當某接收者對組播組G的信息不再感興趣時,與其直連的DR會逆著RPT 向該組播組G的RP方向逐跳發(fā)送剪枝報文。上游節(jié)點收到該報文后在其出接 口列表中刪除與下游節(jié)點相連的接口,并檢查自己是否擁有該組播組G的接收 者,如果沒有則繼續(xù)向其上游轉發(fā)該剪枝報文,相反,如果該上游節(jié)點發(fā)現(xiàn) 自己還擁有其他的該組播組G的接收者,則不再向上游轉發(fā)該剪枝報文,因為, 需要為其他的接受者繼續(xù)保留上游的RPT分支。。5. 組播源注冊如圖3所示,組播源向RP注冊的過程如下步驟S301、當組播源S向組播組G發(fā)送了一個組播報文時,與組播源直接 連的DR在收到該報文后,就將其封裝成注冊報文,并通過單播方式發(fā)送給相 應的RP。步驟S302、當RP收到該報文后, 一方面解封裝注冊報文并將封裝在其中 的組播報文沿著RPT轉發(fā)給接收者,另一方面向組播源方向逐跳發(fā)送(S, G)加入報文。這樣,從RP到組播源所經(jīng)過的路由器就形成了SPT的分支,這些 路由器都在其轉發(fā)表中生成了 (S, G)表項。SPT以組播源側的DR為根,以 RP為葉子。步驟S303、組播源發(fā)出的組播數(shù)據(jù)沿著已建立好的SPT到達RP,然后由 RP把組播數(shù)據(jù)沿著RPT向接收者進行轉發(fā)。當RP收到沿著SPT轉發(fā)來的組播 數(shù)據(jù)后,通過單播方式向與組播源直連的DR發(fā)送注冊停止報文(Register-Stop Message),組纟番源注冊過程結束。6. SPT切換接收者側DR周期性地檢測組播數(shù)據(jù)(S, G)的轉發(fā)速率, 一旦發(fā)現(xiàn)其超 過閾值,立即發(fā)起SPT切換,過程如下首先,接收者側DR向組播源方向發(fā)送(S, G)加入報文,并最終送達組 播源側的DR,沿途經(jīng)過的所有路由器在其轉發(fā)表中都生成了 (S, G)表項, 從而建立了SPT分支;隨后,當組播數(shù)據(jù)沿SPT到達RPT與SPT分叉的路由器時,該路由器開始 丟棄沿RPT到達的組播數(shù)據(jù),同時向RP逐跳發(fā)送含RP位的剪枝報文,RP收到 該報文后繼續(xù)向組播源方向發(fā)送剪枝報文(假設此時只有這一個接收者), 從而完成了SPT切換;最終,組播數(shù)據(jù)將沿SPT從組播源到達到接收者。 通過SPT切換,PIM-SM能夠以比PIM-DM更經(jīng)濟的方式建立SPT。 在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題 在現(xiàn)有技術的網(wǎng)絡構架結構中,DR^組播中很重要的一個角色,承擔著 組播源注冊和接收者端RPT和SPT樹的建立等重要職責。目前,根據(jù)PIM協(xié)議 的處理規(guī)則,在一個共享網(wǎng)段上只有一個路由器承擔著DR的角色,其余路由 器都是作為DR的路由器的名"分功能。這樣, 一旦作為DR的路由器選擇確定后, 組播的轉發(fā)路徑SPT也確定了 ,導致所有的組播業(yè)務只是由少數(shù)路由器來完 成,而其余的路由器都是備份功能。隨著組播業(yè)務的開展,用戶希望所有的 路由器都能轉發(fā)組播業(yè)務,這樣所有的設備都得到了充分利用,同時用戶也 希望通過這樣的方式,使各個路由器之間實現(xiàn)組播的互為備份功能。在如圖4所示的一個典型的企業(yè)網(wǎng)組播應用組網(wǎng)圖中,按照現(xiàn)有技術的處 理規(guī)則,接入側是一個共享網(wǎng)段,接入側的DR不是路由器B就是路由器C,如 果確定DRA路由器B,那么組播流的路徑就是組播源Source到路由器A,再到 路由器B,再到路由器D,最后發(fā)送給接收者Receiver;如果DlU:路由器C, 那么組播流的路徑就是組播源Source到路由器A,再到路由器C,再到路由器D, 最后發(fā)送給接收者Receiver??梢钥吹浇M播業(yè)務流始終在一邊鏈路上,無法實現(xiàn)一部分組播組的數(shù)據(jù) 流通過路由器B所在的支路發(fā)送,而另 一部分組播組的數(shù)據(jù)流通過路由器C所 在的支路發(fā)送的處理狀態(tài),從而,無法實現(xiàn)組播業(yè)務的全網(wǎng)負載分擔,浪費 了共享網(wǎng)段中大量的資源。發(fā)明內(nèi)容本發(fā)明提供一種實現(xiàn)指定路由器之間組播業(yè)務分擔的狀態(tài)管理方法和裝 置,以實現(xiàn)共享網(wǎng)段上多臺路由器共同分擔組播業(yè)務,使各個路由器都能充 分發(fā)揮自己的作用,從而實現(xiàn)組播業(yè)務的負載均衡。為達到上述目的,本發(fā)明 一 方面提供了 一種實現(xiàn)指定路由器DR之間組播 業(yè)務分擔的狀態(tài)管理方法,應用于包含多個被確定為DR的路由器的共享網(wǎng)段 中,其中,根據(jù)預設的DR選舉策略,所述多個被確定為DR的路由器中一個 路由器設置自身為主用DR,另一個路由器設置自身為備用DR,余下的全部 路由器設置自身為工作DR,所述主用DR、所述備用DR和所述工作DR按 照負載均衡的策略共同分擔所述共享網(wǎng)段中的組播業(yè)務,所述方法具體包括所述備用DR或所述工作DR分別按照預設的呼叫HELLO報文發(fā)送周期, 向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送HELLO報文,所述 HELLO報文包含所述備用DR或所述工作DR的當前身份狀態(tài)信息;取所述備用DR或所述工作DR的當前身份狀態(tài)信息,按照所述HELLO報文 發(fā)送周期,向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送主用呼叫 Master HELLO報文,所述Master HELLO報文中包含根據(jù)所述DR選舉策略確定的所述共享網(wǎng)段中所有被確定為DR的路由器的最新身份狀態(tài)信息;所述備用DR和所述工作DR接收所述主用DR發(fā)送的Master HELLO報 文,并根據(jù)所述Master HELLO報文中的最新身份狀態(tài)信息設置自身的身份狀 態(tài)。優(yōu)選的,所述根據(jù)預設的DR選舉策略,所述多個被確定為DR的路由器 中一個路由器設置自身為主用DR,另一個路由器設置自身為備用DR,余下 的全部路由器設置自身為工作DR,具體為所述共享網(wǎng)段中的各被確定為DR的路由器分別按照預設的HELLO報文 發(fā)送周期,向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含選舉參數(shù) 的HELLO報文,所述選舉參數(shù)至少包括IP地址信息,并可選的包括優(yōu)先級 參數(shù);當所述各^皮確定為DR的^各由器所發(fā)送的HELLO凈艮文中所包含的選舉參 數(shù)均為優(yōu)先級參數(shù)時,所述各被確定為DR的路由器將自身的優(yōu)先級參數(shù)與通 過所述HELLO報文接收到的其他被確定為DR的路由器的優(yōu)先級參數(shù)進行比 較,如果自身的優(yōu)先級參數(shù)的優(yōu)先級為最高,則設置自身為主用DR;如果自 身的優(yōu)先級參數(shù)的優(yōu)先級為次高,則設置自身為備用DR;如果自身的優(yōu)先級 參數(shù)的優(yōu)先級不是最高或次高,則設置自身為工作DR;數(shù)中至少有一個不是優(yōu)先級參數(shù)時,所述各被確定為DR的路由器將自身的 IP地址信息與通過所述HELLO報文接收到的其他被確定為DR的路由器的IP 地址信息進行比較,如果自身的IP地址最大,則設置自身為主用DR;如果 自身的IP地址次大,則設置自身為備用DR;如果自身的IP地址不是最大或 次大,則設置自身為工作DR。優(yōu)選的,當根據(jù)預設的DR選舉策略,所述多個被確定為DR的路由器中 一個不支持多身份狀態(tài)配置的路由器的選舉參數(shù)優(yōu)于所述共享網(wǎng)段中的其他 路由器時,所述不支持多身份狀態(tài)配置的路由器承擔所述共享網(wǎng)段中的組播 業(yè)務。優(yōu)選的,所述Master HELLO報文,還包括所述共享網(wǎng)段中的DR數(shù)量;所述共享網(wǎng)段中所有DR的標識信息;所述共享網(wǎng)段中的各DR是否支持多身份狀態(tài)配置的標識。優(yōu)選的,所述備用DR和所述工作DR接收所述主用DR發(fā)送的Master HELLO報文,并根據(jù)所述Master HELLO報文中的最新身份狀態(tài)信息設置自 身的身份狀態(tài),具體為當所述備用DR在預設的備用DR Master HELLO報文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報文時,所述備用DR設置自身為主用 DR;當所述備用DR在預設的備用DR Master HELLO報文接收周期中接收到 主用DR發(fā)送的Master HELLO報文,且所述Master HELLO報文中所包含的 所述備用DR的最新身份狀態(tài)信息為工作DR時,所述備用DR設置自身為工 作DR;當所述工作DR在預設的工作DR Master HELLO 4艮文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報文時,所述工作DR設置自身為主用 DR;當所述工作DR在預設的工作DR Master HELLO報文接收周期中接收到 主用DR發(fā)送的Master HELLO報文,且所述Master HELLO報文中所包含的 所述工作DR的最新身份狀態(tài)信息為備用DR時,所述工作DR設置自身為備 用DR;其中,所述預設的備用DR Master HELLO 4艮文接收周期大于所述HELLO 報文發(fā)送周期,小于所述預設的工作DR Master HELLO報文接收周期。優(yōu)選的,當新的路由器加入所述共享網(wǎng)段時,所述方法還包括所述新的路由器設置自身的當前身份狀態(tài)信息為上線DR;所述上線DR向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含自 身的當前身份狀態(tài)信息和選舉參數(shù)的HELLO報文;所述主用DR接收到所述包含所述上線DR的當前身^f分狀態(tài)信息和選舉參 數(shù)的HELLO報文之后,向所述上線DR發(fā)送包含根據(jù)所述DR選舉策略和所述選舉參數(shù)確定的所述上線DR的最新身份狀態(tài)信息的Master HELLO報文; 所述上線DR根據(jù)所述Master HELLO報文中的最新身份狀態(tài)信息設置自 身的身份狀態(tài)。優(yōu)選的,當新的路由器加入所述共享網(wǎng)段時,所述方法還包括所述新的路由器設置自身的當前身份狀態(tài)信息為上線DR;所述上線DR向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含自 身的當前身份狀態(tài)信息和選舉參數(shù)的HELLO報文;所述上線DR接收所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送的包 含自身選舉參數(shù)的HELLO報文;所述上線DR根據(jù)所述共享網(wǎng)段中的所有被確定為DR的路由器的選舉參 數(shù)和所述DR選舉策略進行選舉,并根據(jù)選舉結果設置自身的身份狀態(tài)。優(yōu)選的,所述上線DR根據(jù)所述Master HELLO報文中的最新身份狀態(tài)信 息設置自身的身份狀態(tài),具體為當所述上線DR在預設的上線DR Master HELLO報文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報文時,所述上線DR設置自身為主用 DR;當所述上線DR在預設的上線DR Master HELLO才艮文4妄收周期中4妄收到 主用DR發(fā)送的Master HELLO報文,且所述Master HELLO報文中所包含的 所述上線DR的最新身份狀態(tài)信息為備用DR或工作DR時,所述上線DR設 置自身為備用DR或工作DR;其中,所述預設的上線DR Master HELLO才艮文接收周期小于所述HELLO 報文發(fā)送周期。優(yōu)選的,所述主用DR、所述備用DR和所述工作DR共同分擔所述共享 網(wǎng)段中的組播業(yè)務,具體為所述主用DR、所述備用DR和所述工作DR分別通過"^合希函數(shù)計算自身 的哈希值,并將自身的所述哈希值與其他的所述主用DR、所述備用DR和所 述工作DR的哈希值進行比較;當所述哈希值中存在唯一的最大值時,所述哈希值的最大值所對應的所述主用DR、所述備用DR或所述工作DR作為DR對應所述共享網(wǎng)段的組播 源或組纟番組;當所述哈希值中存在多個最大值時,IP地址最大的所述主用DR、所述備 用DR或所述工作DR作為DR對應所述共享網(wǎng)段的組播源或組播組。另一方面,本發(fā)明還提供了一種路由器,應用于包含多個被確定為DR 的路由器的共享網(wǎng)段中,其中,根據(jù)預設的DR選舉策略,所述多個被確定為 DR的路由器中一個路由器設置自身為主用DR,另一個路由器設置自身為備 用DR,余下的全部路由器設置自身為工作DR,新加入所述共享網(wǎng)段中的路 由器設置自身為上線DR,所述主用DR、所述備用DR和所述工作DR共同 分擔所述共享網(wǎng)段中的組播業(yè)務,包括報文發(fā)送模塊,當所述路由器的當前身份狀態(tài)信息為備用DR、工作DR 或上線DR時,用于按照預設的HELLO報文發(fā)送周期,向所述共享網(wǎng)段中的 所有路由器發(fā)送包含自身身份狀態(tài)信息的HELLO報文,當所述路由器的當前 身份狀態(tài)信息為主用DR時,用于按照預設的HELLO報文發(fā)送周期,向所述 共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含根據(jù)所述DR選舉策略確定 的所述共享網(wǎng)段中所有被確定為DR的路由器的最新身份狀態(tài)信息的Master HELLO才艮文;報文接收模塊,用于接收所述共享網(wǎng)段中的其他被確定為DR的路由器發(fā) 送的HELLO報文,當所述路由器的當前身份狀態(tài)信息為備用DR、工作DR 或上線DR時,還用于接收所述共享網(wǎng)段中的主用DR發(fā)送的Master HELLO 報文;設置模塊,分別與所述報文接收模塊和所述報文發(fā)送模塊電性連接,當 所述路由器當前沒有設置自身的身份狀態(tài)時,用于根據(jù)所述報文接收模塊接 收的所述共享網(wǎng)段中的其他被確定為DR的路由器發(fā)送的HELLO報文和預設 的DR選舉策略設置自身的身份狀態(tài),當所述路由器的當前身份狀態(tài)信息為備 用DR、工作DR或上線DR時,還用于根據(jù)所述報文接收模塊所接收的Master HELLO報文中的最新身份狀態(tài)信息設置自身的身份狀態(tài)。優(yōu)選的,所述路由器還包括報文檢測模塊和計時模塊所述報文檢測模塊,與所述報文接收模塊和所述設置模塊電性連接,當 所述路由器的當前身份狀態(tài)信息為備用DR或工作DR時,用于判斷所述報文 接收模塊在預設的備用DR Master HELLO報文接收周期或工作DR Master HELLO拫文接收周期中是否接收到主用DR發(fā)送的Master HELLO報文;所述計時模塊,與所述報文檢測模塊電性連接,用于對所述HELLO報文 發(fā)送周期,和/或所迷預設的備用DR Master HELLO報文接收周期,和/或所 述預設的工作DR Master HELLO報文接收周期,和/或所述預設的上線DR Master HELLO報文接收周期進行計時;在這種情況下所述設置模塊,還用于當所述路由器的當前身份狀態(tài)信息為備用DR、工 作DR或上線DR時,根據(jù)所述報文檢測模塊的檢測結果,按照所述報文接收 模塊所接收的Master HELLO報文中的最新身份狀態(tài)信息以及以下策略設置 自身的身份狀態(tài)當所述備用DR在預設的備用DR Master HELLO報文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報文時,所述備用DR設置自身為主用 DR;當所述備用DR在預設的備用DR Master HELLO報文接收周期中接收到 主用DR發(fā)送的Master HELLO報文,且所述Master HELLO報文中所包含的 所述備用DR的最新身份狀態(tài)信息為工作DR時,所述備用DR設置自身為工 作DR;當所述工作DR在預設的工作DR Master HELLO報文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報文時,所述工作DR設置自身為主用 DR;當所述工作DR在預設的工作DR Master HELLO報文接收周期中接收到 主用DR發(fā)送的Master HELLO報文,且所述Master HELLO報文中所包含的 所述工作DR的最新身份狀態(tài)信息為備用DR時,所述工作DR設置自身為備 用DR;當所述上線DR在預設的上線DR Master HELLO才艮文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報文時,所述上線DR設置自身為主用 DR;當所述上線DR在預設的上線DR Master HELLO才艮文接收周期中接收到 主用DR發(fā)送的Master HELLO報文,且所述Master HELLO報文中所包含的 所述上線DR的最新身份狀態(tài)信息為備用DR或工作DR時,所述上線DR設 置自身為備用DR或工作DR;其中,所述預設的備用DR Master HELLO報文接收周期大于所述HELLO 報文發(fā)送周期,小于所述預設的工作DR Master HELLO報文接收周期,所述 預設的上線DR Master HELLO凈艮文接收周期小于所述HELLO才艮文發(fā)送周期。優(yōu)選的,所述i 各由器還包括計算模塊,用于通過哈希函數(shù)計算所述路由器自身的哈希值; 比較模塊,與所述計算模塊電性連接,用于將所述計算模塊計算的所述路由器自身的哈希值與其他的所述主用DR、所述備用DR和所述工作DR的哈希值進行比較;所述設置模塊,與所述比較模塊電性連接,用于根據(jù)所述比較模塊的比 較結果,設置所述路由器與所述共享網(wǎng)段的組播源或組播組的對應關系。 與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點通過本發(fā)明,解決了共享網(wǎng)絡上只存在一個組播DR的問題,使得共享網(wǎng) 段上多臺路由器都能充分發(fā)揮自己的作用,實現(xiàn)了組播業(yè)務的全網(wǎng)負載均衡, 并擴充了共享網(wǎng)段的組播處理能力,使得共享網(wǎng)段上的組播處理規(guī)格得到提 高。


      圖1為現(xiàn)有技術的組播網(wǎng)絡結構示意圖;圖2為現(xiàn)有技術的RPT的構建過程的流程示意圖;圖3為現(xiàn)有技術的組播源向RP注冊的過程的流程示意圖;圖4為現(xiàn)有技術的企業(yè)網(wǎng)組播應用組網(wǎng)的結構示意圖;圖5為本發(fā)明提供的一種實現(xiàn)組播業(yè)務分擔的路由器狀態(tài)管理方法的流 程示意圖;圖6為本發(fā)明提供的一種HELLO報文的構成示意圖; 圖7為本發(fā)明提供的一種路由器的結構示意圖。
      具體實施方式
      為了解決現(xiàn)有技術中的問題,本發(fā)明提出了一種將共享網(wǎng)段上的多個路 由器確定為DR,并設置相應的身份狀態(tài),使多個DR共同完成組播功能的方法。在這種技術方案中,需要解決的問題有包括以下幾點,為了方便說明, 具體以PIM-SM為例進行相應描述,具體的技術思想在PIM-DM等其他情況下 仍然保持不變,這樣的變化并不影響本發(fā)明的保護范圍一、 共享網(wǎng)段上,所有路由器都需要知道當前共享網(wǎng)段中存在多少路由器。二、 在當前的共享網(wǎng)段上,要求各路由器之間分工合作。在此過程中, 需要明確每臺路由器為哪些組播組服務,同時某臺路由器失效后,其余的路 由器需要完成失效路由器的DR功能。三、 組播源側的DR的工作是為(S、 G)向RP注冊,按照現(xiàn)有技術的處理 原則,同一個網(wǎng)段上的DR負責這個網(wǎng)段上所有的(S, G)的注冊,而在本發(fā) 明的技術方案中,有多個DR為這個網(wǎng)段上的(S, G)注冊,那么,這多個DR 要遵守同一個規(guī)則,保證一個(S, G)只能唯一映射到一個DR。同樣,接收 者側DR負責為(*, G)向RP注冊,建立其RPT樹,并完成RPT向SPT的切換, 在本發(fā)明的技術方案中,DR也需要遵守同一個規(guī)則,使的一個(*, G)唯一 映射到一個DR上面。在現(xiàn)有技術體系的基礎上,本發(fā)明通過以下說明的具體技術方案解決了 上面三個問題,在同一個網(wǎng)段上同時設置多個DR,實現(xiàn)了組播業(yè)務的負載分 擔和處理。需要指出的是,上述的設置多個DR,具體是指使能共享網(wǎng)段上處于開啟 狀態(tài)的路由器的組播功能,使各路由器具有可以承擔組播業(yè)務的能力。如圖5所示,為本發(fā)明提出的一種實現(xiàn)組播業(yè)務分擔的路由器狀態(tài)管理方 法的流程示意圖,該方法應用于包含多個被確定為DR的路由器的共享網(wǎng)段中, 其中,根據(jù)預設的DR選舉策略,上述的多個被確定為DR的路由器中一個路由 器設置自身為主用DR( Master DR),另 一個路由器設置自身為備用DR( Backup DR),余下的全部路由器設置自身為工作DR (ActiveDR),主用DR、備用 DR和各工作DR共同分擔共享網(wǎng)段中的組播業(yè)務。在上述的方案中,對共享網(wǎng)段上面的DR分成三種類型主用DR、備用 DR和工作DR,這三種角色設置的DR共同承擔現(xiàn)有技術中DR的功能,其中, Master DR、 Backup DR、 Active DR都平等的承擔網(wǎng)絡DR的功能,轉發(fā)組播數(shù) 據(jù),此外,還有一種上線DR (OnlineDR)只是設備接入網(wǎng)絡時候的臨時角色 設置,并不承擔DR功能,即并不實現(xiàn)組播數(shù)據(jù)的轉發(fā)。在存在上述角色設置的共享網(wǎng)段中,MasterDR需要額外維護網(wǎng)絡上其他 DR的狀態(tài),并向當前的共享網(wǎng)段上發(fā)布DR身份信息,同時, 一旦MasterDR 失效,Backup DR將迅速成為Master DR,并以Master DR的身份向共享網(wǎng)段上 的其他DR^送HELLO報文,其他DR收到MasterDR的HELLO消息后,與自己 保存的DR表進行比較,如果發(fā)生變化,則按照預設的規(guī)則和最新的身份設置 重新選擇為對應的(S, G)和(*, G)服務。本技術方案的具體流程說明如下步驟S501、備用DR或工作DR分別按照預設的HELLO報文發(fā)送周期,向 共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送HELLO報文,該HELLO報文包 含備用DR或工作DR的當前身份狀態(tài)信息。本步驟的作用在于,共享網(wǎng)段中的所有被確定為DR的路由器可以通過發(fā) 送HELLO報文將自身的當前身份狀態(tài)信息告知給其他被確定為DR的路由器, 同時,也可以通過接收其他被確定為DR的路由器發(fā)送的HELLO報文,獲知其 他路由器的當前身份狀態(tài)信息,尤其對于共享網(wǎng)段中的主用DR,可以通過獲 取當前的備用DR和工作DR當前的身份狀態(tài)信息,并結合DR選舉策略,對共 享網(wǎng)段中的各個路由器進行狀態(tài)管理。需要指出的是,在本步驟執(zhí)行之前,還需要執(zhí)行DR選舉流程,該流程的具體實現(xiàn)進程如下共享網(wǎng)段中的各被確定為DR的路由器分別按照預設的HELLO報文發(fā)送 周期,向共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含選舉參數(shù)的HELLO 報文,其中的選舉參數(shù)至少包括IP地址信息,并可選的包括優(yōu)先級參數(shù)。為優(yōu)先級參數(shù)時,各被確定為DR的路由器將自身的優(yōu)先級參數(shù)與通過HELLO 報文接收到的其他被確定為DR的路由器的優(yōu)先級參數(shù)進行比較,如果自身的 優(yōu)先級參數(shù)的優(yōu)先級為最高,則設置自身為主用DR;如果自身的優(yōu)先級參數(shù) 的優(yōu)先級為次高,則設置自身為備用DR;如果自身的優(yōu)先級參數(shù)的優(yōu)先級不 是最高或次高,則設置自身為工作DR;至少有一個不是優(yōu)先級參數(shù)時,各被確定為DR的路由器將自身的IP地址信息 與通過HELLO報文接收到的其他被確定為DR的路由器的IP地址信息進行比 較,如果自身的IP地址最大,則設置自身為主用DR;如果自身的IP地址次大, 則設置自身為備用DR;如果自身的IP地址不是最大或次大,則設置自身為工 作DR。上述的選舉策略與現(xiàn)有的DR選舉策略相類似,區(qū)別在于上述DR選舉策略 中最終的選舉結果區(qū)分了各個DR的身份狀態(tài),包括主用DR、備用DR和工作 DR三種身份狀態(tài),而現(xiàn)有的DR選舉策略則僅是選舉一種DR。Master DR選舉規(guī)則根據(jù)目前PIM協(xié)議保持不變,根據(jù)選舉參數(shù)進行選舉, 最優(yōu)的DR成為Master DR,次優(yōu)的DR成為Backup DR,其余的都是Active DR。另一方面,在具體的應用場景中,共享網(wǎng)段中可能存在不支持多種身份 狀態(tài)設置(即多種接口角色設置)的路由器,在這種情況下,如果根據(jù)預設 的DR選舉策略,共享網(wǎng)段中一個不支持多身份狀態(tài)配置的被確定為DR的路由 器的選舉參數(shù)優(yōu)于該共享網(wǎng)段中的其他被確定為DR的i 各由器時,該不支持多 身份狀態(tài)配置的被確定為DR的路由器獨自承擔該共享網(wǎng)段中的組播業(yè)務,而 其他的被確定為DR的路由器不再分擔組播業(yè)務,但是,在具體的應用場景中,上述的其他的被確定為DR的路由器可能具有DR身份以及DR身份區(qū)分,也可 能不再進行身份區(qū)分,這樣的變化并不影響本發(fā)明的保護范圍。步驟S502、主用DR根據(jù)備用DR或工作DR發(fā)送的HELLO報文,獲取備用 DR或工作DR的當前身份狀態(tài)信息,按照HELLO報文發(fā)送周期,向共享網(wǎng)段 中的所有被確定為DR的路由器發(fā)送Master HELLO報文,Master HELLO報文 中包含根據(jù)DR選舉策略確定的共享網(wǎng)段中所有被確定為DR的路由器的最新 身份狀態(tài)信息。其中,Master HELLO報文中,除了上述的共享網(wǎng)段中所有被確定為DR 的路由器的最新身份狀態(tài)信息,還包括以下信息共享網(wǎng)段中的被確定為DR的路由器數(shù)量;共享網(wǎng)段中所有被確定為DR的路由器的標識信息;共享網(wǎng)段中的各被確定為DR的路由器是否支持多身份狀態(tài)配置的標識。對于上述步驟,共享網(wǎng)段上所有的被確定為DR的路由器都要監(jiān)聽該共享 網(wǎng)段上的HELLO報文,記錄該共享網(wǎng)段上鄰居的DR身份狀態(tài),并建立一個數(shù) 據(jù)庫保留各個DR的信息。DR通過HELLO報文來發(fā)現(xiàn)和建立鄰居關系。當一 個三層接口使能DR功能后,就會以組播形式周期性發(fā)送HELLO報文,例如, 目的IP為224.0.0.13, HELLC^艮文的發(fā)送周期為30秒。在HELLO報文中會攜 帶兩邊鄰居協(xié)商的一些參數(shù),其中除了 HELLO HOLD TIME的參數(shù)是必須包 含外,其他都是可選的,當被確定為DR的路由器收到自身不識別或者不支持 的參數(shù)時,可以直接跳過,這樣并不影響鄰居關系的建立。目前,已經(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)在此基礎上,本發(fā)明擴充PIM HELLO報文的Option能力字段,使得HELLO 才艮文中,能夠攜帶所有的鄰居信息及其角色。本技術方案擴充一個OptionType等于30的(ALLDR)字段,表明此設備 的接口是支持多個DR角色的接口,其中,30為參數(shù)類型編號,ALLDR為參 數(shù)類型的名稱,在具體應用中,編號和名稱均可以根據(jù)需要進行調(diào)整,在能 夠達到相同的技術效果的J^5出上所做出的具體編號和名稱的變化,并不影響 本發(fā)明的保護范圍。進一步的,對于上述參數(shù)類型中的部分參數(shù)項進行解釋如下 OptionLength,占用兩個字節(jié),表明共享網(wǎng)段上鄰居的個數(shù)。 Option Value,包含所有的鄰居描述, 一個鄰居描述共6個字節(jié),前4個字 節(jié)是運行PIM鄰居接口的IP地址,后面2個說明其角色。角色定義為四種 Master、 Backup、 Active、 Online;可以分別用0X01、 0X02、 0X03、 0X04代 替,其中的代表身份設置的具體參數(shù)可以根據(jù)實際需要進行變化,這樣的變 化并不影響本發(fā)明的保護范圍。Option Value,其格式包括接口IP地址和身份標識。 步驟S503、備用DR和工作DR接收主用DR發(fā)送的MasterHELLO報文,并 根據(jù)該MasterHELLO報文中的最新身份狀態(tài)信息設置自身的身份狀態(tài)。 具體的處理策略如下當備用DR在預設的備用DR Master HELLO報文接收周期中沒有接收到 主用DR發(fā)送的Master HELLO報文時,備用DR設置自身為主用DR;當備用DR在預設的備用DR Master HELLO報文接收周期中接收到主用 DR發(fā)送的Master HELLO報文,且Master HELLO報文中所包含的備用DR 的最新身份狀態(tài)信息為工作DR時,備用DR設置自身為工作DR;當工作DR在預設的工作DR Master HELLO報文接收周期中沒有接收到 主用DR發(fā)送的Master HELLO報文時,工作DR設置自身為主用DR;當工作DR在預設的工作DR Master HELLO凈艮文接收周期中接收到主用 DR發(fā)送的Master HELLO報文,且Master HELLO報文中所包含的工作DR 的最新身份狀態(tài)信息為備用DR時,工作DR設置自身為備用DR;其中,預設的備用DR Master HELLO報文接收周期大于HELLO報文發(fā) 送周期,小于預設的工作DR Master HELLO才艮文接收周期。不僅如此,在上述的身份狀態(tài)設置完成后,當新的路由器加入共享網(wǎng)段 時,還包括以下的處理流程新的路由器設置自身的當前身份狀態(tài)信息為上線DR;上線DR向網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含自身的當前身份 狀態(tài)信息和選舉參數(shù)的HELLO報文;主用DR接收到包含上線DR的當前身份狀態(tài)信息和選舉參數(shù)的HELLO報 文之后,向上線DR發(fā)送包含根據(jù)DR選舉策略和選舉參數(shù)確定的上線DR的最 新身份狀態(tài)信息的Master HELLO報文;上線DR根據(jù)MasterHELLO報文中的最新身份狀態(tài)信息設置自身的身份 狀態(tài),具體包括以下幾種情況當上線DR在預設的上線DR Master HELLO報文接收周期中沒有接收到主 用DR發(fā)送的MasterHELLO報文時,上線DR設置自身為主用DR;當上線DR在預設的上線DR Master HELLO報文接收周期中接收到主用 DR^送的Master HELLO報文,且Master HELLO凈艮文中所包含的上線DR的最 新身份狀態(tài)信息為備用DR或工作DR時,上線DR設置自身為備用DR或工作 DR;其中,預設的上線DR Master HELLO報文接收周期小于HELLO報文發(fā)送 周期,這樣的設置可以使上線DR迅速識別共享網(wǎng)段中是否存在Master DR。 以新設備A加入共享網(wǎng)段為例進行說明如下新設備A開始接入共享網(wǎng)段時候處理過程,發(fā)送的HELLO報文中,表明 自己是Online角色;如果網(wǎng)段上已經(jīng)有Master DR, Master DR則立即回應一個HELLO報文, 告訴目前網(wǎng)端中DR的情況,設備A收到MasterDR的報文后,把自己的狀態(tài)按 照選舉規(guī)則更改成Master、 Backup、 Active中的一種,并回應HELLO報文。各 個設備根據(jù)Master的報文中攜帶的DR角色再進行負載分擔處理;如果網(wǎng)段上沒有MasterDR,過3s后自己成為Master DR,并維護其網(wǎng)段上DR信息的發(fā)布
      需要進一步說明的是,對應上述步驟S501中所^I是出的不支持多身份狀態(tài) 配置的路由器具有最優(yōu)選舉參數(shù)的情況,新加入的路由器的處理策略也會出 現(xiàn)變化,具體說明如下
      上線DR的自身設定策略以及向共享網(wǎng)段中的所有被確定為DR的路由器 發(fā)送HELLO報文的處理流程不變,但是,在后續(xù)流程中,由于共享網(wǎng)段中不 存在主用DR,所以,所有接收到該HELLO報文的被確定為DR的路由器都需 要向該上線DR回復一個HELLO報文,并在該HELLO報文中攜帶自身的選舉 參數(shù),上線DR根據(jù)接收到的所有選舉參數(shù)和預設的DR選舉策略進行選舉,并 根據(jù)選舉結果對自身的身份狀態(tài)進行設置。
      其中,如果選舉結果是上線DR的選舉參數(shù)最優(yōu),并且該上線DR支持多身 份狀態(tài)配置,則該上線DR直接設置自身為主用DR,并對該共享網(wǎng)段中的其他 DR進行狀態(tài)管理。
      結合具體的實施場景,對上述策略進行具體說明,各身份設置的DR的狀 態(tài)處理過程總結如下 Online DR:
      (1 )未收到MasterD嫂送的HELLO報文。
      如果3秒后未收到Master DR發(fā)送的HELLO報文,則設置自身為Master DR狀態(tài)。
      (2 )收到Master DR^送的HELLO報文。
      如果所收到的HELLO報文指定其為Active DR狀態(tài),則設置自身為Active DR狀態(tài),如果所收到的HELLO報文指定其為Backup DR狀態(tài),設置自身為 Backup DR狀態(tài)。
      Active DR: (1 )未收到MasterDR發(fā)送的HELLO報文。
      如果在4個HELLO報文接收周期內(nèi)未收到Master DR發(fā)送的HELLO報文, 則設置自身為Master DR狀態(tài)。(2 )收到Master DR發(fā)送的HELLO報文。 如果所收到的HELLO報文指定其為Backup DR狀態(tài),設置自身為Backup DR狀態(tài)。
      Backup DR:
      (1)未收到MasterDR發(fā)送的HELLO報文。
      如果在2個HELLO報文接收周期內(nèi)未收到Master DRj^送的HELLO報文, 則設置自身為MasterDR狀態(tài)。
      (2 )收到Master DR^送的HELLO才艮文。
      如果所收到的HELLO報文指定其為Active DR狀態(tài),設置自身為Active DR 狀態(tài)。
      Master DR:
      如果收到優(yōu)先級高于自身優(yōu)先級的其他DR^送的HELLO報文,根據(jù) Master DR選舉規(guī)則選舉出最新的Master DR^,將自身設置為Backup DR。
      通過上述角色設置,當MasterDR失效后,Backup DR應是最先感知到, 其成為Master報文,如果Master DR和Backup DR同時失效,Active DR也能感 知到Master DR的失效,其成為Master DR。
      再一方面,在本發(fā)明的技術方案中,所有的DR都要遵守同一個規(guī)則,保 證相同的(S, G)或者(*, G)映射到同一個DR上面。這個規(guī)則要使得映射 盡可能的均勻即可。
      通過上述說明可以知道,網(wǎng)絡中有多個服務的DR,那么這么些DR怎樣共 同承擔其一個DR的角色,這就需要一個統(tǒng)一的規(guī)則,本案建議使用PIM中映 射RP類似的,見則,具體如下
      網(wǎng)絡中的各被確定為DR的路由器將依據(jù)DR集合提供的信息,使用相同的 規(guī)則從眾多DR中為特定組播組和組播源選擇對應的DR,具體規(guī)則如下
      使用哈希(Hash)函數(shù)計算各個DR的哈希值,并選擇哈希值最大的DR 為特定組l番組和組l番源所對應的DR。
      若同時有多個DR具有最大的哈希值,則選擇其中具有最大DR地址的DR 為特定組播組和組播源所對應的DR。哈希函數(shù)的表達式為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地址
      &:邏輯運算符,表示與運算
      XOR:邏輯運算符,表示異或運算
      Mod:算術運算符,表示整除取余
      需要進一步指出的是,上述的哈希值算法是以源地址、組地址、DR地址 為元素計算哈希希值,這只是本發(fā)明的一種優(yōu)選實施例,在具體的應用場景 中,可以根據(jù)實際需要使用其他的哈希值算法,為在共享網(wǎng)絡中的多個DR中 選擇特定組播組和組播源所對應的DR提供選^f依據(jù)。這樣的變化并不影響本 發(fā)明的保護范圍。
      通過本發(fā)明所提出的技術方案,解決了共享網(wǎng)絡上只存在一個組播DR 的問題,使得共享網(wǎng)段上多臺路由器都能充分發(fā)揮自己的作用,實現(xiàn)了組播 業(yè)務的全網(wǎng)負載均衡,并擴充了共享網(wǎng)段的組播處理能力,使得共享網(wǎng)段上 的組播處理規(guī)格得到提高。
      為了實現(xiàn)本發(fā)明所提出的技術方案,本發(fā)明進一 步提出了 一種路由器, 應用于包含多個被確定為DR的路由器的共享網(wǎng)段中,其中,根據(jù)預設的DR 選舉策略,所述多個被確定為DR的路由器中一個路由器設置自身為主用DR, 另一個路由器設置自身為備用DR,余下的全部被確定為DR的路由器設置自 身為工作DR,新加入共享網(wǎng)段中的路由器設置自身為上線DR,所述主用DR、 所述備用DR和所述工作DR共同分擔共享網(wǎng)段中的組播業(yè)務,其結構圖如圖 7所示,包括報文發(fā)送模塊71,當該路由器的當前身份狀態(tài)信息為備用DR、工作DR 或上線DR時,用于按照預設的HELLO報文發(fā)送周期,向共享網(wǎng)段中的所有 路由器發(fā)送包含自身身份狀態(tài)信息的HELLO報文,當該路由器的當前身份狀 態(tài)信息為主用DR時,用于按照預設的HELLO報文發(fā)送周期,向共享網(wǎng)段中 的所有被確定為DR的路由器發(fā)送包含根據(jù)DR選舉策略確定的網(wǎng)段中所有被 確定為DR的路由器的最新身份狀態(tài)信息的Master HELLO報文;
      報文接收模塊72,用于接收共享網(wǎng)段中的其他被確定為DR的路由器發(fā) 送的HELLO報文,當該路由器的當前身份狀態(tài)信息為備用DR、工作DR或 上線DR時,還用于接收共享網(wǎng)段中的主用DR發(fā)送的Master HELLO報文;
      設置模塊73,分別與報文接收模塊72和報文發(fā)送模塊71電性連接,當 路由器當前沒有設置自身的身份狀態(tài)時,用于根據(jù)報文接收模塊71接收的共 享網(wǎng)段中的其他被確定為DR的路由器發(fā)送的HELLO報文和預設的DR選舉 策略設置自身的身份狀態(tài),當該路由器的當前身份狀態(tài)信息為備用DR、工作 DR或上線DR時,還用于根據(jù)報文接收模塊72所接收的Master HELLO報文 中的最新身份狀態(tài)信息設置自身的身份狀態(tài)。
      在具體的應用場景中,該路由器還包括報文檢測模塊74和計時模塊75:
      報文檢測模塊74,與報文接收模塊72和設置模塊73電性連接,當該路 由器的當前身份狀態(tài)信息為備用DR或工作DR時,用于判斷報文接收模塊 72在預設的備用DR Master HELLO報文接收周期或工作DR Master HELLO 報文接收周期中是否接收到主用DR發(fā)送的Master HELLO報文。
      計時模塊75,與報文檢測模塊74電性連接,用于對HELLO報文發(fā)送周 期,和/或預設的備用DR Master HELLO報文接收周期,和/或預設的工作DR Master HELLO凈艮文4妻收周期,和/或預設的上線DR Master HELLO報文接收 周期進行計時。
      在此情況下,當該路由器的當前身份狀態(tài)信息為備用DR、工作DR或上 線DR時,設置模塊73還用于根據(jù)報文檢測模塊的檢測結果,按照報文接收 模塊所接收的Master HELLO報文中的最新身份狀態(tài)信息以及以下策略設置 自身的身份狀態(tài)(1) 對于該路由器的當前身份狀態(tài)信息為備用DR的情況,處理策略如

      主用DR發(fā)送的Master HELLO報文時,該路由器設置自身為主用DR;
      當該路由器在預設的備用DR Master HELLO報文接收周期中接收到主用 DR發(fā)送的Master HELLO報文,且Master HELLO報文中所包含的備用DR 的最新身份狀態(tài)信息為工作DR時,該路由器設置自身為工作DR;
      (2) 對于該路由器的當前身份狀態(tài)信息為工作DR的情況,處理策略如

      當該路由器在預設的工作DR Master HELLO才艮文接收周期中沒有接收到 主用DR發(fā)送的Master HELLO報文時,該路由器設置自身為主用DR;
      當該路由器在預設的工作DR Master HELLO報文接收周期中接收到主用 DR發(fā)送的Master HELLO報文,且Master HELLO報文中所包含的該路由器 的最新身份狀態(tài)信息為備用DR時,該路由器設置自身為備用DR;
      (3) 如果該路由器為新加入共享網(wǎng)段的路由器時,該路由器設置自身的 當前身份狀態(tài)信息為上線DR,進一步的處理策略如下
      當該路由器在預設的上線DR Master HELLO報文接收周期中沒有接收到 主用DR發(fā)送的Master HELLO報文時,該路由器設置自身為主用DR;
      當該路由器在預設的上線DR Master HELLO報文接收周期中接收到主用 DR發(fā)送的Master HELLO報文,且Master HELLO報文中所包含的該路由器 的最新身份狀態(tài)信息為備用DR或工作DR時,該路由器設置自身為備用DR 或工作DR;
      其中,預設的備用DR Master HELLO報文接收周期大于HELLO報文發(fā) 送周期,小于預設的工作DR Master HELLO報文接收周期,預設的上線DR Master HELLO報文接收周期小于HELLO報文發(fā)送周期。
      在具體的應用場景中,該路由器還包括
      計算模塊76,用于通過哈希函數(shù)計算該路由器自身的哈希值;
      比較模塊77,與計算模塊76電性連接,用于將計算模塊76計算的路由器自身的哈希值與其他的主用DR、備用DR和工作DR的哈希值進行比較; 設置模塊73,與比較模塊77電性連接,用于根據(jù)比較模塊78的比較結
      果,設置該路由器與共享網(wǎng)段的組播源或組播組的對應關系。
      通過本發(fā)明,解決了共享網(wǎng)絡上只存在一個組播DR的問題,使得共享網(wǎng)
      段上多臺路由器都能充分發(fā)揮自己的作用,實現(xiàn)了組播業(yè)務的全網(wǎng)負載均衡,
      并擴充了共享網(wǎng)段的組播處理能力,使得共享網(wǎng)段上的組播處理規(guī)格得到提高。
      通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā) 明可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)。 基于這樣的理解,本發(fā)明的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟 件產(chǎn)品可以存儲在一個非易失性存儲介質(可以是CD-ROM, U盤,移動硬 盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服 務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施場景所述的方法。
      本領域技術人員可以理解附圖只是一個優(yōu)選實施場景的示意圖,附圖中 的模塊或流程并不一定是實施本發(fā)明所必須的。
      本領域技術人員可以理解實施場景中的裝置中的模塊可以按照實施場景 描述進行分布于實施場景的裝置中,也可以進行相應變化位于不同于本實施 場景的一個或多個裝置中。上述實施場景的模塊可以合并為一個模塊,也可 以進一步拆分成多個子模塊。
      上述本發(fā)明序號僅僅為了描述,不代表實施場景的優(yōu)劣。
      以上公開的僅為本發(fā)明的幾個具體實施場景,但是,本發(fā)明并非局限于 此,任何本領域的技術人員能思之的變化都應落入本發(fā)明的保護范圍。
      權利要求
      1、一種實現(xiàn)指定路由器DR之間組播業(yè)務分擔的狀態(tài)管理方法,其特征在于,應用于包含多個被確定為DR的路由器的共享網(wǎng)段中,其中,根據(jù)預設的DR選舉策略,所述多個被確定為DR的路由器中一個路由器設置自身為主用DR,另一個路由器設置自身為備用DR,余下的全部路由器設置自身為工作DR,所述主用DR、所述備用DR和所述工作DR按照負載均衡的策略共同分擔所述共享網(wǎng)段中的組播業(yè)務,所述方法具體包括所述備用DR或所述工作DR分別按照預設的呼叫HELLO報文發(fā)送周期,向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送HELLO報文,所述HELLO報文包含所述備用DR或所述工作DR的當前身份狀態(tài)信息;所述主用DR根據(jù)所述備用DR或所述工作DR發(fā)送的HELLO報文,獲取所述備用DR或所述工作DR的當前身份狀態(tài)信息,按照所述HELLO報文發(fā)送周期,向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送主用呼叫Master HELLO報文,所述Master HELLO報文中包含根據(jù)所述DR選舉策略確定的所述共享網(wǎng)段中所有被確定為DR的路由器的最新身份狀態(tài)信息;所述備用DR和所述工作DR接收所述主用DR發(fā)送的Master HELLO報文,并根據(jù)所述Master HELLO報文中的最新身份狀態(tài)信息設置自身的身份狀態(tài)。
      2、如權利要求l所述的方法,其特征在于,所述根據(jù)預設的DR選舉策 略,所述多個被確定為DR的路由器中一個路由器設置自身為主用DR,另一 個路由器設置自身為備用DR,余下的全部路由器設置自身為工作DR,具體 為所述共享網(wǎng)段中的各被確定為DR的路由器分別按照預設的HELLO報文 發(fā)送周期,向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含選舉參數(shù) 的HELLO報文,所述選舉參數(shù)至少包括IP地址信息,并可選的包括優(yōu)先級 參數(shù);數(shù)均為優(yōu)先級參數(shù)時,所述各被確定為DR的路由器將自身的優(yōu)先級參數(shù)與通 過所述HELLO報文接收到的其他被確定為DR的路由器的優(yōu)先級參數(shù)進行比較,如果自身的優(yōu)先級參數(shù)的優(yōu)先級為最高,則設置自身為主用DR;如果自 身的優(yōu)先級參數(shù)的優(yōu)先級為次高,則設置自身為備用DR;如果自身的優(yōu)先級 參數(shù)的優(yōu)先級不是最高或次高,則設置自身為工作DR;數(shù)中至少有一個不是優(yōu)先級參數(shù)時,所述各被確定為DR的路由器將自身的 IP地址信息與通過所述HELLO報文接收到的其他被確定為DR的路由器的IP 地址信息進行比較,如果自身的IP地址最大,則設置自身為主用DR;如果 自身的IP地址次大,則設置自身為備用DR;如果自身的IP地址不是最大或 次大,則設置自身為工作DR。
      3、 如權利要求2所述的方法,其特征在于,當根據(jù)預設的DR選舉策略, 所述多個被確定為DR的路由器中一個不支持多身份狀態(tài)配置的路由器的選 舉參數(shù)優(yōu)于所述共享網(wǎng)段中的其他路由器時,所述不支持多身份狀態(tài)配置的 路由器承擔所述共享網(wǎng)段中的組播業(yè)務。
      4、 如權利要求1或3所述的方法,其特征在于,所述Master HELLO報 文,還包括所述共享網(wǎng)段中的DR數(shù)量;所述共享網(wǎng)段中所有DR的標識信息;所述共享網(wǎng)段中的各DR是否支持多身份狀態(tài)配置的標識。
      5、 如權利要求1所述的方法,其特征在于,所述備用DR和所述工作DR 接收所述主用DR發(fā)送的Master HELLO報文,并根據(jù)所述Master HELLO報 文中的最新身份狀態(tài)信息設置自身的身份狀態(tài),具體為當所述備用DR在預設的備用DR Master HELLO報文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報文時,所述備用DR設置自身為主用 DR;當所述備用DR在預設的備用DR Master HELLO報文接收周期中接收到 主用DR發(fā)送的Master HELLO報文,且所述Master HELLO報文中所包含的 所述備用DR的最新身份狀態(tài)信息為工作DR時,所述備用DR設置自身為工 作DR;當所述工作DR在預設的工作DR Master HELLO報文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報文時,所述工作DR設置自身為主用 DR;當所述工作DR在預設的工作DR Master HELLO 4艮文接收周期中接收到 主用DR發(fā)送的Master HELLO報文,且所述Master HELLO報文中所包含的 所述工作DR的最新身份狀態(tài)信息為備用DR時,所述工作DR設置自身為備 用DR;其中,所述預設的備用DR Master HELLO報文接收周期大于所述HELLO 報文發(fā)送周期,小于所述預設的工作DR Master HELLO報文接收周期。
      6、 如權利要求1或2所述的方法,其特征在于,當新的路由器加入所述 共享網(wǎng)段時,所述方法還包括所述新的路由器設置自身的當前身份狀態(tài)信息為上線DR;所述上線DR向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含自 身的當前身份狀態(tài)信息和選舉參數(shù)的HELLO報文;所述主用DR接收到所述包含所述上線DR的當前身份狀態(tài)信息和選舉參 數(shù)的HELLO報文之后,向所述上線DR發(fā)送包含根據(jù)所述DR選舉策略和所 述選舉參數(shù)確定的所述上線DR的最新身份狀態(tài)信息的Master HELLO報文;所述上線DR根據(jù)所述Master HELLO報文中的最新身份狀態(tài)信息設置自 身的身份狀態(tài)。
      7、 如權利要求3所述的方法,其特征在于,當新的路由器加入所述共享 網(wǎng)段時,所述方法還包括所述新的路由器設置自身的當前身份狀態(tài)信息為上線DR;所述上線DR向所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送包含自 身的當前身份狀態(tài)信息和選舉參數(shù)的HELLO報文;所述上線DR接收所述共享網(wǎng)段中的所有被確定為DR的路由器發(fā)送的包 含自身選舉參數(shù)的HELLO報文;所述上線DR根據(jù)所述共享網(wǎng)段中的所有被確定為DR的路由器的選舉參 數(shù)和所述DR選舉策略進行選舉,并根據(jù)選舉結果設置自身的身份狀態(tài)。
      8、 如權利要求6所述的方法,其特征在于,所述上線DR根據(jù)所述Master HELLO報文中的最新身份狀態(tài)信息設置自身的身份狀態(tài),具體為當所述上線DR在預設的上線DR Master HELLO寺艮文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報文時,所述上線DR設置自身為主用 DR;當所述上線DR在預設的上線DR Master HELLO報文接收周期中接收到 主用DR發(fā)送的Master HELLO報文,且所述Master HELLO報文中所包含的 所述上線DR的最新身份狀態(tài)信息為備用DR或工作DR時,所述上線DR設 置自身為備用DR或工作DR;其中,所述預設的上線DR Master HELLO報文接收周期小于所述HELLO 報文發(fā)送周期。
      9、 如權利要求1所述的方法,其特征在于,所述主用DR、所述備用DR 和所述工作DR共同分擔所述共享網(wǎng)段中的組播業(yè)務,具體為所述主用DR、所述備用DR和所述工作DR分別通過哈希函數(shù)計算自身 的哈希值,并將自身的所述哈希值與其他的所述主用DR、所述備用DR和所 述工作DR的哈希值進行比較;當所述哈希值中存在唯一的最大值時,所述哈希值的最大值所對應的所 述主用DR、所述備用DR或所述工作DR作為DR對應所述共享網(wǎng)段的組4番 源或組插iE;當所述哈希值中存在多個最大值時,IP地址最大的所述主用DR、所述備 用DR或所述工作DR作為DR對應所述共享網(wǎng)^:的組i番源或組播i且。
      10、 一種路由器,其特征在于,應用于包含多個被確定為DR的路由器的 共享網(wǎng)段中,其中,根據(jù)預設的DR選舉策略,所述多個^皮確定為DR的路由 器中一個路由器設置自身為主用DR,另一個路由器設置自身為備用DR,余 下的全部路由器設置自身為工作DR,新加入所述共享網(wǎng)段中的路由器設置自 身為上線DR,所述主用DR、所述備用DR和所述工作DR共同分擔所述共 享網(wǎng)段中的組播業(yè)務,包括報文發(fā)送模塊,當所述路由器的當前身份狀態(tài)信息為備用DR、工作DR 或上線DR時,用于按照預設的HELLO報文發(fā)送周期,向所述共享網(wǎng)段中的 所有路由器發(fā)送包含自身身份狀態(tài)信息的HELLO報文,當所述路由器的當前 身份狀態(tài)信息為主用DR時,用于按照預設的HELLO報文發(fā)送周期,向所述的所述共享網(wǎng)段中所有被確定為DR的路由器的最新身份狀態(tài)信息的Master HELLO才艮文;報文接收模塊,用于接收所述共享網(wǎng)段中的其他被確定為DR的路由器發(fā) 送的HELLO報文,當所述路由器的當前身份狀態(tài)信息為備用DR、工作DR 或上線DR時,還用于接收所述共享網(wǎng)段中的主用DR發(fā)送的Master HELLO 報文;設置模塊,分別與所述報文接收模塊和所述報文發(fā)送模塊電性連接,當 所述路由器當前沒有設置自身的身份狀態(tài)時,用于根據(jù)所述報文接收模塊接 收的所述共享網(wǎng)段中的其他被確定為DR的路由器發(fā)送的HELLO報文和預設 的DR選舉策略設置自身的身份狀態(tài),當所述路由器的當前身份狀態(tài)信息為備 用DR、工作DR或上線DR時,還用于根據(jù)所述報文接收模塊所接收的Master HELLO報文中的最新身份狀態(tài)信息設置自身的身份狀態(tài)。
      11、如權利要求IO所述的路由器,其特征在于,還包括報文檢測模塊和 計時模塊所述報文檢測模塊,與所述報文接收模塊和所述設置模塊電性連接,當 所述路由器的當前身份狀態(tài)信息為備用DR或工作DR時,用于判斷所述報文 接收沖莫塊在預設的備用DR Master HELLO報文接收周期或工作DR Master HELLO報文接收周期中是否接收到主用DR發(fā)送的Master HELLO報文;所述計時模塊,與所述報文檢測模塊電性連接,用于對所述HELLO報文 發(fā)送周期,和/或所述預設的備用DR Master HELLO報文接收周期,和/或所 述預設的工作DR Master HELLO報文接收周期,和/或所述預設的上線DR Master HELLO報文接收周期進行計時;在這種情況下所述設置模塊,還用于當所述路由器的當前身份狀態(tài)信息為備用DR、工 作DR或上線DR時,根據(jù)所述報文檢測模塊的檢測結果,按照所述報文接收 模塊所接收的Master HELLO報文中的最新身份狀態(tài)信息以及以下策略設置 自身的身份狀態(tài)當所述備用DR在預設的備用DR Master HELLO報文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報文時,所述備用DR設置自身為主用 DR;當所述備用DR在預設的備用DR Master HELLO報文接收周期中接收到 主用DR發(fā)送的Master HELLO報文,且所述Master HELLO報文中所包含的 所述備用DR的最新身份狀態(tài)信息為工作DR時,所述備用DR設置自身為工 作DR;當所述工作DR在預設的工作DR Master HELLO報文接收周期中沒有接 收到主用DR發(fā)送的Master HELLO報文時,所述工作DR設置自身為主用 DR;當所述工作DR在預設的工作DR Master HELLO報文接收周期中接收到 主用DR發(fā)送的Master HELLO報文,且所述Master HELLO報文中所包含的 所述工作DR的最新身份狀態(tài)信息為備用DR時,所述工作DR設置自身為備 用DR;收到主用DR發(fā)送的Master HELLO報文時,所述上線DR設置自身為主用 DR;主用DR發(fā)送的Master HELLO報文,且所述Master HELLO報文中所包含的 所述上線DR的最新身份狀態(tài)信息為備用DR或工作DR時,所述上線DR設 置自身為備用DR或工作DR;其中,所述預設的備用DR Master HELLO才艮文4妻收周期大于所述HELLO 報文發(fā)送周期,小于所述預設的工作DR Master HELLO報文接收周期,所述 預設的上線DR Master HELLO報文接收周期小于所述HELLO報文發(fā)送周期。
      12、如權利要求IO所述的路由器,其特征在于,還包括 計算模塊,用于通過哈希函數(shù)計算所述路由器自身的哈希值; 比較模塊,與所述計算模塊電性連接,用于將所述計算模塊計算的所述路由器自身的哈希值與其他的所述主用DR、所述備用DR和所述工作DR的哈希值進行比較;所述設置模塊,與所述比較模塊電性連接,用于根據(jù)所述比較模塊的比 較結果,設置所述路由器與所述共享網(wǎng)段的組播源或組播組的對應關系。
      全文摘要
      本發(fā)明公開了一種實現(xiàn)DR之間組播業(yè)務分擔的狀態(tài)管理方法和裝置,通過將共享網(wǎng)段中被確定為DR的路由器設置不同的身份狀態(tài),使得共享網(wǎng)段上的多臺被確定為DR的路由器之間可以進行狀態(tài)管理和建立主備關系,并能充分利用各路由器的資源,使各路由器共同分擔共享網(wǎng)段的組播業(yè)務,實現(xiàn)組播業(yè)務的全網(wǎng)負載均衡,并擴充了共享網(wǎng)段的組播處理能力,使得共享網(wǎng)段上的組播處理規(guī)格得到提高。
      文檔編號H04L1/22GK101577679SQ20091014852
      公開日2009年11月11日 申請日期2009年6月26日 優(yōu)先權日2009年6月26日
      發(fā)明者偉 王 申請人:杭州華三通信技術有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1