无需登录 数据私有 本地保存

IPv6 地址压缩/展开工具 - 省略前导零与零块

13
0
0
0

IPv6 地址压缩/展开工具

支持省略前导零与零块压缩,实时转换,完整验证

快捷示例: 完整地址 链路本地 环回地址 IPv4映射 混合零块 全零展开
压缩地址 省略前导零 & 零块
等待输入...
展开地址 完整32位十六进制
等待输入...
IPv6 压缩规则
  • 规则一:省略前导零 — 每个16位块中的前导零可省略
    :0001::1::00ab::ab:
  • 规则二:零块压缩 — 连续的全零块可用 :: 替代
    :0:0:0:::
  • 重要限制:: 在单个地址中只能使用一次
    否则无法确定省略了多少个零块
  • 全零块至少保留 — 孤立的零块压缩后保留一个 0
    0:0:1 不可缩写成 ::1 中间形式
常见问题
IPv6地址压缩是一种简化书写的方法。完整的IPv6地址由8组4位十六进制数(共32位,128比特)组成,形式如 2001:0db8:0000:0000:0000:ff00:0042:8329。通过省略前导零和压缩连续零块,可将其简化为更短的形式,如 2001:db8::ff00:42:8329,大幅提升可读性和书写效率。
双冒号 :: 是IPv6地址中用于替代连续全零块的缩写符号。它代表一个或多个连续的16位全零块(即 :0000:)。:: 在单个地址中只能出现一次,因为如果出现多次,解析器将无法确定每个 :: 分别代表多少个零块。例如 2001:db8::1 中,:: 代表5个全零块。
展开IPv6地址(还原为完整的32位十六进制格式)在以下场景中很有用:① 网络配置和路由表中通常要求完整格式以确保精确匹配;② 数据库存储时统一格式便于索引和查询;③ 进行地址比较、排序或计算时,展开格式避免了歧义;④ 某些网络设备和API可能只接受完整格式的IPv6地址。
有效的IPv6地址需满足:① 由冒号分隔的2~8个十六进制块组成(若包含 :: 则可少于8块);② 每个块为1~4位十六进制字符(0-9, a-f, A-F);③ :: 最多出现一次;④ 若嵌入IPv4地址(如 ::ffff:192.0.2.1),最后的点分十进制部分需为有效IPv4格式。总块数(含 :: 展开后)必须恰好为8。
压缩效果取决于地址中零块的数量和分布。完整IPv6地址固定为39个字符(含冒号),压缩后通常在6~25个字符之间。最极端情况——全零地址 0000:0000:0000:0000:0000:0000:0000:0000 可压缩为 ::(仅2个字符),压缩率达到约95%。典型的全局单播地址压缩率约为30%~50%。
IPv4映射IPv6地址(IPv4-mapped IPv6 address)是一种过渡技术地址,格式为 ::ffff:x.x.x.x,其中 x.x.x.x 是IPv4点分十进制地址。例如 ::ffff:192.168.1.1 表示IPv4地址192.168.1.1的IPv6映射形式。它在双栈网络中用于让IPv6应用程序与IPv4主机通信。展开后前96位为0,后32位为对应的IPv4地址。
::1 是IPv6的环回地址(loopback address),等价于IPv4中的 127.0.0.1。展开后为 0000:0000:0000:0000:0000:0000:0000:0001。它用于本机内部通信测试,发送到 ::1 的数据包不会离开本机网络栈。在IPv6中,环回地址只有这一个,不像IPv4有整个127.0.0.0/8网段。
当IPv6地址中存在多段连续零块时,根据RFC 5952标准,应优先压缩最长的连续零块序列。如果存在多个相同长度的最长序列,则压缩最左边(最先出现)的那一段。例如 2001:0:0:1:0:0:0:2 应压缩为 2001:0:0:1::2(压缩后面的3个零块,而非前面的2个)。
两者核心区别:①地址长度——IPv4为32位(约43亿个地址),IPv6为128位(约340万亿万亿万亿个地址);②表示方式——IPv4用点分十进制(如192.168.1.1),IPv6用冒号分隔的十六进制(如2001:db8::1);③NAT需求——IPv4普遍依赖NAT解决地址短缺,IPv6设计上支持端到端直接通信;④头部结构——IPv6头部更简洁高效,支持更好的QoS和安全性。