Google 域名的秘密
哈哈,我也标题党一回。
其实也不算是秘密,只能说是我在制作 https://github.com/lennylxx/ipv6-hosts 时总结的规律。
Google 是世界上最大的互联网公司,其庞大的规模体现在各个方面。其中一面即是其规模宏大的全球网络,以及难以计数的服务器。有人估计 Google 在 2013 年初的时候大概有 238 万台服务器。
Google 在全球建造了 13 个数据中心,通过其自己组建的多层内容分发网络(CDN),为全球超过 100 多个国家的用户提供免费内容及服务。
本文主要简要介绍一下 Google IPv6 地址与相关的域名。
Google (AS15169) 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 段注册国为澳大利亚,北美洲注册国为美国,欧洲注册国为爱尔兰,南美注册国为阿根廷,非洲则为肯尼亚。
Google 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代表西雅图等等。
(需要注意的是,由于 Google 所有的 IP 段都有 36 位掩码,因此所有的城市编号都是以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 编码,代表“达拉斯-沃思堡国际机场”,也就是达拉斯市,这是美国德克萨斯州东北部的一个城市,前段时间的一部电影《达拉斯买家俱乐部》中的故事就是发生在这里。(好像扯远了- IPv6 第3段为
4000,对应的即是达拉斯市。 -in-之后有个字母 x,表示其后两位编号是16进制,取值范围 0x00-0x1f,共32台。- IPv6 第4段地址取值范围 800-80f,共16组服务器,但各地数量不同,地址池并未完全使用。
- IPv6 地址的末尾(第8段) 则是从1000到101f,和域名编号相对应。
再比如 r1---sn-o097znl7.googlevideo.com 这个域名,这是一个 sn 编码域名,其对应的 IPv6 地址为 2607:f8b0:4005:4::6
o09是 IATA 编码的转换形式,通过对整个 8 位 sn 编码进行逆转换,可以得到nuq04s20,这个编码就和上面那个例子中的 1e100.net 域名编码类似了。其中nuq代表“墨菲特联邦机场”,位于美国加州山景城市的南部,而山景城正是 Google 总部的所在地,查看地图你就可以知道这个机场就在 Google 总部的隔壁。- IPv6 第3段为
4005,对应的即是山景城市。 - IPv6 地址的末尾(第8段) 则是从6到19,共 20 个,和域名编号(r1)相对应。
关于如何将 sn 编码进行逆转换,得到 IATA 编码地址,可以参考这个维基页面 https://github.com/lennylxx/ipv6-hosts/wiki/sn-domains。
如果你想了解更多,可以查阅维基 https://github.com/lennylxx/ipv6-hosts/wiki,并欢迎提出修改意见。
你还可以查看完整的 1e100 服务器分配表格 和 sn 编码域名表格。(需要科学上网)
Google 域名的秘密的更多相关文章
- Google不做坏事吗?
说中国足球为什么冲不出亚洲,那是因为咱中国人太文气,足球是种“斗牛士”式的游戏,得玩的有点儿“野蛮”色彩.记得以前在英国的时候,遇上联赛,晚上大街小巷全民皆兵,曼切斯特队的粉丝在街道一边酒吧里,利物浦 ...
- 好用的Google漏洞爬虫:Google Mass Explorer
这是一款基于谷歌搜索引擎的自动化爬虫. 爬虫介绍 爬虫大体机制就是: 先进行一次谷歌搜索,将结果解析为特定格式,然后再提供给exp使用. 大家可以尝试使用–help来列出所有参数. 这个项目笔者会持续 ...
- Google搜索被屏蔽,如何使用Google搜索
我们在国内使用搜索引擎最多的是Google和Baidu啦,在引擎上找一些我们需要的知识,最近好像www.google.cn已经无法访问了,并且香港的链接www.google.com.hk也无法访问了, ...
- 温故知新Docker概念及Docker Desktop For Windows v3.1.0安装
Docker 简介 什么是Docker? Docker是一个开放源代码软件项目,项目主要代码在2013年开源于GitHub.它是云服务技术上的一次创新,让应用程序布署在软件容器下的工作可以自动化进行, ...
- DNS劫持和DNS污染的区别
我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址.常用的手段有:DNS劫持和DNS污染. 什么是DNS劫持 DNS劫持就是通过劫 ...
- iptables禁止端口和开放端口
1.关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放. 下面是命令实现: iptables -P INPUT DROP iptables -P FORWARD DROP ipta ...
- 【转】DNS劫持和DNS污染的区别
什么是DNS服务器? 简单来说,DNS服务器就是域名管理系统. DNS(Domain Name System)是域名解析服务器的意思. DNS服务器是干什么的? DNS服务器在互联网的作用是:把域名转 ...
- 什么是DNS劫持和DNS污染?
什么是DNS劫持和DNS污染? http://blogread.cn/it/article/7758?f=weekly 说明 我们知道,某些网络运营商为了某些目的,对 DNS 进行了某些操作,导致使用 ...
- 什么是DNS劫持
我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址.常用的手段有:DNS劫持和DNS污染. 什么是DNS劫持 DNS劫持就是通过劫 ...
随机推荐
- spark(1.1) mllib 源代码分析
在spark mllib 1.1加入版本stat包,其中包括一些统计数据有关的功能.本文分析中卡方检验和实施的主要原则: 一个.根本 在stat包实现Pierxunka方检验,它包括以下类别 (1)适 ...
- 小强HTML5手机发展之路(52)——jquerymobile触摸互动
当使用移动设备的触摸操作,最常用的是点击.按住屏幕或手势,jQuery Mobile能够通过触摸事件绑定行为来响应用户的特定触摸. 一个.点击并按住 直接在代码(在代码中的一切,它使产品!) < ...
- POJ 3233 Matrix Power Series(矩阵高速功率+二分法)
职务地址:POJ 3233 题目大意:给定矩阵A,求A + A^2 + A^3 + - + A^k的结果(两个矩阵相加就是相应位置分别相加).输出的数据mod m. k<=10^9. 这 ...
- Font-Awesome 体验 鼠标进入图标变大
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...
- Java之String类的使用细节
String类的特点: 字符串对象一旦被初始化就不会被改变,字符串存储在字符串常量池中(字符串缓冲区).如果池中没有就创建,如果有就直接拿过来用. 代码验证如下: String s ...
- EXCEL导入GridView,然后再汇入数据库.
原文:EXCEL导入GridView,然后再汇入数据库. 近日项目中有一个多笔料号要输入,我做了一个用javascript复制输入框的功能,可以输入多笔料号. 但是使用者反馈,料号太多,可能几百个料号 ...
- Net Framework中的提供的常用委托类型
.Net Framework中的提供的常用委托类型 .Net Framework中提供有一些常用的预定义委托:Action.Func.Predicate.用到委托的时候建议尽量使用这些委托类型,而 ...
- jmeter java请求
demo下载地址http://yun.baidu.com/share/link?shareid=4277735898&uk=925574576 1.引用jmeter的jar包 到jmeter的 ...
- C#在outlook里创建一封邮件到草稿箱
原文:C#在outlook里创建一封邮件到草稿箱 1.引用Microsoft.Office.Interop.Outlook.dll 2. 实现代码 public static int SendToD ...
- CodeIgniter学习一:基础知识
1. url片段(CI域名组成说明) example.com/index.php/test/index 第一部分(test):控制器 第二部分(index):方法,动作 如果第二部分 ...