IPv6协议的地址空间这个问题是区别于IPv4的重点问题。那么在形式上我们知道IPv6采取的是128位地址,虽然这个地址协议给我们带来了很多空间,但是其中也同样存在着不少的问题。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协议需要研究的另外一项重要内容。