|
|
前面我们谈到的IP地址是指IPv4地址,IPv4(IP version 4)标准是20世纪70年代末期制定完成的。20世纪90年代初期,WWW的应用导致互联网爆炸性发展,随着互联网应用类型日趋复杂,终端形式特别是移动终端的多样化,全球独立IP地址的提供已经开始面临沉重的压力。IPv4所拥有的32位地址空间,地址不足的问题逐渐显现,这将严重影响互联网的长期发展,必须立即开始下一代IP网络协议的研究。由此,IETF于1992年,成立了IPNG(IP Next Generation)工作组;1994年夏,IPNG工作组提出了下一代IP网络协议(IPv6,IP version 6)的推荐版本;1995年夏,IPNG工作组完成了IPv6的协议文本;1995—1999年完成了IETF要求的协议审定和测试;1999年成立了IPv6论坛,开始正式分配IPv6地址,IPv6的协议文本成为标准草案。
|
|
|
IPv6具有长达128位的地址空间,可以彻底解决IPv4地址不足的问题。由于IPv4地址是32位二进制,所能表示的IP地址个数为232=4294967296≈43亿,如果将其中不可编址的地址排除的话,只有约37亿的可用地址。这样的地址空间,相对于目前移动终端大量增长的趋势来说,远远不能满足需求。将32位的IPv4升级至128位的IPv6,互联网中的IP地址,从理论上讲会有2128=3.4×1038个,这样的地址空间,可以保证整个地球表面(包括陆地和水面)每平方米有7× 1023个IP地址;如果地址分配的速率是每秒分配1000000个,则需要1019年的时间才能将所有地址分配完毕。在想象得到的未来,IPv6的地址空间都可以满足需要。除此之外,IPv6还采用分级地址模式、高效IP包首部、服务质量、主机地址自动配置、认证和加密等许多技术。
|
|
|
|
一般来讲,一个IPv6数据包的目的地址可以是以下三种基本类型地址之一。
|
|
|
.单播(unicast)。单播就是传统的点对点通信。
|
|
|
.多播(multicast)。多播就是一点对多点的通信,数据包交付到一组计算机中的每一个。IPv6没有采用广播的术语,而是将广播看作多播的一个特例。
|
|
|
.任播(anycast)。这是IPv6增加的一种类型。任播的目的站是一组计算机,但数据包在交付时只交付给其中的一个,通常是距离最近的一个。
|
|
|
为了使地址的表示简洁些,IPv6使用冒号十六进制记法(colon hexadecimal notation,简写为colon hex)。每4个字节一组,用十六进制表示,各组之间用冒号分隔。例如:
|
|
|
|
冒号十六进制记法允许零压缩(zero compression),即一连串连续的零可以用一对冒号所取代,例如:
|
|
|
|
为了保证零压缩有一个清晰的解释,建议中规定,在任一地址中,只能使用一次零压缩。该技术对已建议的分配策略特别有用,因为会有许多地址包含连续的零串。
|
|
|
另外,冒号十六进制记法可结合有点分十进制记法的后缀。这种结合在IPv4向IPv6的转换阶段特别有用。例如,下面表示是一个合法的冒号十六进制记法:
|
|
|
|
请注意,在这种记法中,虽然为冒号所分隔的每个值是一个16bit的量,但每个点分十进制部分的值则指明一个字节的值。再使用零压缩即可得出:
|
|
|
|