五道口生活网外文译文IPv4地址耗尽后轻量级的双栈宽带部署摘要在过去的十几年中人们一直认为IPv6过渡会基于双栈模型,在耗尽IPv4资源之前大部分方案都会按这种方式对报文进行转换。但它并没有发生,而如果没有大规模的IPv6部署,IANA的空闲地址池即将耗尽。本文修正了双栈模型,并引入了轻量级的双栈模型技术,以在IPv6部署的问题上更好地平衡花费和利益之间的关系。轻量级的双栈模型为两种不同的协议间架起了一座桥梁,为因特网提供了在IANAIPv4地址池耗尽后继续前进的道路。五道口生活网第一章引言本文陈述了关于IPv4地址耗尽后IP部署问题的一些观点,以及一些必要的实现的技术。这些观点仅仅表达了作者的一些意见,并不表示Comcast公司会部署它或者Cisco公司会实现这项技术。1.1规定的语言在本篇文章中的关键词如“必须”,“必须不”,“要求”,“会”,“不会”,“应该”,“不应该”,“推荐”,“可能”和“可选的”应该按照RFC2119所描述的去理解。1.2术语本文将区分具有双栈能力和提供了双栈能力设备之间的区别。前者是指从网络层到应用层,都实现了IPv4和IPv6的设备,而后者是指此设备在它的接口中同时拥有IPv4地址和IPv6地址。通过进一步区分直接由服务提供者提供的接口和用户提供的接口之间的区别,本文将进一步提炼双栈这个概念。1.3IPv4地址比预期更早被耗尽IANA空闲地址池(即未被使用的地址池)中的全球公共IPv4地址消耗的速度比几年前预期要快,现的的模型显示IPv4地址可能在2010年或者2011年被耗尽(更多细节请参考)。这些预测是基于未来地址的消耗速度和今天的速度相似,通过观察近期的地址消耗图可以预测未来的地址消耗趋势。当然,我们不考虑当面临着地址迫切的紧缺时,人们会某种采取大型的IP技术部署方案或以其它方式来缓解地址的紧缺。预测IANA空闲地址池的准确耗尽时间超出了本文的范围,但是从中却可以得到一个结论:不久的将来,IPv4地址将不可能被大量地提供,这样任何新的宽带部署方案可能需要考虑:不向边界设备面向WAN一端的接口提供IPv4地址。但是,传统的被认为是“提供了双栈能力”IPv6部署模型不能处理这样的场景。第二章处理与遗留主机通信的问题轻量级的双栈技术是针对在IPv4地址耗尽后,服务提供商在部署纯IPv6时,需要五道口生活网维持与传统遗留下来的IPv4设备连接。这部分描述了由轻量级的双栈产生的一些特殊的场景。2.1因特网上对于宽带用户的遗留边界宽带用户通常拥有混合的IP设备,如近期的操作系统(WindowsVista,MacOSX和各种版本的Linux)能在纯IPv6环境下操作,但是大部分的遗留设备却不能,如WindowsXP不能通过IPv6传输进行DNS请求。而期望宽带用户自已大量升级他们的软件以部署IPv6通常是不切实际的。2.2因特网上的已存在的内容和服务IPv6部署需要很长的时间才能落实,并且现在的情形是网络上几乎所以存在的内容和服务都不能通过IPv6进行访问,这种情形有可能在未来得到改变,但是现在,我们必须假设由宽带用户产生的流量大部分都会被发往IPv4结点。2.3由新的宽带部署产生的额外的问题即使是考虑新的,绿地上的(即greenfield,指未开发的),宽带部署方案,像总是被提到的4G,服务提供商都需要面对上面提到的情形,即:当前因特网上已存在的内容和服务几乎都必须通过IPv4而不能通过IPv6访问。这使得对于在绿地上的部署方案上想采用IPv6的想法变得更加困难。而像NAT-PT之类的解决方案,现在却遭到大量批评,不能提供一个满意的,可扩展的答案。2.4服务提供者方面的障碍总的来说,宽带服务提供商可能需要面对这样的情形:IPv4用户需要与因特网上的IPv4服务器通信,但是却没有剩余的IPv4地址提供给这样的客户。某个服务提供商可能同样面对另外一种情形:服务提供商想在骨干网中部署IPv6以避免使用稀缺的IPv4地址,但是,如果没有某种与IPv4向后兼容的方式,部署IPv6的代价与利益将不平衡,使得增量部署IPv6变得十分困难。第三章对轻量级双栈部署方案的预期3.1基于家用网关场景的预期五道口生活网这部分主要针对由于家用网关的存在,导致的一些家用类型的网络的场景。在家用网络内部的传统的,未修改的,纯IPv4的设备应该继续使用RFC1918规定的地址空间,即192.168.0.0/16,并且它们应该可以通过类似于现在的家用网关IPv4NAT的方式,访问IPv4因特网。未修改的IPv6设备应该可以不需要通过翻译,直接访问IPv6因特网。大部分具有IPv6能力的设备都应该同样具有IPv4的能力,并且能在家用网关上按照RFC1918规定的形式进行简单的配置即可拥有这样的能力,然后就能像传统IPv4设备一样在家里访问IPv4因特网。没有实现IPv4栈的纯IPv6设备不在本文的考虑范围之内。家用网关通过服务提供者,应该是可以软件升级或者是可替换的。在IPv4耗尽之前的早期IPv6部署方案里面,大部分都用到了隧道的形式,这对于将任意IPv6服务引入到家中都是必须的。这个家用网关应该是一个具有双栈能力的设备,并且面向WAN的一端只提供IPv6地址,而面向LAN的一端同时提供IPv4和IPv6地址,注意这里提供给接口IPv4地址就该是RFC1918里面规定的地址,这里的关键点在于不再向家用网关设备提供任何IPv4地址。3.2直连到宽带服务提供商网络的设备的预期在这个部署模型之下,不经过家用网关直连到宽带服务提供商网络的设备应该是具有双栈能力的。面向服务提供商一端的接口仅被提供IPv6,在这样的设备的本地其它接口上,IPv4可能会也可能不会被提供。像上部分讲到的一样,这里的关键点在于服务提供商不会再给这些直连设备提供任何IPv4地址。直连的设备按照预期应该实现一些代码,以支持轻量级的双栈的工作。最低的要求是一个在IPv6之上的IPv4隧道。纯IPv4和纯IPv6的设备不在本文的讨论范围之内,大部分现在的与服务提供商网络直连的设备应该没有存储方面的约束,以实现双栈。3.3应用程序的预期大部分现在的可以通过NAT网关透明工作的应用程序都应该可以继续透明地工作。但是,有些在NAT下需要特殊的端口分配或映射的应用程序可能不会正常工作。对于应用程序的行为的细节和建议超出了本文的范围,并有应该在behave工作组讨论。3.4服务提供商网络的预期五道口生活网轻量级的双栈模型的基本思想是,一个IPv4地址将由若干个客户共享。这表示NAT功能将从家用网络移到位于服务提供商网络的设备中去。需要注意到,这个功能并不一定在服务提供商网络的核心实现,当它在靠近客户流量的聚合点实现时,情形有可能好点。第四章轻量级的双栈轻量级的双栈的核心思想是:从一个全球地址由一个用户拥有,并且由若干在此用户基础上的设备共享的部署模型,转向一个全球地址由若干用户共享的部署模型;通过一个纯IPv6的核心网络为用户提供IPv4流量的传输。轻量级的双栈模型是通过在IPv6上的IPv4隧道来穿越网络到达一个承载级别的IPv4-IPv4的NAT,而不是通过级连的NATs和NAT-PT。通过纯IPv6的方式,它简化了服务提供商网络的管理,并使得用户从单层NAT中获益。这个模型附加的好处还有,它在保证向后与IPv4兼容的同时,在因特网上逐步引入IPv6。4.1应用程序的范围轻量级的双栈部署模型是为宽带网络而设计的。虽然作者没有明确表示,但是它当然也可以应用到其它的地方,。4.2轻量级双栈接口对于一个在具有轻量级双栈能力设备上的轻量级双栈模型的接口,它是被作为一个点到点的IPv6上的IPv4隧道的。它的配置需要服务提供商给此设备提供给一个IPv6地址但是并不要求提供一个全球的IPv4地址。对于在轻量级双栈隧道末端的用户网络,可以配置任何一个本地唯一的IPv4地址。在5.2节中介绍的例子中,轻量级双栈的隧道末端是在主机内部,轻量级双栈实现时可以使用著名地址范围e.f.g.h/p(由IANA定义)内的任何一个地址,但是第一个地址(子网域为全零)应该被当作隧道的IPv4主机端,相同地址范围的最后一个地址应该被当作IPv4默认网关的地址,此时使用子网掩码来覆盖一个/p的网络。标注1:对于一个多宿主的节点,在终端可能配置多个轻量级双栈接口,每个这样的接口都应该配置从保留的地址范围中选取的一个地址。标注2:因为这里的静态配置使用著名的地址,所以没有必要在一个轻量级双栈接口上运行DHCPv4的客户程序。五道口生活网轻量级双栈接口面向服务提供商网络的末端结点是服务提供商网络中,一个轻量级双栈承载级NAT的IPv6地址。4.3轻量级双栈设备一个轻量级双栈设备是一个实现轻量级双栈接口的具有轻量级双栈能力的设备。在缺少更好的路由信息的时候,一个轻量级双栈设备将在轻量级双栈接口上静态配置一个IPv4的默认路由。4.4轻量级双栈家用路由器一个轻量级双栈家用路由器是一个在它的WAN接口上,实现了轻量级双栈接口的具有轻量级双栈能力的家用路由器。在缺少更好的路由信息的时候,一个轻量级双栈家用路由器将在轻量级双栈接口上静态配置一个IPv4的默认路由。轻量级双栈家用路由器可以使用拥有e.f.g.h/p前缀的任何一个为a.b.c.c的IPv4地址来作为它自已的IPv4包的源地址,并将其嵌入到IPv6隧道中去。如果一个轻量级双栈家用路由器需要配置一个指向一个IPv4默认路由器的路由器时,它可以为此使用e.f.g.h/p范围的最后一个地址,此时使用子网掩码来覆盖一个/p的网络。注:一个轻量级的双栈家用路由器不应该执行任何IPv4的地址翻译工作,它仅仅应该执行一个路由器的功能,即转发从LAN到轻量级双栈接口上的报文,或者相反的方向,而不应该改变报文的地址。轻量级双栈路由器应该考虑隧道减小的MTU(相对于非隧道方式而言)问题,并且可能执行IPv4分片的工作。4.5轻量级的双栈路由器轻量级的双栈家用路由器的概念可以推广到任何一个作为一个IP子域与之外的因特网之间的IPv4路由器。4.6轻量级双栈的承载级NAT设备的发现轻量级双栈的承载级NAT设备上的IPv6地址可以通过各种方法在轻量级双栈接口上配置,如带外机制,手工配置,DHCPv6选项及IPv6路由广播机制(后两项尚未完全定义)。所有的以上的方法在不久都将得到定义,但是这些方法的要求和规范超出了本文的范围。五道口生活网轻量级双栈的承载级NAT一个轻量级双栈的承载级NAT是一个在服务提供商网络上的特殊的IPv4-IPv4的NAT。用户通过IPv6上的IPv4隧道可以访问它。一个轻量级双栈的承载级NAT利用IPv6源地址和内部IPv4源地址的组合来建立和维持IPv4NAT映射表。一个轻量级双栈的承载级NAT不需要执行任何IPv6-IPv6,IPv6-IPv4,IPv4-IPv6的NAT功能。一个轻量级双栈的承载级NAT能利用e.f.g.h/p范围内的最后一个IPv4地址,来生成IPv4的ICMP报文,传送给轻量级双栈的客户端,以生成有用的ping和traceroute结果。第五章示例体系结构在轻量级双栈后的基本技术是两种著名技