目录
IPv6地址的表示方法
IPv6的分类
IPv6 全球单播地址
IPv6 多播地址
IPv6地址的表示方法
在 IPv6 中,每个地址占 128 位,地址空间大于 3.4 *10^ 38 。在想象得到的将来,IPv6的地址空间是不可能用完的
128位的IPv6地址使用冒号十六进制记法表示。每个 16 位的值用十六进制值表示,各值之间用冒号分隔:68E6:8C64:F:FFFF:0:1180:960A:FFFF
允许省去两个冒号之间的数中最前面的一串0,如000F可缩写为F
零压缩(zero compression),即一连串连续的零可以为一对冒号所取代:
FF05:0:0:0:0:0:0:B3 可以记为:FF05::B3
为保证零压缩不会产生歧义,规定在任意一个地址中只能使用一次零压缩
例如: 12AB:0:0:CD30:0:0:0:0
冒号十六进制记法可结合有点分十进制记法的后缀(用于IPv4向IPv6过渡):
0:0:0:0:0:0:128.10.2.1 或 ::128.10.2.1
IPv6地址前缀的书写方法采用“斜线记法”,用“地址/前缀长度”表示一个IPv6地址前缀,并且不再使用子网掩码:
如:12AB:0:0:CD30:0:0:0:0 的60位前缀 可记为:12AB:0:0:CD30::/60
IPv6的分类
IPv6 分组的目的地址可以是以下三种基本类型地址之一:
单播(unicast)地址 :用来唯一标识一个接口。单播就是传统的点对点通信,发送到单播地址
的分组将被传送给此地址所标识的一个接口。
多播(multicast)地址: 用来标识一组接口(通常属于不同结点)。多播是一点对多点的通信,发送到多播地址的分组将被传送给此地址所标识的所有接口。可以用所有结点多播地址来实现原IPv4广播地址的功能。
任播(anycast)地址: IPv6 新增类型。发送到任播地址的分组将被传送给此地址所标识的一
组接口中的一个,通常是距离源结点最近的一个。任播寻址目前尚处在实验阶段。
未指定地址 ::/128 只能作为源地址,表示发送结点地址未分配
IPv6 全球单播地址
全球路由选择前缀(Global Routing Prefix) 第一级地址,分配给各公司和机构,用于互联网中路由器的路由选择,相当于IPv4分类地址中的网络号。
子网标识符(Subnet ID) 第二级地址,用于各公司和机构创建自己的子网。
接口标识符(Interface ID) 第三级,指明主机或路由器单个的网络接口,相当
于IPv4分类地址中的主机号。
与IPv4不同,IPv6地址的接口标识符一般为 64 位,足够大,因而可以将各种接口的硬件地址直接进行编码。
IPv6定义了各种形式的硬件地址映射到这 64 位接口标识符的方法,包括如何将48位的以太网硬件地址转换为IPv6地址的接口标识符。
IPv6结点可以没有全球单播地址,但必须要有一个本地链路单播地址。
本地链路单播地址用于在单个链路上寻址,在诸如自动地址配置、邻居发现,或者在链路上没有路由器时使用。
IPv6结点在启动期间会自动创建一个在本地子网内唯一的本地链路单播地址。接
口标识符可以由接口硬件地址编码生成,也可以随机产生,也可用户手动配置。
IPv6 多播地址
标志位T为1,表示由IANA分配的永久多播地址。标志位T为0,表示由多播应用程序自己分配的非永久多播地址 ,即临时多播地址 。
范围字段指明了目的地址为该多播地址的IPv6分组的转发范围,例如,0x1表示本地接口范围(环回传输),0x2表示本地链路范围,0x5表示本地站点(Site)范围,而0xE表示全球范围。
所有结点地:标识本地接口或本地链路范围内的所有IPv6结点接口。所有IPv6结点必须配置该多播地址
所有路由器地址:标识本地接口、本地链路或本地站点范围内的所有IPv6路由器接口。所有IPv6路由器必须配置该多播地址
请求结点地址:每个IPv6结点会为接口的每个单播地址自动创建并配置一个请求结点多播地址,该地址由请求结点多播地址前缀“FF02:0:0:0:0:1:FF00::/104”和对应单播地址的后24位组成,作用范围为本地链路,用于地址解析等任务
与IPv4多播类似,为了在以太网中使用硬件多播来传输IPv6多播,IPv6多播地址
的后24位会被映射到以太网多播地址中[RFC 7042]
因此,结点在为以太网接口分配多播地址时,还需要将映射的以太网多播地址在
网卡中进行注册