什么是IPv6
IPv6(Internet Protocol version 6,互联网通信协议第6版),IPv6是被指定为现行版本IP协议(IPv4)的下一代互联网协议版本,互联网中最先出现的应用到现在依然占有优势。IPv6正处在不断发展和完善的过程中,它在不久的将来将取代目前被广泛使用的IPv4。
IPv6形成的背景与目标
促使IPv6形成的主要原因是网络空间的匮乏。IPv6的计划是创建未来互联网扩充的基础,其目标是取代IPv4,预计在2025年以前IPv4仍会被支持,以便给新协议的修正留下足够的时间。
从1990年开始,互联网工程任务小组(Internet Engineering Task Force,简称IETF)开始规划IPv4的下一代协议,除要解决即将遇到的IP地址短缺问题外,还要发展更多的扩展,为此IETF小组创建IPng,以让后续工作顺利进行。1994年,各IPng领域的代表们于多伦多举办的IETF会议中正式提议IPv6发展计划,该提议直到同年的11月17日才被认可,并于1998年8月10日成为IETF的草案标准。
IPv6的特点
(1)IPV6地址长度为128比特,地址空间增大了2的96次方倍;
(2)灵活的IP报文头部格式。使用一系列固定格式的扩展头部取代了IPV4中可变长度的选项字段。IPV6中选项部分的出现方式也有所变化,使路由器可以简单路过选项而不做任何处理,加快了报文处理速度;
(3)IPV6简化了报文头部格式,字段只有8个,加快报文转发,提高了吞吐量;
(4)提高安全性。身份认证和隐私权是IPV6的关键特性;
(5)支持更多的服务类型;
(6)允许协议继续演变,增加新的功能,使之适应未来技术的发展;
IPv6的应用
IPv6的普及一个重要的应用是网络实名制下的互联网身份证/VIeID,目前基于IPv4的网络之所以难以实现网络实名制,一个重要原因就是因为IP资源的共用,因为IP资源不够,所以不同的人在不同的时间段共用一个IP,IP和上网用户无法实现一一对应。
在IPv4下,现在根据IP查人也比较麻烦,电信局要保留一段时间的上网日志才行,通常因为数据量很大,运营商只保留三个月左右的上网日志,比如查前年某个IP发帖子的用户就不能实现。
IPv6的出现可以从技术上一劳永逸地解决实名制这个问题,因为那时IP资源将不再紧张,运营商有足够多的IP资源,那时候,运营商在受理入网申请的时候,可以直接给该用户分配一个固定IP地址,这样实际就实现了实名制,也就是一个真实用户和一个IP地址的一一对应。
当一个上网用户的IP固定了之后,你任何时间做的任何事情都和一个唯一IP绑定,你在网络上做的任何事情在任何时间段内都有据可查,并且无法否认。因此你可能昨晚刚浏览过非法网站后,第二天早上就会有人上门给你开罚款单。
IPv6编址
从IPv4到IPv6最显著的变化就是网络地址的长度。RFC 2373和RFC 2374定义的IPv6地址,就像下面章节所描述的,有128位长;IPv6地址的表达形式一般采用32个十六进制数。
IPv6中可能的地址有2128 ≈ 3.4×1038个。也可以考虑为1632个,因为32位地址每位可以取16个不同的值(参考组合数学)。
IPv6的格式
IPv6二进位制下为128位长度,以16位为一组,每组以冒号":"隔开,可以分为8组,每组以4位十六进制方式表示。例如:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
是一个合法的IPv6地址。
同时IPv6在某些条件下可以省略,以下是省略规则
* 规则1:每项数字前导的0可以省略,省略后前导数字仍是0则继续,例如下组IPv6是等价的。
2001:0DB8:02de:0000:0000:0000:0000:0e13
2001:DB8:2de:0000:0000:0000:0000:e13
2001:DB8:2de:000:000:000:000:e13
2001:DB8:2de:00:00:00:00:e13
2001:DB8:2de:0:0:0:0:e13
* 规则2:若有连贯的0000的情形出现,可以用双冒号"::"代替,例如
如果四个数字都是零,可以被省略。例如下组IPv6是等价的。
2001:DB8:2de:0:0:0:0:e13
2001:DB8:2de::e13
再举一个例子,遵照以上省略规则,下面这组IPv6都是等价的
2001:0DB8:0000:0000:0000:0000:1428:57ab
2001:0DB8:0000:0000:0000::1428:57ab
2001:0DB8:0:0:0:0:1428:57ab
2001:0DB8:0::0:1428:57ab
2001:0DB8::1428:57ab
不过请注意有的情形下省略是非法的,例如这个IPv6是非法的。
2001::25de::cade
因为它有可能是下种情形之一,造成无法推断。
2001:0000:0000:0000:0000:25de:0000:cade
2001:0000:0000:0000:25de:0000:0000:cade
2001:0000:0000:25de:0000:0000:0000:cade
2001:0000:25de:0000:0000:0000:0000:cade
如果这个地址实际上是IPv4的地址,后32位可以用10进制数表示;因此:
ffff:192.168.89.9等价于::ffff:c0a8:5909,但不等价于::192.168.89.9和::c0a8:5909。
ffff:1.2.3.4格式叫做IPv4映射地址,是不建议使用的。而::1.2.3.4格式叫做IPv4一致地址。
IPv4位址可以很容易的转化为IPv6格式。举例来说,如果IPv4的一个地址为135.75.43.52(十六进制为0x874B2B34),它可以被转化为0000:0000:0000:0000:0000:0000:874B:2B34或者::874B:2B34。同时,还可以使用混合符号(IPv4-compatible address),则地址可以为::135.75.43.52。
在很多场合,IPv6地址由两个逻辑部分组成:一个64位的网络前缀和一个64位的主机地址,主机地址通常根据物理地址自动生成,叫做EUI-64(或者64-位扩展唯一标识)