IPv6在网络地址空间、服务质量、安全性、路由汇聚等方面比起IPv4有了很大改善,但其推广过程举步维艰,笔者认为目前制约ipv6发展的一种重要瓶颈是交换机或路由器ipv6地址表项太小了,由于ipv6的地址是由128位组成的,故在地址寻址和存储时需要耗费4倍Ipv4的地址空间,而在传统的交换机中,路由表的存储一般采用的是TCAM,一般只有16k/32k v4地址空间,即使是到了目前网络技术的发展,路由表项也进行了优化和改进,采用基于算法的LPM表使用SRAM作为存储介质,使v4的规格可以做到128k,甚至1M,但是换算成v6地址还是要缩小4倍,表项地址空间太小了,不仅仅路由表,受到限制的还有ipv6主机路由表、Ipv6 ACL等表项。
可能有些同学要问了,既然表项不够为什么不增大TCAM或SRAM空间呢?这就要回到芯片设计角度,从芯片设计角度,增大RAM或TCAM的空间 意味着需要增大功耗,增加面积和增加成本,而功耗和面积受到当前芯片工艺的制约,为了达到相对平衡,在新的芯片设计时,结合实际应用尽可能大的设计表项规格。
本文就对目前已存在的现在网络中运行的IPv6地址前缀与地址分配进行研究,根据现状,有效扩充ipv6的地址表项空间。
IPv6 地址共 128 位,前n位为地址前缀,63-n位为子网ID,后 64 位为接口地址,通常不用于地址规划和分配,如图1所示
2.1 INNA分配的顶级网络前缀
目前给亚太地址分配的地址如下,地址前缀在12~23之间,中国运营商目前也拿到了/20 和/21的地址前缀
2.2 INNA建议的网络地址前缀分配
IPv6地址是以16进制的形式显示的,1个16进制的数值正好是4bit。为了更好规划地址,一般是每4bit规划前缀或者子网,常见的地址前缀长度及适配场景如下:
2.3 中国运营商的网络地址前缀
通过运营商的了解,中国大的运营商拿到的AS前缀在/20~/32之间,比如中国电信商用ipv6为240e::/20,中国联通2408:8000::/20,中国广电为240a:4000::/21,中国移动2409:8000::/20
2.3.1 中国电信
2.3.2 中国联通
2.3.3 中国广电
2.3.4 中国移动
中国移动的地址前缀网上没有公开的信息,但目前移动手机已经能获得ipv6地址,根据推断其地址前缀:2409:8000 ::/20
3.1. 运营商
3.1.1 中国广电
中国广电已经申请了一个/21前缀的IPv6地址池:240a:4000::/21,中国广电的IPv6地址分配规则,使用省份标示,为各省广电网络公司分配了两个/31的IPv6地址池,分别用于电视网络和宽带网络。如果加上预留地址,推算每个省的广电网络公司最大可获得/29的IPv6地址池,也就是8个/32的地址块。
3.1.2 中国电信
下面是在中国电信官网看到的地址分配方案,还是老的地址前缀,如果按照中国电信申请到/20的前缀,其省一级前缀分配可能参考广电进行。
3.2. 企业
3.2.1 锐捷
在锐捷《技术盛宴 | IPv6系列应用篇——数据中心IPv4/IPv6双栈架构探讨》提出服务器业务地址、服务器管理地址以及交换机管理地址建议采用唯一本地地址,并使用64位掩码长度。
3.2.2 思科
在思科官网提供的IPv6编址指南,除loopback地址外,终端地址分配/64 就好了。
前缀长度用途/64前缀64位前缀适用于网络设备的传统局域网/广域网接口。/126前缀
126位前缀一般用于点对点链路,类似于IPv4中为点对点链路分配的/30保
留地址。但IPv6的地址空间要远大于IPv4地址空间。一般建议在点对点链路上使用/64。
/127前缀RFC3627认为,在点对点链路上使用相当于IPv4 /31的/127前缀(RFC 3021),是有害的。这种分配就像为点对点链路分配/126前缀,使用127前缀是出于考虑地址保留的原因。为简化运营,应考虑为点对点链路使用/64前/128前缀128位前缀可用于需要一个地址的情况。网络设备的回环地址即是这类地址的一个示例。
根据各大运营商的地址分配规则,到用户或设备侧区域网络段地址是/64 ;同时以思科为代表的企业在ipv6的地址编制指南中也明确网络中的设备地址目前到64位就足够了,所以从上述对地址规划和前缀的研究可以看出,在网络地址寻址时根据前64位来进行地址寻址就可以了,对于交换机芯片厂商而言,也可以在这64位地址上做文章,相对于128地址寻址,可大大节省存储空间。