@
serafin 可以有,比如
dns.sb 的 IPv6 DNS ,就是 [2a09::]
如果你是 ISP ,你通常能够很简单地从 RIPE 得到一个 /29 到 /32 大小的 IPv6 分配,在最糟糕的情况下它会完整占用 8 位 16 进制字符(也就是 32 位二进制,为了便于识别,下文“位”的定义与此相同)。但是如果你足够幸运,那么你的分配中后 4 位可能刚好是 0000 ,正如 xTom (也就是
dns.sb 的运营者)一样:
inet6num: 2a09::/29
netname: DE-XTOM-20181030
country: EU
org: ORG-XG42-RIPE
admin-c: XTOM-RIPE
tech-c: XTOM-RIPE
status: ALLOCATED-BY-RIR
mnt-by: xtom
mnt-by: RIPE-NCC-HM-MNT
created: 2021-05-07T07:51:14Z
last-modified: 2021-12-01T17:15:31Z
source: RIPE
那么在这种情况下你就可以直接广播 2a09::/48 然后作为 DNS 地址了。
如果你是一家这样幸运的 ISP ,你可以选择给你的客户继续从这块 /29 里面挑选短地址分配,这样他们也能获得好记的地址。
但是,IPv6 地址由三部分组成:
所以即使前面的 16 位再短,如果最终设备使用 SLAAC 配置地址的话,最后 16 位接口 ID 也会几乎被占满,所以他可能会看起来像这样:
2a09::7400:8d41:5400:4ffd
而如果最终设备不采用 SLAAC 分配的话,现有的三大运营商分配的 PD 前缀是介于 /56 ~ /64 大小之间的,一般就差不多是前面 16 位会用 14~15 位来表示,感觉还不算难记?