1. IPv6 地址表示方式
IPv6 地址被表示为以冒号(:)分隔的一连串 16 比特的十六进制数。每个 IPv6 地址被分为 8 组,
每 组 的 16 比 特 用 4 个 十 六 进 制 数 来 表 示 , 组 和 组 之 间 用 冒 号 隔 开 , 比 如 :
2001:0000:130F:0000:0000:09C0:876A:130B。
为了简化 IPv6 地址的表示,对于 IPv6 地址中的“0”可以有下面的处理方式:
1、每组中的前导“0”可以省略,即上述地址可写为 2001:0:130F:0:0:9C0:876A:130B。
2、如果地址中包含一组或连续多组均为 0 的组,则可以用双冒号“::”来代替,即上述地址可写
为 2001:0:130F::9C0:876A:130B。
IPv6 地址由两部分组成:地址前缀与接口标识。其中,地址前缀相当于 IPv4 地址中的网络号码字
段部分,接口标识相当于 IPv4 地址中的主机号码部分。
地址前缀的表示方式为:IPv6 地址/前缀长度。其中,前缀长度是一个十进制数,表示 IPv6 地址最
左边多少位为地址前缀。
2. IPv6 的地址分类
IPv6 主要有三种类型的地址:单播地址、组播地址和任播地址。
1)、单播地址:用来唯一标识一个接口,类似于 IPv4 的单播地址。发送到单播地址的数据报文将
被传送给此地址所标识的接口。
2)、 组播地址:用来标识一组接口(通常这组接口属于不同的节点),类似于 IPv4 的组播地址。发
送到组播地址的数据报文被传送给此地址所标识的所有接口。
3)、任播地址:用来标识一组接口(通常这组接口属于不同的节点)。发送到任播地址的数据报文
被传送给此地址所标识的一组接口中距离源节点最近(根据使用的路由协议进行度量)的一
个接口。IPv6 中没有广播地址,广播地址的功能通过组播地址来实现。
3. 单播地址的类型
IPv6 单播地址的类型可有多种,包括全球单播地址、链路本地地址等。
1)、全球单播地址等同于 IPv4 公网地址,提供给网络服务提供商。这种类型的地址允许路由前缀
的聚合,从而限制了全球路由表项的数量。
2)、链路本地地址用于邻居发现协议和无状态自动配置中链路本地上节点之间的通信。使用链路
本地地址作为源或目的地址的数据报文不会被转发到其他链路上。
3)、环回地址:单播地址 0:0:0:0:0:0:0:1(简化表示为::1)称为环回地址,不能分配给任何物理接
口。它的作用与在 IPv4 中的环回地址相同,即节点用来给自己发送 IPv6 报文。
4)、 未指定地址:地址“::”称为未指定地址,不能分配给任何节点。在节点获得有效的 IPv6 地
址之前,可在发送的IPv6报文的源地址字段填入该地址,但不能作为IPv6报文中的目的地址。
4. 组播地址
另外,还有一类组播地址:被请求节点(Solicited-Node)地址。该地址主要用于获取同一链路上
邻居节点的链路层地址及实现重复地址检测。每一个单播或任播 IPv6 地址都有一个对应的被请求
节点地址。其格式为:
FF02:0:0:0:0:1:FFXX:XXXX
其中,FF02:0:0:0:0:1:FF 为 104 位固定格式;XX:XXXX 为单播或任播 IPv6 地址的后 24 位。
5. IEEE EUI-64 格式的接口标识符
IPv6 单播地址中的接口标识符用来标识链路上的一个唯一的接口。目前 IPv6 单播地址基本上都要
求接口标识符为 64 位。
不同接口的 IEEE EUI-64 格式的接口标识符的生成方法不同,分别介绍如下:
所有 IEEE 802 接口类型(例如,以太网接口、VLAN 接口):IEEE EUI-64 格式的接口标识符
是从接口的链路层地址(MAC 地址)变化而来的。IPv6 地址中的接口标识符是 64 位,而 MAC
地址是 48 位,因此需要在 MAC 地址的中间位置(从高位开始的第 24 位后)插入十六进制数
FFFE(1111111111111110)。为了使接口标识符的作用范围与原 MAC 地址一致,还要将
Universal/Local (U/L)位(从高位开始的第 7 位)进行取反操作。最后得到的这组数就作为
EUI-64 格式的接口标识符。