IPv6 (Internet Protocol version 6)
干什么用的
IPv4 只有 43 亿个地址,早就不够了。IPv6 用 128 位地址,数量上彻底解决了这个问题。
★★ 但它不只是把地址变长 —— 头的结构被重新设计过,目的是让路由器转得更快。
为了转得快,删了三样东西
★★★ ① 没有头校验和 —— 反正上层(TCP/UDP)有,路由器省掉每跳重算。
★★★ ② 路由器不分片 —— 太大直接丢并回 ICMPv6,由源端减小包。所以 IPv6 里 PMTUD 是必须能通的。
★★★ ③ 头长固定 40 字节 —— 没有 IHL、没有可变选项,硬件不用解析就知道载荷在哪。选项挪到了扩展头链里。
★ 常见误解
★★★ 「IPv6 就是长一点的 IPv4」 —— 转发行为变了:不分片、无校验和、ARP 换成了 NDP(跑在 ICMPv6 上)。
★★★ 「可以像 IPv4 那样把 ICMP 全拦掉」 —— 绝对不行。IPv6 的邻居发现、地址配置、PMTUD 全靠 ICMPv6,拦掉等于断网。
★★ 「跳数限制和 TTL 不一样」 —— 就是同一个东西,只是改了个更准确的名字。