网络华为HCIA+HCIP IPv6
目录
IPv4现状
IPv6基本报头
IPv6扩展报头
IPv6地址
IPv6地址缩写规范
编辑
IPv6地址分配
IPv6单播地址分配
IPv6单播地址接口标识
IPv6常见单播地址 - GUA (2 / 3 开头)
IPv6常见单播地址 - ULA
IPv6常见单播地址 - LLA
IPv6组播地址(相当于IPv4里面的D类地址)
被请求节点组播地址
IPv6任播地址
IPv4 IPv6 对应关系
主机和路由器的IPv6地址
编辑 IPv6单播地址业务流程
NDP
DAD
地址解析
IPv4现状
2011年2月3日,IANA(Internet Assigned Numbers Authority,因特网地址分配组织)宣布将其最后的468万个IPv4地址平均分配到全球5个RIR(RegionalInternet Registry,区域互联网注册管理机构),此后IANA再没有可分配的IPv4地址。
IPv6基本报头
- IPv6包头由一个IPv6基本包头(必须存在)和多个扩展包头(可能不存在)组成。
- 基本包头提供报文转发的基本信息,会被转发路径上的所有设备解析。
IPv6扩展报头
IPv6地址
- IPv6地址的长度为128 bit。一般用冒号分割为8段,每一段16 bit,每一段内用十六进制表示。
- 与IPv4地址类似,IPv6也用“IPv6地址/掩码长度”的方式来表示IPv6地址,
- 例如2001:0DB8:2345:CD30:1230:4567:89AB:CDEF/64
- IPv6地址: 2001:0DB8:2345:CD30:1230:4567:89AB:CDEF
- 子网号: 2001:0DB8:2345:CD30::/64
- 例如2001:0DB8:2345:CD30:1230:4567:89AB:CDEF/64
IPv6地址缩写规范
IPv6地址分配
根据IPv6地址前缀,可将IPv6地址分为为单播地址、组播地址和任播地址。
IPv6单播地址分配
- 一个IPv6单播地址可以分为如下两部分:
- 网络前缀(NetworkPrefix):n bit,相当于IPv4地址中的网络ID。
- 接口标识(Interface Identify):(128-n)bit,相当于IPv4地址中的主机ID。
- 常见的IPv6单播地址如全球单播地址、链路本地地址等,要求网络前缀和接口标识必须为64 bit。
IPv6单播地址接口标识
- 接口标识可通过三种方法生成:
- 手工配置
- 系统自动生成
- 通过IEEEEUI-64规范生成
- 其中EUI-64规范最为常用,此规范将接口的MAC地址转换为IPv6接口标识。
IPv6常见单播地址 - GUA (2 / 3 开头)
- GUA(Global Unicast Address,全球单播地址),也被称为可聚合全球单播地址。该类地址全球唯一,用于需要有互联网访问需求的主机,相当于IPv4的公网地址。
- 通常GUA的网络部分长度为64 bit,接口标识也为64 bit。
- 全局路由前缀:由提供商指定给一个组织机构,一般至少为45 bit。
- 子网ID:组织机构根据自身网络需求划分子网。
- 接口标识:用来标识一个设备(的接口)
IPv6常见单播地址 - ULA
- ULA(Unigue Local Address,唯一本地地址)是IPv6私网地址,只能够在内网中使用。该地址空间在IPv6公网中不可被路由,因此不能直接访门公网。
- 唯一本地地址使用FC00::/7地址块,目前仅使用了FD00::/8地址段。FC00::/8预留为以后拓展用。
- ULA虽然只在有限范围内有效,但也具有全球唯一的前缀(虽然随机方式产生,但是冲突概率很低)。
IPv6常见单播地址 - LLA
- LLA(Link-Local Address,链路本地地址)是IPy6中另一种应用范围受限制的地址类型。LLA的有效范围是本地链路,前缀为FE80::/10.
- LLA用于一条单一链路层面的通信,例如IPv6地址无状态自动配置、IPv6邻居发现等。
- 源或目的IPv6地址为链路本地地址的数据包将不会被转发到始发的链路之外,换句话说,链路本地地址,有效范围为本地链路。
- 每一个IPv6接口都必须具备一个链路本地地址。华为设备支持自动生成和手工指定两种配置方式。
IPv6组播地址(相当于IPv4里面的D类地址)
- IPv6组播地址标识多个接口,一般用于“一对多”的通信场景。
- IPv6组播地址只可以作为IPv6报文的目的地址。
- Flags:用来表示永久或临时组播组。
- Scope:表示组播组的范围。
- Group ID:组播组ID。
被请求节点组播地址
- 当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。该地址主要用于邻居发现机制和地址重复检测功能。被请求节点组播地址的有效范围为本地链路范围。
IPv6任播地址
- 任播地址标识一组网络接口(通常属于不同的节点)。任播地址可以作为IPv6报文的源地址,也可以作为目的地址。
IPv4 IPv6 对应关系
分类 | IPv4 地址范围 | IPv6 地址范围 | 对应关系说明 |
---|---|---|---|
单播地址 | A 类:1.0.0.0 - 126.255.255.255 B 类:128.0.0.0 - 191.255.255.255 C 类:192.0.0.0 - 223.255.255.255 | 未特殊指定范围,可根据地址前缀等进行细分,如全球单播地址通常以 2000::/3 开始 | IPv4 和 IPv6 中的单播地址都是用于标识单个网络接口,在网络中进行一对一的通信。 |
组播地址 | D 类:224.0.0.0 - 239.255.255.255 | FF00::/8 | IPv4 的 D 类地址用于组播,IPv6 中以 FF 开头的地址段用于组播,功能类似,都是用于向一组特定的接收者发送数据。 |
广播地址 | 受限广播地址:255.255.255.255 网络广播地址:根据网络掩码确定,如对于 C 类网络 192.168.1.0/24,广播地址是 192.168.1.255 | 无直接对应概念,IPv6 中用组播来实现类似功能 | IPv4 广播地址用于向同一网络中的所有设备发送数据,IPv6 中不再使用广播概念,而是通过组播来实现类似的功能,即向一组特定的节点发送数据。 |
特殊地址 | 0.0.0.0:用于表示默认路由或尚未获取到有效 IP 地址的主机 127.0.0.1:本地回环地址,用于本地主机进行自我测试和通信 | ::1:本地回环地址 ::/0:默认路由 ::FFFF:0:0/96:用于与 IPv4 地址兼容的转换 | IPv4 和 IPv6 都有用于本地测试和特殊用途的地址,如回环地址等,虽然表示形式不同,但功能类似。 |
主机和路由器的IPv6地址
IPv6单播地址业务流程
- 一个接口在发送IPv6报文之前要经历地址配置、DAD、地址解析这三个阶段,NDP(Neighbor Discovery Protocol,邻居发现协议)扮演了重要角色。
NDP
- RFC2461定义了NDP,该RFC后来被RFC4861替代:
- NDP使用ICMPv6报文实现其功能。
DAD
- 无论通过何种方式配置了IPv6单播地址,主机或路由器都会:
- 通过ICMPv6报文进行DAD
- 仅当DAD通过之后才会使用该单播地址
地址解析
IPv6使用ICMPv6的NS和NA报文来取代ARP在IPy4中的地址解析功能。