背景技术
在MPLS(Multiprotocol Label Switching,多协议标签交换) L3VPN(Layer 3 Virtual Private Network,三层虚拟专用网)网络中,由运营商经营MPLS VPN骨干网,且通过PE(Provider Edge,骨干网边缘)设备提供VPN服务;其中,VPN用户通过CE(Customer Edge,用户网络边缘)设备与PE设备互连,并接入MPLS VPN网络,从而实现属于该VPN的不同Site(站点)之间的通信。
在实际组网中,当VPN用户内部需要进一步划分多个VPN时,提出了嵌套VPN的解决方式,如图1所示,为嵌套VPN的网络示意图,包括:运营商PE设备(Provider PE1、Provider PE2)、与运营商PE设备连接的CE设备(CE1、CE2)、用户PE设备(Customer PE1、Customer PE2、Customer PE3)、与用户PE设备连接的CE设备(CE3、CE4、CE5)等;用户在运营商MPLS VPN网络上所属的VPN为VPN A,在用户MPLS VPN网络内部划分子VPN:VPN A-1和VPN A-2;运营商PE设备将用户MPLS VPN网络当作普通VPN用户对待,不参与子VPN的划分,由用户管理用户MPLS VPN网络内部的VPN划分。
现有技术中,Customer PE1需要将包括子VPN(即VPN A-1)路由信息的VPNV4路由发送给CE1,由CE1将VPNV4路由发送给Provider PE1,该VPNV4路由中包括子VPN(VPN A-1)的RD信息(100:1)和RT信息(100:1)。
关于RD(Route Distinguish,路由区分)信息,由于BGP(Border Gateway Protocol,边界网关协议)无法正确处理地址空间重叠的VPN路由(假设VPN A-1和VPN A-2均使用了1.1.1.1/32网段的地址,并各自发布了一条去往此网段的路由,则BGP会选择其中的一条路由,从而导致另一个路由丢失);基于此,通过RD信息使BGP能够正确处理地址空间重叠的VPN路由;在VPNV4路由中,携带了包括RD信息的VPN-IPv4地址,且该VPN-IPv4地址共有12个字节,包括8个字节的RD信息以及4个字节的IPv4地址前缀。
关于RT(Route Target,路由目标)信息,通过使用BGP扩展团体属性RT(也称VPN Target)来控制VPN路由的发布;RT信息包括:Export(出口) Target属性(本地PE设备将从与自身直连Site学到的VPN-IPv4路由发布给其它PE设备前,为这些路由设置Export Target属性)和Import(入口) Target属性(PE设备在收到其它PE设备发布的VPN-IPv4路由时,检查Export Target属性,只有当此属性与本地Import Target属性匹配时,才将路由加入到VPN路由表);因此RT信息定义了VPN-IPv4路由可以为哪些Site所接收,PE设备可以接收哪些Site发送的路由,且在后续描述中假设Export Target与Import Target配置相同。
进一步的,CE1将VPNV4路由发送给Provider PE1后,Provider PE1会将该VPNV4路由中的RD信息(100:1)替换为自身RD信息(200:1),并将替换了RD信息的VPNV4路由传输给Provider PE2;此外,Provider PE1会将自身的RT信息(100:1)添加到该VPNV4路由中(由于VPNV4路由中的RT信息为100:1,因此当前未添加),并将添加了RT信息的VPNV4路由传输给Provider PE2。
运营商PE设备将VPNV4路由中的RD信息替换为自身RD信息,并传输替换了RD信息的VPNV4路由时,当运营商PE设备与用户PE设备的一个VPN实例的RD信息重叠,且IP路由重叠时,将会由于RD信息重叠导致无法区分VPN。
如图2所示,CE3、CE4为VPN A-1内站点,CE5为VPN A-2内站点,Customer PE1和Customer PE2上配置VPN A-1的RD为100:1,Customer PE3上配置VPN A-2的RD为200:1,Provider PE1和Provider PE2上配置VPN A的RD为200:1。
上述应用场景下,CE1在发送给Provider PE1的VPNV4路由中,RD信息为100:1,IP路由为1.1.1.1,Provider PE1将VPNV4路由的RD信息修改为200:1,将修改后的VPNV4路由发送给Provider PE2,Provider PE2将修改后的VPNV4路由发送给CE2,CE2将修改后的VPNV4路由发送给Customer PE2;Customer PE2学习到该VPNV4路由,并将这条VPNV4路由放进BGP-VPNV4路由表,且该VPNV4路由中,RD信息为200:1,IP路由为1.1.1.1。Customer PE3从CE5收到1.1.1.1这条路由后,向Provider PE2发送VPNV4路由;Customer PE3配置RD为200:1,因此在向Customer PE2发送的VPNV4路由中,RD信息为200:1,IP路由为1.1.1.1,Customer PE2学习该VPNV4路由,并将这条VPNV4路由放进BGP-VPNV4路由表,该VPNV4路由中,RD信息为200:1,IP路由为1.1.1.1。
综上所述,Customer PE2的BGP-VPNV4路由表中出现两条相同的VPNV4路由,RD信息均为200:1,IP路由均为1.1.1.1,但下一跳分别是CE2和Customer PE3;BGP会对这两条VPNV4路由进行优选,仅有一条VPNV4路由能够生效。
运营商PE设备在VPNV4路由中添加自身的RT信息,并传输添加了RT信息的VPNV4路由时,当运营商PE设备与用户PE设备的RT信息重叠时,由于用户PE设备无法在VPNV4路由中区分哪些RT信息是运营商PE设备添加的,导致用户PE设备上用于隔离VPN路由的RT信息配置失效,无法区分学习VPN路由。
如图3所示,CE3、CE5为VPN A-1内站点,CE6为VPN A-2内站点,Customer PE1和Customer PE2上配置VPN A-1的RT为100:1,且Customer PE2上配置VPN A-2的RT为200:1,Provider PE1和Provider PE2上配置VPN A的RT为200:1;此外,CE3和CE5之间可以互相学习路由,CE3和CE6之间不允许互相学习路由、且CE5与CE6之间不允许互相学习路由。
上述应用场景下,CE1在发送给Provider PE1的VPNV4路由中,RT信息为100:1,Provider PE1在VPNV4路由中添加RT信息200:1,将修改后的VPNV4路由发给Provider PE2,Provider PE2将修改后的VPNV4路由发给CE2,CE2将修改后的VPNV4路由发给Customer PE2;Customer PE2学习修改后的VPNV4路由,RT信息为100:1和200:1;由于VPN A-1的RT为100:1,VPN A-2的RT为200:1,因此Customer PE2会将修改后的VPNV4路由***到VPN A-1的路由表和VPN A-2的路由表,并将修改后的VPNV4路由分别发送给CE5和CE6;该过程中Customer PE2用于隔离VPN路由的RT信息配置失效,无法区分学习VPN路由。
发明内容
本发明实施例提供一种基于嵌套VPN网络的VPNV4路由处理方法和设备,以解决嵌套VPN网络中传输VPNV4路由时存在的问题。
为了达到上述目的,本发明实施例提供一种基于嵌套虚拟专用网VPN网络的VPNV4路由处理方法,应用于包括运营商多协议标签交换MPLS VPN网络和用户MPLS VPN网络的嵌套VPN网络,所述运营商MPLS VPN网络中至少包括第一运营商骨干网边缘PE设备和第二运营商PE设备,该方法包括以下步骤:所述第二运营商PE设备接收来自所述第一运营商PE设备的第一VPNV4路由,所述第一VPNV4路由的第一字段中携带所述第一运营商PE设备替换之后的路由区分RD信息,且所述第一VPNV4路由的第二字段中携带所述第一运营商PE设备替换之前的RD信息;所述第二运营商PE设备在需要向用户MPLS VPN网络发送所述第一VPNV4路由时,利用所述第二字段中携带的RD信息替换所述第一字段中携带的RD信息,并删除所述第二字段,以得到第二VPNV4路由;所述第二运营商PE设备将所述第二VPNV4路由发送到所述用户MPLS VPN网络。
所述第二运营商PE设备接收来自所述第一运营商PE设备的第一VPNV4路由,之前还包括:第一运营商PE设备在从用户MPLS VPN网络接收到第三VPNV4路由时,将第三VPNV4路由的第一字段中携带的RD信息替换为本地的RD信息,并添加第二字段,将第三VPNV4路由的第一字段中携带的RD信息写入到所述第二字段中,以得到所述第一VPNV4路由;以及,所述第一运营商PE设备将所述第一VPNV4路由发送给所述第二运营商PE设备。
所述第一VPNV4路由的所述第一字段中还携带了所述运营商MPLS VPN网络中所述第一VPNV4路由所对应的MPLS标签,且所述第一VPNV4路由的所述第二字段中还携带了相同的MPLS标签;所述第二运营商PE设备利用所述第二字段中携带的RD信息替换所述第一字段中携带的RD信息,具体包括:所述第二运营商PE设备通过所述第一VPNV4路由的所述第一字段中携带的MPLS标签匹配所述第一VPNV4路由的所述第二字段中携带的MPLS标签,并利用匹配到的MPLS标签所对应的RD信息替换所述第一VPNV4路由的所述第一字段中携带的RD信息。
所述方法进一步包括:第二运营商PE设备接收来自所述第一运营商PE设备的第四VPNV4路由,所述第四VPNV4路由的第三字段中携带了所有路由目标RT信息,且第四VPNV4路由的第四字段标识了由所述第一运营商PE设备添加的RT信息;第二运营商PE设备在需要向用户MPLS VPN网络发送所述第四VPNV4路由时,利用所述第四字段标识的RT信息删除所述第三字段中由第一运营商PE设备添加的RT信息,并删除所述第四字段,以得到第五VPNV4路由;以及,将所述第五VPNV4路由发送到用户MPLS VPN网络。
所述第二运营商PE设备接收来自所述第一运营商PE设备的第四VPNV4路由,之前还包括:第一运营商PE设备在从用户MPLS VPN网络接收到第六VPNV4路由时,在第六VPNV4路由的第三字段中添加本地的RT信息,并添加第四字段,以标识由第一运营商PE设备添加的RT信息,以得到第四VPNV4路由;以及,将所述第四VPNV4路由发送给所述第二运营商PE设备。
所述第一VPNV4路由的第三字段中携带了所有RT信息,且所述第一VPNV4路由的第四字段标识了由所述第一运营商PE设备添加的RT信息;所述第二运营商PE设备在得到第二VPNV4路由的过程中,所述方法进一步包括:所述第二运营商PE设备利用所述第四字段标识的RT信息删除所述第三字段中由所述第一运营商PE设备添加的RT信息,并删除所述第四字段,以得到所述第二VPNV4路由。
所述第二运营商PE设备接收来自所述第一运营商PE设备的第一VPNV4路由,之前还包括:所述第一运营商PE设备在从用户MPLS VPN网络接收到第三VPNV4路由时,将所述第三VPNV4路由的第一字段中携带的RD信息替换为本地的RD信息,并添加第二字段,将所述第三VPNV4路由的第一字段中携带的RD信息写入到所述第三VPNV4路由的第二字段中,在所述第三VPNV4路由的第三字段中添加本地的RT信息,并添加第四字段,以标识所述第一运营商PE设备添加的RT信息,以得到所述第一VPNV4路由;以及,将所述第一VPNV4路由发送给所述第二运营商PE设备。
本发明实施例提供一种基于嵌套虚拟专用网VPN网络的VPNV4路由处理设备,应用于包括运营商多协议标签交换MPLS VPN网络和用户MPLS VPN网络的嵌套VPN网络,所述运营商MPLS VPN网络中至少包括第一运营商骨干网边缘PE设备和第二运营商PE设备,所述处理设备为所述第二运营商PE设备,且所述第二运营商PE设备包括:接收模块,用于接收来自所述第一运营商PE设备的第一VPNV4路由,所述第一VPNV4路由的第一字段中携带所述第一运营商PE设备替换之后的路由区分RD信息,且所述第一VPNV4路由的第二字段中携带所述第一运营商PE设备替换之前的RD信息;处理模块,用于在需要向用户MPLS VPN网络发送所述第一VPNV4路由时,利用所述第二字段中携带的RD信息替换所述第一字段中携带的RD信息,并删除所述第二字段,以得到第二VPNV4路由;发送模块,用于将所述第二VPNV4路由发送到用户MPLS VPN网络。
所述第一VPNV4路由的所述第一字段中还携带了所述运营商MPLS VPN网络中所述第一VPNV4路由所对应的MPLS标签,且所述第一VPNV4路由的所述第二字段中还携带了相同的MPLS标签;所述处理模块,具体用于通过所述第一VPNV4路由的所述第一字段中携带的MPLS标签匹配所述第一VPNV4路由的所述第二字段中携带的MPLS标签,并利用匹配到的MPLS标签所对应的RD信息替换第一VPNV4路由的第一字段中携带的RD信息。
所述接收模块,还用于接收来自所述第一运营商PE设备的第四VPNV4路由,第四VPNV4路由的第三字段中携带了所有路由目标RT信息,且第四VPNV4路由的第四字段标识了由所述第一运营商PE设备添加的RT信息;所述处理模块,还用于在需要向用户MPLS VPN网络发送第四VPNV4路由时,利用所述第四字段标识的RT信息删除第三字段中由所述第一运营商PE设备添加的RT信息,并删除所述第四字段,以得到第五VPNV4路由;所述发送模块,还用于将第五VPNV4路由发送到用户MPLS VPN网络。
所述第一VPNV4路由的第三字段中携带了所有RT信息,且所述第一VPNV4路由的第四字段标识了由所述第一运营商PE设备添加的RT信息;所述处理模块,还用于在得到第二VPNV4路由的过程中,利用所述第四字段标识的RT信息删除所述第三字段中由所述第一运营商PE设备添加的RT信息,并删除所述第四字段,以得到所述第二VPNV4路由。
本发明实施例提供一种基于嵌套虚拟专用网VPN网络的VPNV4路由处理设备,应用于包括运营商多协议标签交换MPLS VPN网络和用户MPLS VPN网络的嵌套VPN网络,所述运营商MPLS VPN网络中至少包括第一运营商骨干网边缘PE设备和第二运营商PE设备,所述处理设备为所述第一运营商PE设备,且所述第一运营商PE设备包括:接收模块,用于从用户MPLS VPN网络接收第三VPNV4路由;处理模块,用于在从用户MPLS VPN网络接收到第三VPNV4路由时,将所述第三VPNV4路由的第一字段中携带的路由区分RD信息替换为本地的RD信息,并添加第二字段,将所述第三VPNV4路由的第一字段中携带的RD信息写入到所述第二字段中,以得到所述第一VPNV4路由;发送模块,用于将所述第一VPNV4路由发送给所述第二运营商PE设备,所述第一VPNV4路由的第一字段中携带所述第一运营商PE设备替换之后的RD信息,且所述第一VPNV4路由的第二字段中携带所述第一运营商PE设备替换之前的RD信息。
所述接收模块,还用于从用户MPLS VPN网络接收第六VPNV4路由;所述处理模块,还用于在从用户MPLS VPN网络接收到第六VPNV4路由时,在第六VPNV4路由的第三字段中添加本地的RT信息,并添加第四字段,以标识由第一运营商PE设备添加的RT信息,以得到第四VPNV4路由;所述发送模块,还用于将所述第四VPNV4路由发送给所述第二运营商PE设备,所述第四VPNV4路由的第三字段中携带了所有路由目标RT信息,且所述第四VPNV4路由的第四字段标识了由所述第一运营商PE设备添加的RT信息。
所述接收模块,还用于从用户MPLS VPN网络接收第三VPNV4路由;所述处理模块,还用于在从用户MPLS VPN网络接收到第三VPNV4路由时,将所述第三VPNV4路由的第一字段中携带的RD信息替换为本地的RD信息,并添加第二字段,将所述第三VPNV4路由的第一字段中携带的RD信息写入到所述第三VPNV4路由的第二字段中,在所述第三VPNV4路由的第三字段中添加本地的RT信息,并添加第四字段,以标识所述第一运营商PE设备添加的RT信息,以得到所述第一VPNV4路由;所述发送模块,还用于将所述第一VPNV4路由发送给所述第二运营商PE设备,且所述第一VPNV4路由的第三字段中携带了所有RT信息,所述第一VPNV4路由的第四字段标识了由所述第一运营商PE设备添加的RT信息。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,在嵌套VPN网络中,通过对运营商PE设备替换之前的RD信息进行记录,以在需要向用户MPLS VPN网络发送VPNV4路由时,能够还原运营商PE设备替换之前的RD信息,从而在运营商PE设备与用户PE设备的一个VPN实例的RD信息重叠,且IP路由重叠时,能够区分VPN,解决私网路由独立性遭到破坏的问题。进一步的,在嵌套VPN网络中,通过对运营商PE设备添加的RT信息进行记录,以在向用户MPLS VPN网络发送VPNV4路由时,能够删除运营商PE设备添加的RT信息,从而在运营商PE设备与用户PE设备的RT信息重叠时,能够解决无法区分学习VPN路由的问题。
具体实施方式
针对现有技术中,运营商PE设备与用户PE设备的一个VPN实例的RD信息重叠,且IP路由重叠时,将会由于RD信息重叠导致无法区分VPN的问题,本发明实施例提出一种基于嵌套VPN网络的VPNV4路由处理方法,该方法应用于包括运营商MPLS VPN网络和用户MPLS VPN网络的嵌套VPN网络,且该运营商MPLS VPN网络中至少包括第一运营商PE设备和第二运营商PE设备,以图1-图3为本发明实施例的应用场景示意图,则第一运营商PE设备可以为Provider PE1,第二运营商PE设备可以为Provider PE2。
如图4所示,该VPNV4路由处理方法包括以下步骤:
步骤401,第一运营商PE设备在从用户MPLS VPN网络接收到第三VPNV4路由时,将第三VPNV4路由的第一字段中携带的RD信息替换为本地的RD信息,并在第三VPNV4路由中添加第二字段,将第一字段中携带的RD信息写入到该第二字段中,以得到第一VPNV4路由。
本发明实施例中,该第一字段包括但不限于BGP NLRI(Network Layer Reachability Information,网络层可达信息)字段,该第二字段为第一运营商PE设备在第三VPNV4路由中添加的,且该第二字段包括但不限于BGP扩展团体属性的Original Route Distinguisher(初始路由区别)字段。
例如,第三VPNV4路由的NLRI字段中携带了RD信息1,且第一运营商PE设备本地的RD信息为RD信息2时,第一运营商PE设备在收到第三VPNV4路由后,将NLRI字段中的RD信息1替换为RD信息2,并添加Original Route Distinguisher字段,且在该Original Route Distinguisher字段中写入了RD信息1;因此得到的第一VPNV4路由中,NLRI字段中为RD信息2,Original Route Distinguisher字段中为RD信息1。
本发明实施例中,还可通过MPLS标签(即私网标签信息)进行索引,因此在第一运营商PE设备发送给第二运营商PE设备的第一VPNV4路由中,第一字段的标签栈中还携带了运营商MPLS VPN网络中第一VPNV4路由所对应的MPLS标签,且第二字段也携带了相同的MPLS标签;例如,第一字段中携带了MPLS标签1和RD信息1、以及MPLS标签2和RD信息2;第二字段中携带了MPLS标签1和RD信息3、以及MPLS标签2和RD信息4。
具体地,通过定义新的BGP扩展团体属性,可以增加用于记录替换之前的RD信息的Original Route Distinguisher字段作为第二字段,且在该Original Route Distinguisher字段中可有16个字节,前4个字节为Type(0X1000),后8个字节用于记录RD信息,最后4个字节用于记录MPLS标签。在一种具体实现方式中,类型为0X1000的BGP扩展团体属性(即Original Route Distinguisher)可放置于其他扩展团体属性之前。
步骤402,第一运营商PE设备将第一VPNV4路由发送给第二运营商PE设备,由第二运营商PE设备接收来自第一运营商PE设备的第一VPNV4路由;该第一VPNV4路由中,第一字段(NLRI)携带了第一运营商PE设备替换后的RD信息,第二字段(Original Route Distinguisher)携带了第一运营商PE设备替换前的RD信息,具体的第一VPNV4路由可以如图5所示。
具体的,在图5所示应用场景中,第一VPNV4路由的第一字段中携带的RD信息为200:1,MPLS标签为1058,第一VPNV4路由的第二字段中携带的RD信息为100:1,MPLS标签为1058。
步骤403,第二运营商PE设备在需要向用户MPLS VPN网络发送第一VPNV4路由时,利用第二字段中携带的RD信息替换第一字段中携带的RD信息,并删除第二字段,以得到第二VPNV4路由。
具体的,当第二运营商PE设备需要向用户MPLS VPN网络发送第一VPNV4路由时,需要检查BGP扩展团体属性中的Original Route Distinguisher字段,提取Original Route Distinguisher字段中携带的RD信息(如RD信息1),并通过该RD信息1替换NLRI字段中携带的RD信息(如RD信息2);之后,第二运营商PE设备删除Original Route Distinguisher字段,以得到第二VPNV4路由,且该第二VPNV4路由的NLRI字段中携带了RD信息1,具体的第二VPNV4路由的扩展团体属性可以如图6所示,该扩展团体属性中已经没有Original Route Distinguisher字段。
本发明实施例中,第一运营商PE设备发送给第二运营商PE设备的第一VPNV4路由中,第一字段的标签栈中还携带了MPLS标签,第二字段也携带了相同的MPLS标签;在通过MPLS标签进行索引的过程中,第二运营商PE设备利用第二字段中携带的RD信息替换第一字段中携带的RD信息包括:第二运营商PE设备通过第一VPNV4路由的第一字段中携带的MPLS标签匹配第一VPNV4路由的第二字段中携带的MPLS标签,并利用匹配到的MPLS标签所对应的RD信息替换第一VPNV4路由的第一字段中携带的RD信息。
例如,第一字段中携带了MPLS标签1和RD信息1、以及MPLS标签2和RD信息2;第二字段中携带了MPLS标签1和RD信息3、以及MPLS标签2和RD信息4;基于此,第二运营商PE设备通过第一字段中携带的MPLS标签1匹配第二字段中携带的MPLS标签,并利用匹配到的RD信息3替换第一字段中携带的RD信息1;以及,第二运营商PE设备通过第一字段中携带的MPLS标签2匹配第二字段中携带的MPLS标签,并利用匹配到的RD信息4替换第一字段中携带的RD信息2。
进一步的,第二运营商PE设备接收来自第一运营商PE设备的第一VPNV4路由之后,对于私网路由学习过程,第二运营商PE设备将忽略Original Route Distinguisher字段,取NLRI字段中的RD信息进行路由学习;此外,如果第二运营商PE设备需要将第一VPNV4路由发送给运营商MPLS VPN网络内的其他运营商PE设备,则第二运营商PE设备不更改扩展团体属性(Original Route Distinguisher字段)直接进行发送;上述过程在此不再赘述。
步骤404,第二运营商PE设备将第二VPNV4路由发送到用户MPLS VPN网络。
基于上述处理,通过对运营商PE设备替换之前的RD信息进行记录,以在需要向用户MPLS VPN网络发送VPNV4路由时,能够还原运营商PE设备替换之前的RD信息,从而在运营商PE设备与用户PE设备的一个VPN实例的RD信息重叠,且IP路由重叠时,能够区分VPN,解决私网路由独立性遭到破坏的问题。在图2所示的组网中,Customer PE2从CE2学习到的VPNV4路由中,RD信息为100:1,IP路由为1.1.1.1;Customer PE2从Customer PE3学习到的VPNV4路由中,RD信息为200:1,IP路由为1.1.1.1;由于两条VPNV4路由的RD信息不同,因此在BGP VPNV4路由表中不会将两条VPNV4路由当成同一条路由进行优选处理,保护了私网路由的独立性。
进一步的,针对现有技术中,当运营商PE设备与用户PE设备的RT信息重叠时,由于用户PE设备无法在VPNV4路由中区分哪些RT信息是运营商PE设备添加的,导致用户PE设备上用于隔离VPN路由的RT信息配置失效,无法区分学习VPN路由的问题,本发明实施例所提出的基于嵌套VPN网络的VPNV4路由处理方法中,还可以包括如下步骤:
步骤A、第一运营商PE设备在从用户MPLS VPN网络接收到第六VPNV4路由时,在第六VPNV4路由的第三字段中添加本地的RT信息,并添加第四字段,以标识由第一运营商PE设备添加的RT信息,得到第四VPNV4路由。
本发明实施例中,该第三字段包括但不限于BGP扩展团体属性RT(VPN Target)字段,该第四字段用于标识由第一运营商PE设备添加的RT信息,且该第四字段包括但不限于在BGP扩展团体属性中添加的Route Target Flag(路由目标标志位)或者携带了由第一运营商PE设备添加的RT信息的字段;如图7所示,为添加Route Target Flag的扩展团体属性示意图,该Route Target Flag用于表示哪些RT信息是由第一运营商PE设备添加的,例如,该Route Target Flag可以位于RT字段的RT信息之后,标识该RT信息为第一运营商PE设备添加的RT信息,或者,该Route Target Flag可以位于RT字段的RT信息之前,标识该RT信息为第一运营商PE设备添加的RT信息;此外,第四字段中还可以直接携带由第一运营商PE设备添加的RT信息,即第四字段中携带的RT信息为第一运营商PE设备添加的RT信息。
例如,第六VPNV4路由的RT字段中携带了RT信息1,且第一运营商PE设备本地的RT信息为RT信息2,第一运营商PE设备在收到第六VPNV4路由后,将RT信息2添加到RT字段中,即此时RT字段中携带了RT信息1和RT信息2;进一步的,第一运营商PE设备添加第四字段,并在该第四字段中携带RT信息2,用于表示RT信息2为第一运营商PE设备添加的;或者,第一运营商PE设备在RT字段的RT信息2之后标识第四字段(Route Target Flag),用于表示RT信息2为第一运营商PE设备添加的;因此得到的第四VPNV4路由中,RT字段中携带了RT信息1和RT信息2,第四字段标识了RT信息2为第一运营商PE设备添加的信息。
进一步的,通过定义新的BGP扩展团体属性,可以增加用于表示由第一运营商PE设备添加的RT信息的Route Target Flag,且该Route Target Flag的Type(类型)为0x1001,后面Value(值)为全零。
步骤B、第一运营商PE设备将第四VPNV4路由发送给第二运营商PE设备,由第二运营商PE设备接收来自第一运营商PE设备的第四VPNV4路由;该第四VPNV4路由中,第三字段中携带了所有RT信息,且第四字段标识了由第一运营商PE设备添加的RT信息。
步骤C、第二运营商PE设备在需要向用户MPLS VPN网络发送第四VPNV4路由时,利用第四字段标识的RT信息删除第三字段中由第一运营商PE设备添加的RT信息,并删除第四字段,以得到第五VPNV4路由。
具体的,当第二运营商PE设备需要向用户MPLS VPN网络发送第四VPNV4路由时,需要检查BGP扩展团体属性中的Route Target Flag字段,获得由第一运营商PE设备添加的RT信息(如RT信息2),并删除第三字段中由第一运营商PE设备添加的RT信息,以及删除该Route Target Flag字段,最终得到第五VPNV4路由,该第五VPNV4路由的第三字段中只携带了RT信息1,并没有携带RT信息2(被删除了)。
进一步的,第二运营商PE设备接收来自第一运营商PE设备的第四VPNV4路由之后,对于私网路由学习过程,第二运营商PE设备提取扩展团体属性中的所有RT信息,根据VPNV4路由中的RT信息进行私网路由学习;此外,如果第二运营商PE设备需要将第四VPNV4路由发送给运营商MPLS VPN网络内的其他运营商PE设备,则第二运营商PE设备不更改扩展团体属性(Route Target Flag字段)直接进行发送;上述过程在此不再赘述。
步骤D、第二运营商PE设备将第五VPNV4路由发送到用户MPLS VPN网络。
基于上述处理,通过对运营商PE设备添加的RT信息进行记录,以在需要向用户MPLS VPN网络发送VPNV4路由时,能够区分哪些RT信息是由运营商PE设备所添加,继而删除由运营商PE设备所添加的RT信息,从而在运营商PE设备与用户PE设备的RT信息重叠时,能够解决用户PE设备上用于隔离VPN路由的RT信息配置失效,无法区分学习VPN路由的问题,使得用户PE设备区分学习VPN路由,做到VPN路由隔离;在图3所示的组网中,Customer PE2学习到的VPNV4路由中,RT信息为100:1,通过将该RT信息与本地VPN A-1的属性进行对比,***进VPN A-1路由表,VPN A-2的属性与VPNV4路由中的RT不存在交集,无法学习该VPNV4路由。
本发明的上述实施例中,是通过不同的VPNV4路由区分说明RD信息的处理以及RT信息的处理;但是在实际应用中,可能需要对同一条VPNV4路由的RD信息和RT信同时进行处理,为此,针对图4所示的处理流程,本发明实施例中还可以具体包括如下处理过程:
在步骤401中,第一运营商PE设备在从用户MPLS VPN网络接收到第三VPNV4路由时,将第三VPNV4路由的第一字段中携带的RD信息替换为本地的RD信息,并添加第二字段,将第三VPNV4路由的第一字段中携带的RD信息写入到第二字段中,在第三VPNV4路由的第三字段中添加本地的RT信息,并添加第四字段,以标识由第一运营商PE设备添加的RT信息,以得到第一VPNV4路由。
在步骤402中,第一运营商PE设备将第一VPNV4路由发送给第二运营商PE设备,由第二运营商PE设备接收第一VPNV4路由;该第一VPNV4路由中,第一字段携带了第一运营商PE设备替换后的RD信息,第二字段携带了第一运营商PE设备替换前的RD信息,第三字段中携带了所有RT信息,第四字段标识了由第一运营商PE设备添加的RT信息。
在步骤403中,第二运营商PE设备在需要向用户MPLS VPN网络发送第一VPNV4路由时,利用第二字段中携带的RD信息替换第一字段中携带的RD信息,删除第二字段,利用第四字段标识的RT信息删除第三字段中由第一运营商PE设备添加的RT信息,删除第四字段,得到第二VPNV4路由。
在步骤404中,第二运营商PE设备将第二VPNV4路由发送到用户MPLS VPN网络,该第二VPNV4路由的第一字段中携带的RD信息是第三VPNV4路由中携带的RD信息,该第二VPNV4路由的第三字段中携带的RT信息是第三VPNV4路由中携带的RT信息。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种基于嵌套虚拟专用网VPN网络的VPNV4路由处理设备,应用于包括运营商多协议标签交换MPLS VPN网络和用户MPLS VPN网络的嵌套VPN网络,所述运营商MPLS VPN网络中至少包括第一运营商骨干网边缘PE设备和第二运营商PE设备,所述处理设备为所述第二运营商PE设备,如图8所示,所述第二运营商PE设备包括:
接收模块11,用于接收来自所述第一运营商PE设备的第一VPNV4路由,所述第一VPNV4路由的第一字段中携带所述第一运营商PE设备替换之后的路由区分RD信息,且所述第一VPNV4路由的第二字段中携带所述第一运营商PE设备替换之前的RD信息;
处理模块12,用于在需要向用户MPLS VPN网络发送所述第一VPNV4路由时,利用所述第二字段中携带的RD信息替换所述第一字段中携带的RD信息,并删除所述第二字段,以得到第二VPNV4路由;
发送模块13,用于将所述第二VPNV4路由发送到用户MPLS VPN网络。
所述第一VPNV4路由的所述第一字段中还携带了所述运营商MPLS VPN网络中所述第一VPNV4路由所对应的MPLS标签,且所述第一VPNV4路由的所述第二字段中还携带了相同的MPLS标签;所述处理模块12,具体用于通过所述第一VPNV4路由的所述第一字段中携带的MPLS标签匹配所述第一VPNV4路由的所述第二字段中携带的MPLS标签,并利用匹配到的MPLS标签所对应的RD信息替换所述第一VPNV4路由的所述第一字段中携带的RD信息。
所述接收模块11,还用于接收来自所述第一运营商PE设备的第四VPNV4路由,第四VPNV4路由的第三字段中携带了所有路由目标RT信息,且第四VPNV4路由的第四字段标识了由所述第一运营商PE设备添加的RT信息;所述处理模块12,还用于在需要向用户MPLS VPN网络发送第四VPNV4路由时,利用所述第四字段标识的RT信息删除第三字段中由所述第一运营商PE设备添加的RT信息,并删除所述第四字段,以得到第五VPNV4路由;所述发送模块13,还用于将第五VPNV4路由发送到用户MPLS VPN网络。
本发明实施例中,所述第一VPNV4路由的第三字段中携带了所有RT信息,且所述第一VPNV4路由的第四字段标识了由所述第一运营商PE设备添加的RT信息;所述处理模块12,还用于在得到第二VPNV4路由的过程中,利用所述第四字段标识的RT信息删除所述第三字段中由所述第一运营商PE设备添加的RT信息,并删除所述第四字段,以得到所述第二VPNV4路由。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种基于嵌套虚拟专用网VPN网络的VPNV4路由处理设备,应用于包括运营商多协议标签交换MPLS VPN网络和用户MPLS VPN网络的嵌套VPN网络,所述运营商MPLS VPN网络中至少包括第一运营商骨干网边缘PE设备和第二运营商PE设备,所述处理设备为所述第一运营商PE设备,如图9所示,所述第一运营商PE设备包括:
接收模块21,用于从用户MPLS VPN网络接收第三VPNV4路由;
处理模块22,用于在从用户MPLS VPN网络接收到第三VPNV4路由时,将所述第三VPNV4路由的第一字段中携带的路由区分RD信息替换为本地的RD信息,并添加第二字段,将所述第三VPNV4路由的第一字段中携带的RD信息写入到所述第二字段中,以得到所述第一VPNV4路由;
发送模块23,用于将所述第一VPNV4路由发送给所述第二运营商PE设备,所述第一VPNV4路由的第一字段中携带所述第一运营商PE设备替换之后的RD信息,且所述第一VPNV4路由的第二字段中携带所述第一运营商PE设备替换之前的RD信息。
所述接收模块21,还用于从用户MPLS VPN网络接收第六VPNV4路由;
所述处理模块22,还用于在从用户MPLS VPN网络接收到第六VPNV4路由时,在所述第六VPNV4路由的第三字段中添加本地的RT信息,并添加第四字段,以标识由所述第一运营商PE设备添加的RT信息,以得到所述第四VPNV4路由;
所述发送模块23,还用于将所述第四VPNV4路由发送给所述第二运营商PE设备,所述第四VPNV4路由的第三字段中携带了所有路由目标RT信息,且所述第四VPNV4路由的第四字段标识了由所述第一运营商PE设备添加的RT信息。
所述接收模块21,还用于从用户MPLS VPN网络接收第三VPNV4路由;
所述处理模块22,还用于在从用户MPLS VPN网络接收到第三VPNV4路由时,将所述第三VPNV4路由的第一字段中携带的RD信息替换为本地的RD信息,并添加第二字段,将所述第三VPNV4路由的第一字段中携带的RD信息写入到所述第三VPNV4路由的第二字段中,在所述第三VPNV4路由的第三字段中添加本地的RT信息,并添加第四字段,以标识所述第一运营商PE设备添加的RT信息,以得到所述第一VPNV4路由;
所述发送模块23,还用于将第一VPNV4路由发送给所述第二运营商PE设备,且所述第一VPNV4路由的第三字段中携带了所有RT信息,所述第一VPNV4路由的第四字段标识了由所述第一运营商PE设备添加的RT信息。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。