一種spbm網絡中組播報文的轉發方法和裝置的制造方法
【專利摘要】本發明提供一種SPBM網絡中組播報文的轉發方法和裝置,包括:BEB設備通過用戶側端口監聽組播協議報文,并基于監聽到的所述組播協議報文中攜帶的信息收集網絡中的組播接收者以及組播源并保存至本地鏈路狀態數據庫中;將收集到的所述組播接收者和組播源同步至網絡中的其它SPB設備,以及將網絡中其它BEB設備同步至本地的組播接收者以及組播源保存至本地鏈路狀態數據庫中;如果BEB設備本地用戶側網絡存在組播源,BEB設備查找本地鏈路狀態數據庫確定網絡中是否存在與該組播源對應的組播接收者;如果是,創建與所述組播接收者接入的目標BEB設備之間的組播轉發表項,并基于創建的該組播轉發表項轉發組播報文。本申請可以避免帶寬以及設備資源的浪費。
【專利說明】
-種SPBM網絡中組播報文的轉發方法和裝置
技術領域
[0001] 本發明設及通信技術領域,尤其設及一種SPBM網絡中組播報文的轉發方法和裝 置。
【背景技術】
[0002] SPB(化ortest 化th Bridging,最短路徑橋接)是MSTP(Multiple Spanning Tree Protocol,多生成樹協議)的進一步延伸,使用IS-IS協議(Intermediate System-1〇- Intermediate System,中間系統到中間系統)來共享網絡中的鏈路狀態,網絡各個節點并 行計算各節點之間的最短路徑。SPB有兩種實現模式:VLAN(VirtualLocal Area化twork,虛 擬局域網)模式稱為SPBV(Shodest化th Bridging VLAN Mode,VLAN模式的最短路徑橋), 協議復雜,目前基本無應用;MAC-in-MAC模式稱為SPBM(Shodest Path Bridging MAC Mode,M-in-M模式的最短路徑橋),是目前的主要推薦模式。在運營商骨干網絡中,通常可W 通過SPBM技術來實現大二層網絡的互聯。
[0003] 請參見圖1,圖1為基于SPBM技術實現的運營商骨干網絡的組網圖。在該組網中, SPB設備可劃分為肥B(Backbone Egdge Bridge,骨干網邊緣網橋)類型的Sre設備和BCB (Baclcbone Core Bridge,骨干網核屯、網橋)類型的SPB設備。
[0004] B邸設備將來自用戶網絡的報文進行Mac-in-Mac封裝,并轉發到骨干網絡中;BCB 設備根據B-MAC(Backbone MAC,骨干網MAC)和B-化AN(Bac化one化AN,骨干網VLAN)轉發 Mac-in-Mac封裝報文;最后報文到達目的側的B邸設備,肥B設備將來自骨干網絡的Mac-in- Mac 封裝報文進行解封裝,并轉發到 目的側用戶網絡中,整個轉發過程都是通過二層轉發來 實現。
[0005] 在SPBM網絡中,還可W支持多實例。當不同類型的業務流量需要在不同的站點之 間傳輸時,可W采用多個SPBM實例來實現。每個SPBM實例使用I-SID來唯一標識。不同SPBM 實例的I-SID不同,流量轉發完全隔離。同一實例只能使用同一B-化AN來承載流量,不同實 例可W使用相同B-VLAN來承載流量。
[0006] 數據報文在SPBM網絡中轉發時,BEB設備從下行口收到用戶側網絡發出的數據報 文后,可W學習該報文的源MAC,并為其封裝MAC-in-MAC頭,然后從上行口將該報文發送至 SPBN(化ortest Bridging化twork,最短路徑橋接網),運里上行口作為隧道的入口。
[0007] MAC-in-MA討良文在SPBN中傳輸時,BCB設備根據報文中B-DA,B-VLAN查找轉發表, 如果無對應的轉發表則丟棄該報文;有對應的轉發表則進行二層轉發。報文在轉發過程中, 中間設備不會對其源MAC進行學習。MC-in-MA討良文到達隧道終點時,B邸會解封裝MAC-in- M討良文還原成數據報文。邸B學習數據報文中的源MAC后,再將該數據報文從下行口發送至 對應的用戶側網絡。
[000引在SPBN中,禁止數據報文廣播發送,通常只支持單播和組播發送。報文在入隧道 時,BEB設備根據報文中的目的MAC來確定后續報文在SPBN中W何各方式進行傳輸。如果目 的MAC為廣播MAC、未知單播MAC或未知組播MAC,則封裝后的報文在SPBN中進行SPBM組播發 送;其中,SPBM組播支持兩種模式:頭端復制模式和核屯、復制模式,用戶可根據實際組網選 擇不同的組播模式。如果目的MAC為已知單播MAC,則封裝后的報文在SPBN中進行SPBM單播 發送。
[0009] 然而,在SPBN中發送未知組播流量時,通常會將該未知組播流量在該未知組播流 量所屬的實例內進行泛洪處理,使得即使SPBM設備所在私網范圍內沒有組播接收者也仍然 會收到屬于相同實例的SPBM設備所發送的組播流量,從而造成帶寬資源浪費。
【發明內容】
[0010] 有鑒于此,本申請提出一種SPBM網絡中組播報文的轉發方法,應用于SPBM網絡中 的B邸設備,所述方法包括:
[0011] 通過用戶側端口監聽組播協議報文,并基于監聽到的所述組播協議報文中攜帶的 信息收集網絡中的組播接收者W及組播源并保存至本地鏈路狀態數據庫中;
[0012] 將收集到的所述組播接收者和組播源同步至網絡中的其它SPB設備,W及將網絡 中其它邸的受備同步至本地的組播接收者W及組播源保存至本地鏈路狀態數據庫中;
[0013] 如果本地用戶側網絡存在組播源,查找本地鏈路狀態數據庫確定網絡中是否存在 與該組播源對應的組播接收者;如果是,創建與所述組播接收者接入的目標邸的受備之間的 組播轉發表項,并基于創建的該組播轉發表項轉發組播報文。
[0014] 可選的,所述基于監聽到的所述組播協議報文中攜帶的信息收集網絡中的組播接 收者W及組播源并保存至本地鏈路狀態數據庫中包括:
[0015] 當監聽到的所述組播協議報文為加入組播組的第一類組播協議報文時,確定本地 用戶側網絡存在組播接收者,將與該組播協議報文對應的主機信息,W及將該組播協議報 文中的組播MAC地址保存至本地鏈路狀態數據庫中;
[0016] 當監聽到的所述組播協議報文為表征本地用戶側網絡存在組播源的第二類組播 協議報文時,確定本地用戶側網絡存在組播源,將該組播協議報文中與組播源對應的組播 MAC地址保存至本地鏈路狀態數據庫中,并記錄本地存在該組播源。
[0017] 可選的,所述方法還包括:
[0018] 當監聽到的所述組播協議報文為IGMP離開組報文時,將與該組播協議報文對應的 作為組播接收者的主機信息從本地鏈路狀態數據庫中刪除,W及通知網絡中的其它SPB設 備從各自鏈路狀態數據庫中同步刪除。
[0019] 可選的,所述第一類組播協議報文包括IGMP成員關系報告報文;所述第二類組播 協議報文包括IGMP成員關系查詢報文、PIM協議報文或者目的MAC與本地指定IP地址存在對 應關系的組播協議報文。
[0020] 可選的,所述方法還包括:
[0021] 當在預設的老化時長內未接收到與本地鏈路狀態數據庫中保存的任一作為組播 接收者的主機信息對應的加入組播組的第一類組播協議報文時,則將該主機信息從本地鏈 路狀態數據庫中刪除,并通知網絡中的其它sro設備從各自鏈路狀態數據庫中同步刪除;W 及
[0022] 當在預設的老化時長內未接收到與本地鏈路狀態數據庫中保存的任一組播MAC對 應的組播流量時,則將該組播MAC從本地鏈路狀態數據庫中刪除,并通知網絡中的其它SPB 設備從各自鏈路狀態數據庫中同步刪除。
[0023] 可選的,所述將收集到的所述組播接收者和組播源同步至網絡中的其它SPB設備 包括:
[0024] 當確定本地用戶側網絡存在組播接收者時,向網絡中的其它SPB設備發送攜帶與 該組播接收者對應的主機信息,W及組播MC地址的第一LSP報文,W使其它SPB設備在其本 地鏈路狀態數據庫中同步保存將該主機信息和該組播MAC地址;
[0025] 當確定本地用戶側網絡存在組播源時,為該組播源分配組播I-SID,并向網絡中的 其它sro設備發送攜帶該組播I-SID,W及與該組播源對應的組播MAC地址的第二LSP報文, W使其它Sro設備在其本地鏈路狀態數據庫中同步保存該組播I-SID和組播MAC地址。
[00%] 可選的,所述為該組播源分配組播I-SID包括:
[0027]從為用戶側端口指定的多個I-SID中為該組播源分配I-SID;其中,所述用戶側端 口指定的多個I-SID綁定的BVLAN相同;所述多個I-SID包括主I-SIDW及至少一個用于組播 發送的組播I-SID。
[002引可選的,所述方法還包括:
[0029] 在頭端復制模式下,創建的所述組播轉發表項包括:
[0030] 所述組播源的組播MAC地址、BVLAN信息、所述目標邸B設備的MAC地址W及出接口; [0031 ]在核屯、復制模式下,創建的所述組播轉發表項包括:
[0032] 所述組播源的組播MAC地址、基于所述組播I-SID生成的組播地址、BVLAN信息W及 出接口。
[0033] 本申請還提出一種SPBM網絡中組播報文的轉發方法,應用于SPBM網絡中的BCB設 備,所述方法包括:
[0034] 接收網絡中各邸的受備同步至本地的組播接收者和組播源并保存至本地鏈路狀態 數據庫中;其中,所述組播接收者W及組播源由所述各B邸設備通過收集用戶側端口監聽到 的組播協議報文中攜帶的信息得到;
[0035] 在核屯、復制模式下,基于各BEB設備為其本地用戶側網絡中的組播源分配的組播 I-SID分別創建對應的組播轉發表項;
[0036] 根據本地鏈路狀態數據庫中保存的所述組播接收者和所述組播源對與所述組播 轉發表項對應的組播樹進行剪枝,并基于剪枝后的所述組播樹轉發組播報文。
[0037] 可選的,所述接收網絡中各B邸設備同步至本地的組播接收者和組播源,W及由各 B邸設備為其本地用戶側網絡中的組播源分配的組播I-SID包括:
[0038] 當網絡中任一 B邸設備其本地用戶側網絡存在組播接收者時,接收該B邸設備發送 的攜帶與該組播接收者對應的主機信息W及組播MAC的第一 LSP報文,并將該報文中攜帶的 主機信息和組播MAC在本地鏈路狀態數據庫中同步保存;
[0039] 當網絡中任一 B邸設備其本地用戶側網絡存在組播源時,接收該B邸設備發送的攜 帶該肥B設備為該組播源分配的組播I-SIDW及與該組播源對應的組播MAC的第二LSP報文, 并將該報文中攜帶的組播I-SID和組播MAC在本地鏈路狀態數據庫中同步保存。
[0040] 可選的,創建的所述組播轉發表項包括:
[0041 ] 基于所述組播I-SID生成的組播地址、BVLAN信息W及出接口。
[0042]可選的,所述根據本地鏈路狀態數據庫中保存的所述組播接收者和所述組播源對 與所述組播轉發表項對應的組播樹進行剪枝包括:
[0043] 根據本地鏈路狀態數據庫中保存的所述組播接收者和所述組播源確定網絡中各 SPB設備的用戶側網絡中是否存在對應于所述組播源的組播接收者;
[0044] 當任一 SPB設備的用戶側網絡中不存在對應于所述組播源的組播接收者時,如果 該Sro設備對應的出接口下未接入其它組播接收者,則在所述組播轉發表項中將與該SPB設 備對應的出接口刪除,W針對與所述組播轉發表項對應的組播樹執行剪枝。
[0045] 本申請還提出一種SPBM網絡中組播報文的轉發裝置,應用于SPBM網絡中的肥B設 備,所述裝置包括:
[0046] 監聽模塊,用于通過用戶側端口監聽組播協議報文,并基于監聽到的所述組播協 議報文中攜帶的信息收集網絡中的組播接收者W及組播源并保存至本地鏈路狀態數據庫 中;
[0047] 同步模塊,用于將收集到的所述組播接收者和組播源同步至網絡中的其它SPB設 備,W及將網絡中其它邸B設備同步至本地的組播接收者W及組播源保存至本地鏈路狀態 數據庫中;
[0048] 第一創建模塊,用于在本地用戶側網絡存在組播源時,查找本地鏈路狀態數據庫 確定網絡中是否存在與該組播源對應的組播接收者;如果是,創建與所述組播接收者接入 的目標B邸設備之間的組播轉發表項,并基于創建的該組播轉發表項轉發組播報文。
[0049] 可選的,所述監聽模塊具體用于:
[0050] 當監聽到的所述組播協議報文為加入組播組的第一類組播協議報文時,確定本地 用戶側網絡存在組播接收者,將與該組播協議報文對應的主機信息,W及將該組播協議報 文中的組播MAC地址保存至本地鏈路狀態數據庫中;
[0051] 當監聽到的所述組播協議報文為表征本地用戶側網絡存在組播源的第二類組播 協議報文時,確定本地用戶側網絡存在組播源,將該組播協議報文中與組播源對應的組播 MAC地址保存至本地鏈路狀態數據庫中,并記錄本地存在該組播源。
[0052] 可選的,所述監聽模塊進一步用于:
[0053] 當監聽到的所述組播協議報文為IGMP離開組報文時,將與該組播協議報文對應的 作為組播接收者的主機信息從本地鏈路狀態數據庫中刪除,W及通知網絡中的其它SPB設 備從各自鏈路狀態數據庫中同步刪除。
[0054] 可選的,所述第一類組播協議報文包括IGMP成員關系報告報文;所述第二類組播 協議報文包括IGMP成員關系查詢報文、PIM協議報文或者目的MAC對指定IP地址存在對應關 系的組播協議報文。
[0化日]可選的,所述裝置還包括:
[0056] 刪除模塊,用于當在預設的老化時長內未接收到與本地鏈路狀態數據庫中保存的 任一作為組播接收者的主機信息對應的加入組播組的第一類組播協議報文時,則將該主機 信息從本地鏈路狀態數據庫中刪除,并通知網絡中的其它SPB設備從各自鏈路狀態數據庫 中同步刪除;W及當在預設的老化時長內未接收到與本地鏈路狀態數據庫中保存的任一組 播MAC對應的組播流量時,則將該組播MAC從本地鏈路狀態數據庫中刪除,并通知網絡中的 其它sro設備從各自鏈路狀態數據庫中同步刪除。
[0057] 可選的,所述同步模塊具體用于:
[0058] 當確定本地用戶側網絡存在組播接收者時,向網絡中的其它SPB設備發送攜帶與 該組播接收者對應的主機信息,W及組播MC地址的第一LSP報文,W使其它SPB設備在其本 地鏈路狀態數據庫中同步保存將該主機信息和該組播MAC地址;
[0059] 當確定本地用戶側網絡存在組播源時,為該組播源分配組播I-SID,并向網絡中的 其它sro設備發送攜帶該組播I-SID,W及與該組播源對應的組播MAC地址的第二LSP報文, W使其它Sro設備在其本地鏈路狀態數據庫中同步保存該組播I-SID和組播MAC地址。
[0060] 可選的,所述同步模塊進一步用于:
[0061] 從為用戶側端口指定的多個I-SID中為該組播源分配I-SID;其中,所述用戶側端 口指定的多個I-SID綁定的BVLAN相同;所述多個I-SID包括主I-SIDW及至少一個用于組播 發送的組播I-SID。
[0062] 可選的,在頭端復制模式下,所述第一創建模塊創建的所述組播轉發表項包括:所 述組播源的組播MAC地址、BVLAN信息、所述目標邸B設備的MAC地址W及出接口;
[0063] 在核屯、復制模式下,所述第一創建模塊創建的所述組播轉發表項包括:
[0064] 所述組播源的組播MAC地址、基于所述組播I-SID生成的組播地址、BVLAN信息W及 出接口。
[0065] 本申請還提出一種SPBM網絡中組播報文的轉發裝置,應用于SPBM網絡中的BCB設 備,所述裝置包括:
[0066] 接收模塊,用于接收網絡中各肥B設備同步至本地的組播接收者和組播源并保存 至本地鏈路狀態數據庫中;其中,所述組播接收者W及組播源由所述各邸B設備通過收集用 戶側端口監聽到的組播協議報文中攜帶的信息得到;
[0067] 第二創建模塊,用于在核屯、復制模式下,基于各邸B設備為其本地用戶側網絡中的 組播源分配的組播I-SID分別創建對應的組播轉發表項;
[0068] 剪枝模塊,用于根據本地鏈路狀態數據庫中保存的所述組播接收者和所述組播源 對與所述組播轉發表項對應的組播樹進行剪枝,并基于剪枝后的所述組播樹轉發組播報 文。
[0069] 可選的,所述接收模塊具體用于:
[0070] 當網絡中任一 B邸設備其本地用戶側網絡存在組播接收者時,接收該B邸設備發送 的攜帶與該組播接收者對應的主機信息W及組播MAC的第一 LSP報文,并將該報文中攜帶的 主機信息和組播MAC在本地鏈路狀態數據庫中同步保存;
[0071] 當網絡中任一 B邸設備其本地用戶側網絡存在組播源時,接收該B邸設備發送的攜 帶該肥B設備為該組播源分配的組播I-SIDW及與該組播源對應的組播MAC的第二LSP報文, 并將該報文中攜帶的組播I-SID和組播MAC在本地鏈路狀態數據庫中同步保存。
[0072] 可選的,所述第二創建模塊創建的所述組播轉發表項包括:
[0073] 基于所述組播I-SID生成的組播地址、BVLAN信息W及出接口。
[0074] 可選的,所述剪枝模塊具體用于:
[0075] 根據本地鏈路狀態數據庫中保存的所述組播接收者和所述組播源確定網絡中各 SPB設備的用戶側網絡中是否存在對應于所述組播源的組播接收者;
[0076] 當任一 SPB設備的用戶側網絡中不存在對應于所述組播源的組播接收者時,如果 該Sro設備對應的出接口下未接入其它組播接收者,則在所述組播轉發表項中將與該SPB設 備對應的出接口刪除,w針對與所述組播轉發表項對應的組播樹執行剪枝。
[0077] 在本申請中,通過用戶側端口監聽組播協議報文,并基于監聽到的組播協議報文 中攜帶的信息來收集網絡中的組播接收者W及組播源并保存至本地鏈路狀態數據庫中,W 及將收集到的組播接收者和組播源同步至網絡中的其它SPB設備,并將網絡中其它B邸設備 同步至本地的組播接收者W及組播源保存至本地鏈路狀態數據庫中;當本地用戶側網絡存 在組播源,則查找本地鏈路狀態數據庫確定網絡中是否存在與該組播源對應的組播接收 者;如果是,創建與所述組播接收者接入的目標邸B設備之間的組播轉發表項,并基于創建 的該組播轉發表項轉發組播報文,從而可W實現在SPBM網絡中轉發組播報文時,如果Sro設 備用戶側網絡內沒有組播接收者,則不會收到相同實例的其它SPB設備所發送的組播流量, 可W避免帶寬W及設備資源的浪費。
【附圖說明】
[0078] 圖1是本申請示出的一種基于SPBM技術實現的運營商骨干網絡的組網圖;
[0079] 圖2是本申請一實施例示出的一種SPBM網絡中組播報文的轉發方法的流程圖;
[0080] 圖3是本申請一實施例示出的另一種基于SPBM技術實現的運營商骨干網絡的組網 圖;
[0081] 圖4是本申請一實施例示出的一種SPBM網絡中組播報文的轉發裝置的邏輯框圖;
[0082] 圖5是本申請一實施例示出的另一種SPBM網絡中組播報文的轉發裝置的邏輯框 圖。
【具體實施方式】
[0083] 在現有實現中,基于SPBM技術實現的運營商骨干網絡中,當B邸設備接收到來自用 戶側網絡的目的MAC為未知組播MAC的組播報文時,通常會在所屬的實例中進行泛洪處理。
[0084] 在運種情況下,即使當前組網中其所在用戶側網絡沒有組播接收者的B邸設備,也 仍然會收到屬于相同實例的B邸設備所發送的組播流量,從而導致公網帶寬浪費和公網設 備資源浪費。
[0085] 而且,BEB設備收到未知組播報文后,仍然需要對該未知組播報文進行解封裝,然 后發送至用戶側網絡,也會導致私網帶寬浪費和私網設備資源浪費。
[0086] 有鑒于此,本申請提出一種SPBM網絡中組播報文的轉發方法,肥B設備通過用戶側 端口監聽組播協議報文,并基于監聽到的組播協議報文中攜帶的信息來收集網絡中的組播 接收者W及組播源并保存至本地鏈路狀態數據庫中,W及將收集到的組播接收者和組播源 同步至網絡中的其它SPB設備,并將網絡中其它肥B設備同步至本地的組播接收者W及組播 源保存至本地鏈路狀態數據庫中;當本地用戶側網絡存在組播源,則查找本地鏈路狀態數 據庫確定網絡中是否存在與該組播源對應的組播接收者;如果是,創建與所述組播接收者 接入的目標肥B設備之間的組播轉發表項,并基于創建的該組播轉發表項轉發組播報文,從 而可W實現在SPBM網絡中轉發組播報文時,如果Sro設備用戶側網絡內沒有組播接收者,貝U 不會收到相同實例的其它sro設備所發送的組播流量,可W避免帶寬W及設備資源的浪費。
[0087] 下面通過具體實施例并結合具體的應用場景對本申請進行描述。
[0088] 請參考圖2,圖2是本申請一實施例提供的一種SPBM網絡中組播報文的轉發方法, 應用于B邸設備和BCB設備,其中,B邸設備和BCB設備相互配合,執行W下步驟:
[0089] 步驟201,BEB設備通過用戶側端口監聽組播協議報文,并基于監聽到的所述組播 協議報文中攜帶的信息收集網絡中的組播接收者W及組播源并保存至本地鏈路狀態數據 庫中;
[0090] 在本例中,上述用戶側端口可W是肥B設備上面向用戶側網絡的AC口(Access口), B邸設備可W在用戶側的AC口上使能IGMPQnternet Group Management Protocol,組管理 協議)snoopingW及PIM(P;rotocol Independent Multicast,協議無關組播)snooping,來 監聽組播協議報文,然后基于監聽到的組播協議報文中攜帶的信息來收集SPBM網絡中的組 播接收者和組播源。
[0091] 上述組播協議包括可W包括加入組播組的第一類組播協議報文W及表征本地用 戶側網絡存在組播源的第二類組播協議報文。
[0092] -方面,當B邸設備通過用戶側AC 口監聽到上述第一類組播協議報文時,表明本地 用戶側網絡存在想要加入組播組的組播接收者,此時BEB設備可W確定本地用戶側網絡存 在組播接收者,將與該組播協議報文對應的主機信息作為組播接收者,W及將該組播協議 報文中的組播MAC地址作為組播源保存至本地LSDB化ink State Data Base,鏈路狀態數據 庫)中。
[0093] 在示出的一種實施方式中,上述第一類組播協議報文可W包括IGMP成員關系報告 報文。
[0094] IGMP成員關系報告報文為本地用戶側網絡中的主機在希望加入特定的組播組時 發出,用于加入特定的組播組,在該IGMP成員關系報告報文中可W攜帶該主機希望加入的 組播組的組播MAC地址。
[0095] 當肥B設備通過用戶側AC口監聽到IGMP成員關系報告報文時,可W將該報文復制 一份給CPU,然后將該IGMP成員關系報告報文中攜帶的主機信息作為組播接收者,W及該報 文中攜帶的希望加入的組播MAC地址作為組播源保存至本地的LSDB中。
[0096] 其中,上述主機信息可W包括在用戶側網絡中可W對該IGMP成員關系報告報文的 發送主機進行識別的信息;比如,可W是該IGMP成員關系報告報文的IP頭中攜帶的主機的 源端口號,主機的源IP或者主機ID等信息,在本例中不進行特別限定。
[0097] 當然,在實際應用中,當肥B設備通過用戶側AC口監聽到IGMP組播組離開報文時, 由于IGMP組播組離開報文通常為主機在離開特定的組播組時發送,因此邸B設備通過用戶 側AC口監聽到組播組離開報文后,可W將與該組播組離開報文對應的主機信息從本地的 LSDB中刪除。
[009引另一方面,當邸B設備通過用戶側AC 口監聽到上述第二類組播協議報文,表明本地 用戶側網絡中存在組播源,此時B邸設備可W確定本地用戶側網絡存在組播源,將與該組播 協議報文中與組播源對應的組播MAC地址保存至本地LSDB中,同時還可W在本地LSDB中記 錄本地存在該組播源。
[0099] 在示出的一種實施方式中,上述第二類組播協議報文可W包括W下幾種:
[0100] 1) IGMP成員關系查詢報文
[0101] IGMP成員關系查詢報文通常為組播源向組播成員發送的報文,用于查詢當前組播 組中存在哪些組播成員,通常可W包括IGMP普遍組查詢報文和IGMP特定組查詢報文。在該 IGMP成員關系查詢報文中可W攜帶組播源的組播MAC地址。當邸B設備通過用戶側AC 口監聽 到IGMP成員關系查詢報文時,可W將該報文復制一份給CPU,然后將該報文中與組播源對應 的組播MAC地址保存至本地LSDB中,同時在本地的LSDB中記錄本地存在該組播源。
[0102] 2)PIM協議報文
[0103] PIM協議報文通常由組播源周期性的發送在該PIM協議報文中通常可W攜帶組播 源的組播MAC地址。因此,當BEB設備通過用戶側AC口監聽到PIM協議報文時,可W將該報文 復制一份給CPU,然后將該報文中與組播源對應的組播MAC地址保存至本地LSDB中,同時在 本地的LSDB中記錄本地存在該組播源。
[0104] 3)目的MAC與本地指定IP地址存在對應關系的組播協議報文
[01化]在實際應用中,通常可W為本地指定的IP地址配置對應的MAC地址,并在組播協議 報文中攜帶手工配置目的MAC地址,來指導報文丟棄或者轉發。當B邸設備通過用戶側AC 口 監聽到目的MAC地址與本地指定IP地址存在對應關系的組播協議報文時,表明B邸設備用戶 側網絡中存在與該目的MAC地址對應的組播源,此時可W將該報文復制一份給CPU,然后將 該報文中的目的MAC地址作為組播源的組播MAC地址保存至本地LSDB中,同時在本地的LSDB 中記錄本地存在該組播源。
[0106] 步驟S202,B邸設備將收集到的所述組播接收者和組播源同步至網絡中的其它SPB 設備,W及將網絡中其它邸B設備同步至本地的組播接收者W及組播源保存至本地鏈路狀 態數據庫中;
[0107] 在本例中,如果邸B設備通過在用戶側的AC 口上監聽到的第一類組播協議報文中 攜帶的信息,確定出本地用戶側網絡存在組播接收者,B邸設備可W立即向SPBM網絡中的其 它Sro設備(包括其它B邸設備和BCB設備)發送LSP報文(即第一LSP報文),并在該第LSP報文 中攜帶與該組播接收者對應的主機信息W及組播MAC地址。當SPBM網絡中其它Sro設備接收 到該LSP報文后,可W在其本地LSDB中同步保存將該主機信息和該組播MAC地址。
[0108] 如果肥B設備通過在用戶側的AC 口上監聽到的第二類組播協議報文中攜帶的信 息,確定出本地用戶側網絡存在組播源,BEB設備可W從該用戶側的AC口上指定的多個I- SID中為該組播源分配組播I-SID。
[0109] 其中,該用戶側的AC口上可W預先指定多個I-SID,該多個I-SID可W與同一個 BVLAN綁定,可W包括一主用I-SID和至少一個用于組播數據發送的組播I-SID。不同的邸B 設備為其用戶側網絡中的組播源所分配的組播I-SID可W互不相同。
[0110] 每一個B邸設備支持的組播I-SID的具體數量,可W局域網絡中用戶側網絡中存在 組播源的BEB設備的數量進行設定;例如,在實際應用中,對于每一個用戶側網絡存在組播 源的肥B設備來說,都可W為本地組播分配一個組播I-SID,而其它各Sro設備可W在本地維 護多個組播I-SID,當接收到組播報文時,可W將該組播報文在與該組播報文所屬組播源的 組播I-SID對應的實例中進行轉發。
[0111] 當邸B設備為本地用戶側網絡中的組播源分配了組播I-SID后,可W立即向SPBM網 絡中的其它Sro設備發送LSP報文(即第二LSP報文),并在該LSP報文中攜帶為該組播源分配 的組播I-SID W及與該組播源對應的組播MAC地址。當SPBM網絡中其它Sro設備接收到該LSP 報文后,可W在其本地LSDB中同步保存將該組播I-SIDW及與該組播源對應的組播MAC地 址。
[0112] 與此同時,當前SPBM網絡中的其它肥B設備,也可W按照相同的處理方式,通過用 戶側網絡的AC 口監聽組播協議報文來收集組播接收者和組播源,然后通過LSP報文將收集 到的組播接收者和組播源同步至SPBM網絡中的其它Sro設備。
[0113] 當該肥B設備在接收到SPBM網絡中其它肥B設備發送至本地的LSP報文時,也可W 將該LSP報文中攜帶的與組播接收者對應的主機信息W及組播MAC地址,或者為組播源分配 的組播I-S ID W及與組播源對應的組播MAC地址同步保存至本地的LSDB中。
[0114] 通過運種方式,SPBM網絡中各肥B設備可W通過互相擴散LSP報文,將其各自收集 到的組播接收者和組播源向網絡中其它Sro設備進行同步,從而使得SPBM網絡中的任一肥B 設備來說,都可W在其本地的LSDB中保存整個SPBM網絡中的所有組播接收者和組播源。
[0115] 另外,需要說明的是,當前SPBM網絡中所有B邸設備發出的上述LSP報文中,除了可 W攜帶與組播接收者對應的主機信息W及組播MAC地址,或者與組播源對應組播MAC地址W 夕F,還可W攜帶該邸B設備的MAC地址或者SPsource ID等信息。
[0116] 而接收到該LSP報文的其它SPB設備,不僅可W將該LSP報文中攜帶的與組播接收 者對應的主機信息W及組播MAC地址,或者與組播源對應組播MAC地址在本地LSDB中保存W 夕h還可W在本地LSDB中保存該BEB設備的MAC地址或者SPsource ID(化ortest Path Source Identifier,最短路徑源標記),W及本地接收端口號等信息,從而后續可W基于本 地LSDB中保存的運些信息快速的確定出各組播接收者W及組播源所接入的BEB設備,W及 與該B邸設備對接的端口號。
[0117] 在本例中,對于保存在肥B設備本地LSDB中的組播接收者和組播源,還可W由肥B 設備統一設置老化時長,并基于該老化時長對本地保存的組播接收者和組播源進行老化處 理。
[0118] 對于B邸設備本地LSDB中保存的組播接收者來說,如果肥B設備在老化時長內仍未 接收到與本地LSDB中保存的任一組播接收者對應的加入組播組的第一類組播協議報文時, 此時可W將該組播接收者作為無效接收者進行老化,將該組播接收者從本地LSDB中刪除。
[0119] 當將該組播接收者從本地刪除后,B邸設備可W向SPBM網絡中其它Sro設備同步發 出LSP報文,在該LSP報文中攜帶刪除該組播接收者的指示信息,W觸發SPBM網絡中其它SPB 設備在收到該LSP報文后,從各自LSDB中將該組播接收者同步刪除。
[0120] 對于B邸設備本地LSDB中保存的組播源來說,如果在老化時長內仍未接收到與本 地LSDB中保存的任一組播源對應的組播流量時,此時可W將該組播源作為無效組播源進行 老化,將該組播源從本地LSDB中刪除。
[0121] 當將該組播源從本地刪除后,BEB設備可W向SPBM網絡中其它SPB設備同步發出 LSP報文,在該LSP報文中攜帶刪除該組播源的指示信息,W觸發SPBM網絡中其它Sro設備在 收到該LSP報文后,從各自LSDB中將該組播源同步刪除。
[0122] 步驟203,BCB設備接收網絡中各肥B設備同步至本地的組播接收者和組播源并保 存至本地鏈路狀態數據庫中。
[0123] 在本例中,在核屯、復制模式下,BCB設備可W通過接收當前SPBM網絡中各肥B設備 擴散的LSP報文,來收集當前SPBM網絡中所有組播接收者和組播源。
[0124] 當網絡中任一BEB設備其本地用戶側網絡存在組播接收者時,通常會向當前SPBM 網絡中各Sro設備發出攜帶與該組播接收者對應的主機信息W及組播MAC的LSP報文。
[0125] 當BCB設備接收到B邸設備在其本地用戶側網絡存在組播接收者時發出的LSP報文 后,可W將該LSP報文中攜帶的與該組播接收者對應的主機信息W及組播MAC在本地LSDB中 保存。
[0126] 同樣的,當網絡中任一B邸設備其本地用戶側網絡存在組播接收者時,通常會向當 前SPBM網絡中各SPB設備發出攜帶為該組播源分配的組播I-SIDW及與組播源對應的組播 MAC地址的LSP報文。
[0127] 當BCB接收到BEB設備在其本地用戶側網絡存在組播源時發出的LSP報文后,也可 W將該LSP報文中攜帶的肥B設備為其本地用戶側網絡中的組播源分配的組播I-SIDW及與 該組播源對應的組播MAC地址。
[012引通過運種方式,SPBM網絡中的BCB設備可W通過接收網絡中各肥B設備擴散的LSP 報文,將各邸B設備通過監聽用戶側端口的組播協議報文而收集到的組播接收者和組播源 同步至本地的LSDB中,從而使得SPBM網絡中的任一BCB設備來說,都可W在其本地的LSDB中 保存整個SPBM網絡中的所有組播接收者和組播源。
[0129] 另外,需要說明的是,在頭端復制模式下,對組播報文的復制和分發是由BEB設備 來完成,BCB僅用于對B邸設備發出的組播報文進行單播轉發,因此在該模式下,BCB在接收 到網絡中各肥B設備發送的攜帶與組播接收者對應的主機信息W及組播MAC,或者為組播源 分配的組播I-SIDW及與組播源對應的組播MAC地址的LSP報文時,可W不進行特殊處理。
[0130] 步驟204,如果邸B設備本地用戶側網絡存在組播源,B邸設備查找本地鏈路狀態數 據庫確定網絡中是否存在與該組播源對應的組播接收者;如果是,創建與所述組播接收者 接入的目標B邸設備之間的組播轉發表項,并基于創建的該組播轉發表項轉發組播報文。
[0131] 在實際應用中,當SPBM網絡組網完成后,通常會觸發肥B設備基于主用I-SID來創 建組播轉發表項。
[0132] 其中,基于主用I-SID創建的組播轉發表項,可W由肥B設備生成一顆W該邸B設備 作為組播源的組播樹,此時該組播樹通常將覆蓋網絡中各實例內所有SPB設備組成的組播 域。而在現有實現中,B邸設備接收到未知組播報文時,通常會基于該組播樹在實例內進行 洪泛發送,從而會導致當前網絡中其本地用戶側網絡不存在組播接收者的B邸設備,也能收 到實例內其他B邸設備發送的未知組播報文。
[0133] 在本例中,為了避免本地用戶側網絡不存在組播接收者的肥B設備,收到實例內其 他邸B設備發送的未知組播報文,肥B設備不僅可W基于主用I-SID來創建組播轉發表項,還 可W在確定出本地用戶側網絡存在組播源時,基于為該組播分配的組播I-SID來創建組播 轉發表項。
[0134] 其中,基于組播I-SID創建的組播轉發表項,可W與邸B設備已有的基于主用I-SID 創建的組播轉發表項完全隔離,僅用于邸B設備轉發組播報文(包括已知組播報文和未知組 播報文);而基于主用I-SID創建完成的組播轉發表項,用于BEB設備轉發單播報文(包括已 知單播和未知單播)和廣播報文。
[0135] 當B邸設備在收到來自用戶側網絡的單播報文和廣播報文時,可W仍然采用原有 的基于主用I-SID創建的組播轉發表項進行轉發,而對于接收到的來自用戶側網絡的組播 報文,則可W采用基于分配的組播I-SID創建的組播轉發表項進行轉發。
[0136] 在本例中,B邸設備在基于組播I-SID來創建組播轉發表項時,可W基于本地LSDB 中保存的信息來確認本地用戶側網絡中是否存在組播源,如果BEB設備確定本地用戶側網 絡中存在組播源,此時邸B設備可W立即查找本地LSDB,來確定當前SPBM網絡中是否存在與 該組播源對應的組播接收者。
[0137]如果存在與該組播源對應的組播接收者(可W為多個),BEB設備在可W從本地 LSDB中讀取該組播接收者接入的目標B邸設備的信息,然后分別創建與運些目標B邸設備之 間的組播轉發表項。
[013引其中,B邸設備在創建與運些目標肥B設備之間的組播轉發表項時,可W將原有組 播轉發表項中,用戶側網絡中不存在組播接收者的BEB設備的MAC刪除,W針對與原有的組 播轉發表項對應的組播樹進行剪枝,使得剪枝后的組播樹僅覆蓋整個網絡中所有的組播接 收者。
[0139] B邸設備在創建與目標肥B設備之間的組播轉發表項時,該組播表項所包含的內容 在頭端復制和核屯、復制兩種組播轉發模式下可W不同。
[0140] 在頭端復制模式下,組播報文由肥B設備完成MAC-in-MAC后,通常在肥B設備本地 完成復制和分發,BCB僅用于對B邸設備發出的組播報文進行單播轉發,因此B邸設備可W不 啟用分配的組播I-SID,直接使用主用I-SID。
[0141] B邸設備在創建與目標肥B設備的組播轉發表項時,可W針對基于主用I-SID創建 的組播轉發表項(即原有的表項)對應的組播樹進行剪枝,將原有組播轉發表項中,用戶側 網絡中不存在組播接收者的B邸設備的MAC地址刪除。
[0142] 在頭端復制模式下,B邸設備創建的與目標B邸設備之間的組播轉發表項可W包括 W下內容:
[0143] 上述組播源的組播MAC地址、BVLAN信息、上述目標邸B設備的MAC地址W及出接口。
[0144] 當上述組播轉發表項創建完成,在頭端復制模式下,B邸設備接收到用戶側網絡組 播源發出的組播報文時,可W讀取該組播報文的目的組播MAC,在進行了剪枝后的上述組播 轉發表項中查找組播轉發表項。
[0145] 如果查找到對應的組播轉發表項,此時該組播報文為已知組播報文,B邸設備可W 基于查找到的組播轉發表項對該組播報文進行MAC-in-MAC封裝,封裝后的MAC-in-MAC頭中 的B-DA為該組播源的組播接收主機接入的各目標邸的受備的MAC地址。
[0146] 當封裝完成后,BEB設備創建與各目標BEB設備的隧道,然后對該組播報文進行復 制分發,分別將該組播報文基于創建的各隧道單播發送至各目標肥B設備。在整個轉發過程 中,BCB設備基于該組播報文中的B-MAC進行單播轉發即可。
[0147] 當目標B邸設備接收到組播報文后,可W對該組播報文進行解封裝,然后轉發至用 戶側網絡中的組播接收主機。
[0148] 當然,如果未查找到對應的組播轉發表項(表明該組播報文的接收者可能已離開 組播組,或者B邸設備已刪除了相應的組播轉發表項),此時該組播報文為未知組播報文,對 于未知組播報文,BEB設備會基于剪枝后的組播樹所覆蓋的組播域對該未知組播報文進行 洪泛處理。
[0149] 由于此時肥B設備對基于主用I-SID創建的組播轉發表項對應的組播樹進行了剪 枝,創建的組播轉發表項僅包括與該組播源對應的組播接收者接入的目標邸B設備的組播 轉發表項,因此剪枝后的組播樹,將僅能覆蓋當前網絡各實例中用戶側網絡存在組播接收 者的邸B設備所組成的組播域。
[0150] 在運種情況下,B邸設備在基于剪枝后的組播樹,在實例內對該未知組播報文進行 洪泛處理時,將只有那些各自用戶側網絡中存在組播接收者的目標BEB設備能夠接收到實 例內的其它BEB設備洪泛后的該未知組播報文,而對于那些用戶側網絡中不存在組播接收 者的BEB設備,則無法接收到相同實例內其它B邸設備洪泛處理的未知組播報文,從而可W 有效的避免公網帶寬資源W及公網設備資源的浪費;同時,由于那些用戶側網絡中不存在 組播接收者的B邸設備將不再接收到實例內其它肥B設備洪泛的未知組播報文,因此可W不 再執行無效的解封裝W及向用戶側網絡轉發無效未知組播報文的操作,因此也可W有效的 避免私網資源W及私網設備資源的浪費。
[0151] 在核屯、復制模式下,組播報文由肥B設備完成MAC-in-MAC后,通常需要由肥B設備 基于本地創建的組播轉發表項將該組播報文映射到當前SPBM網絡的核屯、網絡中的BCB設備 完成復制和分發。
[0152] 因此在核屯、復制模式下,B邸設備可W不需要針對當前SPBM網絡中的各目標B邸設 備分別創建對應的組播轉發表項,此時B邸設備只需要創建用于將組播報文映射至BCB設備 的組播轉發表項即可。
[0153] 在核屯、復制模式下,BCB設備需要啟用組播I-SID,基于組播I-SID來創建組播轉發 表項,其中,在基于組播I-SID創建組播轉發表項時,對于表項中的一些現有字段的信息可 W直接復制基于主用I-SID創建的組播轉發表項。
[0154] 創建的組播轉發表項可W包括W下內容:
[0155] 上述組播源的組播MAC地址、基于上述組播I-SID生成的組播地址、BVLAN信息W及 出接口。
[0156] 其中,SPBM網絡中每臺SPB設備在每個實例中都會存在一個組播地址,協議規定該 地址由SPSource ID和I-SID構成。因此,B邸設備在基于上述組播I-SID生成組播地址時,可 W將該為本地用戶側網絡中的組播源分配的組播I-SID與該B邸設備的SPSource ID進行拼 裝,來生成對應的組播地址;
[0157] 例如,SPB協議中規定的組播地址通常包括組播標記位、本地標記位、SPSource ID 類型、SPSource IDW及I-SID等字段,SPSource ID為基于Sro協議為該邸B設備動態生成, 用于在實例內唯一標識該肥B設備,BEB設備在基于組播I-SID生成組播地址時,組播標記 位、本地標記位、SPSource ID類型等字段的內容可W遵從協議的規定使用默認值,然后按 照Sro協議中規定的組播地址的上述格式,對組播I-SID和自身的SPSource ID進行拼裝,最 終生成組播地址。
[015引當然,由于當前SPBM網絡中各SPB設備(包括邸B設備和BCB設備)自身的SPSource ID各不相同,因此各SPB設備最終生成的組播地址也各不相同。各SPB設備之間可W通過互 相擴散LSP報文,將自身生成的組播地址同步至當前SPBM網絡中的其它各SPB設備,從而使 得對于當前SPBM網絡中的任一SPB設備來說,都可W在本地全局的保存SPBM網絡中各Sro設 備在各實例中的組播地址。
[0159]在本例中,當上述組播轉發表項創建完成,在核屯、復制模式下,B邸設備接收到用 戶側網絡組播源發出的組播報文時,可W讀取該組播報文的目的組播MAC,在基于組播I- SID創建的上述組播轉發表項中查找組播轉發表項。
[0160] 如果查找到對應的組播轉發表項,此時該組播報文為已知組播報文,B邸設備可W 基于查找到的組播轉發表項對該組播報文進行MC-in-MAC封裝,此時封裝后的MAC-in-MAC 頭中的B-DA為當前邸B設備基于組播I-SID生成的組播地址。
[0161] 當封裝完成后,BEB設備可W基于預設算法為該組播報文計算下一跳的BCB設備, 然后將封裝后的該組播報文轉發至BCB設備,由BCB設備基于該組播報文B-DA中攜帶的組播 地址在核屯、網絡中向對應的組播接收主機接入的肥B設備進行復制和分發該組播報文。當 目標B邸設備接收到組播報文后,可W對該組播報文進行解封裝,然后轉發至用戶側網絡中 的組播接收主機。
[0162] 如果未查找到對應的組播轉發表項,此時該組播報文為未知組播報文,對于未知 組播報文,B邸設備仍然可W對該組播報文進行MC-in-MAC封裝,此時封裝后的MAC-in-MAC 頭中的B-DA為當前邸B設備基于組播I-SID生成的組播地址。
[0163] 當封裝完成后,BEB設備可W基于預設算法為該組播報文計算下一跳的BCB設備, 然后將封裝后的該組播報文轉發至BCB設備,由BCB設備基于該組播報文B-DA中攜帶的組播 地址,在其本地基于組播I-SID創建的組播轉發表項對應的組播樹所覆蓋的組播域中對該 未知組播報文進行洪泛處理。
[0164] 另外,需要說明的是,BEB設備在收到當前網絡中其它SPB設備接收到的用于刪除 組播接收者的LSP報文時,除了可W從本地LSDB中刪除對應的組播接收者,如果刪除的該組 播接收者和組播源存在對應的組播轉發表項,也可W對該組播轉發表項進行同步刪除。
[0165] 例如,在頭端復制模式下,B邸設備在收到刪除組播接收者的LSP報文時,可W在基 于組播I-SID創建的組播轉發表項中刪除與組播接收者對應的組播MAC地址,當該組播轉發 表項中所有組播MAC地址均刪除后(整個網絡不再存在組播接收者時),此時可W將該組播 轉發表項整組刪除。在核屯、復制模式下,B邸設備在收到刪除組播接收者的LSP報文時,可W 在基于組播I-SID創建的組播轉發表項中查找與該組播接收者對應的組播轉發表項,并確 定查找到的該組播轉發表項中與該組播接收者對應的出接口下,是否還接入了其它組播接 收者,如果沒有,可W直接將該出接口刪除。當基于組播I-SID創建的組播轉發表項中所有 出接口均刪除后(整個網絡不再存在組播接收者時),此時可W將該組播轉發表項整組刪 除。
[0166] 步驟205,在核屯、復制模式下,BCB設備基于各邸的受備為其本地用戶側網絡中的組 播源分配的組播I-SID分別創建對應的組播轉發表項;根據本地鏈路狀態數據庫中保存的 所述組播接收者和所述組播源對與所述組播轉發表項對應的組播樹進行剪枝,并基于剪枝 后的所述組播樹轉發組播報文。
[0167] 在本例中,BCB設備在創建組播轉發表項時,也可W基于主用I-SID和接收到的各 B邸設備為其本地組播源分配的I-SID來分別創建組播轉發表項。
[0168] 其中,BCB設備可W僅在核屯、復制模式下啟用組播I-SID,基于組播I-SID來創建組 播轉發表項,而在頭端復制模式下,可W直接使用基于主用I-SID創建的組播轉發表項轉發 B邸設備發送的組播報文。
[0169] 在頭端復制模式下,對組播報文的復制和分發由B邸設備來完成,BCB僅用于對BEB 設備發出的組播報文進行單播轉發,而且BEB設備發出的組播報文中并不攜帶組播I-SID, 因此在頭端復制模式下,BCB設備可W直接使用基于主用I-SID創建的組播轉發表項對該組 播報文進行轉發即可,可W不再啟用組播I-SID,基于組播I-SID來創建組播轉發表項,因而 在該模式下BCB設備在接收到的網絡中各BEB設備發送的攜帶與組播接收者對應的主機信 息W及組播MAC,或者為組播源分配的組播I-SIDW及與組播源對應的組播MAC地址的LSP報 文時,也不在需要對該LSP報文進行特殊處理。
[0170] 在核屯、復制模式下,對組播報文的復制和分發是由BCB設備來完成的,因此在該模 式下,BCB設備可W啟用組播I-SID,基于接收到的各肥B設備為其本地的組播源分配的組播 I-SID分別創建對應組播轉發表項。
[0171] 其中,BCB基于組播I-SID創建的組播轉發表項,仍然與BCB設備已有的基于主用I- SID創建的組播轉發表項完全隔離,僅用于BCB設備轉發組播報文(包括已知組播報文和未 知組播報文);而BCB基于主用I-SID創建完成的組播轉發表項,仍然可W覆蓋網絡中各實例 內所有SPB設備組成的組播域,用于BCB設備轉發單播報文(包括已知單播和未知單播)和廣 播報文,不再寶述。
[0172] 在核屯、復制模式下,BCB設備針對各組播I-SID分別創建的組播轉發表項包括W下 內容:
[0173] 基于所述組播I-SID生成的組播地址、BVLAN信息W及出接口。
[0174] 其中,BCB設備在基于各組播I-SID分別創建上述組播轉發表項時,可W直接復制 基于主用I-SID創建的組播轉發表項,然后將組播轉發表項中基于主用I-SID生成的組播地 址替換為基于組播I-SID生成的組播地址即可。因此,在初始狀態下,BCB設備基于各組播I- SID分別創建的組播轉發表項所對應的組播樹,將覆蓋網絡中各實例內所有SPB設備組成的 組播域。
[0175] 其中,需要說明的是,BCB設備在收到當前網絡中其它SPB設備接收到的用于刪除 組播接收者的LSP報文時,除了可W從本地LSDB中刪除對應的組播接收者,如果刪除的該組 播接收者和組播源存在對應的組播轉發表項,也可W對該組播轉發表項進行同步刪除。例 如,在頭端復制模式下,可W在基于組播I-SID創建的組播轉發表項中刪除組播接收者接入 的邸B設備的MAC地址。
[0176] 在本例中,為了避免本地用戶側網絡不存在組播接收者的肥B設備,收到實例內其 他邸B設備發送的未知組播報文,BCB設備可W基于本地LADB中保存的網絡中的所有組播接 收者和組播源的信息對基于組播I-SID創建完成的組播轉發表項對應的組播樹進行剪枝。
[0177] 在默認狀態下,基于組播I-SID創建完成的組播轉發表項將覆蓋網絡中各實例內 所有Sro設備組成的組播域,由于此時本地LSDB中保存了其它各Sro收集到的整個網絡中所 有組播源的組播MAC地址和對應的接收主機,W及該接收主機接入的肥B設備等信息,因此 BCB設備可W查找本地LSDB,并基于本地LSDB中保存的信息,來確定當前網絡中各SPB設備 的用戶側網絡是否存在與上述各組播樹的組播源對應的組播接收者。
[0178] 當BCB設備確定出當前網絡中任一 SPB設備的用戶側網絡不存在與上述組播源對 應的組播接收者時,此時可W在當前的組播樹對應的組播轉發表項中,查找與該sro設備對 應的組播轉發表項,然后將查找到的組播轉發表項中與該sro設備對應的出接口刪除,W完 成對該組播樹的剪枝。其中,在刪除出接口的過程中,BCB設備需要根據本地LSDB確定該出 接口下是否還接入了其它組播接收者,如果沒有,則可W從組播轉發表項中將該出接口直 接刪除。
[0179] 當完成剪枝后,該組播樹對應的組播轉發表項中將不再包含其用戶側網絡不存在 與該組播樹的組播源對應的組播接收者的SPB設備的出接口,該組播樹將覆蓋網絡中各實 例內所有用戶側網絡存在組播接收者的sro設備所組成的組播域。
[0180] 在本例中,當BCB設備接收到的由肥B設備進行MAC-in-MAC封裝后的組播報文后, 如果該組播報文為已知組播報文,BCB設備可W基于組比I-SID查找對應的組播樹,然后基 于剪枝后的組播樹對該組播報文進行復制和分發,轉發至對應的目標B邸設備,再由該目標 B邸設備對報文進行解封裝轉發至對應的組播接收主機。
[0181] 如果該組播報文為未知組播報文,BCB設備仍然可W基于組比I-SID查找對應的組 播樹,然后在剪枝后的該組播樹中對該未知組播報文進行洪泛處理。由于此時剪枝后的該 組播樹覆蓋網絡中各實例內所有用戶側網絡存在組播接收者的SPB設備所組成的組播域, 因此BCB在實例內對該未知組播報文進行洪泛處理時,將只有那些各自用戶側網絡中存在 組播接收者的目標肥B設備能夠接收到實例內的其它B邸設備洪泛后的該未知組播報文,而 對于那些用戶側網絡中不存在組播接收者的B邸設備,則無法接收到相同實例內其它B邸設 備洪泛處理的未知組播報文,從而可W有效的避免公網帶寬資源W及公網設備資源的浪 費;同時,由于那些用戶側網絡中不存在組播接收者的BEB設備將不再接收到實例內其它 BEB設備洪泛的未知組播報文,因此可W不再執行無效的解封裝W及向用戶側網絡轉發無 效未知組播報文的操作,因此也可W有效的避免私網資源W及私網設備資源的浪費。
[0182] 另外,需要說明的是,BCB設備在收到當前網絡中其它SPB設備接收到的用于刪除 組播接收者的LSP報文時,除了可W從本地LSDB中刪除對應的組播接收者,如果刪除的該組 播接收者和組播源存在對應的組播轉發表項,也可W對該組播轉發表項進行同步刪除。例 如,在核屯、復制模式下,可W在確定與該組播接收者對應的出接口下并未接入其它組播接 收者是刪除該出接口,不再寶述。
[0183] W下通過一個具體的應用實例對W上實施例中的技術方案進行詳述。
[0184] 請參見圖3,圖3為本例示出的一種基于SPBM技術實現的運營商骨干網絡的組網 圖。
[0185] 在該網絡中,B邸設備包括邸B1~邸B4;BCB設備包括BCB1~BCB4。
[0186] 其中,B邸1接入了作為組播源的hostl,hostl的MAC地址為MAC 1。
[0187] 邸B2和肥B3分別接入了作為組播接收者的host2和host3,肥B2和邸B3的MAC地址 分別為MAC2和MAC3。
[018引邸B1面向用戶側的AC口為podl,portl預先使能了IGMP snooping。邸B1為組播源 hostl 分配的組播 I-SID 為 I-SID100,I-SID100 綁定的 BVLAN 為 BVLAN1。
[0189] 肥B1的出接口為pod2eBCBl的出接口為口〇的3、口〇刊4和口〇的5。邸81的5口5〇11'。6 ID 為 SPSourcelOO,生成的 Sro 組播地址為 I-SIDlOO+SPSourcelOO。
[0190] 初始狀態下,B邸1可W通過podl監聽組播協議報文。
[0191 ] 當邸B1通過portl監聽到host2和host3發出的加入hostl所在組播源的IGMP成員 關系報告報文,BEB1可W在本地LSDB中保存該報文中攜帶的host2和host3的信息,W及 host2和host3希望加入的組播源hostl的MAC地址,并向全網擴散LSP報文,將host2和hosts 的信息,W及host2和hos口希望加入的組播源hostl的MAC地址同步至邸B2~邸B4W及BCB1 ~BCB4。
[0192] 當邸B1通過podl監聽到hostl發出的IGMP成員關系查詢報文時,B邸1可W在本地 LSDB中保存該報文中攜帶的組播源hostl的MAC地址,記錄本地存在該組播源,然后向全網 擴散LSP報文,將組播源hostl的MAC地址,W及為該組播源hostl分配的I-SID100同步至 邸B2~邸B4W及BCB1~BCB4。
[0193] 此時,對于肥B2~邸B4W及BCB1~BCB4來說,均在其本地的LSDB中保存了 host2和 host3的信息,host2和host3希望加入的組播源hostl的MAC地址W及為組播源hostl分配的 I-SIDlOOo
[0194] 在本例中,B邸1可W基于為組播源hostl分配的I-SID100創建組播轉發表項:
[01M]在頭端復制模式下,在初始狀態下B邸創建的組播轉發表項如下表所示:
[0196]
[0197] 由上述組播轉發表項可W看出,該組播轉發表項對應的組播樹覆蓋肥B2~肥B4組 成的組播域。
[0198] 肥B1可W基于本地LSDB中保存的信息對上述組播轉發表項對應的組播樹進行剪 枝,刪除邸B4的組播MAC地址MC4,完成剪枝后的組播轉發表項如下表所示:
[0199]
[0200] 肥B1在收到hostl發出的未知組播報文后對該未知組播報文進行MAC-in-MAC封 裝,此時MAC-in-MAC頭中的B-DA分別為MAC2和MAC3,當封裝完成后,肥B1可W將該未知組播 報文后在當前實例內進行泛洪處理時,復制兩份分別單播發送至BEB2和BEB3,BCB1在收到 邸B1發出的封裝后的未知組播報文后,根據MAC-in-MAC頭中的BMAC進行單播轉發,通過出 接口 pod3和pod4將封裝后的未知組播報文單播轉發至BEB2和BEB3。
[0201] 肥B1在對hostl發出的未知組播報文在實例內進行洪泛處理時,基于由于創建的 上述組播轉發表項對應的組播樹僅覆蓋邸B2和邸B3組成的組播域,因此洪泛后的該未知組 播報文,只有肥B2和肥B3能夠收到,BEB4將無法收到該未知組播報文,從而可W有效避免 BEB4的公網帶寬資源W及公網設備資源的浪費。
[0202] 在核屯、復制模式下,B邸1創建的組播轉發表項如下表所示: 「0期1
[0204] 肥B1在收到hostl發出的未知組播報文后對該未知組播報文進行MAC-in-MAC封 裝,此時MAC-in-MAC頭中的B-DA為基于I-SID100生成的組播地址I-SIDlOO+SPSource 100, 當封裝完成后,B邸1可W將該未知組播報文映射到BCB1,由BCB1在實例內進行洪泛處理。
[0205] 在初始狀態下,BCB1創建的組播轉發表項如下表所示:
[0206]
[0207] 由上述組播轉發表項可W看出,該組播轉發表項對應的組播樹覆蓋肥B2~肥B4組 成的組播域。
[0208] 此時BCB1本地LSDB中保存了host2和host3的信息,W及host2和host3希望加入的 組播源hostl的MAC地址,BCB1可W基于本地LSDB中保存的信息對上述組播轉發表項對應的 組播樹進行剪枝。在對該組播樹進行剪枝時,BCB1基于本地LSDB中保存的信息可W確定 肥B4用戶側網絡不存在組播源hostl的組播接收主機,因而可W將上述組播轉發表項中與 BEB4對應的pod6刪除,完成對組播樹的剪枝。
[0209] 剪枝后的組播樹對應的組播轉發表項如下表所示:
[0210]
10^~當完成剪枝后,上述組播轉發表項對應的組播樹覆蓋肥B2和邸B3組成的組播域, 因此BCB1對接收到的未知組播報文進行洪泛后,只有肥B2和肥B3能夠收到,B邸4將無法收 到該未知組播報文,從而可W有效避免BEB4的公網帶寬資源W及公網設備資源的浪費。
[0212] 通過W上各實施例可知,在本申請中,BEB設備通過用戶側端口監聽組播協議報 文,并基于監聽到的組播協議報文中攜帶的信息來收集網絡中的組播接收者W及組播源并 保存至本地LSDB中,W及將收集到的組播接收者和組播源同步至網絡中的其它Sro設備,并 將網絡中其它邸B設備同步至本地的組播接收者W及組播源保存至本地LSDB中;當本地用 戶側網絡存在組播源,則查找本地LSDB確定網絡中是否存在與該組播源對應的組播接收 者;如果是,創建與所述組播接收者接入的目標邸B設備之間的組播轉發表項,并基于創建 的該組播轉發表項轉發組播報文,從而可W實現在SPBM網絡中轉發組播報文時,如果Sro設 備用戶側網絡內沒有組播接收者,則不會收到相同實例的其它SPB設備所發送的組播流量, 可W避免帶寬W及設備資源的浪費。
[0213] 與上述方法實施例向對應,本申請還提供了裝置項實施例。
[0214] 請參見圖4,本申請還提出一種SPBM網絡中組播報文的轉發裝置40,應用于肥B設 備,所述裝置40包括:
[0215] 監聽模塊401,用于通過用戶側端口監聽組播協議報文,并基于監聽到的所述組播 協議報文中攜帶的信息收集網絡中的組播接收者W及組播源并保存至本地鏈路狀態數據 庫中;
[0216] 同步模塊402,用于將收集到的所述組播接收者和組播源同步至網絡中的其它SPB 設備,W及將網絡中其它邸B設備同步至本地的組播接收者W及組播源保存至本地鏈路狀 態數據庫中;
[0217] 第一創建模塊403,用于在本地用戶側網絡存在組播源時,查找本地鏈路狀態數據 庫確定網絡中是否存在與該組播源對應的組播接收者;如果是,創建與所述組播接收者接 入的目標B邸設備之間的組播轉發表項,并基于創建的該組播轉發表項轉發組播報文。
[0218] 在本例中,所述監聽模塊401具體用于:
[0219] 當監聽到的所述組播協議報文為加入組播組的第一類組播協議報文時,確定本地 用戶側網絡存在組播接收者,將與該組播協議報文對應的主機信息,W及將該組播協議報 文中的組播MAC地址保存至本地鏈路狀態數據庫中;
[0220] 當監聽到的所述組播協議報文為表征本地用戶側網絡存在組播源的第二類組播 協議報文時,確定本地用戶側網絡存在組播源,將該組播協議報文中與組播源對應的組播 MAC地址保存至本地鏈路狀態數據庫中,并記錄本地存在該組播源。
[0221] 在本例中,所述監聽模塊401進一步用于:
[0222] 當監聽到的所述組播協議報文為IGMP離開組報文時,將與該組播協議報文對應的 作為組播接收者的主機信息從本地鏈路狀態數據庫中刪除,W及通知網絡中的其它SPB設 備從各自鏈路狀態數據庫中同步刪除。
[0223] 在本例中,所述第一類組播協議報文包括IGMP成員關系報告報文;所述第二類組 播協議報文包括IGMP成員關系查詢報文、PIM協議報文或者目的MAC對指定IP地址存在對應 關系的組播協議報文。
[0224] 在本例中,所述裝置40還包括:
[0225] 刪除模塊404,用于當在預設的老化時長內未接收到與本地鏈路狀態數據庫中保 存的任一作為組播接收者的主機信息對應的加入組播組的第一類組播協議報文時,則將該 主機信息從本地鏈路狀態數據庫中刪除,并通知網絡中的其它SPB設備從各自鏈路狀態數 據庫中同步刪除;W及當在預設的老化時長內未接收到與本地鏈路狀態數據庫中保存的任 一組播MAC對應的組播流量時,則將該組播MAC從本地鏈路狀態數據庫中刪除,并通知網絡 中的其它sro設備從各自鏈路狀態數據庫中同步刪除。
[02%]在本例中,所述同步模塊402具體用于:
[0227]當確定本地用戶側網絡存在組播接收者時,向網絡中的其它SPB設備發送攜帶與 該組播接收者對應的主機信息,W及組播MC地址的第一LSP報文,W使其它SPB設備在其本 地鏈路狀態數據庫中同步保存將該主機信息和該組播MAC地址;
[02%]當確定本地用戶側網絡存在組播源時,為該組播源分配組播I-SID,并向網絡中的 其它Sro設備發送攜帶該組播I-SID,W及與該組播源對應的組播MAC地址的第二LSP報文, W使其它Sro設備在其本地鏈路狀態數據庫中同步保存該組播I-SID和組播MAC地址。
[0229] 在本例中,所述同步模塊402進一步用于:
[0230] 從為用戶側端口指定的多個I-SID中為該組播源分配I-SID;其中,所述用戶側端 口指定的多個I-SID綁定的BVLAN相同;所述多個I-SID包括主I-SIDW及至少一個用于組播 發送的組播I-SID。
[0231] 在本例中,在頭端復制模式下,所述第一創建模塊403創建的所述組播轉發表項包 括:
[0232] 所述組播源的組播MAC地址、BVLAN信息、所述目標邸B設備的MAC地址W及出接口;
[0233] 在核屯、復制模式下,所述第一創建模塊403創建的所述組播轉發表項包括:
[0234] 所述組播源的組播MAC地址、基于所述組播I-SID生成的組播地址、BVLAN信息W及 出接口。
[0235] 請參見圖5,本申請還提出一種SPBM網絡中組播報文的轉發裝置50,應用于BCB設 備,所述裝置50包括:
[0236] 接收模塊501,用于接收網絡中各肥B設備同步至本地的組播接收者和組播源并保 存至本地鏈路狀態數據庫中;其中,所述組播接收者W及組播源由所述各邸B設備通過收集 用戶側端口監聽到的組播協議報文中攜帶的信息得到;
[0237] 第二創建模塊502,用于在核屯、復制模式下,基于各肥B設備為其本地用戶側網絡 中的組播源分配的組播I-SID分別創建對應的組播轉發表項;
[0238] 剪枝模塊503,用于根據本地鏈路狀態數據庫中保存的所述組播接收者和所述組 播源對與所述組播轉發表項對應的組播樹進行剪枝,并基于剪枝后的所述組播樹轉發組播 報文。
[0239] 在本例中,所述接收模塊501具體用于:
[0240] 當網絡中任一 B邸設備其本地用戶側網絡存在組播接收者時,接收該B邸設備發送 的攜帶與該組播接收者對應的主機信息W及組播MAC的第一 LSP報文,并將該報文中攜帶的 主機信息和組播MAC在本地鏈路狀態數據庫中同步保存;
[0241] 當網絡中任一 B邸設備其本地用戶側網絡存在組播源時,接收該B邸設備發送的攜 帶該肥B設備為該組播源分配的組播I-SIDW及與該組播源對應的組播MAC的第二LSP報文, 并將該報文中攜帶的組播I-SID和組播MAC在本地鏈路狀態數據庫中同步保存。
[0242] 在本例中,所述第二創建模塊502創建的所述組播轉發表項包括:
[0243] 基于所述組播I-SID生成的組播地址、BVLAN信息W及出接口。
[0244] 在本例中,所述剪枝模塊503具體用于:
[0245] 根據本地鏈路狀態數據庫中保存的所述組播接收者和所述組播源確定網絡中各 SPB設備的用戶側網絡中是否存在對應于所述組播源的組播接收者;
[0246] 當任一 SPB設備的用戶側網絡中不存在對應于所述組播源的組播接收者時,如果 該Sro設備對應的出接口下未接入其它組播接收者,則在所述組播轉發表項中將與該SPB設 備對應的出接口刪除,W針對與所述組播轉發表項對應的組播樹執行剪枝。
[0247] 本領域技術人員可W理解實施例中的裝置中的模塊可W按照實施例描述分布于 實施例的裝置中,也可W進行相應變化位于不同于本實施例的一個或多個裝置中。上述實 施例的模塊可W合并為一個模塊,也可進一步拆分成多個子模塊。上述發明實施例序號僅 僅為了描述,不代表實施例的優劣。
[0248] W上所述僅為本發明的較佳實施例而已,并不用W限制本發明,凡在本發明的精 神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
【主權項】
1. 一種SPBM網絡中組播報文的轉發方法,應用于SPBM網絡中的BEB設備,其特征在于, 所述方法包括: 通過用戶側端口監聽組播協議報文,并基于監聽到的所述組播協議報文中攜帶的信息 收集網絡中的組播接收者以及組播源并保存至本地鏈路狀態數據庫中; 將收集到的所述組播接收者和組播源同步至網絡中的其它SPB設備,以及將網絡中其 它BEB設備同步至本地的組播接收者以及組播源保存至本地鏈路狀態數據庫中; 如果本地用戶側網絡存在組播源,查找本地鏈路狀態數據庫確定網絡中是否存在與該 組播源對應的組播接收者;如果是,創建與所述組播接收者接入的目標BEB設備之間的組播 轉發表項,并基于創建的該組播轉發表項轉發組播報文。2. 如權利要求1所述的方法,其特征在于,所述基于監聽到的所述組播協議報文中攜帶 的信息收集網絡中的組播接收者以及組播源并保存至本地鏈路狀態數據庫中包括: 當監聽到的所述組播協議報文為加入組播組的第一類組播協議報文時,確定本地用戶 側網絡存在組播接收者,將與該組播協議報文對應的主機信息,以及將該組播協議報文中 的組播MAC地址保存至本地鏈路狀態數據庫中; 當監聽到的所述組播協議報文為表征本地用戶側網絡存在組播源的第二類組播協議 報文時,確定本地用戶側網絡存在組播源,將該組播協議報文中與組播源對應的組播MAC地 址保存至本地鏈路狀態數據庫中,并記錄本地存在該組播源。3. 如權利要求2所述的方法,其特征在于,所述方法還包括: 當監聽到的所述組播協議報文為IGMP離開組報文時,將與該組播協議報文對應的作為 組播接收者的主機信息從本地鏈路狀態數據庫中刪除,以及通知網絡中的其它SPB設備從 各自鏈路狀態數據庫中同步刪除。4. 如權利要求3所述的方法,其特征在于,所述第一類組播協議報文包括IGMP成員關系 報告報文;所述第二類組播協議報文包括IGMP成員關系查詢報文、PIM協議報文或者目的 MAC與本地指定IP地址存在對應關系的組播協議報文。5. 如權利要求3所述的方法,其特征在于,所述方法還包括: 當在預設的老化時長內未接收到與本地鏈路狀態數據庫中保存的任一作為組播接收 者的主機信息對應的加入組播組的第一類組播協議報文時,則將該主機信息從本地鏈路狀 態數據庫中刪除,并通知網絡中的其它SPB設備從各自鏈路狀態數據庫中同步刪除;以及 當在預設的老化時長內未接收到與本地鏈路狀態數據庫中保存的任一組播MAC對應的 組播流量時,則將該組播MAC從本地鏈路狀態數據庫中刪除,并通知網絡中的其它Sro設備 從各自鏈路狀態數據庫中同步刪除。6. 如權利要求1所述的方法,其特征在于,所述將收集到的所述組播接收者和組播源同 步至網絡中的其它SPB設備包括: 當確定本地用戶側網絡存在組播接收者時,向網絡中的其它SPB設備發送攜帶與該組 播接收者對應的主機信息,以及組播MAC地址的第一LSP報文,以使其它SPB設備在其本地鏈 路狀態數據庫中同步保存將該主機信息和該組播MAC地址; 當確定本地用戶側網絡存在組播源時,為該組播源分配組播I-SID,并向網絡中的其它 設備發送攜帶該組播I-SID,以及與該組播源對應的組播MAC地址的第二LSP報文,以使 其它SPB設備在其本地鏈路狀態數據庫中同步保存該組播Ι-SID和組播MAC地址。7. 如權利要求6所述的方法,其特征在于,所述為該組播源分配組播Ι-SID包括: 從為用戶側端口指定的多個Ι-SID中為該組播源分配Ι-SID;其中,所述用戶側端口指 定的多個Ι-SID綁定的BVLAN相同;所述多個Ι-SID包括主Ι-SID以及至少一個用于組播發送 的組播I-SID。8. 如權利要求1或7所述的方法,其特征在于,所述方法還包括: 在頭端復制模式下,創建的所述組播轉發表項包括: 所述組播源的組播MAC地址、BVLAN信息、所述目標BEB設備的MAC地址以及出接口; 在核心復制模式下,創建的所述組播轉發表項包括: 所述組播源的組播MAC地址、基于所述組播Ι-SID生成的組播地址、BVLAN信息以及出接 □ 〇9. 一種SPBM網絡中組播報文的轉發方法,應用于SPBM網絡中的BCB設備,其特征在于, 所述方法包括: 接收網絡中各BEB設備同步至本地的組播接收者和組播源并保存至本地鏈路狀態數據 庫中;其中,所述組播接收者以及組播源由所述各BEB設備通過收集用戶側端口監聽到的組 播協議報文中攜帶的信息得到; 在核心復制模式下,基于各BEB設備為其本地用戶側網絡中的組播源分配的組播I-SID 分別創建對應的組播轉發表項; 根據本地鏈路狀態數據庫中保存的所述組播接收者和所述組播源對與所述組播轉發 表項對應的組播樹進行剪枝,并基于剪枝后的所述組播樹轉發組播報文。10. 如權利要求9所述的方法,其特征在于,所述接收網絡中各BEB設備同步至本地的組 播接收者和組播源,以及由各BEB設備為其本地用戶側網絡中的組播源分配的組播Ι-SID包 括: 當網絡中任一 BEB設備其本地用戶側網絡存在組播接收者時,接收該BEB設備發送的攜 帶與該組播接收者對應的主機信息以及組播MAC的第一 LSP報文,并將該報文中攜帶的主機 信息和組播MAC在本地鏈路狀態數據庫中同步保存; 當網絡中任一 BEB設備其本地用戶側網絡存在組播源時,接收該BEB設備發送的攜帶該 BEB設備為該組播源分配的組播Ι-SID以及與該組播源對應的組播MAC的第二LSP報文,并將 該報文中攜帶的組播Ι-SID和組播MAC在本地鏈路狀態數據庫中同步保存。11. 如權利要求9所述的方法,其特征在于,創建的所述組播轉發表項包括: 基于所述組播Ι-SID生成的組播地址、BVLAN信息以及出接口。12. 如權利要求11所述的方法,其特征在于,所述根據本地鏈路狀態數據庫中保存的所 述組播接收者和所述組播源對與所述組播轉發表項對應的組播樹進行剪枝包括: 根據本地鏈路狀態數據庫中保存的所述組播接收者和所述組播源確定網絡中各SPB設 備的用戶側網絡中是否存在對應于所述組播源的組播接收者; 當任一 SPB設備的用戶側網絡中不存在對應于所述組播源的組播接收者時,如果該SPB 設備對應的出接口下未接入其它組播接收者,則在所述組播轉發表項中將與該SI^B設備對 應的出接口刪除,以針對與所述組播轉發表項對應的組播樹執行剪枝。13. -種SPBM網絡中組播報文的轉發裝置,應用于SPBM網絡中的BEB設備,其特征在于, 所述裝置包括: 監聽模塊,用于通過用戶側端口監聽組播協議報文,并基于監聽到的所述組播協議報 文中攜帶的信息收集網絡中的組播接收者以及組播源并保存至本地鏈路狀態數據庫中; 同步模塊,用于將收集到的所述組播接收者和組播源同步至網絡中的其它SPB設備,以 及將網絡中其它BEB設備同步至本地的組播接收者以及組播源保存至本地鏈路狀態數據庫 中; 第一創建模塊,用于在本地用戶側網絡存在組播源時,查找本地鏈路狀態數據庫確定 網絡中是否存在與該組播源對應的組播接收者;如果是,創建與所述組播接收者接入的目 標BEB設備之間的組播轉發表項,并基于創建的該組播轉發表項轉發組播報文。14. 如權利要求13所述的方法,其特征在于,所述監聽模塊具體用于: 當監聽到的所述組播協議報文為加入組播組的第一類組播協議報文時,確定本地用戶 側網絡存在組播接收者,將與該組播協議報文對應的主機信息,以及將該組播協議報文中 的組播MAC地址保存至本地鏈路狀態數據庫中; 當監聽到的所述組播協議報文為表征本地用戶側網絡存在組播源的第二類組播協議 報文時,確定本地用戶側網絡存在組播源,將該組播協議報文中與組播源對應的組播MAC地 址保存至本地鏈路狀態數據庫中,并記錄本地存在該組播源。15. 如權利要求14所述的方法,其特征在于,所述監聽模塊進一步用于: 當監聽到的所述組播協議報文為IGMP離開組報文時,將與該組播協議報文對應的作為 組播接收者的主機信息從本地鏈路狀態數據庫中刪除,以及通知網絡中的其它SPB設備從 各自鏈路狀態數據庫中同步刪除。16. 如權利要求15所述的裝置,其特征在于,所述第一類組播協議報文包括IGMP成員關 系報告報文;所述第二類組播協議報文包括IGMP成員關系查詢報文、P頂協議報文或者目的 MAC對指定IP地址存在對應關系的組播協議報文。17. 如權利要求15所述的裝置,其特征在于,所述裝置還包括: 刪除模塊,用于當在預設的老化時長內未接收到與本地鏈路狀態數據庫中保存的任一 作為組播接收者的主機信息對應的加入組播組的第一類組播協議報文時,則將該主機信息 從本地鏈路狀態數據庫中刪除,并通知網絡中的其它SPB設備從各自鏈路狀態數據庫中同 步刪除;以及當在預設的老化時長內未接收到與本地鏈路狀態數據庫中保存的任一組播 MAC對應的組播流量時,則將該組播MAC從本地鏈路狀態數據庫中刪除,并通知網絡中的其 它SPB設備從各自鏈路狀態數據庫中同步刪除。18. 如權利要求13所述的裝置,其特征在于,所述同步模塊具體用于: 當確定本地用戶側網絡存在組播接收者時,向網絡中的其它SPB設備發送攜帶與該組 播接收者對應的主機信息,以及組播MAC地址的第一LSP報文,以使其它SPB設備在其本地鏈 路狀態數據庫中同步保存將該主機信息和該組播MAC地址; 當確定本地用戶側網絡存在組播源時,為該組播源分配組播I-SID,并向網絡中的其它 設備發送攜帶該組播I-SID,以及與該組播源對應的組播MAC地址的第二LSP報文,以使 其它SPB設備在其本地鏈路狀態數據庫中同步保存該組播Ι-SID和組播MAC地址。19. 如權利要求18所述的裝置,其特征在于,所述同步模塊進一步用于: 從為用戶側端口指定的多個Ι-SID中為該組播源分配Ι-SID;其中,所述用戶側端口指 定的多個Ι-SID綁定的BVLAN相同;所述多個Ι-SID包括主Ι-SID以及至少一個用于組播發送 的組播I-SID。20. 如權利要求13所述的裝置,其特征在于, 在頭端復制模式下,所述第一創建模塊創建的所述組播轉發表項包括: 所述組播源的組播MAC地址、BVLAN信息、所述目標BEB設備的MAC地址以及出接口; 在核心復制模式下,所述第一創建模塊創建的所述組播轉發表項包括: 所述組播源的組播MAC地址、基于所述組播Ι-SID生成的組播地址、BVLAN信息以及出接 □ 〇21. -種SPBM網絡中組播報文的轉發裝置,應用于SPBM網絡中的BCB設備,其特征在于, 所述裝置包括: 接收模塊,用于接收網絡中各BEB設備同步至本地的組播接收者和組播源并保存至本 地鏈路狀態數據庫中;其中,所述組播接收者以及組播源由所述各BEB設備通過收集用戶側 端口監聽到的組播協議報文中攜帶的信息得到; 第二創建模塊,用于在核心復制模式下,基于各BEB設備為其本地用戶側網絡中的組播 源分配的組播I -S ID分別創建對應的組播轉發表項; 剪枝模塊,用于根據本地鏈路狀態數據庫中保存的所述組播接收者和所述組播源對與 所述組播轉發表項對應的組播樹進行剪枝,并基于剪枝后的所述組播樹轉發組播報文。22. 如權利要求21所述的裝置,其特征在于,所述接收模塊具體用于: 當網絡中任一 BEB設備其本地用戶側網絡存在組播接收者時,接收該BEB設備發送的攜 帶與該組播接收者對應的主機信息以及組播MAC的第一 LSP報文,并將該報文中攜帶的主機 信息和組播MAC在本地鏈路狀態數據庫中同步保存; 當網絡中任一 BEB設備其本地用戶側網絡存在組播源時,接收該BEB設備發送的攜帶該 BEB設備為該組播源分配的組播Ι-SID以及與該組播源對應的組播MAC的第二LSP報文,并將 該報文中攜帶的組播Ι-SID和組播MAC在本地鏈路狀態數據庫中同步保存。23. 如權利要求21所述的裝置,其特征在于,所述第二創建模塊創建的所述組播轉發表 項包括: 基于所述組播Ι-SID生成的組播地址、BVLAN信息以及出接口。24. 如權利要求23所述的裝置,其特征在于,所述剪枝模塊具體用于: 根據本地鏈路狀態數據庫中保存的所述組播接收者和所述組播源確定網絡中各SPB設 備的用戶側網絡中是否存在對應于所述組播源的組播接收者; 當任一 SPB設備的用戶側網絡中不存在對應于所述組播源的組播接收者時,如果該SPB 設備對應的出接口下未接入其它組播接收者,則在所述組播轉發表項中將與該SI^B設備對 應的出接口刪除,以針對與所述組播轉發表項對應的組播樹執行剪枝。
【文檔編號】H04L12/931GK106059962SQ201610402514
【公開日】2016年10月26日
【申請日】2016年6月7日
【發明人】楊斌
【申請人】杭州華三通信技術有限公司