哈哈,我也标题党一回。
其实也不算是秘密,只能说是我在制作 https://github.com/lennylxx/ipv6-hosts 时总结的规律。
Google 是世界上最大的互联网公司,其庞大的规模体现在各个方面。其中一面即是其规模宏大的全球网络,以及难以计数的服务器。有人估计 Google 在 2013 年初的时候大概有 238 万台服务器。
Google 在全球建造了 13 个数据中心,通过其自己组建的多层内容分发网络(CDN),为全球超过 100 多个国家的用户提供免费内容及服务。
本文主要简要介绍一下 Google IPv6 地址与相关的域名。
2001:4860:4000::/36 United States
2404:6800:4000::/36 Australia
2607:f8b0:4000::/36 United States
2800:03f0:4000::/36 Argentina
2a00:1450:4000::/36 Ireland
2c0f:fb50:4000::/36 Kenya
可以看到,Google 在全球各大洲几乎都申请了 IP 段,为其 CDN 服务。
其中亚洲和大洋洲 IP 段注册国为澳大利亚,北美洲注册国为美国,欧洲注册国为爱尔兰,南美注册国为阿根廷,非洲则为肯尼亚。
下面以 2607:f8b0:4000::/36
为例简要介绍一下 Google IP 段的管理方式。
这个 IP 段的掩码有 36 位,因此理论上,这个 IP 段可用地址数为 2 ^ 92,约 4.95e27 个。
如此庞大的 IP 数量当然用不完,也需要一个比较好的管理方式。
Google 主要用了服务器部署位置附近的机场的 IATA 编码 来为服务器分组。IATA 编码为 3 位英文字母,用来唯一标识一个国际机场。比如北京首都国际机场的编码为 PEK,香港国际机场的编码为 HKG 等等。
其 IPv6 各段代表的含义如下:33-48
位 (共 16 位) 表示城市编号,如 4000
代表达拉斯,4007
代表洛杉矶,400a
代表西雅图等等。 4
开头的。) 第 49-64
位 (共 16 位) 则分成 5 段,每段使用方式不同,具体见下表格。
49-64 位 | 用途 |
0-3ff | sn [20]/[6] |
400-7ff | sn [8] |
800-bff | iata 1e100.net |
c00-fff | xx 1e100.net |
remaining | unknown |
如表格所示:
0-3ff
地址段用于 sn 编码域名,每组地址 20 个或 6 个。 4007
洛杉矶(LAX),1b
对应编码 a5m7lner
。 *.googlevideo.com
*.gvt1.com
*.c.youtube.com
*.c.docs.google.com
*.c.android.clients.google.com
。) 400-3ff
地址段也用于 sn 编码域名,每组地址则为 8 个。 402
对应编码 a5m7zu7s
。 800-bff
地址段用于 1e100.net 域名的 IATA 编码地址,每组地址 32 个。 4002
亚特兰大(ATL),802
对应编码 atl14s08
。 c00-fff
地址段用于 1e100.net 域名的两位字母编码地址,每组地址 256 个。 c01
对应编码 yh
。 sn 编码域名和 1e100.net 域名的详细信息参见维基页面 sn 编码域名、Youtube 和1e100.net。
第 65-112
位 (共 48 位) 均为 0。
113-128
位 (共 16 位) 表示服务器编号,对应独立二级域名,具体规则请查看 hosts 文件。 上面的四条规则是不是看得晕头转向?
举个栗子:
比如 dfw06s16-in-x1f.1e100.net
这个域名,这是一个典型的 1e100.net 域名,其对应的 IPv6 地址为 2607:f8b0:4000:800::101f
。
dfw
是 IATA 编码,代表“达拉斯-沃思堡国际机场”,也就是达拉斯市,这是美国德克萨斯州东北部的一个城市,前段时间的一部电影《达拉斯买家俱乐部》中的故事就是发生在这里。(好像扯远了 4000
,对应的即是达拉斯市。 -in-
之后有个字母 x,表示其后两位编号是16进制,取值范围 0x00-0x1f,共32台。 再比如 r1---sn-o097znl7.googlevideo.com
这个域名,这是一个 sn 编码域名,其对应的 IPv6 地址为 2607:f8b0:4005:4::6
o09
是 IATA 编码的转换形式,通过对整个 8 位 sn 编码进行逆转换,可以得到nuq04s20
,这个编码就和上面那个例子中的 1e100.net 域名编码类似了。其中nuq
代表“墨菲特联邦机场”,位于美国加州山景城市的南部,而山景城正是 Google 总部的所在地,查看地图你就可以知道这个机场就在 Google 总部的隔壁。 4005
,对应的即是山景城市。 关于如何将 sn 编码进行逆转换,得到 IATA 编码地址,可以参考这个维基页面 https://github.com/lennylxx/ipv6-hosts/wiki/sn-domains。
如果你想了解更多,可以查阅维基 https://github.com/lennylxx/ipv6-hosts/wiki,并欢迎提出修改意见。
你还可以查看完整的 1e100 服务器分配表格 和 sn 编码域名表格。(需要科学上网)
原文:http://www.cnblogs.com/bl4nk/p/4219968.html