專利名稱:一種組播虛擬私有網(wǎng)絡的外聯(lián)網(wǎng)組網(wǎng)方法、系統(tǒng)和裝置的制作方法
技術領域:
本發(fā)明涉及通信技術領域,特別是涉及一種組播虛擬私有網(wǎng)絡的外聯(lián)網(wǎng) 組網(wǎng)方法、系統(tǒng)和裝置。
背景技術:
IP (Internet Protocol,網(wǎng)際協(xié)議)組播是指在IP網(wǎng)絡中將數(shù)據(jù)包以盡力 傳送(best-effort)的形式發(fā)送到網(wǎng)絡中的某個確定的節(jié)點子集,該節(jié)點子集 稱為組播組(multicast group )。源主機只發(fā)送一份數(shù)據(jù),該份數(shù)據(jù)中的目的地 址為組播組地址,組播組中的所有接收者都可接收到同樣的數(shù)據(jù)拷貝,并且 只有組播組內(nèi)的主機可以接收該數(shù)據(jù),組播組外的其他主機不能收到該數(shù)據(jù)。
VPN( Virtual Private Network,虛擬私有網(wǎng)絡)是依靠ISP (Internet Service Provider,因特網(wǎng)服務提供商)和NSP (Network Service Provider,網(wǎng)絡服務 提供商)在公共網(wǎng)絡中建立的虛擬專用通信網(wǎng)絡,可以將現(xiàn)有的IP網(wǎng)絡分解 成邏輯上隔離的網(wǎng)絡。
VPN由CE (Customer Edge ,用戶網(wǎng)絡邊緣設備)、PE (Provider Edge, 服務提供商網(wǎng)絡邊緣設備)和P (Provider,服務提供商網(wǎng)絡骨干路由器)組 成,CE直接與SP (Service Provider,服務提供商)網(wǎng)絡相連,專屬于某一 VPN,只為專屬的VPN服務,僅維護一套轉發(fā)機制,可以為路由器或交換機, 也可以為一臺主機;PE與CE直接相連,同時接入公網(wǎng)和VPN網(wǎng)絡,同時為 多個VPN服務;P不與CE直接相連。PE和P僅由SP管理,CE僅由用戶管 理,除非用戶把管理權委托給SP。 一臺PE可以接入多臺CE, 一臺CE也可 以連接屬于相同或不同服務提供商的多臺PE。PE上必須嚴格區(qū)分各個網(wǎng)絡的 信息,并為各個網(wǎng)絡獨立維護一套轉發(fā)機制。PE上為同一網(wǎng)絡服務的一套軟 硬件設施統(tǒng)稱為 一個實例,PE上可以同時存在多個實例,同 一 實例可以分布 在多個PE上。
5組播VPN方案需要在SP骨干網(wǎng)(核心網(wǎng)絡或公網(wǎng))中支持組播功能,
將私網(wǎng)實例中的組播數(shù)據(jù)和控制報文透過公網(wǎng)傳遞到VPN的遠端站點。PE 路由器上在VPN實例中運行的組播實例稱之為私網(wǎng)組播實例,PE路由器的 公網(wǎng)部分運行的組播實例稱之為公網(wǎng)組播實例。公網(wǎng)組播實例不需要了解私 網(wǎng)中傳遞的組播數(shù)據(jù),私網(wǎng)組播實例也不需要了解公網(wǎng)實例中的組播路由信 息,各個私網(wǎng)組播實例之間相互隔離。
如果VPN用戶需要接收其他VPN用戶的組播數(shù)據(jù),可以使用組播VPN 外聯(lián)網(wǎng)extranet組網(wǎng)方案。該組網(wǎng)方案可以是源PE配置接收者VPN組播實例, 并在新配置的接收者VPN組播實例中添加接收者VPN的共享組Share-Group 地址,建立新配置的接收者VPN組播實例到原接收者VPN組播實例的組播 隧道,原接收者VPN組播實例和新配置的接收者VPN組播實例可以使用內(nèi) 聯(lián)網(wǎng)intranet方式通信;而在源PE設備上,新配置的接收者VPN組播實例和 源VPN組播實例通過本地交叉方式實現(xiàn)extmnet,即通過同 一設備上不同VPN 組播實例之間的內(nèi)部消息進行通信,以完成PIM (Protocol Independent Multicast,協(xié)議無關組播協(xié)議)報文和組播數(shù)據(jù)報文的傳遞?,F(xiàn)有技術中的組 網(wǎng)方案也可以是接收者PE配置源VPN組播實例,并在新配置的源VPN組播 實例中添加原源VPN的Share-Group地址,建立新配置的源VPN組播實例到 原源VPN組播實例的組播隧道,新配置的源VPN組I番實例和原源VPN組4番 實例可以使用intranet方式通信;而在接收者PE設備上,新配置源的VPN組 播實例和接收者VPN組播實例通過本地交叉方式實現(xiàn)extranet,即通過同一 設備上不同VPN組播實例之間的內(nèi)部消息進行通信,以完成PIM協(xié)議報文和 組播數(shù)據(jù)報文的傳遞。
發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術至少存在如下問題 現(xiàn)有技術中,無論是源PE配置接收者VPN組播實例,還是接收者PE配 置源VPN組播實例,都是使用本地私網(wǎng)交叉實現(xiàn)組播VPNextranet,遠端VPN 站點的組播流仍然使用同一 VPN的組播隧道。如果接收者VPN組播實例需 要從多個不同的源VPN接收組播數(shù)據(jù),則接收者PE都要額外配置多個源VPN 組播實例,而接收者PE可能并沒有上述VPN實例的業(yè)務,對接收者PE路由器的系統(tǒng)資源占用過大。源PE配置接收者VPN組播實例存在同樣的問題。
另夕卜,如果源VPN組播實例的組播流存在多個遠端PE的VPN組播實例需要接收,由于每個接收者VPN都要通過自身的組播隧道傳遞組播流,公網(wǎng)會在多個接收者VPN的Share-Group組播分發(fā)樹中封裝復制,同時對一份組播數(shù)據(jù)轉發(fā)多份流量,增加了網(wǎng)絡負載。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種組播虛擬私有網(wǎng)絡的外聯(lián)網(wǎng)組網(wǎng)方法、系統(tǒng)和裝置,減輕了網(wǎng)絡負載。
本發(fā)明實施例提出 一種組播虛擬私有網(wǎng)絡VPN的外聯(lián)網(wǎng)組網(wǎng)方法,包括
根據(jù)添加的源VPN的共享組Share-Group地址,建立到所述源VPN組播實例的組播隧道,以及與所述組播隧道相連的組播隧道4妄口 ;
向所述組播隧道接口發(fā)送封裝后的協(xié)議無關組播PIM協(xié)議報文,在公網(wǎng)中轉發(fā)所述封裝后的PIM協(xié)議報文,并使所述源VPN組播實例根據(jù)所述封裝后的PIM協(xié)議報文生成源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文;
解封裝接收到的所述源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文,獲取來自所述源VPN組播實例的組播數(shù)據(jù)。
本發(fā)明實施例還提出一種組播VPN的外聯(lián)網(wǎng)組網(wǎng)系統(tǒng),包括源VPN和接收者VPN,其中
所述接收者VPN,用于根據(jù)添加的源VPN的共享組Share-Group地址,建立到所述源VPN組播實例的組播隧道,以及與所述組^"隧道相連的組播隧道接口,向所述組播隧道接口發(fā)送封裝后的協(xié)議無關組播PIM協(xié)議報文,在公網(wǎng)中轉發(fā)所述封裝后的PIM協(xié)議報文,并使所述源VPN組播實例根據(jù)所述封裝后的PIM協(xié)議報文生成源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文,并解封裝接收到的所述源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文,獲取來自所述源VPN組播實例的組播數(shù)據(jù)。
本發(fā)明實施例還提出一種接收者VPN組播實例,包括
建立模塊,用于根據(jù)添加的源VPN的Share-Group地址,建立到所述源
7VPN組播實例的組播隧道,以及與所述組播隧道相連的組播隧道接口 ;
發(fā)送模塊,用于向所述建立模塊建立的所述組播隧道接口發(fā)送封裝后的
PIM協(xié)議報文,在公網(wǎng)中轉發(fā)所述封裝后的PIM協(xié)議報文,并使所述源VPN組播實例根據(jù)所述封裝后的PIM協(xié)議報文生成源VPN的Share-Group的公網(wǎng)
組播數(shù)據(jù)報文;
獲取模塊,用于解封裝接收到的所述源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文,獲取來自所述源VPN組播實例的組播數(shù)據(jù)。
本發(fā)明實施例的技術方案具有以下優(yōu)點,因為在接收者VPN組播實例中添加源VPN的Share-Group地址,建立接收者VPN組播實例到源VPN組播實例的組播隧道,從而,減少了對路由器系統(tǒng)資源的占用,減輕了網(wǎng)絡負載。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例中的 一種組播VPN的外聯(lián)網(wǎng)組網(wǎng)方法流程圖;圖2為本發(fā)明實施例中的另 一種組播VPN的外聯(lián)網(wǎng)組網(wǎng)方法流程圖;圖3為本發(fā)明實施例中的外聯(lián)網(wǎng)組網(wǎng)方法的組網(wǎng)示意圖;圖4為本發(fā)明實施例中的又一種組播VPN的外聯(lián)網(wǎng)組網(wǎng)方法流程圖;圖5為本發(fā)明實施例中的 一種接收者VPN組播實例結構示意圖;圖6為本發(fā)明實施例中的另 一種接收者VPN組播實例結構示意圖。
具體實施例方式
本發(fā)明實施例不另外配置VPN實例,通過在接收者VPN組播實例中添加源VPN的Share-Group地址,使接收者VPN的PIM協(xié)議報文可以到達遠端源VPN,源VPN的組播數(shù)據(jù)報文也可以到達遠端接收者VPN。
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通4支術人員在沒有作出創(chuàng)
造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,為本發(fā)明實施例中的一種組播VPN的外聯(lián)網(wǎng)組網(wǎng)方法流程圖,包括以下步驟
步驟101,根據(jù)添加的源VPN的Share-Group地址,建立到源VPN組播實例的組播隧道,以及與組播隧道相連的組播隧道接口 。
本發(fā)明實施例中,提供組播數(shù)據(jù)源的VPN實例稱為源VPN組播實例,源VPN組播實例所在的PE路由器稱為源PE;需要接收組播數(shù)據(jù)的VPN實例稱為接收者VPN組播實例,與源VPN組播實例不在同 一個VPN,接收者VPN組播實例所在的PE路由器稱為接收者PE。在源PE側的源VPN組播實例中添加源VPN的Share-Group地址后,在接收者VPN組播實例中也添加到源VPN的Share-Group地址,建立接收者VPN組播實例到源VPN組播實例的組播隧道,以及與組播隧道相連的組播隧道接口 。
接收者VPN組播實例添加源VPN的共享組Share-Group地址后,指定源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍。當接收者VPN組播實例和源VPN組播實例均運行PIM SM (Parse Mode,稀疏模式)時,上述指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍為私網(wǎng)組地址范圍;當接收者VPN組播實例和源VPN組播實例均運行PIM SSM ( Source Specific Multicast,特定源組播)時,上述指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍為私網(wǎng)源組地址范圍。本發(fā)明實施例可以使用(Share-Group,私網(wǎng)組地址/掩碼)、[Share-Group,(私網(wǎng)源地址/掩碼,私網(wǎng)組地址/掩碼)]和[Share-Group,(離散的組地址集合)〗等形式,指定不同源VPN extranet組播數(shù)據(jù)的轉發(fā)范圍。
步驟102,向組播隧道接口發(fā)送封裝后的PIM協(xié)議報文,在公網(wǎng)中轉發(fā)封裝后的PIM協(xié)議報文,并使源VPN組播實例根據(jù)封裝后的PIM協(xié)議報文生成源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文。
在接收者VPN組播實例向遠端PE發(fā)送封裝后的PIM協(xié)議報文之前,需要先根據(jù)私網(wǎng)組地址或源組地址確定發(fā)送封裝后的PIM協(xié)議^^艮文的組播隧道
9接口,并按照組播隧道接口對應的Share-Gi'o叩,將接收者VPN組播實例的PIM協(xié)+義才艮文封裝為該Share-Group的封裝后的PIM十辦i義寺艮文,通過^〉網(wǎng)組播實例將封裝后的PIM協(xié)議報文在公網(wǎng)中進行轉發(fā)。源VPN組播實例對公網(wǎng)中轉發(fā)的封裝后的PIM協(xié)議報文進行解封裝,獲取接收者VPN組播實例的PIM協(xié)議報文,在源VPN組播實例獲取到接收者VPN組播實例的PIM協(xié)議報文之后,該源VPN組播實例將根據(jù)該PIM協(xié)議報文封裝該源VPN的組播數(shù)據(jù),并通過公網(wǎng)將該封裝了源VPN組播數(shù)據(jù)的公網(wǎng)組播數(shù)據(jù)報文發(fā)送給接收者VPN組播實例。
步驟103,解封裝接收到的源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文,獲取來自源VPN組播實例的組播數(shù)據(jù)。
源VPN組播實例獲取PIM協(xié)議報文,根據(jù)PIM協(xié)議^^文將組播數(shù)據(jù)封裝為源VPN Share-Group的公網(wǎng)組播數(shù)據(jù)報文,并通過7>網(wǎng)組播實例將封裝后的組播數(shù)據(jù)在公網(wǎng)中進行轉發(fā)。接收者VPN組播實例接收封裝后的組播數(shù)據(jù),對封裝后的組播數(shù)據(jù)進行解封裝,獲取組播數(shù)據(jù),從而實現(xiàn)組播VPN的外聯(lián)網(wǎng)組網(wǎng)。
接收者VPN組播實例獲取來自源VPN組播實例的組播數(shù)據(jù)之后,檢查組播數(shù)據(jù)的組地址或源組地址是否在指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi)。如果組播數(shù)據(jù)的組地址或源組地址在指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi),則按照接收者VPN組播路由,轉發(fā)組播數(shù)據(jù);如果組播數(shù)據(jù)的組地址或源組地址不在指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi),則丟棄組播數(shù)據(jù)。
本發(fā)明實施例保證了各VPN組播實例之間的隔離,對接收者VPN組播實例而言,與本VPN的遠端站點以及其他源VPN遠端站點的組播轉發(fā)均通過各自不同的組播隧道,各組播隧道之間沒有任何連通,各自創(chuàng)建組播隧道接口用于發(fā)送組播協(xié)議報文和接收組播數(shù)據(jù)報文;對源VPN組播實例而言,各接收者VPN組播實例均建立到源VPN的組播隧道,可見的只有源VPN用于extranet轉發(fā)的地址空間,各VPN組播實例其他的地址空間仍然是隔離的,即源VPN組播實例的intranet地址空間對各接收者VPN不可見,各接收者VPN實例的intranet和其他extranet地址空間也互相不可見。
本發(fā)明實施例的技術方案具有以下優(yōu)點,因為通過在接收者VPN組播實例添加源VPN的Share-Group地址,建立接收者VPN組纟番實例到源VPN組播實例的組播隧道,減少了對路由器系統(tǒng)資源的占用,減輕了網(wǎng)絡負載。
如圖2所示,為本發(fā)明實施例中的另 一種組播VPN的外聯(lián)網(wǎng)組網(wǎng)方法流程圖,本實施例中,該組播VPN的外聯(lián)網(wǎng)組網(wǎng)方法應用在如圖3所示的組網(wǎng)中,PE1為VPN RED組播實例所在的PE路由器,PE2為VPN BLUE組播實例所在的PE路由器,CE1連接組播源,CE2連接接收者。該組播VPN的外聯(lián)網(wǎng)組網(wǎng)方法包括以下步驟
步驟201, PE1側的VPN RED組4番實例添加Share-Group地址Gl 。VPNRED組播實例為提供組播數(shù)據(jù)源的VPN實例,PE1為VPNRED組播實例所在的PE路由器。VPNRED組播實例添加Share-Group地址Gl后,可以與公網(wǎng)進行數(shù)據(jù)傳輸。
步驟202, PE2側的VPN BLUE組播實例添加Share-Group地址Gl。VPN BLUE組播實例為需要接收組播數(shù)據(jù)的VPN實例,與VPN RED組播實例不在同一個VPN, PE2為VPNBLUE組播實例所在的PE路由器。VPNBLUE組播實例添加Share-Group地址Gl后,指定私網(wǎng)組地址范圍Gr/Mr,建立VPN BLUE組播實例到VPN RED組播實例的組播隧道,可以與公網(wǎng)進行數(shù)據(jù)傳輸。
本發(fā)明實施例中,CE1連接組播源,CE2連接接收者,VPNRED組播實例和VPN BLUE組兮番實例均運行PIM SM, VPN RED的RP( Rendezvous Point,匯聚點)配置在CEl, CE2直連接收者的接口使能IGMP (Internet GroupManagement Protocol ,因特網(wǎng)組管理協(xié)議)。VPN BLUE組播實例添加Share-Group地址G1,同時指定私網(wǎng)組地址范圍Gr/Mr。 VPNBLUE組播實例還可以添加本VPN Share-Group地址G2,用于接收本VPN遠端站點的組播數(shù)據(jù)。
步驟203,接收者向CE2發(fā)送IGMP (*,G) report報文,請求VPNRED組
li播數(shù)據(jù)。
IGMP (*, G) report l艮文的私網(wǎng)組地址為G,私網(wǎng)源地址空缺。步驟204, CE2向PE2發(fā)送PIM (*, G)加入請求。
PIM( G)加入請求為PIM協(xié)議報文,該報文的私網(wǎng)組地址為G,私網(wǎng)源
地址空缺。
步驟205, PE2生成VPN BLUE組播實例的組播^各由(*, G)表項。組播路由(*,G)表項的私網(wǎng)組地址為G,私網(wǎng)源地址空缺。步驟206, PE2根據(jù)RP地址,查找到上游路由器為PE1。步驟207, VPNBLUE組播實例檢查組播路由(*, G)表項的私網(wǎng)組地址
是否屬于指定的私網(wǎng)組地址范圍Gr/Mr。
如果組播路由(*,G)表項的私網(wǎng)組地址屬于Gr/Mr,則執(zhí)行步驟209;
如果組播路由(*,G)表項的私網(wǎng)組地址不屬于Gr/Mr,則執(zhí)行步驟208。步驟208, VPN BLUE組播實例丟棄PIMG)加入請求。步驟209, VPN BLUE組播實例通過到VPN RED組播實例的組播隧道,
封裝PIM (*, G)加入請求。
步驟210,公網(wǎng)Gl的組播分發(fā)樹發(fā)送封裝后的PIM(*, G)加入請求。步驟211, VPN RED組播實例從公網(wǎng)G1的組播分發(fā)初于解封裝公網(wǎng)數(shù)據(jù),
獲取PIM (*, G)加入請求。
步驟212, VPN RED組播實例處理PIM(、G)加入請求,生成組播路由
(、G)表項。
步驟213, CE1將VPN RED組播數(shù)據(jù)(S, G)發(fā)送到PE1 。VPN RED組播-數(shù)據(jù)的私網(wǎng)組地址為G,私網(wǎng)源地址為S。步驟214, PE1創(chuàng)建組播路由(S, G)表項。組播路由(S,G)表項的私網(wǎng)組地址為G,私網(wǎng)源地址為S。步驟215, VPN RED組播實例將VPN R:ITD組播數(shù)據(jù)(S, G)通過VPN RED的組播隧道封裝。
步驟216,公網(wǎng)Gl的組播分發(fā)樹發(fā)送封裝后的VPN RED的私網(wǎng)組播數(shù)據(jù)(S, G)。
12步驟217, VPN BLUE組播實例從公網(wǎng)Gi組播分發(fā)樹解封裝公網(wǎng)數(shù)據(jù),
獲取VPN RED組〗番ft據(jù)(S, G)。
步驟218, VPN BLUE組播實例檢查VPN RED組播數(shù)據(jù)(S, G)的私網(wǎng)組
地址是否屬于指定的私網(wǎng)組地址范圍Gr/Mr。
如果VPNRED組播數(shù)據(jù)(S, G)的私網(wǎng)組地址屬于指定的私網(wǎng)組地址范圍
Gr/Mr,則執(zhí)行步驟220;如果VPN RED組播數(shù)據(jù)(S, G)的私網(wǎng)組地址不屬于
指定的私網(wǎng)組地址范圍Gr/Mr,則執(zhí)行步驟29。
步驟219, VPN BLUE組播實例丟棄VPN RED組播數(shù)據(jù)(S, G)。
步驟220, VPN BLUE組播實例創(chuàng)建組播路由(S, G)表項。
步驟221 , VPN BLUE組播實例將VPN RED組播數(shù)據(jù)(S, G)轉發(fā)給CE2。
步驟222,接收者從CE2獲取VPN RED組播數(shù)據(jù)(S, G)。
本發(fā)明實施例的技術方案具有以下優(yōu)點,因為通過在接收者VPN組播實
例添加源VPN的Share-Group地址,建立接收者VPN組^番實例到源VPN組
播實例的組播隧道,并檢查接收到的組播數(shù)據(jù)的私網(wǎng)組地址是否屬于指定的
私網(wǎng)組地址范圍,保證了各VPN組播實例之間的隔離,減少了對路由器系統(tǒng)
資源的占用,減輕了網(wǎng)絡負載。
如圖4所示,為本發(fā)明實施例中的又 一種組播VPN的外聯(lián)網(wǎng)組網(wǎng)方法 流程圖,本實施例中,該組播VPN的外聯(lián)網(wǎng)組網(wǎng)方法為應用在如圖3所示的 組網(wǎng)中,PE1為VPN RED組播實例所在的PE路由器,PE2為VPNBLUE組 播實例所在的PE路由器,CE1連接組播源,CE2連接接收者。該組播VPN 的外聯(lián)網(wǎng)組網(wǎng)方法包括以下步驟
步驟401, PE1側的VPN RED組播實例添加Share-Group地址Gl 。 VPNRED組播實例為提供組播數(shù)據(jù)源的VPN實例,PE1為VPN RED組 播實例所在的PE路由器。VPNRED組播實例添加Share-Group地址Gl后, 可以與公網(wǎng)進行數(shù)據(jù)傳輸。
步驟402, PE2側的VPN BLUE組播實例添加Share-Group地址Gl 。 VPN BLUE組播實例為需要接收組播數(shù)據(jù)的VPN實例,與VPN RED組播實例不在同一個VPN, PE2為VPN BLUE組播實例所在的PE路由器。VPN BLUE組播實例添加Share-Group地址Gl ,指定私網(wǎng)源組地址范圍 (Sr/Msr,Gr/Mgr),建立VPN BLUE組播實例到VPN RED組播實例的組播隧道, 可以與公網(wǎng)進行數(shù)據(jù)傳輸。
本發(fā)明實施例中,CE1連接組播源,CE2連接接收者,VPNRED組播實 例和VPN BLUE組播實例均運行PIM SSM, CE2直連接收者的接口使能 IGMP。 VPNBLUE組播實例添加Share-Group地址G1,同時指定私網(wǎng)源組地 址范圍(Sr/Msr, Gr/Mgr) 。 VPN BLUE組播實例還可以添加本VPN Share-Group 地址G2,用于接收本VPN遠端站點的組播數(shù)據(jù)。
步驟403,接收者向CE2發(fā)送IGMP(S, G) report報文,請求VPN RED 組播數(shù)據(jù)。
IGMP (S,G) report報文的私網(wǎng)組地址為G,私網(wǎng)源地址為S。 步驟404, CE2向PE2發(fā)送PIM (S, G)加入請求。
PIM(S,G)加入請求為PIM協(xié)議報文,該報文的私網(wǎng)組地址為G,私網(wǎng)源 地址為S。
步驟405, PE2生成VPN BLUE組播實例的組播路由(S, G)表項。 組播路由(S, G)表項的私網(wǎng)組地址為G,私網(wǎng)源地址為S。 步驟406, PE2根據(jù)私網(wǎng)源地址,查找到上游路由器為PE1。 步驟407, VPN BLUE組播實例檢查組播路由(S, G)表項的私網(wǎng)源組地
址是否屬于指定的私網(wǎng)源組地址范圍(Sr/Msr, Gr/Mgr)。
如果組播路由(S,G)表項的私網(wǎng)源組地址屬于(Sr/Msr, Gr/Mgr),則執(zhí)
行步驟409 ;如果組播路由(S, G )表項的私網(wǎng)源組地址不屬于
(Sr/Msr, Gr/Mgr),則執(zhí)行步驟408。
步驟408, VPN BLUE組播實例丟棄PIM (S, G)加入請求。
步驟409, VPN BLUE組播實例通過到VPN RED組播實例的組播隧道,
封裝PIM (S, G)加入請求。
步驟410,公網(wǎng)Gl的組播分發(fā)樹發(fā)送封裝后的PIM(S,G)加入請求。 步驟411, VPNRED組播實例從公網(wǎng)Gl的組播分發(fā)樹解封裝公網(wǎng)數(shù)據(jù),
14獲取PIM (S, G)加入請求。
步驟412, VPN RED組播實例處理PIM(S,G)加入請求,生成組播路由 (S, G)表項。
步驟413, CE1將VPN RED組播數(shù)據(jù)(S, G)發(fā)送到PE1 。 VPN RED組播數(shù)據(jù)的私網(wǎng)組地址為G,私網(wǎng)源地址為S。 步驟414, VPN RED組播實例將VPN RED組播數(shù)據(jù)(S, G)通過VPN RED
的組播隧道封裝。
步驟415,公網(wǎng)Gl的組播分發(fā)樹發(fā)送封裝后的VPN RED的私網(wǎng)組播數(shù) 據(jù)(S,G)。
步驟416, VPN BLUE組播實例從公網(wǎng)Gl組播分發(fā)樹解封裝公網(wǎng)數(shù)據(jù), 獲取VPN RED組播數(shù)據(jù)(S, G)。
步驟417, VPNBLUE組播實例檢查VPN RED組播數(shù)據(jù)(S, G)的私網(wǎng)源 組地址是否屬于指定的私網(wǎng)源組地址范圍(Sr/Msr, Gr/Mgr)。
如果VPNRED組播數(shù)據(jù)(S, G)的私網(wǎng)組地址屬于指定的私網(wǎng)源組地址范 圍(Sr/Msr, Gr/Mgr),則執(zhí)行步驟419;如果VPN RED組播數(shù)據(jù)(S, G)的私網(wǎng) 源組地址不屬于指定的私網(wǎng)源組地址范圍(Sr/Msr, Gr/Mgr),則執(zhí)行步驟418。 步驟418, VPN BLUE組播實例丟棄VPN RED組播數(shù)據(jù)(S, G)。 步驟419, VPN BLUE組播實例將VPN RED組播數(shù)據(jù)(S, G)轉發(fā)給CE2。 步驟420,接收者從CE2獲取VPN RED組播數(shù)據(jù)(S, G)。 本發(fā)明實施例的技術方案具有以下優(yōu)點,因為通過在接收者VPN組播實 例添加源VPN的Share-Group地址,建立接收者VPN組播實例到源VPN組 播實例的組播隧道,并檢查接收到的組播數(shù)據(jù)的私網(wǎng)源組地址是否屬于指定 的私網(wǎng)源組地址范圍,保證了各VPN組播實例之間的隔離,減少了對路由器 系統(tǒng)資源的占用,減輕了網(wǎng)絡負載。
本發(fā)明實施例還提出了一種組播VPN的外聯(lián)網(wǎng)組網(wǎng)系統(tǒng),包括源VPN 和接收者VPN,其中該接收者VPN,用于根據(jù)添加的源VPN的共享組 Share-Group地址,建立到該源VPN組播實例的組播隧道,以及與該組播隧 道相連的組播隧道接口,向該組播隧道接口發(fā)送封裝后的協(xié)議無關組播PIM協(xié)議報文,在公網(wǎng)中轉發(fā)封裝后的PIM協(xié)議報文,并使源VPN組播實例根據(jù) 封裝后的PIM協(xié)議報文生成源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文,并 解封裝接收到的該源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文,獲取來自該 源VPN組播實例的組播數(shù)據(jù)。
如圖5所示,為本發(fā)明實施例中的一種接收者VPN組播實例結構示意 圖,該接收者VPN組播實例500,包括
建立模塊510,用于根據(jù)添加的源VPN的Share-Group地址,建立到源 VPN組播實例的組播隧道,以及與組播隧道相連的組播隧道接口 。
本發(fā)明實施例中,提供組播數(shù)據(jù)源的VPN實例稱為源VPN組播實例, 源VPN組播實例所在的PE路由器稱為源PE;需要接收組播數(shù)據(jù)的VPN實 例稱為接收者VPN組播實例,與源VPN組播實例不在同一個VPN,接收者 VPN組播實例所在的PE路由器稱為接收者PE。
源PE側的源VPN組播實例添加源VPN的Share-Group地址后,接收者 VPN組播實例中的建立模塊510添加源VPN的Share-Group地址,建立接收 者VPN組播實例到源VPN組播實例的組播隧道,以及與組l番隧道相連的組 播隧道接口。
發(fā)送模塊520,用于向建立模塊510建立的組播隧道接口發(fā)送封裝后的協(xié) 議無關組播PIM協(xié)議報文,在公網(wǎng)中轉發(fā)封裝后的PIM協(xié)議報文,并使源 VPN組播實例根據(jù)封裝后的PIM協(xié)議報文生成源VPN的Share-Group的公網(wǎng)
組播數(shù)據(jù)報文。
發(fā)送模塊520向遠端PE發(fā)送封裝后的PIM協(xié)議報文時,需要先根據(jù)私 網(wǎng)組地址或源組地址確定發(fā)送封裝后的PIM協(xié)議才艮文的組^"隧道接口 ,并才姿 照組播隧道接口對應的Share-Group ,將接收者VPN組播實例的PIM協(xié)議報 文封裝為該Share-Group的封裝后的PIM協(xié)議報文,通過公網(wǎng)組播實例將封 裝后的PIM協(xié)議報文在公網(wǎng)中進行轉發(fā)。源VPN組播實例對公網(wǎng)中轉發(fā)的封 裝后的PIM協(xié)議報文進行解封裝,獲取接收者VPN組播實例的PIM協(xié)議報 文,在源VPN組播實例獲取到接收者VPN組播實例的PIM協(xié)議報文之后, 該源VPN組播實例將根據(jù)該PIM協(xié)議報文封裝該源VPN的組播數(shù)據(jù),并通
16過公網(wǎng)將該封裝了源VPN組播數(shù)據(jù)的公網(wǎng)組播數(shù)據(jù)報文發(fā)送給接收者VPN
組播實例。
獲取模塊530,用于解封裝接收到的源VPN的Share-Group的公網(wǎng)組播 數(shù)據(jù)報文,獲取來自源VPN組播實例的組播數(shù)據(jù)。
源VPN組播實例獲取PIM協(xié)議報文,根據(jù)PIM協(xié)議報文將組播數(shù)據(jù)封 裝為源VPN Share-Group的公網(wǎng)組播數(shù)據(jù)報文,并通過公網(wǎng)組播實例將封裝 后的組播數(shù)據(jù)在公網(wǎng)中進行轉發(fā)。獲取模塊530接收封裝后的組播數(shù)據(jù),對 封裝后的組播數(shù)據(jù)進行解封裝,獲取組播數(shù)據(jù),實現(xiàn)組播VPN的外聯(lián)網(wǎng)組網(wǎng)。
本發(fā)明實施例保證了各VPN組播實例之間的隔離,對接收者VPN組播 實例而言,與本VPN的遠端站點以及其他源VPN遠端站點的組播轉發(fā)均通 過各自不同的組播隧道,各組播隧道之間沒有任何連通,各自創(chuàng)建組播隧道 接口用于發(fā)送組播協(xié)議報文和接收組播數(shù)據(jù)報文;對源VPN組播實例而言, 各接收者VPN組^"實例均建立到源VPN的組播隧道,可見的只有源VPN用 于extranet轉發(fā)的地址空間,各VPN組播實例其他的地址空間仍然是隔離的, 即源VPN組播實例的內(nèi)部網(wǎng)intranet地址空間對各接收者VPN不可見, 收者VPN實例的intranet和其他extranet地址空間也互相不可見。
本發(fā)明實施例的技術方案具有以下優(yōu)點,因為通過在接收者VPN組播實 例添加源VPN的Share-Group地址,建立接收者VPN組播實例到源VPN組 播實例的組播隧道,減少了對路由器系統(tǒng)資源的占用,減輕了網(wǎng)絡負載。
如圖6所示,為本發(fā)明實施例中的另一種接收者VPN組播實例結構示 意圖,該接收者VPN組播實例600,包括
建立模塊610,用于根據(jù)添加的源VPN的Share-Group地址,建立到源 VPN組播實例的組播隧道,以及與組播隧道相連的組播P遂道接口 。
本發(fā)明實施例中,提供組播數(shù)據(jù)源的VPN實例稱為源VPN組播實例, 源VPN組播實例所在的PE路由器稱為源PE;需要4妄收組播數(shù)據(jù)的VPN實 例稱為接收者VPN組播實例,與源VPN組播實例不在同一個VPN,接收者 VPN組播實例所在的PE路由器稱為接收者PE。
17源PE側的源VPN組播實例添加源VPN的Share-Group地址后,接收者 VPN組播實例中的建立模塊610添加源VPN的Share-Group地址,建立接收 者VPN組播實例到源VPN組播實例的組播隧道,以及與組播隧道相連的組 播隧道接口。
指定模塊620,用于指定源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍。 指定模塊620指定源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍,當接收者 VPN組播實例和源VPN組播實例均運行P工M SM時,上述指定的源VPN組 播實例的組播數(shù)據(jù)的轉發(fā)范圍為私網(wǎng)組地址范圍;當接收者VPN組播實例和 源VPN組播實例均運行PIM SSM時,上述指定的源VPN組播實例的組播數(shù) 據(jù)的轉發(fā)范圍為私網(wǎng)源組地址范圍。本發(fā)明實施例可以使用(Share-Group,私 網(wǎng)組地址/掩碼)、[Share-Group,(私網(wǎng)源地址/掩碼,私網(wǎng)組地址/掩碼)]和 [Share-Group,(離散的組地址集合)]等形式,指定不同源VPN extranet組播 數(shù)據(jù)的轉發(fā)范圍。
確定模塊630,用于根據(jù)私網(wǎng)組地址或源組地址,確定發(fā)送模塊640發(fā)送 PIM協(xié)議報文的組播隧道接口 。
發(fā)送模塊640,用于向建立模塊610建立的組播隧道接口發(fā)送封裝后的 PIM協(xié)議報文,使封裝后的PIM協(xié)議報文在公網(wǎng)中轉發(fā)并使源VPN組播實例 根據(jù)封裝后的PIM協(xié)議報文生成源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文。
發(fā)送模塊640按照組播隧道接口對應的Share-Group,將PIM協(xié)議報文封 裝為該Share-Group的封裝后的PIM協(xié)議報文,通過公網(wǎng)組播實例將封裝后 的PIM協(xié)議報文在公網(wǎng)中進行轉發(fā)。源VPN組播實例對公網(wǎng)中轉發(fā)的封裝后 的PIM協(xié)議報文進行解封裝,獲取PIM協(xié)議報文。
獲取模塊650,用于解封裝接收到的源VPN的Share-Group的公網(wǎng)組播 數(shù)據(jù)報文,獲取來自源VPN組播實例的組播數(shù)據(jù)。
源VPN組播實例獲取PIM協(xié)議報文,根椐PIM協(xié)議報文將組播數(shù)據(jù)封 裝為源VPN Share-Group的公網(wǎng)組播數(shù)據(jù)報文,并通過公網(wǎng)組播實例將封裝 后的組播數(shù)據(jù)在公網(wǎng)中進行轉發(fā)。獲取模塊650接收封裝后的組播數(shù)據(jù),對 封裝后的組播數(shù)據(jù)進行解封裝,獲取組播數(shù)據(jù)。檢查模塊660,用于檢查獲取模塊650獲取的組播數(shù)據(jù)的組地址或源組地 址是否在指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi)。
檢查模塊660檢查獲取模塊650獲取的組播數(shù)據(jù)的組地址或源組地址是 否在指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi)。如果組播數(shù)據(jù)的組地 址或源組地址在指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi),則按照接 收者VPN組播路由,轉發(fā)組播數(shù)據(jù);如果組播數(shù)據(jù)的組地址或源組地址不在 指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi),則丟棄組播數(shù)據(jù)。
轉發(fā)模塊670,用于在檢查模塊660檢查到組播數(shù)據(jù)的組地址或源組地址 在指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi),按照接收者VPN組播 路由,轉發(fā)組播數(shù)據(jù)。
丟棄模塊680,用于在檢查模塊660檢查到組播數(shù)據(jù)的組地址或源組地址 不在指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi),丟棄組播數(shù)據(jù)。
本發(fā)明實施例的技術方案具有以下優(yōu)點,因為通過在接收者VPN組播實 例添加源VPN的Share-Group地址,建立接收者VPN組播實例到源VPN組 播實例的組播隧道,并檢查接收到的組播數(shù)據(jù)的組地址或源組地址是否在指 定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi),保證了各VPN組播實例之 間的隔離,減少了對路由器系統(tǒng)資源的占用,減輕了網(wǎng)絡負載。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本 發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬 件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技 術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體
現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使 得一臺終端設備(可以是手機,個人計算機,服務器,或者網(wǎng)絡設備等) 執(zhí)行本發(fā)明各個實施例所述的方法。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的 普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進 和潤飾,這些改進和潤飾也應視本發(fā)明的保護范圍。
權利要求
1、一種組播虛擬私有網(wǎng)絡VPN的外聯(lián)網(wǎng)組網(wǎng)方法,其特征在于,包括根據(jù)添加的源VPN的共享組Share-Group地址,建立到所述源VPN組播實例的組播隧道,以及與所述組播隧道相連的組播隧道接口;向所述組播隧道接口發(fā)送封裝后的協(xié)議無關組播PIM協(xié)議報文,在公網(wǎng)中轉發(fā)所述封裝后的PIM協(xié)議報文,并使所述源VPN組播實例根據(jù)所述封裝后的PIM協(xié)議報文生成所述源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文;解封裝接收到的所述源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文,獲取來自所述源VPN組播實例的組播數(shù)據(jù)。
2、 如權利要求1所述的方法,其特征在于,在所述根據(jù)添加的源VPN 的共享組Share-Group地址,建立到所述源VPN組播實例的組播隧道之前, 還包括在所述源VPN組播實例添加所述Share-Group地址;和在接收者VPN組 播實例添加所述Share-Group地址。
3、 如權利要求2所述的方法,其特征在于,在所述源VPN組播實例添 加所述Share-Group地址之后,還包括指定所述源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍; 在所述獲取來自源VPN組播實例的組播數(shù)據(jù)之后,還包括 檢查所述組播數(shù)據(jù)的組地址或源組地址是否在所述指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi);當所述組播數(shù)據(jù)的組地址或源組地址在所述指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi)時,按照接收者VPN組播路由,轉發(fā)所述組播數(shù)據(jù); 當所述組播數(shù)據(jù)的組地址或源組地址不在所述指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi)時,丟棄所述組播數(shù)據(jù)。
4、 如權利要求l所述的方法,其特征在于,所述向組播隧道接口發(fā)送封 裝后的PIM協(xié)議報文之前,還包括根據(jù)私網(wǎng)組地址或源組地址,確定所述發(fā)送PIM協(xié)議報文的組播隧道接口
5、 如權利要求l所述的方法,其特征在于,所述向組,燔隧道接口發(fā)送封裝后的協(xié)議無關組播PIM協(xié)議報文,在公網(wǎng)中轉發(fā)所述封裝后的PIM協(xié)議報 文,并使所述源VPN組播實例根據(jù)所述封裝后的PIM協(xié)議報文生成源VPN 的Share-Group的公網(wǎng)組播數(shù)據(jù)報文,包括根據(jù)所述組播隧道接口將PIM協(xié)議報文進行封裝,生成所述封裝后的 PIM協(xié)議報文;使所述源VPN組播實例對接收到的所述封裝后的PIM協(xié)議報文進行解封裝, 以獲取PIM協(xié)議報文,并根據(jù)所述PIM協(xié)議報文封裝所述源VPN組播實例 的組播數(shù)據(jù);接收來自所述源VPN組播實例的Share-Group的公網(wǎng)組播數(shù)據(jù)報文,所 述公網(wǎng)組播數(shù)據(jù)報文為根據(jù)所述PIM協(xié)議報文封裝組播數(shù)據(jù)生成的。
6、 一種組播VPN的外聯(lián)網(wǎng)組網(wǎng)系統(tǒng),其特征在于,包括源VPN和接收 者VPN,其中所述接收者VPN,用于根據(jù)添加的源VPN的共享組Share-Group地址, 建立到所述源VPN組播實例的組播隧道,以及與所述組播隧道相連的組播隧 道接口 ,向所述組播隧道接口發(fā)送封裝后的協(xié)議無關組播PIM協(xié)議報文,在 公網(wǎng)中轉發(fā)所述封裝后的PIM協(xié)議報文,并使所述源VPN組播實例根據(jù)所述 封裝后的PIM協(xié)議l艮文生成源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)l艮文,并解封裝接收到的所述源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文,獲取 來自所述源VPN組播實例的組播數(shù)據(jù)。
7、 一種接收者VPN組播實例,其特征在于,包括建立模塊,用于根據(jù)添加的源VPN的Share-Group地址,建立到所述源 VPN組播實例的組纟番隧道,以及與所述組播隧道相連的組播隧道接口 ;發(fā)送模塊,用于向所述建立模塊建立的所述組播隧道接口發(fā)送封裝后的 PIM協(xié)議報文,在公網(wǎng)中轉發(fā)所述封裝后的PIM協(xié)議報文,并使所述源VPN組播數(shù)據(jù)報文;獲取模塊,用于解封裝接收到的所述源VPN的Share-Group的公網(wǎng)組播 數(shù)據(jù)報文,獲取來自所述源VPN組播實例的組播數(shù)據(jù)。
8、 如權利要求7所述接收者VPN組播實例,其特征在于,還包括 指定模塊,用于指定所述源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍; 檢查模塊,用于檢查獲取模塊獲取的所述組播數(shù)據(jù)的組地址或源組地址是否在所述指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi);轉發(fā)模塊,用于當所述檢查模塊檢查到所述組播數(shù)據(jù)的組地址或源組地址在所述指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi)時,按照接收者VPN組播路由,轉發(fā)所述組播數(shù)據(jù)。丟棄模塊,用于當所述檢查模塊檢查到所述組播數(shù)據(jù)的組地址或源組地址不在所述指定的源VPN組播實例的組播數(shù)據(jù)的轉發(fā)范圍內(nèi)時,丟棄所述組播數(shù)據(jù)。
9、 如權利要求7所述接收者VPN組播實例,其特征在于,還包括 確定模塊,用于根據(jù)私網(wǎng)組地址或源組地址,確定所述發(fā)送模塊發(fā)送所述PIM協(xié)議報文的組播隧道接口 。
全文摘要
本發(fā)明實施例公開了一種組播虛擬私有網(wǎng)絡的外聯(lián)網(wǎng)組網(wǎng)方法、系統(tǒng)和裝置,該方法,包括根據(jù)添加的源VPN的共享組Share-Group地址,建立到所述源VPN組播實例的組播隧道,以及與所述組播隧道相連的組播隧道接口;向所述組播隧道接口發(fā)送封裝后的協(xié)議無關組播PIM協(xié)議報文,在公網(wǎng)中轉發(fā)所述封裝后的PIM協(xié)議報文,并使所述源VPN組播實例根據(jù)所述封裝后的PIM協(xié)議報文生成所述源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文;解封裝接收到的所述源VPN的Share-Group的公網(wǎng)組播數(shù)據(jù)報文,獲取來自所述源VPN組播實例的組播數(shù)據(jù)。本發(fā)明實施例減少了對路由器系統(tǒng)資源的占用,減輕了網(wǎng)絡負載。
文檔編號H04L12/56GK101459606SQ200810191759
公開日2009年6月17日 申請日期2008年12月31日 優(yōu)先權日2008年12月31日
發(fā)明者劉毅松, 蘇海洋, 重 陳 申請人:華為技術有限公司