异构网络系统中实现网络地址转换协议转换的装置及方法

文档序号:7968365阅读:144来源:国知局
专利名称:异构网络系统中实现网络地址转换协议转换的装置及方法
技术领域
本发明涉及在多协议标签交互虚拟专用网网络中,虚拟专用网与采用异种协议的公网之间的互访技术,尤其涉及采用IPV4 (或IPV6)协议的虚拟 专用网与采用IPV6 (或IPV4)协议的公网构成的异构网络系统中实现网络 地址转换协议转换的装置及方法。
背景技术
IPV6作为未来笫三代移动通信的重要协议之一,对于运营商来说,其 极具吸引力的特点有两个 一是IPV6所采用的128位地址格式,使其具有 庞大地址空间;二是IPV6对移动数据业务具有较强的支持能力,克服了移 动IPV4固有的一些缺点。MPLS (Multiprotocol Label Switch,多协议标签交换)是一种4吏得不同 的网络传输技术在同 一个平台上统一起来的技术,它能够减少网络的复杂 度,并兼容主流的网络技术,代表了未来网络发展的一种趋势。MPLS结合 了 IP路由选择的丰富性和帧中继或ATM的逐跳标签交换的简单性,以提供 面向连接的转发与IP网络的无缝结合。基于MPLS的VPN (Virtual Private Network,虚拟专用网络)是将用户 和服务提供商之间的无连接的VPN与网络核心内的面向连接的VPN结合起 来的一种技术,它使用MP-BGP发布用户的路由选择信息和MPLS标签, 并通过VRF隔离不同VPN的路由,同时也解决了不同VPN之间地址空间 重叠的问题。MPLS VPN是一种基于MPLS技术的IP-VPN,是在网络路由和交换设 备上应用MPLS技术,简化核心路由器的路由选择方式,利用结合传统路由 技术的标记交换实现的IP虚拟专用网络(IP VPN),可用来构造宽带的 Intranet、 Extranet,满足多种灵活的业务需求。采用MPLS VPN技术可以把现有的IP网络分解成逻辑上隔离的网络,这种逻辑上隔离的网络的应用可以是千变万化的可以是用在解决企业互连、政府相同/不同部门的互连、 也可以时用来提供新的业务一如为IP电话业务专门开辟一个VPN、以此解 决IP网络地址不足和QoS的问题,也可以为用MPLS VPN为IPv6提供开展 业务的可能。目前,使用MPLS的骨干网越来越多,因此必须考虑如何在MPLS上集 成IPv6。在MPLS网络中,转发是根据标记进行的,这就不需要数据层面 支持IPv6的数据转发,即无需核心网络软硬件的升级,只需要边缘路由具 有配置IPv6的能力即可。NAT—PT (网络地址转换协议转换,Network Address Translation &Protocol Translation)技术是类似于IPV4网络中的NAT (网络地址转换) 技术,即一种地址转换协议转换技术,与NAT不同的是,NAT一PT用于IPV6 单协议网络域内主机与IPV4单协议网络域内主机之间的端到端连接,而 IPV4的NAT是IPV4的私有网络域内主机与IPV4公共网络主机之间的连 接。因此NAT—PT涉及到的转换技术是IPV6和IPV4地址间的转换以及IPV6 和IPV4协议之间的转换。NAT—PT是一种纯IPV6节点和IPV4节点间的互通方式,所有包括地址、 协议在内的转换工作都由网络设备来完成。支持NAT一PT的网关路由器应 具有地址池,例如具有IPV4地址池,在从IPV6向IPV4域中转发包时使用, 地址池中的地址是用来转换IPV6报文中的源地址的。此外网关路由器需要 DNS一ALG应用层网关的支持,在IPV6节点访问IPV4节点时发挥作用。如 果没有DNS_ALG的支持,只能实现由IPV6节点发起的与IPV4节点之间 的通信,反之则不行。在组网的时候,如果处于IPV6网络的主机需要连接到IPV4网络中的 主机,IPV6主才几可以认为IPV4主机的所对应的IPv6地址为NAT_PT前缀 十IPV4主机地址。如IPV4主机地址为10.18.34.1, NAT—PT设备设定的前 缀为2222::/64,则IPV4主机对应的IPv6地址就是2222::10.18.34.1或 2222::0al2:2201。但是,当IPV4网络中的主机需要访问IPV6网络中的主机的时候就不 能按照这种方法来做,IPV4主机可以按照IPV6主机所对应的域名来访问, 这就需要用到DNS—ALG功能。IPV4端主机10.18.34.117需要访问IPV6端 主机2000::1, IPV4主机所对应的域名为www.ipv4.com.cn, IPV6主机所对 应的域名为www.ipv6.com.cn。首先IPV4主机发送DNS请求1给它的DNS 服务器,请求www.ipv6.com.cn这个域名所对应的IPV4地址,IPV4的DNS 服务器发现没有这个资源记录,于是它转发这个DNS请求给IPV6的DNS 服务器。需要注意到,NAT一PT设备上必须配置两个DNS服务器的地址映 射关系,如10.18.34.252 => 2000::2,即IPV6的DNS服务器所对应的IPV4 地址为10.1834.252。随着IPV6的发展,逐步地将有相当数量的IPV6网络开始建设,但是 在一定的时间内,IPV4网络和IPV6网络将共存。在过渡时期,会出现这样 以下的两种网络结构, 一个IPV4VPN,但是与之相连的公网是IPV6网络; 另外一种情况与"M目反,即IPV6 VPN网络与IPV4公网互连。这就存在一个题。对于这个问题,NAT^PT只是作为IPV4网络向IPV6网络过渡的时候采 用的一种手段,NAT—PT自身有一定的局限性,由于转换相当耗费系统资源 和时间,所以NAT_PT设备注定不能作为核心的设备,只能用于边缘协议 和地址的转换。现有解决方法是在用户网边缘路由器(CE, Custom Edge Router)设备上进行NAT—PT转换,这需要CE设备支持NAT_PT功能,但 是,多个CE的NAT^PT大大提高了升级和维护的难度。特别的,对于第二 种情况,IPV6 VPN网络与IPV4公网互连时,为每一个CE分配一定的V4 网络地址也是一种浪费。发明内容本发明所要解决的技术问题在于,提供一种实现网络地址转换协议转换 的异构网络系统及方法。在网络协议类型不一样的MPLS VPN网络与公网 之间,在运营商边缘路由器上实现网络地址转换协议转换技术,从而实现 VPN网*各与 >网之间互访。
本发明提供一种实现网络地址转换协议转换的异构网络系统,所述系统包括一个公网、邻接公网的运营商边缘路由器PE、与PE相接的用户网边缘 路由器CE、以及与CE邻接的采用不同于公网协议的虚拟专用网VPN,所 述异构网络系统的特点在于,PE与公网相连的接口、 PE与CE相连的接口 均采用支持网络地址转换协议转换NAT一PT功能的接口 ,所述PE包括NAT一PT管理模块,用于提供NA1^PT相关命令,负责管理转换条目表 的生成、删除、老化,并通过虚拟专用网标识VPN ID来区分地址重叠的 VPN的转换条目;路由管理模块,用于将NAT_PT地址池的公网地址路由或者VPN地址 路由通过路由协议分别通告到公网或者VPN;报文转发模块,用于判断报文是否需要进行NAT—PT转换,需要时, 查找转换条目,并根据NAT一PT转换条目,正确的进行才艮文转换及转发。其中,所述公网或虛拟专用网的协议是IPV4协议或IPV6协议,但公网 与虛拟专用网的协议必须是异种类型的。所述NAT一PT管理模块生成的路由转换条目中包括虚拟专用网标识零,在将某一虛拟专用网的地址转换为公网地址的转换条目中是一个确定的 能标识该虚拟专用网的非零数值。所述PE支持域名服务系统一应用层网关DNS一ALG,使得IPV4侧主机 能够在不确认对应IPV6侧主机转换后地址情况下,访问该IPV6侧主机。所述NAT—PT管理模块包括NAT_PT命令处理模块、转换条目管理模 块,其中,NAT—PT命令处理模块配置关于转换规则的命令,将相关的信息 通告给路由模块和接入控制列表模块;转换条目管理模块,响应NAT一PT 命令处理模块,对转换条目进行创建、删除、显示的操作。所述报文转发模块包括驱动NAT—PT处理模块、微码NAT_PT处理模 块,其中,微码NAT一PT处理模块通过查找路由模块和接入控制列表模块, 进行NAT—PT相关处理,查找转换条目,进行报文转发,如果没有查找到 转换条目且需要创建的时候,将报文通过驱动NAT PT处理模块交给转换条目管理模块进行处理。所述NAT—PT管理模块配置的转换规则为将某个VPN中的地址或者某些符合接入控制列表ACL匹配条件的VPN 地址转换为 一个公网主机地址或者公网地址池中的某些^>网地址,并将转换 后的地址添加到公网路由表中;将某个公网中的地址或者某些符合ACL匹配条件的公网地址转换为异 种协议类型的网络地址,并将转换后的地址同时加到异种协议类型的公网路 由表和对应PE上的各个相关VPN的路由表中。所述PE具有VPN前缀配置命令,为每个VPN分别配置一个96位掩码 长度的IPV6前缀,要求各个VPN的前缀路由不能一样,同时将该前缀添加 到夂^网路由中。所述报文转发4莫块,通过孩i:码NAT—PT处理模块对4艮文处理,查找路 由操作,如果路由有NAT一PT属性,判断报文需要进行NAT一PT转换,则 查找转换条目,进入到NAT—PT处理流程,继续根据该数据包的源/目的地 址等信息查找是否存在转换条目,如果源\目的地址的转换条目都能够查找 到,则直接转发,如果查找不到且肯定不能由上层转换条目管理模块生成转 换条目,则报文丢弃。本发明还提供一种基于上述异构网络系统实现网络地址转换协议转换 的方法,用于使IPV4虚拟专用网和IPV6公网之间协议类型不同的情况下 实现互访,所述IPV4虚拟专用网依次经过用户网边^i洛由器CE、运营商边 缘路由器PE与IPV6公网相连接,所述方法包括如下步骤(a)配置PE与CE相连接口和PE与公网相连接口为支持网络地址转 换协议转换NAT一PT功能接口 ;(b )在PE上配置NAT_PT地址池,将该地址池中地址配置为公网IPV6 地址,绑定接入控制列表ACL后形成动态规则,或在PE上配置虚拟路由转 发实例VRF NAT—PT静态转换规则,利用动态规则或静态转换规则,将VPN 地址生成NAT—PT路由并将其写入IPV6公网路由表;(c) 在PE上配置指定某个公网IPV6地址的静态规则,将生成的(d) 在PE上配置公网IPV6地址进行转换的动态规则,将生成的 NAT一PT路由写入IPV4公网路由表和各个IPV4 VPN的路由表中;(e) 在PE上配置针对各个IPV4 VPN的96位长IPV6 NAT_PT前缀, 将对应的NAT一PT路由写入IPV6公网路由表中;(f) PE上的报文收发模块,根据收到的报文的目的地址查找路由属性, 进行NAT—PT转换处理流程,生成和查找转换条目,对报文进行NAT—PT 转换后转发。进一步地,步骤(b)中所述地址池用于利用动态规则将VPN的主机地 址转换为IPV6公网地址,所述静态转换规则,用于将VPN网络中的特定主 机地址转换为一个IPV6公网地址,所述地址池和静态转换规则转换后的 IPV6公网地址不同。进一步地,步骤(f)中对于从IPV4VPN网络收到的数据包进行转发的 步骤,包括(1) 查找VPN路由,如果查找到的路由属性为NAT一PT路由,则报文 进入NATJPT处理流程;(2) 针对目的地址,查找到目的地址转换条目,如找不到,则丢弃报文;(3) 查找源地址转换条目,如果找不到,则通过动态规则从地址池生 成转换条目,所生成的转换条目需要包括VPNID字段,如果没有得到源地 址转换条目,则报文丢弃;(4) 按得到的源/目的地址的转换条目,进行报文转换,转换成功之后, 报文转发。进一步地,步骤(2 )中的所述目的转换条目,是由配置了的IPV6到IPV4 的静态规则产生的;或是由于IPV6网络先前访问过该VPN中的主机,通过 地址池已经形成的一条转换条目;或是通过DNS—ALG生成的转换条目。进一步地,步骤(f)中对于从IPV6公网收到的数据包进行转发的步骤,
包括U)查找公网路由,如果查找到的路由属性为NAT—PT路由,则报文 进入NAT_PT处理流程;(2) 针对目的地址查找目的地址转换条目,如果找不到转换条目,但拥有指定前缀,通过去除前缀生成目的地址转换条目,如果最务农然没能得 到目的地址转换条目,则报文丢弃;(3) 查找源地址转换条目,如果找不到,通过动态规则生成转换条目, 如果最终没有能够得到转换条目,报文丢弃;(4) 按得到的源/目的地址的转换条目,进行报文转换,转换成功之后, 报文转发。本发明还提供一种基于上述异构网络系统实现网络地址转换协议转换 的方法,用于使IPV6虚拟专用网和IPV4公网之间协议类型不同的情况下 实现互访,所述IPV6虛拟专用网依次经过用户网边缘路由器CE、运营商边 全4^由器PE与IPV4公网相连接,包括如下步骤(a)配置PE与CE相连接口和PE与公网相连接口为支持NAT—PT功 能接口;(b )在PE上配置NAT—PT地址池,将该地址池中地址配置为公网IPV4 地址,绑定ACL后形成动态规则,或在PE上配置虛拟路由转发实例VRF NAT_PT静态转换规则,利用动态规则或静态转换规则,将IPV6 VPN地址 生成NAT—PT路由并将其写入IPV4公网路由表;(c )在PE上配置指定某个公网IPV4地址的静态规则,生成NAT一PT 路由并导入到IPV6公网路由表中和各个IPV6 VPN路由表中;(d) 在PE上配置96位长的IPV6地址前缀,将对应的IPV6 NAT—PT 路由写入IPV6公网路由表和各个IPV6 VPN路由表;(e) PE上的报文转发模块根据收到的报文的目的地址查找路由属性, 进行NAT_PT转换处理流程,生成和查找转换条目,对4艮文进行NAT一PT 转换后转发。 进一步地,步骤(b)中所述地址池用于利用动态规则将VPN的主机地 址转换为IPV4公网地址,所述静态转换规则,用于将VPN网络中的特定主 机地址转换为一个V4公网地址,所述地址池和静态转换规则转换后的IPV4 乂〉网地址不同。进一步地,步骤(e)中对于从IPV6 VPN网络收到的数据包进行转发 的步骤,包括(1) 查找VPN路由,如果查找到的路由属性为NAT一PT路由,则报 文进入NAT一PT处理流程;(2) 针对目的地址查找目的地址转换条目,如果找不到转换条目,但 拥有指定前缀,则通过去除前缀生成目的地址转换条目,如果最终依然没能 得到目的地址转换条目,则报文丟弃;(3) 查找源地址转换条目,如果找不到则通过动态规则从地址池生成 转换条目,所生成的转换条目需要包括VPNID字段,如果没有得到源地址 转换条目,则报文丟弃;(4) 按得到进一步地,的源/目的地址的转换条目,进行报文转换,转 换成功之后,报文转发。进一步地,步骤(e)中对于从IPV4公网收到的数据包进行转发的步骤, 包括(1) 查找公网路由,如果查找到的路由属性为NAT一PT路由,则报文 进入NAT一PT处理流程;(2) 针对目的地址,查找到目的地址转换条目,找不到则丢弃报文;(3) 查找源地址转换条目,如果找不到,则通过动态规则从地址池生 成转换条目,如果没有得到源地址转换条目,则报文丢弃;(4) 按得到的源/目的地址的转换条目,进行报文转换,转换成功之后, 进行报文转发。进一步地,步骤(2)中的所述目的地址转换条目,是由配置了的IPV6 到IPV4的静态规则产生的;或是由于IPV6网络先前访问过该IPV4网络中 的主机,通过地址池已经形成的一条转换条目;或是通过DNS一ALG生成的 转换条目^仪MFUS VPJN私,WJ给"K 本发明提出的基于VRF的NAT—PT方法,仅需对PE设备进行升级,由PE 设备统一进行NAT—PT,实现了网络地址转换协议转换,使得用户侧CE设 备无须支持NAT一PT功能。这不但减少了用户的升级维护成本,而且使得 管理更为灵活。


图1是MPLS IPV4 VPN私有网络访问IPV6 Internet网络的组网示意图; 图2是MPLS IPV6 VPN私有网络访问IPV4 Internet网络的组网示意图; 图3是VRF NAT一PT模块组成图; 图4是IPV4 VPN往IPV6公网的出报文转发流程图;图5是IPV6公网往IPV4 VPN的入报文转发流程图; 图6是IPV6 VPN往IPV4公网的出报文转发流程图; 图7是IPV4公网往IPV6 VPN的入报文转发流程图。
具体实施方式
下面结合附图及具体实施例对本发明所述的技术方案作进一步的详细 描述。于虛拟路由转发实例(VRF, Virtual Routing Forwarding Instance)的 PE-NAT—PT。所述异构网络系统,在硬件上由一个标准的MPLS VPN环境 构成,VPN同时通过PE (运营商边缘路由器,Provider Edge Router)链接 到公网,且VPN网络和公网协议类型不一样,其具体组网环境如图1、图2 所示。图1中显示了 IPV4的VPN1、 VPN2通过PE连接到公网V6 Internet, 图2中IPV6的VPN1 、 VPN2通过PE连接到公网V4 Internet。本发明区别于一般的NAT—PT功能,将VPN ID字段融合到报文转换条 目中,能够实现VPN用户地址和公网地址之间的地址转换。更进一步的,
为不同的V4 VPN设定不同的VPN前缀,即能够实现对来自V6公网的数 据包的V6的目的地址通过前缀进行转换,同时也能够清晰的确定发往哪个 V4VPN,方便了网络管理。在本发明实施时,只需要对现有的MPLS VPN环境中的PE进行升级, 使其支持NAT—PT,对其他设备完全透明,就可实现VPN和公网之间的网 络地址转换协i义转换,而无需在用户侧的用户网边缘路由器CE上分别配置, 减少了用户的升级维护成本,而管理更为灵活。本实施例所述的基于VRF的PE-NAT_PT涉及到以下才莫块NAT一PT管 理模块、路由管理模块、报文转发模块。其中1) NAT一PT管理模块提供NAT—PT相关命令,并负责管理转换条目 表等表的生成、删除、老化,并通过虚拟专用网标识VPNID来区分地址重 叠的VPN的转换条目,其中,所述地址重叠是指两个VPN可以使用同一 IPV4或IPV6的地址,可以采用VPN ID来进行区分;2) 路由管理模块负责将NAT一PT地址池的公网地址路由或者私网地 址路由通过路由协议分别通告到公网或者私网;3) 报文转发模块判断报文是否需要进行NAT一PT转换,如需要则查 找转换条目,并根据NAT—PT转换条目,正确的进行才艮文转换,然后查找 路由,进行净艮文转发。这里实际上有两次查找路由的过程,第一次查找路由,发现路由条目有 NAT—PT属性,那么报文则进行NAT—PT处理流程。在报文转换之后,报文 在某种程度上就像本地发送的报文,需要对转换后的目的地址再查找一次路 由,进行转发。进一步的,本实施例还支持DNS_ALG (域名服务系统一应用层网关, Domain Name System & Application Level Gateway) 。 DNS一ALG的一个重要 功能,就是能够支持IPV4侧主机能够在不确认对应IPV6侧主机转换后地 址的情况下,访问该IPV6侧主机。鉴于VPN的特点, 一般较少会给VPN 中的主机分配域名,本发明还能够支持IPV4 VPN访问IPV6公网的 DNS—ALG。
普通的DNS—ALG实现过程为通过设置DNS server进行域名到地址之 间的查找,DNS SERVER之间的报文交互经过PE的时候,PE将报文中的 经过域名解析之后的真实地址取出,用从地址池中分配的一个地址替换,生 成转换条目。当发起访问的主机使用DNS SERVER告知的替换之后的目的 地址进行访问的时候,报文经过PE自然能够查找到对应的目的地址转换条 目。图3显示了本实施方案涉及的各个相关模块之间的层次结构及其相互 关系。图3中主要包括路由模块、NAT一PT模块和接入控制列表(ACL,Access Control List)模块,以及操作、管理和维护模块OAM (Operation, Administration & Maintenance)。所述NAT—PT模块,又包括NAT—PT命令 处理模块、转换条目管理模块、驱动NAT_PT处理模块、微码NAT1PT处 理模块。图3中斜线填充的箭头和黑色箭头表示用于各种配置操作的配置流,空 心的箭头表示用于报文转发相关操作的转发流。在配置流中,OAM模块与NA1^PT命令处理模块相互交互实现相关命 令的配置等;配置关于转换规则等命令,需要将相关的信息通告给路由模块 和ACL模块;另外,转换条目管理模块,要响应NAT—PT命令处理模块, 对转换条目进行创建、删除、显示等操作。在转发流中,孩支码NAT—PT处理模块通过查找路由模块和ACL模块, 进行NAT—PT相关处理,查找转换条目,进行报文转发。如果没有查找到 转换条目且需要创建的时候,将报文通过驱动NAT_PT处理模块交给转换 条目管理模块进行处理。驱动NATUPT处理模块,只是一个垫层,它实际上只是将上层NAT一PT 转换条目处理模块的信息重新精简之后组织给微码来使用,其条目的创建和 删除都由上层触发。另外,就是一些NAT一PT上层模块和微码之间的接口 垫层,相关信息和报文的传递。转换条目保存在转换条目管理模块。在报文到达PE之后,首先是微码NAT一PT处理模块对报文处理,查找 路由操作,如果找到的路由条目有NAT—PT属性,该报文进入到NAT—PT 处理流程。微码模块继续根据该数据包的源/目的地址等信息查找是否存在
转换条目(这里查找的转换条目可能是直接访问上层转换条目管理模块保存 转换条目的存储空间,也可能是由上层写给驱动层面之后,驱动层为微码访 问特地维护的,这需^照不同设备的体系结构来决定了,例如,有些路由 器就同时存在这两种情况)。如果源\目的地址的转换条目都能够查找到, 则直接转发。如果查找不到且肯定不能由上层转换条目管理模块生成转换条目,则报文丢弃。比如,V4 VPN访问V6公网的情况,如果发现目的V4 地址无法查找到转换条目的情况,因为这个转换条目只能由静态条目生成, 或者前期动态已经生成过。否则的话,将^L文通过驱动层上送给转换条目控 制管理模块进行转换条目的生成。另夕卜,部分微码不能转换的报文也许要上 送处理。比如ICMP包、分片包、FTP、 DNS等报文。基于上述对PE的设置,在对采用异种协议的公网和私网之间实现 NAT一PT功能时,本实施例需具有如下特点l)首先,在普通NAT—PT转换条目中新定义了 VPNID字段,用来区 分不同VPN的转换条目。2)其次,支持NAT一PT转换规则绑定到VPN。这里的规则包括静态规 则和动态规则。换为一个公网主机地址或者公网地址池中的某些地址。上述转换后的地址需 要添加到公网路由表中。也可以将某个公网中的地址或者某些符合ACL匹配条件的公网地址转 换为异种协议类型的网络地址。将这些转换后的地址同时加到异种协iJC类型 的公网路由表和对应PE上的各个相关VPN的路由表中,这样的好处是方便 性,比如, 一个公网地址转换之后,在各个VPN中和采用异种协议类型的 />网中都使用一个相同的地址,避免了重复配置。对于将公网地址转换为VPN地址的转换条目,转换条目中的VPN ID 字段可以为零。对于将某个VPN中的地址转换为一个公网地址的转换条目, 其中的VPNID有意义,需要具体赋不同值来区别不同的VPN。3 )设定NAT—PT前缀。PE中需要新增VPN前缀配置命令,为每个VPN分别配置一个96位掩 码长度的IPV6前缀,要求各个VPN的前缀路由不能一样,同时将该前缀添 加到公网路由中。这样接收到来自IPV6公网的数据包通过查找公网路由,就能够走到 NAT_PT处理流程中。由于前缀的唯一性,就能够确认数据包发往哪个VPN。 当然,依然可以配置不针对VPN的NAT一PT前缀,将其同时写入各个IPV6 VPN路由表和IPV6公网路由表中。这样各个IPV6 VPN和IPV6公网就能 够统一使用该前缀访问IPV4公网了 。4)相应的路由协议必须支持通告NAT—PT路由。对于访问公网的情况, 配置相应的路由协议,通告NAT—PT地址池或者静态规则指定地址的公网 路由。本实施例主要是为了解决MPLS VPN网络和公网之间存在网络协议类 型不一样的情况下,VPN直接访问公共网络以及VPN网络内部互访的问题。 下面分别对IPV4 VPN和IPV6公共网络之间互访、以及IPV6 VPN和IPV4 公共网络之间互访的情形进行说明。本实施例中,如图l所示的网络系统中,通过NAT-PT支持IPV4VPN 和IPV6公共网络之间协议类型不同的情况下互访的主要步骤如下第一步、配置PE与CE相连接口和PE与公网相连接口为支持NATJPT 功能接口。第二步、在PE上配置NAT一PT地址池,该地址池中地址为公网IPV6 地址,绑定ACL后形成动态规则,用于转换VPN中的主机地址。同时也可 以配置VRF NAT一PT静态转换规则,将VPN网络中的特定主机地址转换为 一个IPV6公网地址。注意配置的地址池和静态规则配置的转换后的IPV6 公网地址不能相同。生成NAT一PT路由并将其写入IPV6公网路由表。第三步、在PE上配置指定某个公网IPV6地址的静态规则,将生成的NAT么、
第四步、在PE上配置公网IPV6地址进行转换的动态规则,将生成的 NAT—PT路由同时写入到IPV4公网路由表和各个IPV4 VPN的路由表中。按以上规则生成的NAT—PT路由在路由表中均已作出标示以便识别, 各个转换条目可以通过加入VPNID来进行识别。这里,动态和静态转换条 目生成的路由只是用来对收到报文之后进行路由查找确定走到NAT一PT流 程使用,因为报文转换之后还需要进行查路由操作,此时的路由条目才是一 般意义上的路由条目概念。另外,动态规则是在实际分配时才生成路由,但也可能由于设M系架 构的不同存在区别。比如分布式机架,路由同步的问题,可能会在配置动态 规则的时候就生成,同步到各个线卡上。第五步、在PE上配置针对各个IPV4 VPN的96位长IPV6 NAT一PT前 缀,将对应的NA1^PT路由写入IPV6公网路由表中。第六步、PE的报文收发模块,根据收到的报文的目的地址查找路由属 性,进行NAT一PT转换处理流程,生成和查找转换条目,对报文进行NAT_PT 转换后转发。下面,结合图4和图5,对第六步中NAT一PT报文转发流程具体处理流 程进行描述。A、对于从IPV4 VPN网络收到的数据包,具体处理流程如图4所示, 包括1) 首先,查找VPN路由,如果查找到的路由属性为NAT—PT路由,则 报文进入NAT_PT处理流程。2) 针对目的地址(V6地址),查找到目的转换条目,找不到则丟弃报 文。这里的目的地址转换条目,其可能由以下几个地方产生可能是配置了 IPV6到IPV4的静态规则;也可能是由于IPV6网络先前访问过该VPN中的 主机,通过地址池已经形成了一条转换条目;当然也可能是通过DNS—ALG 生成的转换条目。PE中的转换条目是分为IPV4到IPV6的地址转换条目和IPV6到IPV4
的地址转换条目,为了说明方便,可根据来源与目的的不同而称为源地址 转换条目和目的地址转换条目。3) 接着,查找源地址转换条目,如果找不到,则通过动态规则从地址 池生成转换条目。注意,筌于VPN之间地址重叠的情况,这里生成的转换 条目需要包括VPNID字段。如果没有得到源地址转换条目,报文丢弃。4) 得到源/目的地址的转换条目,进行报文转换,转换成功之后,报文 转发。B、对于从IPV6公网收到的数据包,具体处理流程如图5所示,包括1) 首先,查找公网路由,如果查找到的路由属性为NAT一PT路由,则 报文进入NAT_PT处理流程,该路由属性可以由路由表中特殊字段的不同 位来标示路由属性信息,比如地址路由,PPP路由等等信息。2) 针对目的地址(V4地址)查找目的地址转换条目(地址,端口 ,无 所谓VPNID)。如果找不到转换条目,但是确是拥有指定前缀,通过去除前 缀来生成目的地址转换条目(该条目包含VPNID字段)。注意这里的前缀 是区分VPN的,可以确定报文发往那个VPN。如果最终依然没能得到目的 地址转换条目,则报文丢弃。3) 接着,进行源地址转换条目的查找。如果找不到,通过动态规则生 成转换条目。如果最终没有能够得到转换条目,纟艮文丟弃。4) 得到源/目的地址的转换条目,进行报文转换,转换成功之后,报文 转发。本实施例中,如图2所示的网络系统中,通过NAT一PT支持IPV6VPN 和IPV4公共网络之间协议类型不同的情况下互访的主要步骤如下第一步、配置PE与CE相连接口和PE与公网相连接口为支持NAT—PT 功能接口。第二步、在PE上配置NAT一PT地址池,该地址池中地址为公网IPV4 地址,绑定ACL后形成动态规则,用于转换VPN中的主机地址。同时也可 以配置VRF NAT PT静态转换规则,将VPN网络中的特定主才几地址转换为
一个V4公网地址。注意配置的地址池和静态规则配置的转换后的IPV4公 网地址不能相同。生成NAT一PT路由写入IPV4公网路由表。第三步、在PE上配置指定某个公网IPV4地址的静态规则,将生成的 NAT_PT路由,同时导入到IPV6公网路由表中和各个IPV6 VPN路由表中。第四步、在PE上配置96位长的IPV6地址前缀,将对应的IPV6 NAT—PT 路由写入IPV6公网路由表和各个IPV6 VPN路由表中。第五步、PE上的报文收发模块,根据收到的报文的目的地址查找路由 属性,进行NAT—PT转换处理流程,生成和查找转换条目,对报文进行 NAT_PT转换后转发。下面,结合图6和图7,对第五步中NAT—PT报文转发流程具体处理流 程进行描述。C、 对于从IPV6 VPN网络收到的数据包,具体处理流程如图6所示, 包括1) 首先,查找VPN路由,如果查找到的路由属性为NAT—PT路由, 则报文进入NAT-PT处理流程。2) 针对目的地址(V4地址)查找目的地址转换条目(地址,端口,无 所谓VPNID)。如果找不到转换条目,但确是拥有指定前缀,通过去除前 缀生成目的地址转换条目。注意这里的前缀是不区分VPN的,所有的IPV6 VPN都共用一个相同前缀。也就是说针对某个IPV4公网地址来说,在各个 IPV6 VPN中使用相同的转换条目。如果最终依然没能得到目的地址转换条 目,报文丢弃。3) 接着,查找源地址转换条目,如果找不到,则通过动态规则从地址 池生成转换条目。注意,鉴于VPN之间地址重叠的情况,这里生成的转换 条目需要包括VPNID字段。如果没有得到源地址转换条目,报文丢弃。4) 得到源/目的地址的转换条目,进行报文转换,转换成功之后,报文 转发。D、 对于从IPV4公网收到的数据包,具体处理流程如图7所示,包括: l)首先,查找公网路由,如果查找到的路由属性为NAT—PT路由,则 报文进入NAT—PT处理流程。2) 针对目的地址(V6地址),查找到目的地址转换条目,如果找不到, 则丢弃报文。这里的目的地址转换条目的产生,可能由以下几个地方可能 是配置了 IPV6到IPV4的静态规则;也可能是由于IPV6网络先前访问过 IPV4主机,通过地址池已经形成了一条转换条目;当然,也可能是通过 DNS—ALG生成的转换条目。3) 接着,查找源地址转换条目,如果找不到,则通过动态规则从地址 池生成转换条目。如果没有得到源地址转换条目,则报文丢弃。4) 得到源/目的地址的转换条目,进行报文转换,转换成功之后,报文 转发。下面给出两种应用环境的具体实施例。第 一种情况,是通过NAT—PT支持MPLS IPV4 VPN私有网络访问IPV6 公网,其具体组网环境如图l所示。在原有的MPLSVPN网络配置环境下, 进行如下步骤1) 配置PE2与CE3相连接口支持NAT一PT功能,配置PE2与IPV6公 网相连接口支持NAT_PT功能。2) 在PE2上配置NAT_PT地址池ipv6 natpt pool internet-pool6 2000:: 1 2000:: 100 prefix-length 96ipv6啤t pool intemet-pooW 100. U. 1 100. U. 100 prefix-length 24ipv6 natpt v4v6 source list 1 pool intemet-pool6 overload3 )连接pe2的所有ipv4 vpn和非vpn主机访问ipv6公网可以统一4吏用 该地址池。ipv6 natpt v6v4 source list 2 pool internet-pool44) ipv6公网设备访问连接pe2的所有ipv4 vpn和非vpn主机,访问可 以统一使用该地址池分配地址。设定访问vpnl的NAT一PT前缀
ipv6 natpt prefix 3001 ::/96 vpnl 设定访问vpn2的NAT一PT前缀 ipv6 natpt prefix 3002::/96 vpn2 设定访问非vpn网络的NAT一PT前缀 ipv6 natpt prefix 3003::/96设定ipv6公网地址3000:: 64.233.167.99转换为IPV4地址IO丄Uipv6 natpt v6v4 source 3000:: 64.233.167.99 10.1.1.15)假设ce3下某个VPN2主机10.1.2.1访问ipv6公网地址3000:: 64.233.167.99。 同时ce3下某个VPN1主机10.1.2.1也访问EPV6公网主机 zte.com.cn (3000:: 64.233.167.100)。ce3下联接主机Hostl(10丄2.1)也访问ipv6 公网地址3000:: 64.233.167.99。另外,IPV6公网主机通过前缀访问VPN1 主机10.1.2.2。使用show ipv6 nat translations命令观察如下TypeIPV4 IPV6 VPN10.1.1.13000:: 64.233.167.99—Icmp10丄2.11112000: :11 5000—Icmp10.1.2.11182000: :1 | 50011Icmp10.1.2.11152000::11 50022Dns跳l.l.l3000:: 64.233.167.100—Icmp10.1.2.23001:: 10.1.2.21第二种情况,是通过NAT—PT支持MPLS IPV6 VPN私有网络访问IPV4 公网,如图2所示,在原有的MPLS VPN网络配置环境下,进行采用如下 步骤1)配置PE2与CE3相连接口支持NAT_PT功能,配置PE2与公网相 连接口支持NAT_PT功能。2 )在PE2上配置NAT PT地址池ipv6 natpt pool intemet-pooW 100.1. U 100.1丄100 prefix-length 24ipv6 natpt pool intemet-pool6 1111:: 1 1111:: 100 prefix-length 96ipv6 natpt v6v4 source list 1 pool intemet-pool4 overload3 )连接pe2的所有IPV6 VPN和非VPN主机访问IPV4 乂i^网可以统一 ^使用该地址池。ipv6 natpt v4v6 source list 2 pool intemet-pool6以统一使用该地址池分配地址。设定访问IPV6 VPN和非VPN网络访问IPV4公网的NAT—PT前缀 ipv6 natpt prefix 4003::/96设定IPV4公网地址64.233.167.99转换为IPV6地址5000:: lO丄l.lipv6 natpt v4v6 source 64.233.167.99 5000:: 10.1.1.15 )假设CE3下某个VPN1主机3000:: 1访问IPV4公网主机zte.com (64.233.167.119)。同时ce3下某个VPN2主机3000:: 1也访问IPV4公网主 机64.233.167.99 (目的地址5000:: 10.1丄l)。ce3下连接的主机host1(4000:: 1) 也访问IPV4公网地址4003:: 64.233.167.200。使用show ipv6 nat translations命令观察如下TypeIPV4IPV6VPN64.233.167.995000:: 10.U.1—Icmp100.1.U|50003000::1 | 171IcmpIOO丄U |50013000:: 11 252Icmp跳l.U |50024000:: 1 1 35—Dns64.233.167.119llll::l—Icmp64.233.167.200德:64.233.167.200—综上所述,使用本发明提出的基于VRF的PE-NAT一PT设备和方法,可
以方便的支持异种协议类型的MPLS VPN私网主机和公网互通,而且只需 要对现有的MPLS VPN环境中的PE进行升级,对其他设备完全透明,减少 了用户的升级维护成本,而且使得管理更为灵活。
权利要求
1、一种实现网络地址转换协议转换的异构网络系统,所述系统包括一个公网、邻接公网的运营商边缘路由器PE、与PE相接的用户网边缘路由器CE、以及与CE邻接的采用不同于公网协议的虚拟专用网VPN,其特征在于,PE与公网相连的接口、PE与CE相连的接口均采用支持网络地址转换协议转换NAT_PT功能的接口,所述PE包括NAT_PT管理模块,用于提供NAT_PT相关命令,负责管理转换条目表的生成、删除、老化,并通过虚拟专用网标识VPN ID来区分地址重叠的VPN的转换条目;路由管理模块,用于将NAT_PT地址池的公网地址路由或者VPN地址路由通过路由协议分别通告到公网或者VPN;报文转发模块,用于判断报文是否需要进行NAT_PT转换,需要时,查找转换条目,并根据NAT_PT转换条目,正确的进行报文转换及转发。
2、 如权利要求l所述的系统,其特征在于,所述公网或虚拟专用网的 协议是IPV4协议或IPV6协议,但公网与虚拟专用网的协议必须是异种类型的。
3、 如权利要求l所述的系统,其特征在于,所述NAT一PT管理模块生 成的路由转换条目中包括虚拟专用网标识VPNID,所述VPNID在将公网地 址转换为虚拟专用网地址的转换条目中为零,在将某一虚拟专用网的地址转 换为公网地址的转换条目中是一个确定的能标识该虚拟专用网的非零数值。
4、 如权利要求1或3所述的系统,其特征在于,所述PE支持域名服务 系统一应用层网关DNS_ALG,使得IPV4侧主^L能够在不确认对应IPV6侧主 机转换后地址情况下,访问该IPV6侧主机。
5、 如权利要求l所述的系统,其特征在于,所述NAT一PT管理模块包 括NAT一PT命令处理模块、转换条目管理模块,其中,NAT一PT命令处理 模块配置关于转换规则的命令,将相关的信息通告给路由模块和接入控制列 表模块;转换条目管理模块,响应NAT一PT命令处理模块,对转换条目进行 创建、删除、显示的操作。
6、 如权利要求1或5所述的系统,其特征在于,所述报文转发模块包 括驱动NAT—PT处理模块、微码NAT—PT处理模块,其中,微码NAT—PT 处理模块通过查找路由模块和接入控制列表模块,进行NAT_PT相关处理, 查找转换条目,进行报文转发,如果没有查找到转换条目且需要创建的时候, 将报文通过驱动NAT一PT处理模块交给转换条目管理模块进行处理。
7、 如权利要求5所述的系统,其特征在于,所述NAT^PT管理模块配 置的转换规则为将某个VPN中的地址或者某些符合接入控制列表ACL匹配条件的VPN 地址转换为 一个公网主机地址或者公网地址池中的某些公网地址,并将转换 后的地址添加到公网路由表中;将某个公网中的地址或者某些符合ACL匹配条件的公网地址转换为异 种协议类型的网络地址,并将转换后的地址同时加到异种协议类型的公网路 由表和对应PE上的各个相关VPN的路由表中。
8、 如权利要求l所述的系统,其特征在于,所述PE具有VPN前缀配 置命令,为每个VPN分别配置一个96位掩码长度的IPV6前缀,要求各个 VPN的前缀路由不能一样,同时将该前缀添加到公网路由中。
9、 如权利要求1所述的系统,其特征在于,所述报文转发模块,通过 微码NAT—PT处理模块对报文处理,查找路由操作,如果路由有NAT一PT属 性,判断报文需要进行NAT一PT转换,则查找转换条目,进入到NAT—PT处 理流程,继续根据该数据包的源/目的地址等信息查找是否存在转换条目,如 果源\目的地址的转换条目都能够查找到,则直接转发,如杲查找不到且肯定 不能由上层转换条目管理模块生成转换条目,则报文丢弃。
10、 一种基于权利要求1所述异构网络系统实现网络地址转换协议转实现互访,所述IPV4虚拟专用网依次经过用户网边缘路由器CE、运营商边 缘路由器PE与IPV6公网相连接,其特征在于,包括如下步骤(a)配置PE与CE相连接口和PE与公网相连接口为支持网络地址转 换协议转换NAT PT功能接口 ; (b )在PE上配置NAT一PT地址池,将该地址池中地址配置为公网IPV6 地址,绑定接入控制列表ACL后形成动态规则,或在PE上配置虚拟路由转 发实例VRFNAT一PT静态转换规则,利用动态规则或静态转换规则,将VPN 地址生成NAT_PT路由并将其写入IPV6公网路由表;(c) 在PE上配置指定某个公网IPV6地址的静态规则,将生成的 NAT—PT路由同时导入到IPV4公网路由表中和各个IPV4 VPN的路由表中;(d) 在PE上配置公网IPV6地址进行转换的动态规则,将生成的 NAT一PT路由写入IPV4公网路由表和各个IPV4 VPN的路由表中;(e) 在PE上配置针对各个IPV4 VPN的%位长IPV6 NAT一PT前缀, 将对应的NAT—PT路由写入IPV6 7>网路由表中;(f )PE上的报文收发模块,根据收到的报文的目的地址查找路由属性, 进行NAT一PT转换处理流程,生成和查找转换条目,对报文进行NATLPT 转换后转发。
11、 如权利要求10所述的方法,其特征在于,步骤(b)中所述地址 池用于利用动态规则将VPN的主机地址转换为IPV6公网地址,所述静态转 换规则,用于将VPN网络中的特定主机地址转换为一个IPV6公网地址,所 述地址池和静态转换规则转换后的IPV6公网地址不同。
12、 如权利要求IO所述的方法,其特征在于,步骤(f)中对于从IPV4 VPN网络收到的数据包进行转发的步骤,包括(1) 查找VPN路由,如杲查找到的路由属性为NAT—PT路由,则报文 进入NAT一PT处理流程;(2) 针对目的地址,查找到目的地址转换条目,如找不到,则丢弃报文;(3) 查找源地址转换条目,如果找不到,则通过动态规则从地址池生 成转换条目,所生成的转换条目需要包括VPNID字段,如果没有得到源地 址转换条目,则报文丟弃;(4) 按得到的源/目的地址的转换条目,进行报文转换,转换成功之后, 报文转发。
13、 如权利要求12所述的方法,其特征在于,步骤(2)中的所述目 的转换条目,是由配置了的IPV6到IPV4的静态规则产生的;或是由于IPV6 网络先前访问过该VPN中的主机,通过地址池已经形成的一条转换条目; 或是通过DNS一ALG生成的转换条目。
14、 如权利要求IO所述的方法,其特征在于,步骤(f)中对于从IPV6 公网收到的数据包进行转发的步骤,包括(1) 查找公网路由,如果查找到的路由属性为NAT—PT路由,则报文 进入NAT一PT处理流程;(2) 针对目的地址查找目的地址转换条目,如果找不到转换条目,但 拥有指定前缀,通过去除前缀生成目的地址转换条目,如果最g然没能得 到目的地址转换条目,则才艮文丢弃;(3) 查找源地址转换条目,如果找不到,通过动态规则生成转换条目, 如果最终没有能够得到转换条目,报文丟弃;(4) 按得到的源/目的地址的转换条目,进行报文转换,转换成功之后, 报文转发。
15、 一种基于权利要求1所述异构网络系统实现网络地址转换协议转 换的方法,用于使IPV6虚拟专用网和IPV4公网之间协议类型不同的情况下 实现互访,所述IPV6虚拟专用网依次经过用户网边,由器CE、运营商边 缘路由器PE与IPV4公网相连接,其特征在于,包括如下步骤(a)配置PE与CE相连接口和PE与公网相连接口为支持NAT^PT功 能接口;(b )在PE上配置NAT_PT地址池,将该地址池中地址配置为公网IPV4 地址,绑定ACL后形成动态规则,或在PE上配置虚拟路由转发实例VRF NAT—PT静态转换规则,利用动态规则或静态转换规则,将IPV6VPN地址 生成NAT_PT路由并将其写入IPV4公网路由表;(c)在PE上配置指定某个公网IPV4地址的静态规则,生成NAT一PT 路由并导入到IPV6公网路由表中和各个IPV6 VPN路由表中;(d) 在PE上配置96位长的IPV6地址前缀,将对应的IPV6 NAT_PT 路由写入IPV6公网路由表和各个IPV6 VPN路由表;(e) PE上的报文转发模块根据收到的报文的目的地址查找路由属性, 进行NAT—PT转换处理流程,生成和查找转换条目,对报文进行NAT一PT 转换后转发。
16、 如权利要求15所述的方法,其特征在于,步骤(b)中所述地址 池用于利用动态规则将VPN的主机地址转换为IPV4公网地址,所述静态转 换规则,用于将VPN网络中的特定主机地址转换为一个V4公网地址,所述 地址池和静态转换规则转换后的IPV4公网地址不同。
17、 如权利要求15所述的方法,其特征在于,步骤(e)中对于从IPV6 VPN网络收到的数据包进行转发的步骤,包括(1) 查找VPN路由,如果查找到的路由属性为NAT^PT路由,则报 文进入NAT一PT处理流程;(2) 针对目的地址查找目的地址转换条目,如果找不到转换条目,但 拥有指定前缀,则通过去除前缀生成目的地址转换条目,如果最务农然没能 得到目的地址转换条目,则报文丢弃;(3) 查找源地址转换条目,如杲找不到则通过动态规则从地址池生成 转换条目,所生成的转换条目需要包括VPNID字段,如果没有得到源地址 转换条目,则报文丟弃;(4) 按得到的源/目的地址的转换条目,进行报文转换,转换成功之后, 报文转发。
18、 如权利要求15所述的方法,其特征在于,步骤(e)中对于从IPV4 公网收到的数据包进行转发的步骤,包括(1) 查找公网路由,如果查找到的路由属性为NAT一PT路由,则报文 进入NAT一PT处理流程;(2) 针对目的地址,查找到目的地址转换条目,找不到则丢弃报文;(3) 查找源地址转换条目,如果找不到,则通过动态规则从地址池生 成转换条目,如果没有得到源地址转换条目,则报文丟弃; (4)按得到的源/目的地址的转换条目,进行报文转换,转换成功之后, 进行报文转发。
19、如权利要求18所述的方法,其特征在于,步骤(2)中的所述目 的地址转换条目,是由配置了的IPV6到IPV4的静态规则产生的;或是由于 IPV6网络先前访问过该IPV4网络中的主机,通过地址池已经形成的一条转 换条目;或是通过DNS—ALG生成的转换条目。
全文摘要
本发明公开了实现网络地址转换协议转换的异构网络系统及方法,基于虚拟路由转发实例的PE-NAT_PT,VPN通过运营商边缘路由器PE链接到公网,且和公网协议类型不一样,只需对现有的MPLSVPN环境中的PE进行升级,使其支持NAT_PT,对其他设备完全透明,就可实现VPN和公网之间的网络地址转换协议转换,减少了用户的升级维护成本。本发明将VPNID字段融合到报文转换条目中,能够实现VPN用户地址和公网地址之间的地址转换。更进一步,为不同V4VPN设定不同的VPN前缀,既能够实现对来自V6公网的数据包的V6的目的地址通过前缀进行转换,也能清晰确定发往哪个V4VPN,方便了网络管理。
文档编号H04L29/06GK101150566SQ200610127258
公开日2008年3月26日 申请日期2006年9月19日 优先权日2006年9月19日
发明者轶 郑, 炜 钱 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1