一 IPv6的地址空间
IPv6协议最大的优势就是在于巨大地址空间,这也是IPv6协议设计的初衷。
套用比较流行的比喻,地球上的每一粒沙子都能够分配到一个公有的IPv6地址。从数字上看,IPv6具有2 128个地址,估算大约是3.4×1029亿个IPv6地址,这确实是一个天文数字。然而,我们必须理性的看待IPv6的地址问题。
1 NAT设备的影响
NAT设备的广泛使用的确减缓了IPv4地址耗尽的速度,它提供了把IPv4的32位地址空间增加到48位地址空间的方法,而代价就是破坏了TCP/IP网络的可扩展性,并且给用户带来一种错误的安全感。
NAT设备破坏IP网络的可扩展性表现在它打破了互联网的端到端特性,并且使得一些端到端的应用(例如IPsec协议,一些P2P应用)变得非常困难。并且,四种类型的NAT设备,Cone NAT,Restricted NAT,Port-Restricted NAT和Symmetric NAT,并不能提供用户所想象的安全性。外部的恶意主机仍然可以通过NAT设备的公有地址和端口号到达使用私有地址的“受到保护”的主机。另外,NAT设备增加了网络的复杂性,增加网络的运营维护负担,并使得Internet的可扩展性大打折扣。
2 IPv6地址的分配原则
在对用户进行IPv6地址分配时,根据RFC3177以及APNIC的建议,运营商向客户分配IPv6地址块时需要遵循以下的原则:
1)一般情况下分配/48的IPv6地址块,除非用户是一个非常大的企业;
2)只有在非常明确用户只需要一个子网时,分配/64的IPv6地址块;
3)只有在非常明确用户只有一个主机(设备)时,分配/128的地址。
上述策略的目的在于保证用户在目前可以预见的时间段内得到足够多的IPv6地址,这种策略可以避免IPv6路由表中出现零碎的路由条目,保证路由的效率。
但是,由于IPv6协议采用了邻居自动发现以及无状态自动配置的机制,IPv6的最小子网应该是/64。也就是说,IPv6的地址利用率要明显小于IPv4。从酝酿一个可管理、可运营网络方面来看,IPv6的地址空间需要运营商进行精细规划。
3 公有地址带来的安全问题
IPv6终端具有全局的公有地址使得IPv6网络不再需要穿越NAT设备。这为保证Internet端到端的特性提供最基本的支持。然而,我们必须要考虑IPv6的公有地址所带来的隐私以及安全问题。
IPv6地址由2部分组成,前64位是网络前缀,分配给ISP;后64位是根据终端的链路层地址生成的EUI-64的地址。这种机制提供了一种根据IPv6地址获知用户身份的方法:通过后64位的EUI-64地址可以获知是哪个用户,而通过IPv6地址前缀可以获知用户处在哪个网络(位置)。
具有公有IPv6地址的用户同时也意味着完全暴露在不安全的IPv6互联网中。IPv6面临着和IPv4同样的终端安全性。IPv6协议的扩展报头,例如路由扩展报头、目的地报头,也为对IPv6终端的攻击提供了一些可能的方法。所以一个完备的IPv6终端防火墙将会是IPv6网络上非常重要的元素,它能够抵御一些IPv4网络上常见的重播、拒绝服务等攻击。而更深层次的对IPv6终端支持的业务而言,终端防火墙和IPv6高层业务之间的联动关系是IPv6协议需要研究的另外一项重要内容。
二 IPv6的自动配置特性
1 无状态和有状态配置
IPv6网络的配置可以分为有状态(Stateful)和无状态(Stateless)2种类型。无状态是指IPv6的邻居发现和无状态自动配置协议,由RFC2461和RFC2462定义。通过IPv6节点之间交互邻居请求/邻居宣告消息,IPv6路由器与IPv6终端之间交互路由器请求/路由器宣告消息实现IPv6网络的无状态自动配置,从而取代了在IPv4使用的ARP协议,省去了在IPv6网络种为每个终端配置IPv6地址以及默认网关的繁琐工作。有状态配置和IPv4协议保持一致,由DHCPv6协议来完成。
但是在IPv6的无状态自动配置机制中,IPv6终端并不能得到DNS服务器的配置。这对于IPv6协议的设计者来说是合理的:终端的IPv6地址前缀和默认网关是由路由器宣告的,而通常路由器并不知道也不需要知道终端需要使用哪个DNS服务器的信息。DHCPv6协议能够给终端分配IPv6地址和DNS服务器的地址,而为了网络可靠性的考虑并不能分配给终端有关默认网关的信息。
所以在一个完整的IPv6网络中,为了让主机同时得到IP地址、默认网关和DNS服务器信息,需要IPv6邻居发现机制和DHCPv6同时使用。换而言之,IPv6网络还不能达到完整意义上的无状态自动配置。
2 对终端移动性的支持
尽管如此,IPv6的邻居发现和无状态自动配置协议为IPv6终端的移动性提供了良好的支持。
首选,用户从一个网络漫游到另一个网络时,它可以通过这种机制自动得到访问网络的IPv6地址。而IPv6主机可以支持多个IPv6地址的特性使得移动终端可以保持多个Internet的连接,有利于网络间的无缝的、平滑的切换。
其次,Mobile IPv6技术利用了IPv6的扩展报头特性(Routing Header和Destination Header)消除了Mobile IPv4网络中的三角路由问题,提供了IPv6的移动终端在IP层的移动性对高层协议透明。另外,Mobile IPv6协议去除了Mobile IPv4中的外部代理设备,部署起来将更为简单。