1、可聚合的单全球单播地址Global Unique Address:
Aggregate global unicast address,前3位是001,即2000::/3,目前IANA已经将一部分可聚合全球单播进行了专门使用,如:2001::/16用于IPV6互联网,2002::/16用于6to4网络
对于地址的IPV6全球单播地址的划分:3.14(Pi法则)
3:代表全球路由前缀为3个16位组,即48bit。
1:代表子网ID部分为1个16位组,即16bit。
4:代表接口ID部分为4个16位组,即64bit。
2、链路本地地址:link-local address
前缀:FE80::/10
范围:只能在本地链路使用,不能在子网间路由
3、站点本地地址:site-local address
IPV6的私网地址,就像IPV4中的私网保留地址一样
前缀:FD00::/8 其后的56比特用于子网ID 最后64位用于主机ID
范围:只能在本站点内使用,不能在公网上使用
如:在本地分配十个子网
1、FD00:0:0:0001::/64
2、FD0:0:0:0002::/64
3、FD0:0:0:0003::/64
4、组播地址:Multicast
IPV6中没有广播,用组播来代替,对应于一组接口的地址,且这些接口分属于不同的节点,会被每个接口接收,前8位为1,前缀:FF00::/8
1111 1111 4bit 4bit 112bit
|→固定值←||→标志←| |→范围←|→组ID←|
标志位为0000表示是永久保留的组播地址,分配给各种技术使用,标志位为0001表示是用户可使用的临时组播地址
范围段定义了组播地址的范围,其定义如下:
十六进制 范围类型
FF01::1 本地接口范围内
FF01::2 本地接口范围内
FF01::3 本地子网范围
FF01::4 本地管理范围
FF01::5 本地站点范围 类似组播的私网地址
FF01::8 组织机构范围
FF01::E 全球范围 类似组播的公网地址
下面是一些组播指定地址:
FF02::1 all nodes 在本地接口范围的所有节点组播地址
FF02::2 all routers 在本地链路范围的所有路由器组播地址
FF02::5 all ospf routers
FF02::9 all rip routers 所有运行RIP的路由器
FF02::A all eigrp routers 所有运行eigrp的路由器
FF05::2 在一个站点范围内的所有路由器
测试:可ping一下组播地址:ping6 ff02:::1
b.被请求节点的组播地址solicited-node multicast address
还有一种被请求节点的组播地址solicited-node multicast address,它的前104位是固定的,即:FF02::1:FF00:0000/104,后面24位是单播或者任播的低24位地址。主要用于替代IPv4的ARP来获取邻居的MAC以生成邻居表,并用在局域网中进行地址冲突检测。一种特殊的组播地址,对于节点或路由器的接口上配置的每个单播和任意播地址,都会自动生成一个对应的被请求节点组播地址。注意link-local address也会生成一个被请求节点的组播地址。
FF02::1:FF00:1 全球单播地址对应的被请求节点的组播地址
FF02::1:ff00:300 本地链路单播地址对应的被请求节点的组播地址
工作范围:只在本地链路上有效
特点:1、在本地链路上,被请求节点的组播地址组中通常只包含一个用户
2、只要知道一个节点的IPV6地址,就能计算出它的被请求节点的组播地址
作用:1、在IPV6中,没有ARP。ICMP代替了ARP的功能,被请求节点的组播地址被节点用来获得相同本地链路上邻居节点的链路层地址
3、用于重复地址检测DAD,在使用无状态自动配置将某个地址配置为自已的IPV6地址之前,节点利用DAD
验证在其本地链路上该地址是否已经被使用。
前缀:FF02:0000:0000:0000:0000:0001:FFxx:xxxx/104
FF02::1:FFxx:xxxx/104
如何产生:被请求节点组播地址的前104位固定,将IP地址的后24位移下来填充到后面就可以了
例如:IPv6---2001::1234:5678/64
被请求节点组播地址---FF02::1:FF34:5678/104
其中FF02::1:FF为固定部分,共104位
组播IP地址到MAC地址的映射:
映射规则:组播MAC地址的前16位固定为0x3333,将组播IPV6地址的后32位直接映射到组播MAC地址的后32位就可以了。
例:IPV6地址为--FF12::1234:5678/64
对应的组播MAC地址为--3333:1234:5678
0x3333为固定前缀
例:所有节点的组播地址:FF02::0001
对应的组播MAC地址:3333:0000:0001
c.组播地址到MAC地址的映射:
组播地址是在网络层中应用,在以太网中,还需要链路层来封装传输数据帧,所以需要将组播地址映射成MAC地址。IPv4中,其映射关系是前24位固定为0100.5E,第25位为0,然后再加上组播地址的低23位。而在IPv6中,映射关系是前16位固定为3333,再加上组播地址的低32位,构成了48位MAC地址。如组播地址为FF02::1111:AAAA:BBBB,则对应的MAC地址为3333.AAAA.BBBB。
5、任播地址Anycast address:
若某个数据包的目标地址是任播地址,该数据包将被发送到路由意义上最近的一个网络接口,即one-to-nearest(一到近)模式,如:Mobile方面的特性,移动设备漫游到其他区域,不必接入原始的接入点,只需要找到最近的即可。用于表示一组不同节点的接口。
为了和单播地址区分,任播地址一般约定64位接口ID为全0。与IPv4不同,全0的网络地址和全1的广播地址不能分配给设备使用在,而IPv6主机位全是0的任播地址和全1的地址是能供设备使用的。
6、必须的IPV6地址:
一旦节点启用IPV6,那么接口就会自动生成下列地址
1、本地链路地址
2、回环地址
3、所有节点多播地址FF02::1
4、如果是路由器,还会有FF02::2
5、被请求节点的组播地址
注意:串口和loopback口会借用以太口的MAC地址来生成link-local地址。
7、内嵌入IPv4的兼容地址:
过渡技术一般分为三类:双协议栈技术、协议转换技术、隧道技术,其中双协议栈一般用于在IPv4网络中建立IPv6自动隧道,从而将IPv6孤岛连接起来,在IPv6侧使用兼容地址,IPv4侧提取兼容地址中的v4地址信息,构建IPv4报头,然后对IPv6进行封装。常见的兼容地址有:::FFFF/96+32位IPv4;6to4使用2002:IPv4:子网ID:接口ID;ISATAP隧道使用固定前缀:0000:5EFE:IPv4
8、EUI-64:Exteded Unique Interface-64
EUI-64 地址使用 U/L 和 I/G 位的方式与 IEEE 802 地址相同,用于网络适配器的传统接口标识可使用称为 IEEE 802 地址的 48 位地址。此地址由 24 位公司 ID(也称为制造商 ID)和 24位扩展ID(也称为底板 ID)组成。
公司 ID(唯一指派给每个网络适配器的制造商)和底板 ID(在装配时唯一指派给每个网络适配器)的组合,即可生成全局唯一的 48 位地址。这个 48 位地址也称为物理地址、硬件地址或媒体访问控制(MAC) 地址。
从图中看出:就是先把前24位的公司ID和后24位扩展ID中间插入了FFFE,再把第7位反转,使48位变成了64位,从原来MAC地址的三组变成了4组。
但在Windows中,为了私密性,不使用EUI-64转换规则,将接口ID随机化了我们看到随机标识符是enabled:
netsh interface ipv6 show global
启用EUI-64,可以用以下命令(管理员模式下运行):
netshell interface ipv6 set global randomizeidentifiers=disable store=persistent
华为交换机上启用eui-64并配置IP地址:
ipv6 enable
ipv6 address 2001::1/64 eui-64
ipv6 address FE80::1 link-local
dis ipv6 interface G0/0/0