CN103716244A - 一种实现组播跨vpn转发的方法及装置 - Google Patents
一种实现组播跨vpn转发的方法及装置 Download PDFInfo
- Publication number
- CN103716244A CN103716244A CN201310745304.6A CN201310745304A CN103716244A CN 103716244 A CN103716244 A CN 103716244A CN 201310745304 A CN201310745304 A CN 201310745304A CN 103716244 A CN103716244 A CN 103716244A
- Authority
- CN
- China
- Prior art keywords
- vpn
- multicast
- behalf
- source
- routing table
- 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转发的方法和装置,所述方法包括:收到来自目的VPN用户的加入源VPN的组播组的请求时,创建一个代理VPN,为代理VPN创建组播路由表;根据为源VPN和目的VPN分配的私网IP地址在本端环回口上构建加、解封装隧道表项,并将为代理VPN分配的VRF-ID下发到所述解封装隧道表项的硬件表项资源中;在源VPN的组播路由表中增加所述环回口为出接口;当源VPN中的组播报文经所述环回口进入代理VPN后,在代理VPN的组播路由表中创建组播路由表项,并增加所述用户的出接口;本发明通过创建代理VPN,由代理VPN将源VPN的组播报文转送给点播者,避免了跨VPN转发中直接修改源VPN的出接口,从而降低了软件实现的复杂度。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种实现组播跨VPN转发的方法及装置。
背景技术
组播VPN(Virtual Private Network,虚拟私有网络)是目前应用日趋成熟的一种组网技术,用户私网的组播数据报文可以封装为公网组播数据在公网上传输。每个VPN实例独立维护的单播路由转发表称为VRF,VPN实例与VRF一一对应,私网数据在VRF-ID标识的路由表中转发。对于跨VPN的应用,参见图1,目前的处理方式是针对所有的源VPN的组播路由表项,直接添加目的VPN的出接口,这种处理方式有两个缺陷:首先,当前不管是组播路由还是单播路由,都是以VRF-ID为单位来管理的,需要处理不同的源VPN的路由和出接口之间的关系,而且点播者的变化是影响全局的,当点播者发生加入、离开事件时,需要处理大量的路由表项,软件实现代价较大。
发明内容
有鉴于此,本发明提供一种实现组播跨虚拟专用网VPN转发的方法,所述方法包括:
收到来自目的VPN的用户加入源VPN的组播组的请求时,创建一个代理VPN,并为所述代理VPN创建组播路由表;
根据为源VPN和目的VPN分配的私网IP地址在本端环回口上构建加、解封装隧道表项,并将为所述代理VPN分配的虚拟路由转发标识VRF-ID下发到所述解封装隧道表项的硬件表项资源中;
在源VPN的组播路由表中增加所述环回口为出接口;
当源VPN中的组播报文经所述环回口进入代理VPN后,在代理VPN的组播路由表中创建组播路由表项,并增加所述用户的出接口;
其中所述加、解封装隧道表项中的SIP和DIP均相同;所述为源VPN和目的VPN分配的IP地址分别与其自身的VRF-ID互为映射关系。
优选地,所述源VPN中的组播报文经所述环回口进入代理VPN具体为:所述组播报文加封装进入环回口环回后,立即解封装,解封装时根据所述解封装隧道表项中的硬件表项资源将所述组播报文当前的转发VRF修改为代理VPN的VRF。
优选地,所述在代理VPN的组播路由表中创建组播路由表项具体为:当所述组播报文被当做未知组播上送CPU时,根据所述组播报文封装信息中的SIP和DIP,以及所述映射关系,确定所述组播报文的源VPN和目的VPN后,在代理VPN的VRF中为所述组播报文创建组播路由表项。
优选地,所述方法还包括:当所述用户离开所述源VPN的组播组时,在代理VPN的组播路由表中删除所述用户的出接口,并在所述代理VPN的组播路由表中的出接口为0时,在源VPN的组播路由表中删除所述环回口的出接口。
本发明还提供一种实现组播跨虚拟专用网VPN转发的装置,其特征在于,所述装置包括:
代理创建单元,用于收到来自目的VPN用户的加入源VPN的组播组的请求时,创建一个代理VPN,并为所述代理VPN创建组播路由表;
表项下发单元,用于根据为源VPN和目的VPN分配的私网IP地址在本端环回口上构建加、解封装隧道表项,并将为所述代理VPN分配的VRF-ID下发到所述解封装隧道表项的硬件表项资源中;
增加接口单元,用于在源VPN的组播路由表项中增加所述环回口为出接口;
路由创建单元,用于当源VPN中的组播报文经所述环回口进入代理VPN后,在代理VPN的组播路由表中创建组播路由表项,并增加所述用户的出接口;
其中所述加、解封装隧道表项中SIP和DIP均相同;所述为源VPN和目的VPN分配的IP地址分别与其自身的VRF-ID互为映射关系。
优选地,所述源VPN中的组播报文经所述环回口进入代理VPN具体为:所述组播报文加封装进入环回口环回后,立即解封装,解封装时根据所述解封装隧道表项中的硬件表项资源将所述组播报文当前的转发VRF修改为代理VPN的VRF。
优选地,所述路由创建单元进一步用于当所述组播报文被当做未知组播上送CPU时,根据所述组播报文封装信息中的SIP和DIP,以及所述映射关系,确定所述组播报文的源VPN和目的VPN后,在代理VPN的VRF中为所述组播报文创建组播路由表项。
优选地,所述装置还包括:代理删除单元,用于当所述用户离开所述源VPN的组播组时,在代理VPN的组播路由表中删除所述用户的出接口,并在所述代理VPN的组播路由表中的出接口为0时,在源VPN的组播路由表中删除所述环回口的出接口。
相较于已有的方案而言,本发明提出了一个代理VPN的概念,通过现有加、解封装功能和环回口,巧妙地利用了解封装修改报文的转发VRF的芯片转发特性,将转发VRF修改为代理VPN,从而避免了跨VPN转发中直接修改源VPN的出接口,最大程度地降低了软件实现的复杂度。
附图说明
图1是现有技术中组播跨VPN转发示意图;
图2是现有技术中组播跨VPN转发组网图;
图3是本发明一种实施方式中利用代理VPN实现组播跨VPN转发的方法流程图;
图4是本发明一种实施方式中利用代理VPN实现组播跨VPN转发的组网图;
图5是本发明一种实施方式中利用代理VPN实现组播跨VPN转发装置的逻辑结构图。
具体实施方式
下面结合附图及具体实施例对本申请再作进一步详细的说明。
对于组播跨VPN的应用,目前采取的方案是针对所有的源VPN的组播路由表项,直接增加目的VPN的出接口。请参见图2,组播源Source1位于VPN A的Site1,接收者Receiver1位于VPN A的Site2,Receiver2则位于VPN B的Site1,其中PE1(Provider Edge,运营商边缘设备)、PE2和PE3属于同一个MD(Multicast Domain,组播域)。对于MD VPN,组播源Source1发送的组播数据,在网络中所有可能的接收者中,只有属于VPN A的Receiver1能收到Source1发来的组播数据。如果想要Receiver2也能收到Source1的组播数据,则需要实现组播数据的跨VPN转发。对于组播跨VPN的转发,由于VPN A和VPN B之间的PIM(Protocol independent Multicast,协议无关组播)协议报文隔离,因此需要在Receiver2一侧PE3的VPN B的实例视图下将组播数据对应的组播源和RP(Rendezvous Poit,汇集点)的IP地址都配置为跨VPN组播转发的源地址。具体配置指令如下:
system-view(进入系统视图)
ip vpn-instance vpn-instance-B(进入VPN实例视图)
multicast extra-vpn vpn-instance-B source-address{mask-length|mask}(配置跨VPN组播转发源地址)
其中,在缺省状态下,PE3的VPN B的实例视图下,未配置任何跨VPN组播转发的源地址。当在PE3的VPN B的实例视图下配置了Source1为跨VPN组播转发的源地址后,如果Receiver2想要接收Source1的组播数据,可直接在VPN A中Source1对应的组播路由表项中增加一个特殊的VPNB出接口,也就是跨VPN出接口,从而实现Source1组播数据的跨VPN转发。
针对上述方案,VPN A中可能会有不同的组播源,如果Receiver2需要接收VPN A中所有组播源的组播数据时,则需要分别在所有组播源对应的组播路由表项中分别增加Receiver2的出接口。可是,当Receiver2不再需要接收VPN A中所有组播源的组播数据时,则需要处理所有下发了Receiver2出接口的组播路由表项,在所有下发了Receiver2出接口的组播路由表项中依次删除所述Receiver2的出接口,软件实现较复杂。尤其,在更加复杂的组网环境中,比如网络中存在更多的VPN时,如果Receiver2需要接收位于不同VPN中的组播源的组播数据时,则需要处理不同的VPN与出接口之间的关系,以上方案的软件实现较复杂的缺陷将更加明显。
有鉴于此,本发明提出一种实现组播跨VPN转发的方法,通过创建代理VPN,将源VPN的组播数据经由代理VPN发送给目的VPN中组播数据的接收者,隔离了源VPN和目的VPN软件处理上的耦合性,从而最大程度地减少了软件实现的复杂性。值得说明的是,在本发明中,组播跨VPN的实现过程不涉及公网路由,因此以下技术方案中提及的组播路由表项均为私网组播路由表项。
在一种优选的实施方式中,本发明提供一种实现组播跨VPN转发的方法,参见图3,所述方法执行如下步骤:
步骤S301:收到来自目的VPN用户加入源VPN的组播组的请求时,创建一个代理VPN,并为所述代理VPN创建组播路由表;
在该步骤中,当一个用户需要接收跨VPN的组播组的组播流量时,首先需要在该用户所属的VPN实例视图下,将组播源的IP地址以及对应的RP地址配置为跨VPN转发的源地址,具体配置过程为现有技术不再赘述。。
该用户需要接收所述跨VPN的组播源的流量时,向该用户一侧的PE设备发送一个加入该组播组的加入请求。PE设备收到该加入请求后,分配两个私网IP地址分别用于表示源VPN和代理VPN,同时为代理VPN分配一个VRF-ID。其中在该步骤中,所述源VPN的IP地址和源VPN的VRF,以及所述代理VPN的IP地址和所述代理VPN的VRF之间,被预设为映射关系。其中映射算法可选,在本发明的技术方案中不做特别限定。比如,源VPN的VRF-ID为1,代理VPN的VRF-ID为2,可以把源VPN和代理VPN的IP地址映射为0.0.0.1和0.0.0.2,当未知组播上送CPU时,CPU根据封装信息中的SIP(source IP,源IP)和DIP(destination IP,目的IP)地址,就可以判断出该组播报文的源VPN和目的VPN。另外,为防止为源VPN和代理VPN分配的IP地址与网络中现有IP地址冲突,在具体的实现过程中,可用命令行预先保留一段IP地址。
步骤S302:根据为源VPN和目的VPN分配的私网IP地址在本端环回口上构建加、解封装隧道表项,并将为所述代理VPN分配的VRF-ID下发到所述解封装隧道表项的硬件表项资源中;
在该步骤中,构建解封装隧道表项时,需要将所述代理VPN的VRF-ID下发到所述解封装隧道表项的硬件表项资源(IINTF)中,以使组播报文解封装时可根据解封装隧道表项中已下发的硬件表项资源将所述组播报文当前转发的VRF修改为代理VPN的VRF。即在本发明的方案中,是通过利用解封装时修改转发VRF的芯片转发特性来实现组播报文从源VPN到代理VPN的转发的。
在该步骤中,源VPN和代理VPN的IP地址,分别对应加、解封装的隧道表项中的SIP和DIP。对于普通报文的加解封装过程是,如果加封装的源IP(SIP)是IP1,目的IP(DIP)是IP2,那么解封装的源IP一定是IP2,目的IP是IP1,即加解封装的SIP与DIP互为颠倒才能实现到隧道的接收端去解封装,从而完成正常的隧道转发。
然而在本发明方案中,组播报文加封装经过环回口时就立即进行解封装,因此加、解封装隧道表项中对应的SIP和DIP需设置为相同。当组播报文加封装经过环回口环回后,就能根据所述组播报文封装信息中的SIP和DIP匹配到对应的解封装隧道表项,立即进行解封装,从而实现组播报文转发VRF的修改。其中,本端的环回口在VPN使能了组播功能时已创建,因此在本发明方案中,并不涉及创建环回口的过程。
步骤S303:在源VPN的组播路由表中增加所述环回口为出接口;
当加、解封装隧道表项在本端环回口上构建完毕后,在所述源VPN的组播路由表项中增加所述环回口为出接口。此时环回口既为源VPN的组播隧道入口(MTI),也是代理VPN的组播流量入口。对于环回口和MTI口的关系,有必要作进一步的解释:每一个VPN实例都对应有一个公网接口,该公网接口作为MTI口和环回口时,二者使用相同的物理资源,但使用方法不同。当在源VPN的组播路由表项中增加MTI口为出接口,对应的组播报文会加封装后经过该MTI口转发出去。
而在本发明的技术方案中,当源VPN的组播路由表项中增加环回口为出接口时,对应的组播报文会加封装后经过环回口环回,立即解封装,从而实现组播报文的二次转发。具体地,MTI口和环回口的区别在于,MTI口上构建的加、解封装隧道表项中,SIP和DIP互为颠倒,而环回口上构建的加、解封装隧道表项中SIP和DIP相同。当组播报文加封装后经过环回口环回后,对该带有隧道封装的组播报文作进一步的隧道表项匹配时,由于封装信息中的SIP和DIP与解封装表项中的SIP和DIP一致,因此该组播报文在环回后可立即进行解封装。在解封装时,由于此时解封装隧道表项的硬件表项资源已下发了代理VPN的VRF-ID,因此解封装时会分配一个代理VPN的VRF-ID用于匹配组播路由表,所述组播报文会根据代理VPN的VRF-ID匹配到代理VPN的组播路由表,从而实现将源VPN中的组播报文引入代理VPN的VRF中转发。
步骤S304:当源VPN中的组播报文经所述环回口进入代理VPN后,在代理VPN的组播路由表中创建组播路由表项,并增加所述用户的出接口;
在该步骤中,当源VPN中的组播报文进入代理VPN后,由于当前代理VPN的组播路由表中并不存在匹配的组播路由表项(尚未创建),因此该组播报文会被当做未知组播文上送CPU作进一步处理。对于一个PE设备,可能维护了多个VPN实例,因此正常情况下,当CPU收到未知组播报文后,往往无法判断该未知组播报文的源VPN以及目的VPN。
而在本发明方案中,由于该组播报文的封装信息中的SIP和DIP,与源VPN和目的VPN的VRF-ID存在预设的映射关系,因此当CPU收到未知组播报文后,可根据该组播报文的封装信息中的SIP和DIP,来判断该组播报文的源VPN和目的VPN,从而确定该组播报文需要去哪个VRF转发。此处需要具体说明的是,现有技术中对于组播报文的解封装过程是这样的:解封装时,解封装隧道表项根据已下发的硬件表项资源为所述组播报文重新分配一个用于匹配组播路由表的VRF-ID,当匹配到组播路由表后,底层的转发硬件根据组播路由表中所标识的组播路由表项对所述组播报文进行查表转发。如果该组播报文在组播路由表中匹配到了对应的组播路由表项,则解掉该组播报文的封装信息将所述组播报文还原成原始组播报文后作进一步转发。
在本实施例中,由于代理VPN的组播路由表中尚未创建组播路由表项,底层的转发硬件无法匹配到对应的组播路由表项,因此并不解去该组播报文的隧道封装,而是将该带有隧道封装的组播报文当做未知组播报文上送给CPU作进一步处理。当CPU收到未知组播报文后,由于该未知组播报文仍然保留封装信息,并且封装信息中的SIP和DIP与源VPN和代理VPN的VRF存在映射关系,因此可以根据该映射关系来确认当前该未知组播报文应该去哪个VRF作进一步的转发。
当确定了转发VRF,CPU立即在对应的VRF中为该组播报文创建组播路由表项并根据用户的加入请求中的入接口为该用户增加出接口,并将该组播路由表项下发到组播路由表中。上述组播路由表项一旦创建并下发给底层的转发硬件中,再次收到所述组播报文时,底层转发硬件将直接对所述组播报文进行查表转发,所述组播报文将不再需要上送CPU。
在该步骤中,接收者的出接口为接收者所属VLAN的虚接口,其中该虚接口作为入接口包含在用户发往本端PE设备的加入请求中,PE设备收到该加入请求后,会将该加入请求中的入接口作为出接口保存到对应的组播路由表的出接口列表中,CPU在为用户创建组播路由表项时,会根据组播路由表项中的出接口列表为所述用户增加出接口。
当所述接收者不再需要接收所述源VPN中的组播报文时,会在目的VPN内发送离开组播报文。PE设备收到该离开组播的报文后,在代理VPN的组播路由表中删除该用户的出接口,当代理VPN的组播路由表的出接口为0时(目的VPN不再有组播流量的接收者),在源VPN的组播路由表中删除代理VPN即所述环回口的出接口。在以上方案中,利用代理VPN等于把所有目的VPN的出接口都汇集成了一个代理VPN的出接口(环回口),只需处理一次,从而最大程度的减少了组播跨VPN转发的软件实现复杂度。
以下通过一个具体的例子并结合具体的组网环境详细阐述本发明。
参见图4,接收者Receiver1则位于VPN B的Site1,组播源Source1位于VPN A的Site3。
在本实施例中,涉及到的具体配置如下:
VPN实例A的VRF-ID为1;
VPN实例B的VRF-ID为2;
VPN实例C的VRF-ID为3;(代理VPN)
接收者Receiver1所属VLAN100,出接口为V100;
VPN A的IP地址为192.168.0.1
VPN B的IP地址为192.168.0.2
具体实施过程如下:
首先,需要在VPN B对应的实例视图下,将组播源的IP地址以及对应的汇集点RP地址配置为跨VPN转发的源地址,具体配置参考手册不再赘述。
Receiver1需要点播Source1的组播流量,于是向接收者Receiver1一侧的PE3在VPNB中发出加入组播请求。平台的协议处理模块会自动查找VPNA的(S,G)表项,根据加入请求的G和用户配置的ip地址(S)如果发现某个表项匹配,则为该表项添加一个特殊的VPNB出接口,也就是跨VPN出接口。
当PE设备发现平台下发的是跨VPN的出接口,首先创建代理VPN C,为VPN C分配VRF-ID。当代理VPNC一经建立,VPNA中所有的组播流量都先转发到VPNC中,然后在VPNC的VRF中进行转发。由于接收者Receiver1并不能感知这一过程,会认为所有跨VPN转发的组播流量均来自VPNC,因此对于Receiver1而言,此时组播流量跨VPN转发的源地址是VPNC。
当代理VPN创建完毕后,再做如下操作:
首先分配两个私网IP地址分别代表源VPN和目的VPN,VPN A的IP地址为192.168.0.1,VPN B的IP地址为192.168.0.2,其中上述两个IP地址与VPN自身的VRF-ID被预设为映射关系,映射关系如下:
根据VPN A和VPNB的IP地址在本端Loopback(环回口)口上构建加、解封装的隧道表项,并将代理VPN C的VRF-ID下发到解封装隧道表项的硬件表项资源中,以方便解封装时根据该硬件资源完成转发VRF的修改。
其中192.168.0.1和192.168.0.2分别对应加、解封装隧道表项中的SIP和DIP。在本发明方案中,加、解封装的隧道表项中SIP和DIP被设置为相同,如下表:
SIP | DIP | |
加封装 | 192.168.0.1 | 192.168.0.2 |
解封装 | 192.168.0.1 | 192.168.0.2 |
当加、解封装的隧道表项在Loopback口上构建完成后,在VPN A的组播路由表项中增加Loopback口为出接口;由于Loopback口上已构建了加、解封装隧道表项,因此来自Source1的组播数据加封装后送到环回口,经过环回口环回后,该组播数据进行二次查表转发。由于当前组播报文的封装信息中的SIP和DIP与解封装隧道表项的SIP和DIP相同,因此二次查表转发过程中能够匹配到该解封装隧道表项,于是该组播数据经过环回口还回后立即进行解封装。
解封装时,由于解封装隧道表项中已预先下发了VRF3的硬件表项资源,因此根据该硬件表项资源将当前的转发VRF由VRF1修改为VRF3,此时组播数据已被引入代理VPN的VRF3中。
当组播报文经环回口进入VRF3中后,此时VRF3没有匹配的组播路由表项,于是该组播报文被当做未知组播上送CPU。CPU收到该组播报文后,根据该组播报文的封装信息中的SIP和DIP查找映射关系,从而判断出该组播报文源VPN和目的VPN。
当CPU判断出当前组播报文的源VPN和目的VPN后,在代理VPN内创建组播路由表项,并将Receiver1加入请求报文中的入接口V100增加为出接口,于是Source1的组播报文将转发给Receiver1。其中组播路由表项一经创建,再次收到Source1的组播报文时就不再需要上送CPU处理,而是直接进行查表转发。
当Receiver1不再需要接收Source1的组播报文,在目的VPN内发送组播离开报文,触发平台在代理VPN组播路由表删除出接口,当代理VPN的组播路由表的出接口为0时,即目的VPN中不再有流量接收者后,在源VPN路由表删除代理VPN的出接口(即环回口)。
当Receiver1再次需要接收Source1的组播报文时,重复以上步骤,不再赘述。
参见图5,基于与上述方法同样的构思,本发明还提供一种实现组播跨VPN转发的装置50,以软件实现为例,该装置作为一个逻辑装置运行在网络设备上,比如路由器。所述网络设备的硬件构架中,通常包括CPU、内存、非易失性存储器以及其他硬件,因而该装置通常可以理解为加载在内存中的计算机程序,通过CPU运行之后形成的逻辑装置,当然本发明亦不排除硬件、逻辑器件或者软硬件结合等其他实施方式。该逻辑装置包括:
代理创建单元51,用于收到来自目的VPN用户的加入源VPN的组播组的请求时,创建一个代理VPN,并为所述代理VPN创建组播路由表;
表项下发单元52,用于根据为源VPN和目的VPN分配的私网IP地址在本端环回口上构建加、解封装隧道表项,并将为所述代理VPN分配的VRF-ID下发到所述解封装隧道表项的硬件表项资源中;
增加接口单元53,用于在源VPN的组播路由表项中增加所述环回口为出接口;
路由创建单元54,用于当源VPN中的组播报文经所述环回口进入代理VPN后,在代理VPN的组播路由表中创建组播路由表项,并增加所述用户的出接口;
在本实施例中,所述加、解封装隧道表项中SIP和DIP均相同;所述为源VPN和目的VPN分配的IP地址分别与其自身的VRF-ID互为映射关系。
在本实施例中,所述源VPN中的组播报文经所述环回口进入代理VPN具体为:所述组播报文加封装进入环回口环回后,立即解封装,解封装时根据所述解封装隧道表项中的硬件表项资源将所述组播报文当前的转发VRF修改为代理VPN的VRF。
在本实施例中,所述路由创建单元进一步用于当所述组播报文被当做未知组播上送CPU时,根据所述组播报文封装信息中的SIP和DIP,以及所述映射关系,确定所述组播报文的源VPN和目的VPN后,在代理VPN的VRF中为所述组播报文创建组播路由表项。
在本实施例中,所述装置还包括:代理删除单元55,用于当所述用户离开所述源VPN的组播组时,在代理VPN的组播路由表中删除所述用户的出接口,并在所述代理VPN的组播路由表中的出接口为0时,在源VPN的组播路由表中删除所述环回口的出接口。
通过以上实施例的描述,本领域技术人员可以理解实施例中装置中的单元可以合并为一个单元,也可以进一步拆分成多个子单元。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种实现组播跨虚拟专用网VPN转发的方法,其特征在于,所述方法包括:
收到来自目的VPN的用户加入源VPN的组播组的请求时,创建一个代理VPN,并为所述代理VPN创建组播路由表;
根据为源VPN和目的VPN分配的私网IP地址在本端环回口上构建加、解封装隧道表项,并将为所述代理VPN分配的虚拟路由转发标识VRF-ID下发到所述解封装隧道表项的硬件表项资源中;
在源VPN的组播路由表中增加所述环回口为出接口;
当源VPN中的组播报文经所述环回口进入代理VPN后,在代理VPN的组播路由表中创建组播路由表项,并增加所述用户的出接口;
其中所述加、解封装隧道表项中的源IP地址SIP和目的IP地址DIP均相同;所述为源VPN和目的VPN分配的IP地址分别与其自身的VRF-ID互为映射关系。
2.如权利要求1所述的方法,其特征在于,所述源VPN中的组播报文经所述环回口进入代理VPN具体为:所述组播报文加封装进入环回口环回后,立即解封装,解封装时根据所述解封装隧道表项中的硬件表项资源将所述组播报文当前的转发VRF修改为代理VPN的VRF。
3.如权利要求1所述的方法,其特征在于,所述在代理VPN的组播路由表中创建组播路由表项具体为:当所述组播报文被当做未知组播上送CPU时,根据所述组播报文封装信息中的SIP和DIP,以及所述映射关系,确定所述组播报文的源VPN和目的VPN后,在代理VPN的VRF中为所述组播报文创建组播路由表项。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:当所述用户离开所述源VPN的组播组时,在代理VPN的组播路由表中删除所述用户的出接口,并在所述代理VPN的组播路由表中的出接口为0时,在源VPN的组播路由表中删除所述环回口的出接口。
5.一种实现组播跨虚拟专用网VPN转发的装置,其特征在于,所述装置包括:
代理创建单元,用于收到来自目的VPN用户的加入源VPN的组播组的请求时,创建一个代理VPN,并为所述代理VPN创建组播路由表;
表项下发单元,用于根据为源VPN和目的VPN分配的私网IP地址在本端环回口上构建加、解封装隧道表项,并将为所述代理VPN分配的VRF-ID下发到所述解封装隧道表项的硬件表项资源中;
增加接口单元,用于在源VPN的组播路由表项中增加所述环回口为出接口;
路由创建单元,用于当源VPN中的组播报文经所述环回口进入代理VPN后,在代理VPN的组播路由表中创建组播路由表项,并增加所述用户的出接口;
其中所述加、解封装隧道表项中SIP和DIP均相同;所述为源VPN和目的VPN分配的IP地址分别与其自身的VRF-ID互为映射关系。
6.如权利要求5所述的装置,其特征在于,所述源VPN中的组播报文经所述环回口进入代理VPN具体为:所述组播报文加封装进入环回口环回后,立即解封装,解封装时根据所述解封装隧道表项中的硬件表项资源将所述组播报文当前的转发VRF修改为代理VPN的VRF。
7.如权利要求5所述的装置,其特征在于,所述路由创建单元进一步用于当所述组播报文被当做未知组播上送CPU时,根据所述组播报文封装信息中的SIP和DIP,以及所述映射关系,确定所述组播报文的源VPN和目的VPN后,在代理VPN的VRF中为所述组播报文创建组播路由表项。
8.如权利要求5所述的装置,其特征在于,所述装置还包括:代理删除单元,用于当所述用户离开所述源VPN的组播组时,在代理VPN的组播路由表中删除所述用户的出接口,并在所述代理VPN的组播路由表中的出接口为0时,在源VPN的组播路由表中删除所述环回口的出接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310745304.6A CN103716244B (zh) | 2013-12-27 | 2013-12-27 | 一种实现组播跨vpn转发的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310745304.6A CN103716244B (zh) | 2013-12-27 | 2013-12-27 | 一种实现组播跨vpn转发的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103716244A true CN103716244A (zh) | 2014-04-09 |
CN103716244B CN103716244B (zh) | 2017-02-15 |
Family
ID=50408842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310745304.6A Active CN103716244B (zh) | 2013-12-27 | 2013-12-27 | 一种实现组播跨vpn转发的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103716244B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547399A (zh) * | 2017-05-31 | 2018-01-05 | 新华三技术有限公司 | 一种组播转发表项的处理方法和pe设备 |
CN109324908A (zh) * | 2017-07-31 | 2019-02-12 | 华为技术有限公司 | Netlink资源的容器隔离方法及装置 |
CN111010329A (zh) * | 2019-03-20 | 2020-04-14 | 新华三技术有限公司 | 一种报文传输方法及装置 |
CN111526079A (zh) * | 2020-03-31 | 2020-08-11 | 新华三技术有限公司 | 一种建立隧道的方法和装置 |
WO2021068641A1 (zh) * | 2019-10-08 | 2021-04-15 | 中兴通讯股份有限公司 | 基于IPv6网络的虚拟专用网络组播方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222406A (zh) * | 2006-12-14 | 2008-07-16 | 华耀环宇科技有限公司 | 双代理在虚拟专用网络(vpn)中进行应用层内容路由的方法 |
CN101572643A (zh) * | 2008-04-30 | 2009-11-04 | 成都市华为赛门铁克科技有限公司 | 实现私网之间转发数据的方法和系统 |
CN101582830A (zh) * | 2009-06-22 | 2009-11-18 | 杭州华三通信技术有限公司 | 一种实现跨虚拟专用网互访的装置及方法 |
-
2013
- 2013-12-27 CN CN201310745304.6A patent/CN103716244B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222406A (zh) * | 2006-12-14 | 2008-07-16 | 华耀环宇科技有限公司 | 双代理在虚拟专用网络(vpn)中进行应用层内容路由的方法 |
CN101572643A (zh) * | 2008-04-30 | 2009-11-04 | 成都市华为赛门铁克科技有限公司 | 实现私网之间转发数据的方法和系统 |
CN101582830A (zh) * | 2009-06-22 | 2009-11-18 | 杭州华三通信技术有限公司 | 一种实现跨虚拟专用网互访的装置及方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547399A (zh) * | 2017-05-31 | 2018-01-05 | 新华三技术有限公司 | 一种组播转发表项的处理方法和pe设备 |
CN107547399B (zh) * | 2017-05-31 | 2020-07-07 | 新华三技术有限公司 | 一种组播转发表项的处理方法和pe设备 |
CN109324908A (zh) * | 2017-07-31 | 2019-02-12 | 华为技术有限公司 | Netlink资源的容器隔离方法及装置 |
CN109324908B (zh) * | 2017-07-31 | 2021-09-07 | 华为技术有限公司 | Netlink资源的容器隔离方法及装置 |
US11500666B2 (en) | 2017-07-31 | 2022-11-15 | Huawei Technologies Co., Ltd. | Container isolation method and apparatus for netlink resource |
CN111010329A (zh) * | 2019-03-20 | 2020-04-14 | 新华三技术有限公司 | 一种报文传输方法及装置 |
CN111010329B (zh) * | 2019-03-20 | 2021-09-21 | 新华三技术有限公司 | 一种报文传输方法及装置 |
WO2021068641A1 (zh) * | 2019-10-08 | 2021-04-15 | 中兴通讯股份有限公司 | 基于IPv6网络的虚拟专用网络组播方法及电子设备 |
CN111526079A (zh) * | 2020-03-31 | 2020-08-11 | 新华三技术有限公司 | 一种建立隧道的方法和装置 |
CN111526079B (zh) * | 2020-03-31 | 2023-10-13 | 新华三技术有限公司 | 一种建立隧道的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103716244B (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9509522B2 (en) | Forwarding multicast data packets | |
US8675522B2 (en) | Conveying the VLAN/L2 VSN/bridging-domain of the incoming interface (IIF) when transporting multicast traffic over a shortest path bridged (SPB) network | |
US9031069B2 (en) | Method, system, and apparatus for extranet networking of multicast virtual private network | |
US8958423B2 (en) | Implementing a multicast virtual private network by using multicast resource reservation protocol-traffic engineering | |
CN102035729B (zh) | 一种组播数据转发方法 | |
US8934486B2 (en) | System and method for implementing multicast over a label-switched core network | |
US20100329252A1 (en) | Method and Apparatus for Enabling Multicast Route Leaking Between VRFs in Different VPNs | |
US10033539B1 (en) | Replicating multicast state information between multi-homed EVPN routing devices | |
US20130259042A1 (en) | Multicast packet transmission | |
CN101616014B (zh) | 一种实现跨虚拟专用局域网组播的方法 | |
WO2022062506A1 (zh) | 一种数据处理方法、装置、存储介质及电子装置 | |
WO2017114153A1 (zh) | 基于业务功能链sfc的通信方法和装置 | |
CN102457386B (zh) | 一种通信设备的双向pim中组播报文转发方法和通信设备 | |
EP2991284B1 (en) | Method and device used in ethernet virtual private network | |
WO2015143879A1 (zh) | 发送组播报文的方法及交换机 | |
CN102316030A (zh) | 一种实现数据中心二层互联的方法和装置 | |
CN103716244A (zh) | 一种实现组播跨vpn转发的方法及装置 | |
CN103117935A (zh) | 应用于多归属组网的组播数据转发方法和装置 | |
US9008118B2 (en) | Multicast data delivery over mixed multicast and non-multicast networks | |
CN101119222B (zh) | Hope网络实现组播的方法、装置及系统 | |
CN105743797B (zh) | 基于接口绑定的组播vpn隧道建立方法 | |
CN104092554A (zh) | 组播分发树建立方法及装置 | |
US20190222537A1 (en) | Modifications of headend forwarding rules to join wide area network branch hosts to multicast groups | |
CN108833272A (zh) | 一种路由管理方法和装置 | |
CN105493454B (zh) | 用于实现双活接入trill园区边缘的方法和设备 |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |