- 论坛徽章:
- 0
|
Internet经过20多年的发展,目前已相当成熟,各种Internet应用比如WWW、Email、在线游戏、搜索引擎、内容提供等造就了今天的互联网经济。可以这样说:当今社会已经离不开Internet。作为Internet基础的IPv4,采用尽力而为的处理思想和无组织非层次的平面结构,极大的促进了Internet的发展,然而其固有的缺陷又使它成为了互联网发展的障碍。IPv4的缺陷主要表现在:地址匮乏、路由表庞大、缺乏QoS和安全等。作为计算机网络的Internet已经不堪重负,未来数量更多的移动终端和信息家电的加入更加剧了Internet的危机。
IETF早在20世纪90年代初期就意识到了这些问题并着手下一代互联网协议IPng的标准制定工作,1993年在RFC1550中发起新方案的征集呼吁并公布了主要需求:大的地址空间、迁移和部署、安全、服务质量、移动性、拓扑结构、网络管理维护等。IETF于1994年选择RFC1710中建议的SIPP作为基础,1998年公布了IPv6标准RFC2460。
一、部署IPv6面临的问题
IPv6针对IPv4的缺陷在网络层做了很大的改变,对传输层的TCP、UDP和下层的数据链路层只做了很少的修改,在IPv6的工程化过程中这点非常重要的。部署单纯的IPv6可以沿用IPv4的经验,甚至比IPv4还要简单。部署IPv6面临的问题主要有以下几点:
1.IPv6和IPv4的共存和过渡
和IPv4网络的2亿多用户相比,IPv6网络的用户少得多,按照Internet 中的Robert Metcalfe准则:一个网络的价值与它的节点数目的平方成正比。如果一个网络的应用和服务不够好,就不能吸引用户,因此就不如一个成熟的、建设好了的网络有吸引力。IPv6要取代IPv4只能采取共存和过渡得策略,共存和过渡的好坏直接决定了IPv6的部署能否成功。IPv6和IPv4的共存和过渡需要解决的问题是:IPv6网络之间的通信、IPv6网络和IPv4网络之间的通信;
2.基于IPv6的杀手应用
缺少杀手级应用是IPv6不能普及开的重要原因。
针对部署IPv6存在的问题,IETF和其他组织纷纷提出了相应的技术和方案。
二、IPv6和IPv4共存和过渡技术
1.解决IPv6网络之间通信的技术
(1)基于双栈IPv4/IPv6过渡技术
包括Dual Stack Model 和Limited Dual Stack Model 两种模型方案,在Dual Stack Model下主机和网络都采用IPv4/IPv6双栈,新的应用编程接口(API)同时支持IPv4和IPv6地址及DNS请求。应用根据名字检查选择采用IPv4或IPv6协议,IPv4和IPv6地址都可以从DNS返回,应用根据IP业务的类型选择正确的地址,它解决了IPv6网络之间、IPv4网络之间以及IPv4和IPv6网络之间的通信问题,但是要将网络中所有的主机和网络全部升级为双栈是不切实际的,同时也增加了系统和网络的复杂性。Limited Dual Stack Model要求网络和服务器支持双栈,主机只需要IPv6从而节省IPv4地址,解决了IPv6网络之间的通信问题,但是无法解决IPv6和IPv4网络之间的通信问题。
(2)基于隧道的过渡技术
隧道技术是利用现有的IPv4网络基础设施来连接各个孤立的IPv6网络,IPv6数据包被封装在IPv4包里面进行传输,在隧道的终点进行解封装得到IPv6数据包后再交给相连的IPv6网络。
基于隧道技术的过渡方案有:手工配置隧道、自动配置隧道、隧道代理、6to4隧道和6over4隧道。通过IPv4隧道传送IPv6需要配置的内容有:隧道接口的本地IPv6地址、隧道两端的IPv4地址。
手工配置隧道的这些内容通过手工进行配置,隧道代理则是通过向隧道代理发送隧道请求,由隧道代理将相应配置下发到相应的路由器;自动配置隧道则是通过数据包的IPv4兼容的IPv6地址来确定隧道的端点,6to4隧道则是由6to4路由器向站点分配6to4前缀IPv6地址,由6to4路由器完成隧道封装,6over4将IPv4网络当作具有组播功能的一条链路,通过IPv6组播地址和IPv4组播地址的映射关系实现IPv6协议的邻居发现功能,它要求IPv4网络支持组播功能。
RFC2893中分配给IPv6封装在IPv4中的协议号是41,表示IPv4包里面的上层协议数据是IPv6数据包。采用隧道方式存在的问题主要有:由于在IPv6数据包前面插入20字节的IPv4头,可能会造成分段,从而影响性能;ICMPv4错误消息只返回IPv4报头外的8bit,这样IPv6源站点无法得知IPv6地址信息;协议号41有可能被防火墙过滤掉;IPv6 in IPv4隧道无法穿越一个起用了动态端口转换的NAT,在大多数 NAT 配置中,提供NAT功能的设备并不具备成为隧道路由器的功能。即使NAT设备普遍支持 各种隧道功能,还是有一些应用场合包含多层NAT。
针对隧道无法进行NAT穿越,目前已经有两个IETF草案:Teredo和silkroad。二者都是利用IPv4 UDP来封装IPv6数据包来完成NAT穿越。 |
|