一种实现跨虚拟专用局域网组播的方法

文档序号:7710880阅读:151来源:国知局
专利名称:一种实现跨虚拟专用局域网组播的方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种实现跨虚拟专用局域网组 播的方法。
背景技术
VPLS (Virtual Private LAN Service,虚拟专用局域网业务)是一种在 MPLS (Multi-Protocol Label Switch,多协议标签交换)/IP网络中提供点到 多点的L2 VPN ( L2 Virtual Private Networks, 二层虚拟专用网络)技术。其 核心思想是利用信令协议在VPLS实例中的PE ( Provider Edge ,运营商边缘 路由器)节点之间建立及维护PW (PseudoWire,伪线),将协议或数据报 文封装后在PW上传输、交换,使广域范围内多个局域网在数据链路层面被 整合为一张网络,向用户提供虚拟的以太网服务。
目前,越来越多的运营商采用VPLS技术为企业用户提供VPN业务。 通过将不同部门划分到不同的VPN中可以实现部门间的数据隔离。同样地, 对部门内部的视频会议、数据共享等组播业务也需要实现VPN隔离。
和以太网交换4几一样,在VPLS的VSI ( Virtual Switch Instance,虛拟交 换实例)内,当没有运行任何组播协议时,收到未知的组播数据流采用洪泛 的方式,转发到VSI内的所有端口 ,包括本地的所有AC( Attachment Circuit, 接入链路)以及PW,使得连接到VSI的所有CE (CustomerEquipment,用 户设备)都能收到该组播数据流。但事实上,并不是所有CE都希望接收该 组播数据流,因此采用上述方式不仅浪费了网络带宽资源、而且也增加了网 络中设备的负载。
目前,为了解决该问题,主要采用的方法是在PE设备上运行VSI内的 IGMP (Internet Group Management Protocol,互联网组管理协i义)SNOOPING(监听)。PE可通过该技术侦听IP主机和组播路由器之间交互的IGMP协 议报文,为VSI内的AC、 PW端口和组播MAC ( Media Access Control, i某 体访问控制)地址建立映射关系,并根据该映射关系转发组播数据流。
该技术的网络模型如图1所示,其中,PEl连接组播路由器和组播源(即 组播服务器),PE2和PE3分别连接CE2、 CE3、 CE4、 CE5,并且组播源、 用户1、用户2、用户3和用户4都在同一个虛拟专用局域网内。要求PE1、 PE2和PE3上同时运行VSI内的IGMP SNOOPING。具体的实现步骤如下
首先,当组播路由器启动組播功能之后,它会以224.0.0.1为目的IP地 址,在VPN 1内定期向所有其它的组播路由器和用户设备发送IGMP通用 查询报文,用来查询是否存在某个组播地址的组成员。PE1收到该查询报文 后,记录对应的AC1端口和VPNID,然后形成VPN1的AC1路由器端口。 同时,该查询报文分别通过PW1和PW2向PE2和PE3转发。PE2、 PE3收 到该查询净艮文后,同才羊记录对应的PW端口和VPN ID,然后分别形成VPN 1的PW1和PW2i 各由器端口。
接着,当VPN 1的用户1期望接收组播组225.1.1.1的组4番数据流时, 会发送相应组的IGMP加入^艮文,该才艮文通过CE2透传到PE2,此时VSI 内的IGMP SNOOPING侦听到该加入报文,形成VPN 1的组播成员关系表 项(VPN ID: 1 ,组播MAC地址0100.5e01.0101 ,用户的下行AC2端口 )。 同时,PE2通过之前形成的PW1路由器端口 ,向组纟番源侧的PEl转发IGMP 加入报文。PEl侦听到该加入报文后,同样形成VPN 1的组播成员关系表项 (VPNID: 1,组^番MAC地址0100.5e01.0101,到达PE2的下行PW1端 o )。
然后,PE1通过之前形成的AC1路由器端口,向组播路由器转发IGMP 加入报文,从而引入组播组225.1.1.1的组播数据流。当PEl收到该组播数 据流时,根据VPN ID和组播MAC地址检索组播成员关系表,结果匹配到 (VPNID: 1,组才番MAC;也址0100.5e01.0101,到达PE2的下4亍PW1端 口 )条目,因此将组播数据流从PW1端口转发出去,达到PE2。当PE2收 到组播组225.1.1.1的组播数据流时,同样根据VPN ID和组播MAC地址检 索组^番成员关系表,结果匹配到(VPN ID: 1,组播MAC地址
60100.5e01.0101,用户的下行AC2端口 )条目,因此将组播数据流从AC2 端口转发出去。
最终,在VPN 1对应的虚拟专用局域网内只有用户l可以收到组4番组 225.U.1的组播数据流,因此有效的防止了组播数据流的洪泛。
虽然以上技术可以实现VPLS网络内的组播业务,但是要求所有用户和 组播源都在同 一个虚拟专用局域网内,这就给VPLS技术的大规模部署和广 泛应用带来了很大程度的限制。而且在实际的网络应用中,存在^艮多^争虚拟 专用局域网的组播业务,如视频会议、安全监控等,因此我们除了需要采用 VPLS技术进行组播隔离外,还需要在一些特定条件下做到跨虚拟专用局域 网的可控组播访问,以为用户提供更加灵活的业务模式,提高VPLS在实际 运用中的组网能力。

发明内容
本发明所要解决的技术问题在于,提供一种实现跨虛拟专用局域网组播 的方法,以使得即使用户和组播源在不同虛拟专用局域网的情况下,不需要 增加额外的三层设备,也能够实现可控的组播访问,增强了网络部署的灵活 性,拓宽了 VPLS组播业务的运用范围。
为解决上述问题,本发明才是供了一种实现跨虚拟专用局域网(VPN)组 播的方法,包括
组播源侧运营商边缘路由器(PE)和用户侧PE上均创建有组播源所在 VPN的虚拟交换实例(VSI),且所述组播源侧PE和所述用户侧PE在此 VSI内已建立伪线(PW)连接;利用组播路由器在组播源所在的VPN内发 送的互联网组管理协议(IGMP )通用查询报文,所述组4番源侧PE和用户侧 PE分别形成组播源所在VPN的上行路由器端口信息;
所述用户侧PE和组纟番源侧PE分别根据侦听到的非组播源所在VPN内 的用户发起的IGMP协议报文中携带的组播信息,维护本地的组播成员关系 表;其中,用户侧PE和组播源侧PE中的组播成员关系表的表项中均包括 组播源所在的VPNID、组播MAC地址及下行出接口信息;组播源侧PE和用户侧PE在收到组播数据流时,分别根据组播源所在 的VPN ID和组播MAC地址检索本地保存的组播成员关系表,然后将所述 组播数据流从检索到的表项的下行出接口中转发出去。
进一步地,上述方法还可具有以下特征
当用户侧PE侦听到的所述IGMP协议报文为IGMP加入报文时,所述 用户侧PE维护本地的组播成员关系表是指
所述用户侧PE根据所述组播源所在的VPN ID和所述IGMP加入才艮文 携带的组播MAC地址,检索本地组播成员关系表中是否存在匹配表项;如 存在,则在所述匹配表项中添加该用户的下行出接口信息;否则,创建新表 项,且在所述匹配表项中添加该用户的下行出接口信息。
进一步地,上述方法还可具有以下特征
如所述用户侧PE没有在本地组播成员关系表中查找到匹配表项,则还 包括
所述用户侧PE将侦听到的所述IGMP加入^艮文通过本地保存的组播源 所在VPN的上行路由器端口信息转发给所述组播源侧PE;
如所述用户侧PE在本地组播成员关系表中查找到匹配表项,则不转发 所述IGMP加入报文。
进一步地,上述方法还可具有以下特征
当用户侧PE侦听到的所述IGMP协议才艮文为IGMP离开报文时,所述 用户侧PE维护本地的组播成员关系表是指
所述用户侧PE根据所述组播源所在的VPN ID和所述IGMP离开报文 中携带的组播MAC地址,检索本地组播成员关系表中是否存在匹配表项; 如存在,则在该匹配表项中将该用户的下行出接口信息删除。
进一步地,上述方法还可具有以下特征
在完成下行出接口信息删除后,如判断出该匹配表项的下行出接口信息 为空,则所述用户侧PE将该表项删除。
进一步地,上述方法还可具有以下特征在完成下行出接口信息删除后,如判断出该匹配表项的下行出接口信息
为空,则所述用户侧PE将侦听到的所述IGMP离开报文通过本地保存的组 播源所在VPN的上行路由器端口信息转发给所述组播源侧PE;否则,所述 用户侧PE不转发所述IGMP离开才艮文。
进一步地,上述方法还可具有以下特征
所述用户侧PE中的组播成员关系表表项中的下行出接口信息包括用 户下行AC端口及用户所在的VPN ID信息;组播源测PE中的组播成员关 系表表项中的下行出接口信息包括下行PW端口信息。
进一步地,上述方法还可具有以下特征
所述用户侧PE上配置有每个组t番组地址和组4番源所在VPN的对应关
系;
所述IGMP协议报文中携带的组播信息除所述组播MAC地址外,还包 ^括组纟番组地址信息;
所述组播源所在的VPN ID为所述用户侧PE根据侦听到的所述IGMP 协议报文中携带的组播组地址信息对应得到的。
进一步地,上述方法还可具有以下特征
所述用户侧PE的AC端口上配置有组播业务权限规则;
所述用户侧PE在接收到用户发来的所述IGMP协议才艮文后,先根据事 先配置的所述组播业务权限规则判断所述用户是否有访问其请求的组播的 权限,如有,则进行后续维护本地的组播成员关系表的工作;否则,丟弃所 述IGMP协i义4艮文。
进一步地,上述方法还可具有以下特征
当所述组播源侧PE侦听到的IGMP协议报文为IGMP加入报文时,所 述组播源测PE维护本地的组播成员关系表是指
所述组播源侧PE根据本地VPN ID和所述IGMP加入才艮文携带的组播 MAC地址,检索本地组播成员关系表中是否存在匹配表项;如存在,则在 所述匹配表项中添加下行PW端口信息;否则,创建新表项,且在所述匹配 表项中添加该下行PW端口信息。进一步地,上述方法还可具有以下特征
当所述组播源侧PE侦听到的IGMP协议净艮文为IGMP离开才艮文时,所 述组播源测PE维护本地的组播成员关系表是指
所述组播源侧PE根据本地VPN ID和所述IGMP离开4艮文携带的组播 MAC地址,检索本地组播成员关系表中是否存在匹配表项;如存在,将在 该表项中删除接收所述IGMP离开净艮文的下行PW端口信息。
进一步地,上述方法还可具有以下特征
在完成下行PW端口信息删除后,如判断出该匹配表项的下行PW端口 信息为空,则所述组播源侧PE将该表项删除。
本发明的技术效果在于
本发明通过扩展VSI内的IGMP SNOOPING技术,实现了跨虚拟专用 局域网的组播,解决了现有VPLS网络的组播业务中组播源和用户必须在同 一个虚拟专用局域网内的缺陷,从而给用户带来了更加灵活的业务模式,提 高了 VPLS组播在实际运用中的组网能力,拓宽了 VPLS组播业务的运用范围。


图l为现有技术中在虚拟专用局域网内实现组播转发的组网示意图; 图2为本发明实施例中实现跨虚拟专用局域网组播方法的流程图3为本发明实施例中跨虚拟专用局域网IGMP加入才艮文的处理流程
图4为本发明实施例中跨虚拟专用局域网IGMP离开l艮文的处理流程
图5为本发明实施例中实现跨虚拟专用局域网可控组播的组网示意图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
为了解决上述问题,本发明提供了 一种实现跨虚拟专用局域网组播的方
法。具体实现包括以下步骤
组播源侧PE和用户侧PE上均创建有组播源所在VPN的VSI,且组播 源侧PE和用户侧PE在此VSI内已建立PW连接;利用组播路由器在组播 源所在的VPN内定期发送的IGMP通用查询l艮文,组纟番源側PE和用户侧 PE分别形成组播源所在VPN的上行路由器端口信息(其中,组播源侧PE 形成组播源所在VPN的AC路由器端口 ,用户侧PE形成组播源所在VPN 的PW^各由器端口 );
用户侧PE和组播源侧PE分别4艮据侦听到的非组播源所在VPN内的用 户发起的IGMP协议报文中携带的组播信息,维护本地的组播成员关系表; 其中,用户侧PE和组播源侧PE中的组4番成员关系表的表项中均包括组 播源所在的VPNID、组播MAC地址及下行出接口信息;其中,用户侧PE 中的组播成员关系表表项中的下行出接口信息包括用户下行AC端口及用 户所在的VPN ID信息;组播源侧PE中的组播成员关系表表项中的下行出 接口信息包括下行PW端口信息;
组播源侧PE和用户侧PE在收到组播数据流时,分别根据组播源所在 的VPN ID和组播MAC地址检索本地保存的组播成员关系表,然后将组播 数据流从检索到的表项的下行出接口中转发出去。
如在用户侧PE的AC端口上进4亍组4番业务的外又限配置,则用户侧PE 可以根据该权限判断侦听到的用户IGMP协议报文是否应该丟弃,从而实现 组#"业务的可控性。
用户侧的PE上配置每个组纟番组i也址和组4番源所在VPN的对应关系,可 以一对一,也可以多对一。且IGMP协议报文中携带的组播信息包括组播组 地址信息;当用户侧PE侦听到和组播源在不同VPN的用户的IGMP协议报 文时,就可以根据报文中携带的组播组地址信息,检索上述对应关系,从而 得知组纟番源所在的VPN ID。
当用户侧的PE侦听到的IGMP协议才艮文为用户的IGMP加入才艮文时,
ii根据检索到的组播源所在的VPN ID和IGMP加入报文中的组播MAC地址, 检索组播成员关系表中是否已经存在相应的表项。如果已经存在,则在匹配 表项的出接口信息中添加该用户的下行AC端口以及该用户所在的VPN ID; 如果不存在,则根据组播源所在的VPN ID和用户IGMP加入报文中的组播 MAC地址,建立新的组播成员关系表项,并且将该用户的下行AC端口以 及该用户所在的VPN ID添加到该表项的出接口信息中。此外,当用户侧PE 侦听到某个组播组的第一个用户的第一个IGMP加入报文时(即没有4企索到 匹配表项),还需要将接收到的IGMP加入报文转发给组播源側PE,之后 再侦听到相同组播组的其它IGMP加入报文时(即检索到匹配表项),不需 要再向组播源侧PE转发IGMP加入才艮文。因为此时用户侧PE上已经可以 接收到所述组播组的数据流,因此不需要通过再次向组播源侧转发用户的 IGMP加入报文来引入上述组播组的数据流。这样不仅节省了网络带宽资源 的消耗、而且也降低了网络中设备的负载。
当用户侧的PE侦听到的IGMP协议报文为用户的IGMP离开报文时, 根据检索到的组播源所在的VPN ID和用户IGMP离开报文中的组播MAC 地址,检索组播成员关系表,当检索到匹配表项时,将该表项中用户的下行 AC端口以及该用户所在的VPN ID从出接口信息中删除。当判断出该组播 成员关系表项的出接口信息为空时,可以将该表项删除,并将IGMP离开报 文转发给组播源侧的PE,但在此之前不需要转发IGMP离开报文。这是因 为当组播成员关系表中某一表项的出接口信息不为空时,则表明该组播组中 还有其它用户需要接收上述组播组的数据流,因此不需要通过向组播源侧转 发用户的IGMP离开4艮文来停止转发该组l番组的凄i:据流,
此夕卜,IGMP协议报文是在组播源所在的VPN内,从用户侧的PE转发 到达组播源侧PE,报文在转发出去的时候封装了 MPLS标签。如果两侧的 PE设备中间有P设备时,则不需要通过IGMP SNOOPING侦听并形成组播 成员关系表项,而是进行普通的MPLS标签转发。
组播数据流的转发过程为当组播源侧PE收到组播数据流时,根据组 播源所在的VPN ID和组播MAC地址,检索本地组4番成员关系表,然后将 组播数据流从查找到的下行PW端口发送出去,到达用户侧的PE;用户侧PE收到组播数据流时,根据组播源所在的VPNID和组播MAC地址,检索 本地组播成员关系表,然后根据查找到的用户所在VPN ID以及下行AC端 口 ,将组#"数据流发送#合请求加入该组播组的用户。
综上所述,本发明公开的跨虚拟专用局域网组播方法的具体的实施过程 如图2所示,包括
步骤S201.组播路由器在其所在的虛拟专用局域网(即组播源所在的 VPN )内定期发送IGMP通用查询报文,使得VSI内的所有PE收到该查询 报文,都形成组播源所在VPN的路由器端口。其中,组播源侧的PE形成组 播源所在VPN的AC路由器端口 ,用户侧的PE形成组播源所在VPN的PW 路由器端口;
步骤S202.用户侧的PE侦听和组播源在不同虚拟专用局域网内的用户 的IGMP协议报文;
步骤S203.用户侧的PE根据用户AC端口上事先配置好的组播业务权 限规则,判断所述用户是否拥有相应组播业务的权限。该权限规则规定了不 同VPN的用户对每个组播业务的访问权限是允许还是拒绝。如果用户有相 应组播业务的权限,则继续执行步骤S204,否则直接丢弃所述用户的IGMP 协议报文,结束对该次组播请求的处理;
步骤S204.用户侧的PE分析侦听到的IGMP协议报文,并根据报文中 的组播组地址信息,查找到组播源所在的VPN ID,同时维护(包括建立、 更新或删除)本地组播成员关系表;
步骤S205.用户侧的PE通过步骤S201所述的PW路由器端口 ,将用 户的IGMP协议才艮文转发给组播源侧的PE;
步骤S206.组播源侧的PE分析侦听到的IGMP协议报文,并根据报文 中的信息建立、更新或删除本地组播成员关系表;
步骤S207.组播源侧的PE通过步骤S201所述的AC路由器端口 ,将 IGMP协议报文转发给组播路由器,从而向组播源所在VPN内引入或停止 转发相应的组播数据流。如果是引入相应的组播数据流,则继续执行步骤S208,否则结束;
步骤S208.组播源侧的PE收到组播数据流时,根据步骤S206所述的 组播成员关系表,将组播数据流从查找到的下行PW端口发送出去,到达用 户侧的PE;
步骤S209.用户侧的PE收到组播数据流时,根据步骤S204所述的组 播成员关系表,将组插-数据流发送给请求加入该组4番组的用户。
其中,步骤S204 S206主要是侦听并分析用户的IGMP协议报文,并根 据所述报文是IGMP加入或IGMP离开的具体情况,建立、更新或删除组播 成员关系表。
一方面,当用户侧的PE侦听到和组播源在不同VPN的用户的IGMP 加入报文时,具体的实施过程如图3所示,包括
步骤S301.用户侧的PE根据用户IGMP加入4艮文中的组地址,查找事 先配置好的组播组地址和组播源所在VPN的对应关系表,从而得到组播源 所在的VPNID;
步骤S302.用户侧的PE 4艮据组纟番源所在的VPN ID和用户IGMP加入 报文中的组播MAC地址,检索组播成员关系表中是否已经存在相应的表项。 如果不存在,则执行步骤S303;如果已经存在,则执行步骤S304;
步骤S303.用户侧的PE根据组播源所在的VPN ID和用户IGMP加入 报文中的组播MAC地址,建立组播成员关系表,并且将用户的下行AC端 口以及用户所在的VPNID添加到表项的出接口信息中。该步骤执行完毕之 后,继续执行步骤S306;
步骤S304.用户侧的PE检索组播成员关系表项的出接口信息中,是否 已经存在收到用户IGMP加入报文的接口。如果不存在,则执行步骤S305; 如果已经存在,则结束对该次组播加入请求的处理;
步骤S305.用户侧的PE在出接口信息中添加所述用户的下行AC端口 、 以及用户所在的VPN ID。该步骤执行完毕之后,结束对该次组播加入请求 的处理;步骤S306.用户侧的PE通过步骤S201所述的PW ^各由器端口 ,将用 户的IGMP加入报文转发给组播源侧的PE。所述加入报文是在组纟番源所在 的VPN内转发,并且在P设备上进行MPLS标签转发;
步骤S307.组播源侧的PE侦听到来自PW的IGMP加入报文,根据组 播源所在的VPN ID和IGMP加入报文中的组播MAC地址,检索组播成员 关系表中是否已经存在相应的表项。如果不存在,则执行步骤S308;如果 已经存在,则执行步骤S309;
步骤S308.组纟番源侧的PE根据组播源所在的VPN ID和用户IGMP加 入报文中的组播MAC地址,建立组播成员关系表,并且将下行PW端口添 加到表项的出接口信息中。该步骤执行完毕之后,继续执行步骤S311;
步骤S309.组播源侧的PE检索组播成员关系表项的出接口信息中,是 否已经存在收到IGMP加入报文的下行PW端口。如果不存在,则执行步骤 S310;如果已经存在,则结束对该次组^番加入请求的处理;
步骤S310.组播源侧的PE在出接口信息中添加所述的下行PW端口 。 该步骤执行完毕之后,结束对该次组播加入请求的处理;
步骤S311.组播源侧的PE通过步骤S201所述的AC路由器端口 ,将 IGMP加入报文转发给组播路由器,从而向组播源所在的VPN内引入组播
数据流。
另一方面,当用户侧的PE侦听到和组^燔源在不同VPN的用户的IGMP 离开4艮文时,具体的实施过程如图4所示,包括
步骤S401.用户侧的PE根据用户IGMP离开报文中的组地址,查找事 先配置好的组播组地址和组播源所在VPN的对应关系表,从而得到组播源 所在的VPN ID。
步骤S402.用户侧的PE才艮据组播源所在的VPN ID和用户IGMP离开 报文中的组播MAC地址,检索组播成员关系表。当匹配到相应的表项时, 将接收用户IGMP离开报文的下行AC端口、以及用户所在的VPNID从出 接口信息中删除。步骤S403.用户侧的PE检查所述组播成员关系表项中的出接口信息是 否为空。如果为空,则执行步骤S404;如果不为空,则结束对该次组播离 开请求的处理。
步骤S404.用户侧的PE删除所述组播成员关系表项。
步骤S405.用户侧的PE通过步骤S201所述的PW路由器端口 ,将用 户的IGMP离开报文转发给组播源侧的PE。所述离开报文是在组播源所在 的VPN内转发,并且在P设备上进行MPLS标签转发。
步骤S406.组播源侧的PE侦听到来自PW的IGMP离开报文,根据组 播源所在的VPN ID和IGMP离开报文中的组播MAC地址,检索组播成员 关系表。当匹配到相应的表项时,将接收IGMP离开报文的下行PW端口从 出接口信息中删除。
步骤S407.组播源侧的PE检查所述组播成员关系表项中的出接口信息 是否为空。如果为空,则执行步骤S408;如果不为空,则结束对该次组4番 离开请求的处理。
步骤S408.组播源侧的PE删除所述组播成员关系表项。
步骤S409.组播源侧的PE通过步骤S201所述的AC路由器端口 ,将 IGMP离开报文转发给组播路由器,从而向组播源所在的VPN内停止转发 组才番lt悟流。
通过上述步骤的描述可以看到,当用户侧的PE侦听到和组^燔源在不同 VPN的用户的IGMP加入报文时,根据报文中的组地址信息,找到组播源 所在的VPN ID,并且在所述VPN内形成组播成员关系表项,同时将用户的 下行AC端口 、以及用户所在的VPN ID添加到表项的出接口信息中。这样 当组4番源所在VPN的组纟番数据流到达用户侧的PE时,才企索到匹配的组纟番成 员关系表项,并且根据出接口信息中的用户下行AC端口、以及用户所在的 VPN ID,完成组播数据流的封装之后,将其转发到用户所在的VPN内,最 终实现了跨VPN的组播复制。
16为了描述更加清楚,下面结合一个具体的应用实例,针对用户加入、离 开组播组的情况,对如何实现跨虚拟专用局域网的可控组播方法加以详细说
明。其中,网络模型如图5所示,PE1连接组播路由器和组播源,PE2和PE3 连接用户设备,组播源在VPN1内,用户1和用户2在VPN 2内,用户3 和用户4在VPN 3内。
首先,组播路由器在VPN1内定期发送通用查询报文,PE1收到该查询 报文,记录对应的AC1端口和VPN ID,然后形成VPN 1的AC1路由器端 口 。同时,该查询报文通过PW向PE2和PE3转发,PE2、 PE3收到该查询 报文,同样记录对应的PW端口和VPN ID,然后分别形成VPN 1的PW1 和PW2路由器端口。
(1 )跨虚拟专用局域网的用户加入
当VPN 2内的用户1期望接收组播组225.1.1.1的组播数据流时,会发 送相应组的IGMP加入报文,该报文通过CE2透传到达PE2。 PE2从AC2 端口侦听到所述IGMP加入报文,根据该端口配置的组播业务权限,得知该 用户拥有相应组播业务的权限。接着再根据用户IGMP加入才良文中的组地址 225.1.1.1,查找到组播源所在的VPN ID为1,从而形成相应的组播成员关 系表项(组播源所在的VPN ID: 1,组播MAC地址0100.5e01.01.01 ,用 户的下行AC2端口,用户所在的VPNID: 2)。
由于用户1是第一个加入组寺番组225.1.1.1的用户,因此通过PE2的PW1 路由器端口,向PE1转发IGMP加入报文。PE1侦听到所述IGMP加入报文, 同样形成一个组-潘成员关系表项(组*燔源所在VPN ID: 1,组4番MAC ;也址 0100.5e01.01.01,到达PE2的下行PW1端口 )。
PE1通过AC1路由器端口,向组播路由器转发IGMP加入报文,从而 引入组播组225.1.1.1的组播数据流。当PE1收到该组播数据流时,根据VPN ID和组播MAC地址检索组播成员关系表,结果匹配到(组播源所在VPN ID: 1,组播MAC地址0100.5e01.01.01,到达PE2的下行PW1端口 )条目, 因此将组4番数据流从PW1端口发送出去,达到PE2。当PE2收到组播组 225.1.1.1的组播数据流时,根据VPN ID和组播MAC地址;险索组播成员关 系表,结果匹配到(组播源所在的VPN ID: 1,组播MAC地址0100.5e01.01.01,用户的下行AC2端口,用户所在的VPNID: 2)条目,因 此将组播数据流从AC2端口发送出去。
最终,实现了 VPN 2内的用户1访问VPN 1内的组4番源,接收组4番组 225.1.1.1的组播数据流。
(2)跨虚拟专用局域网的用户离开
当VPN 2内的用户1不再期望接收组播组225.1.1.1的组播流时,会发 送相应组的IGMP离开报文,该报文通过CE2透传到达PE2。 PE2从AC2 端口侦听到所述IGMP离开报文,根据该端口配置的组播业务权限,得知该 用户拥有相应组播业务的权限。接着再根据用户IGMP离开报文中的组地址 225.1.1.1,查找到组播源所在的VPN ID为1 ,根据VPN ID和组播MAC地 址检索组播成员关系表,结果匹配到(组播源所在的VPNID: 1,组播MAC 地址0100.5e01.01.01,用户的下行AC2端口,用户所在的VPNID: 2)条 目。由于所述表项中只有用户l对应的出接口,所以直接删除所述表项。
由于用户1是最后一个离开组播组225.1.1.1的用户,因此通过PE2的 PW1 ;洛由器端口 ,向PE1转发IGMP离开才艮文。PE1侦听到所述IGMP离 开报文,根据VPN ID和组播MAC地址检索组播成员关系表,结果匹配到 (组播源所在VPNID: 1,组4番MAC地址0100.5e01.01.01,到达PE2的 下行PW1端口 )条目,同样删除所述表项。
PE1通过AC1路由器端口,向组播路由器转发IGMP离开报文,从而 停止转发组l番组225.1.1.1的组播数据流。
最终,VPN2内的用户1不再4妄收组4番组225.1.1.1的组^Nfet据流。
由上述本发明提供的实施例的具体实施过程可以看到,通过扩展VSI 内的IGMP SNOOPING技术,能够实现了跨虚拟专用局域网的可控组才番。 从而可以拓展VPLS组播的业务范围,消除VPLS组播技术在组网运用方面 的一些局限性,使VPLS组播能够更好地适应各种网络的运用。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的 形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种实现跨虚拟专用局域网(VPN)组播的方法,其特征在于,组播源侧运营商边缘路由器(PE)和用户侧PE上均创建有组播源所在VPN的虚拟交换实例(VSI),且所述组播源侧PE和所述用户侧PE在此VSI内已建立伪线(PW)连接;利用组播路由器在组播源所在的VPN内发送的互联网组管理协议(IGMP)通用查询报文,所述组播源侧PE和用户侧PE分别形成组播源所在VPN的上行路由器端口信息;所述用户侧PE和组播源侧PE分别根据侦听到的非组播源所在VPN内的用户发起的IGMP协议报文中携带的组播信息,维护本地的组播成员关系表;其中,用户侧PE和组播源侧PE中的组播成员关系表的表项中均包括组播源所在的VPN ID、组播MAC地址及下行出接口信息;组播源侧PE和用户侧PE在收到组播数据流时,分别根据组播源所在的VPN ID和组播MAC地址检索本地保存的组播成员关系表,然后将所述组播数据流从检索到的表项的下行出接口中转发出去。
2、 如权利要求l所述的方法,其特征在于,当用户側PE侦听到的所述IGMP协议报文为IGMP加入报文时,所述 用户侧PE维护本地的组播成员关系表是指所述用户侧PE根据所述组纟番源所在的VPN ID和所述IGMP加入净艮文 携带的组播MAC地址,检索本地组播成员关系表中是否存在匹配表项;如 存在,则在所述匹配表项中添加该用户的下行出接口信息;否则,创建新表 项,且在所述匹配表项中添加该用户的下行出接口信息。
3、 如权利要求2所述方法,其特征在于,如所述用户侧PE没有在本地组播成员关系表中查找到匹配表项,则还 包括所述用户侧PE将侦听到的所述IGMP加入报文通过本地保存的组播源 所在VPN的上行路由器端口信息转发给所述组播源侧PE;如所述用户侧PE在本地组播成员关系表中查找到匹配表项,则不转发所述IGMP加入纟艮文。
4、 如权利要求l所述的方法,其特征在于,当用户侧PE侦听到的所述IGMP协议报文为IGMP离开才艮文时,所述 用户侧PE维护本地的组播成员关系表是指所述用户侧PE根据所述组播源所在的VPN ID和所述IGMP离开报文 中携带的组播MAC地址,检索本地组播成员关系表中是否存在匹配表项; 如存在,则在该匹配表项中将该用户的下行出接口信息删除。
5、 如权利要求4所述的方法,其特征在于,在完成下行出接口信息删除后,如判断出该匹配表项的下行出接口信息 为空,则所述用户侧PE将该表项删除。
6、 如权利要求4或5所述的方法,其特征在于,在完成下行出接口信息删除后,如判断出该匹配表项的下行出接口信息 为空,则所述用户侧PE将侦听到的所述IGMP离开报文通过本地保存的组 播源所在VPN的上行路由器端口信息转发给所述组播源侧PE;否则,所述 用户侧PE不转发所述IGMP离开报文。
7、 如权利要求1~5中任意一项所述的方法,其特征在于,所述用户侧PE中的组播成员关系表表项中的下行出接口信息包括用 户下行AC端口及用户所在的VPN ID信息;组播源测PE中的组4番成员关 系表表项中的下行出接口信息包括下行PW端口信息。
8、 如权利要求1 5中任意一项所述的方法,其特征在于, 所述用户侧PE上配置有每个组,牆组地址和组〗番源所在VPN的对应关系;所述IGMP协议报文中携带的组播信息除所述组播MAC地址外,还包 括组纟番组地址信息;所述组播源所在的VPN ID为所述用户侧PE根据侦听到的所述IGMP 协议报文中携带的组播组地址信息对应得到的。
9、 如权利要求7所述方法,其特征在于,所述用户侧PE的AC端口上配置有组播业务权限规则;所述用户侧PE在接收到用户发来的所述IGMP协议报文后,先4艮据事 先配置的所述组播业务权限规则判断所述用户是否有访问其请求的组播的 权限,如有,则进行后续维护本地的组播成员关系表的工作;否则,丟弃所 述IGMP协i义纟艮文。
10、 如权利要求1 3中任意一项所述的方法,其特征在于,当所述组播源侧PE侦听到的IGMP协议报文为IGMP加入报文时,所 述组播源测PE维护本地的组播成员关系表是指所述组播源侧PE根据本地VPN ID和所述IGMP加入报文携带的组播 MAC地址,检索本地组播成员关系表中是否存在匹配表项;如存在,则在 所述匹配表项中添加下行PW端口信息;否则,创建新表项,且在所述匹配 表项中添加该下行PW端口信息。
11、 如权利要求l、 4或5中任意一项所述的方法,其特征在于,当所述组"l番源侧PE侦听到的IGMP协议才艮文为IGMP离开净艮文时,所 述组播源测PE维护本地的组播成员关系表是指所述组纟番源侧PE根据本地VPN ID和所述IGMP离开报文携带的组播 MAC地址,检索本地组播成员关系表中是否存在匹配表项;如存在,将在 该表项中删除接收所述IGMP离开报文的下行PW端口信息。
12、 如权利要求11所述的方法,其特征在于,在完成下行PW端口信息删除后,如判断出该匹配表项的下行PW端口 信息为空,则所述组播源侧PE将该表项删除。
全文摘要
实现跨VPN组播的方法,包括组播源侧PE和用户侧PE均创建有组播源所在VPN的虚拟交换实例(VSI),且在此VSI内已建立伪线(PW)连接;组播路由器在组播源所在的VPN内发送的互联网组管理协议(IGMP)通用查询报文,组播源侧PE和用户侧PE分别形成组播源所在VPN的上行路由器端口信息;用户侧PE和组播源侧PE分别根据侦听到的非组播源所在VPN内的用户发起的IGMP协议报文中携带的组播信息,维护本地的组播成员关系表;组播源侧PE和用户侧PE在收到组播数据流时,分别根据组播源所在的VPN ID和组播MAC地址检索本地保存的组播成员关系表,然后将组播数据流从检索到的表项的下行出接口中转发出去。
文档编号H04L12/18GK101616014SQ20091016103
公开日2009年12月30日 申请日期2009年7月30日 优先权日2009年7月30日
发明者嫄 马 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1