组播转发方法、装置及网络设备的制作方法

文档序号:7889143阅读:181来源:国知局
专利名称:组播转发方法、装置及网络设备的制作方法
技术领域
本发明涉及网络通信技术,尤其涉及一种组播转发方法、装置及网络设备。
技术背景
多协议标签交换(MultiprotocolLabel 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 Edge Router,ΡΕ)。在MD VPN方案中,MD被视为公网,而该MD之外被视为私网。每个MD在公网上分配一个独立的组播地址,称为共享组(Share-Group)地址,它是MD在公网上的唯一标志,用来在公网上建立MD所对应的组播分发树(Multicast Distribution Tree, MDT)。 MDT定义了 MD中传输组播数据的各PE之间的路径,包括缺省MDT(Default-MDT)和数据 MDT (Date MDT)。在MD内各PE通过组播隧道(Multicast Tunnel, MT)连接到一起。组播隧道接口(Multicast Tunnel Interface,MTI)是 MT 的入 / 出口,相当于 MD 的入 / 出口。 PE通过MTI连接到MT上。在MD内部,私网数据通过MT进行传输。MT传输过程为本地PE 将私网组播报文封装成公网组播报文,并在公网内进行组播转发,远端PE收到该公网组播报文后通过解封装将其还原成私网组播报文。
图1为现有技术中一种实现组播VPN的网络示意图。如图1所示,PEU PE2和汇聚点(Rendezvous Point,RP) 3 构成 MD,用户边缘路由器(Customer Edge Router,CE)4 与 PEl连接,CE5与PE2连接。其中,CE4和CE5属于同一 VPN。在该网络架构中,MD被视为公网,当CE4将VPN中的私网组播报文(假设该私网组播报文的源地址和目的地址分别是 192. 168. 1. 1和224. 1. 1. 1)发送到PEl后,PEl依据对应的组播VPN路由转发表(Multicast VPN Routing and Forwarding, MVRF)将私网的组播报文发送到MTI上并转换为公网组播报文(假设公网组播报文后的源地址和目的地址分别为10. 1. 1. 1,239. 1. 1. 1),然后发送到MT中,通过MT转发给该MD内的其他PE (例如PE^,在PE2上再将公网组播数据转换为私网组播数据。
在实际应用过程中,经常会发生需要不同VPN访问一个共享VPN的服务的场景。如图2所示,第一 VPN下的用户设备21需要访问第二 VPN中的组播服务器27提供的业务,此时就会出现跨VPN的组播需求。由于不同VPN对应于不同的MD,并且各MD之间是相互独立的。现有技术中解决跨VPN组播的方法是,在第一 VPN中的CE22连接的PE23上配置第二 VPN,使PE23通过RPM和与第二 VPN中的CE^连接的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)iimdt 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_famiIy ipv4 mdt 表示使能 MDT 地址族。
XXX (config_router_af) #neighbor ip-address activate 在i亥地址族下激活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邻居的地址,2M. 0. 1. 0 是PE63上VPNB对应的MD的组播地址。
接着,PE53再封装GRE字段,用于标记GRE封装,告知内层为IP。然后,PE53 对公网组播报文进行二层封装,例如封装目的MAC地址01:00Je: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。11
通告模块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,并接收在第一 VPN12内的组播转发装置上配置的本实施例的组播转发装置所属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内的组播转发装置的功能。本发明一实施例提供一种网络设备,包括本发明上述实施例提供的任一组播转发
直O本实施例的网络设备可以是MD VPN方案中的PE,但不限于此。本实施例的网络设备由于包括本发明实施例提供的组播转发装置,同样可用于执行本发明实施例提供的组播转发方法的流程,同样可以在实现跨VPN的组播时,节约VPN和隧道资源。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种组播转发方法,其特征在于,包括第一 VPN内的第一 PE接收第一 VPN内的组播源发送的私网组播报文,所述私网组播报文的目的地址是第二 VPN的私网组播地址;所述第一 PE根据预先在所述第一 PE的MVRF下配置的所述第二 VPN内的第二 PE所属 MD的公网组播地址,对所述私网组播报文进行封装处理生成公网组播报文,所述公网组播报文的目的地址是所述第二 PE所属MD的公网组播地址;所述第一 PE通过与所述第二 PE之间的组播隧道MT将所述公网组播报文发送给所述第二 PE,以使所述第二 PE将所述公网组播报文还原为所述私网组播报文后转发到所述第二 VPN 内。
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发送(*,所述第二 PE所属MD的公网组播地址)加入消息以建立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内。
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发送(*, 所述第二 VPN内的组播转发装置所属MD的公网组播地址)加入消息以建立RPT,并接收在所述组播转发装置上配置的所述第二 VPN内的组播转发装置所属MD中的RP发送的(S,所述第二 VPN内的组播转发装置所属MD的公网组播地址)注册消息以建立SPT,其中,S为所述组播转发装置的地址。
9.根据权利要求6或7或8所述的组播转发装置,其特征在于,当所述组播转发装置作为所述第二 VPN内的组播转发装置时,所述组播转发装置还包括信息接收模块,用于接收所述第一 VPN内的组播转发装置通告的配置在所述第一 VPN 内的组播转发装置的MVRF下的所述组播转发装置所属MD的公网组播组地址和配置在所述第一 VPN内的组播转发装置上的所述组播转发装置所属MD中的RP ;建立模块,用于向所述信息接收模块接收到的RP发送(*,所述组播转发装置所属MD的公网组播组地址)加入消息以建立RPT,并接收在所述第一VPN内的组播转发装置上配置的所述组播转发装置所属MD中的RP发送的(S,所述组播转发装置所属MD的公网组播地址) 注册消息以建立SPT,其中,S为所述组播转发装置的地址。
10.根据权利要求9所述的组播转发装置,其特征在于,还包括还原模块,用于接收所述第一 VPN内的组播转发装置发送的公网组播报文,并将所述公网组播报文还原为私网组播报文后转发到所述第二 VPN内。
11. 一种网络设备,其特征在于,包括权利要求5-10任一项所述的组播转发装置。
全文摘要
本发明提供一种组播转发方法、装置及网络设备。其中,方法包括第一VPN内的第一PE接收第一VPN内的组播源发送的私网组播报文;第一PE根据预先在第一PE的MVRF下配置的第二VPN内的第二PE所属MD的公网组播地址,对私网组播报文进行封装处理生成目的地址是第二PE所属MD的公网组播地址的公网组播报文;第一PE将公网组播报文发送给第二PE,以使第二PE将公网组播报文还原为私网组播报文后转发到第二VPN内。本发明技术方案实现了跨VPN组播时减少PE上所配置的VPN和PE之间建立的MT数量,节约VPN和MT资源。
文档编号H04L12/18GK102571375SQ20121002881
公开日2012年7月11日 申请日期2012年2月9日 优先权日2012年2月9日
发明者张明振 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1