SWE / SRE / Frontend · System Design / 基础

TikTok IPv4 与 IPv6:地址、发现、MTU 与双栈排障

比较协议与部署差异,不把 IPv6 当天然加密或单纯更长地址。

题目重点:比较协议与部署差异,不把 IPv6 当天然加密或单纯更长地址。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 协议概念与具体网络配置分开;IPv6可与IPv4双栈,支持路径需分别验证。

解题路线

  1. IPv4地址32位,IPv6地址128位,表示/前缀不同。IPv6用邻居发现相关ICMPv6机制,不直接照搬ARP。
  2. IPv6基本头与扩展头不同,路由器不做IPv4式中途分片,Path MTU发现和必要ICMPv6不能被盲目全封。
  3. DNS A/AAAA、路由、防火墙和监听socket都要覆盖双栈;某地址族失败可能被客户端回退掩盖,也可能造成明显等待。
  4. 地址空间大不等于自动安全/加密;访问控制、TLS和最小暴露仍需设计。NAT存在与否不是安全边界。

手动走一遍

A可达、AAAA不可达时双栈客户端可能尝试失败路径,排障分别测两个族。TCP握手成功但大响应卡住,检查MTU和ICMPv6路径,而非只查DNS。

规模与取舍

两族可能走不同路由,延迟/吞吐不能由地址位数推断;邻居表、规则和连接状态有规模限制。

易错点与追问

容易失分的边界

  • IPv6默认所有流量加密。
  • 禁全部ICMP提高安全无副作用。
  • A正常就代表DNS网络全正常。

继续深挖

  • Happy Eyeballs解决什么?
  • 链路本地地址为什么常需要接口scope?

技术参考

✓已复制微信号!