CN101616014A - 一种实现跨虚拟专用局域网组播的方法 - Google Patents
一种实现跨虚拟专用局域网组播的方法 Download PDFInfo
- Publication number
- CN101616014A CN101616014A CN200910161032A CN200910161032A CN101616014A CN 101616014 A CN101616014 A CN 101616014A CN 200910161032 A CN200910161032 A CN 200910161032A CN 200910161032 A CN200910161032 A CN 200910161032A CN 101616014 A CN101616014 A CN 101616014A
- Authority
- CN
- China
- Prior art keywords
- multicast
- vpn
- igmp
- user side
- list item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
实现跨VPN组播的方法,包括:组播源侧PE和用户侧PE均创建有组播源所在VPN的虚拟交换实例(VSI),且在此VSI内已建立伪线(PW)连接;组播路由器在组播源所在的VPN内发送的互联网组管理协议(IGMP)通用查询报文,组播源侧PE和用户侧PE分别形成组播源所在VPN的上行路由器端口信息;用户侧PE和组播源侧PE分别根据侦听到的非组播源所在VPN内的用户发起的IGMP协议报文中携带的组播信息,维护本地的组播成员关系表;组播源侧PE和用户侧PE在收到组播数据流时,分别根据组播源所在的VPN ID和组播MAC地址检索本地保存的组播成员关系表,然后将组播数据流从检索到的表项的下行出接口中转发出去。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种实现跨虚拟专用局域网组播的方法。
背景技术
VPLS(Virtual Private LAN Service,虚拟专用局域网业务)是一种在MPLS(Multi-Protocol Label Switch,多协议标签交换)/IP网络中提供点到多点的L2VPN(L2 Virtual Private Networks,二层虚拟专用网络)技术。其核心思想是利用信令协议在VPLS实例中的PE(Provider Edge,运营商边缘路由器)节点之间建立及维护PW(Pseudo Wire,伪线),将协议或数据报文封装后在PW上传输、交换,使广域范围内多个局域网在数据链路层面被整合为一张网络,向用户提供虚拟的以太网服务。
目前,越来越多的运营商采用VPLS技术为企业用户提供VPN业务。通过将不同部门划分到不同的VPN中可以实现部门间的数据隔离。同样地,对部门内部的视频会议、数据共享等组播业务也需要实现VPN隔离。
和以太网交换机一样,在VPLS的VSI(Virtual Switch Instance,虚拟交换实例)内,当没有运行任何组播协议时,收到未知的组播数据流采用洪泛的方式,转发到VSI内的所有端口,包括本地的所有AC(Attachment Circuit,接入链路)以及PW,使得连接到VSI的所有CE(Customer Equipment,用户设备)都能收到该组播数据流。但事实上,并不是所有CE都希望接收该组播数据流,因此采用上述方式不仅浪费了网络带宽资源、而且也增加了网络中设备的负载。
目前,为了解决该问题,主要采用的方法是在PE设备上运行VSI内的IGMP(Internet Group Management Protocol,互联网组管理协议)SNOOPING(监听)。PE可通过该技术侦听IP主机和组播路由器之间交互的IGMP协议报文,为VSI内的AC、PW端口和组播MAC(Media Access Control,媒体访问控制)地址建立映射关系,并根据该映射关系转发组播数据流。
该技术的网络模型如图1所示,其中,PE1连接组播路由器和组播源(即组播服务器),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端口和VPN ID,然后形成VPN 1的AC1路由器端口。同时,该查询报文分别通过PW1和PW2向PE2和PE3转发。PE2、PE3收到该查询报文后,同样记录对应的PW端口和VPN ID,然后分别形成VPN1的PW1和PW2路由器端口。
接着,当VPN 1的用户1期望接收组播组225.1.1.1的组播数据流时,会发送相应组的IGMP加入报文,该报文通过CE2透传到PE2,此时VSI内的IGMP SNOOPING侦听到该加入报文,形成VPN 1的组播成员关系表项(VPN ID:1,组播MAC地址:0100.5e01.0101,用户的下行AC2端口)。同时,PE2通过之前形成的PW1路由器端口,向组播源侧的PE1转发IGMP加入报文。PE1侦听到该加入报文后,同样形成VPN 1的组播成员关系表项(VPN ID:1,组播MAC地址:0100.5e01.0101,到达PE2的下行PW1端口)。
然后,PE1通过之前形成的AC1路由器端口,向组播路由器转发IGMP加入报文,从而引入组播组225.1.1.1的组播数据流。当PE1收到该组播数据流时,根据VPN ID和组播MAC地址检索组播成员关系表,结果匹配到(VPN ID:1,组播MAC地址:0100.5e01.0101,到达PE2的下行PW1端口)条目,因此将组播数据流从PW1端口转发出去,达到PE2。当PE2收到组播组225.1.1.1的组播数据流时,同样根据VPN ID和组播MAC地址检索组播成员关系表,结果匹配到(VPN ID:1,组播MAC地址:0100.5e01.0101,用户的下行AC2端口)条目,因此将组播数据流从AC2端口转发出去。
最终,在VPN 1对应的虚拟专用局域网内只有用户1可以收到组播组225.1.1.1的组播数据流,因此有效的防止了组播数据流的洪泛。
虽然以上技术可以实现VPLS网络内的组播业务,但是要求所有用户和组播源都在同一个虚拟专用局域网内,这就给VPLS技术的大规模部署和广泛应用带来了很大程度的限制。而且在实际的网络应用中,存在很多跨虚拟专用局域网的组播业务,如视频会议、安全监控等,因此我们除了需要采用VPLS技术进行组播隔离外,还需要在一些特定条件下做到跨虚拟专用局域网的可控组播访问,以为用户提供更加灵活的业务模式,提高VPLS在实际运用中的组网能力。
发明内容
本发明所要解决的技术问题在于,提供一种实现跨虚拟专用局域网组播的方法,以使得即使用户和组播源在不同虚拟专用局域网的情况下,不需要增加额外的三层设备,也能够实现可控的组播访问,增强了网络部署的灵活性,拓宽了VPLS组播业务的运用范围。
为解决上述问题,本发明提供了一种实现跨虚拟专用局域网(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地址检索本地保存的组播成员关系表,然后将所述组播数据流从检索到的表项的下行出接口中转发出去。
进一步地,上述方法还可具有以下特征:
当用户侧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上配置有每个组播组地址和组播源所在VPN的对应关系;
所述IGMP协议报文中携带的组播信息除所述组播MAC地址外,还包括组播组地址信息;
所述组播源所在的VPN ID为所述用户侧PE根据侦听到的所述IGMP协议报文中携带的组播组地址信息对应得到的。
进一步地,上述方法还可具有以下特征:
所述用户侧PE的AC端口上配置有组播业务权限规则;
所述用户侧PE在接收到用户发来的所述IGMP协议报文后,先根据事先配置的所述组播业务权限规则判断所述用户是否有访问其请求的组播的权限,如有,则进行后续维护本地的组播成员关系表的工作;否则,丢弃所述IGMP协议报文。
进一步地,上述方法还可具有以下特征:
当所述组播源侧PE侦听到的IGMP协议报文为IGMP加入报文时,所述组播源测PE维护本地的组播成员关系表是指:
所述组播源侧PE根据本地VPN ID和所述IGMP加入报文携带的组播MAC地址,检索本地组播成员关系表中是否存在匹配表项;如存在,则在所述匹配表项中添加下行PW端口信息;否则,创建新表项,且在所述匹配表项中添加该下行PW端口信息。
进一步地,上述方法还可具有以下特征:
当所述组播源侧PE侦听到的IGMP协议报文为IGMP离开报文时,所述组播源测PE维护本地的组播成员关系表是指:
所述组播源侧PE根据本地VPN ID和所述IGMP离开报文携带的组播MAC地址,检索本地组播成员关系表中是否存在匹配表项;如存在,将在该表项中删除接收所述IGMP离开报文的下行PW端口信息。
进一步地,上述方法还可具有以下特征:
在完成下行PW端口信息删除后,如判断出该匹配表项的下行PW端口信息为空,则所述组播源侧PE将该表项删除。
本发明的技术效果在于:
本发明通过扩展VSI内的IGMP SNOOPING技术,实现了跨虚拟专用局域网的组播,解决了现有VPLS网络的组播业务中组播源和用户必须在同一个虚拟专用局域网内的缺陷,从而给用户带来了更加灵活的业务模式,提高了VPLS组播在实际运用中的组网能力,拓宽了VPLS组播业务的运用范围。
附图说明
图1为现有技术中在虚拟专用局域网内实现组播转发的组网示意图;
图2为本发明实施例中实现跨虚拟专用局域网组播方法的流程图;
图3为本发明实施例中跨虚拟专用局域网IGMP加入报文的处理流程图;
图4为本发明实施例中跨虚拟专用局域网IGMP离开报文的处理流程图;
图5为本发明实施例中实现跨虚拟专用局域网可控组播的组网示意图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
为了解决上述问题,本发明提供了一种实现跨虚拟专用局域网组播的方法。具体实现包括以下步骤:
组播源侧PE和用户侧PE上均创建有组播源所在VPN的VSI,且组播源侧PE和用户侧PE在此VSI内已建立PW连接;利用组播路由器在组播源所在的VPN内定期发送的IGMP通用查询报文,组播源侧PE和用户侧PE分别形成组播源所在VPN的上行路由器端口信息(其中,组播源侧PE形成组播源所在VPN的AC路由器端口,用户侧PE形成组播源所在VPN的PW路由器端口);
用户侧PE和组播源侧PE分别根据侦听到的非组播源所在VPN内的用户发起的IGMP协议报文中携带的组播信息,维护本地的组播成员关系表;其中,用户侧PE和组播源侧PE中的组播成员关系表的表项中均包括:组播源所在的VPN ID、组播MAC地址及下行出接口信息;其中,用户侧PE中的组播成员关系表表项中的下行出接口信息包括:用户下行AC端口及用户所在的VPN ID信息;组播源侧PE中的组播成员关系表表项中的下行出接口信息包括下行PW端口信息;
组播源侧PE和用户侧PE在收到组播数据流时,分别根据组播源所在的VPN ID和组播MAC地址检索本地保存的组播成员关系表,然后将组播数据流从检索到的表项的下行出接口中转发出去。
如在用户侧PE的AC端口上进行组播业务的权限配置,则用户侧PE可以根据该权限判断侦听到的用户IGMP协议报文是否应该丢弃,从而实现组播业务的可控性。
用户侧的PE上配置每个组播组地址和组播源所在VPN的对应关系,可以一对一,也可以多对一。且IGMP协议报文中携带的组播信息包括组播组地址信息;当用户侧PE侦听到和组播源在不同VPN的用户的IGMP协议报文时,就可以根据报文中携带的组播组地址信息,检索上述对应关系,从而得知组播源所在的VPN ID。
当用户侧的PE侦听到的IGMP协议报文为用户的IGMP加入报文时,根据检索到的组播源所在的VPN ID和IGMP加入报文中的组播MAC地址,检索组播成员关系表中是否已经存在相应的表项。如果已经存在,则在匹配表项的出接口信息中添加该用户的下行AC端口以及该用户所在的VPN ID;如果不存在,则根据组播源所在的VPN ID和用户IGMP加入报文中的组播MAC地址,建立新的组播成员关系表项,并且将该用户的下行AC端口以及该用户所在的VPN ID添加到该表项的出接口信息中。此外,当用户侧PE侦听到某个组播组的第一个用户的第一个IGMP加入报文时(即没有检索到匹配表项),还需要将接收到的IGMP加入报文转发给组播源侧PE,之后再侦听到相同组播组的其它IGMP加入报文时(即检索到匹配表项),不需要再向组播源侧PE转发IGMP加入报文。因为此时用户侧PE上已经可以接收到所述组播组的数据流,因此不需要通过再次向组播源侧转发用户的IGMP加入报文来引入上述组播组的数据流。这样不仅节省了网络带宽资源的消耗、而且也降低了网络中设备的负载。
当用户侧的PE侦听到的IGMP协议报文为用户的IGMP离开报文时,根据检索到的组播源所在的VPN ID和用户IGMP离开报文中的组播MAC地址,检索组播成员关系表,当检索到匹配表项时,将该表项中用户的下行AC端口以及该用户所在的VPN ID从出接口信息中删除。当判断出该组播成员关系表项的出接口信息为空时,可以将该表项删除,并将IGMP离开报文转发给组播源侧的PE,但在此之前不需要转发IGMP离开报文。这是因为当组播成员关系表中某一表项的出接口信息不为空时,则表明该组播组中还有其它用户需要接收上述组播组的数据流,因此不需要通过向组播源侧转发用户的IGMP离开报文来停止转发该组播组的数据流,
此外,IGMP协议报文是在组播源所在的VPN内,从用户侧的PE转发到达组播源侧PE,报文在转发出去的时候封装了MPLS标签。如果两侧的PE设备中间有P设备时,则不需要通过IGMP SNOOPING侦听并形成组播成员关系表项,而是进行普通的MPLS标签转发。
组播数据流的转发过程为:当组播源侧PE收到组播数据流时,根据组播源所在的VPN ID和组播MAC地址,检索本地组播成员关系表,然后将组播数据流从查找到的下行PW端口发送出去,到达用户侧的PE;用户侧PE收到组播数据流时,根据组播源所在的VPN ID和组播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所述的组播成员关系表,将组播数据流发送给请求加入该组播组的用户。
其中,步骤S204~S206主要是侦听并分析用户的IGMP协议报文,并根据所述报文是IGMP加入或IGMP离开的具体情况,建立、更新或删除组播成员关系表。
一方面,当用户侧的PE侦听到和组播源在不同VPN的用户的IGMP加入报文时,具体的实施过程如图3所示,包括:
步骤S301.用户侧的PE根据用户IGMP加入报文中的组地址,查找事先配置好的组播组地址和组播源所在VPN的对应关系表,从而得到组播源所在的VPN ID;
步骤S302.用户侧的PE根据组播源所在的VPN ID和用户IGMP加入报文中的组播MAC地址,检索组播成员关系表中是否已经存在相应的表项。如果不存在,则执行步骤S303;如果已经存在,则执行步骤S304;
步骤S303.用户侧的PE根据组播源所在的VPN ID和用户IGMP加入报文中的组播MAC地址,建立组播成员关系表,并且将用户的下行AC端口以及用户所在的VPN ID添加到表项的出接口信息中。该步骤执行完毕之后,继续执行步骤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所示,包括:
步骤S401.用户侧的PE根据用户IGMP离开报文中的组地址,查找事先配置好的组播组地址和组播源所在VPN的对应关系表,从而得到组播源所在的VPN ID。
步骤S402.用户侧的PE根据组播源所在的VPN ID和用户IGMP离开报文中的组播MAC地址,检索组播成员关系表。当匹配到相应的表项时,将接收用户IGMP离开报文的下行AC端口、以及用户所在的VPN ID从出接口信息中删除。
步骤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;如果不为空,则结束对该次组播离开请求的处理。
步骤S408.组播源侧的PE删除所述组播成员关系表项。
步骤S409.组播源侧的PE通过步骤S201所述的AC路由器端口,将IGMP离开报文转发给组播路由器,从而向组播源所在的VPN内停止转发组播数据流。
通过上述步骤的描述可以看到,当用户侧的PE侦听到和组播源在不同VPN的用户的IGMP加入报文时,根据报文中的组地址信息,找到组播源所在的VPN ID,并且在所述VPN内形成组播成员关系表项,同时将用户的下行AC端口、以及用户所在的VPN ID添加到表项的出接口信息中。这样当组播源所在VPN的组播数据流到达用户侧的PE时,检索到匹配的组播成员关系表项,并且根据出接口信息中的用户下行AC端口、以及用户所在的VPN ID,完成组播数据流的封装之后,将其转发到用户所在的VPN内,最终实现了跨VPN的组播复制。
为了描述更加清楚,下面结合一个具体的应用实例,针对用户加入、离开组播组的情况,对如何实现跨虚拟专用局域网的可控组播方法加以详细说明。其中,网络模型如图5所示,PE1连接组播路由器和组播源,PE2和PE3连接用户设备,组播源在VPN 1内,用户1和用户2在VPN 2内,用户3和用户4在VPN 3内。
首先,组播路由器在VPN 1内定期发送通用查询报文,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端口,用户所在的VPN ID:2)。
由于用户1是第一个加入组播组225.1.1.1的用户,因此通过PE2的PW1路由器端口,向PE1转发IGMP加入报文。PE1侦听到所述IGMP加入报文,同样形成一个组播成员关系表项(组播源所在VPN ID:1,组播MAC地址:0100.5e01.01.01,到达PE2的下行PW1端口)。
PE1通过AC1路由器端口,向组播路由器转发IGMP加入报文,从而引入组播组225.1.1.1的组播数据流。当PE1收到该组播数据流时,根据VPNID和组播MAC地址检索组播成员关系表,结果匹配到(组播源所在VPN ID:1,组播MAC地址:0100.5e01.01.01,到达PE2的下行PW1端口)条目,因此将组播数据流从PW1端口发送出去,达到PE2。当PE2收到组播组225.1.1.1的组播数据流时,根据VPN ID和组播MAC地址检索组播成员关系表,结果匹配到(组播源所在的VPN ID:1,组播MAC地址:0100.5e01.01.01,用户的下行AC2端口,用户所在的VPN ID:2)条目,因此将组播数据流从AC2端口发送出去。
最终,实现了VPN 2内的用户1访问VPN 1内的组播源,接收组播组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地址检索组播成员关系表,结果匹配到(组播源所在的VPN ID:1,组播MAC地址:0100.5e01.01.01,用户的下行AC2端口,用户所在的VPN ID:2)条目。由于所述表项中只有用户1对应的出接口,所以直接删除所述表项。
由于用户1是最后一个离开组播组225.1.1.1的用户,因此通过PE2的PW1路由器端口,向PE1转发IGMP离开报文。PE1侦听到所述IGMP离开报文,根据VPN ID和组播MAC地址检索组播成员关系表,结果匹配到(组播源所在VPN ID:1,组播MAC地址:0100.5e01.01.01,到达PE2的下行PW1端口)条目,同样删除所述表项。
PE1通过AC1路由器端口,向组播路由器转发IGMP离开报文,从而停止转发组播组225.1.1.1的组播数据流。
最终,VPN 2内的用户1不再接收组播组225.1.1.1的组播数据流。
由上述本发明提供的实施例的具体实施过程可以看到,通过扩展VSI内的IGMP SNOOPING技术,能够实现了跨虚拟专用局域网的可控组播。从而可以拓展VPLS组播的业务范围,消除VPLS组播技术在组网运用方面的一些局限性,使VPLS组播能够更好地适应各种网络的运用。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (12)
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、如权利要求1所述的方法,其特征在于,
当用户侧PE侦听到的所述IGMP协议报文为IGMP加入报文时,所述用户侧PE维护本地的组播成员关系表是指:
所述用户侧PE根据所述组播源所在的VPN ID和所述IGMP加入报文携带的组播MAC地址,检索本地组播成员关系表中是否存在匹配表项;如存在,则在所述匹配表项中添加该用户的下行出接口信息;否则,创建新表项,且在所述匹配表项中添加该用户的下行出接口信息。
3、如权利要求2所述方法,其特征在于,
如所述用户侧PE没有在本地组播成员关系表中查找到匹配表项,则还包括:
所述用户侧PE将侦听到的所述IGMP加入报文通过本地保存的组播源所在VPN的上行路由器端口信息转发给所述组播源侧PE;
如所述用户侧PE在本地组播成员关系表中查找到匹配表项,则不转发所述IGMP加入报文。
4、如权利要求1所述的方法,其特征在于,
当用户侧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中的组播成员关系表表项中的下行出接口信息包括下行PW端口信息。
8、如权利要求1~5中任意一项所述的方法,其特征在于,
所述用户侧PE上配置有每个组播组地址和组播源所在VPN的对应关系;
所述IGMP协议报文中携带的组播信息除所述组播MAC地址外,还包括组播组地址信息;
所述组播源所在的VPN ID为所述用户侧PE根据侦听到的所述IGMP协议报文中携带的组播组地址信息对应得到的。
9、如权利要求7所述方法,其特征在于,
所述用户侧PE的AC端口上配置有组播业务权限规则;
所述用户侧PE在接收到用户发来的所述IGMP协议报文后,先根据事先配置的所述组播业务权限规则判断所述用户是否有访问其请求的组播的权限,如有,则进行后续维护本地的组播成员关系表的工作;否则,丢弃所述IGMP协议报文。
10、如权利要求1~3中任意一项所述的方法,其特征在于,
当所述组播源侧PE侦听到的IGMP协议报文为IGMP加入报文时,所述组播源测PE维护本地的组播成员关系表是指:
所述组播源侧PE根据本地VPN ID和所述IGMP加入报文携带的组播MAC地址,检索本地组播成员关系表中是否存在匹配表项;如存在,则在所述匹配表项中添加下行PW端口信息;否则,创建新表项,且在所述匹配表项中添加该下行PW端口信息。
11、如权利要求1、4或5中任意一项所述的方法,其特征在于,
当所述组播源侧PE侦听到的IGMP协议报文为IGMP离开报文时,所述组播源测PE维护本地的组播成员关系表是指:
所述组播源侧PE根据本地VPN ID和所述IGMP离开报文携带的组播MAC地址,检索本地组播成员关系表中是否存在匹配表项;如存在,将在该表项中删除接收所述IGMP离开报文的下行PW端口信息。
12、如权利要求11所述的方法,其特征在于,
在完成下行PW端口信息删除后,如判断出该匹配表项的下行PW端口信息为空,则所述组播源侧PE将该表项删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101610329A CN101616014B (zh) | 2009-07-30 | 2009-07-30 | 一种实现跨虚拟专用局域网组播的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101610329A CN101616014B (zh) | 2009-07-30 | 2009-07-30 | 一种实现跨虚拟专用局域网组播的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101616014A true CN101616014A (zh) | 2009-12-30 |
CN101616014B CN101616014B (zh) | 2012-01-11 |
Family
ID=41495441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101610329A Expired - Fee Related CN101616014B (zh) | 2009-07-30 | 2009-07-30 | 一种实现跨虚拟专用局域网组播的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101616014B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827028A (zh) * | 2010-04-14 | 2010-09-08 | 杭州华三通信技术有限公司 | 实现组播vpn报文发送的方法及设备 |
CN102025626A (zh) * | 2010-12-09 | 2011-04-20 | 中兴通讯股份有限公司 | 转发组播数据报文的方法和提供商边缘设备 |
CN102104551A (zh) * | 2011-03-31 | 2011-06-22 | 杭州华三通信技术有限公司 | 双向协议无关组播转发方法及二层网络设备 |
CN102130822A (zh) * | 2010-08-28 | 2011-07-20 | 华为技术有限公司 | 一种定向播放广告的方法、装置及系统 |
CN102195852A (zh) * | 2010-03-09 | 2011-09-21 | 杭州华三通信技术有限公司 | 一种pbb网络中实现用户专线连接的方法和beb设备 |
CN102215172A (zh) * | 2011-06-21 | 2011-10-12 | 中兴通讯股份有限公司 | 一种实现跨虚拟专用局域网组播的方法和系统 |
CN102217260A (zh) * | 2011-05-17 | 2011-10-12 | 华为技术有限公司 | 组播数据流的处理方法及upe、npe |
CN102238040A (zh) * | 2010-04-22 | 2011-11-09 | 杭州华三通信技术有限公司 | 一种对ce进行监控的方法和路由设备 |
CN102394831A (zh) * | 2011-11-28 | 2012-03-28 | 杭州华三通信技术有限公司 | 基于虚拟机vm迁移的流量不中断方法和装置 |
CN102882760A (zh) * | 2012-09-27 | 2013-01-16 | 华为技术有限公司 | 虚拟专用局域网服务网络中的报文处理方法、组件、设备及系统 |
CN102946356A (zh) * | 2012-10-16 | 2013-02-27 | 杭州华三通信技术有限公司 | 一种基于cb-pe网络的组播报文传输方法和设备 |
WO2014075421A1 (zh) * | 2012-11-19 | 2014-05-22 | 华为技术有限公司 | 多链路透明互联数据帧发送方法及装置 |
CN105075187A (zh) * | 2013-04-19 | 2015-11-18 | 三菱电机株式会社 | 网关装置、包含网关装置的网络系统、空调室外机以及空调网络系统 |
CN109831365A (zh) * | 2018-12-27 | 2019-05-31 | 山东电力工程咨询院有限公司 | 组播式协议精准负荷控制系统及以太网通信流构建方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100484055C (zh) * | 2003-04-29 | 2009-04-29 | 华为技术有限公司 | 跨虚拟局域网组播的实现方法 |
CN100450086C (zh) * | 2005-09-07 | 2009-01-07 | 华为技术有限公司 | 在虚拟专用局域网业务中实现组播数据流转发的方法 |
CN1852254A (zh) * | 2006-02-17 | 2006-10-25 | 华为技术有限公司 | 实现mpls报文转发的以太交换设备和方法 |
CN1996956A (zh) * | 2006-12-20 | 2007-07-11 | 杭州华为三康技术有限公司 | 实现组播流跨vlan转发的三层网络设备及方法 |
CN101286990B (zh) * | 2008-05-27 | 2012-09-05 | 中兴通讯股份有限公司 | 二层组播的转发方法和装置 |
-
2009
- 2009-07-30 CN CN2009101610329A patent/CN101616014B/zh not_active Expired - Fee Related
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195852B (zh) * | 2010-03-09 | 2014-08-13 | 杭州华三通信技术有限公司 | 一种pbb网络中实现用户专线连接的方法和beb设备 |
CN102195852A (zh) * | 2010-03-09 | 2011-09-21 | 杭州华三通信技术有限公司 | 一种pbb网络中实现用户专线连接的方法和beb设备 |
CN101827028A (zh) * | 2010-04-14 | 2010-09-08 | 杭州华三通信技术有限公司 | 实现组播vpn报文发送的方法及设备 |
CN101827028B (zh) * | 2010-04-14 | 2012-07-04 | 杭州华三通信技术有限公司 | 实现组播虚拟专用网vpn报文发送的方法及设备 |
CN102238040A (zh) * | 2010-04-22 | 2011-11-09 | 杭州华三通信技术有限公司 | 一种对ce进行监控的方法和路由设备 |
CN102238040B (zh) * | 2010-04-22 | 2013-10-02 | 杭州华三通信技术有限公司 | 一种对ce进行监控的方法和路由设备 |
CN102130822B (zh) * | 2010-08-28 | 2013-09-11 | 华为技术有限公司 | 一种定向播放广告的方法、装置及系统 |
WO2011137835A1 (zh) * | 2010-08-28 | 2011-11-10 | 华为技术有限公司 | 一种定向播放广告的方法、装置及系统 |
CN102130822A (zh) * | 2010-08-28 | 2011-07-20 | 华为技术有限公司 | 一种定向播放广告的方法、装置及系统 |
US8667527B2 (en) | 2010-08-28 | 2014-03-04 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for playing targeted advertisement |
CN102025626A (zh) * | 2010-12-09 | 2011-04-20 | 中兴通讯股份有限公司 | 转发组播数据报文的方法和提供商边缘设备 |
WO2012075832A1 (zh) * | 2010-12-09 | 2012-06-14 | 中兴通讯股份有限公司 | 转发组播数据报文的方法和提供商边缘设备 |
CN102025626B (zh) * | 2010-12-09 | 2014-12-10 | 中兴通讯股份有限公司 | 转发组播数据报文的方法和提供商边缘设备 |
CN102104551B (zh) * | 2011-03-31 | 2013-09-18 | 杭州华三通信技术有限公司 | 双向协议无关组播转发方法及二层网络设备 |
CN102104551A (zh) * | 2011-03-31 | 2011-06-22 | 杭州华三通信技术有限公司 | 双向协议无关组播转发方法及二层网络设备 |
CN102217260A (zh) * | 2011-05-17 | 2011-10-12 | 华为技术有限公司 | 组播数据流的处理方法及upe、npe |
CN102215172A (zh) * | 2011-06-21 | 2011-10-12 | 中兴通讯股份有限公司 | 一种实现跨虚拟专用局域网组播的方法和系统 |
CN102215172B (zh) * | 2011-06-21 | 2017-08-11 | 中兴通讯股份有限公司 | 一种实现跨虚拟专用局域网组播的方法和系统 |
CN102394831A (zh) * | 2011-11-28 | 2012-03-28 | 杭州华三通信技术有限公司 | 基于虚拟机vm迁移的流量不中断方法和装置 |
CN102882760A (zh) * | 2012-09-27 | 2013-01-16 | 华为技术有限公司 | 虚拟专用局域网服务网络中的报文处理方法、组件、设备及系统 |
CN102882760B (zh) * | 2012-09-27 | 2015-05-06 | 华为技术有限公司 | 虚拟专用局域网服务网络中的报文处理方法、组件、设备及系统 |
CN102946356B (zh) * | 2012-10-16 | 2015-05-20 | 杭州华三通信技术有限公司 | 一种基于cb-pe网络的组播报文传输方法和设备 |
CN102946356A (zh) * | 2012-10-16 | 2013-02-27 | 杭州华三通信技术有限公司 | 一种基于cb-pe网络的组播报文传输方法和设备 |
CN103825794A (zh) * | 2012-11-19 | 2014-05-28 | 华为技术有限公司 | 多链路透明互联数据帧发送方法及装置 |
WO2014075421A1 (zh) * | 2012-11-19 | 2014-05-22 | 华为技术有限公司 | 多链路透明互联数据帧发送方法及装置 |
US9654304B2 (en) | 2012-11-19 | 2017-05-16 | Huawei Technologies Co., Ltd. | Method and apparatus for sending transparent interconnection of lots of links data frame |
CN103825794B (zh) * | 2012-11-19 | 2017-07-14 | 华为技术有限公司 | 多链路透明互联数据帧发送方法及装置 |
CN105075187A (zh) * | 2013-04-19 | 2015-11-18 | 三菱电机株式会社 | 网关装置、包含网关装置的网络系统、空调室外机以及空调网络系统 |
CN109831365A (zh) * | 2018-12-27 | 2019-05-31 | 山东电力工程咨询院有限公司 | 组播式协议精准负荷控制系统及以太网通信流构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101616014B (zh) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101616014B (zh) | 一种实现跨虚拟专用局域网组播的方法 | |
CN102035729B (zh) | 一种组播数据转发方法 | |
CN103139037B (zh) | 用于实现灵活的虚拟局域网的方法和装置 | |
CN101159665B (zh) | 实现未知组播报文向路由器端口转发的方法和装置 | |
CN104022960B (zh) | 基于OpenFlow协议实现PVLAN的方法和装置 | |
CN100433730C (zh) | 组播点播方法及系统 | |
CN100531138C (zh) | 运营商边界节点、虚拟专用局域网服务通信方法及系统 | |
CN102185778B (zh) | 一种基于vll的数据传输方法及其装置 | |
CN102316030B (zh) | 一种实现数据中心二层互联的方法和装置 | |
CN102413060B (zh) | Vpls网络中用户专线通信方法及设备 | |
CN105991432A (zh) | 提供商边缘路由器及方法 | |
CN102457386B (zh) | 一种通信设备的双向pim中组播报文转发方法和通信设备 | |
CN102215172B (zh) | 一种实现跨虚拟专用局域网组播的方法和系统 | |
CN101778035B (zh) | 一种虚拟专用局域网通信的方法及装置 | |
CN101667969A (zh) | L2vpn网络接入ip/l3vpn网络的方法和装置 | |
CN101631129B (zh) | 组播数据转发方法及装置 | |
CN102404179B (zh) | 一种报文处理的方法和装置 | |
CN100484080C (zh) | 一种虚拟私有网的路由引入方法、系统和运营商边缘设备 | |
CN102571375B (zh) | 组播转发方法、装置及网络设备 | |
CN105743797B (zh) | 基于接口绑定的组播vpn隧道建立方法 | |
EP2897328B1 (en) | Method, system and apparatus for establishing communication link | |
CN101119222B (zh) | Hope网络实现组播的方法、装置及系统 | |
CN100484055C (zh) | 跨虚拟局域网组播的实现方法 | |
CN104092554A (zh) | 组播分发树建立方法及装置 | |
CN1980176A (zh) | 混合型虚拟私有网络系统和骨干网边缘设备及其配置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180705 Address after: California, USA Patentee after: Global innovation polymerization LLC Address before: 518057 law department, Zhongxing communication building, Nanshan District science and Technology Industrial Park, Nanshan District high tech Industrial Park, Shenzhen, Guangdong Patentee before: ZTE Corp. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120111 |
|
CF01 | Termination of patent right due to non-payment of annual fee |