實現組播的方法、路由器及系統的製作方法
2023-05-28 23:10:41
專利名稱:實現組播的方法、路由器及系統的製作方法
技術領域:
本發明涉及通信技術領域,尤其涉及一種實現組播的方法、路由器及系統。
背景技術:
隨著通信技術的發展,數據傳輸的需求越來越大。組播是一種網際網路協 議(IP)網絡中點到多點的高效數據傳送技術,組播方式下,單一的信息流沿 樹型路徑被同時發送給一組用戶,相同的組播數據流在每一條鏈路上最多僅 有一份。組播技術中最關鍵的就是組播分發樹的構造,通常採用的是稀疏模
式獨立糹Ji番(Protocol Independent Multicast-Sparse Mode, PIM-SM)十辦i義。PIM 利用現有的單播路由信息,對組播報文執行反向路徑轉發(Reverse Path Forwarding, RPF)檢查,從而創建組播路由表項,構建組播分發樹。組播路 由表收錄所有PIM路由表項,並下刷到轉發表中,由轉發表項直接指導組播 報文轉發。
組播路由表收錄所有PIM路由表項,並下刷到轉發表中,由轉發表項直 接指導組播報文轉發。PIM中存在兩種轉發表項(S, G)或(*, G)。 S表 示組播源,G表示組播組,*表示任意。
(S, G)只適用於源地址為S,組地址為G的組播I艮文。通常,將源地 址為S,組地址為G的組播報文表示為(S, G)報文。
(*, G)適用於組地址為G的組播報文。即不論是哪個組播源發出的, 只要是發往組播組G的組播報文,都應該從(*, G)表項中的下遊接口轉發 出去。
PIM路由器上可能同時存在多種轉發表項。當收到源地址為S,組地址為 G的組播報文,且通過RPF檢查的情況下,按照如下的規則轉發 如果存在(S, G)表項,則由(S, G)表項指導報文轉發。 如果不存在(S, G)表項,則先依照(*, G)表項創建(S, G)表項, 再由(S, G)表項指導報文轉發。
7傳統組播技術中,PIM路由表項的出接口只能是物理口,這個特點決定 了在網絡拓樸發生改變時,組播流量收斂將會比較慢,同時由於缺乏帶寬保 證,在骨幹網絡業務繁忙的情況下很難為組播業務提供穩定的服務質量。
傳統組播技術中,PIM路由表項的出接口只能是物理口,而物理口所在 的普通IP路由缺乏快速保護機制,這樣在網絡拓樸發生改變時,組播流量收 斂將會比較慢,同時由於缺乏帶寬保證,在骨幹網絡業務繁忙的情況下很難 為組播業務提供穩定的服務質量。
發明內容
本發明實施例的目的在於提供一種實現組播的方法、路由器及系統,提 高組播業務的服務質量。
本發明實施例提供實現組播的方法,下遊路由器與上遊路由器之間有流 量工程TE隧道,該方法包括
通過物理接口接收下遊路由器為組播組G向所述上遊路由器發送的Join 消息,所述Join消息包含所述下遊5^由器的環回口 loop-back地址;
將所述物理接口加入所述組播組G的出接口列表,才艮據所述loop-back地 址和所述物理才妻口查找匹配的TE隧道;
用所述匹配的TE隧道口替換所述出接口列表中的物理接口 ,得到新出接 口列表,根據所述新出接口列表,將組播報文通過所述匹配的TE隧道發送給 所述下遊路由器。
本發明實施例還提供一種實現組播的上遊路由器,所述上遊路由器和下 遊路由器之間有流量工程TE隧道,所述上遊路由器包括
接收單元,用於接收所述下遊路由器為組播組G發送的Join消息,所述 Join消息包含所述下遊路由器的環回口 loop-back地址;
路由單元,用於將所述接收單元中接收所述Join消息的物理接口加入所 述組播組G的出接口列表;
查找單元,用於才艮據所述"t妻收單元接收的Join消息中的loop-back地址和 所述物理接口查找匹配的TE隧道;並用匹配的TE隧道口替換所述路由單元中的出接口列表中的物理接口 ,得到新出接口列表;
發送單元,用於根據所述路由單元中新出接口列表,將所述接收單元接 收的組播報文通過匹配的TE隧道發送給所述下遊路由器。
本發明實施例還提供一種實現組播的下遊路由器,所述下遊路由器和上 遊路由器之間有流量工程TE隧道,所述下遊路由器包括
消息單元,用於為組播組G生成Join消息,所述Join消息包含所述下遊 路由器的環回口 lo叩-back地址;
發送單元,用於向所述上遊路由器發送所述消息單元生成的Join消息;
接收單元,用於接收所述上遊路由器通過匹配的TE隧道發送的組播報 文,所述匹配的TE隧道由所述上遊^各由器將接收Join消息的物理接口加入所 述組播組G的出接口列表,並根據所述loop-back地址和所述物理接口查找得 到;所述組播l艮文由所述上遊路由器用所述匹配的TE隧道口替換所述出接口 列表中的物理接口,得到新出接口列表,並根據所述新出接口列表,通過所 述匹配的TE隧道發送。
本發明實施例還提供一種實現組播的系統,包括上遊路由器和下遊路 由器,所述下遊路由器與上遊路由器之間有流量工程TE隧道,其中,
所述下遊路由器,用於為組播組G向所述上遊路由器發送加入Join消息, 所述Join消息包含所述下遊路由器的環回口 loop-back地址;
所述上遊路由器,用於通過物理接口收到所述Join消息;將所述物理接 口加入所述組播組G的出接口列表;根據所述loop-back地址和所述物理接口 查找匹配的TE隧道;用匹配的TE隧道口替換所述出接口列表中的物理接口 , 得到新出接口列表,並根據所述新出接口列表,將組播報文通過所述匹配的 TE隧道發送給所述下遊路由器。
本發明實施例通過Join消息找到匹配的TE隧道,用TE隧道口代替上遊 路由器的出接口列表中的物理出接口 ,使得組播轉發能利用TE隧道的故障保 護、資源預留、隧道封裝等特點,提高組播業務的服務質量。
圖1所示為本發明實施例一中實現組播方法的流程示意圖2所示為本發明實施例二中實現組播系統的結構示意圖3所示為本發明實施例三中實現組播的上遊路由器的結構示意圖4所示為本發明實施例四中實現組播的下遊路由器的結構示意圖。
具體實施例方式
下面結合附圖對本發明實施例的具體實施方式
做進一步的詳細闡述。 實施例一, 一種實現組播的方法,下遊路由器與上遊路由器之間有流量 工程TE隧道,TE隧道是一種基於受限標籤交換路徑(CR-LSP)的單向隧道封 裝技術,多協議標籤分發協議(MPLS)TE在建立LSP隧道的過程中,可以預 留資源,保證服務質量;為了保證服務的連續性,MPLSTE還引入路徑備份 和快速重路由的機制,可以在鏈路出現問題時及時進行切換。 參見圖1,該方法包括
101、下遊路由器為組播組G向上遊路由器發送加入Join消息,Join消息 包含下遊路由器的環回口 loop-back地址。 目前Join消息中包括
1個經過編碼的上遊鄰居;也址Upstream Neighbor Address ;
m個經過編碼的組播組地址Multicast group address (其中,m為自然數);
每個組糹番組地址後又跟隨
n個經過編碼的要求加入的源地址Joined Source Address;以及n個經過 編碼要求剪枝的源地址Pruned Source Address (其中,n為自然數)。
本實施例中,針對目前Join消息格式,可以通過以下方式在Join消息中 包含下遊路由器的loop-back地址
Join消息附加一個多#番組Multicast Group欄位;該Multicast Group字,殳 後跟隨一個經過編碼的要求加入的源地址Joined Source Address和一個經過編 碼要求剪枝的源地址Pruned Source Address; Joined Source Address中包含下 遊^各由器的loop-back地址;Pruned Source Address包含多^番組字,爻的標識, 這個多#"組字#1的標識用於表示該Join消息中包含了下遊^各由器的loop-back
10地址,可以採用目前組播協議中尚未定義的值,例如Pruned Source Address 所有的字節都設為零。
和本實施例Join消息中Upstream Neighbor Address所不同的地址族Address family。對於支持本實施例中實現組4番方法的上遊路由器,可以直4妄從該 Multicast Group欄位中的Joined Source Address獲得loop-back地址;對於不
支持本實施例中實現組播方法的上遊路由器,根據目前組播協議規定,當某 個Multicast Group或Joined Source Address的Address family和Upstream neighbor address的相應字l殳不同時,該上遊^各由器會忽略該Multicast Group 欄位,因此採用本實施例實現組播的方法可以兼容目前的路由器,實現與目 前技術的良好互通。
102、 上遊路由器通過物理接口收到Join消息。
103、 上遊路由器將物理接口加入組播組G表項的出接口列表。
104、 才艮據loop-back地址和物理接口查找匹配的TE隧道。 匹配的原則是,如果某條TE隧道的目的地址和出接口分別與Join消息包
含的loop-back地址和物理接口相同,則認為匹配成功,即查找匹配的TE隧 道可以包4舌
條件1 、是否有目的地址與loop-back地址相同的TE隧道; 條件2、查找是否有出接口與物理接口相同的TE隧道; 同時滿足條件1和條件2的TE隧道則為匹配的TE隧道。
105、 用匹配的TE隧道口替換出接口列表中的物理接口,得到新的出接 口列表。
進一步的,該方法還可以包括
106、 上遊路由器接收組播報文。
107、 上遊路由器根據新的出接口列表,將組播報文通過匹配的TE隧道 發送給下遊路由器。
進一步的,該方法還可以建立標籤與埠 (第一接口 )的映射關係包括
108、 下遊^各由器查找第一接口 ,該第一接口為匹配的TE隧道源地址在單播路由表中的出接口;單播路由表在下遊路由器上。
109、 下遊路由器建立組播報文的標籤與第一接口的映射關係。 進一步的,該方法還可以包括
110、 下遊路由器判斷接收的組糹番淨艮文類型。
111、 當組播報文為網際網路協議IP報文時,下遊路由器進行IP報文的反 向路徑轉發檢查,即下遊路由器檢查第二接口與第三接口是否一致,如果一 致,則組播報文通過反向路徑轉發檢查;如果不一致,則丟棄組播報文;其 中,第二接口為下遊路由器中接收組播報文的接口,第三接口為下遊路由器 的單播路由表中與組播報文源地址對應的出接口 ;
當組播報文為MPLS報文時,下遊路由器進行MPLS才艮文的反向^各徑轉 發檢查,由於匹配的TE隧道包括主隧道和保護隧道,那麼組播報文可能會通 過主隧道或者保護隧道到達下遊路由器,下遊路由器接收組播報文的埠可 能有多個,那麼隧道轉發路徑和反向單播路由的路徑不一致,可能導致反向 路徑轉發^r查無法通過,針對此情況,本實施例通過步驟108、 109建立了組 播報文的標籤與第一接口的映射關係,使得組播報文為MPLS報文時,也能 進行反向路徑轉發檢查,具體的檢查方法如下
由於MPLS報文有一個特點,無論MPLS報文是從主隧道還是保護隧道 發送,到達目的地址時MPLS報文包含的標籤都相同;因此,當組播報文為 多協議標籤分發協議MPLS報文時,下遊路由器根據組播報文的標籤查找映 射關係,得到對應的第一接口;下遊路由器檢查第一接口與第四接口是否一 致,如果一致,則組播報文通過反向路徑轉發檢查;如果不一致,則丟棄組 播報文;其中,第四接口為下遊路由器的單播路由表中與組播報文源地址對 應的出4妄口 。
採用以上方式實現組播,當組播報文為MPLS報文時,有一個前提,即 TE隧道中的路由器進行MPLS標籤分發時不能採用倒數第二跳彈出的方式。 所謂倒數第二跳彈出的方式為,根據目前MPLS傳輸協議的規定,當MPLS 報文傳到倒數第二個路由器時,為了減少最後一個路由器的工作,由倒數第 二個路由器去掉該MPLS報文的MPLS標籤。如果採用倒數第二跳彈出的方式,TE隧道中還包括其他保護路徑時,下遊路由器從第四接口以外的接口收 到的組播"t艮文已經去掉了 MPLS標籤,就無法實現映射關係的查找,也就無 法進行反向路徑轉發檢查,所以,本實施例中,約定當組播報文為MPLS報 文時,不採用倒數第二跳彈出的方式。
採用本實施例的技術方案,使得組播報文可以通過TE隧道轉發,由於 TE隧道應用了封裝技術,隧道的中間節點不需要保留組播轉發表,中間路由 器甚至可以不用支持組播協議,可以實現跨組播域的報文轉發。
另外,組播報文為MPLS報文時,由於組播報文被封裝在MPLS報文內, 中間路由器無法識別內容,保證了組播內容的安全性。
同時,TE隧道具有很豐富的故障保護機制,如快速重路由、備份lsp、隧 道保護組等,在主用路徑發生故障時能快速感知,切換到備用路徑,這個過 程對外界是透明的,所以能保證在路徑故障時組播路由不需要重新收斂,組 播流量不中斷。
同樣,TE隧道的帶寬保證、差分服務也為組播業務的質量提供了很好的 保證。
進一步的,通過建立標籤與埠的映射關係,使MPLS報文能通過組播 反向路徑轉發檢查,保證組播業務的連續性。
實施例二,本實施例為實現實施例一中方法的主體, 一種實現組^燔的系 統,參見圖2,包括上遊路由器201和下遊路由器202,下遊路由器與上遊 路由器之間有流量工程TE隧道,其中,
下遊路由器202,用於為組播組G向上遊路由器發送加入Join消息,Join 消息包含下遊^各由器的環回口 loop-back地址;
上遊^各由器201,用於通過物理接口收到Join消息;將物理4妻口加入組 播組G的出接口列表;根據loop-back地址和物理接口查找匹配的TE隧道; 用匹配的TE隧道口替換出接口列表中的物理接口,得到新出接口列表,並根 據新出接口列表,將組播報文通過匹配的TE隧道發送給下遊路由器。
進一步的,下遊^^由器202可以包括
消息單元202-1 ,用於為組播組G生成Join消息;發送單元202-2,用於向上遊路由器201發送消息單元生成的Join消息。
進一步的,上遊路由器201可以包括
接收單元201-1 ,用於接收Join消息和/或組播報文;
路由單元201-2,用於將接收單元201-1中接收Join消息的物理接口加入 組播組G的出接口列表;
查找單元201-3,用於根據接收單元201-1接收的Join消息中的loop-back 地址和物理4妄口查找匹配的TE隧道;並用匹配的TE隧道口替換路由單元 201-2中的出接口列表中的物理接口,得到新出接口列表;
發送單元201-4,用於根據路由單元201-2中新出接口列表,將接收單元 201-1接收的組播才艮文通過匹配的TE隧道發送給下遊^^由器202。
進一步的,下遊路由器202還可以包括
映射單元202-3,用於查找匹配的TE隧道源地址在單播路由表中的出接 口,得到第一接口;單播路由表在下遊路由器上;並建立組播^t艮文的標籤與 第一接口的映射關係。
進一步的,下遊路由器202還可以包括 接收單元202-4,用於接收來自上遊路由器201的組播報文; 判斷單元202-5,用於判斷接收單元202-4接收的組播報文的類型; 檢查單元202-6,用於當判斷單元202-5判斷組播報文為網際網路協議IP報 文時,檢查第二接口與第三接口是否一致,如果一致,則組播報文通過反向 路徑轉發檢查;如果不一致,則丟棄組播報文;其中,第二接口為下遊路由 器中接收組播報文的接口 ,第三接口為下遊路由器的單播路由表中與組播報 文對應的出接口 ;此情況在圖2中未示出;
當判斷單元202-5判斷組播報文為多協議標籤分發協議MPLS報文時, 根據組播報文的標籤查找映射單元202-3中的映射關係,得到對應的第一接 口;檢查第一接口與第四接口是否一致,如果一致,則組播報文通過反向路 徑轉發檢查;如果不一致,則丟棄組播報文;其中,第四接口為下遊路由器 的單播路由表中與組播報文源地址對應的出接口 。實施例三,是實施例二中實現組播的上遊路由器,上遊路由器和下遊路
由器之間有流量工程TE隧道,參見圖3,上遊路由器包括
接收單元301,用於接收下遊路由器為組播組G發送的Join消息,Join 消息包含下遊;洛由器的環回口 loop-back地址;
路由單元302,用於將接收單元301中接收Join消息的物理接口加入組 播組G的出接口列表;
查找單元303,用於根據接收單元301接收的Join消息中的loop-back地 址和物理接口查找匹配的TE隧道;並用匹配的TE隧道口替換路由單元302 中的出接口列表中的物理接口 ,得到新出接口列表;
發送單元304,用於根據路由單元302中新出接口列表,將接收單元301 接收的組播報文通過匹配的TE隧道發送給下遊路由器。
實施例四,是實施例二中實現組播的下遊路由器,下遊路由器和上遊路 由器之間有流量工程TE隧道,參見圖4,下遊路由器包括
消息單元401,用於為組l番組G生成Join消息,Join消息包含下遊^各由 器的環回口 loop-back地址;
發送單元402,用於向上遊路由器發送消息單元401生成的Join消息;
接收單元403,用於接收上遊路由器通過匹配的TE隧道發送的組播報文, 匹配的TE隧道由上遊路由器將接收Join消息的物理接口加入組播組G的出 接口列表,並根據loop-back地址和物理接口查找得到;組播報文由上遊路由 器用匹配的TE隧道口替換出接口列表中的物理接口,得到新出接口列表,並 根據新出接口列表,通過匹配的TE隧道發送。
進一步的,所述下遊路由器還可以包括
映射單元404,用於查找所述匹配的TE隧道源地址在單播路由表中的出 接口,得到第一接口;所述單播路由表在所述下遊路由器上;並建立所述組 播報文的標籤與所述第一接口的映射關係。
進一步的,所述下遊3各由器還可以包括
判斷單元405,用於判斷接收單元403接收的組播報文的類型;檢查單元406,用於當判斷單元403判斷組播報文為網際網路協議IP報文 時,檢查第二接口與第三接口是否一致,如果一致,則所述組播報文通過反 向路徑轉發檢查;如果不一致,則丟棄所述組播報文;其中,所述第二接口 為所述下遊路由器中接收所述組播報文的接口 ,所述第三接口為所述下遊路 由器的單播路由表中與所述組播報文對應的出接口 ;
當所述判斷單元判斷組播報文為多協議標籤分發協議MPLS報文時,根 據所述組播報文的標籤查找所述映射單元中的映射關係,得到對應的第一接 口;檢查所述第一接口與第四接口是否一致,如果一致,則所述組播報文通 過反向路徑轉發檢查;如果不一致,則丟棄所述組播報文;其中,所述第四 接口為所述下遊路由器的單播路由表中與所述組播報文源地址對應的出接 d 。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發 明可藉助軟體加必需的硬體平臺的方式來實現,當然也可以全部通過硬體來 實施。基於這樣的理解,本發明的技術方案對背景技術做出貢獻的全部或者 部分可以以軟體產品的形式體現出來,該計算機軟體產品可以存儲在存儲介 質中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一臺計算機設 備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例 或者實施例的某些部分所述的方法。
以上所述僅是本發明的具體實施方式
,應當指出,對於本技術領域的普 通技術人員來說,在不脫離本發明原理的前提下,還可以作出若干改進和潤 飾,這些改進和潤飾也應視為本發明的保護範圍。
權利要求
1、一種實現組播的方法,下遊路由器與上遊路由器之間有流量工程TE隧道,其特徵在於,該方法包括通過物理接口接收下遊路由器為組播組G向所述上遊路由器發送的Join消息,所述Join消息包含所述下遊路由器的環回口loop-back地址;將所述物理接口加入所述組播組G的出接口列表,根據所述loop-back地址和所述物理接口查找匹配的TE隧道;用所述匹配的TE隧道口替換所述出接口列表中的物理接口,得到新出接口列表,根據所述新出接口列表,將組播報文通過所述匹配的TE隧道發送給所述下遊路由器。
2、 根據權利要求1所述的方法,其特徵在於,所述Join消息包含所述下 遊路由器的環回口 loop-back地址包括所述Join消息附加多播組字4殳;所述多播組欄位包括經過編碼的要求加入的源地址Joined Source Address 和經過編碼要求剪枝的源地址Pruned Source Address;所述Joined Source Address中包含所述下遊路由器的loop-back地址;所 述Pruned Source Address包含所述多播組字l殳的標識。
3、 根據權利要求2所述的方法,其特徵在於,所述多播組欄位還包括地 址族Address family和組^番經過編碼的上遊鄰居地址Upstream neighbor address, 所述Address family和所述Upstream neighbor address的<直不同。
4、 根據權利要求1所述的方法,其特徵在於,所述根據所述loop-back 地址和所述物理^接口查找匹配的TE隧道包i舌查找是否有目的地址與所述loop-back地址相同的TE隧道; 查找是否有出接口與所述物理接口相同的TE隧道; 滿足目的地址與所述loop-back地址相同和出接口與所述物理接口相同的 TE隧道的是匹配的TE隧道。
5、 根據權利要求1所述的方法,其特徵在於,該方法還包括 所述下遊路由器查找所述匹配的TE隧道源地址在單播路由表中的出接口,得到第一接口;所述單播路由表在所述下遊路由器上;所述下遊路由器建立所述組播報文的標籤與所述第 一接口的映射關係。
6、 根據權利要求5所述的方法,其特徵在於,該方法還包括 所述下遊路由器判斷接收的組播報文類型;當所述組播報文為網際網路協議IP報文時,所述下遊路由器檢查第二接口 與第三接口是否一致,如果一致,則所述組播報文通過反向路徑轉發^r查; 其中,所述第二接口為所述下遊路由器中接收所述組播報文的接口,所述第 三接口為所述下遊路由器的單播路由表中與所述組播報文對應的出接口 ;當所述組播報文為多協議標籤分發協議MPLS報文時,所述下遊路由器 根據所述組播報文的標籤查找所述映射關係;所述下遊路由器檢查第一接口 與第四接口是否一致,如果一致,則所述組播報文通過反向路徑轉發檢查; 其中,所述第四接口為所述下遊路由器的單播路由表中與所述組播報文對應 的出接口 ;所述匹配的TE隧道包括主隧道和保護隧道。
7、 一種實現組播的上遊路由器,其特徵在於,所述上遊路由器和下遊路 由器之間有流量工程TE隧道,所述上遊路由器包括接收單元,用於接收所述下遊路由器為組播組G發送的Join消息,所述 Join消息包含所述下遊路由器的環回口 loop-back地址;路由單元,用於將所述接收單元中接收所述Join消息的物理接口加入所 述組播組G的出接口列表;查找單元,用於根據所述接收單元接收的Join消息中的loop-back地址和 所述物理4妻口查找匹配的TE隧道;並用匹配的TE隧道口替換所述路由單元 中的出接口列表中的物理接口 ,得到新出接口列表;發送單元,用於根據所述路由單元中新出接口列表,將所述接收單元接 收的組播報文通過匹配的TE隧道發送給所述下遊路由器。
8、 一種實現組播的下遊路由器,其特徵在於,所述下遊路由器和上遊路 由器之間有流量工程TE隧道,所述下遊路由器包括消息單元,用於為組播組G生成Join消息,所述Join消息包含所述下遊 路由器的環回口 loop-back地址;發送單元,用於向所述上遊路由器發送所述消息單元生成的Join消息;接收單元,用於接收所述上遊路由器通過匹配的TE隧道發送的組播報 文,所述匹配的TE隧道由所述上遊路由器將接收Join消息的物理接口加入所 述組播組G的出接口列表,並根據所述loop-back地址和所述物理接口查找得 到;所述組播報文由所述上遊路由器用所述匹配的TE隧道口替換所述出接口 列表中的物理接口,得到新出接口列表,並根據所述新出接口列表,通過所 述匹配的TE隧道發送。
9、 根據權利要求8所述的下遊路由器,其特徵在於,所述下遊路由器還 包括映射單元,用於查找所述匹配的TE隧道源地址在單播路由表中的出接 口,得到第一接口;所述單播路由表在所述下遊路由器上;並建立所述組播 報文的標籤與所述第 一接口的映射關係。
10、 根據權利要求9所述的下遊路由器,其特徵在於,所述下遊路由器 還包括判斷單元,用於判斷所述接收單元接收的組播報文的類型; 檢查單元,用於當所述判斷單元判斷組播報文為網際網路協議IP報文時, 檢查第二接口與第三接口是否一致,如果一致,則所述組播寺艮文通過反向路 徑轉發檢查;如果不一致,則丟棄所述組播報文;其中,所述第二接口為所 述下遊路由器中接收所述組播報文的接口 ,所述第三接口為所述下遊路由器 的單播路由表中與所述組播報文對應的出接口 ;當所述判斷單元判斷組播報文為多協議標籤分發協議MPLS報文時,根 據所述組播^R文的標籤查找所述映射單元中的映射關係,得到對應的第一接 口;檢查所述第一接口與第四接口是否一致,如果一致,則所述組播報文通 過反向路徑轉發檢查;如果不一致,則丟棄所述組播報文;其中,所述第四 接口為所述下遊路由器的單播路由表中與所述組播報文源地址對應的出接 。
11、 一種實現組播的系統,其特徵在於,包括上遊路由器和下遊路由 器,所述下遊路由器與上遊路由器之間有流量工程TE隧道,其中,所述下遊路由器,用於為組播組G向所述上遊路由器發送加入Join消息,所述Join消息包含所述下遊路由器的環回口 loop-back地址;所述上遊路由器,用於通過物理接口收到所述Join消息;將所述物理接 口加入所述組播組G的出接口列表;根據所述loop-back地址和所述物理接口 查找匹配的TE隧道;用匹配的TE隧道口替換所述出接口列表中的物理接口 , 得到新出接口列表,並根據所述新出接口列表,將組播^J:通過所述匹配的 TE隧道發送給所述下遊路由器。
12、 根據權利要求11所述的系統,其特徵在於,所述下遊路由器包括 消息單元,用於為組^燔組G生成Join消息;發送單元,用於向所述上遊路由器發送所述消息單元生成的Join消息。
13、 根據權利要求11或12所述的系統,其特徵在於,所述上遊路由器 包括接收單元,用於接收所述Join消息和/或組播才艮文;路由單元,用於將所述接收單元中接收所述Join消息的物理接口加入所 述組播組G的出接口列表;查找單元,用於才艮據所述接收單元接收的Join消息中的loop-back地址和 所述物理接口查找匹配的TE隧道;並用匹配的TE隧道口替換所述路由單元 中的出接口列表中的物理接口 ,得到新出接口列表;發送單元,用於根據所述路由單元中新出接口列表,將所述接收單元接 收的組播報文通過匹配的TE隧道發送給所述下遊路由器。
14、 根據權利要求13所述的系統,其特徵在於,所述下遊路由器還包括 映射單元,用於查找所述匹配的TE隧道源地址在單播路由表中的出接口,得到第一接口;所述單播路由表在所述下遊路由器上;並建立所述組播 報文的標籤與所述第一接口的映射關係。
15、 根據權利要求14所述的系統,其特徵在於,所述下遊路由器還包括 接收單元,用於接收來自所述上遊路由器的組播報文;判斷單元,用於判斷所述接收單元接收的組播報文的類型; 檢查單元,用於當所述判斷單元判斷組播報文為網際網路協議IP報文時, 檢查第二接口與第三接口是否一致,如果一致,則所述組播報文通過反向路徑轉發檢查;其中,所述第二接口為所述下遊路由器中接收所述組播報文的 接口 ,所述第三接口為所述下遊路由器的單播路由表中與所述組播報文對應 的出接口;當所述判斷單元判斷組播報文為多協議標籤分發協議MPLS報文時,根 據所述組播報文的標籤查找所述映射單元中的映射關係,得到對應的第一接 口;檢查所述第一接口與第四接口是否一致,如果一致,則所述組播報文通 過反向路徑轉發檢查;其中,所述第四接口為所述下遊路由器的單播路由表 中與所述組播報文源地址對應的出接口 。
全文摘要
本發明實施例公開了實現組播的方法,該方法包括通過物理接口接收Join消息,Join消息包含所述下遊路由器的環回口loop-back地址;將物理接口加入組播組G的出接口列表,根據loop-back地址和物理接口查找匹配的TE隧道;用匹配的TE隧道口替換所述出接口列表中的物理接口,得到新出接口列表,根據新出接口列表,將組播報文通過匹配的TE隧道發送給下遊路由器。及實現組播的上遊路由器、下遊路由器和系統,通過Join消息找到匹配的TE隧道,用TE隧道口代替上遊路由器的出接口列表中的物理出接口,使得組播轉發能利用TE隧道的故障保護、資源預留、隧道封裝等特點,提高組播業務的服務質量。
文檔編號H04L12/56GK101599841SQ20081008593
公開日2009年12月9日 申請日期2008年6月3日 優先權日2008年6月3日
發明者敏 彭 申請人:華為技術有限公司