著录项信息
专利名称 | 一种混合地址解决方案及其混合地址路由器 |
申请号 | CN01133260.3 | 申请日期 | 2001-09-16 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2003-03-26 | 公开/公告号 | CN1406026 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市科技园科发路华为用户服务中心大厦
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 刘庆智;张世发;林晖 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明涉及的是一种混合地址解决方案及其混合地址路由器,其目的是为了缓解IP地址资源紧张的问题;本发明采用的方式是本地网内公/私有地址完全混合使用不做地址转换,本地网的路由同时支持公/私有地址路由;网络出口采用混合地址交换路由器进行地址转换,仅对私有地址数据报文进行转换;本发明的优点在于解决了宽带接入小区/个人用户“永远在线”占用大量地址的问题;降低了对统一出口的NAT性能要求;使用私有地址的个人用户访问城域服务时,VoIP,ephone,网络会议,付费电视,视频点播等增值业务不会受到NAT的限制。
1.一种混合地址解决方法,其特征在于:公有地址和私有地址在包括城域 网或省网的本地网内完全混合使用,本地网的路由设备将公有/私有地址 同等对待,同时支持公有地址和私有地址路由;网络出口采用混合地址交 换路由器进行地址转换,仅仅对私有地址数据报文进行转换,公有地址报 文按正常路由转发。
2.根据权利要求1所述的混合地址解决方法,其特征在于小区宽带接入个 人用户采用私有地址,并在出本地网时统一做网络地址转换(NAT)。
3.根据权利要求1所述的混合地址解决方法,其特征在于所述的个人用户 需要访问网络地址转换设备不支持的省外业务时,采用隧道拨号方式获得 公有地址。
4.根据权利要求1所述的混合地址解决方法,其特征在于所述的已经采用 私有地址建立内部网的企业用户采用公有地址,并通过网络地址转换设备 或代理服务器(PROXY)接入Internet。
5.根据权利要求1所述的混合地址解决方法,其特征在于所述的本地数据 中心的服务器采用能够使本地用户和本地以外的Internet用户都能够访 问本地服务器而不受网络地址转换限制的公有地址。
6.根据权利要求1所述的混合地址解决方法,其特征在于所述的实现网络 地址转换功能的混合地址交换路由器设置在网络的汇聚层。
7.根据权利要求1所述的混合地址解决方法,其特征在于所述的实现网络 地址转换功能设备的网络层实现分布式地址转换。
8.一种混合地址交换路由器,其特征在于,包含外部接口处理模块、内部 接口处理模块、网络地址转换模块和主控模块, 所述内部接口处理模块包括一块以上内部接口处理板,内部处理模块提供 与本地网连接的接口,提供分布式路由处理,同时支持私网路由和公网路 由;
所述外部接口处理模块包括一块以上外部接口处理板,外部接口处理模块 提供与公网连接的接口,提供分布式路由处理,外部接口连接到公网,该 接口只存在公有地址,只维护公网路由信息,外部接口接收到的数据包只 做标准的路由转发,而需要做网络地址转换的包通过目的地址路由转发到 网络地址转换模块处理;
所述网络地址转换模块包括一块以上网络地址转换板,网络地址转换模提 供网络地址的转换;
所述主控模块提供控制和配置网络地址转换方式功能。
9.根据权利要求8所述的混合地址交换路由器,其特征在于当地址池中的 某个共有IP分配给一个网络地址转换板,配置所有外部接口处理板的路 由表,使得存在一项,使所有从外部接口返回的数据流的目的IP为该IP 的转发至该网络地址转换板去处理。
10.根据权利要求8所述的混合地址交换路由器,其特征在于所述的内部 接口模块提供配置接口,并能够根据配置识别需要做网络地址转换的包或 不需要做网络地址转换的包,对于不需要做网络地址转换的包无需做网络 地址转换处理。
11.根据权利要求8所述的混合地址交换路由器,其特征在于增加网络地 址转换板间的均衡,使网络地址转换流量均匀地在各网络地址转换板之间 分配,分担网络地址转换的负荷。
12.根据权利要求10所述的混合地址交换路由器,其特征在于将网络地址 转换转化相同的流在一块网络地址转换板中处理,同时使流量在各网络地 址转换板间均匀。
13.根据权利要求10所述的混合地址交换路由器,其特征在于使用单臂的 网络地址转换板实现网络地址转换分布在每个出口板处理的情况下网络 地址转换表项同步的问题,外部接口只做路由转换。
技术领域:\n本发明涉及的是一种缓解IP地址不足的解决方案,具体地讲,本发明涉及的是一 种混合地址解决方案及其混合地址路由器。\n背景技术:\n现有技术提出的几种城域网解决方案包括:\n1.城域网内完全使用公网地址;2.城域网内完全使用私网地址,在城域网出口或省网出 口统一做网络地址转换(NAT);3.对城域网内IP地址消耗最多的小区或区域的出口处做 NAT,城域网骨干和企业等其他地方统一使用公网地址。对于拨号用户,在VPN网关动态 分配共有地址。\n上述方案1是基于IP地址足够的情况;在城域网规划中,在公有地址有保证的情况 下,尽量使用公有地址。\n在上述方案2中,由于NAT设备的位置比较高,放在城域或省网的出口,在出口处 统一做大规模的NAT转换,这种情况下,对NAT设备的性能要求比较高,否则将成为瓶 颈,见附图1所示,城域网内所有IP地址均需要做地址转换,包括分配给企业的和个人 的。\n方案3所采用的NAT设备的位置很低,放在小区的出口,具体可见附图2所示,可 以集成在小区的出口设备路由器或L3中;在小区出口,用户数目不会很多,对NAT性能 要求不是很高;通过这种方式可以去掉了城域网中最消耗IP地址的部分,城域网内的骨 干和企业用户以及VPN拨号用户则分配共有地址。\n但是,上述几种方案存在如下的缺陷:\n方案1是使用公有地址,在公有地址充分的前提下,当然是最好的。\n但是,随着网络宽带的发展,窄带拨号用户逐渐被宽带用户取代,目前全球广泛应用 的IP地址是基于IP协议的版本4也就是具有32位地址空间的IPv4,虽然它的理论空间 有42亿个,考虑到已经投入使用的和所存在的浪费,Internet的用户数量很快就要突 破这个极限,因此,如何缓解IP地址资源紧张是一个迫切需要解决的问题。另一方面, “永远在线”的宽带Internet接入所消耗的IP地址远远比拨号动态分配IP地址多得多; 在宽带城域网的建设中,以太网成为非常受欢迎接入方式,适合于密度集中的小区,但 由于以太网接入的主机需要长期占用IP地址,这样,任何一个中等以上城市,当宽带以 太网接入用户数量发展到几十万上百万时,Ipv4的地址资源必定无法满足需求。\n采用128位地址空间的IPv6在理论上可以支持2128个IP地址,从而根本上解决IP 地址紧张问题,但从IPv4到IPv6的在线切换在目前看来几乎是不可能的,这种切换如 同对正在飞行中的飞机更换发动机一样难。\n现有技术缓解IP地址资源不足的状况包括以下几种:\n传统的IP单播地址分为A、B、C三类,IP地址分类导致IP地址的浪费;在现有技术中 采用无分类地址路由(CIDR)方案和变长子网掩码(VISM)技术能缓解IP地址资源不足; 其中,CIDR能降低IP地址的浪费,但没有从根本上解决IP地址资源不足的问题。\n动态IP地址分配的方法;通过PPP方式和DHCP方式可以将IP地址动态分配给当 前需要上网的用户,这样可以提高IP地址的利用率,但无法解决“永久在线”的需求。\n综上所述,由于IP地址的缺乏,现在的宽带IP城域网建设无法像原来的“163” 一样全部用公网IP地址,在宽带IP城域网的建设中不可避免的要使用私网IP地址,现 有技术中有两种实现私网地址转换的方式:通过代理服务器或经过NAT设备。\n代理服务器是通过PROXY协议工作的,工作在应用层,所以处理性能很差,同时成 本较高,高层应用支持性能有限,无法在城域网这种大网上使用。\nNAT,又称地址代理,用来实现私有网络地址与公有网络地址之间的转换,私有内部 网络采用私有地址,在内部网络出口处采用具有NAT功能的设备实现地址转换,与代理 服务器相似,在这种方式中,仅仅是NAT设备需要占用公有地址,这种方式大幅度减少 了对公有地址的占用,同时NAT在网络中具有透明性,与用户设备无关。 上述的方案2和方案3中由于NAT自身的特点使得这种应用有一定的局限性。以下是NAT 技术在公共运营Internet中应用的问题分析。\n1.应用层网关问题\n并不是所有应用都能顺利通过NAT设备,很多应用象FTP、ICQ、H.323、MGCP等通过控 制信道来协商数据通道IP地址和端口号,它们把协商的数据通道的IP地址和端口号放 在数据包通过其控制信道传送。因此必须跟踪这些控制通道中传送的报文,转换数据包 里面所携带的IP地址和端口号的信息,实现上述功能的就是应用层网关(ALG)。 目前常见的宽带多媒体业务:如VoIP,Ethernet,网络会议,付费电视,视频点播等等业务 都是无法直接通过NAT的,而必须通过ALG才能实现地址转换。ALG需要实现复杂的应 用层协议,并且要求支持较多的应用层协议实例,因此ALG可能成为网络性能的瓶颈。\n2.内部提供对外服务问题 由于内部地址的私有性,外部网的主机无法直接发起对内部网主机的访问,因为外部网 无法对私有目的地址IP包进行路由转发,因此在内部网中无法设立对外服务的网站。 通过NAT设备实现内部服务器地址到公有地址的静态捆绑,可以实现双向NAT使外部主 机可以访问内部网的服务器。但这样做存在两个缺点:一是由于服务器地址与共有地址 静态捆绑,并没有减少共有地址占有;二是许多高层应用受到NAT的限制,对NAT设备 性能要求较高。\n3.NAT性能问题\n当NAT设备处于城域网或省网的出口处时,要求NAT设备具有较高的性能。主要体 现在三方面的性能参数:吞吐率、同时维持的流数量、流的拆建速率。城域网或省网出 口要求达到2.5G,同时维持的流要求达到100万以上,流的拆建速率要求达到10万/秒。 如此高的性能要求是目前常见的防火墙设备无法实现的。如果NAT的性能不能满足需求, 用户上网的性能将受到很大的影响。\n如果NAT处于小区网络的出口位置,由于许多宽带增值业务无法直接通过NAT,而需要 通过应用层网关来实现地址转换。由于应用层协议无法通过高速硬件实现,因此应用层 网关将是增值业务性能的严重瓶颈,甚至使宽带增值业务无法开展,使宽带城域网丧失 宽带的特性。\n4、企业用户上网经过多次NAT问题\n如果整个城域网采用私有地址,则对城域内的企业也只能分配私有地址,一般来说 企业内部有自己的采用私有地址Intranet地址规划,城域网地址规划应该不影响企业内 部网络的地址规划,因此企业一般会通过NAT设备接入到城域网,而城域网必须通过NAT 设备才能接入Internet,这样导致企业员工上网要经过两次NAT,降低网络性能。\n综上所述,上述第二种方案中,所有的流均需要做NAT转换,但由于ALG,将导致 瓶颈的存在,对NAT的性能要求较高;同时本地提供对外的服务网站较困难;企业上网 要经过两次NAT等。上述第三种方案中,小区用户访问城域服务需要通过NAT,影响宽 带增值业务的开展,使宽带网丧失宽带的优势;需要较多的NAT设备,成本较高,维护 较困难。\nNAT设备在城域网中实现公网地址和私网地址的转换,其位置和混合地址的组网方 案有关,同时也需要解决由于NAT带来的问题。\n综上所述,由于IP地址资源日益紧张,在宽带城域网建设中可申请到IP地址十分 有限,在这种情况下宽带城域网/省网建设中使用了大量的私有地址,是公有地址和私有 地址的混合网,在这种混合地址的组网方式下,目前现有的NAT设备不能提供很好的支 持,针对这个问题,本发明的研究人员提出了混合地址解决方案,并推出混合地址交换 路由器(Coexistent Address Switch Router,CASR)满足采用混合地址解决方案的建 网需求。\n发明内容:\n本发明的主要目的是提供一种公/私网IP地址的混合地址解决方案。\n本发明的另一个目的在于提供一种用于混合地址解决方案的混合地址路由器。\n本发明可以通过如下方式得以解决:本地网(城域网或省网)内公有地址和私有地 址完全混合使用,内部公有地址和私有地址之间不做地址转换,本地网的路由设备不区 分公有/私有地址,同时支持公有地址和私有地址路由;网络出口采用混合地址交换路由 器进行地址转换,仅仅对私有地址数据报文进行转换,公有地址报文正常路由转发;本 地数据中心的服务器分配公有地址,保证本地用户和本地以外的Internet用户都能够访 问本地服务器,而不受NAT的限制。\n本发明同时还提供了一种混合地址交换路由器(CASR),由主控板、网板和业务板 组成;内部接口和外部接口为业务板,业务板提供分布式路由处理能力,实现硬件路由 查找和转发;在现有的平台上,至少增加一块负责处理公私网间的地址转换并实现ALG 功能的NAT模块;内部接口是与本地网连接的接口,是混合地址空间,需要同时支持私 网路由和公网路由。\n本发明所显现的优点如下:\n1.能够实现混合公网/私网地址情况下的NAT,一般防火墙不能实现。\n2.可以在不对现有的平台(例如是深圳华为公司所开发的8750/8850平台)做任何 改变的情况下增加NAT模块即可,并且每个NAY模块实现规格要求不会太高。\n3.混合地址的方式消耗掉了大量的本地业务和共有地址的业务,使统一出口的NAT 性能要求可以适当降低。\n4.解决宽带接入小区/个人用户″永远在线″占用大量地址问题,缓解地址资源不够 的压力。\n5.用私有地址的个人用户访问城域服务,不需要经过NAT,因此在城域范围内: VoIP,Ephone,网络会议,付费电视,视频点播等增值业务不会受到NAT的限制。\n6.城域内服务器使用公网地址,可以提供对外部internet的服务,也不受到NAT 的限制,无需双DNS&DNS-ALG方案。\n7.企业用户上网不需要通过两次NAT,企业同出口一般采用proxy实现地址转换, 城域出口对已经做了地址转换的报文不再做转换处理。\n8.对于本地小运营商可以统一分配IP地址,而不需要自己考虑NAT。\n9.采用混合地址交换路由器实现地址转换,可以配置的转换策略,控制灵活。仅对 部分报文进行转换,性能较高。\n10.CASR设备的位置与第二种NAT设备的位置一样,在本地网出口,位置比较高, 对性能一样有较高要求;CASR通过NAT模块阵列将NAT处理分散到各个模块去从而提升 整体性能。\n附图说明:\n通过附图说明并结合以后的详细描述,可以清楚地更加理解本发明,在附图中:\n图1是本发明所述的现有技术对第二种城域网解决方案的示意图;\n图2是本发明所述的现有技术对第三种城域网解决方案的部分方案的示意图;\n图3是本发明所述的混合地址解决方案的实施例之一的简略示意图;\n图4是本发明所述的混合地址解决方案的实施例之二的简略示意图;\n图5是本发明的混合地址路由器的简略示意图;\n图6是按照本发明一个实施例的IP转发处理原理框图;\n图7是业务板的模块结构框图;\n图8是路由处理的原理框图;\n图9是增加NAT处理后的三层转发处理流程图;\n图10是本发明为NAT板单独开发的业务处理板的结构图;\n图11是NAT部分转发流程框图;\n图12表示NAT处理的流程图:\n图13表示软件处理和配置维护的示意图。\n最佳实施方式:\n为了清楚地定义本发明的部分词汇以便正确界定本发明和现有技术之间的区别,在 本发明中,下列的词的定义、含义、缩写如下:\nIP:internet protocol 网际协议,目前使用IPv4;\nVPN:virtual private network 虚拟私网;\nNAT:network address translate 网络地址转换;\nNAPT:network address port translate 网络端口地址转换;\nALG:application 1evel gateway 应用层网关;\nCASR:Coexistent Address Switch Router 混合地址交换路由器;\n私有地址和公有地址(Private Address and Public Address):\n私有地址是指内部网络地址,它通常只对内部网络有效,公网地址是指通过因特网 地址管理组织分配的全球唯一地址。在私有网络中可以使用公网已经分配的地址,但因 特网地址分配组织规定以下三个网络地址保留用作私有地址:\n10.0.0.0~10.255.255.255\n172.16.0.0~172.31.255.255\n192.168.0.0~192.168.255.255\n这三个网络的地址将不在因特网上分配,可以在一个企业内部使用。各个企业可以 依据其自己的网络规模,选择一个合适的网络地址,其中10.0.0.0/8是一个A类的地址, 172.16.0.0/12具有16个B类地址,192.168.0.0/24具有256个C类地址。不同的企业可以 选择相同的网络地址,但如果选择非上述的网段的网络地址,可能引起路由表的混乱。 因为选择上述网段,只要内部网络地址不向外扩散,仍可以接收公网的路由,因为内部 网络和公网混在一起时仍是唯一的。\n会话流和包级流:\nNAT可以是基于会话或连接的,TCP/UDP会话可以由源IP地址、源端口号、目的IP地 址和目的端口号来标识。ICMP查询会话可以由源IP地址、目的IP地址和ICMP查询号来标 识。其它可以由源IP、目的IP和协议类型来标识。\n会话的起始(START OF SESSION):\n对于TCP,可以通过TCP头中的FLAG标志来识别,第一个包SYN置位而ACK未置位,其 它包ACK肯定置位,与TCP不同,UDP是无连接的,因此只能通过是否存在相应的表项来判 断会话的开始。\n会话的结束(END OF SESSION):\nTCP在会话结束时往往两边都会发送FIN确认后或单边发出RST后,但不能因为收到 FIN包就认为会话结束,因为这个包可能会在传送过程中丢失,需要重传,所以一般认为 检测到之后的4分钟认为会话结束。当然会话也有可能在NAT设备不可预知的情况下中断, 如主机重启,NAT需要清除这些无用的连接,但NAT设备无法区分这些清闲的连接是否应 该清除,对UDP来说,更是无法区分会话是否结束。终结一次NAT影射的方法如下:可以 采用老化的方法,对一段时间未用的表项,认为会话结束,对TCP,可以认为几个小时, 对UDP,可以是几分钟。\n应用层网关(ALG):\n并不是所有应用都能顺利通过ONAT设备,很多应用象FTP、ICQ、H.323、MGCP等通过 控制信道来协商数据通道IP地址和端口号,它们把协商的数据通道的IP地址和端口号放 在数据包通过其控制信道传送。因此必须跟踪这些控制通道中传送的报文,转换数据包 里面所携带的IP地址和端口号的信息,实现上述功能的就是ALG。\n地址池(Address Pool):\n当进行地址转换,可以进行IP地址转换(NAT)也可以按照端口号转换(NAPT)。 按照IP地址转换将导致同时供转换使用的IP地址过少,不能满足需要,所以现在一般 都采用端口号转换方式。由于端口号范围的限制,最多只有64K,一个公有地址往往不 够用,因此引入地址池的概念。地址池一般是由一组连续的公有地址组成,这组地址的 集合称为地址池。当内部网络访问外部网络时,在地址池中选择一个外部地址替代IP包 中的源地址,在进行NAPT时,还涉及到端口号的替换,这样可以大大提高内部网络访 问外部网络的能力。\n由于本发明所述的各种方案均是基于NAT实现的,所以下面先简单介绍一下NAT: 地址转换分两种类型,即:①基本地址转换(NAT)②网络地址一端口号转换(NAPT)。\n①基本地址转换是:给某个内部网分配一定数量的公有地址,但地址数量少于内部 网的主机数量,内部网采用私有地址,当某台主机需要与外部通信时,由NAT设备把其 内部网地址动态映射到一个公网合法IP地址上。能够同时与外部通信的主机数目取决于 这组公网IP地址的数目。\n②网络地址一端口号转换:实现(内部私有地址,端口号)到(外部公有地址,端 口号)之间的映射。由于TCP/UDP的端口号是16比特长度,具有64K的编码空间,但一 台计算机同时使用的端口号数量一般比较少,因此一个公有地址的端口号空间就可以映 射到许多内部私有地址和端口号,实现地址数量的扩展。 在企业Intranet中,NAT技术得到广泛成功应用。在90年代中期微型计算机广泛采用 TCR/IP联网时,NAT和代理服务器技术使Ipv4躲避过第一次地址空间不够的危机,甚至 使人们怀疑IPv6的必要性。但是由于NAT和代理技术在公共运营性Internet中存在许 多问题,在Internet运营化的今天,简单的NAT技术已经不能满足需求,这是由于NAT 的思想是一种“补丁”方案,很多应用都不能直接通过NAT,需要应用层网关(ALG)的 支持,如FTP、ICQ/OICQ、VoIP(包括H.323、MGCP、H.248等)、SNMP、DNS等等。这些 应用的特征包括:需要直接的端到端的会话、在应用层数据中传递了IP地址/端口号等。 为了克服现有技术存在的上述缺陷,本发明的研究人员提出了混合地址解决方案,并推 出混合地址交换路由器(CASR)以满足采用混合地址解决方案的建网需求。\n本发明所述的混合地址解决方案的原理如下:\n1、本地网(城域网或省网)内公有地址和私有地址完全混合使用,内部公有地址 和私有地址之间不做地址转换,本地网的路由设备不区分公有/私有地址,同时支持公有 地址和私有地址路由;网络出口采用混合地址交换路由器进行地址转换,仅仅对私有地 址数据报文进行转换,公有地址报文正常路由转发。\n2、骨干和内容网络占用的地址有限,但数据量却最大,使用公有地址可极大减少 NAT的工作量。\n3、小区宽带接入个人用户通常分配私有地址,在出本地网时统一做NAT,如个别 用户特殊需要,需要访问NAT设备不支持的省外业务时,也可以通过隧道拨号方式获得 公有地址。\n4、企业用户分配公有地址,企业内部一般已经采用私有地址建立内部网,并通过 NAT设备或代理服务器(PROXY)接入Internet。给企业分配公有地址可以不影响企业的 地址规划。企业用户数目较少,但数量较大,通过分配共有地址可以减少NAT设备的工 作量。企业用户也会提供服务器功能,如企业主页和VPN隧道等,分配共有地址可以不 受NAT限制。\n5、本地数据中心的服务器分配公有地址,保证本地用户和本地以外的Internet用 户都能够访问本地服务器,而不受NAT的限制。\n6、对于较大的城市或地区,实现NAT功能的混合地址交换路由器可以在网络的汇 聚层,通过降低实现NAT功能的设备的网络层,实现分布式地址转换,可以提高地址转 换的性能。整个地区的私有地址还是统一编址,混合地址交换路由器根据配置的策略, 对数据报文进行有选择地址转换,保证NAT不破坏本地网的整体性。\n以下是对本发明的混合地址交换路由器(CASR)的实施方案的描述。\n本发明的混合地址交换路由器具有以下功能:\n1.根据策略有选择地进行地址转换;\n2.具有自动负荷分担功能,保证需要做地址转换的数据流分布均匀;\n3.支持FTP、SMTP、H.323、ICQ等多种应用层网关;\n4.支持多局向地址转换;\n如附图5所示的本发明的混合地址交换路由器由主控板、网板和业务板组成,业务 板提供业务接口,可以接快速以太网、千兆以太网以及POS、ATM等,如图5所示,内部 接口和外部接口为业务板,业务板提供分布式路由处理能力,实现硬件路由查找和转发。 基于本发明的平台,增加一块或若干块NAT模块,NAT模块负责处理公私网间的地址转 换,实现ALG等功能。\n内部接口是与本地网连接的接口,是混合地址空间,需要同时支持私网路由和公网 路由。外部接口连接到ISP/NAP,可以连接到省网或国家网骨干上。该接口只存在公有 地址,只维护公网路由信息。\n内部接口配置若干策略,根据策略识别需要做NAT的包,并直接转发到于本地网的, 同时源IP为私有IP的数据流需要做NAT。其他数据流如源IP为公网IP的或者在内部 接口间路由的数据流则不做NAT处理。\n精确控制策略的配置,增加NAT模块间均衡的功能,可以使NAT流量均匀的在各NAT 模块之间分配,实现NAT的负荷分担,可以降低单块NAT模块的性能要求和实现难度。 与路由的负荷分担类似,NAT板的均衡策略可以基于源IP、目的IP,也可以是更为精细 的流分类。分配的策略应该使NAT转化相同的流在一块NAT模块处理,同时使流量在各 NAT模块间尽量均匀。\n内部接口不需要做NAT的出口报文直接路由转发到相应的出口板。\n外部接口接收到的数据包只做标准的路由转发,需要做NAT的包通过目的地址路由 转发到相应的NAT模块处理。可以的方式是,当地址池中的某个共有IP分配给一个NAT 模块,那么配置所有出口板的路由表,使得存在一项,使所有从外部接口返回的数据流 的目的IP为该IP的转发至该NAT模块去处理。\n由于负荷分担分布式处理,每个NAT模块负但较小,可以有足够的处理能力来实现 更多的ALG,保证内部私网地址用户能够访问到更多的外部服务。\n以下参照图6-13来解释本发明的一个实施例。\n图6是IP转发处理的原理框图,如图6所示,PHY模块实现TCP/IP物理层的功能, 例如对于以太网主要是完成IEEE 802.3标准所要求的内容。目前国外做PHY的厂家很 多,例如有BROADCOM、MARVELL等。二层处理模块主要是TCP/IP的链路层,对 于以太网其基本功能是实现IEEE 802.3标准所要求的MAC功能,同时还需要实现二层 LANSWITCH的功能,完成MAC包的接收转发,对于需要三层处理的IP包则剥离MAC 层后转交三层处理。由于这部分属于现有技术中公知的内容,本文不做进一步的解释。\n三层转发、流分类、MPLS、VPN、ACL模块完成TCP/IP的三层及三层以上功能。 三层转发部分主要完成路由查找和IP包路由功能;流分类主要根据流规则表完成不同流 的区分,以方便不同流提供不同QOS保证;MPLS部分完成IP路由到MPLS FEC映射, 实现MPLS转发;VPN(虚拟私网)部分实现IP隧道功能(如VPRN);ACL(访问控 制列表)部分实现不同用户的接入控制。\nCAR调度模块完成流量监控的功能,丢弃不合法流量;队列调度模块实现不同优 先级队列之间的输出调度,队列调度算法有SP、WRR等,是QOS的一部分;下行调度 模块完成的功能与其类似。\n交换结构即整个设备的交换网,完成包的无丢弃交换。\n下行封装模块主要负责完成二层包封装,如三层IP报文通过查找ARP表或二层邻 接表完成报文的二层封装,然后送到相应的PHY做转发。\nNAT转发流程主要涉及业务板和NAT处理模块。业务板完成业务的接入和转发处 理和其他功能。NAT模块完成NAT转换以及和ALG配合的特殊报文的处理。\n图7是业务板的模块结构框图。如图7所示,PHY模块和高速三层转发处理模块 (包括二层部分)与图6中相同。ATM物理层与三层转发模块用UTOPIA II接口相接, 后面的ATM物理层和ATM处理模块主要完成ATM物理层和ATM层的功能,实现SAR 的功能和ATM信元的处理,实现基于ATM的流量整形和队列调度等;高速接口完成数 据在高速背板的串并转换,缓存处理部分用于缓存ATM模块到高速接口模块的包;本板 CPU系统完成对本板各模块的控制、初始化、功能配置和相关ATM、IP的协议处理等。\n图8是路由处理的原理框图。在图8中,1是CPU中的软件部分,2是其硬件部分; 黑线3表示控制流程,箭头4代表硬件包转发流程;FIB库5是软件维护的路由转发表, FIB库6是硬件存储器中的路由转发表;路由搜索引擎7用于实现路由表的查找算法; 查找表8用于获得FIB表项的索引;查找管理维护9的作用是保持软硬件的一致性。 增加NAT处理后的三层转发处理流程如图9所示。\n首先看上行处理,经过二层判断需要三层处理的数据包进入三层模块做IP报头检 查,只有通过合法性检查的报文做进一步处理;接着识别该报文是否需要做NAT,首先 需要区分该单板是内部接口还是外部接口,有不同的处理,对于内部接口,根据源、目 的IP识别是否为需要做NAT,对于源地址为私网范围地址、目的地址为公网范围地址的 数据包做NAT处理,其他报文做正常IP路由查找。对不需要做NAT的报文,查找FIB 表获得出口信息、下行邻接信息以及COS等信息后送往调度模块交换到交换网。如果查 找不到,如果有缺省路由则走缺省路由,否则丢弃报文并产生目的不可达ICMP报文。 对于需要做NAT处理的报文,则继续根据源IP地址做HASH计算(可以是简单的折叠 异或)获得索引来线形查找NAT分担表,从分担表得到由哪一块NAT模块执行NAT转 换和相关转发信息,并送往调度模块通过交换网交换到该NAT模块做进一步处理,这样 处理使各个NAT模块处理板负责各自一段私网的地址范围,当然可以使用其他的分配策 略,如再增加目的地址等。对于外部接口,IP报文均需查找路由表,但路由表项分为两 种,一种为正常路由转发表项,另一种为NAT公网地址,对于这种表项配置出接口信息 为去相应的NAT模块(后面的软件配置将讲到),这样私网地址主机发起的从公网返回 的IP报文其目的IP地址为NAT公网地址,查找FIB表获得相应的能够识别该报文的NAT 模块的转发信息,通过交换网交换到该NAT模块。三层路由处理还要完成基本的TTL 减一、CHECKSUM重计算等工作。\n业务板下行处理负责完成从入接口板来的或者经过NAT转换后的IP报文下行封装 工作,主要是根据下行邻接索引查找邻接表。\n本发明为NAT板单独开发的业务处理板的结构如图10所示。图中虚线部分为出接 口,如千兆以太网口等,在业务量较小和只有一个出接口时,单块NAT板完成NAT模 块的功能和出接口业务板的功能;或者在另外情况,主从框等情况下使用,这里不做描 述。在没有GE接口时NAT板为单臂处理板,其中NAT处理模块完成NAT转换。主要 部分功能描述如下,交换网功能模块主要完成NAT转发模块到交换网的适配;NAT转发 模块实现线速的数据包的NAT查找和转换,目前可以基于网络处理器实现;高性能的CPU 不仅需要完成本板配置以及和主控通信的功能,还需要完成NAT配置软件客户端功能, 接收主控的NAT服务端对NAT模块的配置,实现相关的ALG处理、NAT转发模块表项 的维护和第一个报文的处理、端口的分配以及一些相关的IP协议栈的处理等功能,性能 要求较高。\n如图10所示,外部接口模块(GE)主要提供对外的接口,根据NAT转发模块的 性能,可以考虑提供千兆以太网接口或622的POS接口,也可以是2.5G的POS接口 等。\nNAT转发模块完成该板的主要功能即包的NAT转换。硬件查找NAT转换表实现 包的转换,对于特殊的控制报文(如TCP控制流等)则交CPU处理。存储单元用于包 的缓存和表项的存储。\n交换网互通功能模块用于实现NAT转换模块和交换网的接口,主要是包的格式转 换等。\n高速接口完成数据的串并/并串转换等,支持高速背板。 其他控制电路包括CPU系统、时钟电路、电源等,CPU完成本板的初始化、配置、维护 和高层协议的支持,特别是对NAT的软件处理,如下配表项,删除表项、特殊ALG实 现等;时钟电路为本板各模块提供时钟。\nNAT部分转发流程框图如图11所示,图11中顶上的矩形部分21为CPU中软件部 分,下面的矩形部分22为硬件部分;垂直箭头表示控制流程,水平箭头表示硬件包转发 流程;NAT地址端口池23表示未分配的IP地址和未分配的端口号的集合,当一个新流 需要做NAT转换时则从地址端口池23中取一个未分配的端口号给该流,当一个IP地址 的端口号分配完时则下一次分配从一个新的IP地址开始,同时从该IP地址的端口号开 始分配;快速查找算法24用于快速的索引NAT映射表25;NAT映射表放在硬件部分, 实现快速NAT转换;NAT转换模块26根据查表后获得的信息对包做转换,如部分字段 的更改、CHECKSUM的重计算等;NAT映射表管理维护模块27主要负责对NAT映射 表的维护,表项的成生和老化等;ALG(应用层网关)28用于对特殊控制流报文的NAT 转换,基于应用层,由于硬件不好实现,放在软件部分完成。\n在图11中,对于UDP、TCP数据流通过快速查找NAT映射表完成地址转换。一个 数据流可以根据五元组(源目的IP地址、源目的端口号、协议类型),查找可以根据IP 五元组做HASH计算获得表项的索引。表项的建立是基于流驱动模型的,对于数据流的 第一个报文送给NAT处理模块,NAT处理模块识别报文,从NAT地址池分配一个地址 端口给该数据流,并配置到相应的表项中。NAT处理模块还识别特殊应用层协议的控制 流,送给相应的ALG做处理。\n处理流程图如图12所示。首先,送到NAT转发模块的报文根据五元组HASH计算 其索引查找NAT映射表,如果命中则直接获得转换后的地址端口并做相应的转换,最后 还需要重新做CHECKSUM的计算;如果未命中则表示为该流的第一个报文,送到本板 CPU处理,软件根据报文类型识别为特殊端口的控制报文还是数据报文,如果是数据报 文,则表示该报文是数据流的第一个包,NAT处理模块分配地址端口并配置到NAT映射 表中同时转发该报文。,对于特殊控制报文如FTP控制报文等需要ALG辅助处理的报文 送到相应的ALG模块处理后转发。ALG处理模块和NAT处理模块主要由本板CPU完 成。\n软件处理和配置维护可参见图13。图13中各部分功能如下。主控板NAT config master 负责对各个单板NAT配置(配置接口板、NAT处理模块单板)、维护,地址池的分配, 将相关的IP地址池分配给NAT处理板,将出接口板和NAT处理板绑定等等。NAT config agent位于各个接口板和NAT处理板,负责接收master的配置及查询命令。NAT转发处 理负责表项的查找和NAT转换,对大部分数据报文在此完成NAT的转换,这部分功能 在网络处理器内完成;无法完成的特殊控制报文或者是数据包的第一个报文则通过CPU 接口送到软件处理。NAT process完成对送上来的报文分类和识别,分配端口号,生成硬 件表项并转发数据包,NAT process识别特殊端口的报文送到相应的ALG模块处理。ALG 模块完成NAT的替换,如FTP控制报文,则识别PORT等协商数据报文端口号信息的报 文,同时修改净荷内的端口信息,产生相应的NAT映射并配置该数据报文的NAT信息到 硬件NAT映射表中,以便从FTP服务器来的数据报文可以通过NAT到达客户端。 NAT映射表项的配置和删除:\n当软件收到IP数据报文后,判断是否为特殊端口的控制报文,不是则判断该报文 是从私网发起还是从公网发起的,丢弃从公网发起的报文,从私网发起的则为普通数据 报文的第一个包,软件从空闲地址端口池中分配一个地址端口给该数据流,做NAT转换 并完成软件转发;同时配置NAT映射表,映射表需要配置两个表,称为正向NAT表和反 向NAT表,正向NAT即私网侧往公网侧的数据流,需要配置成对源地址端口做转换;反 向NAT即公网侧往私网侧的数据流,需要配置成对目的地址端口做转换。对于特殊端口 的报文则送到ALG模块,ALG模块在转发处理该数据流的同时,还要根据各自应用层协 议的特点判断是否需要协商生成其他TCP或UDP数据流,需要则根据协商结果配置相应 表项到NAT映射表,表项配置方式同上。软件也支持静态配置。\nNAT映射表是由软件维护的,NAT表项的刷新是通过老化定时器来实现的。由于正 向NAT表和反向NAT表中的元素是一一对应关系,因此正向NAT表刷新的同时可以实现 对反向NAT表的刷新。软件启动一个老化定时器,老化定时器超时时间为T,在NAT表 中的时间戳项设成N*T,可以根据会话的不同N的取值不一样,如UDP会话和TCP会话N 取值不一样。老化超时后,开始遍历正向NAT表。遍历正向NAT表获得表项的时间戳。 对于时间戳已经为0的表项,表示表项已经无效,需要释放相应的空间,将该表项置为 无效。软件同时将根据正向NAT表中对应的目的地址,找出对应的反向NAT表项并清除。 对时间戳不为0的表项将其值减T,并刷新正向NAT的表项的时间戳,不做清除。在正 常的数据转发进行NAT处理时,每收到一个连接的包,就需要对NAT表中的时间戳进行 处理。如果时间戳值不为N*T且不为0,将其置成N*T(对不同性质的会话,如TCP或UDP N取值不同)。对于TCP连接,N*T可以设置为4分钟。由于反向HASH表项的存在是依赖 于正向HASH表项的,所以可以只在正向NAT表设置时间戳即可。
法律信息
- 2017-02-22
未缴年费专利权终止
IPC(主分类): H04L 12/28
专利号: ZL 01133260.3
申请日: 2001.09.16
授权公告日: 2005.03.09
- 2016-09-21
文件的公告送达
文件的公告送达失败
收件人: 华为技术有限公司
文件名称: 专利权终止通知书
- 2016-02-10
文件的公告送达
文件的公告送达失败
收件人: 华为技术有限公司
文件名称: 缴费通知书
- 2005-03-09
- 2003-03-26
- 2002-03-13
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |