一種自動添加任播匯聚點成員的方法和設備的制作方法
【專利摘要】本發明公開了一種自動添加任播匯聚點成員的方法和設備,自舉路由器BSR接收到欲成為匯聚點RP的設備發送來的候選匯聚點C-RP通告報文,所述C-RP通告報文同時攜帶所述RP設備欲加入的任播匯聚點Anycast-RP集的Anycast-RP地址、所述RP設備的本地地址、以及所述RP設備服務的組播組范圍;BSR從收到的C-RP通告報文中提取所述Anycast-RP地址以及所述本地地址,將所述本地地址增加到所述Anycast-RP地址對應的Anycast-RP集中的成員地址中,所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍相同,所述RP設備服務的組播組范圍為Anycast-RP集服務的組播組范圍;BSR將所述Anycast-RP地址以及所述Anycast-RP地址對應的所有成員地址添加到BSM報文中發送出去,使已配置所述Anycast-RP地址的設備從該BSM報文中學習并記錄其攜帶的除自身外的所有成員地址。
【專利說明】—種自動添加任播匯聚點成員的方法和設備
【技術領域】
[0001]本發明涉及網絡通信傳輸技術,特別是一種自動添加任播匯聚點成員的方法和設備。
【背景技術】
[0002]在協議無關組播稀疏模式(PIM-SM,Protocol Independent Multicast-SparseMode)協議(RFC4601)中要求為每一個組播組選擇一個匯聚點RP為其服務,組播源的直連指定路由器DR向所屬的RP發送注冊報文,這樣RP上就維護了所有其所服務組播組的源信息,接收者可以通過向RP發送組加入來點播所有該組的組播源。
[0003]任播RP (Anycast-RP)實現了一種RP的冗余備份和負載分擔機制,即對于同一個組播組存在多個RP設備,但都使用相同的Anycast-RP地址;首先對多個設備配置相同的Anycast-RP地址,組播源和接收者就近選擇一個物理RP ;然后通過一定的機制在多個物理RP間對組播源信息進行同步,這樣就實現了組播源和接收者的互通。
[0004]Anycast-RP的實現目前有兩種方式:一種方式是通過PIM-SM和組播源發現協議(MSDP,Multicast Source Discovery Protocol)的組合使用來實現;另一種方式完全基于對協議無關組播(PIM, Protocol Independent Multicast)協議的擴展來實現,不需要依賴MSDP。
[0005]基于MSDP的Anycast-RP (RFC3446)通過在多個RP之間建立MSDP域內對等體關系,在MSDP協議報文中交互組播源信息,無法支持IPv6。
[0006]而完全基于PIM的Anycast-RP (RFC4610)通過向其他Anycast-RP成員轉發注冊報文來同步組播源信息,部署更加簡單且可以支持IPv6,主要處理過程如圖1所示:
[0007]假設Anycast-RP集包括三個成員匯聚點1、匯聚點2、匯聚點3,對外發布的Anycast-RP地址為匯聚點A。
[0008]匯聚點I收到一個目的地址為匯聚點A的注冊報文,發現源地址不是匯聚點2或匯聚點3 (本Anycast-RP集的其他成員),就認為是從指定路由器發過來的;然后將該注冊報文的源地址改為匯聚點1,發送給匯聚點2和匯聚點3 ;
[0009]匯聚點2和匯聚點3收到從匯聚點I發送過來的注冊報文,維護其中的組播源組信息;由于該注冊報文的源地址是Anycast-RP集的成員,不再向外轉發以防止環路。
[0010]如果使用基于PIM的Anycast-RP,需要在Anycast-RP集的所有成員設備上進行相同的配置,以保證全連接。當需要往Anycast-RP集中增加一個成員時,需要手動在所有成員設備上新增一條配置指定新增加的成員地址,工作量較大且容易出錯。
【發明內容】
[0011]有鑒于此,本發明提供了一種自動添加任播匯聚點成員的方法和設備,可以簡化Anycast-RP的配置過程,能自動發現Anycast-RP集的所有成員地址,新增成員設備時不需要手動修改其他成員設備的配置,實現了自動發布并學習Anycast-RP的成員地址。本發明提出的技術方案是:
[0012]一種自動添加任播匯聚點成員的方法,該方法包括以下步驟:
[0013]自舉路由器BSR接收到欲成為匯聚點RP的設備發送來的候選匯聚點C-RP通告報文,所述C-RP通告報文同時攜帶所述RP設備欲加入的任播匯聚點Anycast-RP集的Anycast-RP地址、所述RP設備的本地地址、以及所述RP設備服務的組播組范圍;
[0014]BSR從收到的C-RP通告報文中提取所述Anycast-RP地址以及所述本地地址,將提取的所述本地地址增加到所述Anycast-RP地址對應的Anycast-RP集中的成員地址中,所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍相同,所述RP設備服務的組播組范圍為Anycast-RP集服務的組播組范圍;
[0015]BSR將所述Anycast-RP地址以及所述Anycast-RP地址對應的所有成員地址添加至IJ BSM報文中發送出去,使已配置所述Anycast-RP地址的設備從該BSM報文中學習并記錄其攜帶的除自身外的所有成員地址。
[0016]上述方案中,該方法進一步包括:
[0017]所述匯聚點RP設備的本地地址攜帶于C-RP通告報文中的擴展后的RP Address字段;
[0018]所述Anycast-RP地址對應的所有成員地址攜帶于BSM報文中擴展后的RPAddress 字段。
[0019]上述方案中,所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍不同時,該方法進一步包括:
[0020]將所述BSR最近收到的C-RP報文中攜帶的組播組范圍作為所述Anycast-RP集服務的組播組范圍,或者取所有Anycast-RP集中的成員地址對應的C-RP通告報文攜帶的組播組范圍的交集作為所述Anycast-RP集服務的組播組范圍。
[0021]一種自動添加任播匯聚點成員的自舉路由器BSR設備,該設備包括:
[0022]收發模塊,用于接收欲成為匯聚點RP的設備發送來的候選匯聚點C-RP通告報文,所述C-RP通告報文同時攜帶所述RP設備欲加入的任播匯聚點Anycast-RP集的Anycast-RP地址、所述RP設備的本地地址、以及所述RP設備服務的組播組范圍;還用于發送BSM報文,使已配置所述Anycast-RP地址的設備從該BSM報文中學習并記錄其攜帶的除自身外的所有成員地址;
[0023]存儲模塊,用于存儲任播匯聚點Anycast-RP集的Anycast-RP地址、Anycast-RP集中的成員地址以及該Anycast-RP集服務的組播組范圍;
[0024]處理模塊,用于從收到的C-RP通告報文中提取所述Anycast-RP地址以及所述本地地址,將提取的所述本地地址增加到所述Anycast-RP地址對應的Anycast-RP集中的成員地址中,所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍相同,所述RP設備服務的組播組范圍為Anycast-RP集服務的組播組范圍。
[0025]上述方案中,所述處理模塊進一步用于,將所述匯聚點RP設備的本地地址從C-RP通告報文中擴展后的RP Address字段中提取出來,將所述Anycast-RP地址對應的所有成員地址添加于BSM報文中擴展后的RP Address字段。
[0026]上述方案中,所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍不同時,所述處理模塊進一步用于:[0027]將所述BSR最近收到的C-RP報文中攜帶的組播組范圍作為所述Anycast-RP集服務的組播組范圍,或者取所有Anycast-RP集中的成員地址對應的C-RP通告報文攜帶的組播組范圍的交集作為所述Anycast-RP集服務的組播組范圍。
[0028]綜上所述,本發明提出的技術方案能夠實現自動發布并學習Anycast-RP集的所有成員地址,新增成員設備時不需要手動修改其他成員設備的配置,減小了工作量且提高了精確度。
【專利附圖】
【附圖說明】
[0029]圖1為基于PM的Anycast-RP示意圖。
[0030]圖2為實施例一的結構示意圖。
[0031 ] 圖3為實施例一的流程圖。
[0032]圖4為C-RP報文格式。
[0033]圖5為標準RP Address報文格式。
[0034]圖6為擴展后的RP Address報文格式。
[0035]圖7為實現本發明實施例的設備結構示意圖。
【具體實施方式】
[0036]為使本發明的目的、技術方案和優點表達的更加清楚明白,下面結合附圖及具體實施例對本發明再作進一步詳細的說明。
[0037]本發明的技術方案是:自舉路由器BSR接收到欲成為匯聚點RP的設備發送來的候選匯聚點C-RP通告報文,所述C-RP通告報文同時攜帶所述RP設備欲加入的任播匯聚點Anycast-RP集的Anycast-RP地址、所述RP設備的本地地址、以及所述RP設備服務的組播組范圍;
[0038]BSR從收到的C-RP通告報文中提取所述Anycast-RP地址以及所述本地地址,將提取的所述本地地址增加到所述Anycast-RP地址對應的Anycast-RP集中的成員地址中,所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍相同,所述RP設備服務的組播組范圍為Anycast-RP集服務的組播組范圍;
[0039]BSR將所述Anycast-RP地址以及所述Anycast-RP地址對應的所有成員地址添加至IJ BSM報文中發送出去,使已配置所述Anycast-RP地址的設備從該BSM報文中學習并記錄其攜帶的除自身外的所有成員地址。
[0040]C-RP報文和BSM報文標準的RP Address字段的Encoding Type為0,只能攜帶一個單播地址Anycast-RP地址,網絡中的設備收到這樣的BSM報文無法獲知該Anycast-RP地址對應的成員的本地地址,自動添加Anycast-RP成員的目的無法實現。通過對該字段的擴展,使其同時攜帶Anycast-RP地址和成員的本地地址,這樣無論是BSR收到C-RP報文,還是網絡中的設備收到BSM報文,均會獲知欲成為RP的設備的本地地址,這樣就可以將其添加入對應的Anycast-RP集,當集合中的成員地址收到DR發送來的注冊報文時,就會向該集合中的其他成員轉發該注冊報文。
[0041]通過對C-RP報文和BSM報文中RP Address字段進行擴展等手段,能自動通告并發布Anycast-RP集的所有成員的本地地址,不再需要手工指定所有成員的本地地址。[0042]方法實施例一
[0043]本實施例中,以圖2中的示意圖為例,匯聚點I (RP1)、匯聚點2 (RP2)、匯聚點3 (RP3)為同一個Anycast-RP集中的三個成員,對外發布的Anycast-RP地址為匯聚點A(RPA)0匯聚點4 (RP4)為欲加入該Anycast-RP集的一個設備。
[0044]圖3是本實施例的流程圖,以匯聚點4加入Anycast-RP集為例對本發明的技術方案進行說明,如圖3所示,本實施例包括以下步驟:
[0045]步驟301:設備4自身配置為C-RP,且本地地址為RP4。
[0046]本步驟中,設備4欲成為RP,則將自身配置為C-RP (候選RP),其要加入的Anycast-RP集對外發布的Anycast-RP地址為RPA,因此,設備4自身配置的Anycast-RP地址為RPA,并將該設備的本地地址定為RP4,也為其加入所述Anycast-RP集后的成員的本地地址。
[0047]步驟302:設備4發送C-RP通告報文給BSR。
[0048]本步驟中,自舉路由器BSR接收到欲成為匯聚點RP的設備4發送來的候選匯聚點C-RP通告報文,所述C-RP通告報文同時攜帶所述設備4欲加入的任播匯聚點Anycast-RP集的Anycast-RP地址RPA、所述設備4的本地地址RP4、以及所述設備4服務的組播組范圍;所述信息封裝在C-RP通告報文中,C-RP報文格式如圖4所示,RP Address字段就對應Anycast-RP集的Anycast-RP地址(即RPA), Group Address字段對應RP4能服務的組播組范圍。
[0049]設備4的本地地址攜帶于所述C-RP通告報文中經過擴展的RP Address字段。標準的RP Address的格式如圖5所示,其中Encoding Type為O,只能攜帶一個單播地址,即Anycast-RP地址RPA,無法攜帶設備4的本地地址RP4。本發明對該地址進行擴展,以攜帶更多的信息,如設備4對應的本地地址信息,擴展后的RP Address的格式如圖6所示。
[0050]步驟303:BSR收到所述C-RP報文,記錄該報文攜帶的Anycast-RP地址和本地地址,以及服務的組播組范圍。
[0051]BSR從收到的C-RP通告報文中提取并記錄該報文攜帶的Anycast-RP地址RPA和本地地址RP4,以及設備4服務的組播組范圍。
[0052]步驟304 =BSR將提取的本地地址增加到所述Anycast-RP地址對應的Anycast-RP集中的成員地址中,并將所述Anycast-RP地址以及所述Anycast-RP地址對應的所有成員的本地地址添加到BSM報文中發送出去。
[0053]本步驟中,BSR將提取的本地地址增加到所述Anycast-RP地址對應的Anycast-RP集中的成員地址中,所述Anycast-RP地址對應的Anycast-RP集的成員地址中保存有BSR從所有C-RP報文中提取出來的具有相同Anycast-RP地址的不同本地地址,并將所述Anycast-RP地址以及所述Anycast-RP地址對應的所有成員地址添加到BSM報文中發送出去。所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍相同,所述RP設備服務的組播組范圍為Anycast-RP集服務的組播組范圍。
[0054]本實施例中,所述C-RP報文攜帶有Anycast-RP地址RPA和對應的成員地址RP4,封裝BSM報文時,Anycast-RP地址RPA對應的成員地址還有RPl、RP2、RP3,這是之前RPl、RP2、RP3分別發送C-RP報文給BSR時,BSR記錄下來的。因此,此時BSR發送出去的BSM報文攜帶有 Anycast-RP 地址 RPA,對應的成員地址 RP1、RP2、RP3、RP4。且 RP1、RP2、RP3、RP4服務的組播組范圍相同,也即Anycast-RP集服務的組播組范圍。
[0055]如果Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍不同,則將所述BSR最近收到的C-RP報文中攜帶的組播組范圍作為所述Anycast-RP集服務的組播組范圍,或者取所有Anycast-RP集中的成員地址對應的C-RP通告報文攜帶的組播組范圍的交集作為所述Anycast-RP集服務的組播組范圍。假設本實施例中RP1、RP2、RP3服務的組播組相同,而RP4與RP1、RP2、RP3服務的組播組不同,由于RP4的通告報文為BSR最近收到的,則將RP4服務的組播組作為RPA服務的組播組,或者取RP1、RP2、RP3、RP4服務的組播組范圍的交集作為RPA服務的組播組。實際應用中需要避免多個Anycast-RP地址相同的C-RP報文攜帶的組播組范圍不同的情況出現,由用戶保證一個Anycast-RP集的所有成員配置相同的服務組播組范圍。
[0056]所述Anycast-RP地址對應的所有成員地址攜帶于BSM報文中擴展后的RPAddress字段。BSM報文標準的RP Address的格式與C-RP報文標準的RP Address相同,Encoding Type為O,只能攜帶一個單播地址,即Anycast-RP地址RPA,無法攜帶所有成員地址RP1、RP2、RP3和RP4。本發明對該地址進行擴展,以攜帶更多的信息,如該RP對應的成員地址信息,擴展后的RP Address的格式與圖6中C-RP報文擴展后的RP Address相同。
[0057]步驟305:各設備接收到所述BSM報文,如果自身配置了 BSM報文中攜帶的Anycast-RP地址,則記錄該Anycast-RP地址下的除自身外的所有成員的本地地址。
[0058]本步驟中,網絡中的設備接收到所述BSM報文,首先判斷自身是否配置了所述BSM報文中攜帶的Anycast-RP地址,如果是,則記錄所述BSM報文中攜帶的該Anycast-RP地址下的除自身外的所有成員的本地地址。本實施例中,設備4配置了 RPA地址,則設備4記錄BSM報文中攜帶的除自身外的成員的本地地址RP1、RP2、RP3 ;RP1配置了 RPA地址,則設備I記錄BSM報文中攜帶的除自身外的成員的本地地址RP2、RP3、RP4 ;RP2配置了 RPA地址,則設備2記錄BSM報文中攜帶的除自身外的成員的本地地址RP1、RP3、RP4 ;RP3配置了 RPA地址,則設備3記錄BSM報文中攜帶的除自身外的成員的本地地址RP1、RP2、RP4。至此完成了設備4成為Anycast-RP集合成員的全部自動添加過程。
[0059]應用本發明方案,能夠自動發布并學習Anycast-RP集的所有成員的本地地址,新增成員設備時不需要手動修改其他成員設備的配置,可以實現自動添加新增成員,減小了工作量且提高了精確度。
[0060]針對上述方法,本發明還公開一種自動添加任播匯聚點成員的設備。本發明公開的設備如圖7所示,包括:
[0061]收發模塊701,用于接收欲成為匯聚點RP的設備發送來的候選匯聚點C-RP通告報文,所述C-RP通告報文同時攜帶所述RP設備欲加入的任播匯聚點Anycast-RP集的Anycast-RP地址、所述RP設備的本地地址、以及所述RP設備服務的組播組范圍;還用于發送BSM報文,使已配置所述Anycast-RP地址的設備從該BSM報文中學習并記錄其攜帶的除自身外的所有成員地址。
[0062]存儲模塊702,用于存儲任播匯聚點Anycast-RP集的Anycast-RP地址、Anycast-RP集中的成員地址以及該Anycast-RP集服務的組播組范圍。
[0063]處理模塊703,用于從收到的C-RP通告報文中提取所述Anycast-RP地址以及所述本地地址,將提取的所述本地地址增加到所述Anycast-RP地址對應的Anycast-RP集中的成員地址中,所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍相同,所述RP設備服務的組播組范圍為Anycast-RP集服務的組播組范圍;還用于將所述匯聚點RP設備的本地地址從C-RP通告報文中擴展后的RP Address字段中提取出來,將所述Anycast-RP地址對應的所有成員地址添加于BSM報文中擴展后的RP Address字段;所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍不同時,進一步用于,將所述BSR最近收到的C-RP報文中攜帶的組播組范圍作為所述Anycast-RP集服務的組播組范圍,或者取所有Anycast-RP集中的成員地址對應的C-RP通告報文攜帶的組播組范圍的交集作為所述Anycast-RP集服務的組播組范圍。
[0064]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
【權利要求】
1.一種自動添加任播匯聚點成員的方法,其特征在于,該方法包括以下步驟: 自舉路由器BSR接收到欲成為匯聚點RP的設備發送來的候選匯聚點C-RP通告報文,所述C-RP通告報文同時攜帶所述RP設備欲加入的任播匯聚點Anycast-RP集的Anycast-RP地址、所述RP設備的本地地址、以及所述RP設備服務的組播組范圍; BSR從收到的C-RP通告報文中提取所述Anycast-RP地址以及所述本地地址,將提取的所述本地地址增加到所述Anycast-RP地址對應的Anycast-RP集中的成員地址中,所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍相同,所述RP設備服務的組播組范圍為Anycast-RP集服務的組播組范圍; BSR將所述Anycast-RP地址以及所述Anycast-RP地址對應的所有成員地址添加到BSM報文中發送出去,使已配置所述Anycast-RP地址的設備從該BSM報文中學習并記錄其攜帶的除自身外的所有成員地址。
2.根據權利要求1所述的方法,其特征在于,該方法進一步包括: 所述匯聚點RP設備的本地地址攜帶于C-RP通告報文中的擴展后的RP Address字段; 所述Anycast-RP地址對應的所有成員地址攜帶于BSM報文中擴展后的RP Address字段。
3.根據權利要求1所述的方法,其特征在于,所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍不同時,該方法進一步包括: 將所述BSR最近收到的C-RP報文中攜帶的組播組范圍作為所述Anycast-RP集服務的組播組范圍,或者取所有Anycast-RP集中的成員地址對應的C-RP通告報文攜帶的組播組范圍的交集作為所述Anycast-RP集服務的組播組范圍。
4.一種自動添加任播匯聚點成員的自舉路由器BSR設備,其特征在于,該設備包括: 收發模塊,用于接收欲成為匯聚點RP的設備發送來的候選匯聚點C-RP通告報文,所述C-RP通告報文同時攜帶所述RP設備欲加入的任播匯聚點Anycast-RP集的Anycast-RP地址、所述RP設備的本地地址、以及所述RP設備服務的組播組范圍;還用于發送BSM報文,使已配置所述Anycast-RP地址的設備從該BSM報文中學習并記錄其攜帶的除自身外的所有成員地址; 存儲模塊,用于存儲任播匯聚點Anycast-RP集的Anycast-RP地址、Anycast-RP集中的成員地址以及該Anycast-RP集服務的組播組范圍; 處理模塊,用于從收到的C-RP通告報文中提取所述Anycast-RP地址以及所述本地地址,將提取的所述本地地址增加到所述Anycast-RP地址對應的Anycast-RP集中的成員地址中,所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍相同,所述RP設備服務的組播組范圍為Anycast-RP集服務的組播組范圍。
5.根據權利要求4所述的設備,其特征在于, 所述處理模塊進一步用于,將所述匯聚點RP設備的本地地址從C-RP通告報文中擴展后的RPAddress字段中提取出來,將所述Anycast-RP地址對應的所有成員地址添加于BSM報文中擴展后的RPAddress字段。
6.根據權利要求4所述的設備,其特征在于,所述Anycast-RP集中的成員地址對應的RP設備服務的組播組范圍不同時,所述處理模塊進一步用于:. 將所述BSR最近收到的C-RP報文中攜帶的組播組范圍作為所述Anycast-RP集服務的組播組范圍,或者取所有Anycast-RP集中的成員地址對應的C-RP通告報文攜帶的組播組范圍的交集作為所述Anyca st-RP集服務的組播組范圍。
【文檔編號】H04L12/761GK103441871SQ201310369736
【公開日】2013年12月11日 申請日期:2013年8月22日 優先權日:2013年8月22日
【發明者】徐進 申請人:杭州華三通信技術有限公司