近年来Internet飞速发展,导致IPv4地址空间几近耗竭。IP地址变得越来越珍稀,许多企业不得不使用NAT将多个内部地址映射成一个公共IP地址。地址转换技术虽然在一定程度上缓解了公共IP地址匮乏的压力,但它不支持某些网络层安全协议,难免在地址映射中出现种种错误,这又造成了一些新的问题。而且,靠NAT并不可能从根本上解决IP地址匮乏问题,随着连网设备的急剧增加,IPv4公共地址总有一天会完全耗尽。
为了解决上述问题,IETF开发了IPv6。这一新版本也曾被称为“下一代IP”,它综合了多个对IPv4进行升级的提案。在设计上,IPv6力图避免增加太多新特性,从而尽可能地减少对现有的高层和低层协议的冲击。
IPv6协议最大的特点是几乎无限的地址空间。IPv4中规定IP地址长度为32,即有32 2-1个地址;而IPv6中IP地址的长度为128,即有128 2-1个地址。这个地址量是非常巨大的。IPv6继承了IPv4的优点,摒弃了IPv4的缺点。IPv6和IPv4是不兼容的,但IPv6同其他所有的TCP/IP协议族中的协议兼容,即IPv6完全可以取代IPv4。
IPv6的地址长度是128位。将这128位的地址按每16位划分为一个段,将每个段转换成十六进制数字,并用冒号隔开,称为冒号十六进制法。这就形成了IPv6地址,例如2000:0000:0000:0000:0001:2345:6789:ABC0。
为了尽量缩短地址的书写长度,IPv6地址可以采用压缩方式来表示。在压缩时,有以下几个规则。
1)前导零压缩法
将每一段的前导零省略,但是每一段都至少应该有一个数字。例如,2000:0000:0000:0000:0001:2345:6789:ABC0 可以压缩为2000:0:0:0:1:2345:6789:ABC0。有效的“0”不能被压缩,所以上述地址不能压缩为2000:0:0:0:1:2345:6789:ABC。(www.xing528.com)
2)双冒号法
如果在一个以冒号十六进制数表示法表示的IPv6地址中,几个连续的段值都是“0”,那么这些“0”可以简记为“::”。每个地址中只能有一个“::”。例如,2000:0000:0000:0001:0000:2345:6789:ABCD 可以压缩为2000::1:0:2345:6789:ABCD。不允许多个“::”存在于一个地址中,所以上述地址不能被压缩为2000::1::2345:6789:ABCD。
IPv6取消了IPv4的网络号、主机号和子网掩码,代之以前缀、接口标识符、前缀长度;IPv6不再有IPv4地址中A类、B类、C类等地址分类的概念。
(1)前缀:前缀的作用与IPv4地址中的网络部分类似,用于标识这个地址属于哪个网络。
(2)接口标识符:与IPv4地址中的主机部分类似,用于标识这个网络中的具体位置。
(3)前缀长度:类似于IPv4地址中的子网掩码,用于确定地址中哪一部分是前缀,哪一部分是接口标识符。例如,地址2000:0000:0000:0000:0001:2345:6789:ABCD/64中,/“64”表示此地址的前缀长度是64,所以此地址的前缀就是2000:0000:0000:0000,接口标识符就是0001:2345:6789:ABCD。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。