HCIE-DATACOM · 第 10 章

IPv6 技术

地址体系 · ND 邻居发现 · SLAAC 与 DHCPv6 · OSPFv3 · 过渡技术(双栈 / 隧道 / NAT64)—— 运营商现网的主航道,论述题"为什么升级 IPv6"的标准答案库。

授课 6 学时 实验 4 学时 笔试中频 ★★★☆☆
HCIE-DataCom 全套课件第 10 章 / 共 13 章

本章学习目标

原理层

  • 手写压缩规则与地址分类
  • ND 五报文替代了 IPv4 的哪些机制
  • 三种地址配置方式的选择逻辑
  • 过渡三路线(双栈/隧道/翻译)的边界

实战层

  • OSPFv3 + BGP4+ 双栈组网
  • 排错:无地址/网关/路由三类故障
  • 完成隧道迁移实验(6to4/手工)
考试定位笔试稳定 5~8 题(地址类型/ND/过渡技术选型);LAB 出现"IPv6 互通+选路控制"复合题频率上升。
10.1

IPv6 地址体系

128 位宇宙 · 规则很少,细节很多

书写与压缩规则

  • 128bit 分 8 组,4 位十六进制,冒号分隔:2001:0DB8:0000:0000:0000:FF00:0042:8329
  • 规则一:每组前导 0 可省 → 2001:DB8:0:0:0:FF00:42:8329
  • 规则二最长的一段连续全 0 组可缩成 ::整个地址只能出现一次2001:DB8::FF00:42:8329
  • 前缀长度表示法:2001:DB8::/32,掩码必须是比特对齐的概念(无 A/B/C 类)
经典坑2001::1::1 非法(两个 ::);::/0 是默认路由;::1 环回;:: 未指定地址(DAD 冲突时、DHCPv6 请求源地址)。
前缀类型说明
2000::/3GUA 全球单播公网可路由(2000-3FFF)
FC00::/7ULA 唯一本地内网私有(FD 起头)
FE80::/10链路本地自动生成、不跨路由、OSPFv3 通信用
FF00::/8组播FF02::1 全节点 / ::2 全路由器 / ::5 OSPF / ::12 VRRP / ::1:2 DHCPv6
任播同地址多节点(就近服务,DNS 根/网关)
回环 ::1 / 未指定 ::
没有广播!IPv6 砍掉广播: ARP→NS/NA 组播、DHCP→组播/单播、广播解析全变请求节点组播(FF02::1:FFxx:xxxx,对应地址后 24bit)。

EUI-64 与接口标识符

MAC 48bit:00E0-FC12-3456 中间插入 FFFE → 第七位(U/L)取反 EUI-64:02E0:FCFF:FE12:3456 前缀(64) + EUI-64(64) = 128bit 完整地址
EUI-64 生成接口 ID:插 FFFE + 翻转 U/L 位
  • 手动 / EUI-64 / 随机化(隐私扩展,终端默认开,服务器环境常关)
  • 链路本地地址 = FE80:: + 接口 ID(无论有没有全球地址,必自动生成
笔试点路由表下一跳常用 链路本地地址 + 出接口(fe80::xxx——GigabitEthernet0/0/1);ping 链路本地必须带 %接口(eNSP/Windows: ping fe80::1 -i 接口)。
10.2

ND 邻居发现与地址配置

ICMPv6 五兄弟接管一切"发现"类工作

ND 五报文全解

报文类型干什么替代 IPv4 的…
RS 路由器请求133主机催路由器发 RA(DHCP 的发现阶段类似)
RA 路由器通告134通告前缀/网关/参数(M/O 位)DHCP 默认路由下发
NS 邻居请求135问"这个 IP 谁的"(含 DAD)ARP Request
NA 邻居通告136答"是我"+ 主动通告变化ARP Reply / 免费 ARP
Redirect 重定向137"走邻居更近"ICMPv4 重定向

DAD 重复地址检测

  • 新地址启用前,发 NS(目标=自己,源=::)
  • 收到 NA 回应 → 冲突,地址作废(invalid)
  • 请求节点组播地址:FF02::1:FF + 地址后 24bit

RA 里的 M/O 位

  • M=1:地址用 DHCPv6(有状态)
  • O=1:其他参数(DNS)用 DHCPv6(无状态)
  • M=O=0:全靠 RA 前缀自配(SLAAC)

地址配置三选一

SLAAC 无状态

  • 主机 RS → 路由器 RA(含 /64 前缀)
  • 自己拼接口 ID → DAD → 完事
  • 零服务器;缺点:无 DNS 下发(需 RDNSS 扩展)、难审计

DHCPv6 无状态

  • 地址仍 SLAAC,只来取 DNS 等参数(O 位)
  • 轻量补充

DHCPv6 有状态

  • 服务器统一发地址(M 位),记录绑定
  • 可管可控;终端需支持
# 路由器侧:SLAAC + 无状态 DNS
ipv6 enable
interface GigabitEthernet0/0/1
 ipv6 address 2001:DB8:1::1/64
 undo ipv6 nd ra halt          # 默认抑制RA!必须放行
# 有状态 DHCPv6
dhcp enable
ipv6 pool POOL1
 address prefix 2001:DB8:2::/64
 dns-server 2001:DB8::53
interface GigabitEthernet0/0/2
 ipv6 address 2001:DB8:2::1/64
 ipv6 nd autoconfig managed-address-flag   # M=1
排错第一刀主机拿不到地址:十有八九忘了 undo ipv6 nd ra halt(华为默认不发 RA)。
10.3

IPv6 路由

OSPFv3 · BGP4+ · 静态

OSPFv3 与 IPv6 静态

  • OSPFv3 基于链路运行:接口使能、链路本地建邻
  • 同链路多实例(Instance ID)多进程共存
  • 认证不在协议内 → 依赖 IPsec
  • Hello 里无掩码字段(前缀独立 LSA 描述)
  • 新增 LSA:Link-LSA(8)、Intra-Area-Prefix-LSA(9)
  • Router ID 仍是 32bit 点分十进制,必须手工配(IPv6 地址不能当 RID)
# OSPFv3 最小配置
ospfv3 1
 router-id 1.1.1.1
interface GigabitEthernet0/0/0
 ipv6 enable
 ospfv3 1 area 0

静态路由(注意下一跳)

# 全局地址下一跳
ipv6 route-static 2001:DB8:10:: 64 2001:DB8:12::2
# 链路本地下一跳(必须带接口)
ipv6 route-static 2001:DB8:10:: 64 \
 GigabitEthernet0/0/0 FE80::2E0:FCFF:FE11:22
# 默认路由
ipv6 route-static :: 0 2001:DB8:12::2

BGP4+

  • MP-BGP 承载(v4 邻居传 v6 族,第 4 章)
  • NEXT_HOP 可为 v6 或 v4 映射地址(::ffff:x.x.x.x)
10.4

过渡技术

双栈是终点,隧道是过程,翻译是兜底

过渡三路线

双栈 Dual Stack

接口同时 v4/v6,端到端各自跑。凡是新建设备必支持,也是隧道/翻译的底座。

隧道 Tunnel

v6 over v4:手工隧道 / GRE / 6to4 / ISATAP / 6PE / 6VPE。适合孤岛互联、骨干先行。

翻译 NAT64

DNS64 合成 AAAA;有状态/无状态 NAT64、IVI。适合纯 v6 客户端访问 v4 老应用。

隧道前缀/规则要点
手工 / GRE两端 v4 可达 + 静态点对点,需双向路由,最常用
6to42002::/16,v4 公网地址嵌入(2002:V4HEX::/48)自动隧道、中继路由器;站点前缀派生
ISATAP接口 ID = 0000:5EFE + v4 地址主机接入型自动隧道(内网过渡)
6PE / 6VPEMPLS 骨干v6 走标签,第 7 章呼应
论述模板"企业 IPv6 演进三步走":① 新系统/出口双栈化(终端 SLAAC + 核心 OSPFv3);② 跨域 v6 孤岛先用 6to4/手工隧道缝合;③ v6-only 新园区用 NAT64+DNS64 访问存量 v4 应用;全程地址规划(/48 分配、/64 到链路)与安全(ND 防护、ACL v6 版)同步。

IPv6 安全与排错

  • 无 ARP → 但有 ND 欺骗(NS/NA 伪造)→ RA Guard / ND Snooping / SAVI
  • ACL 也要 v6 版(acl ipv6 number 3000);OSPFv3 认证走 IPsec
  • 组播扫描面变大?请求节点组播只 24bit 后缀 → 扫描难度仍高
# 排错命令包
display ipv6 interface brief        # 地址/状态
display ipv6 interface GigabitEthernet0/0/0   # ND细节/DAD
display ipv6 routing-table
display ospfv3 peer / routing
display ipv6 neighbors               # ND表
ping ipv6 / tracert ipv6

三类典型故障

  1. 无地址:RA 被抑制(undo ipv6 nd ra halt)/ M 位配错 / 交换机放行组播
  2. 有地址无网关:RA 丢失或网关设备未启用 v6 转发;检查默认路由来源(RA vs DHCP)
  3. 有网关不通:链路本地邻居表空 → NS/NA 被拦(VLAN/ACL);或中间设备 v6 未开(display ipv6 interface 看 FORWARDING 状态)
牢记IPv6 转发由 ipv6 全局命令开启,设备默认不转发 v6 报文——忘了它,邻居全好就是不通。

核心知识要点速记 考前 10 分钟过一遍

考点必背细节频度
地址体系128 bit、8 组 16 bit、双冒号每地址只能用一次;全球单播 2000::/3、链路本地 FE80::/10(每接口自动有)、ULA FC00::/7、组播 FF00::/8;IPv6 无广播★★★★
EUI-64MAC 48bit → 中间插 FFFE(共 64bit)→ 第 7 位(U/L 位)取反 —— 手算题年年出★★★★★
ND 五报文RS / RA(路由器周期+响应 RS)、NS / NA(代替 ARP,组播 MAC 33:33 前缀)、Redirect;请求节点组播 = FF02::1:FF + 目标地址后 24 bit★★★★★
地址配置标志A 位=SLAAC 前缀;M 位=有状态 DHCPv6 取地址;O 位=DHCPv6 取其他参数(DNS 等);无状态 DHCPv6 = M=0 + O=1;DAD 防重复★★★★★
OSPFv3 差异基于链路(Link-Local 邻居)、支持多实例(Instance ID)、认证交给 IPsec;新增 LSA 8(Link)与 LSA 9(Intra-Area-Prefix,地址与拓扑解耦);3/4 类改名 Inter-Area-Prefix / Router★★★★
BGP4+ / 6PEaddress-family ipv6 建邻居可复用 v4 会话;6PE = IPv6 路由打标签穿越 MPLS IPv4 骨干(无需全网双栈)★★★
过渡三路线双栈最直接;隧道:手动 GRE、6to4 = 2002::{IPv4 十六进制}::/48、ISATAP(接口 ID 0000:5EFE+IPv4);翻译:NAT64 + DNS64(IPv6-only 访问 IPv4)★★★★
排错入口display ipv6 interface verbose(地址/ND/前缀)、display ipv6 neighbors(代替 ARP 表)、display ospfv3 peer★★★
易错陷阱① EUI-64 取反的是 MAC 第 7 位(cc → cd),不是整体异或;② 链路本地地址永远是下一跳(路由表 FE80 开头),接口号必须有;③ 6to4 地址算的是站点前缀 2002:aabb:ccdd::/48,别算成主机位。

练习重点 笔试 × LAB 双线

笔试刷题方向

  1. EUI-64 手算:给 MAC 写完整接口标识(先插 FFFE 再翻位,两步别倒)
  2. ND ↔ ARP 对应:NS/NA/DAD 各相当于什么动作,RS/RA 谁发
  3. M/O/A 组合判断:给路由器 RA 标志判断 PC 地址与 DNS 从哪来
  4. 地址分类:给地址判断类型(重点 FF02::1:FFxx 请求节点、FE80)
  5. 过渡技术选型:双栈 / 隧道 / 翻译的适用场景与 6to4 前缀计算
达标线EUI-64 与请求节点组播两种生成计算 1 分钟内各完成一道零错误。

实验强化清单

  1. 双栈组网:OSPFv3 + BGP4+ 全打通(实验 10 主线)
  2. 三种地址获取各验证一次:SLAAC(A=1)、无状态 DHCPv6(O=1)、有状态 DHCPv6(M=1)
  3. 抓 NS/NA/DAD 报文,对照请求节点组播地址计算
  4. NAT64 出网:IPv6-only 客户端访问 IPv4 服务器全流程
验证命令自查display ipv6 interface verbosedisplay ipv6 neighborsdisplay ipv6 routing-tabledisplay dhcpv6 pool —— IPv6 排错先看 ND 再看路由。

本章小结

地址2000::/3 GUA / FE80 链路本地 / FF 组播(无广播)/ ULA 私有;:: 只能一次;EUI-64 插 FFFE 翻 U/L。
NDRS/RA(网关前缀下发,M/O 位)+ NS/NA(替代 ARP、DAD)+ 重定向;请求节点组播按后 24bit。
配置SLAAC(零依赖)/ 无状态 DHCPv6(只要 DNS)/ 有状态(M=1 可管);华为默认抑制 RA。
路由OSPFv3 基于链路、链路本地建邻、RID 仍 32bit;BGP4+ 走 MP-BGP;静态链路本地下一跳必须带接口。
过渡双栈(终点)→ 隧道(手工/GRE/6to4/ISATAP/6PE)→ 翻译(NAT64+DNS64)三段论。
排错地址(RA)→ 网关(RA/默认路由)→ 邻居(NS/NA)→ 转发(全局 ipv6)四步定位。

课后思考

为什么 IPv6 取消了广播?请求节点组播如何做到"定向打扰"?
SLAAC 场景下主机的默认路由从哪来?DNS 服务器地址又从哪来(原生协议 vs 扩展)?
OSPFv3 为什么用链路本地地址建邻居而不直接用全球单播地址?
6to4 前缀 2002:0A64:0A0A::/48 对应哪个 IPv4 公网地址?写出换算过程。
DHCPv6 有状态与无状态各自的触发条件是什么?企业网络两者混用时 M/O 位该怎么规划?

实验 10:IPv6 双栈 + 过渡 LAB · 2 学时

eNSP · 4 路由器OSPFv3 + 6to4 隧道

任务书

  1. R1-R2 双栈(v4 OSPF + OSPFv3 并行)
  2. PC 侧 SLAAC 拿地址(验证 undo ipv6 nd ra halt 的必要性)
  3. R3 为 v6 孤岛,经 R1-R2 的 v4 骨干建 手工隧道 恢复 v6 互通
  4. 再建 6to4 隧道(R3 用 2002: 派生前缀)对比配置量
  5. 排错演练:关掉全局 ipv6 / 抑制 RA / 拦截 NS,三种现象各定位一次
验证点预期
display ipv6 interface地址/ FORWARDING 状态正确
display ospfv3 peerFull、基于链路本地
ping6 跨隧道孤岛互通(tracert 显示 v4 骨干跳)
故障演练三类现象均可 3 分钟定位
串联提示本题与第 4 章 BGP4+、第 7 章 6PE 概念形成"IPv6 路由全家桶",论述题常混编。