视频加载失败

IPv6 技术详解

1960 字
10 分钟
IPv6 技术详解

IPv6 技术详解#

一、IPv6概述#

  • IPv6定义:IETF 制定的下一代 IP 协议(RFC 8200),用于解决 IPv4 地址枯竭问题
  • IPv6 优势对比 IPv4
    • 地址空间大(128bit vs 32bit)
    • 简化头部(基本头 40 字节固定长度,中间设备无需分片)
    • 取消广播,使用组播替代
    • 内置 IPSec 安全支持
    • 流标签字段支持 QoS
    • 即插即用(SLAAC)
  • 地址空间:2^128 ≈ 3.4×10^38,可分配地址数远超 IPv4

二、IPv6地址格式与类型 🏷️高频考点#

2.1 地址格式#

  • 8 组 4 位十六进制,用冒号分隔
  • 示例完整地址:2001:0db8:0000:0000:0000:0000:0000:0001

2.2 简化规则#

  • 前导 0 可省略0db8db800011
  • 连续的 0 组可用 :: 缩写0000:0000:0000:0000:0000:0000:0000:0001::1
    • :: 在一个地址中只能出现一次
  • 示例:2001:0db8:0000:0000:0000:0000:0000:00012001:db8::1

2.3 地址类型#

类型说明前缀/范围
全球单播可在公网路由2000::/3
链路本地仅链路内有效,自动生成FE80::/10
唯一本地内部私有使用FD00::/8(FC00::/7 的子集)
回环本机测试::1/128
未指定默认/占位地址::/128
组播一对多通信FF00::/8
任播一对最近(格式同单播,分配给多接口)同单播格式

2.4 接口标识符(EUI-64)#

  • 接口标识符为 64 位,由 EUI-64 或手动配置生成
  • EUI-64 生成方法
    1. 在 MAC 地址(48bit)中间插入 FFFE,形成 64bit
    2. 将第 7 位(U/L 位)翻转(0→1 或 1→0)
  • 示例:MAC 00-11-22-33-44-55
    • 插入 FFFE:00:11:22:FF:FE:33:44:55
    • 第 1 字节 00 = 00000000,第 7 位翻转 → 00000010 = 02
    • 最终 EUI-64:02:11:22:FF:FE:33:44:55

三、ICMPv6 🏷️高频考点#

3.1 功能增强#

ICMPv6(RFC 4443)相比 ICMPv4 功能扩展:

  • 错误报告(目的不可达、包过大、超时、参数问题)
  • 信息查询(Echo Request/Reply)
  • NDP(邻居发现协议)
  • MLD(组播侦听发现)
  • PMTU 发现(通过 Packet Too Big 报文)

3.2 ICMPv6 类型表#

Type名称用途
1Destination Unreachable目的不可达
2Packet Too Big包过大(PMTU 发现)
3Time Exceeded超时(TTL 跳数耗尽)
4Parameter Problem参数问题
128Echo Request请求回显(ping)
129Echo Reply回显应答
130MLD Query组播侦听查询
131MLD Report组播侦听报告
132MLD Done组播侦听离开
133Router Solicitation (RS)路由器请求(NDP)
134Router Advertisement (RA)路由器通告(NDP)
135Neighbor Solicitation (NS)邻居请求(NDP)
136Neighbor Advertisement (NA)邻居通告(NDP)
137Redirect重定向(NDP)

四、IPv6邻居发现协议NDP 🏷️高频考点#

NDP(Neighbor Discovery Protocol) 使用 ICMPv6,替代 IPv4 中的 ARP + ICMP 路由发现 + 重定向功能。

4.1 NDP 报文功能#

报文ICMPv6 Type功能
RS(Router Solicitation)133主机请求路由前缀信息
RA(Router Advertisement)134路由器通告前缀/跳数/M标志位
NS(Neighbor Solicitation)135邻居请求(类似 ARP Request)
NA(Neighbor Advertisement)136邻居通告(类似 ARP Reply)
Redirect137告知主机更好的下一跳

4.2 DAD(重复地址检测)#

  • DAD(Duplicate Address Detection):地址配置前检测是否冲突
  • 使用 NS/NA:节点发送 NS(目标地址为待检测地址),若无 NA 响应则地址可用
  • 链路本地地址必须经过 DAD

五、IPv6地址配置 🏷️高频考点#

方式说明适用场景
手动配置ipv6 address 命令服务器、路由器互联
SLAAC通过 RA 报文获取前缀,自动生成 EUI-64终端自动获取
DHCPv6(有状态)服务器分配地址+其他配置集中管理
DHCPv6(无状态)仅提供 DNS 等配置,地址由 SLAAC 分配仅需配置参数
链路本地自动生成接口使能 IPv6 后自动生成 FE80::/10所有接口

RA 报文标志位(M/O/A)

  • M(Managed)=1:使用 DHCPv6 有状态获取地址
  • O(Other)=1:使用 DHCPv6 获取其他配置
  • A(Autonomous)=1:使用 SLAAC 自动配置

六、IPv6路由协议 🏷️高频考点#

6.1 OSPFv3#

  • 协议号 89,支持 IPv6
  • 使用链路本地地址建立邻居、同步 LSDB
  • Area 概念同 OSPFv2(骨干 Area 0)
  • OSPFv3 与 OSPFv2 区别
    • 基于链路(Link)而非网段:同一链路可运行多实例
    • 支持单实例多协议(通过 Instance-ID 区分)
    • 取消认证字段(改用 IPsec)
    • LSDB 同步基于链路本地地址
    • 支持 IPv6 与 IPv4 双栈(多拓扑)

6.2 MP-BGP for IPv6#

  • BGP4+ 扩展(MP-BGP),使用 MP-BGP 承载 IPv6 路由
  • 使用 MBGP 扩展能力(AFI=2,SAFI=1 单播/2 组播)
  • 支持 IPv4/v6 单播路由混合传递

6.3 RIPng#

  • UDP 521 端口,组播地址 FF02::9
  • 基于 IPv6,与 RIPv2 类似(距离向量,跳数上限 15)

七、DHCPv6 🏷️高频考点#

7.1 基本参数#

  • DHCPv6 端口:客户端 UDP 546,服务器 UDP 547
  • 使用组播地址 FF02::1:2(All DHCPv6 Relay Agents and Servers)

7.2 DHCPv6 模式#

模式说明RA 标志
有状态(Stateful)服务器分配地址+其他配置M=1
无状态(Stateless)仅提供 DNS 等配置,地址由 SLAAC 分配M=0, O=1

7.3 其他特性#

  • DHCPv6 中继(Relay):跨网段转发 DHCPv6 报文
  • DHCPv6 PD(前缀委派):向下游设备委派 IPv6 前缀,常用于运营商→企业

八、IPv4到IPv6过渡技术 🏷️高频考点#

8.1 双栈(Dual Stack)#

  • 设备同时运行 IPv4 和 IPv6 协议栈
  • 应用根据 DNS 解析结果选择协议
  • 优点:简单;缺点:需同时维护两套协议、需要双地址

8.2 隧道技术(Tunneling)#

隧道类型说明起始地址要求
GRE 隧道通用封装,IPv6 over IPv4手动配置
手动隧道IPv6 over IPv4 手动隧道双栈边界
6to4自动隧道,前缀 2002::/16,IPv4 嵌入地址自动
ISATAP站点内自动隧道,用于 IPv4 中的 IPv6 节点自动

8.3 NAT64 / DNS64#

  • NAT64:IPv6 网络访问 IPv4 网络,做协议转换
  • DNS64:将 IPv4 DNS 查询结果合成 AAAA 记录返回给 IPv6 客户端

8.4 过渡技术拓扑图#

IPv4网络

过渡设备

IPv6网络

IPv6报文

转换后IPv4报文

IPv4报文

转换后IPv6报文

IPv6主机

NAT64/DNS64

或隧道边界

IPv4服务器

IPv4网络

过渡设备

IPv6网络

IPv6报文

转换后IPv4报文

IPv4报文

转换后IPv6报文

IPv6主机

NAT64/DNS64

或隧道边界

IPv4服务器

九、华为设备配置命令示例#

9.1 接口使能 IPv6#

Terminal window
<Huawei> system-view
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] ipv6 enable

9.2 配置全球单播地址#

Terminal window
[Huawei-GigabitEthernet0/0/1] ipv6 address 2001:db8::1/64
# 或使用 EUI-64 自动生成接口标识符
[Huawei-GigabitEthernet0/0/1] ipv6 address 2001:db8::/64 eui-64

9.3 配置链路本地地址#

Terminal window
# 默认使能 IPv6 后会自动生成链路本地地址,也可手动指定
[Huawei-GigabitEthernet0/0/1] ipv6 address fe80::1 link-local

9.4 使能 RA 发送#

Terminal window
# 默认 RA 报文不发送,需手动开启
[Huawei-GigabitEthernet0/0/1] undo ipv6 nd ra halt
# 配置 RA 报文 M/O 标志位(有状态 DHCPv6)
[Huawei-GigabitEthernet0/0/1] ipv6 nd autoconfig managed-address-flag
[Huawei-GigabitEthernet0/0/1] ipv6 nd autoconfig other-flag

9.5 OSPFv3 配置#

Terminal window
[Huawei] ospfv3 1
[Huawei-ospfv3-1] router-id 1.1.1.1
[Huawei-ospfv3-1] area 0.0.0.0
[Huawei-ospfv3-1-area-0.0.0.0] quit
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] ospfv3 1 area 0

9.6 DHCPv6 服务器配置#

Terminal window
[Huawei] dhcp enable
[Huawei] ipv6
[Huawei] dhcpv6 pool pool1
[Huawei-dhcpv6-pool-pool1] address prefix 2001:db8::/64
[Huawei-dhcpv6-pool-pool1] excluded-address 2001:db8::1
[Huawei-dhcpv6-pool-pool1] dns-server 2001:4860:4860::8888
[Huawei-dhcpv6-pool-pool1] quit
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] dhcpv6 server pool1

9.7 DHCPv6 中继配置#

Terminal window
[Huawei] dhcp enable
[Huawei] ipv6
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] ipv6 enable
[Huawei-GigabitEthernet0/0/1] ipv6 address fe80::1 link-local
[Huawei-GigabitEthernet0/0/1] dhcpv6 relay destination 2001:db8::2

9.8 6to4 隧道配置#

Terminal window
# 假设隧道源接口 GigabitEthernet0/0/1 的 IPv4 为 10.1.1.1
[Huawei] interface Tunnel0/0/1
[Huawei-Tunnel0/0/1] tunnel-protocol ipv6-ipv4 6to4
[Huawei-Tunnel0/0/1] source GigabitEthernet 0/0/1
[Huawei-Tunnel0/0/1] ipv6 enable
[Huawei-Tunnel0/0/1] ipv6 address 2002:0101:0101::1/64
# 配置路由指向 6to4 网络
[Huawei] ipv6 route-static 2002::/16 Tunnel0/0/1

十、常见故障排查#

10.1 IPv6 邻居无法发现#

可能原因

  • 接口未使能 IPv6
  • 链路本地地址冲突(DAD 失败)
  • ACL 过滤了 ICMPv6 NS/NA 报文

排查命令

Terminal window
display ipv6 interface GigabitEthernet 0/0/1
display ipv6 neighbors
display ipv6 neighbors all

10.2 SLAAC 地址无法生成#

可能原因

  • 路由器未发送 RA(默认 ipv6 nd ra halt 启用)
  • 链路本地地址未生成(DAD 失败)
  • RA 中 A 标志位为 0

排查命令

Terminal window
display ipv6 interface GigabitEthernet 0/0/1
# 查看接口 RA 配置
display ipv6 nd interface GigabitEthernet 0/0/1

10.3 OSPFv3 邻居不建立#

可能原因

  • Router-ID 冲突
  • Area 配置不一致
  • 链路本地地址无法通信
  • 接口未使能 OSPFv3

排查命令

Terminal window
display ospfv3 peer
display ospfv3 interface
display ospfv3 lsdb

10.4 常用命令汇总#

命令用途
display ipv6 interface查看接口 IPv6 配置
display ipv6 interface brief查看所有接口 IPv6 简要信息
display ipv6 neighbors查看 IPv6 邻居表
display ipv6 routing-table查看 IPv6 路由表
display ospfv3 peer查看 OSPFv3 邻居
display ospfv3 lsdb查看 OSPFv3 LSDB
display dhcpv6 pool查看 DHCPv6 地址池
ping ipv6IPv6 Ping 测试
tracert ipv6IPv6 路径跟踪

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
IPv6 技术详解
https://blog.zs13.tech/posts/网络/01-路由协议/ipv6技术详解/
作者
zs13
发布于
2026-08-05
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
zs13
Hello, I'm Zs13.
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
22
分类
1
标签
46
总字数
64,717
运行时长
0
最后活动
0 天前
站点信息
构建平台
EdgeOne Pages
博客版本
Firefly v6.15.10
文章许可
CC BY-NC-SA 4.0