IP与网络计算
缩写的 IPv6 是否相同?同时检查范围
使用工具
长 IPv6 字符串常让同地址看似不同目标,省略前导零和连续零可大改外观。排查日志漏搜或配置差异前,先用 IPv6 表记工具统一形式。
互换长短表示
2001:0db8:0000:0000:0000:0000:0000:0001
2001:db8::1分别输入后完整表示和数值相同。IPv6 由八组十六位构成,每组十六进制,0db8 去前零为 db8 值不变。:: 表示省略零组,不仅是两个分隔符。
十六进制大小写不改地址,2001:DB8::1 与小写文本不同但地址同。监控审查应区分原文与规范值,不必改原日志。
展开 :: 使总数为八组
2001:db8:0:1::1
2001:0db8:0000:0001:0000:0000:0000:0001可见五组 2001、db8、0、1、末 1,故 :: 补三组零。压缩会隐藏位位置,读 /64 等边界前先展开八组。
两处 :: 无法唯一分配省略组数,2001::db8::1 无效。压缩须可还原,不能随意改冒号。非十六进制或超长组也不应期待自动修成有效地址。
多段零也可统一表示
2001:db8:0:0:1:0:0:1 有两段等长零,工具输出 2001:db8::1:0:0:1,最长优先、同长取左。其他有效压缩形式不一定数值不同。
查目标是否改变就比完整或整数值;查是否符合格式规范则也看文本。分开数值身份与显示一致性,可减少无用变更通知而保留格式检查。
地址压缩与 /64 范围不同
2001:db8:1::1234 是单地址,加 /64 表前缀范围,网络为 2001:db8:1::,终点 2001:db8:1:0:ffff:ffff:ffff:ffff。:: 变短不缩位数或范围。
/64 共 2⁶⁴=18,446,744,073,709,551,616,不应全列。包含差异用 CIDR 范围比较,也不套 IPv4 广播保留机械减二。
末尾像 IPv4 仍可能是 IPv6
::ffff:192.0.2.1
::ffff:c000:201
0000:0000:0000:0000:0000:ffff:c000:0201192.0.2.1 对应十六进制 c000:0201,工具输出 ::ffff:c000:201。只取熟悉点分后缀可能丢 IPv6 语境,应先确认日志/API 表示再定匹配规则。
能解析不等于接通 IPv4/IPv6 网络。表记转换不配置隧道转换器也不连接目标,读取值与启用网络功能不同。
可读不等于可用
例子用文档前缀 2001:db8::/32,不指真实目标。语法有效不证明存在、路由或许可,SheepDev 只算输入,不 DNS 查询或探端口。
比日志值先看完整与整数,范围用 CIDR 计算,包含用 CIDR 比较。端口、接口标识和 URL 语法是另信息,应识别输入组成后给适当工具。
URL 中的 IPv6 还需区分括号的作用
https://[2001:db8::1]:8443/path 同时有 IPv6 冒号与端口分隔符。方括号属于 URL 语法,不是地址本身。地址转换输入 2001:db8::1,整个字符串则用 URL 分解。简单按冒号切分即使对 IPv4 有效,也可能误拆 IPv6。
展开八组有助核对零的位置,文字变长并不改变地址。台账与日志可先统一表示再比身份。仅前部相似也不能判定同网络,还需前缀长。地址相同与属于某范围是不同问题,后者用 CIDR 或包含比较。
2001:db8:: 是文档示例地址,解析成功不表示可从互联网到达。语法、分配、路由和访问控制需分别核对。先用规范化消除表示歧义,再继续定位。依靠 128 位值与前缀关系而非逐地址列举,才能处理巨大 IPv6 范围。