一、包结构
基本的 IPv4 报头包含 12 的字段,20 个字节长,options 和 padding 字段在需要时添加;
基本的 IPv6 报头 40 个 8 位 bit,即 40 个字节长,共 8 个字段;
下一个报头(Next Header): 该字段定义了紧跟在 IPv6 报头后面的第一个扩展报头(如果存在)的类型,或者上层协议数据单元中的协议类型;
二、地址分类
1、 单播地址
1)可聚合全局单播地址
二进制前缀高位 | HEX | allocation |
001x xxxx xxxx xxxx | 2000 – 3FFF | 可聚合全球单播地址(IANA to registers) |
2)本地站点地址
IPv4 中的私有地址;
3)链路本地
以 FE80::/10 为前缀,11-64 位为 0,外加一个 64bits 的接口标识(一般是 EUI-64)
4)未指定的地址
未指定地址:全 0 地址 ::0:0:0:0:0:0/128 或者 :/128
5)回环地址
:::10:0:0:0:0:1/128 或者::1/128
6)IPv4 兼容地址
0:0:0:0:0:0:192.168.1.2 或者::192.168.1.2(96 个 0)
2 多播地址
1)地址结构
组播地址最高位前8位固定为全 1FFXX::/8
Flags 4bits,0000:永久分配或众所周知的 ; 0001:临时的
Scop 用来限制组播数据流在网络中发送的范围。
0:预留;
1:节点本地范围; 单个接口有效,仅用于 Loopback 通讯
2:链路本地范围; 如 FF02::1 表示链路上的所有节点;FF02::9:表示链路上的所有 RIP 路由器
3:本地子网范围;
4:本地管理范围;
5:本地站点范围;
8:组织机构范围;
E:全球范围;
F:预留。
Group-ID 该字段长度可以为 112 位,用来标识组播组,而 112 位最多可以生成 2112 个组 ID ,
RFC2373 并没有将所有的 112 位都定义成组标识,而是建议仅使用该 112 位的最低 32 位组 ID,
将剩余的 80 位都置 0。
2)特殊路由地址
FF01::1 节点本地范围所有节点组播地址
FF01 ::2 节点本地范围所有路由器组播地址
FF02::1 链路本地范围所有节点组播地址
FF02::2 链路本地范围所有路由器组播地址
3)IPv6组播地址的MAC映射
4)被请求节点组播地址
在 IPv6 组播地址中,有一种特别的组播地址,叫做 Solicited-node 地址(被请求节点组播地址)。
Solicited-node 地址是一种特殊用途的地址.主要用于重复地址检测(DAD)和替代 IPv4 中的 ARP。
Solicited-node 地址由前缀 FF02::1:FF00:0 / 104 和 ipv6 单播地址的最后 24 位组成。
一个 IPv6 单播地址对应一个 Solicited-node 地址。Solicited-node 地址有效范围为本地链路范围。
地址格式: FF02:0:0:0:0:1:FFXX:XXXX,具体的对应关系如下