按 ⌘K 切换工具
NETWORK
IPv6地址压缩工具
IPv6地址的压缩和展开。
ipv6-compress
- Compressed
- 2001:db8::ff00:42:8329
- Expanded (full)
- 2001:0db8:0000:0000:0000:ff00:0042:8329
§01 关于此工具
概述
同一个 IPv6 地址可以有很多种写法:2001:0db8:0000:0000:0000:ff00:0042:8329 和 2001:db8::ff00:42:8329 是同一个地址。两种写法在协议层面完全等价,但在配置文件里和字符串比较里就不是一回事了。这个工具接受任意合法的文本形式,同时给出规范的压缩形式和完全展开的八组形式——用来把配置、ACL 和日志里的地址统一成一种写法,或者比较两个只在记法上不同的地址,都很合适。
使用方法
- 在 IPv6 address 里输入或粘贴一个地址。完整写法和带
::的缩写形式都接受。 - 从结果表格里读 Compressed(最短形式:去掉前导零,最长的全零段折叠成
::)和 Expanded (full)(八组各 4 位十六进制)。两者都随输入更新。
示例
2001:0db8:0000:0000:0000:ff00:0042:8329→ 压缩为2001:db8::ff00:42:8329::1→ 展开为0000:0000:0000:0000:0000:0000:0000:0001fe80::1%eth0→ 在这里属于非法输入;请先去掉区域后缀
说明
输入必须是纯粹的十六进制组:区域标识符(%eth0)和内嵌 IPv4 的写法(::ffff:192.0.2.1)都不解析,会显示 “Invalid IPv6 address” 错误。按标准,:: 只允许出现一次。要判断两个地址是否相同,先各自展开再比对,比直接比较文本可靠得多。
FAQ
地址是在本地处理的吗?
是的。解析、展开和压缩都在浏览器里用字符串操作完成。任何地址都不会离开你的机器。
压缩形式遵循什么规则?
每一组的前导零会被去掉,连续全零组中最长的那一段被替换成 ::。一段至少要有两组才会被折叠,这与 RFC 5952 关于规范文本表示的建议一致。
我到底为什么需要展开形式?
有些配置文件、PTR 记录的生成过程,以及朴素的字符串比较,都要求带前导零的完整八组写法。另外,要判断两个写法不同的 IPv6 地址是不是同一个,先把两者都展开是最稳妥的办法。