一、单播地址

1、全局地址 Global Unicast Addresses(GUA)

这是全球可通信的唯一地址,

前64位是网络号,是分层结构,前48位是从Internet Assigned Numbers Authority (IANA) --> Regional Internet Registry (RIR) --> Internet Service Providers (ISPs) 或 Local Internet Registries (LIRs) 这些组织一层一层分下来的,后16位是划给一些组织或终端用户的子网id。

ipv6的redis集群地址配置 ipv6地址方案_tcp/ip

后64位是网络接口号,是由终端用户的mac地址直接生成的,因为mac地址是全局唯一的,所以可以保证生成的大概率是唯一的,注意是大概率唯一,所以在用户接入的时候要做确认,确认是唯一的才会让他用这个地址通信。

注意这个只是推荐的生成ipv6地址的方式,但是也有其他的方式,这个会在后面地址分配时提到。

2、链路本地地址 Link-local Unicast Addresses (LLA)

这个地址体现了ipv6即插即用的特点,前10bit是FE80,也就是1111 1110 00,后面54bit全是0,这个是预留可能以后要用,后64bit就是刚才GUA提到的由MAC地址生成的网络接口号,是把48位的mac地址,在最中间加上FFFE,然后再把这64位里的第七位取反,例如

AA:BB:CC:DD:EE:FF就会变成

A2:BB:CC:FF:FE:DD:EE:FF

这个地址只能在链路本地使用,插上网卡就生成,可以命令行里ipconfig看一下。

链路本地使用的意思就是都不能出层3的交换机,就是2层交换机可以转发,但3层交换机或者路由器就不会转发他的包了。

3、唯一本地地址 Unique Local Addresses (ULA)

这个就类似于v4的私有地址,可以在一个组织或一个机构内部通信,出了这个组织就不行了,前缀是FC00::/7,也就是1111 110,现在他只用了一半,就是1111 1101(FD00),另一半1111 1100现在没有被使用。然后后面40位是生成的伪随机数,每个组织都有一个,然后16位是留给组织划分子网用的。后64位就还是网络接口号。

二、多播地址(组播)

ipv6的redis集群地址配置 ipv6地址方案_网络_02

首先前8位是FF,代表组播,

然后是4位的标志位,0RPT,第一位固定是0,R是汇聚点标志,没讲,P是前缀标志,0就是普通的,1就是基于单播前缀的,T是说这个地址是临时的还是永久的,T=0说明组播地址是永久的,T=1说明是暂时地址。

然后是4位范围位,1、2、5、8、E分别代表接口本地范围、链路本地范围、站点(路由器)范围、组织机构本地范围、全球范围。

ipv6的redis集群地址配置 ipv6地址方案_ipv6的redis集群地址配置_03

剩下112位全是组播组id,这里记三个特殊的地址

1. group id是1,说明在该范围内广播,例如FF02::1,就说明是在链路本地广播

2. group id是2,全路由器地址,例如FF02::2,什么叫链路本地路由器

3. group id是FF02:0:0:0:0:1:FFXX:XXXX,前104位固定,所有GUA后24位相同的主机属于一个组播组,这个叫被请求节点的组播地址,只在本地链路有效

这个是更全的一张表 

ipv6的redis集群地址配置 ipv6地址方案_计算机网络_04

还有一种是基于单播前缀的多播地址,就是刚才提到的P=1、T=1的

ipv6的redis集群地址配置 ipv6地址方案_tcp/ip_05

plen是后面网络前缀的长度,是多少后面网络前缀就是多少比特

三、任播地址

也是一个地址对应一组网络接口,但是只有一个接口接收,谁接收由路由器决定,例如DNS服务就可以用这个来实现,只要选任播,路由器就会帮我选择一个DNS服务器,这样好啊,可以实现业务冗余,一个服务器坏掉了用户感觉不到,路由器会给他分配新的服务器。