先把它当成同一个号码的两种写法
你收到一张写得很满的快递单,另一张却把重复的内容省略了。只看长度,你可能以为它们不是同一个地址。IPv6 也容易给人这种感觉:上面是一长串带冒号的字符,下面的图里又出现八个小格,复制出来还比图上的短。
先别急着判断地址变了。打开本站首页,等查询结束,找到 IPv6 地址,再看下面的 IPv6 示意图。同一次成功查询里,地址行、八组示意图和图中的简写,是同一个地址的不同展示;复制按钮使用地址行所对应的简写。它们不是三次独立查询,也不是给你分配了三个地址。
本章只解决“怎么读、怎么还原、怎么对照复制结果”。两种协议的基础区别见第 2 章;如果这次没有查到 IPv6,先看未检测到的排查步骤,不要把下面的示例当成你自己的检测结果。
先说明示例
本章用 2001:db8::/32 范围内的文档专用地址讲解。图表均为模拟,不是访客地址,也不是可用来检验联网的目标。本站目前展示结果和示意图,并没有供你粘贴任意地址进行转换的输入框。
完整写法:八组,每组补齐四位
把长号码分格来读,会比一口气记住容易。普通的纯十六进制 IPv6 完整写法有八组,组与组之间用英文冒号 : 分开。每组补齐四个字符,八组一共是三十二个十六进制数字。这里的“完整”,指把可以省略的零都写出来,不是多出了一段地址。
十六进制是一种用十六个符号记数的方法:除了 0 到 9,还用 a 到 f。因此看到字母并不奇怪;g 则不属于这套数字。字母大小写不会改变地址的数值,本站当前会显示成小写。读的时候可以一组一组核对,不必把每组换算成日常十进制数字。
2001:0db8:0000:0000:0000:0000:00ab:0007
这就是本章反复使用的模拟地址。先数八个格子,而不是数屏幕上占了几行。本站首页的八组示意图把每组补齐四位,正好适合检查某个零到底落在哪一格。八格的作用是帮助看清写法,不能单凭其中一格就读出你的姓名、城市或网络速度。
先省前导零,不能随意删零
前导零就是一组数字最左边、排在有效数字前面的零。好比编号 0007 可以写成 7,但 7000 不能写成 7。IPv6 每组也一样:0db8 可以写成 db8,00ab 可以写成 ab,全零的一组 0000 先缩成 0。
不要把组内中间或末尾的零顺手删掉。0a07 去掉开头的零后是 a07,不是 a7;ab00 也不能缩成 ab。这些删法会改掉该组的数值,已经不是同一个地址。
第一步做完,模拟地址变成 2001:db8:0:0:0:0:ab:7。它仍有八组,只是每组没有补满四位。这是可读的地址写法,不需要为了“完整”而要求所有软件都保留那些零。
双冒号:省掉了多少组,数出来就知道
:: 叫作双冒号,可以代替连续的一组或多组全零组。它不是省略任意字符的万能符号,不能用来盖住 ab 这样的非零组。一个地址里至多出现一次双冒号,否则无法确定各处该补多少组。
- 把双冒号左边的组数数清楚。
2001:db8::ab:7左边有两组。 - 数右边的组数,这里也是两组。双冒号两侧一共已经写出四组。
- 用八减去四,得到四。双冒号在这里代替四个全零组,逐一补回
0000。 - 把其余组补到四位,得到前面那条完整写法,再按从左到右的顺序比较。
如果双冒号出现在开头或末尾,没有写内容的一侧就按零组计算。不要把 :: 本身当成两个普通分隔符,机械地数冒号往往会算错。判断的关键是已经写出来的有效组数,以及最终能否还原为八组。
本站的简写会再选择一种统一形式:连续全零组最长的那一段压成双冒号;若有两段同样长,选靠左的一段;只剩单独一组零时,不用双冒号去压缩它。“某种写法能表示这个地址”和“统一展示时选哪种写法”是两回事。其他软件出现不同但合法的表示,先还原比较,不要立即判为错误。
| 写法 | 判断 | 理由 |
|---|---|---|
2001:DB8::AB:7 | 与本章地址相同 | 大小写不改数值,本站统一小写 |
2001:db8:0:0:0:0:ab:7 | 与本章地址相同 | 八组都已写出,只省前导零 |
2001:db8::ab:70 | 是另一个地址 | 最后一组是 0070,不是 0007 |
2001:db8::ab::7 | 不是合法写法 | 一个地址出现两次双冒号 |
本站复制的到底是哪一串
现在回到首页看同一轮结果。IPv6 地址行给出统一简写;八组图中各格显示四位,图内还有简写。当前工具会先整理查询得到的 IPv6,再同时用于地址行、示意图和复制目标。因此,把八格抄成一条长串,与点击“复制 IPv6”得到的短串不同,并不表示复制遗漏。
手机屏幕比较窄时,地址行可以在冒号后折到下一行,这是排版换行,不是给地址插入新的空格。按钮从工具保存的地址文本复制,不是把页面所有可见内容连起来复制,也不会把图里的空白、标题和提示一起带走。
- 等查询结束,确认 IPv6 地址有值,再点击它对应的复制按钮。
- 看到“已复制”后,把结果粘贴到你信任的纯文本位置,检查开头、结尾和双冒号位置。
- 若要与八格对照,按前面的补零方法还原;不要为了凑成八格而在复制结果后面添加字符。
- 若提示没能自动复制,选中或长按地址手动复制,粘贴后重新核对。失败提示不等于已写入新的剪贴板内容,里面可能仍是旧文本。
本次没检测到 IPv6 时,对应复制按钮会不可用;两类地址都查不到时也不会提供可复制的新地址。不要从旧截图或前一轮粘贴记录里找一串文字,冒充本次结果。若按了重新查询,先等这轮结束,再与这轮保存的文本比较。
对照结果:先检查写法,再检查是否同一轮
最省事的比较方法,是把两条普通纯十六进制 IPv6 都还原为八组四位,统一大小写,再逐组比较。八组全相同,说明地址数值相同;其中一组不同,就不只是省略方式不同。这个判断只比较地址,不会证明两次网络连接、设备或查询时间也相同。
| 情况 | 先做什么 |
|---|---|
| 一条很长,一条很短 | 还原双冒号、补齐前导零后比较 |
| 只有英文字母大小写不同 | 统一成小写,再按组核对 |
| 同一页面的图与复制结果不同 | 先确认是完整写法与简写的区别,再检查复制是否成功 |
| 重新查询后有一组真的不同 | 分别保存两轮时间和结果,不先归因于显示压缩 |
比如你上午保存一条简写,晚上重新查询后发现尾部不同,不能只因为两条都带双冒号就说它们相同。也不要为排查读法而重启路由器:先把当前结果和复制文本对应起来。需要研究两轮地址是否变化,再参考重启前后的对照记录方法,把设备、网络和时间分开记清。
不属于这套八组练习的文字,先别乱删
本章的手工步骤针对普通的纯十六进制地址。如果你遇到尾部带点分十进制数字的 IPv6 混合写法,就不要照着“冒号分组后补四位”硬抄;那种尾部表示方式需要另外换算。当前首页的八格图会把接受到的这类地址转换为十六进制组展示,但它不是完整的地址校验或格式转换服务。
从别处复制来的内容还可能包含网址、方括号或附加信息。先问清接收方需要“单个地址”还是其他格式,不要把各种符号都当成零的缩写删掉。本章不要求你把查询结果填进路由器配置,也不建议为了验证地址而访问陌生目标。
最后留意信息范围:本站显示的是这次查询观察到的地址,写法还原只是读懂这串数字。它不能代替IPv6 测试的连通结果,也不能证明所有网站都能访问。如果要公开求助,先遮住无需公开的个人网络信息;学习读法时,继续使用本章的模拟地址即可。
小结
- 完整写法按八组读,每组补齐四位;缩写先去组内前导零,不能任意删除中间或末尾的零。
- 双冒号只出现一次。两侧已写组数合计后,用八减去它,就是要补回的全零组数。
- 本站地址行和复制目标是同一轮结果的统一简写,八组图用于展开观察;长短不同不等于地址变化。
- 复制成功后再粘贴核对,遇到提示失败或未检测到,不把旧文本当成新结果。
现在可以回首页,找出一组完整写法与简写的对应关系。先学会数格子和补零,再看真实结果,会比背住整串地址更可靠。