一、单播地址
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。
后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位就还是网络接口号。
二、多播地址(组播)
首先前8位是FF,代表组播,
然后是4位的标志位,0RPT,第一位固定是0,R是汇聚点标志,没讲,P是前缀标志,0就是普通的,1就是基于单播前缀的,T是说这个地址是临时的还是永久的,T=0说明组播地址是永久的,T=1说明是暂时地址。
然后是4位范围位,1、2、5、8、E分别代表接口本地范围、链路本地范围、站点(路由器)范围、组织机构本地范围、全球范围。
剩下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位相同的主机属于一个组播组,这个叫被请求节点的组播地址,只在本地链路有效
这个是更全的一张表
还有一种是基于单播前缀的多播地址,就是刚才提到的P=1、T=1的
plen是后面网络前缀的长度,是多少后面网络前缀就是多少比特
三、任播地址
也是一个地址对应一组网络接口,但是只有一个接口接收,谁接收由路由器决定,例如DNS服务就可以用这个来实现,只要选任播,路由器就会帮我选择一个DNS服务器,这样好啊,可以实现业务冗余,一个服务器坏掉了用户感觉不到,路由器会给他分配新的服务器。