开发实战指南

IPv6 前缀:压缩写法与子网边界

展开等价 IPv6 写法,按比特掩码判断网段,避免字符串前缀比较。

Nav Tools ·

展开等价写法

双冒号压缩一段连续零组,在地址中只能出现一次,每组前导零也可省略。

不同字符串可能表示同一个 128 位地址,应比较解析值,不是显示文字。

2001:db8::1
2001:0db8:0000:0000:0000:0000:0000:0001
Same address.

按前缀掩码判断

/64 固定前 64 比特,不是压缩字符串的前几个字符,剩余 64 比特是主机部分。

用子网工具归一化网络并检查端点,startsWith 不能判断网段归属。

2001:db8:1234:5678::/64
Inside: 2001:db8:1234:5678::abcd
Outside: 2001:db8:1234:5679::1

不要套用 IPv4 广播减法

IPv6 不使用 IPv4 式广播地址,2 的 128-p 次方数量不应一概套用减二。

部署仍可能保留地址或约束子网,不能把所有数值地址都称为可用。

处理 URI 方括号与区域标识

URL authority 中 IPv6 字面地址需要方括号,以区别端口,本地链路地址还可能需要接口区域标识。

这些属于外层语法与作用域,不改变子网比特,公开样例使用文档前缀 2001:db8::/32。

参考资料

← 开发实战指南