亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種實現(xiàn)跨虛擬專用局域網(wǎng)組播的方法

文檔序號:7710880閱讀:175來源:國知局
專利名稱:一種實現(xiàn)跨虛擬專用局域網(wǎng)組播的方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種實現(xiàn)跨虛擬專用局域網(wǎng)組 播的方法。
背景技術(shù)
VPLS (Virtual Private LAN Service,虛擬專用局域網(wǎng)業(yè)務(wù))是一種在 MPLS (Multi-Protocol Label Switch,多協(xié)議標簽交換)/IP網(wǎng)絡(luò)中提供點到 多點的L2 VPN ( L2 Virtual Private Networks, 二層虛擬專用網(wǎng)絡(luò))技術(shù)。其 核心思想是利用信令協(xié)議在VPLS實例中的PE ( Provider Edge ,運營商邊緣 路由器)節(jié)點之間建立及維護PW (PseudoWire,偽線),將協(xié)議或數(shù)據(jù)報 文封裝后在PW上傳輸、交換,使廣域范圍內(nèi)多個局域網(wǎng)在數(shù)據(jù)鏈路層面被 整合為一張網(wǎng)絡(luò),向用戶提供虛擬的以太網(wǎng)服務(wù)。
目前,越來越多的運營商采用VPLS技術(shù)為企業(yè)用戶提供VPN業(yè)務(wù)。 通過將不同部門劃分到不同的VPN中可以實現(xiàn)部門間的數(shù)據(jù)隔離。同樣地, 對部門內(nèi)部的視頻會議、數(shù)據(jù)共享等組播業(yè)務(wù)也需要實現(xiàn)VPN隔離。
和以太網(wǎng)交換4幾一樣,在VPLS的VSI ( Virtual Switch Instance,虛擬交 換實例)內(nèi),當沒有運行任何組播協(xié)議時,收到未知的組播數(shù)據(jù)流采用洪泛 的方式,轉(zhuǎn)發(fā)到VSI內(nèi)的所有端口 ,包括本地的所有AC( Attachment Circuit, 接入鏈路)以及PW,使得連接到VSI的所有CE (CustomerEquipment,用 戶設(shè)備)都能收到該組播數(shù)據(jù)流。但事實上,并不是所有CE都希望接收該 組播數(shù)據(jù)流,因此采用上述方式不僅浪費了網(wǎng)絡(luò)帶寬資源、而且也增加了網(wǎng) 絡(luò)中設(shè)備的負載。
目前,為了解決該問題,主要采用的方法是在PE設(shè)備上運行VSI內(nèi)的 IGMP (Internet Group Management Protocol,互聯(lián)網(wǎng)組管理協(xié)i義)SNOOPING(監(jiān)聽)。PE可通過該技術(shù)偵聽IP主機和組播路由器之間交互的IGMP協(xié) 議報文,為VSI內(nèi)的AC、 PW端口和組播MAC ( Media Access Control, i某 體訪問控制)地址建立映射關(guān)系,并根據(jù)該映射關(guān)系轉(zhuǎn)發(fā)組播數(shù)據(jù)流。
該技術(shù)的網(wǎng)絡(luò)模型如圖1所示,其中,PEl連接組播路由器和組播源(即 組播服務(wù)器),PE2和PE3分別連接CE2、 CE3、 CE4、 CE5,并且組播源、 用戶1、用戶2、用戶3和用戶4都在同一個虛擬專用局域網(wǎng)內(nèi)。要求PE1、 PE2和PE3上同時運行VSI內(nèi)的IGMP SNOOPING。具體的實現(xiàn)步驟如下
首先,當組播路由器啟動組播功能之后,它會以224.0.0.1為目的IP地 址,在VPN 1內(nèi)定期向所有其它的組播路由器和用戶設(shè)備發(fā)送IGMP通用 查詢報文,用來查詢是否存在某個組播地址的組成員。PE1收到該查詢報文 后,記錄對應(yīng)的AC1端口和VPNID,然后形成VPN1的AC1路由器端口。 同時,該查詢報文分別通過PW1和PW2向PE2和PE3轉(zhuǎn)發(fā)。PE2、 PE3收 到該查詢凈艮文后,同才羊記錄對應(yīng)的PW端口和VPN ID,然后分別形成VPN 1的PW1和PW2i 各由器端口。
接著,當VPN 1的用戶1期望接收組播組225.1.1.1的組4番數(shù)據(jù)流時, 會發(fā)送相應(yīng)組的IGMP加入^艮文,該才艮文通過CE2透傳到PE2,此時VSI 內(nèi)的IGMP SNOOPING偵聽到該加入報文,形成VPN 1的組播成員關(guān)系表 項(VPN ID: 1 ,組播MAC地址0100.5e01.0101 ,用戶的下行AC2端口 )。 同時,PE2通過之前形成的PW1路由器端口 ,向組纟番源側(cè)的PEl轉(zhuǎn)發(fā)IGMP 加入報文。PEl偵聽到該加入報文后,同樣形成VPN 1的組播成員關(guān)系表項 (VPNID: 1,組^番MAC地址0100.5e01.0101,到達PE2的下行PW1端 o )。
然后,PE1通過之前形成的AC1路由器端口,向組播路由器轉(zhuǎn)發(fā)IGMP 加入報文,從而引入組播組225.1.1.1的組播數(shù)據(jù)流。當PEl收到該組播數(shù) 據(jù)流時,根據(jù)VPN ID和組播MAC地址檢索組播成員關(guān)系表,結(jié)果匹配到 (VPNID: 1,組才番MAC;也址0100.5e01.0101,到達PE2的下4亍PW1端 口 )條目,因此將組播數(shù)據(jù)流從PW1端口轉(zhuǎn)發(fā)出去,達到PE2。當PE2收 到組播組225.1.1.1的組播數(shù)據(jù)流時,同樣根據(jù)VPN ID和組播MAC地址檢 索組^番成員關(guān)系表,結(jié)果匹配到(VPN ID: 1,組播MAC地址
60100.5e01.0101,用戶的下行AC2端口 )條目,因此將組播數(shù)據(jù)流從AC2 端口轉(zhuǎn)發(fā)出去。
最終,在VPN 1對應(yīng)的虛擬專用局域網(wǎng)內(nèi)只有用戶l可以收到組4番組 225.U.1的組播數(shù)據(jù)流,因此有效的防止了組播數(shù)據(jù)流的洪泛。
雖然以上技術(shù)可以實現(xiàn)VPLS網(wǎng)絡(luò)內(nèi)的組播業(yè)務(wù),但是要求所有用戶和 組播源都在同 一個虛擬專用局域網(wǎng)內(nèi),這就給VPLS技術(shù)的大規(guī)模部署和廣 泛應(yīng)用帶來了很大程度的限制。而且在實際的網(wǎng)絡(luò)應(yīng)用中,存在^艮多^爭虛擬 專用局域網(wǎng)的組播業(yè)務(wù),如視頻會議、安全監(jiān)控等,因此我們除了需要采用 VPLS技術(shù)進行組播隔離外,還需要在一些特定條件下做到跨虛擬專用局域 網(wǎng)的可控組播訪問,以為用戶提供更加靈活的業(yè)務(wù)模式,提高VPLS在實際 運用中的組網(wǎng)能力。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于,提供一種實現(xiàn)跨虛擬專用局域網(wǎng)組播 的方法,以使得即使用戶和組播源在不同虛擬專用局域網(wǎng)的情況下,不需要 增加額外的三層設(shè)備,也能夠?qū)崿F(xiàn)可控的組播訪問,增強了網(wǎng)絡(luò)部署的靈活 性,拓寬了 VPLS組播業(yè)務(wù)的運用范圍。
為解決上述問題,本發(fā)明才是供了一種實現(xiàn)跨虛擬專用局域網(wǎng)(VPN)組 播的方法,包括
組播源側(cè)運營商邊緣路由器(PE)和用戶側(cè)PE上均創(chuàng)建有組播源所在 VPN的虛擬交換實例(VSI),且所述組播源側(cè)PE和所述用戶側(cè)PE在此 VSI內(nèi)已建立偽線(PW)連接;利用組播路由器在組播源所在的VPN內(nèi)發(fā) 送的互聯(lián)網(wǎng)組管理協(xié)議(IGMP )通用查詢報文,所述組4番源側(cè)PE和用戶側(cè) PE分別形成組播源所在VPN的上行路由器端口信息;
所述用戶側(cè)PE和組纟番源側(cè)PE分別根據(jù)偵聽到的非組播源所在VPN內(nèi) 的用戶發(fā)起的IGMP協(xié)議報文中攜帶的組播信息,維護本地的組播成員關(guān)系 表;其中,用戶側(cè)PE和組播源側(cè)PE中的組播成員關(guān)系表的表項中均包括 組播源所在的VPNID、組播MAC地址及下行出接口信息;組播源側(cè)PE和用戶側(cè)PE在收到組播數(shù)據(jù)流時,分別根據(jù)組播源所在 的VPN ID和組播MAC地址檢索本地保存的組播成員關(guān)系表,然后將所述 組播數(shù)據(jù)流從檢索到的表項的下行出接口中轉(zhuǎn)發(fā)出去。
進一步地,上述方法還可具有以下特征
當用戶側(cè)PE偵聽到的所述IGMP協(xié)議報文為IGMP加入報文時,所述 用戶側(cè)PE維護本地的組播成員關(guān)系表是指
所述用戶側(cè)PE根據(jù)所述組播源所在的VPN ID和所述IGMP加入才艮文 攜帶的組播MAC地址,檢索本地組播成員關(guān)系表中是否存在匹配表項;如 存在,則在所述匹配表項中添加該用戶的下行出接口信息;否則,創(chuàng)建新表 項,且在所述匹配表項中添加該用戶的下行出接口信息。
進一步地,上述方法還可具有以下特征
如所述用戶側(cè)PE沒有在本地組播成員關(guān)系表中查找到匹配表項,則還 包括
所述用戶側(cè)PE將偵聽到的所述IGMP加入^艮文通過本地保存的組播源 所在VPN的上行路由器端口信息轉(zhuǎn)發(fā)給所述組播源側(cè)PE;
如所述用戶側(cè)PE在本地組播成員關(guān)系表中查找到匹配表項,則不轉(zhuǎn)發(fā) 所述IGMP加入報文。
進一步地,上述方法還可具有以下特征
當用戶側(cè)PE偵聽到的所述IGMP協(xié)議才艮文為IGMP離開報文時,所述 用戶側(cè)PE維護本地的組播成員關(guān)系表是指
所述用戶側(cè)PE根據(jù)所述組播源所在的VPN ID和所述IGMP離開報文 中攜帶的組播MAC地址,檢索本地組播成員關(guān)系表中是否存在匹配表項; 如存在,則在該匹配表項中將該用戶的下行出接口信息刪除。
進一步地,上述方法還可具有以下特征
在完成下行出接口信息刪除后,如判斷出該匹配表項的下行出接口信息 為空,則所述用戶側(cè)PE將該表項刪除。
進一步地,上述方法還可具有以下特征在完成下行出接口信息刪除后,如判斷出該匹配表項的下行出接口信息
為空,則所述用戶側(cè)PE將偵聽到的所述IGMP離開報文通過本地保存的組 播源所在VPN的上行路由器端口信息轉(zhuǎn)發(fā)給所述組播源側(cè)PE;否則,所述 用戶側(cè)PE不轉(zhuǎn)發(fā)所述IGMP離開才艮文。
進一步地,上述方法還可具有以下特征
所述用戶側(cè)PE中的組播成員關(guān)系表表項中的下行出接口信息包括用 戶下行AC端口及用戶所在的VPN ID信息;組播源測PE中的組播成員關(guān) 系表表項中的下行出接口信息包括下行PW端口信息。
進一步地,上述方法還可具有以下特征
所述用戶側(cè)PE上配置有每個組t番組地址和組4番源所在VPN的對應(yīng)關(guān)
系;
所述IGMP協(xié)議報文中攜帶的組播信息除所述組播MAC地址外,還包 ^括組纟番組地址信息;
所述組播源所在的VPN ID為所述用戶側(cè)PE根據(jù)偵聽到的所述IGMP 協(xié)議報文中攜帶的組播組地址信息對應(yīng)得到的。
進一步地,上述方法還可具有以下特征
所述用戶側(cè)PE的AC端口上配置有組播業(yè)務(wù)權(quán)限規(guī)則;
所述用戶側(cè)PE在接收到用戶發(fā)來的所述IGMP協(xié)議才艮文后,先根據(jù)事 先配置的所述組播業(yè)務(wù)權(quán)限規(guī)則判斷所述用戶是否有訪問其請求的組播的 權(quán)限,如有,則進行后續(xù)維護本地的組播成員關(guān)系表的工作;否則,丟棄所 述IGMP協(xié)i義4艮文。
進一步地,上述方法還可具有以下特征
當所述組播源側(cè)PE偵聽到的IGMP協(xié)議報文為IGMP加入報文時,所 述組播源測PE維護本地的組播成員關(guān)系表是指
所述組播源側(cè)PE根據(jù)本地VPN ID和所述IGMP加入才艮文攜帶的組播 MAC地址,檢索本地組播成員關(guān)系表中是否存在匹配表項;如存在,則在 所述匹配表項中添加下行PW端口信息;否則,創(chuàng)建新表項,且在所述匹配 表項中添加該下行PW端口信息。進一步地,上述方法還可具有以下特征
當所述組播源側(cè)PE偵聽到的IGMP協(xié)議凈艮文為IGMP離開才艮文時,所 述組播源測PE維護本地的組播成員關(guān)系表是指
所述組播源側(cè)PE根據(jù)本地VPN ID和所述IGMP離開4艮文攜帶的組播 MAC地址,檢索本地組播成員關(guān)系表中是否存在匹配表項;如存在,將在 該表項中刪除接收所述IGMP離開凈艮文的下行PW端口信息。
進一步地,上述方法還可具有以下特征
在完成下行PW端口信息刪除后,如判斷出該匹配表項的下行PW端口 信息為空,則所述組播源側(cè)PE將該表項刪除。
本發(fā)明的技術(shù)效果在于
本發(fā)明通過擴展VSI內(nèi)的IGMP SNOOPING技術(shù),實現(xiàn)了跨虛擬專用 局域網(wǎng)的組播,解決了現(xiàn)有VPLS網(wǎng)絡(luò)的組播業(yè)務(wù)中組播源和用戶必須在同 一個虛擬專用局域網(wǎng)內(nèi)的缺陷,從而給用戶帶來了更加靈活的業(yè)務(wù)模式,提 高了 VPLS組播在實際運用中的組網(wǎng)能力,拓寬了 VPLS組播業(yè)務(wù)的運用范圍。


圖l為現(xiàn)有技術(shù)中在虛擬專用局域網(wǎng)內(nèi)實現(xiàn)組播轉(zhuǎn)發(fā)的組網(wǎng)示意圖; 圖2為本發(fā)明實施例中實現(xiàn)跨虛擬專用局域網(wǎng)組播方法的流程圖3為本發(fā)明實施例中跨虛擬專用局域網(wǎng)IGMP加入才艮文的處理流程
圖4為本發(fā)明實施例中跨虛擬專用局域網(wǎng)IGMP離開l艮文的處理流程
圖5為本發(fā)明實施例中實現(xiàn)跨虛擬專用局域網(wǎng)可控組播的組網(wǎng)示意圖。
具體實施方式
下面將結(jié)合附圖及實施例對本發(fā)明的技術(shù)方案進行更詳細的說明。
為了解決上述問題,本發(fā)明提供了 一種實現(xiàn)跨虛擬專用局域網(wǎng)組播的方
法。具體實現(xiàn)包括以下步驟
組播源側(cè)PE和用戶側(cè)PE上均創(chuàng)建有組播源所在VPN的VSI,且組播 源側(cè)PE和用戶側(cè)PE在此VSI內(nèi)已建立PW連接;利用組播路由器在組播 源所在的VPN內(nèi)定期發(fā)送的IGMP通用查詢l艮文,組纟番源側(cè)PE和用戶側(cè) PE分別形成組播源所在VPN的上行路由器端口信息(其中,組播源側(cè)PE 形成組播源所在VPN的AC路由器端口 ,用戶側(cè)PE形成組播源所在VPN 的PW^各由器端口 );
用戶側(cè)PE和組播源側(cè)PE分別4艮據(jù)偵聽到的非組播源所在VPN內(nèi)的用 戶發(fā)起的IGMP協(xié)議報文中攜帶的組播信息,維護本地的組播成員關(guān)系表; 其中,用戶側(cè)PE和組播源側(cè)PE中的組4番成員關(guān)系表的表項中均包括組 播源所在的VPNID、組播MAC地址及下行出接口信息;其中,用戶側(cè)PE 中的組播成員關(guān)系表表項中的下行出接口信息包括用戶下行AC端口及用 戶所在的VPN ID信息;組播源側(cè)PE中的組播成員關(guān)系表表項中的下行出 接口信息包括下行PW端口信息;
組播源側(cè)PE和用戶側(cè)PE在收到組播數(shù)據(jù)流時,分別根據(jù)組播源所在 的VPN ID和組播MAC地址檢索本地保存的組播成員關(guān)系表,然后將組播 數(shù)據(jù)流從檢索到的表項的下行出接口中轉(zhuǎn)發(fā)出去。
如在用戶側(cè)PE的AC端口上進4亍組4番業(yè)務(wù)的外又限配置,則用戶側(cè)PE 可以根據(jù)該權(quán)限判斷偵聽到的用戶IGMP協(xié)議報文是否應(yīng)該丟棄,從而實現(xiàn) 組#"業(yè)務(wù)的可控性。
用戶側(cè)的PE上配置每個組纟番組i也址和組4番源所在VPN的對應(yīng)關(guān)系,可 以一對一,也可以多對一。且IGMP協(xié)議報文中攜帶的組播信息包括組播組 地址信息;當用戶側(cè)PE偵聽到和組播源在不同VPN的用戶的IGMP協(xié)議報 文時,就可以根據(jù)報文中攜帶的組播組地址信息,檢索上述對應(yīng)關(guān)系,從而 得知組纟番源所在的VPN ID。
當用戶側(cè)的PE偵聽到的IGMP協(xié)議才艮文為用戶的IGMP加入才艮文時,
ii根據(jù)檢索到的組播源所在的VPN ID和IGMP加入報文中的組播MAC地址, 檢索組播成員關(guān)系表中是否已經(jīng)存在相應(yīng)的表項。如果已經(jīng)存在,則在匹配 表項的出接口信息中添加該用戶的下行AC端口以及該用戶所在的VPN ID; 如果不存在,則根據(jù)組播源所在的VPN ID和用戶IGMP加入報文中的組播 MAC地址,建立新的組播成員關(guān)系表項,并且將該用戶的下行AC端口以 及該用戶所在的VPN ID添加到該表項的出接口信息中。此外,當用戶側(cè)PE 偵聽到某個組播組的第一個用戶的第一個IGMP加入報文時(即沒有4企索到 匹配表項),還需要將接收到的IGMP加入報文轉(zhuǎn)發(fā)給組播源側(cè)PE,之后 再偵聽到相同組播組的其它IGMP加入報文時(即檢索到匹配表項),不需 要再向組播源側(cè)PE轉(zhuǎn)發(fā)IGMP加入才艮文。因為此時用戶側(cè)PE上已經(jīng)可以 接收到所述組播組的數(shù)據(jù)流,因此不需要通過再次向組播源側(cè)轉(zhuǎn)發(fā)用戶的 IGMP加入報文來引入上述組播組的數(shù)據(jù)流。這樣不僅節(jié)省了網(wǎng)絡(luò)帶寬資源 的消耗、而且也降低了網(wǎng)絡(luò)中設(shè)備的負載。
當用戶側(cè)的PE偵聽到的IGMP協(xié)議報文為用戶的IGMP離開報文時, 根據(jù)檢索到的組播源所在的VPN ID和用戶IGMP離開報文中的組播MAC 地址,檢索組播成員關(guān)系表,當檢索到匹配表項時,將該表項中用戶的下行 AC端口以及該用戶所在的VPN ID從出接口信息中刪除。當判斷出該組播 成員關(guān)系表項的出接口信息為空時,可以將該表項刪除,并將IGMP離開報 文轉(zhuǎn)發(fā)給組播源側(cè)的PE,但在此之前不需要轉(zhuǎn)發(fā)IGMP離開報文。這是因 為當組播成員關(guān)系表中某一表項的出接口信息不為空時,則表明該組播組中 還有其它用戶需要接收上述組播組的數(shù)據(jù)流,因此不需要通過向組播源側(cè)轉(zhuǎn) 發(fā)用戶的IGMP離開4艮文來停止轉(zhuǎn)發(fā)該組l番組的凄i:據(jù)流,
此夕卜,IGMP協(xié)議報文是在組播源所在的VPN內(nèi),從用戶側(cè)的PE轉(zhuǎn)發(fā) 到達組播源側(cè)PE,報文在轉(zhuǎn)發(fā)出去的時候封裝了 MPLS標簽。如果兩側(cè)的 PE設(shè)備中間有P設(shè)備時,則不需要通過IGMP SNOOPING偵聽并形成組播 成員關(guān)系表項,而是進行普通的MPLS標簽轉(zhuǎn)發(fā)。
組播數(shù)據(jù)流的轉(zhuǎn)發(fā)過程為當組播源側(cè)PE收到組播數(shù)據(jù)流時,根據(jù)組 播源所在的VPN ID和組播MAC地址,檢索本地組4番成員關(guān)系表,然后將 組播數(shù)據(jù)流從查找到的下行PW端口發(fā)送出去,到達用戶側(cè)的PE;用戶側(cè)PE收到組播數(shù)據(jù)流時,根據(jù)組播源所在的VPNID和組播MAC地址,檢索 本地組播成員關(guān)系表,然后根據(jù)查找到的用戶所在VPN ID以及下行AC端 口 ,將組#"數(shù)據(jù)流發(fā)送#合請求加入該組播組的用戶。
綜上所述,本發(fā)明公開的跨虛擬專用局域網(wǎng)組播方法的具體的實施過程 如圖2所示,包括
步驟S201.組播路由器在其所在的虛擬專用局域網(wǎng)(即組播源所在的 VPN )內(nèi)定期發(fā)送IGMP通用查詢報文,使得VSI內(nèi)的所有PE收到該查詢 報文,都形成組播源所在VPN的路由器端口。其中,組播源側(cè)的PE形成組 播源所在VPN的AC路由器端口 ,用戶側(cè)的PE形成組播源所在VPN的PW 路由器端口;
步驟S202.用戶側(cè)的PE偵聽和組播源在不同虛擬專用局域網(wǎng)內(nèi)的用戶 的IGMP協(xié)議報文;
步驟S203.用戶側(cè)的PE根據(jù)用戶AC端口上事先配置好的組播業(yè)務(wù)權(quán) 限規(guī)則,判斷所述用戶是否擁有相應(yīng)組播業(yè)務(wù)的權(quán)限。該權(quán)限規(guī)則規(guī)定了不 同VPN的用戶對每個組播業(yè)務(wù)的訪問權(quán)限是允許還是拒絕。如果用戶有相 應(yīng)組播業(yè)務(wù)的權(quán)限,則繼續(xù)執(zhí)行步驟S204,否則直接丟棄所述用戶的IGMP 協(xié)議報文,結(jié)束對該次組播請求的處理;
步驟S204.用戶側(cè)的PE分析偵聽到的IGMP協(xié)議報文,并根據(jù)報文中 的組播組地址信息,查找到組播源所在的VPN ID,同時維護(包括建立、 更新或刪除)本地組播成員關(guān)系表;
步驟S205.用戶側(cè)的PE通過步驟S201所述的PW路由器端口 ,將用 戶的IGMP協(xié)議才艮文轉(zhuǎn)發(fā)給組播源側(cè)的PE;
步驟S206.組播源側(cè)的PE分析偵聽到的IGMP協(xié)議報文,并根據(jù)報文 中的信息建立、更新或刪除本地組播成員關(guān)系表;
步驟S207.組播源側(cè)的PE通過步驟S201所述的AC路由器端口 ,將 IGMP協(xié)議報文轉(zhuǎn)發(fā)給組播路由器,從而向組播源所在VPN內(nèi)引入或停止 轉(zhuǎn)發(fā)相應(yīng)的組播數(shù)據(jù)流。如果是引入相應(yīng)的組播數(shù)據(jù)流,則繼續(xù)執(zhí)行步驟S208,否則結(jié)束;
步驟S208.組播源側(cè)的PE收到組播數(shù)據(jù)流時,根據(jù)步驟S206所述的 組播成員關(guān)系表,將組播數(shù)據(jù)流從查找到的下行PW端口發(fā)送出去,到達用 戶側(cè)的PE;
步驟S209.用戶側(cè)的PE收到組播數(shù)據(jù)流時,根據(jù)步驟S204所述的組 播成員關(guān)系表,將組插-數(shù)據(jù)流發(fā)送給請求加入該組4番組的用戶。
其中,步驟S204 S206主要是偵聽并分析用戶的IGMP協(xié)議報文,并根 據(jù)所述報文是IGMP加入或IGMP離開的具體情況,建立、更新或刪除組播 成員關(guān)系表。
一方面,當用戶側(cè)的PE偵聽到和組播源在不同VPN的用戶的IGMP 加入報文時,具體的實施過程如圖3所示,包括
步驟S301.用戶側(cè)的PE根據(jù)用戶IGMP加入4艮文中的組地址,查找事 先配置好的組播組地址和組播源所在VPN的對應(yīng)關(guān)系表,從而得到組播源 所在的VPNID;
步驟S302.用戶側(cè)的PE 4艮據(jù)組纟番源所在的VPN ID和用戶IGMP加入 報文中的組播MAC地址,檢索組播成員關(guān)系表中是否已經(jīng)存在相應(yīng)的表項。 如果不存在,則執(zhí)行步驟S303;如果已經(jīng)存在,則執(zhí)行步驟S304;
步驟S303.用戶側(cè)的PE根據(jù)組播源所在的VPN ID和用戶IGMP加入 報文中的組播MAC地址,建立組播成員關(guān)系表,并且將用戶的下行AC端 口以及用戶所在的VPNID添加到表項的出接口信息中。該步驟執(zhí)行完畢之 后,繼續(xù)執(zhí)行步驟S306;
步驟S304.用戶側(cè)的PE檢索組播成員關(guān)系表項的出接口信息中,是否 已經(jīng)存在收到用戶IGMP加入報文的接口。如果不存在,則執(zhí)行步驟S305; 如果已經(jīng)存在,則結(jié)束對該次組播加入請求的處理;
步驟S305.用戶側(cè)的PE在出接口信息中添加所述用戶的下行AC端口 、 以及用戶所在的VPN ID。該步驟執(zhí)行完畢之后,結(jié)束對該次組播加入請求 的處理;步驟S306.用戶側(cè)的PE通過步驟S201所述的PW ^各由器端口 ,將用 戶的IGMP加入報文轉(zhuǎn)發(fā)給組播源側(cè)的PE。所述加入報文是在組纟番源所在 的VPN內(nèi)轉(zhuǎn)發(fā),并且在P設(shè)備上進行MPLS標簽轉(zhuǎn)發(fā);
步驟S307.組播源側(cè)的PE偵聽到來自PW的IGMP加入報文,根據(jù)組 播源所在的VPN ID和IGMP加入報文中的組播MAC地址,檢索組播成員 關(guān)系表中是否已經(jīng)存在相應(yīng)的表項。如果不存在,則執(zhí)行步驟S308;如果 已經(jīng)存在,則執(zhí)行步驟S309;
步驟S308.組纟番源側(cè)的PE根據(jù)組播源所在的VPN ID和用戶IGMP加 入報文中的組播MAC地址,建立組播成員關(guān)系表,并且將下行PW端口添 加到表項的出接口信息中。該步驟執(zhí)行完畢之后,繼續(xù)執(zhí)行步驟S311;
步驟S309.組播源側(cè)的PE檢索組播成員關(guān)系表項的出接口信息中,是 否已經(jīng)存在收到IGMP加入報文的下行PW端口。如果不存在,則執(zhí)行步驟 S310;如果已經(jīng)存在,則結(jié)束對該次組^番加入請求的處理;
步驟S310.組播源側(cè)的PE在出接口信息中添加所述的下行PW端口 。 該步驟執(zhí)行完畢之后,結(jié)束對該次組播加入請求的處理;
步驟S311.組播源側(cè)的PE通過步驟S201所述的AC路由器端口 ,將 IGMP加入報文轉(zhuǎn)發(fā)給組播路由器,從而向組播源所在的VPN內(nèi)引入組播
數(shù)據(jù)流。
另一方面,當用戶側(cè)的PE偵聽到和組^燔源在不同VPN的用戶的IGMP 離開4艮文時,具體的實施過程如圖4所示,包括
步驟S401.用戶側(cè)的PE根據(jù)用戶IGMP離開報文中的組地址,查找事 先配置好的組播組地址和組播源所在VPN的對應(yīng)關(guān)系表,從而得到組播源 所在的VPN ID。
步驟S402.用戶側(cè)的PE才艮據(jù)組播源所在的VPN ID和用戶IGMP離開 報文中的組播MAC地址,檢索組播成員關(guān)系表。當匹配到相應(yīng)的表項時, 將接收用戶IGMP離開報文的下行AC端口、以及用戶所在的VPNID從出 接口信息中刪除。步驟S403.用戶側(cè)的PE檢查所述組播成員關(guān)系表項中的出接口信息是 否為空。如果為空,則執(zhí)行步驟S404;如果不為空,則結(jié)束對該次組播離 開請求的處理。
步驟S404.用戶側(cè)的PE刪除所述組播成員關(guān)系表項。
步驟S405.用戶側(cè)的PE通過步驟S201所述的PW路由器端口 ,將用 戶的IGMP離開報文轉(zhuǎn)發(fā)給組播源側(cè)的PE。所述離開報文是在組播源所在 的VPN內(nèi)轉(zhuǎn)發(fā),并且在P設(shè)備上進行MPLS標簽轉(zhuǎn)發(fā)。
步驟S406.組播源側(cè)的PE偵聽到來自PW的IGMP離開報文,根據(jù)組 播源所在的VPN ID和IGMP離開報文中的組播MAC地址,檢索組播成員 關(guān)系表。當匹配到相應(yīng)的表項時,將接收IGMP離開報文的下行PW端口從 出接口信息中刪除。
步驟S407.組播源側(cè)的PE檢查所述組播成員關(guān)系表項中的出接口信息 是否為空。如果為空,則執(zhí)行步驟S408;如果不為空,則結(jié)束對該次組4番 離開請求的處理。
步驟S408.組播源側(cè)的PE刪除所述組播成員關(guān)系表項。
步驟S409.組播源側(cè)的PE通過步驟S201所述的AC路由器端口 ,將 IGMP離開報文轉(zhuǎn)發(fā)給組播路由器,從而向組播源所在的VPN內(nèi)停止轉(zhuǎn)發(fā) 組才番lt悟流。
通過上述步驟的描述可以看到,當用戶側(cè)的PE偵聽到和組^燔源在不同 VPN的用戶的IGMP加入報文時,根據(jù)報文中的組地址信息,找到組播源 所在的VPN ID,并且在所述VPN內(nèi)形成組播成員關(guān)系表項,同時將用戶的 下行AC端口 、以及用戶所在的VPN ID添加到表項的出接口信息中。這樣 當組4番源所在VPN的組纟番數(shù)據(jù)流到達用戶側(cè)的PE時,才企索到匹配的組纟番成 員關(guān)系表項,并且根據(jù)出接口信息中的用戶下行AC端口、以及用戶所在的 VPN ID,完成組播數(shù)據(jù)流的封裝之后,將其轉(zhuǎn)發(fā)到用戶所在的VPN內(nèi),最 終實現(xiàn)了跨VPN的組播復(fù)制。
16為了描述更加清楚,下面結(jié)合一個具體的應(yīng)用實例,針對用戶加入、離 開組播組的情況,對如何實現(xiàn)跨虛擬專用局域網(wǎng)的可控組播方法加以詳細說
明。其中,網(wǎng)絡(luò)模型如圖5所示,PE1連接組播路由器和組播源,PE2和PE3 連接用戶設(shè)備,組播源在VPN1內(nèi),用戶1和用戶2在VPN 2內(nèi),用戶3 和用戶4在VPN 3內(nèi)。
首先,組播路由器在VPN1內(nèi)定期發(fā)送通用查詢報文,PE1收到該查詢 報文,記錄對應(yīng)的AC1端口和VPN ID,然后形成VPN 1的AC1路由器端 口 。同時,該查詢報文通過PW向PE2和PE3轉(zhuǎn)發(fā),PE2、 PE3收到該查詢 報文,同樣記錄對應(yīng)的PW端口和VPN ID,然后分別形成VPN 1的PW1 和PW2路由器端口。
(1 )跨虛擬專用局域網(wǎng)的用戶加入
當VPN 2內(nèi)的用戶1期望接收組播組225.1.1.1的組播數(shù)據(jù)流時,會發(fā) 送相應(yīng)組的IGMP加入報文,該報文通過CE2透傳到達PE2。 PE2從AC2 端口偵聽到所述IGMP加入報文,根據(jù)該端口配置的組播業(yè)務(wù)權(quán)限,得知該 用戶擁有相應(yīng)組播業(yè)務(wù)的權(quán)限。接著再根據(jù)用戶IGMP加入才良文中的組地址 225.1.1.1,查找到組播源所在的VPN ID為1,從而形成相應(yīng)的組播成員關(guān) 系表項(組播源所在的VPN ID: 1,組播MAC地址0100.5e01.01.01 ,用 戶的下行AC2端口,用戶所在的VPNID: 2)。
由于用戶1是第一個加入組寺番組225.1.1.1的用戶,因此通過PE2的PW1 路由器端口,向PE1轉(zhuǎn)發(fā)IGMP加入報文。PE1偵聽到所述IGMP加入報文, 同樣形成一個組-潘成員關(guān)系表項(組*燔源所在VPN ID: 1,組4番MAC ;也址 0100.5e01.01.01,到達PE2的下行PW1端口 )。
PE1通過AC1路由器端口,向組播路由器轉(zhuǎn)發(fā)IGMP加入報文,從而 引入組播組225.1.1.1的組播數(shù)據(jù)流。當PE1收到該組播數(shù)據(jù)流時,根據(jù)VPN ID和組播MAC地址檢索組播成員關(guān)系表,結(jié)果匹配到(組播源所在VPN ID: 1,組播MAC地址0100.5e01.01.01,到達PE2的下行PW1端口 )條目, 因此將組4番數(shù)據(jù)流從PW1端口發(fā)送出去,達到PE2。當PE2收到組播組 225.1.1.1的組播數(shù)據(jù)流時,根據(jù)VPN ID和組播MAC地址;險索組播成員關(guān) 系表,結(jié)果匹配到(組播源所在的VPN ID: 1,組播MAC地址0100.5e01.01.01,用戶的下行AC2端口,用戶所在的VPNID: 2)條目,因 此將組播數(shù)據(jù)流從AC2端口發(fā)送出去。
最終,實現(xiàn)了 VPN 2內(nèi)的用戶1訪問VPN 1內(nèi)的組4番源,接收組4番組 225.1.1.1的組播數(shù)據(jù)流。
(2)跨虛擬專用局域網(wǎng)的用戶離開
當VPN 2內(nèi)的用戶1不再期望接收組播組225.1.1.1的組播流時,會發(fā) 送相應(yīng)組的IGMP離開報文,該報文通過CE2透傳到達PE2。 PE2從AC2 端口偵聽到所述IGMP離開報文,根據(jù)該端口配置的組播業(yè)務(wù)權(quán)限,得知該 用戶擁有相應(yīng)組播業(yè)務(wù)的權(quán)限。接著再根據(jù)用戶IGMP離開報文中的組地址 225.1.1.1,查找到組播源所在的VPN ID為1 ,根據(jù)VPN ID和組播MAC地 址檢索組播成員關(guān)系表,結(jié)果匹配到(組播源所在的VPNID: 1,組播MAC 地址0100.5e01.01.01,用戶的下行AC2端口,用戶所在的VPNID: 2)條 目。由于所述表項中只有用戶l對應(yīng)的出接口,所以直接刪除所述表項。
由于用戶1是最后一個離開組播組225.1.1.1的用戶,因此通過PE2的 PW1 ;洛由器端口 ,向PE1轉(zhuǎn)發(fā)IGMP離開才艮文。PE1偵聽到所述IGMP離 開報文,根據(jù)VPN ID和組播MAC地址檢索組播成員關(guān)系表,結(jié)果匹配到 (組播源所在VPNID: 1,組4番MAC地址0100.5e01.01.01,到達PE2的 下行PW1端口 )條目,同樣刪除所述表項。
PE1通過AC1路由器端口,向組播路由器轉(zhuǎn)發(fā)IGMP離開報文,從而 停止轉(zhuǎn)發(fā)組l番組225.1.1.1的組播數(shù)據(jù)流。
最終,VPN2內(nèi)的用戶1不再4妄收組4番組225.1.1.1的組^Nfet據(jù)流。
由上述本發(fā)明提供的實施例的具體實施過程可以看到,通過擴展VSI 內(nèi)的IGMP SNOOPING技術(shù),能夠?qū)崿F(xiàn)了跨虛擬專用局域網(wǎng)的可控組才番。 從而可以拓展VPLS組播的業(yè)務(wù)范圍,消除VPLS組播技術(shù)在組網(wǎng)運用方面 的一些局限性,使VPLS組播能夠更好地適應(yīng)各種網(wǎng)絡(luò)的運用。
當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的 形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1、一種實現(xiàn)跨虛擬專用局域網(wǎng)(VPN)組播的方法,其特征在于,組播源側(cè)運營商邊緣路由器(PE)和用戶側(cè)PE上均創(chuàng)建有組播源所在VPN的虛擬交換實例(VSI),且所述組播源側(cè)PE和所述用戶側(cè)PE在此VSI內(nèi)已建立偽線(PW)連接;利用組播路由器在組播源所在的VPN內(nèi)發(fā)送的互聯(lián)網(wǎng)組管理協(xié)議(IGMP)通用查詢報文,所述組播源側(cè)PE和用戶側(cè)PE分別形成組播源所在VPN的上行路由器端口信息;所述用戶側(cè)PE和組播源側(cè)PE分別根據(jù)偵聽到的非組播源所在VPN內(nèi)的用戶發(fā)起的IGMP協(xié)議報文中攜帶的組播信息,維護本地的組播成員關(guān)系表;其中,用戶側(cè)PE和組播源側(cè)PE中的組播成員關(guān)系表的表項中均包括組播源所在的VPN ID、組播MAC地址及下行出接口信息;組播源側(cè)PE和用戶側(cè)PE在收到組播數(shù)據(jù)流時,分別根據(jù)組播源所在的VPN ID和組播MAC地址檢索本地保存的組播成員關(guān)系表,然后將所述組播數(shù)據(jù)流從檢索到的表項的下行出接口中轉(zhuǎn)發(fā)出去。
2、 如權(quán)利要求l所述的方法,其特征在于,當用戶側(cè)PE偵聽到的所述IGMP協(xié)議報文為IGMP加入報文時,所述 用戶側(cè)PE維護本地的組播成員關(guān)系表是指所述用戶側(cè)PE根據(jù)所述組纟番源所在的VPN ID和所述IGMP加入凈艮文 攜帶的組播MAC地址,檢索本地組播成員關(guān)系表中是否存在匹配表項;如 存在,則在所述匹配表項中添加該用戶的下行出接口信息;否則,創(chuàng)建新表 項,且在所述匹配表項中添加該用戶的下行出接口信息。
3、 如權(quán)利要求2所述方法,其特征在于,如所述用戶側(cè)PE沒有在本地組播成員關(guān)系表中查找到匹配表項,則還 包括所述用戶側(cè)PE將偵聽到的所述IGMP加入報文通過本地保存的組播源 所在VPN的上行路由器端口信息轉(zhuǎn)發(fā)給所述組播源側(cè)PE;如所述用戶側(cè)PE在本地組播成員關(guān)系表中查找到匹配表項,則不轉(zhuǎn)發(fā)所述IGMP加入纟艮文。
4、 如權(quán)利要求l所述的方法,其特征在于,當用戶側(cè)PE偵聽到的所述IGMP協(xié)議報文為IGMP離開才艮文時,所述 用戶側(cè)PE維護本地的組播成員關(guān)系表是指所述用戶側(cè)PE根據(jù)所述組播源所在的VPN ID和所述IGMP離開報文 中攜帶的組播MAC地址,檢索本地組播成員關(guān)系表中是否存在匹配表項; 如存在,則在該匹配表項中將該用戶的下行出接口信息刪除。
5、 如權(quán)利要求4所述的方法,其特征在于,在完成下行出接口信息刪除后,如判斷出該匹配表項的下行出接口信息 為空,則所述用戶側(cè)PE將該表項刪除。
6、 如權(quán)利要求4或5所述的方法,其特征在于,在完成下行出接口信息刪除后,如判斷出該匹配表項的下行出接口信息 為空,則所述用戶側(cè)PE將偵聽到的所述IGMP離開報文通過本地保存的組 播源所在VPN的上行路由器端口信息轉(zhuǎn)發(fā)給所述組播源側(cè)PE;否則,所述 用戶側(cè)PE不轉(zhuǎn)發(fā)所述IGMP離開報文。
7、 如權(quán)利要求1~5中任意一項所述的方法,其特征在于,所述用戶側(cè)PE中的組播成員關(guān)系表表項中的下行出接口信息包括用 戶下行AC端口及用戶所在的VPN ID信息;組播源測PE中的組4番成員關(guān) 系表表項中的下行出接口信息包括下行PW端口信息。
8、 如權(quán)利要求1 5中任意一項所述的方法,其特征在于, 所述用戶側(cè)PE上配置有每個組,牆組地址和組〗番源所在VPN的對應(yīng)關(guān)系;所述IGMP協(xié)議報文中攜帶的組播信息除所述組播MAC地址外,還包 括組纟番組地址信息;所述組播源所在的VPN ID為所述用戶側(cè)PE根據(jù)偵聽到的所述IGMP 協(xié)議報文中攜帶的組播組地址信息對應(yīng)得到的。
9、 如權(quán)利要求7所述方法,其特征在于,所述用戶側(cè)PE的AC端口上配置有組播業(yè)務(wù)權(quán)限規(guī)則;所述用戶側(cè)PE在接收到用戶發(fā)來的所述IGMP協(xié)議報文后,先4艮據(jù)事 先配置的所述組播業(yè)務(wù)權(quán)限規(guī)則判斷所述用戶是否有訪問其請求的組播的 權(quán)限,如有,則進行后續(xù)維護本地的組播成員關(guān)系表的工作;否則,丟棄所 述IGMP協(xié)i義纟艮文。
10、 如權(quán)利要求1 3中任意一項所述的方法,其特征在于,當所述組播源側(cè)PE偵聽到的IGMP協(xié)議報文為IGMP加入報文時,所 述組播源測PE維護本地的組播成員關(guān)系表是指所述組播源側(cè)PE根據(jù)本地VPN ID和所述IGMP加入報文攜帶的組播 MAC地址,檢索本地組播成員關(guān)系表中是否存在匹配表項;如存在,則在 所述匹配表項中添加下行PW端口信息;否則,創(chuàng)建新表項,且在所述匹配 表項中添加該下行PW端口信息。
11、 如權(quán)利要求l、 4或5中任意一項所述的方法,其特征在于,當所述組"l番源側(cè)PE偵聽到的IGMP協(xié)議才艮文為IGMP離開凈艮文時,所 述組播源測PE維護本地的組播成員關(guān)系表是指所述組纟番源側(cè)PE根據(jù)本地VPN ID和所述IGMP離開報文攜帶的組播 MAC地址,檢索本地組播成員關(guān)系表中是否存在匹配表項;如存在,將在 該表項中刪除接收所述IGMP離開報文的下行PW端口信息。
12、 如權(quán)利要求11所述的方法,其特征在于,在完成下行PW端口信息刪除后,如判斷出該匹配表項的下行PW端口 信息為空,則所述組播源側(cè)PE將該表項刪除。
全文摘要
實現(xiàn)跨VPN組播的方法,包括組播源側(cè)PE和用戶側(cè)PE均創(chuàng)建有組播源所在VPN的虛擬交換實例(VSI),且在此VSI內(nèi)已建立偽線(PW)連接;組播路由器在組播源所在的VPN內(nèi)發(fā)送的互聯(lián)網(wǎng)組管理協(xié)議(IGMP)通用查詢報文,組播源側(cè)PE和用戶側(cè)PE分別形成組播源所在VPN的上行路由器端口信息;用戶側(cè)PE和組播源側(cè)PE分別根據(jù)偵聽到的非組播源所在VPN內(nèi)的用戶發(fā)起的IGMP協(xié)議報文中攜帶的組播信息,維護本地的組播成員關(guān)系表;組播源側(cè)PE和用戶側(cè)PE在收到組播數(shù)據(jù)流時,分別根據(jù)組播源所在的VPN ID和組播MAC地址檢索本地保存的組播成員關(guān)系表,然后將組播數(shù)據(jù)流從檢索到的表項的下行出接口中轉(zhuǎn)發(fā)出去。
文檔編號H04L12/18GK101616014SQ20091016103
公開日2009年12月30日 申請日期2009年7月30日 優(yōu)先權(quán)日2009年7月30日
發(fā)明者嫄 馬 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1