专利名称:一种结合网络地址转换的提供商边缘设备及其使用方法
技术领域:
本发明涉及一种在MPLS VPN(Multi-Protocol Label Switching VirtualPrivate Network,多协议标签交互虚拟专用网)技术,特别是一种MPLS VPN中支持NAT(Network Address Translation,网络地址转换)和MPLS VPN的PE(Provider Edge,提供商边缘)设备,其支持私有网络访问Internet网络和地址重叠的VPN访问私有网络的公共服务。
背景技术:
MPLS技术结合了IP路由选择的丰富性和帧中继或ATM(AsynchronousTransfer Mode,异步传输模式)的逐跳标签交换的简单性,可提供面向连接的转发与IP网络的无缝结合。
MPLS VPN是将用户和服务提供商之间的无连接的VPN与网络核心内的面向连接的VPN结合起来的一种技术,它使用MP-BGP(Multi Protocol BorderGateway Protocol,多协议边界网关协议)发布用户的路由选择信息和MPLS标签,并通过VRF(VPN Routing and Forwarding Instances,虚拟路由转发)隔离不同VPN的路由,VRF是和PE上的一个或多个子接口相对应的,用于存放这些子接口所属VPN的路由信息,解决了不同VPN之间地址空间重叠的问题。
对于MPLS VPN网络来说,存在以下两个问题一是如何支持VPN私有网络直接访问Internet网络,二是如何在VPN地址重叠的情况下支持访问私有网络的公共服务。
对于第一个问题,一般的解决方法有两个一是对某些需要访问Internet网络的私有网络用户直接分配公网地址,这种方法需要大量的公网地址,在很多情况下是不现实的;二是在用户网络接入供应商网络时进行网络地址转换,即CE-NAT,这需要CE设备(Customer Edge Device,用户边缘设备)支持NAT功能,而且多个CE设备的NAT大大提高了升级和维护的难度。
对于第二个问题,在大公司的网络中尤其常见,分布于各地的分支机构都建立自己的VPN,同时需要访问公司的一些公共服务。这时一般需要各个VPN的地址不重叠,否则从公共服务器返回时没有到这些地址重叠的用户的唯一返回路径,解决该问题要求统一管理和规划,但这种解决方案不但增加了管理成本,而且违背了VPN可以独立规划地址的基本要求。
发明内容
本发明的目的在于提供一种结合网络地址转换的提供商边缘设备及其使用方法,用于解决MPLS VPN私有网络直接访问Internet网络以及VPN地址重叠的情况下访问私有网络的公共服务时出现的问题。
为了实现上述目的,本发明提供了一种结合网络地址转换的提供商边缘设备,包括网络地址转换模块,路由模块,访问控制列表模块和报文转发模块,其中网络地址转换模块,用于将网络地址转换规则绑定到虚拟专用网,同时根据网络地址转换规则生成网络地址转换映射条目表,网络地址转换映射条目表根据虚拟专用网ID区分地址重叠的虚拟专用网;路由模块,用于生成并通告网络地址转换路由,同时生成网络地址转换路由的标签表;访问控制列表模块,用于绑定访问控制列表到网络地址转换模块,并用于判断是否执行网络地址转换;报文转发模块,用于根据网络地址转换映射条目表和标签表进行报文的处理。
同时,还提供了一种结合网络地址转换的提供商边缘设备的使用方法,包括如下步骤映射条目管理模块根据网络地址转换规则建立网络地址转换映射条目表,网络地址转换映射条目表根据虚拟专用网ID区分地址重叠的虚拟专用网;网络地址转换命令处理模块将网络地址转换规则绑定到虚拟专用网;路由模块生成并通告网络地址转换路由和根据网络地址转换路由生成的标签表;访问控制列表模块绑定访问控制列表到网络地址转换模块,并判断是否执行网络地址转换;
报文转发模块根据IP地址、端口号和所述虚拟专用网ID查找所述映射条目表和标签表,对报文进行网络地址转换和标签处理后转发。
本发明的结合网络地址转换的提供商边缘设备及其使用方法,在提供商边缘设备设置NAT模块,使得CE设备无须支持NAT功能,而由PE设备统一进行NAT,这不但减少了用户的升级维护成本,而且使得管理更为灵活。同时通过支持VRF NAT,解决了访问公共服务时VPN地址不能重叠的问题,方便了网络的规划与管理。
图1为本发明的结合网络地址转换的提供商边缘设备结构图;图2为本发明的结合网络地址转换的提供商边缘设备使用方法流程图;图3为从NAT INSIDE接口到NAT OUTSIDE接口的报文处理流程图;图4为从NAT OUTSIDE接口到NAT INSIDE接口的报文处理流程图;图5为是MPLS VPN私有网络访问Internet网络的组网示意图;图6是地址冲突的VPN访问私有网络公共服务的组网示意图。
具体实施例方式
如图1所示,本发明的结合网络地址转换的提供商边缘设备包括NAT模块10,路由模块20,ACL(Access Control List,访问控制列表)模块30,报文转发模块40,其中NAT模块10,包括NAT命令处理模块101和映射条目管理模块102,其中NAT命令处理模块101,响应用户的NAT相关命令配置,在配置VRF NAT转换规则时通过VRF参数将该规则绑定到某VPN,同时通知路由模块20生成NAT路由(NAT地址池中的地址生成的地址路由,该路由有特殊的NAT标记),该路由将添加到所属VPN内,通知ACL模块30绑定相关的ACL到NAT;映射条目管理模块102,根据用户配置的VRF NAT转换规则管理相关的映射条目表等表的生成、删除、老化等,并通过VPN ID来区分地址重叠的VPN的映射条目;
路由模块20,用于生成NAT路由(NAT地址池中的地址生成的地址路由,该路由有特殊的NAT标记),并负责将VPN中的NAT路由通过路由协议分别通告到公网或私网,并根据NAT路由生成相应的标签,同时在VPN之间进行路由的多导入;ACL模块30,负责NAT策略,即根据报文的五元组(源地址、源端口、目的地址、目的端口、协议)判断该报文是否匹配NAT绑定的ACL,如果是,则需要进行NAT转换,否则不需要进行NAT转换;报文转发模块40,通过查找路由模块和ACL,判断报文是否需要进行NAT转换,是否需要进行标签处理,并根据NAT映射条目表和标签表,正确的进行报文转换和标签处理。
其中,NAT模块10、路由模块20和ACL模块30处理后将路由条目及其对应的标签、RFC(递归流分类)算法计算后的各级表写入到NP(网络处理器),报文转发模块在NP进行路由、ACL的快速查找,对无法处理的报文(如IP选项报文等)上送CPU,其他报文则直接NAT转换后进行转发。
本发明只涉及PE设备,而对于CE设备和P设备,无需进行任何修改,和普通的MPLS组网一样,即CE和PE之间运行动态或静态路由协议,PE和P之间运行MPLS协议。
同时,ACL模块30也可以使用route-map(路由策略)替代ACL判断是否需要NAT转换,可以实现针对出接口、下一跳等选择不同的NAT策略;对于有公共服务的情况,在路由模块可通过限制某些NAT路由多导入,实现用户访问控制,即只有指定的用户才能访问公共服务。
为便于描述,本发明中将PE设备与CE设备相连接口命名为NAT INSIDE接口,PE设备与提供商设备(P设备)相连接口命名为NAT OUTSIDE接口。
如图2所示,本发明的结合网络地址转换的提供商边缘设备支持访问Internet网络或访问私有网络的公共服务的方法包括如下步骤步骤S1,映射条目管理模块建立映射条目表,该映射条目表中定义有VPNID字段,用于区分地址重叠的VPN的映射条目;步骤S2,NAT命令处理模块通过VRF参数将NAT转换规则绑定到VPN,并由路由模块将该NAT路由添加到相应VPN中,并根据该NAT路由生成标签,对于访问Internet网络的情况,该NAT路由还添加到公网路由中;
步骤S3,相应的路由协议必须支持通告NAT路由,对于访问Internet网络的情况,路由模块配置相应的路由协议(如OSPF协议Open Shortest PathFirst,优先开放最短路径协议)通告NAT公网路由,对于访问私有网络公共服务的情况,配置相应的路由协议(如MP-BGP)通告NAT私网路由及标签;步骤S4,报文转发模块根据IP地址、端口号和VPN ID查找映射条目表和标签转发表,对报文进行NAT转换和标签处理后转发。
步骤S4中需要处理的报文有两种情况,一种为从NAT INSIDE接口到NAT OUTSIDE接口的报文,另一种为从NAT OUTSIDE接口收到的报文,两种报文的处理流程分别如图3和图4所示。
如图3所示,接收报文时,对于从NAT INSIDE接口到NAT OUTSIDE接口的报文,报文转发模块根据IP地址、端口号和VPN ID查找映射条目表,如果存在映射条目,根据映射条目对报文进行转换后,打标签后转发;如果不存在映射条目,则上送该报文NAT模块,由NAT模块根据ACL和VPN ID查找NAT转换规则,并由映射条目管理模块根据该NAT转换规则生成映射条目,并根据生成的映射条目对报文进行转换后,打标签后转发。对于访问Internet的情况,只打一层外层标签,对于访问私网公共服务的情况,有两层标签。
如图4所示,接收报文时,对于从NAT OUTSIDE接口到NAT INSIDE接口的报文,首先判断是否有标签,如果是访问Internet的情况,则没有标签(因为一层标签已经次末弹出),根据目的地址查找路由,如果对应路由有NAT标记,则根据映射条目进行报文转换,然后根据转换后的地址和VPN ID进行二次查找路由后转发,如果对应路由没有NAT标记,则根据普通报文转发流程进行处理;如果是访问私有网络公共服务的情况,则有一层内层标签,查找该标签,发现该标签对应的路由有NAT标记,则弹出标签后根据IP地址、端口号和VPN ID查找映射条目表,在存在映射条目表的情况下,根据该映射条目表进行报文转换后转发,如果没有映射条目表则丢弃该报文,如果对应路由没有NAT标记,则根据普通报文转发流程进行处理。
下面分别对本发明的结合网络地址转换的提供商边缘设备支持访问Internet网络或访问私有网络的公共服务的方法进行详细描述。
本发明的结合网络地址转换的提供商边缘设备支持MPLS VPN私有网络访问Internet网络的方法包括以下步骤步骤S11,在PE设备上配置NAT地址池,此时地址池必须是公网地址,并由NAT命令处理模块配置VRF NAT转换规则,同时由路由模块根据NAT地址池中的地址生成NAT路由;步骤S12,配置VPN私网到公网的路由;步骤S13,路由模块通过路由协议将NAT路由通告到公网;步骤S14,映射条目管理模块根据配置的VRF NAT转换规则,生成NAT映射条目;步骤S15,报文转发模块查找NAT映射条目表及标签转发表,对报文进行NAT转换和标签处理后转发。
本发明的提供商边缘设备支持地址重叠的MPLS VPN访问公共服务的方法包括如下步骤步骤21,在PE设备上为每个地址重叠的VPN配置一个不同的NAT地址池,NAT命令处理模块对每个地址重叠的VPN配置VRF NAT转换规则,同时由路由模块根据NAT地址池中的地址生成NAT路由;步骤22,路由模块通过路由协议将NAT路由及对应的标签通告到对端PE设备;步骤23,配置路由多导入,将公共服务器的VPN路由导入各用户VPN,将各用户VPN对应的NAT路由导入公共服务器的VPN;步骤24,映射条目管理模块根据VRF NAT转换规则,对不同的VPN生成不同的NAT映射条目;步骤25,报文转发模块根据NAT映射条目表及标签转发表,对报文进行NAT转换和标签处理后转发。
下面结合更具体的应用环境对本发明进行说明第一种情况是通过本发明的结合网络地址转换的提供商边缘设备支持MPLS VPN私有网络访问Internet网络,如图5所示,在原有的MPLS VPN网络配置环境下,进行如下步骤第一步,配置PE1与CE1相连接口为NAT INSIDE接口,配置PE1与P相连接口为NAT OUTSIDE接口,并在PE1上配置NAT公网地址池
ip nat pool internet-pool 61.1.1.161.1.1.254 prefix-length 24在PE1上配置VRF NAT转换规则ip nat inside source list 1 pool internet-pool vrf vpn-nat overload第二步,在PEl上配置VPN私网到公网的静态路由ip route vrf vpn-nat 218.1.1.0 255.255.255.0 193.1.1.2 global第三步,在PE1上配置路由协议将NAT路由通告到公网router ospf 100network 61.1.1.0 0.0.0.255 area 0.0.0.0redistribute connected第四步,NAT模块收到需要网络地址转换的报文后,由映射条目管理模块根据配置的VRF NAT转换规则,生成NAT映射条目,使用show ip nattranslations vrf vpn-nat命令观察如下Pro Inside global Inside localTYPEVPN--- 10.1.1.19:102461.1.1.19:7254 D/e 1第五步,报文转发模块查找NAT映射条目表及标签转发表,对报文进行NAT转换和标签处理后转发。
第二种情况是通过本发明的结合网络地址转换的提供商边缘设备支持地址重叠的MPLS VPN访问公共服务,如图6所示。在原有的MPLS VPN网络配置环境下,进行如下步骤第一步,配置PE1与CE1及CE2相连接口为NAT INSIDE接口,配置PE1与P相连接口为NAT OUTSIDE接口,在PE1上为每个地址重叠的VPN配置一个不同的NAT地址池ip nat pool vpn-nat1 11.1.1.1 11.1.1.254 prefix-length 24ip nat pool vpn-nat2 12.1.1.1 12.1.1.254 prefix-length 24在PE1上对每个地址重叠的VPN配置VRF NAT转换规则,绑定不同的NAT地址池,并生成NAT路由ip nat inside source list 1 pool vpn-nat1 vrf vpn-nat1 overloadip nat inside source list 1 pool vpn-nat2 vrf vpn-nat2 overload第二步路由模块通过路由协议将NAT路由及对应的标签通告到对端PE2设备router bgp 100address-family ipv4 vrf vpn-nat1redistribute connected route-map nat-route1address-family ipv4 vrf vpn-nat2redistribute connected route-map nat-route2ip access-list standard 11permit 11.1.1.0 0.0.0.255deny anyip access-list standard 12permit 12.1.1.0 0.0.0.255deny anyroute-map nat-route1 permit 11match ip address 11route-map nat-route2 permit 12match ip address 12第三步,配置路由多导入,将公共服务器的VPN路由导入各用户VPN,将各用户VPN对应的NAT路由导入公共服务器的VPN在PE1上ip vrf vpn-nat1rd 100:1route-target import 100:1route-target export 100:1route-target import 100:3route-target export 100:3ip vrf vpn-nat2rd 100:2
route-target import 100:2route-target export 100:2route-target import 100:3route-target export 100:3在PE2上router bgp 100address-family ipv4 vrf vpnredistribute connectedip vrfvpnrd 100:3route-target import 100:3route-target export 100:3route-target import 100:1route-target export 100:1route-target import 100:2route-target export 100:2第四步,收到需要NAT转换的报文后,根据配置的VRF NAT转换规则,对不同的VPN生成不同的NAT映射条目。使用show ip nat translations命令观察如下Pro Inside global Inside localTYPEVPN--- 10.1.1.19:102411.1.1.19:7254 D/e 1--- 10.1.1.19:142412.1.1.19:8654 D/e 2第五步,报文转发模块查找NAT映射条目表及标签转发表,对报文进行NAT转换和标签处理后转发。
同时,本发明可通过使用route-map替代ACL判断是否需要NAT转换,可以实现针对出接口、下一跳等选择不同的NAT策略,可以实现更灵活的NAT策略;对于有公共服务的情况,可在路由管理中通过限制某些NAT路由多导入,可以实现用户访问控制,即只有指定的用户才能访问公共服务,在一定程度上提高了安全性。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种结合网络地址转换的提供商边缘设备,其特征在于,包括网络地址转换模块,路由模块,访问控制列表模块和报文转发模块,其中所述网络地址转换模块,用于将网络地址转换规则绑定到虚拟专用网,同时根据所述网络地址转换规则生成网络地址转换映射条目表,所述网络地址转换映射条目表根据虚拟专用网ID区分地址重叠的虚拟专用网;所述路由模块,用于生成并通告网络地址转换路由,同时生成所述网络地址转换路由的标签表;所述访问控制列表模块,用于绑定访问控制列表到网络地址转换模块,并用于判断是否执行网络地址转换;所述报文转发模块,用于根据所述网络地址转换映射条目表和标签表进行报文的处理。
2.根据权利要求1所述的结合网络地址转换的提供商边缘设备,其特征在于,所述访问控制列表模块具体用于执行以下操作根据报文的源地址、源端口、目的地址、目的端口号和协议判断所述报文是否匹配所述访问控制列表,如果是,判断为需要进行网络地址转换,否则不需进行网络地址转换。
3.权利要求1所述的结合网络地址转换的提供商边缘设备的使用方法,包括如下步骤步骤1,映射条目管理模块根据所述网络地址转换规则建立网络地址转换映射条目表,所述网络地址转换映射条目表根据虚拟专用网ID区分地址重叠的虚拟专用网;步骤2,网络地址转换命令处理模块将所述网络地址转换规则绑定到虚拟专用网;步骤3,路由模块生成并通告网络地址转换路由和根据所述网络地址转换路由生成的标签表;步骤4,访问控制列表模块绑定访问控制列表到网络地址转换模块,并判断是否执行网络地址转换;步骤5,报文转发模块根据IP地址、端口号和所述虚拟专用网ID查找所述映射条目表和标签表,对报文进行网络地址转换和标签处理后转发。
4.根据权利要求3所述的结合网络地址转换的提供商边缘设备的使用方法,其特征在于,所述结合网络地址转换的提供商边缘设备用于实现多协议标签交互虚拟专用网私有网络访问Internet网络时,还包括配置所述虚拟专用网到公网的静态路由的步骤和配置公网地址的网络地址转换地址池的步骤,所述路由模块根据所述网络地址转换地址池中的地址生成所述网络地址转换路由及标签表。
5.根据权利要求4所述的结合网络地址转换的提供商边缘设备的使用方法,其特征在于,所述路由模块通过路由协议执行通告。
6.根据权利要求5所述的结合网络地址转换的提供商边缘设备的使用方法,其特征在于,所述路由协议为优先开放最短路径协议。
7.根据权利要求3所述的结合网络地址转换的提供商边缘设备的使用方法,其特征在于,所述结合网络地址转换的提供商边缘设备用于实现地址重叠的多协议标签交互虚拟专用网访问公共服务时,还包括为地址重叠的虚拟专用网配置不同的网络地址转换地址池和网络地址转换规则的步骤和配置路由多导入的步骤,所述路由模块根据所述网络地址转换地址池中的地址生成所述网络地址转换路由及标签表。
8.根据权利要求7所述的结合网络地址转换的提供商边缘设备的使用方法,其特征在于,所述路由模块通过路由协议执行通告。
9.根据权利要求8所述的结合网络地址转换的提供商边缘设备的使用方法,其特征在于,所述路由路由协议为多协议边界网关协议。
10.根据权利要求3、4、5、6、7、8或9所述的结合网络地址转换的提供商边缘设备的使用方法,其特征在于,所述步骤5中,对于从第一接口到第二接口的报文,具体执行以下操作报文转发模块根据所述IP地址、端口号和所述虚拟专用网ID查找所述映射条目表,如果存在映射条目,根据映射条目对所述报文进行转换后,打标签后转发;如果不存在映射条目,则上送该报文到所述网络地址转换模块,由所述网络地址转换模块根据访问控制列表和所述虚拟专用网ID查找网络地址转换规则,并由映射条目管理模块根据网络地址转换规则生成映射条目,并根据生成的映射条目对报文进行转换后,打标签后转发,所述第一接口为所述提供商边缘设备与用户边缘设备相连的接口,所述第一接口为所述提供商边缘设备与提供商设备相连的接口。
11.根据权利要求10所述的结合网络地址转换的提供商边缘设备的使用方法,其特征在于,所述步骤5具体执行以下操作,对于从第二接口到第一接口的报文,具体执行以下操作首先判断所述报文是否有标签,如果没有则根据目的地址查找路由,如果对应路由有网络地址转换标记,则根据映射条目进行报文转换,然后根据转换后的地址和所述虚拟专用网ID进行二次查找路由后转发,如果对应路由没有所述网络地址转换标记,则根据普通报文转发流程进行处理;如果所述报文有一层标签,且所述标签对应的路由有网络地址转换标记,则弹出所述标签后根据所述IP地址、端口号和虚拟专用网ID查找所述映射条目表,在存在映射条目表的情况下,根据所述映射条目表进行报文转换后转发,如果没有映射条目表则丢弃该报文,如果对应路由没有所述网络地址转换标记,则根据普通报文转发流程进行处理。
全文摘要
本发明公开了一种结合网络地址转换的提供商边缘设备及其使用方法,该设备包括网络地址转换模块,用于将网络地址转换规则绑定到虚拟专用网,同时根据网络地址转换规则生成网络地址转换映射条目表,网络地址转换映射条目表根据虚拟专用网ID区分地址重叠的虚拟专用网;路由模块,用于生成并通告网络地址转换路由,生成网络地址转换路由的标签表;访问控制列表模块,用于绑定访问控制列表到网络地址转换模块,并判断是否执行网络地址转换;报文转发模块,用于根据网络地址转换映射条目表和标签表进行报文的处理。本发明在提供商边缘设备设置NAT模块,减少了成本,管理灵活,同时解决了访问公共服务时VPN地址不能重叠的问题,网络规划管理方便。
文档编号H04L29/06GK1960313SQ20051008676
公开日2007年5月9日 申请日期2005年11月3日 优先权日2005年11月3日
发明者钱炜, 邵庆华, 朱彤 申请人:中兴通讯股份有限公司