什么是 IPv6?和 IPv4 有什么区别?
面试考察点
-
基础概念掌握度:面试官不仅仅是想知道 IPv6 是什么,更是想确认你是否理解 IP 协议在整个网络体系中的定位,以及为什么要从 IPv4 演进到 IPv6。
-
对比分析能力:考察你能否从地址空间、头部格式、安全性、配置方式等多个维度系统性地对比两种协议,而不是只记住 "IPv6 地址更长" 这种表面结论。
-
技术趋势意识:看看你是否关注 IPv6 的实际落地情况(国内推进力度很大),以及在实际项目中是否接触过 IPv6 相关的适配工作。
核心答案
IPv6(Internet Protocol version 6)是 IETF 设计的下一代互联网协议,最核心的目的就是解决 IPv4 地址耗尽的问题。IPv4 地址只有 32 位,理论上限约 43 亿个,早就不够用了。IPv6 把地址长度直接拉到 128 位,地址数量达到了 2 的 128 次方——这个数大到什么程度呢?地球上每一粒沙子都能分配一个 IPv6 地址,还绰绰有余。
两者最关键的区别,一张表看明白:
| 对比维度 | IPv4 | IPv6 |
|---|---|---|
| 地址长度 | 32 位(4 字节) | 128 位(16 字节) |
| 地址表示 | 点分十进制,如 192.168.1.1 | 冒号分隔十六进制,如 2001:0db8::1 |
| 地址数量 | 约 43 亿(2³²) | 约 3.4×10³⁸(2¹²⁸) |
| 头部复杂度 | 可变长度,含校验和 | 固定 40 字节,简化了头部 |
| 配置方式 | 手动或 DHCP | 自动配置(SLAAC) |
| 安全性 | IPsec 可选 | IPsec 内置,原生支持 |
| 广播 | 支持广播(Broadcast) | 取消广播,用组播替代 |
| 分片处理 | 路由器和发送端都可以分片 | 只有发送端可以分片,路由器不分片 |
| NAT 需求 | 严重依赖 NAT | 地址充足,理论上不需要 NAT |
深度解析
一、地址表示法的差异
IPv4 我们都很熟悉了,4 个十进制数用点号分隔,每个数 0-255,比如 192.168.1.1。
IPv6 的表示规则完全不同,它用冒号分隔 8 组十六进制数:
完整格式:2001:0db8:0000:0000:0000:ff00:0042:8329
压缩格式:2001:db8::ff00:42:8329
压缩规则很简单:
- 每组前导的零可以省略(
0db8→db8) - 连续的全零组可以用
::替代(但一个地址中::只能出现一次)
我之前面试的时候,面试官就问过 "::1 代表什么?"——这就是 IPv6 的本地回环地址,相当于 IPv4 的 127.0.0.1。
几个特殊的 IPv6 地址要记一下:
| 特殊地址 | IPv6 表示 | 对应 IPv4 |
|---|---|---|
| 本地回环 | ::1 | 127.0.0.1 |
| 未指定地址 | ::(全零) | 0.0.0.0 |
| IPv4 映射地址 | ::ffff:192.168.1.1 | 无直接对应 |
二、头部格式对比
这个是面试官特别喜欢深挖的点。IPv6 的头部设计比 IPv4 精简了不少:
上面对比了两者的头部结构,IPv6 做了几个关键简化:
-
去掉校验和:IPv4 每经过一个路由器都要重新计算头部校验和(因为 TTL 变了),IPv6 直接去掉了这个字段,把校验交给上层协议(TCP/UDP),路由器转发效率更高。
-
去掉分片相关字段:IPv6 把分片信息移到了扩展头部,路由器不再需要处理分片,转发逻辑更简洁。
-
固定头部长度:IPv6 基本头部固定 40 字节,路由器解析起来更快。如果需要额外功能,通过 "下一头部"(Next Header)字段链接扩展头部,类似链表的结构。
说实话,这个设计确实优雅。路由器只需要处理固定格式的基本头部,扩展头部是端到端的,中间设备不用管。
三、为什么 IPv4 地址会耗尽?
这事儿说起来有点戏剧性。1981 年 IPv4 协议定型的时候,43 亿个地址看着简直是天文数字。但互联网的爆发远超预期:
- NAT 技术只是续命,不是根治方案。通过 NAT,一个公网 IP 可以让内网几十上百台设备共享,但这破坏了端到端通信模型,P2P 应用、VoIP、游戏联机都深受其害。
- CIDR(无类别域间路由)提高了地址利用率,但总量不变。
- 2011 年 IANA 把最后的 IPv4 地址块分配完毕,2019 年欧洲 RIPE NCC 也宣布耗尽。
国内推进 IPv6 的力度非常大,2017 年两办就印发了《推进互联网协议第六版(IPv6)规模部署行动计划》,现在各大运营商、云厂商、主流 App 都已经支持 IPv6 了。所以面试中问到这块,能结合实际落地情况聊两句,绝对是加分项。
四、IPv6 的自动配置(SLAAC)
IPv4 需要 DHCP 服务器来分配地址,或者手动配置。IPv6 原生支持无状态地址自动配置(SLAAC,Stateless Address Autoconfiguration),设备可以自己生成全球唯一地址,不需要 DHCP 服务器。
流程大致是这样的:
- 路由器定期发送 Router Advertisement(RA) 消息,里面包含网络前缀
- 设备收到网络前缀后,把自己的 MAC 地址(或随机生成的标识符)拼上去,组成完整的 128 位地址
- 做重复地址检测(DAD),确认没有冲突后开始使用
这块当年坑过我一把——早期 SLAAC 直接用 MAC 地址生成接口标识符,这意味着设备的 MAC 地址会暴露在公网地址里,存在隐私追踪风险。后来 RFC 4941 引入了临时地址机制,用随机生成的标识符替代 MAC 地址,这个问题才解决。
面试高频追问
-
IPv6 取消了广播,那怎么实现一对多通信?
用组播(Multicast)替代。IPv6 把广播的功能全部用组播来实现,比如原来的广播地址
255.255.255.255对应 IPv6 的ff02::1(所有节点组播组)。组播比广播更精准,只有加入了特定组播组的设备才会处理消息,减少了不必要的 CPU 中断。 -
双栈(Dual Stack)是什么?
IPv4 和 IPv6 共存的过渡方案。设备同时配置 IPv4 和 IPv6 两套协议栈,根据目标地址自动选择用哪个。目前绝大多数服务器和客户端都是双栈运行的。
-
IPv6 还需要 NAT 吗?
理论上不需要,地址够用。但实际部署中有些场景还是会用 NAT66(IPv6 到 IPv6 的地址转换),主要出于网络拓扑隐藏、多出口策略等管理需求,而不是因为地址不够。
常见面试变体
- "IPv4 和 IPv6 的头部有什么区别?IPv6 做了哪些简化?"
- "为什么 IPv6 取消了头部校验和?"
- "IPv6 是如何实现自动配置地址的?"
- "IPv4 到 IPv6 的过渡方案有哪些?"
记忆口诀
IPv4 vs IPv6:32 变 128 地址海量,头定四十转发更快,IPsec 内置安全上阶,自动配置无需 DHCP 来。
四个关键词:地址更大、头部更简、安全更强、配置更省。
总结
IPv6 最大的价值就是把地址空间从 32 位扩展到 128 位,从根本上解决了 IPv4 地址枯竭的问题。同时在头部设计、安全性、自动配置等方面都做了优化。面试中抓住 地址空间、头部简化、SLAAC、IPsec 内置 这几个核心差异点,配上双栈过渡的实际落地情况,基本就能让面试官满意了。
