- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
深度分析IPv6与NAT 地址短缺终极解决方案
近年来基于IPv4协议的因特网得到了蓬勃发展。无论是网络覆盖的范围与网络容量,还是网民数量与业务类型都在飞速增长。计算机网络、电信网络和有线电视网三网正在走向融合的基于IP技术的下一代网络(NGN)。在IP技术得到历史、现在和未来网络建设者青睐和追棒的同时,必须清醒地认识到IPv4技术本身还存在诸多不完善的地方。服务质量(QoS)、安全性以及地址短缺等问题是IPv4网络目前所面临的一些关键问题,这些可能"致命"的缺点正在阻碍着IP技术和业务的进一步普及和应用。本文讨论地址短缺问题的解决方案,目前大致有两类:
(1)"开源",即使用地址长度更大的下一代IP协议——IPv6,这是一种中长期的解决方案;
(2)"节流",即尽量提高对现有IPv4地址资源的利用率,比如使用私有复用加各种网络地址(端口)翻译的技术,是一些中短期解决方案。
2 提高地址利用率
这里首先介绍"节流"技术。目前已经提出了的或者已经使用的提高IPv4地址利用率的方法有:
*地址回收:IP标准化组织因特网工程任务组(IETF)已发出号召,希望那些早年分配得到了"过量"地址的机构和组织,能够归还他们不大可能用得上的地址资源,但目前看来收效甚微。
*更严格的地址分配策略:以前因特网地址名字分配(IANA)机构的地址分配策略是按照"预期最大规模"分配地址中间,而现在为了降低IP地址的分配速率,已经将策略改成了"目前需要规模"。
*无类域间路由(CIDR):随着B类地址接近耗尽,利用CIDR技术,打破地址类型(如A类、B类和C类)的划分,采用多个连续C类地址做聚合进行分配。CIDR技术的采用使得Internet路由表的增长速度近年来有所减缓。
*拨号接入:用户拨号接入时,利用点到点协议(PPP)和动态主机配置协议(DHCP)为其按需动态分配IP地址,实现地址复用。
*可变长子网掩码(VLSM):通过把一个企业的企业网(Intranet)划分成不同规模的子网,提高地址空间的利用率。
*私有地址加网络地址翻译:在企业网内使用"私有"的IP地址,不同企业网之间的地址可以重用。当在私有地址网络中的用户与Internet通信时,二者之间必须做网络地址翻译,因为企业网所使用的编址与Internet的编址不在一个统一的地址空间内。IETF规定的私有地址的范围为10/8,172.16/12,192.168/16三段(RFC 1918)。这是目前使用最多的,也是效率最高的一种解决地址短缺的问题的方法。当然企业只所以选择使用RFC 1918规定的私有地址,有时也不仅仅是因为地址复用的原因,还有安全,控制等其它方面的考虑。
3 NAT存在的问题
当企业网使用私有IPv4编址时,与Internet的编址(公有IPv4)不在一个统一的地址空间内。因此,当这些网络中的设备与Internet通信时,就必须在网络的边界处进行地址翻译,典型的翻译技术包括网络地址翻译(NAT)和网络地址端口翻译(NAPT)两类,以下统称为NAT。"节流技术"NAT存在的主要技术限制有[RFC 2993]:
*当企业网与其它网络通信时,NAT会影响网络性能,降低网络吞吐量。
*破坏了原来的Internet端到端的设计理念(端到端的透明性),只适用于客户/服务器模型的应用,不适用于Peer-to-Peer(P2P)的应用模型。如在这种模型下,PUSH业务的推广就很受限制。
*在维护连接状态和动态映射信息的设备中,有可能会产生单点故障。
*使得增加企业网站点与Internet连接可靠性的多宿主(Multi-home)技术更加复杂。
*阻碍了在网络层提供安全服务。
*当企业网需要与其它专用网络融合时,可能会出现地址冲突(重叠)问题。
*NAPT和特定域IP(Realm Specific ip,rsip)增加了运营的复杂性。
*使得版本3的简单网络管理协议(SNMPv3)的认证机制更为复杂和甚至无效。
*很多高层应用协议与之不兼容[RFC 3027]。比如有些应用(IPSec,Kerberos/5等)无法穿越NAT,而有些(如FTP,H.323,SIP,SMTP,RSVP,DNS,SNMP等)则需要借助应用层网关(ALG)才能够实现。而当借助ALG枝术时,每出现一种新应用就必须在NAT上考虑增加对该应用的支持,违反了IP技术独立于高层应用的思想。
4 IPv6争议
这里介绍"开源"技术。虽然IPv4的设计基于20世纪70年代中期的技术水平,以及当时非常有限的运行经验,但基于IPv4的Internet取得的巨大成功已经证明IPv4的设计根本上是非常成功的。在20世纪90年代设计IPv6时,有充足的理由坚持在IPv6中最大限度地保留IPv4的特点,只增加地址长度就可以了。但根据这些年来Internet的运营经验,应该对IPv4的其他部分也做一些"革命性"的改变。与IPv4协议相比,IPv6协议最大的变化就是明显简化了报头的设计,这主要体现在:
*简化头的格式,所有包头都使用固定长度;
*减少包处理敏感的部分,如校验和以及分片处理;
*地址长度增加为128bit。
虽然IETF已经选择将IPv6作为下一代Internet(NGN)的协议,但业内对IPv6技术仍然存在一些争议,甚至言过其实的说法。
(1)服务质量(QoS)保证。IPv6头在性能方面确实有一定的改进,比如去掉了校验和字段,但这与目前研究的所谓的QoS保征完全不是一回事情。目前解决IP QoS的技术主要是DiffServ,InterServ和多协议标记交换(MPLS),而它们同时适用于IPv4和IPv6。换言之,IPv6将使用与IPv4相同的技术来解决QoS问题,不会因为使用了IPv6,服务质量就会得到保证。
(2)安全保证。IPv4和IPv6都是使用IPSec协议来提供安全性保证,区别只是IPv4对IPSec的要求是可选的,IPv6对IPSec的要求是强制的。但IPv6对IPSec的强制性要求只是实现上的,并不要求应用中都一定使用,因为一是没这个必要,二是都使用会对性能产生重大影响。因此从这点上说二者的安全性几乎是等价的,不存在IPv6一定会比IPv4更安全的可能性。
(3)更好的移动性支持。不应否认IPv6对移动性的支持(Mobbie IP)比IPv4更好,但需要注意的是:只有在Mobile IP业务有实际的市场应用价值的前提下,才可能探讨采用什么样的方式支持会更好一些?Mobile IP从诞生至今仍然没有得到广泛的应用,根本原因在于缺乏"Killer Application(杀手应用)",也就是说还没有出现一种像E-mail。WWW那样极大地推动了Internet发展的应用,必须或最好使用Mobile IP来支持。或许将来会有这样的应用出现(如3G的普及),但现在没有,至少不明显或没有得到大规模的普及。
(4)根据Internet Society刊登的一篇报告,对IPv6还存在以下的误解或言过其实的说法:
*移动性必须使用IPv6。
*IPv6更适合于无线网络。
*只有IPv6支持自动配置。
*IPv6解决了路由可扩展性问题。
*IPv6能够更好地支持快速前缀重编号。
*IPv6提供了对Multi-home地更好支持。
5 小结
有人认为IPv4地址将很快耗尽,因此IPv6将在近年内得到大规模商用,这是存在疑问的。根据IANA提供的资料,目前还有大约36%的公用IPv4地址(大约15亿个)没有被分配,因此地址短缺的问题并没有想象的或有些媒体或厂家所描述的那么严重和紧迫。虽然IANA现在对IPv4地址的申请政策趋于严格,但如果运营商确实有需求,一般还是能够申请到的。以现在的IP地址分配速度不变,据保守估计也要到2015年以后IPv4地址才会用光。
其次,一般认为移动数据业务需要大量的IP地址空间资源,必须使用IPv6地址,但现在的实际情况是很多移动数据运营商并未采用Internet的完全开放的商业模型,而是更喜欢"Walled Garden"的商业模型,即把用户限制在一个封闭的网络范围内,因为这样做运营商能够更容易地控制业务和用户,计费方便,而且安全性也更高。而当采用"Walled Garden"商业模型时,移动数据网与Internet形成隔离的编址域,因此运营商几乎不约而同地选择使用更加成熟、廉价和更熟悉的(私有)IPv4编址。
第三,IPv6的128bit的地址中间多到可以让"地球上的每粒沙子都分配到一个IP地址",也就是说IPv6的地址空间将不再是稀有资源。既然不是稀有资源,将来也不大可能成为稀有资源,那么即使获得更多的IPv6地址空间,又有多少现实意义呢?
第四,NAT技术和IPv6都能够解决地址短缺问题。笔者以为NAT最核心的问题是会破坏Internet的端到端的透明性,因此只适用于客户/服务器模式的应用。而IPv6最大的好处是能够支持Peer to Peer(P2P)的应用,因为它不会破坏Internet端到端的透明性。因此,只有当P2P模式的应用(如游戏)大行其道时,才是必须部署IPv6的时候。
来源:ZDNet