CN102571375B - 组播转发方法、装置及网络设备 - Google Patents
组播转发方法、装置及网络设备 Download PDFInfo
- Publication number
- CN102571375B CN102571375B CN201210028817.0A CN201210028817A CN102571375B CN 102571375 B CN102571375 B CN 102571375B CN 201210028817 A CN201210028817 A CN 201210028817A CN 102571375 B CN102571375 B CN 102571375B
- Authority
- CN
- China
- Prior art keywords
- multicast
- vpn
- forwarding device
- message
- public network
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种组播转发方法、装置及网络设备。其中,方法包括:第一VPN内的第一PE接收第一VPN内的组播源发送的私网组播报文;第一PE根据预先在第一PE的MVRF下配置的第二VPN内的第二PE所属MD的公网组播地址,对私网组播报文进行封装处理生成目的地址是第二PE所属MD的公网组播地址的公网组播报文;第一PE将公网组播报文发送给第二PE,以使第二PE将公网组播报文还原为私网组播报文后转发到第二VPN内。本发明技术方案实现了跨VPN组播时减少PE上所配置的VPN和PE之间建立的MT数量,节约VPN和MT资源。
Description
技术领域
本发明涉及网络通信技术,尤其涉及一种组播转发方法、装置及网络设备。
背景技术
多协议标签交换(Multiprotocol Label Switching,MPL S)是一种不再使用传统路由表进行数据转发,而是通过查找报文中的标签决定转发行为的协议。组播虚拟专用网络(Virtual Private Network,VPN)是一种基于边界网关协议(Border Gateway Protocol,BGP)的三层(L3)MPLS VPN网络传播VPN内的组播数据的技术。其中,组播域(Multicast-Domain,MD)是实现组播VPN的一种方案,即MD VPN方案。每个VPN对应一个MD,该MD覆盖了该VPN内能够交互组播数据的所有提供商边缘路由器(Provider EdgeRouter,PE)。在MD VPN方案中,MD被视为公网,而该MD之外被视为私网。每个MD在公网上分配一个独立的组播地址,称为共享组(Share-Group)地址,它是MD在公网上的唯一标志,用来在公网上建立MD所对应的组播分发树(Multicast Distribution Tree,MDT)。MDT定义了MD中传输组播数据的各PE之间的路径,包括缺省MDT(Default-MDT)和数据MDT(DateMDT)。在MD内各PE通过组播隧道(Multicast Tunnel,MT)连接到一起。组播隧道接口(Multicast Tunnel Interface,MTI)是MT的入/出口,相当于MD的入/出口。PE通过MTI连接到MT上。在MD内部,私网数据通过MT进行传输。MT传输过程为:本地PE将私网组播报文封装成公网组播报文,并在公网内进行组播转发,远端PE收到该公网组播报文后通过解封装将其还原成私网组播报文。
图1为现有技术中一种实现组播VPN的网络示意图。如图1所示,PE1、PE2和汇聚点(Rendezvous Point,RP)3构成MD,用户边缘路由器(CustomerEdge Router,CE)4与PE1连接,CE5与PE2连接。其中,CE4和CE5属于同一VPN。在该网络架构中,MD被视为公网,当CE4将VPN中的私网组播报文(假设该私网组播报文的源地址和目的地址分别是192.168.1.1和224.1.1.1)发送到PE1后,PE1依据对应的组播VPN路由转发表(MulticastVPN Routing and Forwarding,MVRF)将私网的组播报文发送到MTI上并转换为公网组播报文(假设公网组播报文后的源地址和目的地址分别为10.1.1.1,239.1.1.1),然后发送到MT中,通过MT转发给该MD内的其他PE(例如PE2),在PE2上再将公网组播数据转换为私网组播数据。
在实际应用过程中,经常会发生需要不同VPN访问一个共享VPN的服务的场景。如图2所示,第一VPN下的用户设备21需要访问第二VPN中的组播服务器27提供的业务,此时就会出现跨VPN的组播需求。由于不同VPN对应于不同的MD,并且各MD之间是相互独立的。现有技术中解决跨VPN组播的方法是,在第一VPN中的CE22连接的PE23上配置第二VPN,使PE23通过RP24和与第二VPN中的CE26连接的PE25同属于对应第二VPN的MD,在该MD中各PE之间建立MT,通过MT完成私网组播数据的发送。或者,在PE25上配置第一VPN,使PE23和PE25同属于对应第一VPN的MD,在该MD的各PE之间建立MT,通过MT完成私网组播数据的转发。
由上述可见,为了实现跨VPN之间的组播,需要在一方的PE上配置另一方所属的VPN(该VPN对该方PE来说是不需要存在的)使两个PE属于一个MD,并在两个PE之间建立相应的MT。但是,每台设备所允许配置的VPN以及所支持的MT数都是有限的,这样就会减少有效的VPN和MT资源,造成VPN和MT资源的浪费。
发明内容
本发明提供一种组播转发方法、装置及网络设备,用以在实现跨VPN组播时减少PE上所配置的VPN和PE之间建立的MT数量,节约VPN和MT资源。
本发明提供一种组播转发方法,包括:
第一VPN内的第一PE接收第一VPN内的组播源发送的私网组播报文,所述私网组播报文的目的地址是第二VPN的私网组播地址;
所述第一PE根据预先在所述第一PE的MVRF下配置的所述第二VPN内的第二PE所属MD的公网组播地址,对所述私网组播报文进行封装处理生成公网组播报文,所述公网组播报文的目的地址是所述第二PE所属MD的公网组播地址;
所述第一PE通过与所述第二PE之间的组播隧道MT将所述公网组播报文发送给所述第二PE,以使所述第二PE将所述公网组播报文还原为所述私网组播报文后转发到所述第二VPN内。
本发明提供一种组播转发装置,包括:
报文接收模块,用于接收所述组播转发装置所在第一VPN内的组播源发送的私网组播报文,所述私网组播报文的目的地址是第二VPN的私网组播地址;
封装模块,用于根据预先在所述组播转发装置的MVRF下配置的所述第二VPN内的组播转发装置所属MD的公网组播组地址,对所述私网组播报文进行封装处理生成公网组播报文,所述公网组播报文的目的地址是所述第二VPN内的组播转发装置所属MD的公网组播地址;
发送模块,用于通过所述组播转发装置与所述第二VPN内的组播转发装置之间的组播隧道MT将所述公网组播报文发送给所述第二VPN内的组播转发装置,以使所述第二VPN内的组播转发装置将所述公网组播报文还原为所述私网组播报文后转发到所述第二VPN内。
本发明提供一种网络设备,包括本发明提供的任一组播转发装置。
本发明提供的组播转发方法、装置及网络设备,通过在第一VPN的第一PE的MVRF下配置第二VPN的第二PE所属MD的公网组播地址,由第一PE将第一VPN的私网组播报文封装为目的地址为第二PE所属MD的组播地址的公网组播报文,然后通过第一PE和第二PE之间的组播隧道发送第二PE,进而由第二PE将公网组播报文还原为私网组播报文后转发到第二VPN,实现了跨VPN的组播,而不需要在第一PE或第二PE上配置不需要的VPN,也就不需要为配置的VPN建立组播隧道,节约了VPN和隧道资源。
附图说明
图1为现有技术中一种实现组播VPN的网络示意图;
图2为现有技术中又一种实现组播VPN的网络示意图;
图3为本发明一实施例提供的组播转发方法的流程图;
图4为本发明另一实施例提供的组播转发方法的流程图;
图5为本发明一实施例提供的MD VPN的一种网络示意图;
图6为本发明一实施例提供的组播转发装置的结构示意图;
图7为本发明另一实施例提供的组播转发装置的结构示意图;
图8为本发明又一实施例提供的组播转发装置的结构示意图。
具体实施方式
图3为本发明一实施例提供的组播转发方法的流程图。如图3所示,本实施例的方法包括:
步骤301、第一VPN内的第一PE接收第一VPN内的组播源发送的私网组播报文,所述私网组播报文的目的地址是第二VPN的私网组播地址。
其中,当第二VPN内的用户需要访问第一VPN内的组播源提供的组播业务时,会向第一VPN内的组播源发送组播请求。第一VPN内的组播源会根据组播请求向第二VPN内的用户提供服务。具体的,第一VPN内的组播源发送的私网组播报文可以经过第一VPN内的CE转发给第一VPN内的第一PE。
在MD VPN方案中,一个PE可以配置多个VPN。本实施例的第一VPN内的第一PE是指与第一VPN内的CE连接,并在与第一VPN内的CE连接的接口上配置了第一VPN。
第一PE接收由第一VPN内的CE转发的私网组播报文。具体的,第一VPN内的CE通过PIM协议将私网组播报文发送给第一PE。
步骤302、第一PE根据预先在第一PE的MVRF下配置的第二VPN内的第二PE所属MD的公网组播地址,对私网组播报文进行封装处理生成公网组播报文,所述公网组播报文的目的地址是第二PE所属MD的公网组播地址。
在本实施例中,第一VPN内的第一PE已经预先在其MVRF下配置了第二VPN内的第二PE所属MD的公网组播地址,即将第一PE的MVRF与第二PE所属MD的公网组播地址进行绑定。其中,第二VPN内的第二PE是指与第二VPN内的CE连接,并在与第二VPN内的CE连接的接口上配置了第二VPN。在本实施例中,第二PE所属MD是指对应于第二VPN的MD,第二PE所属MD的公网组播地址是指对应于第二VPN的MD的组播地址。
本实施例的第一PE上没有配置第二VPN,且本实施例的第二PE上没有配置第一VPN,但是并不限制第一PE和第二PE上可以同时配置其他VPN。例如,第一PE和第二PE上可以同时配置第三VPN,也就是说,第一PE和第二PE同属于第三VPN。
在本实施例中,第一PE在其MVRF下配置第二PE所属MD的公网组播地址,在接收到第一VPN的私网组播报文后,通过在私网组播报文的外层再封装上第一PE的环回接口的地址和第二PE所属MD的公网组播地址,生成公网组播报文。其中,第一PE的环回接口的地址是指第一PE用于建立BGP协议邻居的IP地址,也就是MTI的IP地址。
由于第一PE在其MVRF下配置了第二PE所属MD的公网组播地址,因此,第一PE在接收到私网组播报文后,可以像对在第一VPN内进行组播的私网组播报文一样对发送给第二VPN的私网组播报文进行处理。区别在于,第一PE对发送给第二VPN的私网组播报文封装后得到的公网组播报文的目的地址是第二VPN对应的MD的组播地址,而不是第一VPN对应的MD的组播地址。
步骤303、第一PE通过与第二PE之间的MT将公网组播报文发送给第二PE,以使第二PE将公网组播报文还原为私网组播报文后转发到第二VPN内。
在将第一VPN内的私网组播报文封装为公网组播报文之后,第一PE通过其与第二PE之间的MT将公网组播报文发送给第二PE。
第二PE通过与第一PE之间的MT接收第一PE发送的公网组播报文,然后对接收到的公网组播报文进行还原,将公网组播报文还原为私网组播报文,然后根据其MVRF将私网组播报文转发到第二VPN内。
在本实施例中,第一PE和第二PE之间的MT可以是存在于第一PE和第二PE之间的任何一条MT。例如,如果第一PE和第二PE同属于第三VPN,则第一PE和第二PE之间就会存在一条对应第三VPN的MD的MT,则第一PE可以通过该MT将公网组播报文发送给第二PE。
如果第一PE和第二PE之间不存在任何MT,则第一PE可以与第二PE先建立一条MT,然后通过新建的MT将公网组播报文发送给第二PE。
在本实施例中,第一PE通过在其MVRF下配置第二VPN的第二PE所属MD的公网组播地址,在接收到发送给第二VPN的私网组播报文后将第一VPN的私网组播报文封装为目的地址为第二PE所属MD的组播地址的公网组播报文,然后通过第一PE和第二PE之间的组播隧道发送第二PE,进而由第二PE将公网组播报文还原为私网组播报文后转发到第二VPN,实现了跨VPN的组播,而不需要在第一PE或第二PE上配置不需要的VPN,也就不需要为配置的VPN建立组播隧道,节约了VPN和隧道资源。
图4为本发明另一实施例提供的组播转发方法的流程图。如图4所示,本实施例的方法包括:
步骤401、第一PE预先在第一PE的MVRF下配置第二PE所属MD的公网组播地址,并在第一PE上配置第二PE所属MD中的RP。
在本实施例中,在第一PE的MVRF下可以配置如下信息:
xxx(config-vrf)#mdt default group_address:表示基于VRF下使能缺省MDT组;其中,group_address包括第一VPN对应的MD的组播地址和第二VPN对应的MD的组播地址。其中,“xxx”表示所设置的缺省提示符,例如可以设置为各公司的名称。
xxx(config)#ip multicast-routing vrf vrf_name:表示基于VRF使能组播协议。
xxx(config-if-type ID)#ip pim sparse-mode:表示公网接口使能组播协议。
xxx(config-router)#neighbor ip-address remote-as asn-number:表示PE之间建立IBGP会话。
xxx(config-router)#neighbor ip-address update-source interface-name:用于指明建立BGP会话的接口,用于公共组播路由。
xxx(config-router)#address-family ipv4 mdt:表示使能MDT地址族。
xxx(config-router-af)#neighbor ip-address activate:表示在该地址族下激活BGP邻居。
另外,针对不同的VPN设置了RP信息。例如,xxx(config)#ip pim[vrfvrf-name]rp-address rp-address[access_list]:表示基于VRF确定RP位置。其中,基于不同的组地址可以设置不同的RP。在本实施例中,在配置第二PE所属的MD的公网组播地址时,同时配置了与该公网组播地址对应的RP。
步骤402、第一PE将在第一PE的MVRF下配置的第二PE所属MD的公网组播地址和在第一PE上配置的第二PE所属MD中的RP通告给第一PE的组播邻居,所述第一PE的组播邻居包括第二PE。
其中,第一PE的组播邻居也就是“xxx(config-router)#address-family ipv4mdt”这个命令及其后的配置。
第一PE在其MVRF下配置了第二PE所属MD的公网组播地址,并在第一PE上配置了对应的RP之后,将所配置的第二PE所属MD的公网组播地址和对应的RP通告给其组播邻居。其中,第一PE将其MVRF与公网组播地址的绑定关系通告给其邻居组播,同理,第一PE也会接收其组播邻居通告的绑定关系。在现有技术中,第一PE和其组播邻居相互通过其MVRF与公网组播地址的绑定关系的目的是为了确定彼此之间是否建立MT。在本实施例中,第一PE和其组播邻居相互通告其MVRF与公网组播地址的绑定关系是确定彼此之间是否建立MT的因素之一,除此之外,还要考虑第一PE和其组播邻居之间是否已经存在MT。如果根据第一PE和其组播邻居相互通告的其MVRF与公网组播地址的绑定关系确定出彼此之间需要建立MT,而第一PE和其组播邻居之间已经存在MT时,就不再建立MT。只有在根据第一PE和其组播邻居相互通告的其MVRF与公网组播地址的绑定关系确定出彼此之间需要建立MT,且第一PE和其组播邻居之间不存在MT时,才会建立MT。例如,如果第一PE的MVRF绑定了第二PE所属MD的公网组播地址,且第二PE的MVRF也绑定了第一PE所属MD的公网组播地址,且第一PE和第二PE之间尚不存在MT,则第一PE和第二PE之间会建立MT;如果第一PE的MVRF绑定了第二PE所属MD的公网组播地址,且第二PE的MVRF也绑定了第一PE所属MD的公网组播地址,但是第一PE和第二PE之间已经存在MT,则第一PE和第二PE之间不会再建立MT。
具体的,第一PE可以通过BGP协议发现其组播邻居,并通过BGP协议向其组播邻居通告MVRF与公网组播地址的绑定关系。
步骤403、第一VPN内的第一PE接收第一VPN内的组播源发送的私网组播报文,所述私网组播报文的目的地址是第二VPN的私网组播地址。
步骤404、第一PE根据预先在第一PE的MVRF下配置的第二VPN内的第二PE所属MD的公网组播地址,对私网组播报文进行封装处理生成公网组播报文,所述公网组播报文的目的地址是第二PE所属MD的公网组播地址。
步骤405、第一PE通过与第二PE之间的MT将公网组播报文发送给第二PE,以使第二PE将公网组播报文还原为私网组播报文后转发到第二VPN内。
上述步骤403-步骤405可参见步骤301-步骤303的描述,在此不再赘述。
在本实施例中,第一PE通过在其MVRF下配置第二VPN的第二PE所属MD的公网组播地址,在接收到发送给第二VPN的私网组播报文后将第一VPN的私网组播报文封装为目的地址为第二PE所属MD的组播地址的公网组播报文,然后通过第一PE和第二PE之间的组播隧道发送第二PE,进而由第二PE将公网组播报文还原为私网组播报文后转发到第二VPN,实现了跨VPN的组播,而不需要在第一PE或第二PE上配置不需要的VPN,也就不需要为配置的VPN建立组播隧道,节约了VPN和隧道资源。
进一步,如果第一PE和第二PE之间不存在MT时,第一PE和第二PE需要建立MT。其中,第一PE与第二PE建立MT的过程也就是建立DMT的过程。该建立过程具体包括:第一PE和第二PE分别以在第一PE上配置的第二PE所属MD中的RP为根,向该RP发送(*,default mdt)加入消息以建立RPT,该加入消息中的“default mdt”是指在第一PE的MVRF下配置的第二PE所属MD的公网组播地址。然后,在第一PE上配置的第二PE所属MD中的RP会以第一PE和第二PE为源,分别向第一PE和第二PE发送对应(S,default mdt)注册消息形成对应的SPT。其中,注册消息中的“S”表示第一PE的地址或第二PE的地址;注册消息中的“default mdt”是指在第一PE的MVRF下配置的第二PE所属MD的公网组播地址。这样就在第一PE和第二PE之间建立起了MDT,也就会建立一条MT。
图5为本发明一实施例提供的MD VPN的一种网络示意图。如图5所示,本实施例的网络包括:三个VPN,分别为VPNA、VPNB和VPNC。VPNA包括组播源50、CE51、CE52和PE53。VPNB包括用户设备61、CE62和PE63。VPNC包括用户设备71、CE72和PE63。PE53和PE63通过RP60连接,并且PE53、PE63和PE73构成了一个MD。其中,PE73属于另外一个VPN。
假设,VPNB中的用户设备61要访问VPNA中的组播源50提供的视频业务。则跨VPN的组播转发流程如下:
在PE53的VRF下配置PE63上VPNB对应的MD的组播地址。在PE53上配置对应VPNB的RP。假设PE63上VPNB对应的MD的组播地址为224.0.1.0。
组播源50的私网组播报文经CE51发送给PE53。假设私网组播报文的源IP地址和目的IP地址分别为:10.1.1.2和232.0.0.0。其中,10.1.1.2是组播源50的IP地址,232.0.0.0是VPNB的私网组播地址。
PE53根据预先配置PE63上VPNB对应的MD的组播地址,对私网组播报文进行重新封装,得到公网组播报文。假设公网组播报文的源IP地址和目的IP地址分别2.2.2.2和224.0.1.0。其中,2.2.2.2是PE53的环回接口地址,用于建立BGP邻居的地址,224.0.1.0是PE63上VPNB对应的MD的组播地址。
接着,PE53再封装GRE字段,用于标记GRE封装,告知内层为IP。然后,PE53对公网组播报文进行二层封装,例如封装目的MAC地址01:00:5e:00:01:00。MAC地址01:00:5e:00:01:00是组播地址224.0.1.0对应的组播MAC地址。
然后,PE53通过与PE63之间的MT,沿着PE53和PE63之间MDT将公网组播报文发送给PE63。
PE63接收到公网组播报文后,对公网组播报文进行还原,得到源IP地址和目的IP地址分别为:10.1.1.2和232.0.0.0的私网组播报文,将私网组播报文转发到VPNB内。
在VPMB内,私网组播报文经CE62最终到达用户设备61。
其中,组播源50的私网组播报文经CE51发送给PE53之前包括:用户设备61点播视频业务的过程。用户设备61点播视频业务的过程为:用户设备61点播某个组播频道,会向网关设备发送IGMP加入消息。IGMP加入消息经网关设备转发给该VPNB的PE63。PE63会继续向VPNB内的RP发送IGMP加入消息。具体的,PE63会将该IGMP加入消息封装到GRE隧道报文中,形成公网组播报文,通过MT转发给对应的PE53。PE53会对该GRE隧道报文进行解封装,并根据VPN信息转发给VPNA中的RP设备,最终形成该VPNA的RPT,从而实现了用户设备61向组播源50点播视频服务。
综上所述,本发明各实施例提供的组播转发方法解决了在入口或者出口PE上需要额外增加配置的VPN数量,有效的利用了有限的宝贵资源,充分利用了同一个VPN内部建立的隧道机制,避免了由于跨VPN功能引入的新增隧道的数量,有效的利用了宝贵隧道资源。本发明各实施例提供的组播转发方法部署和实施相对简单、易懂,有效的降低了维护成本和工作量。
图6为本发明一实施例提供的组播装置的结构示意图。如图6所示,本实施例的装置包括:报文接收模块611、封装模块621和发送模块631。
其中,报文接收模块611,用于接收本实施例的组播转发装置所在第一VPN内的组播源发送的私网组播报文,所述私网组播报文的目的地址是第二VPN的私网组播地址。
封装模块621,与报文接收模块611连接,用于根据预先在本实施例的组播转发装置的MVRF下配置的第二VPN内的组播转发装置所属MD的公网组播组地址,对报文接收模块611接收到的私网组播报文进行封装处理生成公网组播报文,所述公网组播报文的目的地址是第二VPN内的组播转发装置所属MD的公网组播地址。
发送模块631,与封装模块621连接,用于通过本实施例的组播转发装置与第二VPN内的组播转发装置之间的MT将封装模块621封装成的公网组播报文发送给第二VPN内的组播转发装置,以使第二VPN内的组播转发装置将公网组播报文还原为私网组播报文后转发到第二VPN内。
本实施例的组播转发装置上配置有第一VPN,但没有配置第二VPN。本实施例的组播转发装置和第二VPN内的组播转发装置属于不同的VPN。
本实施例的组播转发装置的各功能模块可用于执行图3所示组播转发方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。
其中,本实施例的组播转发装置或第二VPN内的组播转发装置可以是MD VPN方案中的PE,但不限于此。
本实施例的组播转发装置,通过在其MVRF下预先配置第二VPN内的组播转发装置所属MD的公网组播地址,在接收到所在的第一VPN内的私网组播报文后,根据预先配置的第二VPN内的组播转发装置所属MD的公网组播地址将私网组播报文封装为目的地址为第二VPN内的组播转发装置所属MD的公网组播地址的公网组播报文,从而在本实施例的组播转发装置上不配置第二VPN或者在第二VPN内的组播转发装置上不配置第一VPN的条件下,将公网组播报文发送给第二VPN内的组播组转发装置,实现了跨VPN的组播,而不需要在两个组播转发装置上配置不需要的VPN,也就不需要为配置的VPN建立组播隧道,节约了VPN和隧道资源。
图7为本发明另一实施例提供的组播转发装置的结构示意图。本实施例基于图6所示实施例实现,如图7所示,本实施例的装置还包括:配置模块641和通告模块651。
其中,配置模块641,与封装模块621连接,用于在封装模块621根据本实施例的组播转发装置的MVRF下所配置的第二VPN内的组播转发装置所属MD的公网组播组地址,对报文接收模块611接收到的私网组播报文进行封装处理生成公网组播报文之前,预先在本实施例的组播转发装置的MVRF下配置第二VPN内的组播转发装置所属MD的公网组播地址,并在本实施例的组播转发装置上配置第二VPN内的组播转发装置所属MD中的RP。
通告模块651,与配置模块641连接,用于将配置模块641在组播转发装置的MVRF下配置的第二VPN内的组播转发装置所属MD的公网组播地址和在组播转发装置上配置的第二VPN内的组播转发装置所属MD中的RP通告给组播转发装置的组播邻居,所述组播转发装置的组播邻居包括第二VPN内的组播转发装置。
上述功能模块可用于执行图4所示实施例中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
进一步,本实施例的发送模块631包括:第一发送子模块6311和第二发送子模块6321。
其中,第一发送子模块6311,与封装模块621连接,用于在本实施例的组播转发装置与第二VPN内的组播转发装置之间已经存在MT时,直接将封装模块621封装成的公网组播报文通过已经存在的MT发送给第二VPN内的组播转发装置,以使第二VPN内的组播转发装置将公网组播报文还原为私网组播报文后转发到第二VPN内。
第二发送子模块6321,与封装模块621连接,用于在本实施例的组播转发装置和第二VPN内的组播转发装置之间不存在MT时,与第二VPN内的组播转发装置新建MT,并将封装模块621封装成的公网组播报文通过新建的MT发送给第二VPN内的组播转发装置,以使第二VPN内的组播转发装置将该公网组播报文还原为私网组播报文后转发到第二VPN内。
更进一步,本实施例的第二发送子模块6321具体用于向在本实施例的组播转发装置上配置的第二VPN内的组播转发装置所属MD中的RP发送(*,第二VPN内的组播转发装置所属MD的公网组播地址)加入消息以建立RPT,并接收在本实施例的组播转发装置上配置的第二VPN内的组播转发装置所属MD中的RP发送的(S,第二VPN内的组播转发装置所属MD的公网组播地址)注册消息以建立SPT,从而在本实施例的组播转发装置和第二VPN内的组播转发装置之间建立新的MT。其中,S为本实施例的组播转发装置的地址。
本实施例的组播转发装置,通过配置模块和通告模块实现在组播转发装置上预先配置第二VPN内的组播转发装置所属MD的公网组播地址和相应地RP,为在本实施例的组播转发装置和第二VPN内的组播转发装置之间建立组播隧道打下了基础。
图8为本发明又一实施例提供的组播转发装置的结构示意图。本实施例基于图7所示实施例实现,本实施例的组播转发装置不仅可以作为组播源所在VPN的装置,负责向另一VPN内的请求者转发组播源的私网组播报文,本实施例的组播转发装置还可以作为组播请求者所在VPN内的装置,向组播源转发组播请求者的组播请求并负责接收组播源所在VPN内的装置转发的组播源的私网组播报文。即本实施例的组播转发装置还可以作为第二VPN内的组播转发装置。
如图8所示,本实施例的组播装置还包括:信息接收模块711和建立模块721。
其中,信息接收模块711,用于接收第一VPN内的组播转发装置通告的配置在第一VPN内的组播转发装置的MVRF下的本实施例的组播转发装置所属MD的公网组播组地址和配置在第一VPN内的组播转发装置上的本实施例的组播转发装置所属MD中的RP。
建立模块721,与信息接收模块711连接,用于向信息接收模块711接收到的在第一VPN内的组播转发装置上配置的本实施例的组播转发装置所属MD中的RP发送(*,本实施例的组播转发装置所属MD的公网组播组地址)加入消息以建立RPT,并接收在第一VPN内的组播转发装置上配置的本实施例的组播转发装置所属MD中的RP发送的(S,本实施例的组播转发装置所属MD的公网组播地址)注册消息以建立SPT,从而与第一VPN内的组播转发装置建立新的组播隧道。其中,S为本实施例的组播转发装置的地址。
进一步,本实施例的组播转发装置还包括:还原模块731。
还原模块731,用于接收第一VPN内的组播转发装置发送的公网组播报文,并将公网组播报文还原为私网组播报文后转发到第二VPN内。
上述各功能模块可用于执行图3或图4所示实施例中第二VPN内的组播转发装置对应的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的组播转发装置可以是MD VPN方案中的PE,但不限于此。
本实施例的组播转发装置作为第二VPN内的装置,与第一VPN内的组播转发装置相配合,实现了跨VPN的组播,而不用在其上配置不需要的VPN,也就不需要建立不需要的组播隧道,节约了VPN和隧道资源。
在此说明,本发明实施例提供的第一VPN内的组播转发装置和第二VPN内的组播转发装置可以相互独立,即本发明上述实施例提供的组播转发装置可以只具有第一VPN内的组播转发装置的功能,也可以只具有第二VPN内的组播转发装置的功能。
本发明一实施例提供一种网络设备,包括本发明上述实施例提供的任一组播转发装置。
本实施例的网络设备可以是MD VPN方案中的PE,但不限于此。
本实施例的网络设备由于包括本发明实施例提供的组播转发装置,同样可用于执行本发明实施例提供的组播转发方法的流程,同样可以在实现跨VPN的组播时,节约VPN和隧道资源。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (11)
1.一种组播转发方法,其特征在于,包括:
第一VPN内的第一PE接收第一VPN内的组播源发送的私网组播报文,所述私网组播报文的目的地址是第二VPN的私网组播地址;
所述第一PE根据预先在所述第一PE的MVRF下配置的所述第二VPN内的第二PE所属MD的公网组播地址,对所述私网组播报文进行封装处理生成公网组播报文,所述公网组播报文的目的地址是所述第二PE所属MD的公网组播地址;
所述第一PE通过与所述第二PE之间的组播隧道MT将所述公网组播报文发送给所述第二PE,以使所述第二PE将所述公网组播报文还原为所述私网组播报文后转发到所述第二VPN内,其中,所述MT为存在于所述第一PE和所述第二PE之间的任何MT或所述第一PE与所述第二PE预先建立的MT。
2.根据权利要求1所述的组播转发方法,其特征在于,所述第一PE通过与所述第二PE之间的组播隧道MT将所述公网组播报文发送给所述第二PE,以使所述第二PE将所述公网组播报文还原为所述私网组播报文后转发到所述第二VPN内包括:
如果所述第一PE和所述第二PE之间已经存在MT,所述第一PE直接将所述公网组播报文通过已经存在的MT发送给所述第二PE,以使所述第二PE将所述公网组播报文还原为所述私网组播报文后转发到所述第二VPN内;
如果所述第一PE和所述第二PE之间不存在MT,所述第一PE与所述第二PE新建MT,并将所述公网组播报文通过新建的MT发送给所述第二PE,以使所述第二PE将所述公网组播报文还原为所述私网组播报文后转发到所述第二VPN内。
3.根据权利要求2所述的组播转发方法,其特征在于,所述第一PE根据预先在所述第一PE的MVRF下配置的所述第二VPN内的第二PE所属MD的公网组播地址,对所述私网组播报文进行封装处理生成公网组播报文之前包括:
所述第一PE预先在所述第一PE的MVRF下配置所述第二PE所属MD的公网组播地址,并在所述第一PE上配置所述第二PE所属MD中的RP;
所述第一PE将在所述第一PE的MVRF下配置的第二PE所属MD的公网组播地址和在所述第一PE上配置的所述第二PE所属MD中的RP通告给所述第一PE的组播邻居,所述第一PE的组播邻居包括所述第二PE。
4.根据权利要求3所述的组播转发方法,其特征在于,所述第一PE与所述第二PE新建MT包括:
所述第一PE和所述第二PE分别向在所述第一PE上配置的所述第二PE所属MD中的RP发送加入消息以建立RPT;
所述第一PE和所述第二PE分别接收在所述第一PE上配置的所述第二PE所属MD中的RP发送的(S,所述第二PE所属MD的公网组播地址)注册消息以建立SPT,其中,S为所述第一PE的地址或所述第二PE的地址。
5.一种组播转发装置,其特征在于,包括:
报文接收模块,用于接收所述组播转发装置所在第一VPN内的组播源发送的私网组播报文,所述私网组播报文的目的地址是第二VPN的私网组播地址;
封装模块,用于根据预先在所述组播转发装置的MVRF下配置的所述第二VPN内的组播转发装置所属MD的公网组播组地址,对所述私网组播报文进行封装处理生成公网组播报文,所述公网组播报文的目的地址是所述第二VPN内的组播转发装置所属MD的公网组播地址;
发送模块,用于通过所述组播转发装置与所述第二VPN内的组播转发装置之间的组播隧道MT将所述公网组播报文发送给所述第二VPN内的组播转发装置,以使所述第二VPN内的组播转发装置将所述公网组播报文还原为所述私网组播报文后转发到所述第二VPN内,其中,所述MT为存在于第一PE和第二PE之间的任何MT或所述第一PE与所述第二PE预先建立的MT。
6.根据权利要求5所述的组播转发装置,其特征在于,所述发送模块包括:
第一发送子模块,用于在所述组播转发装置与所述第二VPN内的组播转发装置之间已经存在MT时,直接将所述公网组播报文通过已经存在的MT发送给所述第二VPN内的组播转发装置,以使所述第二VPN内的组播转发装置将所述公网组播报文还原为所述私网组播报文后转发到所述第二VPN内;
第二发送子模块,用于在所述组播转发装置和所述第二VPN内的组播转发装置之间不存在MT时,与所述第二VPN内的组播转发装置新建MT,并将所述公网组播报文通过新建的MT发送给所述第二VPN内的组播转发装置,以使所述第二VPN内的组播转发装置将所述公网组播报文还原为所述私网组播报文后转发到所述第二VPN内。
7.根据权利要求6所述的组播转发装置,其特征在于,还包括:
配置模块,用于预先在所述组播转发装置的MVRF下配置所述第二VPN内的组播转发装置所属MD的公网组播地址,并在所述组播转发装置上配置所述第二VPN内的组播转发装置所属MD中的RP;
通告模块,用于将在所述组播转发装置的MVRF下配置的所述第二VPN内的组播转发装置所属MD的公网组播地址和在所述组播转发装置上配置的所述第二VPN内的组播转发装置所属MD中的RP通告给所述组播转发装置的组播邻居,所述组播转发装置的组播邻居包括所述第二VPN内的组播转发装置。
8.根据权利要求7所述的组播转发装置,其特征在于,所述第二发送子模块具体用于向在所述组播转发装置上配置的所述第二VPN内的组播转发装置所属MD中的RP发送加入消息以建立RPT,并接收在所述组播转发装置上配置的所述第二VPN内的组播转发装置所属MD中的RP发送的(S,所述第二VPN内的组播转发装置所属MD的公网组播地址)注册消息以建立SPT,其中,S为所述组播转发装置的地址。
9.一种组播转发装置,其特征在于,包括:
报文接收模块,用于接收组播转发装置所在第一VPN内的组播源发送的私网组播报文,所述私网组播报文的目的地址是第二VPN的私网组播地址;
封装模块,用于根据预先在所述组播转发装置的MVRF下配置的所述第二VPN内的组播转发装置所属MD的公网组播组地址,对所述私网组播报文进行封装处理生成公网组播报文,所述公网组播报文的目的地址是所述第二VPN内的组播转发装置所属MD的公网组播地址;
发送模块,用于通过所述组播转发装置与所述第二VPN内的组播转发装置之间的组播隧道MT将所述公网组播报文发送给所述第二VPN内的组播转发装置,以使所述第二VPN内的组播转发装置将所述公网组播报文还原为所述私网组播报文后转发到所述第二VPN内,其中,所述MT为存在于第一PE和第二PE之间的任何MT或所述第一PE与所述第二PE预先建立的MT;
信息接收模块,用于接收所述第一VPN内的组播转发装置通告的配置在所述第一VPN内的组播转发装置的MVRF下的所述组播转发装置所属MD的公网组播组地址和配置在所述第一VPN内的组播转发装置上的所述组播转发装置所属MD中的RP;
建立模块,用于向所述信息接收模块接收到的RP发送加入消息以建立RPT,并接收在所述第一VPN内的组播转发装置上配置的所述组播转发装置所属MD中的RP发送的(S,所述组播转发装置所属MD的公网组播地址)注册消息以建立SPT,其中,S为所述第二VPN内的组播转发装置的地址。
10.根据权利要求9所述的组播转发装置,其特征在于,还包括:
还原模块,用于接收所述第一VPN内的组播转发装置发送的公网组播报文,并将所述公网组播报文还原为私网组播报文后转发到所述第二VPN内。
11.一种网络设备,其特征在于,包括权利要求5-10任一项所述的组播转发装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210028817.0A CN102571375B (zh) | 2012-02-09 | 2012-02-09 | 组播转发方法、装置及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210028817.0A CN102571375B (zh) | 2012-02-09 | 2012-02-09 | 组播转发方法、装置及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102571375A CN102571375A (zh) | 2012-07-11 |
CN102571375B true CN102571375B (zh) | 2015-04-22 |
Family
ID=46415913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210028817.0A Active CN102571375B (zh) | 2012-02-09 | 2012-02-09 | 组播转发方法、装置及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102571375B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743797A (zh) * | 2016-04-05 | 2016-07-06 | 深圳市风云实业有限公司 | 基于接口绑定的组播vpn隧道建立方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095473B (zh) * | 2013-01-25 | 2016-03-02 | 福建星网锐捷网络有限公司 | 跨虚拟专用网络的指定信源组播方法、装置及网络设备 |
CN103152280B (zh) * | 2013-03-12 | 2016-05-25 | 福建星网锐捷网络有限公司 | 组播流的传输方法、装置和入口边缘设备 |
CN104426780B (zh) * | 2013-08-30 | 2018-01-23 | 华为技术有限公司 | 数据转发方法和系统 |
CN105871565B (zh) * | 2015-01-20 | 2019-11-29 | 华为技术有限公司 | 用于组播转发的方法及装置 |
CN104780090B (zh) * | 2015-04-27 | 2018-10-26 | 新华三技术有限公司 | Vpn组播传输的方法、装置、pe设备 |
CN110636033B (zh) * | 2018-06-25 | 2021-11-26 | 中国电信股份有限公司 | 组播数据传输方法、系统、组播隧道终结点和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013950A (zh) * | 2007-02-07 | 2007-08-08 | 杭州华为三康技术有限公司 | 实现组播虚拟专用网绑定的方法及设备 |
CN102075439A (zh) * | 2011-02-22 | 2011-05-25 | 杭州华三通信技术有限公司 | 一种组播报文转发方法和路由设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483439B2 (en) * | 2005-03-21 | 2009-01-27 | Cisco Technology, Inc. | VPN services using address translation over an IPv6 network |
-
2012
- 2012-02-09 CN CN201210028817.0A patent/CN102571375B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013950A (zh) * | 2007-02-07 | 2007-08-08 | 杭州华为三康技术有限公司 | 实现组播虚拟专用网绑定的方法及设备 |
CN102075439A (zh) * | 2011-02-22 | 2011-05-25 | 杭州华三通信技术有限公司 | 一种组播报文转发方法和路由设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743797A (zh) * | 2016-04-05 | 2016-07-06 | 深圳市风云实业有限公司 | 基于接口绑定的组播vpn隧道建立方法 |
CN105743797B (zh) * | 2016-04-05 | 2019-03-29 | 深圳市风云实业有限公司 | 基于接口绑定的组播vpn隧道建立方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102571375A (zh) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8121056B1 (en) | Aggregate multicast trees for multicast virtual private networks | |
US8339973B1 (en) | Multicast traceroute over MPLS/BGP IP multicast VPN | |
EP2378720B1 (en) | Extranet networking method, system and device for multicast virtual private network | |
CN102571375B (zh) | 组播转发方法、装置及网络设备 | |
CN107018059B (zh) | 一种报文转发方法及装置 | |
WO2015165311A1 (zh) | 传输数据报文的方法和供应商边缘设备 | |
CN102413060B (zh) | Vpls网络中用户专线通信方法及设备 | |
EP3863233B1 (en) | Method and device used for ethernet virtual private network | |
WO2008092357A1 (fr) | Procédé et dispositif pour établir un tunnel pseudocâblé et transmettre un message à l'aide de celui-ci | |
WO2017124709A1 (zh) | 流量工程隧道建立方法和装置 | |
WO2014194711A1 (zh) | 报文处理方法、设备标签处理方法及设备 | |
US20190158392A1 (en) | Service label routing n a network | |
WO2013139270A1 (zh) | 实现三层虚拟专用网络的方法、设备及系统 | |
CN105553810A (zh) | 一种转发专线业务报文的方法及装置 | |
CN107294859B (zh) | 一种信息传递方法、装置及系统 | |
CN100442770C (zh) | 一种在bgp/mpls vpn实现组播的方法 | |
CN101119222A (zh) | Hope网络实现组播的方法、装置及系统 | |
CN103634210B (zh) | 发现vpls实例的对端pe设备的方法及设备 | |
CN108512671A (zh) | 一种外层组播ip地址分配方法以及装置 | |
CN102340449B (zh) | 一种私网报文传输方法、设备及系统 | |
CN118764338A (zh) | 目标网络承载ip三层vpn的方法、设备及介质 | |
Riaz | Multicast in MPLS Based Networks and VPNs |
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 |