專利名稱:一種運營商骨干網(wǎng)橋接網(wǎng)絡(luò)中處理組播報文的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種運營商骨干網(wǎng)橋接(PBB)網(wǎng)絡(luò)中處理組播報文的方法和裝置。
背景技術(shù):
MinM(MAC-in-MAC)協(xié)議由IEEE 802. Iah所定義,又稱為運營商骨干網(wǎng)橋接(PBB, Provider Backbone Bridge)協(xié)議。作為一種二層虛擬專用網(wǎng)絡(luò)(VPN, Virtual Private Network)技術(shù),它通過MAC地址嵌套,將用戶MAC地址封裝在運營商MAC地址之中,從而對不同的用戶業(yè)務(wù)進行隔離。如圖1所示,在一個典型的PBB網(wǎng)絡(luò)中通常包括兩類設(shè)備骨干網(wǎng)核心橋接(BCB, Backbone Core Bridge)設(shè)備和骨干網(wǎng)邊緣橋接(BEB,BackboneEdge Bridge)設(shè)備。其中, BEB設(shè)備負責將來自接入線路(AC)的報文進行MinM封裝后發(fā)送給后續(xù)的BCB設(shè)備,并將來自BCB設(shè)備的MinM報文進行解封裝還原成標準以太網(wǎng)報文,再次查表找到對應(yīng)的出端口發(fā)送。BCB設(shè)備負責將收到的MinM報文按照外層MAC標簽轉(zhuǎn)發(fā)。在BCB設(shè)備上只需要對報文進行簡單的橋接處理,學(xué)習(xí)骨干網(wǎng)中的MAC地址,而不需要學(xué)習(xí)客戶網(wǎng)絡(luò)中的大量MAC地址,因而降低了網(wǎng)絡(luò)部署的成本,而且也為PBB網(wǎng)絡(luò)提供了更好的可擴展性。MinM技術(shù)提供以太網(wǎng)傳送業(yè)務(wù)主要是基于MinM隧道的單播業(yè)務(wù),對于組播業(yè)務(wù)目前主要存在兩種方法第一種方法直接將組播報文作為廣播處理,報文將在PBB網(wǎng)絡(luò)的MinM域中廣播。第二種方法CE設(shè)備向與其相連的BEB設(shè)備發(fā)送IGMP加入報文請求加入指定的私網(wǎng)組播組;該BEB設(shè)備接收到IGMP加入報文后,分配公網(wǎng)組播地址并建立公網(wǎng)組播地址和私網(wǎng)組播地址的映射關(guān)系,并將IGMP加入報文擴展為攜帶私網(wǎng)組播地址和公網(wǎng)組播地址的IGMP擴展加入報文并由BCB設(shè)備發(fā)送到組播源所在BEB設(shè)備。IGMP加入報文在轉(zhuǎn)發(fā)過程中,沿途建立公網(wǎng)組播地址的轉(zhuǎn)發(fā)表。組播源所在BEB設(shè)備接收到IGMP擴展加入報文后,建立公網(wǎng)組播地址轉(zhuǎn)發(fā)表,并建立公網(wǎng)組播地址和私網(wǎng)組播地址的映射關(guān)系;組播源所在的BEB設(shè)備將IGMP擴展加入報文恢復(fù)為IGMP加入報文后轉(zhuǎn)發(fā)給組播源所在CE設(shè)備。在上述第一種方式中,將組播報文當作廣播報文在處理,組播報文在PBB實例內(nèi)廣播,沒有組播接收者的BEB設(shè)備也會收到組播報文,并將報文轉(zhuǎn)發(fā)給本地所有CE設(shè)備,造成了 PBB公網(wǎng)和用戶私網(wǎng)的帶寬浪費。第二種方式中,雖然不存在廣播的問題,但如果不同的BEB設(shè)備下都存在私網(wǎng)組播地址的接收者CE時,每個BEB設(shè)備都要分配公網(wǎng)組播地址并建立映射私網(wǎng)組播組和公網(wǎng)地址的映射關(guān)系,同時將擴展后的IGMP擴展加入報文在PBB BVLAN中廣播。到達組播源所在的BEB設(shè)備后,組播源所在BEB設(shè)備會接收到多份IGMP擴展加入報文,如果各個BEB分配的公網(wǎng)組播地址不相同,則組播源所在的BEB設(shè)備上將會創(chuàng)建統(tǒng)一私網(wǎng)組播地址到多個公網(wǎng)組播地址的映射,同時PBB BVLAN公網(wǎng)上會建立多個公網(wǎng)組播地址的轉(zhuǎn)發(fā)表。這就會帶來以下缺陷組播源所在的BEB設(shè)備接收到來自AC的組播報文后,會根據(jù)私網(wǎng)組播地址對應(yīng)的多個公網(wǎng)組播地址,將組播報文封裝多份,并按照公網(wǎng)組播地址發(fā)送到公網(wǎng),這樣后續(xù)BEB設(shè)備就可能接收到多份組播流量,相應(yīng)的CE接收者也會接收到多份組播流量,這顯然是用戶無法接受的。同時,若各接收私網(wǎng)組播IGMP報文的BEB設(shè)備主動分配公網(wǎng)組播地址,會非常容易耗費公網(wǎng)組播地址資源,在沒有任何組播流量的情況下公網(wǎng)側(cè)就可能已經(jīng)建立了大量的公網(wǎng)組播地址轉(zhuǎn)發(fā)表,造成了公網(wǎng)組播隧道和公網(wǎng)組播地址轉(zhuǎn)發(fā)表的無效使用。
發(fā)明內(nèi)容
本發(fā)明提供了一種PBB網(wǎng)絡(luò)中處理組播報文的方法和裝置,以便于避免PBB網(wǎng)絡(luò)中冗余的組播流量。一種運營商骨干網(wǎng)橋接PBB網(wǎng)絡(luò)中處理組播報文的方法,該方法包括骨干網(wǎng)邊緣橋接BEB設(shè)備接收到PBB實例中來自本地用戶網(wǎng)絡(luò)邊緣CE設(shè)備的私網(wǎng)組播因特網(wǎng)組管理協(xié)議IGMP加入報文時,將接收所述私網(wǎng)組播IGMP加入報文的接口加入所述PBB實例中該私網(wǎng)組播IGMP加入報文所攜帶私網(wǎng)組播地址對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表, 并在所述私網(wǎng)組播IGMP加入報文中攜帶PBB實例號后在所述PBB實例中廣播;從PBB網(wǎng)絡(luò)接收到所述私網(wǎng)組播IGMP加入報文的BEB設(shè)備保存三元組信息,該三元組信息中包含所述PBB實例號、所述私網(wǎng)組播地址和接收所述私網(wǎng)組播IGMP加入報文的PW信息;接收到來自本地CE的所述私網(wǎng)組播地址對應(yīng)的組播流的BEB設(shè)備,如果本地不存在所述私網(wǎng)組播地址被分配的公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,則將所述組播流在所述 PBB實例中進行廣播,且為所述私網(wǎng)組播地址分配公網(wǎng)組播地址,記錄所述私網(wǎng)組播地址和所述公網(wǎng)組播地址的映射關(guān)系,并按照本地記錄的所述三元組信息發(fā)送攜帶所述私網(wǎng)組播地址和公網(wǎng)組播地址的組播域MD報文;接收到所述MD報文的BEB設(shè)備記錄所述私網(wǎng)組播地址和公網(wǎng)組播地址的映射關(guān)系,并在本地存在所述私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表時,向組播源所在的BEB設(shè)備發(fā)送攜帶所述公網(wǎng)組播地址的公網(wǎng)組播IGMP加入報文;接收到所述公網(wǎng)組播IGMP加入報文的BEB設(shè)備如果記錄有所述映射關(guān)系,則建立或更新所述公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表。一種骨干網(wǎng)邊緣橋接BEB設(shè)備,該BEB設(shè)備包括用戶側(cè)收發(fā)單元、私網(wǎng)組播表維護單元、網(wǎng)絡(luò)側(cè)收發(fā)單元、三元組建立單元、第一判斷處理單元、公網(wǎng)地址分配單元、第二判斷處理單元、第三判斷處理單元和公網(wǎng)組播表維護單元;所述用戶側(cè)收發(fā)單元,用于接收到運營商骨干網(wǎng)橋接PBB實例中來自本地用戶網(wǎng)絡(luò)邊緣CE設(shè)備的私網(wǎng)組播IGMP加入報文后,將該私網(wǎng)組播IGMP加入報文攜帶的私網(wǎng)組播地址通過加入通知發(fā)送給私網(wǎng)組播表維護單元;接收到來自本地CE設(shè)備的組播流后,將組播流對應(yīng)的私網(wǎng)組播地址提供給第一判斷處理單元;所述私網(wǎng)組播表維護單元,用于利用接收到的加入通知攜帶的私網(wǎng)組播地址,將接收所述用戶側(cè)收發(fā)單元接收私網(wǎng)組播IGMP加入報文的接口加入所述私網(wǎng)組播地址對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表;所述網(wǎng)絡(luò)側(cè)收發(fā)單元,用于在所述私網(wǎng)組播IGMP加入報文中攜帶所述PBB實例后在所述PBB實例中廣播;從PBB網(wǎng)絡(luò)接收到私網(wǎng)組播IGMP加入報文后,將私網(wǎng)組播IGMP加入報文中攜帶的PBB實例號和私網(wǎng)組播地址提供給三元組建立單元;接收到所述公網(wǎng)地址分配單元提供的映射關(guān)系后,按照所述三元組建立單元記錄的三元組信息,發(fā)送攜帶該映射關(guān)系的私網(wǎng)組播地址和公網(wǎng)組播地址的組播域MD報文;接收到MD報文后,將MD報文中攜帶的私網(wǎng)組播地址和公網(wǎng)組播地址提供給所述公網(wǎng)地址分配單元和第二判斷處理單元; 向組播源所在的BEB設(shè)備發(fā)送所述第二判斷處理單元提供的公網(wǎng)組播IGMP加入報文;接收到公網(wǎng)組播IGMP加入報文后,將公網(wǎng)組播IGMP加入報文中攜帶的公網(wǎng)組播地址提供給第三判斷處理單元;所述三元組建立單元,用于利用接收到的PBB實例號和私網(wǎng)組播地址保存三元組信息,該三元組信息中包含PBB實例號、私網(wǎng)組播地址和所述網(wǎng)絡(luò)側(cè)收發(fā)單元接收私網(wǎng)組播IGMP加入報文的PW信息;所述第一判斷處理單元,用于接收到所述用戶側(cè)收發(fā)單元提供的私網(wǎng)組播地址后,判斷該BEB設(shè)備本地是否已經(jīng)存在該私網(wǎng)組播地址被分配的公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,如果否,向公網(wǎng)地址分配單元發(fā)送分配通知;所述公網(wǎng)地址分配單元,用于接收到分配通知后,為所述組播流的私網(wǎng)組播地址分配公網(wǎng)組播地址,并記錄私網(wǎng)組播地址和公網(wǎng)組播地址的映射關(guān)系,將該映射關(guān)系提供給所述網(wǎng)絡(luò)側(cè)收發(fā)單元;記錄所述網(wǎng)絡(luò)側(cè)收發(fā)單元提供的公網(wǎng)組播地址和私網(wǎng)組播地址的映射關(guān)系;所述第二判斷處理單元,用于判斷該BEB設(shè)備本地是否存在所述網(wǎng)絡(luò)側(cè)收發(fā)單元提供來的私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,如果是,將所述網(wǎng)絡(luò)側(cè)收發(fā)單元提供的公網(wǎng)組播地址攜帶在公網(wǎng)組播IGMP加入報文中發(fā)送給網(wǎng)絡(luò)側(cè)收發(fā)單元;所述第三判斷處理單元,用于判斷所述網(wǎng)絡(luò)側(cè)收發(fā)單元提供的公網(wǎng)組播地址是否存在于所述公網(wǎng)地址分配單元記錄的映射關(guān)系中,如果存在,將該公網(wǎng)組播地址提供給公網(wǎng)組播表維護單元;所述公網(wǎng)組播表維護單元,用于建立或更新接收到的公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表。由以上技術(shù)方案可以看出,通過本發(fā)明提供的方法,只有組播源所在的BEB設(shè)備為私網(wǎng)組播地址分配公網(wǎng)組播地址,并將該公網(wǎng)組播地址在PBB實例中發(fā)布,使得PBB網(wǎng)絡(luò)中的各BEB上存在統(tǒng)一的私網(wǎng)組播地址和公網(wǎng)組播地址之間的映射關(guān)系,從而使得各BEB 設(shè)備上一個私網(wǎng)組播地址僅對應(yīng)一個公網(wǎng)組播地址轉(zhuǎn)發(fā)表,按照公網(wǎng)組播地址轉(zhuǎn)發(fā)表進行組播流量轉(zhuǎn)發(fā)時,不會產(chǎn)生冗余廣播流量。另外,本發(fā)明中公網(wǎng)組播地址在發(fā)布過程中,PBB實例中的各BEB設(shè)備會記錄私網(wǎng)組播地址和公網(wǎng)組播地址之間的映射關(guān)系,在利用接收到的公網(wǎng)組播IGMP加入報文形成公網(wǎng)組播轉(zhuǎn)發(fā)表時,只有存在映射關(guān)系的BEB設(shè)備才會建立公網(wǎng)組播轉(zhuǎn)發(fā)表,從而保證了只有組播有效路徑上的BEB設(shè)備才會建立起公網(wǎng)組播轉(zhuǎn)發(fā)表,更進一步避免了冗余組播流
量的產(chǎn)生。
圖1為一個典型的PBB組播示意圖2為本發(fā)明提供的主要方法流程圖;圖3為私網(wǎng)組播IGMP報文的洪泛過程流程圖;圖4為擴展后的IGMP報文格式示意圖;圖5為圖3所示流程對應(yīng)的網(wǎng)絡(luò)實例圖;圖6為公網(wǎng)組播地址的發(fā)布以及公網(wǎng)組播轉(zhuǎn)發(fā)表的形成過程流程圖;圖7為圖6所示流程對應(yīng)的網(wǎng)絡(luò)實例圖;圖8為本發(fā)明提供的BEB設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。本發(fā)明提供的主要方法可以如圖2所示,主要包括以下步驟步驟201 =BEB設(shè)備接收到PBB實例中來自本地CE設(shè)備的私網(wǎng)組播IGMP加入報文時,將接收該私網(wǎng)組播IGMP加入報文的接口加入PBB實例中該私網(wǎng)組播IGMP加入報文所攜帶私網(wǎng)組播地址對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表,并在私網(wǎng)組播IGMP加入報文中攜帶PBB實例號后在PBB實例中廣播。步驟202 從PBB網(wǎng)絡(luò)接收到私網(wǎng)組播IGMP加入報文的BEB設(shè)備保存三元組信息, 該三元組信息中包含PBB實例號、私網(wǎng)組播地址和接收私網(wǎng)組播IGMP加入報文的PW信
肩、ο步驟203 接收到來自本地CE的上述私網(wǎng)組播地址對應(yīng)的組播流的BEB設(shè)備,如果本地不存在私網(wǎng)組播地址所對應(yīng)公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,則將該組播流在PBB 實例中進行廣播,且為該私網(wǎng)組播地址分配公網(wǎng)組播地址,記錄私網(wǎng)組播地址和公網(wǎng)組播地址的映射關(guān)系,并按照記錄的三元組信息發(fā)送攜帶私網(wǎng)組播地址和公網(wǎng)組播地址的MD 報文。如果本地已經(jīng)存在私網(wǎng)組播地址所對應(yīng)公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,則按照該私網(wǎng)組播地址對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表進行轉(zhuǎn)發(fā)。步驟204 接收到MD報文的BEB設(shè)備記錄私網(wǎng)組播地址和公網(wǎng)組播地址的映射關(guān)系,并在本地存在該私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表時,向組播源所在的BEB設(shè)備發(fā)送攜帶公網(wǎng)組播地址的公網(wǎng)組播IGMP加入報文。步驟205 接收到公網(wǎng)組播IGMP加入報文的BEB設(shè)備如果存在包含該公網(wǎng)組播地址的映射關(guān)系,則建立或更新該公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表。另外,組播源所在的BEB設(shè)備在利用上述方法建立公網(wǎng)組播轉(zhuǎn)發(fā)表后,就可以將接收到的上述組播流切換到上述建立的公網(wǎng)組播轉(zhuǎn)發(fā)表對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)樹上,從而使后續(xù)組播流能夠按照公網(wǎng)組播轉(zhuǎn)發(fā)路徑進行轉(zhuǎn)發(fā)。實際上,本發(fā)明提供的上述方法可以分解為幾個具體的過程1)私網(wǎng)組播IGMP報文的洪泛過程;幻公網(wǎng)組播地址的發(fā)布以及公網(wǎng)組播轉(zhuǎn)發(fā)表的形成過程;幻組播流量的轉(zhuǎn)發(fā)過程。下面將分解后的上述過程分別進行詳細描述。圖3為私網(wǎng)組播IGMP報文的洪泛過程流程圖,如圖3所示,該過程可以具體包括以下步驟
9
步驟301 =BEB設(shè)備接收到某PBB實例中來自本地CE設(shè)備的私網(wǎng)組播IGMP加入報文后,判斷該BEB設(shè)備本地是否已經(jīng)存在該PBB實例中該私網(wǎng)組播IGMP加入報文所攜帶私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,如果不存在,執(zhí)行步驟302 ;如果存在,執(zhí)行步驟303。步驟302 在該BEB設(shè)備本地建立該PBB實例中上述私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,執(zhí)行步驟303。步驟303 將接收私網(wǎng)組播IGMP加入報文的入接口添加到該私網(wǎng)組播地址對應(yīng)的出接口列表中。 步驟304 將該PBB實例信息攜帶在該私網(wǎng)組播IGMP加入報文中,并將攜帶PBB實例信息的私網(wǎng)組播IGMP加入報文在該PBB實例中廣播。較優(yōu)地,步驟304可以在只有私網(wǎng)組播地址不存在時才執(zhí)行。本步驟中,可以對私網(wǎng)組播IGMP加入報文進行擴展,通過擴展字段來攜帶PBB實例信息,擴展后的IGMP報文格式可以如圖4所示,其中,組播組地址字段用于攜帶私網(wǎng)組播地址,實例號(I-SID)字段為擴展字段,用于攜帶PBB實例信息。該私網(wǎng)組播IGMP加入報文在該PBB實例中進行廣播時,進行MinM封裝后發(fā)送給該PBB實例的所有對端BCB設(shè)備。步驟305 =BCB設(shè)備對接收到的私網(wǎng)組播IGMP加入報文進行透傳。由于BCB設(shè)備接收到的私網(wǎng)組播IGMP加入報文是封裝了 MinM隧道頭的報文,BCB 設(shè)備不會對該報文進行解析,僅執(zhí)行轉(zhuǎn)發(fā)處理。步驟306 其它BEB設(shè)備從PBB網(wǎng)絡(luò)中接收到私網(wǎng)組播IGMP加入報文后,保存PBB 實例、私網(wǎng)組播地址以及接收該私網(wǎng)組播IGMP加入報文的PW信息之間的對應(yīng)關(guān)系。BEB設(shè)備接收到BCB設(shè)備透傳來的或者其它BEB設(shè)備發(fā)送來的私網(wǎng)組播IGMP加入報文后,進行解MinM封裝,然后對解封裝后的報文進行解析,獲取其中攜帶的PBB實例信息和私網(wǎng)組播地址,在本地存儲一個三元組(實例號,私網(wǎng)組播地址,接收該私網(wǎng)組播IGMP加入報文的PW信息),該三元組用于后續(xù)公網(wǎng)組播地址的發(fā)布過程,在后續(xù)描述中將會涉及。下面舉一個具體的例子對圖3所示流程進行說明。以圖5所示網(wǎng)絡(luò)架構(gòu)為例,假設(shè)實例PBBl中的CEll向BEBl發(fā)送私網(wǎng)組播IGMP加入報文,請求加入私網(wǎng)組播地址為 224. 1. 1. 1的私網(wǎng)組播組。BEBl接收到該私網(wǎng)組播IGMP加入報文后,在本地建立PBBl下224. 1. 1. 1的私網(wǎng)組播轉(zhuǎn)發(fā)表,將入接口加入私網(wǎng)組播轉(zhuǎn)發(fā)表中224. 1. 1. 1對應(yīng)的出接口列表。BEBl將PBBl 的實例號攜帶在私網(wǎng)組播IGMP加入報文的擴展字段中在PBBl實例中廣播。需要說明的是,BEB設(shè)備在向PBB網(wǎng)絡(luò)發(fā)送報文時都需要進行MinM封裝,BEB設(shè)備從PBB設(shè)備接收報文時,都需要進行MinM解封裝,由于此過程為現(xiàn)有技術(shù),在后續(xù)實施例中不再一一贅述。假設(shè)BCB2和BCBl是BEBl的PBBl實例的對端設(shè)備,BCBl將該私網(wǎng)組播IGMP加入報文進行透傳,透傳給BEB2,BCB2將該私網(wǎng)組播IGMP加入報文進行透傳,透傳給BEB4。BEB4從接收到的私網(wǎng)組播IGMP加入報文中獲取實例號PBBl和私網(wǎng)組播地址 224. 1. 1. 1,并建立三元組(PBBL224. 1. 1. 1,BEB1),該三元組中接收私網(wǎng)組播IGMP加入報文的PW信息是以PW對端來標識的,在PBB網(wǎng)絡(luò)中相當于源MAC,即PW對端為BEB1。同理,BEB3上建立三元組(PBB1,224. 1. 1. 1,BEB4)。在BEB2上則存在兩條三元組(PBB1, 224. 1. 1. 1, BEB1)禾口 (PBB1,224. 1. 1. 1,BEB4)。
經(jīng)過上述私網(wǎng)組播IGMP加入報文的洪泛過程后,PBB實例中的各BEB設(shè)備上均存在接收者要加入的私網(wǎng)組播組地址信息,即PBB實例信息、私網(wǎng)組播組地址以及接收該私網(wǎng)組播IGMP加入報文的PW信息之間的對應(yīng)關(guān)系。圖6為公網(wǎng)組播地址的發(fā)布以及公網(wǎng)組播轉(zhuǎn)發(fā)表的形成過程流程圖,如6所示,該過程可以具體包括以下步驟步驟601 :BEB設(shè)備接收到來自本地CE設(shè)備的組播流時,判斷該BEB設(shè)備是否已經(jīng)存在該組播流的私網(wǎng)組播地址對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表,如果是,執(zhí)行步驟602;否則,執(zhí)行步驟603。步驟602 按照該組播流的私網(wǎng)組播地址對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)該組播流, 結(jié)束該BEB設(shè)備的轉(zhuǎn)發(fā)流程。如果在BEB設(shè)備本地已經(jīng)存在該組播流的私網(wǎng)組播地址對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表, 則說明不是首次接收到該私網(wǎng)組播地址的組播流,直接按照公網(wǎng)組播轉(zhuǎn)發(fā)表進行轉(zhuǎn)發(fā)即可。另外,需要說明的是,如果接收到來自本地CE設(shè)備的組播流,還會查詢本地是否存在包含該組播流的私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,即確定是否存在本地組播流接收者,如果存在,則復(fù)制與本地組播流接收者相同份數(shù)的組播流,按照本地的私網(wǎng)組播轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)給本地組播流接收者。步驟603 將該組播流在對應(yīng)的PBB實例中廣播。如果在BEB設(shè)備本地尚未存在該組播流的私網(wǎng)組播地址對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表, 則說明首次接收到該私網(wǎng)組播地址的組播流,需要在PBB網(wǎng)絡(luò)中進行公網(wǎng)組播地址的分配和公網(wǎng)組播轉(zhuǎn)發(fā)表的建立。步驟604 如果尚未為該組播流的私網(wǎng)組播地址分配公網(wǎng)組播地址,則為該私網(wǎng)組播地址分配一個公網(wǎng)組播地址,記錄私網(wǎng)組播地址和公網(wǎng)組播地址之間的映射關(guān)系,并在該PBB實例中按照私網(wǎng)組播地址對應(yīng)的PW信息廣播組播域(MD,Multicast Domain)報文,該MD報文中攜帶私網(wǎng)組播地址和分配的公網(wǎng)組播地址信息。在私網(wǎng)組播IGMP加入報文的洪泛過程中,在PBB實例中的各BEB設(shè)備上,均已經(jīng)保存了 PBB實例、私網(wǎng)組播地址以及接收該私網(wǎng)組播IGMP加入報文的PW信息之間的對應(yīng)關(guān)系,在發(fā)送MD報文時,就按照該私網(wǎng)組播地址對應(yīng)的PW進行發(fā)送。步驟605 其它各BEB設(shè)備從PBB網(wǎng)絡(luò)中接收到MD報文時,從該MD報文中解析出私網(wǎng)組播地址和為該私網(wǎng)組播地址分配的公網(wǎng)組播地址,記錄私網(wǎng)組播地址和公網(wǎng)組播地址之間的映射關(guān)系。步驟606 判斷本地是否存在該私網(wǎng)組播地址對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表,如果存在, 則執(zhí)行步驟607 ;如果不存在,則丟棄該MD報文。步驟607 向組播源所在的BEB設(shè)備發(fā)送攜帶解析出的公網(wǎng)組播地址的公網(wǎng)組播 IGMP加入報文。本步驟中,可以在公網(wǎng)中以單播方式向組播源所在的BEB設(shè)備發(fā)送公網(wǎng)組播IGMP 加入報文,這是較優(yōu)的方式,也可以在PBB實例中廣播該公網(wǎng)組播IGMP加入報文。步驟608 =BCB設(shè)備接收到該公網(wǎng)組播IGMP加入報文后,建立公網(wǎng)組播轉(zhuǎn)發(fā)表,即將接收該公網(wǎng)組播IGMP加入報文的接口加入該公網(wǎng)組播地址對應(yīng)的出接口列表,然后繼續(xù)向組播源所在的BEB設(shè)備轉(zhuǎn)發(fā)該公網(wǎng)組播IGMP加入報文。需要特別說明的是,上述的私網(wǎng)IGMP加入報文和MD報文均是MinM封裝的報文, 因此,BCB均進行透傳處理。而在本發(fā)明中,公網(wǎng)組播IGMP加入報文并不采用MinM封裝的報文,而是普通的報文,因此,在BCB設(shè)備接收到該公網(wǎng)組播IGMP加入報文后,會利用該公網(wǎng)組播IGMP加入報文建立公網(wǎng)組播轉(zhuǎn)發(fā)表。步驟609 其它BEB設(shè)備接收到該公網(wǎng)組播IGMP加入報文后,在本地建立該公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,并繼續(xù)轉(zhuǎn)發(fā)該IGMP加入報文直至組播源所在的BEB設(shè)備。建立該公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,即將接收公網(wǎng)組播IGMP加入報文的接口加入該公網(wǎng)組播地址對應(yīng)的出接口列表。這樣,從組播報文的接收者所在的BEB設(shè)備直至組播源所在的BEB設(shè)備上,以及接收路徑上的BCB設(shè)備上,都建立了公網(wǎng)組播轉(zhuǎn)發(fā)表。當以圖5所示進行了私網(wǎng)組播IGMP加入報文的洪泛之后,如果BEB2設(shè)備連接組播源,假設(shè)組播源為本地的CE21,當BEB2接收到組播源發(fā)送的組播流時,如圖7所示,BEB2 確定本地尚未在PBB 1下建立224. 1. 1. 1對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表,則對該組播流在PBBl下進行廣播,與此同時,為224. 1. 1. 1分配一個公網(wǎng)組播地址239. 1. 1. 1,記錄兩者之間的映射關(guān)系,并按照洪泛過程中保存的三元組發(fā)送攜帶224. 1. 1. 1和239. 1. 1. 1的MD消息。BEB3和BEBl接收到該MD消息后,保存224. 1. 1. 1和239. 1. 1. 1之間的映射關(guān)系。由于BEBl下存在該組播流的接收者,即在本地存在224. 1. 1. 1對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表,因此會向組播源所在的BEB2回復(fù)攜帶239. 1. 1. 1的公網(wǎng)組播IGMP加入報文。較優(yōu)地,該公網(wǎng)組播IGMP加入報文以單播形式發(fā)送,如果查找轉(zhuǎn)發(fā)表得到匹配的表項,則以單播形式發(fā)送給BEB2,假設(shè)如圖7所示,BEBl將公網(wǎng)組播IGMP加入報文發(fā)送給BCBl ;如果 BEBl查找轉(zhuǎn)發(fā)表項沒有得到匹配的表項,則在PBB實例中廣播該公網(wǎng)組播IGMP加入報文 (BCB1與BCB2均能收到該公網(wǎng)組播IGMP加入報文,BCB2將該公網(wǎng)組播IGMP加入報文發(fā)送至BEB2的方式與BCBl相同)。圖7中,BEBl以單播形式發(fā)送公網(wǎng)組播IGMP加入報文為例。需要說明的是,在PBB網(wǎng)絡(luò)中,會針對公網(wǎng)組播使能避免環(huán)路的機制,例如使能MSTP機制,這樣即便BEB2設(shè)備會從多條路徑接收到公網(wǎng)組播IGMP加入報文,便BEB2也會選取一條建立公網(wǎng)組播轉(zhuǎn)發(fā)樹,該部分為現(xiàn)有機制,不再詳細贅述。BCBl接收到公網(wǎng)組播IGMP加入報文后,建立239. 1. 1. 1對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表, 并繼續(xù)以單播形式轉(zhuǎn)發(fā)該公網(wǎng)組播IGMP加入報文。BEB2接收到公網(wǎng)組播IGMP加入報文后,由于在本地存在224. 1. 1. 1和239. 1. 1. 1 之間的映射關(guān)系,因此,在本地建立239. 1. 1. 1對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表。此時,就可以將組播流切換至公網(wǎng)組播轉(zhuǎn)發(fā)表對應(yīng)的組播轉(zhuǎn)發(fā)樹上,即開始按照公網(wǎng)組播轉(zhuǎn)發(fā)表進行組播流的轉(zhuǎn)發(fā)。圖7中虛線箭頭為MD報文的發(fā)送路徑,實線箭頭為公網(wǎng)組播IGMP加入報文的發(fā)
送路徑。后續(xù)的組播流量的轉(zhuǎn)發(fā)過程可以為按照建立的公網(wǎng)組播轉(zhuǎn)發(fā)表進行轉(zhuǎn)發(fā),即由廣播發(fā)送轉(zhuǎn)為組播發(fā)送。即,各BEB設(shè)備和BCB設(shè)備接收到組播流后,按照該組播流的私網(wǎng)組播地址對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表進行報文轉(zhuǎn)發(fā);同時,如果BEB設(shè)備在本地存在組播流對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表,則說明在本地具有接收者,則將組播流復(fù)制一份后按照本地的私網(wǎng)組播轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)給本地CE設(shè)備。如果在公網(wǎng)組播轉(zhuǎn)發(fā)表建立之后,BEB4下出現(xiàn)新的組播接收者,例如CE41請求加入224. 1. 1. 1的私網(wǎng)組播組,BEB4接收到CE41發(fā)送的私網(wǎng)組播IGMP加入報文后,在本地建立私網(wǎng)組播轉(zhuǎn)發(fā)表。另外,由于BEB4本地已經(jīng)存在224. 1. 1. 1與公網(wǎng)組播地址239. 1. 1. 1 之間的映射關(guān)系,BEB4可以直接以單播方式向BEB2發(fā)送攜帶239. 1. 1. 1的公網(wǎng)組播IGMP 加入報文,從而在239. 1. 1. 1對應(yīng)的出接口列表中增加接口,將組播流量引致CE41。也就是說,接收到來自本地CE的私網(wǎng)組播IGMP加入報文的BEB設(shè)備,會首先判斷本地是否已經(jīng)存在包含該私網(wǎng)組播地址的映射關(guān)系,如果存在,則向組播源所在的BEB設(shè)備發(fā)送攜帶該映射關(guān)系中公網(wǎng)組播地址的公網(wǎng)組播IGMP加入報文;如果不存在,則按照圖3中的流程開始建立私網(wǎng)組播轉(zhuǎn)發(fā)表。如果某個組播流接收者需要退出私網(wǎng)組播組,則會向連接的BEB設(shè)備發(fā)送私網(wǎng)組播IGMP離開報文,該私網(wǎng)組播IGMP離開報文中包含要退出的私網(wǎng)組播地址。BEB設(shè)備接收到私網(wǎng)組播IGMP離開報文后,更新私網(wǎng)組播轉(zhuǎn)發(fā)表,即將接收該私網(wǎng)組播IGMP離開報文的入接口從私網(wǎng)組播地址對應(yīng)的出接口列表中刪除。當該私網(wǎng)組播地址對應(yīng)的出接口列表為空時,刪除該私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,并向組播源所在的BEB設(shè)備發(fā)送公網(wǎng)組播IGMP離開報文。同樣,可以以單播的形式發(fā)送該公網(wǎng)組播IGMP 離開報文,也可以以廣播的形式在PBB實例中廣播該公網(wǎng)組播IGMP離開報文,這與公網(wǎng)組播IGMP加入報文相似。其它BEB設(shè)備接收到私網(wǎng)組播IGMP離開報文后,如果本地存在該私網(wǎng)組播地址對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表,則刪除本地保存的該私網(wǎng)組播地址的三元組。如果接收到公網(wǎng)組播 IGMP離開報文,將接收該公網(wǎng)組播IGMP離開報文的入接口從公網(wǎng)組播地址對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表中刪除。這樣組播流就不會轉(zhuǎn)發(fā)至沒有組播接收者的BEB設(shè)備。另外,當BEB設(shè)備上的PBB實例狀態(tài)由UP變?yōu)镈OWN時,需要在該PBB實例中廣播該PBB實例下所有公網(wǎng)組播地址的公網(wǎng)組播IGMP離開報文。以上是對本發(fā)明所提供方法進行的詳細描述,下面對本發(fā)明所提供的BEB設(shè)備進行詳細描述。圖8為本發(fā)明提供的BEB設(shè)備的結(jié)構(gòu)示意圖,如圖8所示,該BEB設(shè)備可以包括 用戶側(cè)收發(fā)單元800、私網(wǎng)組播表維護單元801、網(wǎng)絡(luò)側(cè)收發(fā)單元802、三元組建立單元803、 第一判斷處理單元804、公網(wǎng)地址分配單元805、第二判斷處理單元806、第三判斷處理單元 807和公網(wǎng)組播表維護單元808。用戶側(cè)收發(fā)單元800,用于接收到PBB實例中來自本地CE設(shè)備的私網(wǎng)組播IGMP加入報文后,將該私網(wǎng)組播IGMP加入報文攜帶的私網(wǎng)組播地址通過加入通知發(fā)送給私網(wǎng)組播表維護單元801 ;接收到來自本地CE設(shè)備的組播流后,將組播流對應(yīng)的私網(wǎng)組播地址提供給第一判斷處理單元804。私網(wǎng)組播表維護單元801,用于利用接收到的加入通知攜帶的私網(wǎng)組播地址,將接收用戶側(cè)收發(fā)單元800接收私網(wǎng)組播IGMP加入報文的接口加入所述私網(wǎng)組播地址對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表。網(wǎng)絡(luò)側(cè)收發(fā)單元802,用于在私網(wǎng)組播IGMP加入報文中攜帶PBB實例后在PBB實例中廣播;從PBB網(wǎng)絡(luò)接收到私網(wǎng)組播IGMP加入報文后,將私網(wǎng)組播IGMP加入報文中攜帶的PBB實例號和私網(wǎng)組播地址提供給三元組建立單元803 ;接收到公網(wǎng)地址分配單元805 提供的映射關(guān)系后,按照三元組建立單元803記錄的三元組信息,發(fā)送攜帶該映射關(guān)系的私網(wǎng)組播地址和公網(wǎng)組播地址的組播域MD報文;接收到MD報文后,將MD報文中攜帶的私網(wǎng)組播地址和公網(wǎng)組播地址提供給公網(wǎng)地址分配單元805和第二判斷處理單元806 ;向組播源所在的BEB設(shè)備發(fā)送第二判斷處理單元806提供的公網(wǎng)組播IGMP加入報文;接收到公網(wǎng)組播IGMP加入報文后,將公網(wǎng)組播IGMP加入報文中攜帶的公網(wǎng)組播地址提供給第三判斷處理單元807。三元組建立單元803,用于利用接收到的PBB實例號和私網(wǎng)組播地址保存三元組信息,該三元組信息中包含PBB實例號、私網(wǎng)組播地址和網(wǎng)絡(luò)側(cè)收發(fā)單元802接收私網(wǎng)組播IGMP加入報文的PW信息。第一判斷處理單元804,用于接收到用戶側(cè)收發(fā)單元800提供的私網(wǎng)組播地址后, 判斷該BEB設(shè)備本地是否已經(jīng)存在該私網(wǎng)組播地址被分配的公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,如果否,向公網(wǎng)地址分配單元805發(fā)送分配通知。公網(wǎng)地址分配單元805,用于接收到分配通知后,為組播流的私網(wǎng)組播地址分配公網(wǎng)組播地址,并記錄私網(wǎng)組播地址和公網(wǎng)組播地址的映射關(guān)系,將該映射關(guān)系提供給網(wǎng)絡(luò)側(cè)收發(fā)單元802 ;記錄網(wǎng)絡(luò)側(cè)收發(fā)單元802提供的公網(wǎng)組播地址和私網(wǎng)組播地址的映射關(guān)系。第二判斷處理單元806,用于判斷該BEB設(shè)備本地是否存在網(wǎng)絡(luò)側(cè)收發(fā)單元802提供來的私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,如果是,將網(wǎng)絡(luò)側(cè)收發(fā)單元802提供的公網(wǎng)組播地址攜帶在公網(wǎng)組播IGMP加入報文中發(fā)送給網(wǎng)絡(luò)側(cè)收發(fā)單元802。第三判斷處理單元807,用于判斷網(wǎng)絡(luò)側(cè)收發(fā)單元802提供的公網(wǎng)組播地址是否存在于公網(wǎng)地址分配單元805記錄的映射關(guān)系中,如果存在,將該公網(wǎng)組播地址提供給公網(wǎng)組播表維護單元808。公網(wǎng)組播表維護單元808,用于建立或更新接收到的公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表。另外,第一判斷處理單元804,還可以用于如果判斷出該BEB設(shè)備本地已經(jīng)存在該私網(wǎng)組播地址被分配的公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,則向網(wǎng)絡(luò)側(cè)收發(fā)單元802發(fā)送流量轉(zhuǎn)發(fā)通知。網(wǎng)絡(luò)側(cè)收發(fā)單元802,還用于接收到流量轉(zhuǎn)發(fā)通知后,按照組播流量的私網(wǎng)組播地址對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表進行轉(zhuǎn)發(fā)。具體地,上述私網(wǎng)組播表維護單元801可以包括第一判斷子單元8011和私網(wǎng)組播表維護子單元8012。第一判斷子單元8011,用于接收到攜帶私網(wǎng)組播地址的加入通知后,判斷是否已經(jīng)建立PBB實例中該私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,如果否,向私網(wǎng)組播表維護子單元 8012發(fā)送建立通知;如果是,向私網(wǎng)組播維護子單元8012發(fā)送更新通知。私網(wǎng)組播表維護子單元8012,用于接收到建立通知后,建立PBB實例中該私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,并將用戶側(cè)收發(fā)單元800接收私網(wǎng)組播IGMP加入報文的接口加入私網(wǎng)組播轉(zhuǎn)發(fā)表;接收到更新通知后,將用戶側(cè)收發(fā)單元800接收私網(wǎng)組播IGMP加入報文的接口加入私網(wǎng)組播轉(zhuǎn)發(fā)表。
14
更進一步地,第二判斷處理單元806,還用于判斷出不存在網(wǎng)絡(luò)側(cè)收發(fā)單元802提供來的私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表時,通知網(wǎng)絡(luò)側(cè)收發(fā)單元802丟棄接收到的MD報文。第三判斷處理單元807,還用于判斷出網(wǎng)絡(luò)側(cè)收發(fā)單元802提供的公網(wǎng)組播地址不存在于公網(wǎng)地址分配單元805記錄的映射關(guān)系中時,通知網(wǎng)絡(luò)側(cè)收發(fā)單元802將接收到的公網(wǎng)組播IGMP加入報文繼續(xù)向組播源所在的BEB設(shè)備轉(zhuǎn)發(fā)。更優(yōu)地,該BEB設(shè)備還可以包括第四判斷處理單元809,用于接收用戶側(cè)收發(fā)單元800提供給私網(wǎng)組播表維護單元801的加入通知,判斷公網(wǎng)地址分配單元805是否已經(jīng)建立包含該加入通知所攜帶私網(wǎng)組播地址的映射關(guān)系,如果不存在,則將加入通知轉(zhuǎn)發(fā)給私網(wǎng)組播表維護單元801 ;如果存在,則將已經(jīng)建立的包含該私網(wǎng)組播地址的映射關(guān)系中對應(yīng)的公網(wǎng)組播地址攜帶在公網(wǎng)組播IGMP加入報文中,將該公網(wǎng)組播IGMP加入報文提供給網(wǎng)絡(luò)側(cè)收發(fā)單元802。網(wǎng)絡(luò)側(cè)收發(fā)單元802,還用于將第四判斷處理單元809提供的公網(wǎng)組播IGMP加入報文向組播源所在的BEB設(shè)備轉(zhuǎn)發(fā)。該BEB設(shè)備還包括流量切換單元811,用于在公網(wǎng)組播表維護單元808建立公網(wǎng)組播轉(zhuǎn)發(fā)表后,將來自本地CE設(shè)備的對應(yīng)組播流切換到公網(wǎng)組播轉(zhuǎn)發(fā)表對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)樹上。另外,用戶側(cè)收發(fā)單元800,還可以用于接收到來自本地CE設(shè)備的私網(wǎng)組播IGMP 離開報文后,將私網(wǎng)組播IGMP離開報文中攜帶的私網(wǎng)組播地址通過刪除通知提供給私網(wǎng)組播表維護單元801。私網(wǎng)組播表維護單元801,還用于接收到刪除通知后,將用戶側(cè)收發(fā)單元800接收私網(wǎng)組播IGMP離開報文的接口從該私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表中刪除;如果該私網(wǎng)組播轉(zhuǎn)發(fā)表中的出接口列表為空,則刪除該私網(wǎng)組播轉(zhuǎn)發(fā)表,并向公網(wǎng)地址分配單元805 發(fā)送攜帶該私網(wǎng)組播地址的離開通知。公網(wǎng)地址分配單元805,還用于確定離開通知攜帶的私網(wǎng)組播地址對應(yīng)的公網(wǎng)組播地址,將該公網(wǎng)組播地址攜帶在公網(wǎng)組播IGMP離開報文中提供給網(wǎng)絡(luò)側(cè)收發(fā)單元802。網(wǎng)絡(luò)側(cè)收發(fā)單元802,還用于向組播源所在的BEB設(shè)備發(fā)送公網(wǎng)地址分配單元805 提供的公網(wǎng)組播IGMP離開報文。更優(yōu)地,該BEB設(shè)備還可以包括實例維護單元810,用于在PBB實例由啟動UP變?yōu)殛P(guān)閉DOWN時,將該PBB實例信息攜帶在離開通知中提供給公網(wǎng)地址分配單元805。公網(wǎng)地址分配單元805,還用于確定離開通知所攜帶PBB實例信息對應(yīng)的所有公網(wǎng)組播地址,將確定的公網(wǎng)組播地址分別攜帶在公網(wǎng)組播IGMP離開報文中提供給網(wǎng)絡(luò)側(cè)收發(fā)單元802。另外,無論是從用戶側(cè)收發(fā)單元800或網(wǎng)絡(luò)側(cè)收發(fā)單元802收到組播流量,如果本地存在該組播流的私網(wǎng)組播地址對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表,則會將組播流復(fù)制一份后,按照該私網(wǎng)組播轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)給本地的接收者CE設(shè)備,該部分為已有的功能單元,在此不再詳述。由以上描述可以看出,本發(fā)明提供的方法和裝置可以具備以下優(yōu)點1)通過本發(fā)明提供的方法,只有組播源所在的BEB設(shè)備為私網(wǎng)組播地址分配公網(wǎng)組播地址,并將該公網(wǎng)組播地址在PBB實例中發(fā)布,使得PBB網(wǎng)絡(luò)中的各BEB上存在統(tǒng)一的私網(wǎng)組播地址和公網(wǎng)組播地址之間的映射關(guān)系,從而使得各BEB設(shè)備上一個私網(wǎng)組播地址僅對應(yīng)一個公網(wǎng)組播地址轉(zhuǎn)發(fā)表,按照公網(wǎng)組播地址轉(zhuǎn)發(fā)表進行組播流量轉(zhuǎn)發(fā)時,不會產(chǎn)生冗余廣播流量。另外,本發(fā)明中公網(wǎng)組播地址在發(fā)布過程中,PBB實例中的各BEB設(shè)備會記錄私網(wǎng)組播地址和公網(wǎng)組播地址之間的映射關(guān)系,在利用接收到的公網(wǎng)組播IGMP加入報文形成公網(wǎng)組播轉(zhuǎn)發(fā)表時,只有存在映射關(guān)系的BEB設(shè)備才會建立公網(wǎng)組播轉(zhuǎn)發(fā)表并進行后續(xù)組播流量的轉(zhuǎn)發(fā),從而保證了只有組播有效路徑上的BEB設(shè)備才會建立起公網(wǎng)組播轉(zhuǎn)發(fā)表, 更進一步避免了冗余組播流量的產(chǎn)生。2)在本發(fā)明中,公網(wǎng)組播地址的分配是由組播流量觸發(fā)的,因此,如果網(wǎng)絡(luò)中不存在組播源,在該PBB網(wǎng)絡(luò)中就不會存在為該組播源所對應(yīng)私網(wǎng)組播地址分配的公網(wǎng)組播地址,各BEB設(shè)備上也就不會存在公網(wǎng)組播地址和該私網(wǎng)組播地址之間的對應(yīng)關(guān)系,從而不會為該私網(wǎng)組播地址浪費公網(wǎng)地址,也不會占用BEB設(shè)備上的表項資源。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種運營商骨干網(wǎng)橋接PBB網(wǎng)絡(luò)中處理組播報文的方法,其特征在于,該方法包括骨干網(wǎng)邊緣橋接BEB設(shè)備接收到PBB實例中來自本地用戶網(wǎng)絡(luò)邊緣CE設(shè)備的私網(wǎng)組播因特網(wǎng)組管理協(xié)議IGMP加入報文時,將接收所述私網(wǎng)組播IGMP加入報文的接口加入所述PBB實例中該私網(wǎng)組播IGMP加入報文所攜帶私網(wǎng)組播地址對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表,并在所述私網(wǎng)組播IGMP加入報文中攜帶PBB實例號后在所述PBB實例中廣播;從PBB網(wǎng)絡(luò)接收到所述私網(wǎng)組播IGMP加入報文的BEB設(shè)備保存三元組信息,該三元組信息中包含所述PBB實例號、所述私網(wǎng)組播地址和接收所述私網(wǎng)組播IGMP加入報文的PW fn息;接收到來自本地CE的所述私網(wǎng)組播地址對應(yīng)的組播流的BEB設(shè)備,如果本地不存在所述私網(wǎng)組播地址被分配的公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,則將所述組播流在所述PBB實例中進行廣播,且為所述私網(wǎng)組播地址分配公網(wǎng)組播地址,記錄所述私網(wǎng)組播地址和所述公網(wǎng)組播地址的映射關(guān)系,并按照本地記錄的所述三元組信息發(fā)送攜帶所述私網(wǎng)組播地址和公網(wǎng)組播地址的組播域MD報文;接收到所述MD報文的BEB設(shè)備記錄所述私網(wǎng)組播地址和公網(wǎng)組播地址的映射關(guān)系,并在本地存在所述私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表時,向組播源所在的BEB設(shè)備發(fā)送攜帶所述公網(wǎng)組播地址的公網(wǎng)組播IGMP加入報文;接收到所述公網(wǎng)組播IGMP加入報文的BEB設(shè)備如果記錄有所述映射關(guān)系,則建立或更新所述公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,接收到來自本地CE的所述私網(wǎng)組播地址對應(yīng)的組播流的BEB設(shè)備,如果本地存在所述私網(wǎng)組播地址被分配的公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,則按照該私網(wǎng)組播地址對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表進行轉(zhuǎn)發(fā)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在將接收所述私網(wǎng)組播IGMP加入報文的接口加入所述PBB實例中該私網(wǎng)組播IGMP加入報文所攜帶私網(wǎng)組播地址對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表之前,還包括判斷本地是否已經(jīng)建立所述PBB實例中所述私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,如果是,則繼續(xù)執(zhí)行所述將接收所述私網(wǎng)組播IGMP加入報文的接口加入所述 PBB實例中該私網(wǎng)組播IGMP加入報文所攜帶私網(wǎng)組播地址對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表;如果否,建立所述PBB實例中該私網(wǎng)組播IGMP加入報文所攜帶私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,并繼續(xù)執(zhí)行所述將接收所述私網(wǎng)組播IGMP加入報文的接口加入所述PBB實例中該私網(wǎng)組播IGMP加入報文所攜帶私網(wǎng)組播地址對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述PBB網(wǎng)絡(luò)中的骨干網(wǎng)核心橋接BCB設(shè)備對接收到的私網(wǎng)組播IGMP加入報文進行透傳;接收到所述公網(wǎng)組播IGMP加入報文后,在本地建立或更新所述公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,并繼續(xù)轉(zhuǎn)發(fā)所述公網(wǎng)組播IGMP加入報文給組播源所在的BEB設(shè)備。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,接收到所述MD報文的BEB設(shè)備如果確定本地不存在所述私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表時,在記錄所述私網(wǎng)組播地址和公網(wǎng)組播地址的映射關(guān)系后,丟棄所述MD報文;接收到所述公網(wǎng)組播IGMP加入報文的BEB設(shè)備如果沒有記錄所述映射關(guān)系,則繼續(xù)將所述公網(wǎng)組播IGMP加入報文向組播源所在的BEB設(shè)備轉(zhuǎn)發(fā)。
6.根據(jù)權(quán)利要3所述的方法,其特征在于,在判斷本地是否已經(jīng)建立所述PBB實例中所述私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表之前,還包括判斷本地是否已經(jīng)存在包含所述私網(wǎng)組播地址的映射關(guān)系,如果存在,則直接向組播源所在的BEB設(shè)備發(fā)送公網(wǎng)組播IGMP加入報文,該公網(wǎng)組播IGMP加入報文中攜帶已經(jīng)存在的映射關(guān)系中的公網(wǎng)組播地址;如果不存在,則繼續(xù)執(zhí)行斷本地是否已經(jīng)建立所述PBB實例中所述私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表的步驟。
7.根據(jù)權(quán)利要求1至6任一權(quán)項所述的方法,其特征在于,組播源所在的BEB設(shè)備利用接收到的公網(wǎng)組播IGMP加入報文建立所述公網(wǎng)組播轉(zhuǎn)發(fā)表后,將所述組播流切換到所述公網(wǎng)組播轉(zhuǎn)發(fā)表對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)樹上。
8.根據(jù)權(quán)利要求1至6任一權(quán)項所述的方法,其特征在于,如果BEB設(shè)備接收到來自本地CE設(shè)備的包含所述私網(wǎng)組播地址的私網(wǎng)組播IGMP離開報文,將接收該私網(wǎng)組播IGMP 離開報文的接口從該私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表中刪除;如果所述私網(wǎng)組播地址中的出接口列表為空,則刪除所述私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,并向組播源所在的BEB設(shè)備發(fā)送攜帶對應(yīng)公網(wǎng)組播地址的公網(wǎng)組播IGMP離開報文;接收到所述私網(wǎng)組播IGMP離開報文的BEB設(shè)備,如果本地存在所述PBB實例中所述私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,則刪除本地記錄的所述私網(wǎng)組播地址對應(yīng)的三元組信息;接收到所述公網(wǎng)組播IGMP離開報文的BEB設(shè)備,將接收該公網(wǎng)組播IGMP離開報文的接口從所述公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表中刪除。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,當BEB設(shè)備上的所述PBB實例狀態(tài)由啟動 UP變?yōu)殛P(guān)閉DOWN,則廣播所述PBB實例下所有公網(wǎng)組播地址的公網(wǎng)組播IGMP離開報文。
10.一種骨干網(wǎng)邊緣橋接BEB設(shè)備,其特征在于,該BEB設(shè)備包括用戶側(cè)收發(fā)單元、私網(wǎng)組播表維護單元、網(wǎng)絡(luò)側(cè)收發(fā)單元、三元組建立單元、第一判斷處理單元、公網(wǎng)地址分配單元、第二判斷處理單元、第三判斷處理單元和公網(wǎng)組播表維護單元;所述用戶側(cè)收發(fā)單元,用于接收到運營商骨干網(wǎng)橋接PBB實例中來自本地用戶網(wǎng)絡(luò)邊緣CE設(shè)備的私網(wǎng)組播IGMP加入報文后,將該私網(wǎng)組播IGMP加入報文攜帶的私網(wǎng)組播地址通過加入通知發(fā)送給私網(wǎng)組播表維護單元;接收到來自本地CE設(shè)備的組播流后,將組播流對應(yīng)的私網(wǎng)組播地址提供給第一判斷處理單元;所述私網(wǎng)組播表維護單元,用于利用接收到的加入通知攜帶的私網(wǎng)組播地址,將接收所述用戶側(cè)收發(fā)單元接收私網(wǎng)組播IGMP加入報文的接口加入所述私網(wǎng)組播地址對應(yīng)的私網(wǎng)組播轉(zhuǎn)發(fā)表;所述網(wǎng)絡(luò)側(cè)收發(fā)單元,用于在所述私網(wǎng)組播IGMP加入報文中攜帶所述PBB實例后在所述PBB實例中廣播;從PBB網(wǎng)絡(luò)接收到私網(wǎng)組播IGMP加入報文后,將私網(wǎng)組播IGMP加入報文中攜帶的PBB實例號和私網(wǎng)組播地址提供給三元組建立單元;接收到所述公網(wǎng)地址分配單元提供的映射關(guān)系后,按照所述三元組建立單元記錄的三元組信息,發(fā)送攜帶該映射關(guān)系的私網(wǎng)組播地址和公網(wǎng)組播地址的組播域MD報文;接收到MD報文后,將MD報文中攜帶的私網(wǎng)組播地址和公網(wǎng)組播地址提供給所述公網(wǎng)地址分配單元和第二判斷處理單元;向組播源所在的BEB設(shè)備發(fā)送所述第二判斷處理單元提供的公網(wǎng)組播IGMP加入報文;接收到公網(wǎng)組播IGMP加入報文后,將公網(wǎng)組播IGMP加入報文中攜帶的公網(wǎng)組播地址提供給第三判斷處理單元;所述三元組建立單元,用于利用接收到的PBB實例號和私網(wǎng)組播地址保存三元組信息,該三元組信息中包含PBB實例號、私網(wǎng)組播地址和所述網(wǎng)絡(luò)側(cè)收發(fā)單元接收私網(wǎng)組播 IGMP加入報文的PW信息;所述第一判斷處理單元,用于接收到所述用戶側(cè)收發(fā)單元提供的私網(wǎng)組播地址后,判斷該BEB設(shè)備本地是否已經(jīng)存在該私網(wǎng)組播地址被分配的公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,如果否,向公網(wǎng)地址分配單元發(fā)送分配通知;所述公網(wǎng)地址分配單元,用于接收到分配通知后,為所述組播流的私網(wǎng)組播地址分配公網(wǎng)組播地址,并記錄私網(wǎng)組播地址和公網(wǎng)組播地址的映射關(guān)系,將該映射關(guān)系提供給所述網(wǎng)絡(luò)側(cè)收發(fā)單元;記錄所述網(wǎng)絡(luò)側(cè)收發(fā)單元提供的公網(wǎng)組播地址和私網(wǎng)組播地址的映射關(guān)系;所述第二判斷處理單元,用于判斷該BEB設(shè)備本地是否存在所述網(wǎng)絡(luò)側(cè)收發(fā)單元提供來的私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,如果是,將所述網(wǎng)絡(luò)側(cè)收發(fā)單元提供的公網(wǎng)組播地址攜帶在公網(wǎng)組播IGMP加入報文中發(fā)送給網(wǎng)絡(luò)側(cè)收發(fā)單元;所述第三判斷處理單元,用于判斷所述網(wǎng)絡(luò)側(cè)收發(fā)單元提供的公網(wǎng)組播地址是否存在于所述公網(wǎng)地址分配單元記錄的映射關(guān)系中,如果存在,將該公網(wǎng)組播地址提供給公網(wǎng)組播表維護單元;所述公網(wǎng)組播表維護單元,用于建立或更新接收到的公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表。
11.根據(jù)權(quán)利要求10所述的BEB設(shè)備,其特征在于,所述第一判斷處理單元,還用于如果判斷出該BEB設(shè)備本地已經(jīng)存在該私網(wǎng)組播地址被分配的公網(wǎng)組播地址的公網(wǎng)組播轉(zhuǎn)發(fā)表,則向所述網(wǎng)絡(luò)側(cè)收發(fā)單元發(fā)送流量轉(zhuǎn)發(fā)通知;所述網(wǎng)絡(luò)側(cè)收發(fā)單元,還用于接收到所述流量轉(zhuǎn)發(fā)通知后,按照所述組播流量的私網(wǎng)組播地址對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)表進行轉(zhuǎn)發(fā)。
12.根據(jù)權(quán)利要求10所述的BEB設(shè)備,其特征在于,所述私網(wǎng)組播表維護單元具體包括第一判斷子單元和私網(wǎng)組播表維護子單元;所述第一判斷子單元,用于接收到攜帶私網(wǎng)組播地址的加入通知后,判斷是否已經(jīng)建立所述PBB實例中該私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,如果否,向所述私網(wǎng)組播表維護子單元發(fā)送建立通知;如果是,向所述私網(wǎng)組播維護子單元發(fā)送更新通知;所述私網(wǎng)組播表維護子單元,用于接收到建立通知后,建立所述PBB實例中該私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表,并將所述用戶側(cè)收發(fā)單元接收私網(wǎng)組播IGMP加入報文的接口加入所述私網(wǎng)組播轉(zhuǎn)發(fā)表;接收到更新通知后,將所述用戶側(cè)收發(fā)單元接收私網(wǎng)組播IGMP 加入報文的接口加入所述私網(wǎng)組播轉(zhuǎn)發(fā)表。
13.根據(jù)權(quán)利要求10所述的BEB設(shè)備,其特征在于,所述第二判斷處理單元,還用于判斷出不存在所述網(wǎng)絡(luò)側(cè)收發(fā)單元提供來的私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表時,通知所述網(wǎng)絡(luò)側(cè)收發(fā)單元丟棄接收到的MD報文;所述第三判斷處理單元,還用于判斷出所述網(wǎng)絡(luò)側(cè)收發(fā)單元提供的公網(wǎng)組播地址不存在于所述公網(wǎng)地址分配單元記錄的映射關(guān)系中時,通知所述網(wǎng)絡(luò)側(cè)收發(fā)單元將接收到的公網(wǎng)組播IGMP加入報文繼續(xù)向組播源所在的BEB設(shè)備轉(zhuǎn)發(fā)。
14.根據(jù)權(quán)利要求10所述的BEB設(shè)備,其特征在于,該BEB設(shè)備還包括第四判斷處理單元,用于接收所述用戶側(cè)收發(fā)單元提供給所述私網(wǎng)組播表維護單元的加入通知,判斷所述公網(wǎng)地址分配單元是否已經(jīng)建立包含該加入通知所攜帶私網(wǎng)組播地址的映射關(guān)系,如果不存在,則將所述加入通知轉(zhuǎn)發(fā)給所述私網(wǎng)組播表維護單元;如果存在,則將已經(jīng)建立的包含該私網(wǎng)組播地址的映射關(guān)系中對應(yīng)的公網(wǎng)組播地址攜帶在公網(wǎng)組播IGMP加入報文中, 將該公網(wǎng)組播IGMP加入報文提供給網(wǎng)絡(luò)側(cè)收發(fā)單元;所述網(wǎng)絡(luò)側(cè)收發(fā)單元,還用于將所述第四判斷處理單元提供的公網(wǎng)組播IGMP加入報文向組播源所在的BEB設(shè)備轉(zhuǎn)發(fā)。
15.根據(jù)權(quán)利要求10至14任一權(quán)項所述的BEB設(shè)備,其特征在于,該BEB設(shè)備還包括 流量切換單元,用于在所述公網(wǎng)組播表維護單元建立所述公網(wǎng)組播轉(zhuǎn)發(fā)表后,將所述來自本 地CE設(shè)備的組播流切換到所述公網(wǎng)組播轉(zhuǎn)發(fā)表對應(yīng)的公網(wǎng)組播轉(zhuǎn)發(fā)樹上。
16.根據(jù)權(quán)利要求10至14任一權(quán)項所述的BEB設(shè)備,其特征在于,所述用戶側(cè)收發(fā)單元,還用于接收到來自本地CE設(shè)備的私網(wǎng)組播IGMP離開報文后,將私網(wǎng)組播IGMP離開報文中攜帶的私網(wǎng)組播地址通過刪除通知提供給所述私網(wǎng)組播表維護單元;所述私網(wǎng)組播表維護單元,還用于接收到刪除通知后,將所述用戶側(cè)收發(fā)單元接收所述私網(wǎng)組播IGMP離開報文的接口從該私網(wǎng)組播地址的私網(wǎng)組播轉(zhuǎn)發(fā)表中刪除;如果該私網(wǎng)組播轉(zhuǎn)發(fā)表中的出接口列表為空,則刪除該私網(wǎng)組播轉(zhuǎn)發(fā)表,并向所述公網(wǎng)地址分配單元發(fā)送攜帶該私網(wǎng)組播地址的離開通知;所述公網(wǎng)地址分配單元,還用于確定所述離開通知攜帶的私網(wǎng)組播地址對應(yīng)的公網(wǎng)組播地址,將該公網(wǎng)組播地址攜帶在公網(wǎng)組播IGMP離開報文中提供給所述網(wǎng)絡(luò)側(cè)收發(fā)單元;所述網(wǎng)絡(luò)側(cè)收發(fā)單元,還用于向組播源所在的BEB設(shè)備發(fā)送所述公網(wǎng)地址分配單元提供的公網(wǎng)組播IGMP離開報文。
17.根據(jù)權(quán)利要求16所述的BEB設(shè)備,其特征在于,該BEB設(shè)備還包括實例維護單元, 用于在所述PBB實例由啟動UP變?yōu)殛P(guān)閉DOWN時,將該PBB實例信息攜帶在離開通知中提供給所述公網(wǎng)地址分配單元;所述公網(wǎng)地址分配單元,還用于確定離開通知所攜帶PBB實例信息對應(yīng)的所有公網(wǎng)組播地址,將確定的公網(wǎng)組播地址分別攜帶在公網(wǎng)組播IGMP離開報文中提供給所述網(wǎng)絡(luò)側(cè)收發(fā)單元。
全文摘要
本發(fā)明提供了一種運營商骨干網(wǎng)橋接(PBB)網(wǎng)絡(luò)中處理組播報文的方法和裝置,在本發(fā)明中只有組播源所在的骨干網(wǎng)邊緣橋接(BEB)設(shè)備為私網(wǎng)組播地址分配公網(wǎng)組播地址,并將公網(wǎng)組播地址在PBB實例中發(fā)布,使得PBB網(wǎng)絡(luò)中各BEB上存在統(tǒng)一的私網(wǎng)組播地址和公網(wǎng)組播地址之間的映射關(guān)系,并且,只有存在該映射關(guān)系的BEB設(shè)備才能利用接收到的公網(wǎng)組播因特網(wǎng)組管理協(xié)議(IGMP)加入報文形成公網(wǎng)組播轉(zhuǎn)發(fā)表,從而使得各BEB設(shè)備上一個私網(wǎng)組播地址僅對應(yīng)一個公網(wǎng)組播地址轉(zhuǎn)發(fā)表,且只有組播有效路徑上的BEB設(shè)備才會建立公網(wǎng)組播轉(zhuǎn)發(fā)表,避免了冗余組播流量的產(chǎn)生。
文檔編號H04L12/56GK102412976SQ201010291568
公開日2012年4月11日 申請日期2010年9月25日 優(yōu)先權(quán)日2010年9月25日
發(fā)明者宋小恒 申請人:杭州華三通信技術(shù)有限公司