1、IPv6的必要性:
IPv6(IP version 6)是为了根本解决IPv4地址耗尽的问题而被标准化的网际协议。IPv4的地址长度为4个8位字节,即32比特。而IPv6的地址长度则是原来的4倍,即128比特,一般写成8个16位字节。
从IPv4切换到IPv6极其耗时,需要将网络中所有主机和路由器的IP地址进行重新设置。
2、IPv6的特点:
IP地址的扩大与路由控制表的聚合:分配与其地址结构相适应的IP地址,尽可能避免路由表膨大。
性能提升:包首部长度采用固定的值(40字节),不再采用首部检验码。简化首部结构,减轻路由器负荷。路由器不再做分片处理(通过路径MTU发现只由发送端主机进行分片处理)。
支持即插即用功能:即使没有DHCP服务器也可以实现自动分配IP地址。
采用认证与加密功能:应对伪造IP地址的网络安全功能以及防止路线窃听的功能(IPsec)。
多播、Mobile IP成为扩展功能:多播和Mobile IP被定义为IPv6的扩展功能。由此可以预期,曾在IPv4中难于应用的这两个功能在IPv6中能够顺利使用。
3、IPv6中IP地址的标记方法:
一般人们将128比特IP地址以每16比特为一组,每组用冒号(“:”)隔开进行标记。而且如果出现连续的0时还可以将这些0省略,并用两个冒号(“::”)隔开。但是,一个IP地址中只允许出现一次两个连续的冒号。
例如:
二进制:1111111011011100:1011101010011000:0111011001010100:
0011001000010000:1111111011011100:1011101010011000:
0111011001010100:0011001000010000
用十六进制数表示:FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
二进制:0001000010000000:0000000000000000:0000000000000000:
0000000000000000:0000000000000000:0000100000000000:
0010000000001100:0100000101111010
用十六进制数表示:1080:0:0:0:0:800:200C:417A
-----------------------> 1080::800:200C:417A
4、IPv6地址的构造:
IPv6类似IPv4,也是通过IP地址的前几位标识IP地址的种类。
在互联网通信中,使用一种全局的单播地址。它是互联网中唯一的一个地址,不需要正式分配IP地址。
限制型网络,即那些不与互联网直接接入的私有网络,可以使用唯一本地地址。该地址根据一定的算法生成随机数并融合到地址当中,可以像IPv4的私有地址一样自由使用。
在不使用路由器或者在同一个以太网段内进行通信时,可以使用链路本地单播地址。
而在构建允许多种类型IP地址的网络时,在同一个链路上也可以使用全局单播地址以及唯一本地地址进行通信。
在IPv6的环境下,可以同时将这些IP地址全都配置在同1个NIC上,按需灵活使用。
未定义 | 0000...0000(128比特) | ::/128 |
---|---|---|
环回地址 | 0000...0001(128比特) | ::1/128 |
唯一本地地址 | 1111 110 | FC00::/7 |
链路本地单播地址 | 1111 1110 10 | FE80::/10 |
多播地址 | 1111 1111 | FF00::/8 |
全局单播地址 | (其他) |
5、全局单播地址:
全局单播地址是指世界上唯一的一个地址。它是互联网通信以及各个域内部通信中最为常用的一个IPv6地址。
通常,接口ID中保存64比特版的MAC地址的值。不过由于MAC地址属于设备固有的信息,有时不希望让对端知道。这时的接口ID可设置为一个与MAC地址没有关系的“临时地址”。这种临时地址通常随机产生,并会定期更新。因此,从IPv6地址中查看定位设备变得没那么简单。
6、链路本地单播地址:
链路本地单播地址是指在同一个数据链路内唯一的地址。它用于不经过路由器,在同一个链路中的通信。通常接口ID保存64比特版的MAC地址。
7、唯一本地地址:
L通常被设置为1,全局ID的值随机决定,子网ID是指该域子网地址,接口ID即为接口的ID。
唯一本地地址是不进行互联网通信时所使用的地址。虽然不会与互联网连接,但是也会尽可能地随机生成一个唯一的全局ID。由于企业兼并、业务统一、效率提高等原因,很有可能会需要用到唯一本地地址进行网络之间的连接。在这种情况下,人们希望可以在不改动IP地址的情况下即可实现网络的统一。
8、IPv6分段处理:
IPv6的分片处理只在作为起点的发送端主机上进行,路由器不参与分片。这是为了减少路由器的负荷,提高网速。因此,IPv6中的“路径MTU发现”功能必不可少。不过IPv6中最小MTU为1280字节。因此,在嵌入式系统中对于那些有一定系统资源限制的设备来说,不需要进行”路径MTU发现“,而是在发送IP包时直接以1280字节为单位分片送出。