# 51. 挖坑 DNS

内核恐慌 · 2018-04-25

<https://lib.pan.icu/7a102ce2-c3f9-478d-81e5-0e6bd157171b>

本期节目从中兴通讯遭美国制裁切入，分析其主因是企业自身违规而非纯政治打击，随后深入探讨DNS协议的各种技术“坑”。重点解析了UDP的DDoS放大攻击与DNS投毒漏洞，以及通过随机化查询ID、端口和大小写混淆等缓解手段。详细介绍了Cloudflare与APNIC合作推出的1.1.1.1公共DNS，其支持DNS over TLS和HTTPS加密传输，并强调隐私优先策略——不记录日志且摒弃ECS扩展。还解释了1.1.1.1地址因长期被误当作演示地址而无法路由的历史趣事，Cloudflare正借该服务倒逼网络设备修正配置。最后对比了加密DNS的性能权衡，指出Cloudflare凭全球400+节点暴力覆盖以弥补ECS缺失，推动DNS安全标准化。

## Questions this episode answers

### 为什么 Cloudflare 要推出 1.1.1.1 公共 DNS，它和其他公共 DNS（比如 Google 的 8.8.8.8）相比有什么不同？

Rio 认为 Cloudflare 的 DNS 值得信赖，因为它承诺不保留用户查询日志（仅与 APNIC 合作研究后删除），且支持 DNS over TLS 和 HTTPS 加密查询，能保护隐私。其商业模型与用户一致：越多人使用 1.1.1.1，越能加速托管在 Cloudflare CDN 上的域名解析。此外，1.1.1.1 地址由于太好记，曾被大量设备误设为内部测试地址而未被分配；此次合作也旨在通过实际流量找出并修正这些错误配置。

[44:30](https://lib.pan.icu/7a102ce2-c3f9-478d-81e5-0e6bd157171b?t=2670000)

### DNS 放大攻击是如何工作的，为什么 UDP 协议容易受到这种攻击？

吴涛解释，DNS 放大攻击利用 UDP 协议的无连接特性和源地址伪造。攻击者用少量字节的 DNS 查询（如50字节）请求一个大响应（如500字节），并将源地址伪造成受害者的 IP。DNS 服务器将响应发给受害者，从而放大攻击流量。全球有数万个开放 DNS 服务器可被利用为“放大器”，结合分布式的僵尸网络即可发起大规模 DDoS 攻击。

[53:39](https://lib.pan.icu/7a102ce2-c3f9-478d-81e5-0e6bd157171b?t=3219000)

### DNS over TLS 和 DNS over HTTPS 之间有什么区别，各自的优势和劣步是什么？

吴涛和 Rio 提到，DNS over TLS 通过 TLS 加密传输 TCP 上的 DNS 查询，但引入额外的握手延迟；可通过 TCP Fast Open 和 TLS False Start 优化。DNS over HTTPS 则将查询封装在 HTTP/2 中，允许 JavaScript 等 Web 客户端直接发起，适用于无法发送原始 UDP/TCP 的场景，但格式更沉重。目前只有 Cloudflare 的 1.1.1.1 支持 DNS over TLS，而 Google 也支持其自己的 DNS over HTTPS。

[1:19:56](https://lib.pan.icu/7a102ce2-c3f9-478d-81e5-0e6bd157171b?t=4796000)

## Key moments

- **[0:00] 中兴制裁**
  - [0:50] 吴涛：今年已更新两期，《内核恐慌》不再算是年更节目
  - [2:05] Rio：在德国可叫德国为‘你国’，叫中国为‘他国’
  - [3:10] 吴涛：‘你国’给人一种out of control、国家事务超出个人掌控的感觉
  - [4:29] Rio透露他投资了欧股和美股，分散风险，总统推特常导致股价大跌
  - [6:46] Rio戏称德国为‘德意志斯坦’
  - [7:03] Rio：中兴事件必须放在中美贸易战大环境下看，双方互有攻防，美国反击后中方难以对策
- **[35:25] DNS正题**
  - [35:25] 本期正题：Cloudflare与APNIC合作在4月1日发布1.1.1.1公共DNS服务
  - [39:28] Q: 为何各大互联网公司都推出自己的公共DNS？为保证解析稳定性、防劫持，并获取用户行为数据
  - [41:20] 吴涛：ISP的DNS常劫持用户请求至广告页或导航站，出于利益或缓存目的，严重影响用户体验
  - [46:59] Q: DNS如此重要的互联网核心组件，为何政府没有直接运营？
- **[51:50] DNS攻击**
  - [53:46] Rio详细解释DNS DDoS放大攻击：利用UDP协议伪造源地址，将小请求放大为大流量攻击目标
  - [56:05] DNS请求50字节可产生500字节回复，实现10倍流量放大
  - [57:51] 通过伪造UDP包的源IP地址，可将放大后的DNS回复发往攻击目标
  - [59:05] 全球有数万个开放DNS服务器可作为DDoS反射放大器
  - [1:00:29] 若所有ISP在其自治域出口过滤伪造源地址的数据包，可避免90%的DDoS攻击
  - [1:01:57] 改用TCP协议可防源地址伪造，但会增加服务器资源消耗和连接延迟
- **[1:14:02] 安全方案**
  - [1:15:30] DNS递归查询：从根服务器开始逐级向下解析，如.com -> example.com -> www.example.com
  - [1:16:46] DNSSEC通过逐层数字签名确保DNS解析结果未被篡改，但传输内容仍为明文
  - [1:18:50] DNSCrypt是最早尝试加密DNS的协议，但因非标准且仅OpenDNS支持，未普及
  - [1:19:56] DNS over TLS：利用TLS加密传输DNS请求，防窃听，但TLS握手增加延迟
  - [1:21:38] 结合TCP Fast Open和TLS False Start，可将DNS over TLS的额外延迟压缩为1个RTT
  - [1:22:19] DNS over TLS支持流水线，可一次发送多个请求并乱序接收响应，提高效率
- **[1:29:20] CDN与ECS**
  - [1:29:21] CDN通过DNS智能解析，根据用户来源返回不同IP，将用户引导至最近节点
  - [1:32:22] ECS扩展：递归DNS可在解析请求中携带用户子网，使CDN返回最佳节点，但暴露位置
  - [1:34:38] Cloudflare的1.1.1.1为保护隐私不支持ECS，转而依赖全球400+节点保证解析速度
- **[1:36:10] 家庭DNS**
  - [1:37:00] 中国GFW通过DNS污染封禁网站，返回虚假IP或拒绝解析
  - [1:39:36] 常用路由器固件DNSMasq不支持TLS/HTTPS，需借助代理实现加密DNS
- **[1:41:00] DIY与IPv4**
  - [1:42:15] 1.1.1.1因容易记忆而被广泛用作示例地址，导致该网段实际不可路由
  - [1:45:17] APNIC与Cloudflare合作推出1.1.1.1，旨在发现并修复网络中错误配置导致地址不可达的问题
  - [1:49:17] 技术设计要考虑人性懒惰：IPv4未预留足够易记的示例地址，导致1.1.1.1被误用
- **[1:49:18] 设计反思**
- **[1:50:04] 结尾**
  - [1:50:11] 预告下期聊分布式DNS（Namecoin），结合区块链技术
  - [1:51:32] Rio给吴涛送上生日祝福，号召听众捐款8的倍数作为生日礼物

## Speakers

- **Rio** (host)
- **吴涛** (host)

## Topics

DNS

## Mentioned

APNIC (company), ASML (company), Cloudflare (company), Huawei (company), ZTE (company), 114DNS (product), BaiduDNS (product), DNS Mask (product), DNSPod (product), Google Public DNS (product), OpenDNS (product), 阿里DNS (product)

## Transcript

### 中兴制裁

**吴涛** [0:00]
That was weird. Kernel panic. The whole system just crashed.

That's weird. Kernel panic. The whole system just crashed.

**Rio** [0:20]
呃 ， 欢迎收听 《 没有旗下的 IT 技术主题娱乐节目 ： 内核恐慌 》。 我们号称 "hardcore"，但是也没有干货 。 想听的人听 ，不想听的人就别听 。

本节目的网址是 kernelpanic.fm， 我们推荐大家使用 Podcast 客户端订阅节目 。 详情请访问 kernelpanic.fm。 呃 ， 欢迎你为本节目捐款 ， 捐款地址是 kernelpanic.fm/donate。

捐款金额随意 ， 只要是 8 的正整数倍就可以 。 捐款不会为你带来什么 ，不捐也不会让你失去什么 。

**吴涛** [0:50]
But hey—

**Rio** [0:51]
哎 ， 这一期还是没有口号 。

**吴涛** [0:53]
今年我们已经更过一期了 ， 所以这个第二 —— 今年的第二期 ， 哈 ， 已经不算是年更节目了 。

**Rio** [1:00]
对 ， 这已经算是一个馈赠了 。 满意这一 ——

**吴涛** [1:05]
Extra.

**Rio** [1:05]
对 。

**吴涛** [1:06]
今年竟然还出了两期 。

**Rio** [1:08]
对 ， 太了不起了 。 而且夏天还没到就已经出了两期了 。

**吴涛** [1:13]
对啊 ，但也是因为赶在 —— 刚好下周我们两个都要出去玩 ， 对吧 ？ 所以 ， 呃 ， 就行前再录一期 ， 然后争取能够发出来吧 。

**Rio** [1:25]
哎 ， 真的吗 ？ 之前咱们出去玩之前 ， 怎么从来没有想过这件事 。

**吴涛** [1:29]
找个借口嘛 。

**Rio** [1:31]
哈哈 ，OK，OK。

**吴涛** [1:34]
呃 ， 最近发生什么大事了吗 ？ 你在远在德国 ， 知道这个我们这个伟大的这个祖国发生了什么翻天覆地的事情吗 ？

**Rio** [1:43]
我当然心系祖国啊 。 这个 ， 这中 —— 中美 ， 这围绕中国和美 —— 围绕世界的两极 。

**吴涛** [1:49]
你现在说 " 这个祖国 "， 这概念到底应该是指哪里呢 ？ 对于你这么一个身份的人来讲 。

**Rio** [1:54]
我觉得是这样的 ， 就是 ， 呃 ， 你在中国 ， 你可以叫中国为你国 ， 对吧 ？

**吴涛** [2:01]
对 。

**Rio** [2:01]
那我在德国呢 ， 我可以叫德国为你国 。

**吴涛** [2:05]
OK。

**Rio** [2:05]
那么我应该叫中国什么呢 ？ 我觉得可以叫 " 他国 "。

**吴涛** [2:09]
但是 " 他国 " 就很泛嘛 。

**Rio** [2:11]
这么说吧 ， 就是你觉得为什么最开始人们要说 " 你国 "？ 就是言下之意是 " 我生活在这里 ，但是这是你的国家 "。

就是这个梗最开始是从 —— 我记得是从北大来的 。

**吴涛** [2:22]
还是从清 ——

**Rio** [2:23]
就是 ——

**吴涛** [2:23]
还是从清华来的 ？ 他觉得没有参与感的意思吗 ？ 还是 ——

**Rio** [2:26]
对 ， 就是就好像 —— 就好像 —— 就好像你父母吵架 。 我不知道你父母会不会这样 。 就比如说我父母吵架的时候 ， 或者说我 —— 我 —— 我犯了错的时候 ， 我妈会 ——

**吴涛** [2:35]
就开始 " 你们家谁谁谁又做什么事了 "，是吧 ？

**Rio** [2:37]
对 。其实就是这种观点 ， 就是要把自己置身事外 。 对 ， 一种跟自己撇清关系的态度 ， 对吧 ？ 你 —— 你 —— 包括那个时候最开始应该是清华说 " 贵校 " 嘛 ， 就是贵校怎么怎么样的 ，但实际上他自己也是清华学生 。

然后到了你 —— 到了你国这个点 ， 就也有这种感觉 。 就是你会觉得这个国家发生的事情好像跟你没什么关联 ， 或者说你觉得这些发生的事情对于你来说实在是太难以接受了 ， 你情愿自己不是这个国家的一份子 。

**吴涛** [3:10]
就我 —— 我觉得这两 —— 这个词给我的感觉可能最大的是那种就是 out of control 的感觉 。 就是 ， 呃 ，不 ， 就是 beyond your control 的感觉 。

**Rio** [3:18]
对 。 而且 —— 但我觉得在你国这个层面 ， 这种感受实际上是正确的 。 就是尤其是在他国 ， 你知道吧 ， 就是人们其实对自己的国家是没有什么掌控的 。

但是 ， 呃 ， 我在你国 ， 就我现在在德国 ， 对于中国发生的事情同样没有掌控 ，而且是更没有掌控 。 所以这就是说一个他国的感觉 。

但是 ——

**吴涛** [3:41]
就你连名义上的投票权都没有了 。

**Rio** [3:43]
对 。 然后 —— 对 ， 用脚投的票你就再也不要妄想用手投票 。 然后 —— 然后现在 ——

**吴涛** [3:51]
我也没有用手投过 。

**Rio** [3:53]
哈哈哈 。 呃 ，其实我在大学是投过一次票的 。 就 ——

**吴涛** [3:56]
OK.

**Rio** [3:57]
Like, 选人的代表之类的一件事情 。 然后 ——

**吴涛** [3:59]
啊 。

**Rio** [4:00]
因为两个人 —— 但是这两个候选人谁也不认识 ， 所以大家就选说好 ， 谁的笔画 —— 谁的名字笔画多 ， 投给谁好 。

哈哈哈 。

**吴涛** [4:07]
哈哈哈 。 这是一个什么排序逻辑 ？ 笔画排序 ？Ranking by stroke？

**Rio** [4:15]
那应该是我一生中在中国唯一一次投票了 。 反正 ——

**吴涛** [4:17]
好像我也是 。 我大学里面就是 —— 这应该是选一个 ， 就是那个片区的还是什么的一个人大代表的 ——

**Rio** [4:25]
对 。

**吴涛** [4:25]
区的人大代表应该是 。 然后那个时候投过 。 好像之后就再也没有发生过这种事情了 。

**Rio** [4:29]
对 。 总之扯远了 。 然后问题现在是 ， 现在这个世界的这样一个情况 ， 就是比如说 ， 对于我来说其实最直接的影响就是股票市场 ， 对吧 ？

你 —— 你买了 —— 你卖了股票 ， 然后中国和美国这边 ， 呃 ， 一呛声 ， 然后股 —— 股市 bang 的一声就跌 —— 跌下去了 。

或者是美国总统在推特上发条推 ， 然后某一条股市 —— 亚马 —— 亚马逊的股价 bang 就掉下去了 ， 对吧 ？

就是 ——

**吴涛** [4:59]
对对对 。

**Rio** [5:00]
这种事情是非常 out of control 的 。 然后你会觉得 —— 对 。

**吴涛** [5:05]
所以 —— 所以暴露了你在炒美股 。

**Rio** [5:08]
呃 ， 我 —— 我买了 —— 都有吧 。 就是我没有买中国股票 ，但是欧股美股都有 。 就你不能 —— 你不能买一支股票 ， 对吧 ？

你也不能投 —— 专注于一个市场 。 你得分散一下风险嘛 。

**吴涛** [5:20]
就是你参与了这个欧洲市场和美国市场 。

**Rio** [5:23]
对 。 欧洲市场相对来说波澜不惊一点 。 反正就是 —— 就 —— 就一直在跌吧 。 这么 —— 这么 —— 这么理解好了 。

**吴涛** [5:32]
欧洲股市是哪个 ？ 法兰克福还是这个伦敦 ？

**Rio** [5:35]
呃 ， 欧洲股市有欧洲很多很多个证交所 。 然后德国 ——

**吴涛** [5:38]
这就是你 —— 你 —— 你他们之间是互通的吗 ？ 还是 ——

**Rio** [5:41]
他们之间是互通的 。 对 。 然后我一般是买 —— 就每个国家呢 ， 会有一个自己的指数 ，但基本上某一支股票如果同时在多个交易所交易的话 ， 股价其实是同步的 。

所以你 ——

**吴涛** [5:52]
哦 ， 想起老师那个中国的财经新闻里面会说什么德国工业指数什么什么 。

**Rio** [5:57]
DAX， 对 ，DAX。 然后瑞士有一个瑞士的指数 ， 英国有英国的 ， 英国 FTSE， 我都不太记得那个 。 反正是 —— 对 ， 每个国家有一个自己的指数 。

然后 —— 啊 。

**吴涛** [6:09]
OK。

**Rio** [6:10]
就像美国也有什么纳斯达克啊 ， 那个 —— 呃 。

**吴涛** [6:14]
纽交所吗 ？

**Rio** [6:15]
标准与穷 500 啊之类的这样 。

**吴涛** [6:17]
嗯嗯 。SP。

**Rio** [6:21]
对 。

**吴涛** [6:22]
好吧 。 所以 —— 所以你要是深度参与这个全球经济 ， 然后虽然远在呃我国的事情 ， 你也得关心一下 。

**Rio** [6:31]
它 —— 它也会影响到 —— 嗯 —— 你国以及我 。 哈哈哈 。

**吴涛** [6:37]
B 国 。B 国 。

**Rio** [6:38]
对 。

**吴涛** [6:39]
贵国 。

**Rio** [6:41]
呃 ， 嗯 ， 对 。 德意志斯坦 。

**吴涛** [6:46]
嗯 。 但是最近可能就发生的大家关注点比较大的就是这个中兴被美国商务部制裁这件事情啊 。其实我不知道大家有没有看相关的报道啊 。

就是你有看这个相关的一些这个这个 context 吗 ？ 上下文 ？

**Rio** [7:03]
上下文我大概看了一下 ，但 —— 嗯 —— 我主要觉得就是你要把这件事情放在就是大环境下的一个链 —— 一个一个链条来看的话 ， 还是比较 —— 我还是更 —— 更 —— 更觉得就是就好像两个人 —— 就中美两国在贸易战 。

然后 —— 嗯 —— 美国首先发难 ， 然后中国还了一下 。 然后还了一下， 还的时候大家就说 " 我靠 ， 这个什么下了王炸 " 之类的 。

然后 —— 你看 —— 然后美国 ——

**吴涛** [7:33]
一来就王炸啊 。

**Rio** [7:34]
对 。 然后美国还了 —— 还了一下这样的 ， 你就没有人能 —— 能 —— 能做出任何的对策 。 我觉得这点是非常的

—— 非常难过的 。

**吴涛** [7:44]
就这 —— 就这个事我觉得现在就往 —— 就大家 —— 就现在要说一下现在时间点 ， 可能之后又会有 —— 会有新的这个新闻爆出来 。

就现在呢 ， 我们聊这件事的时间是这个 4 月 21 日哈 。

**Rio** [7:56]
对 。

**吴涛** [7:56]
就如果之后发生什么新闻 ， 我们现在是没有办法知道的 。 虽然你听到这个节目的时候 ， 可能你知道的 more information。

对 。 但是就目前来看的话 ， 就我 —— 我觉得国内的对这件事情的有 —— 有两个主要的声音吧 ， 或者两个主要的流派 。

**Rio** [8:12]
嗯哼 。

**吴涛** [8:12]
一种就是说这个认为这个中兴这个事情是这个贸易战的一部分 ， 或者说它是美国这个对中国进行这个贸易保护 ， 或者贸易这个壁垒的一 —— 一 —— 一个措施之一 。

然后另外一派则倾向于认为中兴被制裁这个事情是一个呃个案 ，是因为中兴公司本身的问题 ，而不是 —— 而不是这个从于 —— 从于政治因素的考虑 。

当然肯定就是说 ， 呃 ， 从我们看到的这个中兴高层的这个讲话的角度来看 ，他肯定是想把这个责任 —— 就他想把这个整 —— 这个绑 —— 绑在这个中美贸易战的这么一个大环境下面去撇清自己这个管理层的一些责任嘛 。

就说这不是我们的错 ， 这个是因为政治原因 。 但是其实从目前公开的资料能够判断的信息来看 ， 我比较倾向于还是说这个是因为中兴公司自己的一个呃过失造成的 ， 跟这个贸易战本身的这个大背景关联并不是特别大 。

那只是一个巧合 ， 发生在同一个时间点而已 。

**Rio** [9:15]
你觉得这是一个巧合吗 ？ 我 —— 我觉得 ——

**吴涛** [9:18]
嗯 ， 我 —— 我认为就是 —— 就是也不叫巧合吧 。 就是这件事情肯定就主要的原因还是因为中兴自己的问题 ，而不是说因为有这个贸易战所以要拿他们出来做典型这个意思 。

因为 —— 因为如果是这样的话 ，其实那我觉得更典型的代表反而是应该是美国 —— 美国拒绝这个华为在美国出售这个就智能手机啊 ， 网络设备啊 ， 或者是就是美国政府不孤立 —— 不 ， 就是禁止呃联邦政府和这些其他机构去购买华为的这个网络设备 。

我觉得这个是贸易战的一部分 。 但具体到制裁中兴这件事本身 ， 我觉得是因为中兴自己的问题 。

**Rio** [9:54]
嗯 ，OK。 我一直感觉这件事情就是你可以早罚或者可以晚罚 ，但是你挑这样一个点罚的话 ——

**吴涛** [10:04]
嗯 。 就你在时间点选的 ——

**Rio** [10:07]
我觉得时间点选的非常的 ——

**吴涛** [10:08]
排除这个关系是吧 。

**Rio** [10:09]
对 。

**吴涛** [10:11]
这里有一个问题就是说它 —— 我认为它是巧合的地方 ， 就是说是因为它这个制裁是之前就已经做出了 ， 只是说它 —— 它现在是激活了这么一个 —— 一个惩罚措施 ，是由于这个中兴公司自己本身在这个整改期没有达到这个商务部的和解 —— 它跟商务部的和解的这个这个协议里面所承诺的事情 。

**Rio** [10:33]
对 ，但是 ——

**吴涛** [10:34]
导致了这么一个结果 。

**Rio** [10:35]
这样的事情肯定已经不是第一次了 。 然后因为首先我们可以说 ——

**吴涛** [10:40]
是第一次啊 。

**Rio** [10:40]
我们可以说 ——

**吴涛** [10:41]
是第一次啊 。

**Rio** [10:41]
国家的 —— 我 —— 我的意思是说就是预期没有完成一个指定的要求这件事情肯定不是第一次了 。 就或者说不是中兴会有这样的事情 ，而是说任何一个呃遭到商务部调查的企业都有可能发生这种逾期没有完成指定的整改要求的事情 。

**吴涛** [11:02]
对 ， 对 。

**Rio** [11:02]
但是商务部 —— 就商务部其实永远可以给你一个延缓 。

**吴涛** [11:08]
延缓 。

**Rio** [11:08]
就比如说 —— 说说它可以 —— 它可以在一个时间点决定处罚你还是不处罚你 。 然后在这个时间点呢 ， 它可以说好吧 ， 你虽然这段时间里面没有达到我这个要求 ，但是我觉得你做到的这些证明你有做到的意图 ， 或者是呃你有一些客观条件 。

它 —— 它如果愿意放过你的话 ， 还是 —— 就是依法是可以放过你的 。 或者说依法可以让你再苟延残喘一段时间 。

但是呢 ， 它选择不放过 。

**吴涛** [11:38]
嗯 。

**Rio** [11:38]
然后这不 —— 而且这不是一个比如说第三方总裁机构的决策 ， 它是美国商务部的决策 。 商务部 —— 这毕竟是政府一部分嘛 。

你政府要做一件什么事情的话 ， 那肯定是要看就是这个会在外交或者是会在经济上产生什么影响的 。

**吴涛** [11:56]
嗯 ， 我明白你的意思 。

**Rio** [11:57]
对 。

**吴涛** [11:57]
对 。 就我 —— 不是说它是完全没有关系 。 这个事情肯定是它的一个 —— 会有一些就是部分的影响 ，但我 —— 我认为它不是一个主要的原因 。

**Rio** [12:06]
OK。

**吴涛** [12:06]
就这个事情已经是既成事实了 。 它罚与不罚 ， 或者说按什么方式罚 ， 只是说它考虑说这个政治影响而已 。

那它说刚好你有被我逮到这个把柄 ， 然后我趁机罚你一下 ，也表示我配合一下这个政府的一些这个呃大的这个政策措施 ， 我觉得也可以理解啊 。

**Rio** [12:24]
嗯哼 。

**吴涛** [12:25]
对吧 。

**Rio** [12:26]
当然 —— 当然中兴的原罪就是它犯了这些错 ， 然后被别人可以拿来当枪使 ， 对吧 ？ 这 —— 这就是它自己的问题了 。

**吴涛** [12:34]
它把柄在外面嘛 ， 它做的那些就是从 —— 就 —— 就 —— 就先说这么一件事 。 就我 —— 我并不反对就是说 —— 嗯 ， 怎么说 ， 这里好像也不太对哈 。

就是我并不反对说中兴作为一个中国公司呃去卖这个网络设备给中国的一些战略上有 —— 有这个盟 —— 盟友关系的国家 ， 虽然这些国家是处于在美国禁运的名单里面 ，因为这个国家利益是摆在更高的一个位置上面去的嘛 ， 对吧 ？

**Rio** [13:00]
对 。

**吴涛** [13:01]
但是它的 —— 它中兴它自己的问题是 ，他们做这件事情的时候太愚蠢了 。 就是被人逮到了很多把柄嘛 ，而且在整改期里面你明目张胆的去 —— 就你好歹做个样子嘛 ， 对吧 ？

**Rio** [13:12]
对 。

**吴涛** [13:12]
你好歹 —— 你好歹要收敛一点 ，不要让人 —— 就 —— 就好像那个什么华尔街很多公司会被审计做假账是什么样子是一样的 。

那起码人家查到你这个调查期间你要做的作 —— 呃 ， 装模作样你也要搞一下， 对吧 ？ 但是你连在这个情况下你都不做 ， 你就是不是太 —— 就是有点 ——

**Rio** [13:30]
膨胀 。

**吴涛** [13:31]
公然藐 —— 藐视美国司法的感觉了 。

**Rio** [13:33]
膨胀 。

**吴涛** [13:34]
对对对对对 。 但这个跟它的这个国企属性和它一贯的这个管理层的一种惯性思维 ， 我觉得是不关系的 。

包括你这次看他们前几天发有个 —— 有个叫什么呃新闻发布会吧 ， 就针对这个事情说明它的里面措辞就是是一种全面的这种对抗性的 ， 然后啊 ， 就是没有很好的去真的反思自己的这个 —— 这个至少表面上装出反思自己的这个呃就是错误的地方 。

那这样就让人家很难放过你了 ， 对吧 ？ 就人家本来想那个缓和一下的 ，但是你 —— 你让人家都没有一个台阶下了嘛 。

**Rio** [14:09]
对 。 那除了搞 —— 除了那就搞下去吧 ， 那也没办法 。

**吴涛** [14:13]
只能 —— 只能重罚了呗 。

**Rio** [14:14]
对 。 你自找的 。 你就这样吧 。

**吴涛** [14:15]
对啊 。 所以就 —— 就不作不会死嘛 。 它自己给自己作死了 。 但这也 —— 这次也也反映出两个问题啊 。

一个说从小的 —— 就是微观层面来讲 ， 就是中国企业在面临全球化的时候如何去摆正自己的一些心态 。

因为其实这个我 —— 我是觉得跟很多国内的这种适应国内这种生存环境的呃这个的 —— 的创业者也好 ， 这个企业家也好 ， 可能都很多没有 —— 没有这个意识 ， 或者说他 —— 嗯 ， 怎么说来着 ？

就不是很讲规则吧 。 因为在国内 ， 特别是呃从 —— 比如说从 90 年代开始兴旺起来的很多成功的企业 ，因为你要在国内这个比较混乱的和险恶的这个转型的这个环境里面生存 ， 你肯定不能严格按照规章办事 ，不然你就死掉了 ， 对吧 ？

因为所有人都不按规章办事 。 就是你 —— 你的效率一定是比别人低的 。 但是你到了一个更加成熟的这个按更讲规则的市场 ， 你必须得按规则办事 ， 对吧 ？

你毕竟在别人的地盘上做 —— 做事情 ， 或者说你需要依赖别人的这个战略资源输出给你 ， 你才可以做事情 。

你还是要有这个 —— 这个思维嘛 。 所以这次这个事情我觉得也是给中国的很多这个企业提了一个醒 ， 就是呃 ，但肯定也是有做的很多合规做得比较好的企业 ， 或者说至少在表面上合规做得很好的企业 。

它但是它就是把一些不合规的地方通过一些第三方或者什么方式就巧妙地掩盖过去 ，而不会出现明面上的问题嘛 。

就大家都 —— 就是你要么 —— 要么你就是真的合规 ， 要么你是伪合规 ，但是你 —— 你做得很漂亮 ， 别人查不到你 ， 这也是可以的 ， 对吧 ？

但是呃就不要做那种 ——

**Rio** [15:54]
你玩玩你就玩得好一点嘛 ， 对吧 ？

**吴涛** [15:55]
对对对对对 。

**Rio** [15:56]
何必呢 ？

**吴涛** [15:57]
你 —— 你需要 upgrade， 你需要也要升级你的这个策略嘛 。 但很多就是说还停留在中国市场的规则可以拿到全球去玩 ， 我觉得这个已经不是这么一个状况了 。

**Rio** [16:07]
对 。 还是那种有恃无恐 ， 然后 ——

**吴涛** [16:10]
对 。

**Rio** [16:10]
就 —— 就 ——

**吴涛** [16:11]
就基本上就是 ——

**Rio** [16:12]
混不吝的这样一个状况 ， 我觉得是 。 唉 。

**吴涛** [16:14]
但这个我觉得就其实 —— 其实也 —— 也 —— 也不是说就局部或者是个 —— 个别企业的问题 。 我觉得这个是这个中国的我们就是可能是就是六七十年代出生的这些 ， 甚至 80 年代出生的人， 我觉得都有这个问题 。

就是包括 —— 包括我不知道你们有没有这种感觉哈 。 我 —— 我在国外上学的时候 ， 我 —— 我接触很多这个所谓中国留学生嘛 ，他在 —— 他的那个思维逻辑 ， 行事逻辑是非常奇怪的 。

就是在 —— 在 —— 在那种欧美这种大的环境里面 ，他那个思维逻辑是框架是有问题的 ， 所以导致他们在就觉得处处都是在这个针对 —— 针对他 ， 然后他觉得他受到了这个歧视和排挤 。

但其实你 —— 你换一个角度 ， 从那个欧美人的这个 —— 这个逻辑体系里面去看 ， 它其实完全不是那么一回事 ，是你自己破坏了规则 ， 或者你自己不讲规则导致的嘛 。

就是我觉得很多人就是缺乏一种所谓的叫做就基本的尊重吧 ， 就是对这个规则 ， 对法律 ， 对这个就是 —— 或者 —— 或者更广一点 ， 对别人的尊重 ， 对他人的尊重 。

这个是很多人通过这个这种 —— 这个 —— 这个出去比较容易犯的一个问题 。

**Rio** [17:23]
对 。 是啊 。

**吴涛** [17:24]
啊 。

**Rio** [17:25]
就好像有一件事情总是中国人喜欢干 ， 然后就专门用中文写一个告示牌 ， 然后反过来中国人又会觉得哦 ， 这是在歧视我 。

**吴涛** [17:32]
对对对 。 但其实就是那少数人这个导致的嘛 。 就好像这次中兴这个事情大家也说呃就是支持中兴那一派 ，其实 —— 就其实这个是一个对中国制造的一个非常负面的一个典型 。

因为中国制造 ， 或者说 made in China 这个品牌要想走出国门 ， 走向世界 ， 一个很重要的你还是要有一个品牌形象 ， 对不对 ？

但中兴这个事情出来之后就导致 —— 就本来 made in China 这个形象其实是非常负面不好的嘛 。 就由于过去的一些原因 ， 历史原因导致我们就不展开去讲 。

**Rio** [18:03]
或者说它现在正在一个上升期 ， 就是 made in China 这个 image 正在变得越来越好 。 就是你就 —— 就举个例子 ， 就是我以前在亚马逊上面看 —— 就看到德国人特别喜欢买写评论 ，有那种就是一个评论可以写上那么几千个单词 ， 然后呃十年前基本上什么东西 made in China 他们就会说什么呃都有个谚语 ， 就是买便宜的东西注定你要买两遍 。

然后如果什么东西是中 —— 中国制造的话 ， 你很有可能会在它下面看到这样一个评论 ， 就是不要买这个便宜的东西 ， 便宜没好货 ， 然后你买便宜的你就得买两遍 。

但是现在呢 ， 基本上人们已经不提这个东西是中国制造了 。 一方面是因为没有什么选择 ， 第二方面是中国制造其实要比什么孟加拉或者是越南或者是菲律宾制造或者是什么老挝制造要好很多 。

嗯 。 然后比如说那个嗯

， 我突然记得什么牌子来着 ？ 安可 ， 对 ， 安可 。

**吴涛** [19:02]
Anker。

**Rio** [19:02]
对 。 安可这个 —— 这个 —— 这个品牌现在在德国非常的火 。 然后你比如说 ——

**吴涛** [19:07]
它名声很火啊 。

**Rio** [19:08]
对 。 你比如说什么 ——

**吴涛** [19:09]
亚马逊第一品牌嘛 。

**Rio** [19:10]
对 。 你比如说中兴 、 华为啊 ， 嗯 ，但是华为 —— 华为可能 —— 华为在欧洲的影响力应该要比在北美大 。

就是 ——

**吴涛** [19:20]
对对 。 欧 —— 欧洲至少没有 —— 目前还没有限制它去销售嘛 。

**Rio** [19:24]
对 。 所以像呃华为手机 ， 我爸上次来的时候说 ：" 我靠 ， 这怎么到处都是华为的店 ？" 就有点震惊 。

所以现在呢 ， 这个品牌形象已经提升上来了 。 但是中兴这件事情 ， 当然目前我没有在德国看到什么太负面的影响 。

就我觉得大部分德国人也会觉得这是嗯贸易战一部分 ， 或者是就只是把它孤立的 ——

**吴涛** [19:47]
搞要搞了 。

**Rio** [19:47]
对 。 把它孤立的当成一个 —— 一个公司受罚这样一个 。 但是它暗含的影响实际上还是就是在一个上升期上面打了一个 —— 负面打了一巴掌 。

对 。

**吴涛** [20:01]
对 。 我觉得它最大的影响就是说本来说中国企业是顶着很多这个负面的一些成见 ， 虽然 —— 虽然也是有些历史原因 ， 我们确实有些问题啊 ，但这个逐渐在变好 。

然后它这个非常不好的案例就其实使得很多本来就是反对或者指责中国制造的这些人就得到了一个把柄嘛 ，其实是 。

**Rio** [20:20]
对 。

**吴涛** [20:22]
所以就唉 ， 这个就是其实挺 —— 挺 —— 挺不好的 。

**Rio** [20:25]
那问题在于就是你刚才说到国内的反应 ，但是我比较感兴趣的实际上是国内对于芯片产业的反应 。

就是就好像我把这件事情跟女朋友说了一下之后， 她说这件事情难道我们砸钱砸人做不出来吗 ？

做不好吗 ？ 然后我说反正就是我大意就是说呃这个芯片如果真的就是假如说今天一个极端的情况 ， 美国不 —— 不卖给我们芯片了 ， 我们 2025—— 我们中国制造 2025 绝对是实现不了的 。

她说为什么 ？ 就是呃我们砸钱砸人， 她的原话是 ：" 呃分房子 ， 分房子 ， 分钱 。"

**吴涛** [21:08]
嗯 。

**Rio** [21:08]
从国外引进呃学过的高新人才 ， 我们自己做为什么做不出来 ？ 那你 —— 你 —— 你来说说为什么做不出来 。

**吴涛** [21:19]
唉 。 这个就我们也都不是半导体行业的哈 。

**Rio** [21:23]
对 。

**吴涛** [21:23]
就只是就对这个行业大家因为 ——

**Rio** [21:25]
多多少少都清楚一点 。

**吴涛** [21:27]
比较关注吧 。

**Rio** [21:28]
知道我们有多差 ， 我觉得 。

**吴涛** [21:30]
对 。 因为这个行业其实涉及到非常两个核心的问题 ， 一个是基础材料 ， 对吧 ？ 基础这个精密制造的设备 。

**Rio** [21:37]
对 。

**吴涛** [21:37]
中国都是没有的 。 所以那不可能搞得出来嘛 。 这个是在这个物理层面哈 。 然后就是在这个 IP—— 就是 IP 这个就是所谓的这个知识产权设计这一块 ， 那我们也没有很多这种所谓的核心专利嘛 。

那两头硬件软件都卡住你 ， 你怎么做得出来 ？

**Rio** [21:52]
对 。 最大的问题就是这个东西我们不是不想要 ，而是根本拿不到啊 。 就这个是非常大的一个制约啊 。

我们 ——

**吴涛** [22:01]
你说是拿不到是指什么 ？

**Rio** [22:03]
就是瓦森纳协议嘛 。 就是那个 ——

**吴涛** [22:05]
你说限制出口是吧 ？

**Rio** [22:06]
对 。 就是我 —— 你说荷兰的光刻机我们是买不到的 。 就最好的这一代是不许卖给我们的 。 这一点是没有法绕过去的 。

**吴涛** [22:13]
对 。 它有一些限 —— 限制出口嘛 。 是一样的 。

**Rio** [22:15]
对 。 然后呢 ， 我们说为什么不卖光刻机 ？ 光刻机我们造不出来 。 这个真的没什么办法 。 就真的没有任何办法 。

不是说你现在砸钱就可以生产出来的 。 你可能好吧 ， 就是感觉就有点像 80 年代的时候要造坦克一样 。80 年代的时候咱们有一点钱 ， 对吧 ？

但是还是什么都造不出来啊 。 你虽然砸了很多钱进去 ，但是就底子在那摆着呢 。 你八 —— 你像中国的坦克可能到呃 99 改是哪一年出的 ？

就反正一直到最近这段时间 ， 就军方有了钱才终于有点什么模样了 。 问题是你举国去 —— 举国去往这里面砸钱 ， 你还是要砸上 —— 砸了你想从 80 年代砸到现在砸了 20 多年才砸出来的嘛 。

如果说美国今天就不卖我们芯片了 ， 我们不可能在 2025 年之前 ， 这才 7 年的时间里面搞出 like 二人家 20 年前的芯片 。

唉 。

**吴涛** [23:12]
唉 。 你可能要解释一下那个协议是怎么一回事 。 这个可能很多人不知道啊 。

**Rio** [23:16]
OK。 呃瓦森纳是

荷 —— 荷兰 ， 应该是荷兰一个城市 。 然后呢 ， 呃大概是 90 年代的时候在这里开过一个会 ， 然后这个会议上就决定了说有些国家是我们不能卖给他们特定的军用产品和军民两用产品的 。

**吴涛** [23:38]
那这个是我们是谁 ？

**Rio** [23:40]
就是与会者 。其中不包括中国 ， 对吧 ？ 其中不包括 。

**吴涛** [23:44]
有哪些 ？

**Rio** [23:45]
我靠 ， 这个我要查一下 。OK。Wassenaar Arrangement 有 42 个国家 ， 然后呢 ，其中包含了欧盟的所有的国家 ， 北美的所有的国家 ， 墨西哥 ， 然后南美有这个是阿根廷吧 ， 然后南非 ， 澳大利亚 ， 印度 ， 俄罗斯和中亚的土耳其 。

啊 ， 土耳其是北约的 。 就基本上是所有的北约成员国 ， 加上俄罗斯 ， 加上印度 ， 加上呃阿根廷这样 。

然后这个协议的主要内容 ， 这个协议内容非常非常的复杂 。 然后它基本上核心内容就是它定了一个 —— 定了一个名单 ， 然后这个名单包括 9 项 。

呃第一项是特别材料 ， 第二项是材料处理技术 ， 第三项是 electronics， 第四项是 computer， 然后是什么信息安全啊 ， 通讯啊 ， 传感器 、 激光 ， 呃导航技术 ， 呃航海技术 ， 空天技术和推进技术 。

这些技术呢 ， 你要卖给一些特定国家的时候 ， 你一定要限制 ， 或者说你要报备 。

**吴涛** [24:54]
要给 —— 给谁报备 ？ 就谁来决定 ？

**Rio** [24:56]
给这个组织报备 。 就是这些 —— 等于说这些国家组成一个同盟 ， 然后控制说我们的高新技术只能在这个同盟之内流动 。

而 。

**吴涛** [25:06]
OK。

**Rio** [25:06]
但就是你要负责在这个同盟内部之内维护一个技术优势 ， 然后你要把 —— 你只能把下一代甚至是更差的技术传给第三国 。

就好像回到那个造坦克这件事情上， 就是我们 80 年代的时候可能要造坦克需要某种机床 ， 我记得 。 然后这个机床呢 ， 当时就是要从日本买 。

但是日本当时比如说已经有一个呃四五 —— 他们可能已经有五个自由轴 ， 甚至是四个自由轴的这么一个精密加工机床了 。

但是卖给中国呢 ，因为 。 那个时候只有一个叫做巴黎统筹委员会这样的一个瓦森纳的前身在控制这件事情 。

但是那个时候这个协会就规定了说 ， 如果你有 —— 比如说你有五轴的技术 ， 你最多只能把三轴的技术卖给中国 ， 然后还要卖一个天价 。

现在芯片扔 —— 我们中国芯片扔就面临着这个问题 ， 就是最好的光刻机是不许卖给我们的 。 就是因为这个瓦森纳协议的存在 。

**吴涛** [26:09]
OK。 所以 —— 所以这个是怎么 ？ 就是帝国主义往往至心不死是对的是吧 ？

**Rio** [26:14]
呃对 。其实这么说吧 ， 我们有时候会说中国的观点是一个非常的呃丛林社会的观点 。 就是我们总会批评说中国政府会在社会 —— 会在国际社会上扮演一个就是所有人都要欺负我的这么一个角色 。

就是会持有一种所有人都要欺负我这样一个心理 ， 所有人都在抱团欺负我 。 但事实上就瓦森纳协议 ， 这难道不是别人在抱团孤立你吗 ？

**吴涛** [26:44]
就事实也是这样的 。

**Rio** [26:45]
对 。 就别人就是要 —— 的确是我们处在一个围栏里面 ， 对吧 ？

**吴涛** [26:51]
但这里有一个 —— 有一个点 ， 就是说他们这个抱团的这个逻辑是什么 ？ 里面其实也有 ， 比如说这个俄罗斯和美国抱一团 —— 抱一块是不是也挺奇怪的 ？

**Rio** [27:01]
对 。 俄罗斯为什么要参与到这个呃 。

**吴涛** [27:04]
或者说就是 —— 就是说比如说俄罗斯也没有 —— 没有造自己的芯片 ， 就它 —— 它能买到这些高端光刻机吗 ？

**Rio** [27:11]
呃我不知道 。

**吴涛** [27:15]
所以就这个其实挺奇怪的一个 —— 一个有 —— 我觉得相信它背后肯定有很多这个政治的一些原因哈 。 就这里不纠结来谈 。

但是从这个协议的内容 ， 或者说协议的规定的限制来看 ，是有这么一个 —— 一个 —— 一个判读的结果的嘛 。

**Rio** [27:29]
对 。 就是他们在这个瓦森纳协议里面有特别要制裁的几个国家 。 就呃就是什么 —— 基本上就是北朝鲜 ， 然后什么伊朗之类的 。

这些国家被 —— 被制裁是可以理解的 ， 或者说你站在西方的人的角度上是可以理解的 。 但是 。

**吴涛** [27:50]
嗯 。

你就觉得 —— 你觉得在西方人里我们跟北朝鲜区别大吗 ？

**Rio** [27:59]
就在西方人的

呃谁是好人谁是 —— 谁是坏人的这样一个梯度里面 ， 我们还是离坏人那边比较近的 。 我是这样觉得的 。

**吴涛** [28:09]
对 。 因为你毕竟你的那个 —— 就是从它的那个道德体系 —— 这不叫什么政治逻辑判断 ， 你是一个唉怎么说来的 ？

**Rio** [28:17]
威权国家 。

**吴涛** [28:19]
对 。

**Rio** [28:19]
对 。 对 。 至少 。

**吴涛** [28:20]
OK。 我们不要聊这个有可能导致节目被封的事情 。

**Rio** [28:23]
越聊越危险了 。

**吴涛** [28:24]
OK。Anyway。 然后回到技术层面 。

**Rio** [28:28]
Anyway。 但你大家知道这个一个逻辑就行了哈 。

**吴涛** [28:30]
对 。

**Rio** [28:30]
这就回到技术层面上来说 ， 就是限于这个东西的存在 ， 我们没有办法获得这样的技术 。 然后我们自己研发上成本又太高 。

因为芯片不像核弹头 ， 你两弹一星砸人砸钱是能造出来的 ，不管有多难 。 虽然你也从国内 —— 国外搞的专家来的 ，但是芯片这个东西是哪怕你有国外的专家 ， 哪怕你有国内砸钱做出来的 ，但是你在研究所里面研究出来的 ， 跟它最终能够大规模的铺向市场去使用两 —— 中间有一个非常大的鸿沟 。

因为我们不 —— 我们不需要买核弹头 ， 对吧 ？ 但是每个人都要买芯片 。 你的手机里面可能有

15 块 、20 块芯片 ， 然后其中可能只有两块是中国有能力造出来的 。 那中国要是说要自己做芯片 ， 然后铺到说所有的手机 —— 比如说 2020-2025 的那个计划里面 ，2020 年中国的芯片要啊国有比重 —— 啊国有化 ， 就本国产的比重要提升到 40%。

然后 2025 年的时候要提升到 70%。 这实际上是不现实的 。 哪怕以现在的发展 ， 就是美国不制裁我们 ， 就是然后这个中兴还是可以继续买芯片 ， 达到这个目标也是非常不现实的 。

**吴涛** [29:44]
那如果它继续买 ， 那肯定达不到嘛 。 如果不能继续买呢 ？

**Rio** [29:47]
如果不能继续买的话 ， 你要靠自己的产能 ， 然后要把它整个市场化 ， 要让它成熟起来 ， 还是不可能 。

**吴涛** [29:53]
嗯 。

**Rio** [29:55]
嗯 。 我觉得在 。

**吴涛** [29:56]
其实有一些 —— 有一些别的方法 ， 我觉得也不是 —— 也不见得就非常不现实 。

**Rio** [30:01]
我 —— 我说就是说这件事情如果你给予足够的时间 ， 应该是可以的 。 但是 2020 年 ——2020 年是 。

**吴涛** [30:08]
这 7 年到底行不行 ？

**Rio** [30:09]
2020 年就是后年啊 。

**吴涛** [30:11]
嗯 。

**Rio** [30:12]
后年达到 40% 的自有的半导体产品 ， 这是我觉得你要是说 —— 比如说你说 1990 年， 我想不到 2010 年的时候中国会是 —— 呃中国的科技会有多发达 。

这是可以理解的 。 但是后年啊 ，like， 我还没有到 40 岁啊 。 就芯片率 —— 芯片国产率可以达到 40%， 这是绝对不现实的 。

**吴涛** [30:37]
嗯 。 但所以这也是回到刚才 ， 就是这 —— 就是这次我们在就中国中美贸易战里面扯皮的一个很核心的点 ， 就是最主要就是美国指责我们 —— 指责中国政府说是呃就是强迫外国公司进行技术转移嘛 。

**Rio** [30:54]
对 。

**吴涛** [30:54]
就比如说通过这个合资设厂 ， 或者说是限制这个外商直接投资的这么一个 —— 就市场准入制的一些门槛嘛 。

那 —— 那 —— 那用市场那个逼迫这个 —— 这个外 —— 外 —— 外国企业交出它的这个一些专利技术嘛 。

**Rio** [31:10]
对 。

**吴涛** [31:11]
那其实我觉得这也是变相的应对这个瓦森纳协议的一些约束吧 。 我觉得反正你不让它卖给我 ， 对吧 ？

那也可以啊 ， 我不就不买呗 ？

**Rio** [31:19]
对 。

**吴涛** [31:20]
你要 —— 你要来 —— 你要在这里卖 ， 那你就必得把这个技术先交出来 。

**Rio** [31:23]
对 。 瓦森纳协议本质上也是在损害呃这个参与国的商业公司的利益的 。 比如说中 —— 比如说假如说瓦森纳国 —— 瓦森纳协议不起效 ， 然后荷兰的这个荷兰 —— 荷兰 —— 荷兰国 ， 对 ，Netherlands，他们要卖这个 ASML 的光刻机给我们 ， 中国可能别 —— 别国出什么样的价钱 ， 我们出 5 倍的价钱买 ，他们难道不爽吗 ？

**吴涛** [31:49]
全收了 。

**Rio** [31:50]
对 。他们也是爽的 ， 对吧 ？ 所以他们也是在对抗着中国 —— 就是自己国家本身的商业公司的利益 。 然后这些商业公司呢 ， 为了利润也会铤而走险 ， 就是说偷偷卖给中国一些什么样的技术 。

对 。 所以瓦森纳协议实际上也是在限制他们自己的国家 。

**吴涛** [32:07]
我觉得这就是一个就传统经济学里面的一些讨论的问题嘛 。 就到底要不要搞这个 —— 就是国际贸易 ， 对吧 ？

要不要互 —— 叫什么互 —— 叫互相发 —— 啊互 —— 怎么来的 ？ 就是各自贸易比较 。

**Rio** [32:19]
绝对自由的贸易比较 。

**吴涛** [32:20]
绝对自由的自由市场 。

**Rio** [32:22]
有个 —— 有个叫做比较优势嘛 。

**吴涛** [32:23]
对 。

**Rio** [32:24]
就你个人干自己擅长的那些 ， 大概这么理解哈 。

**吴涛** [32:27]
对 。

**Rio** [32:27]
但是有另外一个想法就是说 ， 呃就对于一些小国家来讲哈 ， 如果别人都 —— 都把你的活干了 ， 那你干啥 ？

**吴涛** [32:37]
对 。

**Rio** [32:38]
就短期利益和长期利益 ， 它是要有一个取舍的嘛 。

**吴涛** [32:42]
是这样的 。

**Rio** [32:43]
嗯 。 就这里面其实我觉得很 —— 很要强调一点 ， 就是我们在探讨这件事情的时候 ， 就是把自己的这么一个这个民族主义色彩要拿 —— 要去掉 。

你要客观的去看这个问题 ， 这个里面的对错其实没有那么明显的 ， 我觉得 。

**吴涛** [32:59]
国际政治没有什么对错的 ， 大家都是 。

**Rio** [33:02]
对 。 都讲利益嘛 。

**吴涛** [33:03]
对 。 它当然有一些道德的成分 ， 道德的东西在里面 ， 或者说它的根源仍旧是在伦理和道德上面 。

但是你具体到某一件事情上就 。

**Rio** [33:13]
其实连 —— 连 —— 连道德这个事情 ， 我觉得在国际关系里面都相对来说这个尺度是比较模糊的 。 你首先每个国家民族的这个价值观很多是不一样的 ， 对吧 ？

那相信道德尺度也是不一样的 。 第二就是说 ， 呃在这个核心这个这种 —— 就是这种国家利益面前 ， 道德能到底摆到多高的位置 ，其实也是待考的 ， 我觉得 。

**吴涛** [33:32]
对 。

**Rio** [33:32]
就好像刚才我说这个 ， 你说按照美国的逻辑看 ， 中国强迫这个外国公司进行技术转移 ， 算不算是一种这个 。

**吴涛** [33:40]
不道德 。

**Rio** [33:40]
就是不道 —— 不道德的行为 ， 对吧 ？ 但是那你反过来看 ， 瓦森纳协议本身是否是一个不道德的行 —— 不道德的一个 —— 一个约定呢 ？

所以对吧 ， 这里面其实是就尺度 ， 我觉得 —— 我觉得没有 —— 没有那么是非黑白是那么清楚的 。

**吴涛** [33:55]
对 。 就是从伦理上 —— 从道德的角度来讲 ， 你一个国家政府以 —— 以政府以政策行为来约束外国国家 —— 外国厂商的准入 ， 使得外国厂商必须以牺牲技术来获取利润 ， 这件事情可能是不道德的 。

问题是如果你从 —— 如果你更往深一 —— 更往深一步讲的话 ， 中国如果永远不获得这些 —— 这些技术 ， 永远只能买的话 ， 那中国会 —— 会 —— 会成为一个附庸于其他国家的经济体 。

中国的自己制造和研发能力都会维持在一个非常低的水平上面 。 那么时间一长的话 ， 这对中国人的生存质量也会有所影响 。

**Rio** [34:38]
这你就不能产业升级嘛 。

**吴涛** [34:40]
对 。

**Rio** [34:40]
就简单来说就这样 。

**吴涛** [34:41]
那这样一来 ， 中国人不就一直会很悲惨吗 ？ 这让一个国家一直很悲惨 ， 那这难 —— 这难道不也是不道德的吗 ？

**Rio** [34:48]
对 。 所以就是说没有那么 —— 没有那么是非黑白嘛 。 就这个事情我觉得 ， 虽然我们刚才讲了一堆 ， 可能有一些呃听众会误解我们的这个个人的一个 —— 一个感受 。

**吴涛** [34:59]
理解 。

**Rio** [34:59]
我觉得但是就这个一定要 —— 一定要就 —— 就要脱离开从第三方的这个视角来讨论这件事情才有意义 。

不然的话 ， 你永远没有办法去和一个 —— 一个美国人去争这个事情到底谁对谁错 。

**吴涛** [35:09]
对 。 因为你们屁股不一样啊 。 你们屁股坐的地方不一样 。 就屁股不一样 ， 就不要希望脑袋能够一样啊 。

**Rio** [35:16]
没错 。 没错 。 没错 。

**吴涛** [35:17]
就这么简单 。

**Rio** [35:19]
唉 。

**吴涛** [35:20]
好吧 。

**Rio** [35:21]
好吧 。 这个事情算是翻篇了 。 我们可以进入今天的正题了 。

**吴涛** [35:25]
OK。

### DNS正题

**Rio** [35:26]
这一期节目的这个录音的动机实际上是 Rao 提出来的 ， 就是 Rao 对于最近发生了一件在业界内的新闻 ，而且是发生在 4 月 1 号的新闻 ， 哈哈 ， 非常的感兴趣 。

**吴涛** [35:40]
愚人节的事 。

**Rio** [35:41]
对 。

**吴涛** [35:41]
啊 ，其实这个事愚人节之前就他们就已经那个网站就已经露出来了 ， 就是那个 Cloudflare 跟那个 APNIC。 呃 Cloudflare 大家可能很多做网络 —— 做 ' 做这个互联网的朋友知道 ， 它是一个全球最大的这个 CDN 的网络公司 。

**Rio** [35:55]
对 。

**吴涛** [35:56]
然后 APNIC。

**Rio** [35:58]
应该是信息安全好吧 ？ 他们 —— 他们起家是 。

**吴涛** [36:01]
它的产品是一个 CDN， 然后是附带很多这个信息安全和加速的一些这个 。

**Rio** [36:06]
对 。 它们在 —— 它们最开始扬名立万靠的是信息安全 ，是这样的 。 做 CDN。

**吴涛** [36:10]
防 DDoS 嘛 。

**Rio** [36:11]
对 。 然后做信息安全之后 ，因为他们信息安全 —— 他们防 DDoS 做得很好 ， 所以做了一个相当于一个网络基础建设的这么一个东西 。

**吴涛** [36:21]
对 。 就 Global CDN 嘛 ， 它的 。

**Rio** [36:23]
对 。

**吴涛** [36:24]
然后他们和这个 APNIC——APNIC 叫做 Asian Pacific Network——I 是什么 ？ 什么 center 来的 ？

**Rio** [36:32]
呃 Internet 吧 。

**吴涛** [36:34]
Internet 是吧 。OK。 就是嗯 ，不对 ， 那 N 是什么 ？N 是 network。

**Rio** [36:38]
Network information。

**吴涛** [36:39]
Network information center。

**Rio** [36:40]
Information center。 就是 —— 就是亚太网络信息中心 。

**吴涛** [36:44]
对 。

**Rio** [36:44]
就这个机构是干嘛的 ？

**吴涛** [36:46]
总部在澳大利亚吧 ， 应该是 。

**Rio** [36:49]
好像是在澳大利亚 。 对 。 就是一个负责就是分派这个 IP 地址的那个机构 。

**吴涛** [36:54]
对 。 这个机构全球 5 个 AP—— 呃 APNIC 是其中一个 。

**Rio** [36:58]
就亚太是一个 。

**吴涛** [36:59]
北美有一个 。

**Rio** [37:00]
北美有一个 。

**吴涛** [37:01]
欧洲有一个 。

**Rio** [37:01]
北美是什么 ？ 北美是 N—— 哎 ，不是 。

**吴涛** [37:06]
就是 A—— 就是 America。

**Rio** [37:09]
就 A 吗 ？

**吴涛** [37:10]
嗯 。

**Rio** [37:12]
ANIC。

**吴涛** [37:12]
那是 。

**Rio** [37:13]
应该就叫 ANIC。

**吴涛** [37:14]
OK。

**Rio** [37:15]
拉 —— 拉美有一个 。

**吴涛** [37:16]
拉美有一个 。

**Rio** [37:17]
呃欧洲有一个 。

**吴涛** [37:19]
对 。 然后非洲有一个 。

**Rio** [37:21]
非洲有一个 。

**吴涛** [37:21]
一共 5 个 。

**Rio** [37:22]
对 。 这 5 大洲差不多 cover 掉了哈 。

**吴涛** [37:25]
对 。

**Rio** [37:26]
嗯 。 就是他们两个合作搞了一个这个 —— 一个 —— 一个 DNS 的 —— 就是公共解析服务器 。 那个 —— 那个 IP 地址是 1.1.1。

那备用那个是 1.0.0.1。 就四个 1 嘛 。 所以是 4 月 1 号 ， 就是愚人节那天正式发布的 。

**吴涛** [37:43]
双 11。

**Rio** [37:44]
哈哈哈

。

**吴涛** [37:48]
哈哈哈 。Quadruple ones。

**Rio** [37:49]
对 。

**吴涛** [37:51]
嗯 。 就它这个 DNS—— 呃其实在这之前也有一个大厂做过这种 DNS，有好几家 。 比如说 Google 那个大概可能比较知名的 8.8.8.8， 然后四个 8。

**Rio** [38:01]
哎 ，8888 是属于谁的 ？

**吴涛** [38:04]
呃那好像是 Google 自己的吧 。 它自己的那个 —— 那刚好有那个 IP 段 。

**Rio** [38:09]
OK。

**吴涛** [38:10]
嗯 。OK。

**Rio** [38:11]
对 。 它 —— 它 —— 它划到了 。 然后那个 1.1.1 是那个 —— 那个 IP 段目前是属于那个 APNIC 没有划分出去的嘛 。 待会我会聊为什么会没有 —— 没有划分出去哈 。

然后还有几个就是国外比较知名的 ， 像那个叫做 OpenDNS， 后来好像是被 Cisco 收 —— 收购了吧 ， 应该是 。

**吴涛** [38:27]
应该是被 。 对 。 它不再 open 了 。

**Rio** [38:29]
哈哈 。

**吴涛** [38:29]
对 。 嗯 。 它的独立运作好 —— 好 —— 好像还是 —— 嗯 ， 我们假设它是吧 。

**Rio** [38:35]
对 。

**吴涛** [38:36]
呃然后 —— 然后就国内的 ， 国内其实也有几家比较知名的 ， 比如说叫 114DNS 啊 ， 它的那个 —— 那个 IP 就是四个 114。

**Rio** [38:44]
嗯哼 。

**吴涛** [38:45]
啊 。

**Rio** [38:46]
你用过吗 ？

**吴涛** [38:46]
还有包 —— 呃我 —— 我在国内用的就是 114 和那个叫什么 DNSPod， 就是后来被 ——DNSPod 是一个 —— 最开始它是一个独立的 DNS 的域名解析服务商 ， 后来是被腾讯收购了嘛 。

**Rio** [39:01]
哦 ， 又被腾讯爸爸收购了 。 好吧 。

**吴涛** [39:04]
对 。 对 。 因为现在就 —— 然后呃阿里有一个阿里 DNS， 就也是这种公共 —— 公共解析服务器 。 它那个网址是 —— 哎 ， 录下来的 119.29.29.29 吧 ， 好像是这样 。

**Rio** [39:17]
OK。

**吴涛** [39:17]
如果没记错的话 。Anyway。 然后还有一个叫做啊百度 DNS，也是有 —— 有这个服务的 。 就是其实 BIT 就等于是各自有一个了 。

**Rio** [39:25]
所以为什么每个公司都要买 DNS 呢 ？

**吴涛** [39:28]
呃这个 —— 你说它每 —— 为什么这些公司都要做一个自己的公用 —— 公共的 DNS 呢 ？

**Rio** [39:34]
为什么每个公司都要有这个东西呢 ？ 因为其实就是以我一个比较 —— 因为这期话题我本身不是非常的了解 ， 就是以我一个非常肤浅浅薄的这样一个 —— 嗯 —— 理解 ， 就是 DNS 有一个不就好了吗 ？

就为什么每个公司都要有一个自己呢 ？

**吴涛** [39:49]
对 。 因为传统上 DNS 这个解析服务是 —— 就是我们家庭用户的直接访问的那个 DNS 服务器 ，其实是用它是运营商叫 ISP 提供的 。

**Rio** [39:59]
对 。

**吴涛** [39:59]
就是你比如说你用这个 —— 家里用那个啊拨号上网 ， 对吧 ？ 你拨完之后你会得到几个东西 ， 一个是你的这个 IP 地址 ， 然后你的网关地址 ， 然后就是这个 ISP 的这个 DNS 服务器的地址 。

对 。

**Rio** [40:11]
对 。

**吴涛** [40:12]
啊 ， 为什么要用 ISP 的 DNS 服务器 ？ 因为它通常离你最近 ， 对吧 ？ 通常只有一跳或者两跳 。

**Rio** [40:17]
对 。

**吴涛** [40:17]
然后呃它因为它跟你是同 —— 基本上在同一个这个子网段里面嘛 。 就它解析出来的结果通常是说是比较适合你那种 —— 你的那个 —— 那个 —— 那个就是对你来说访问最优的 。

**Rio** [40:30]
对 。

**吴涛** [40:30]
对 。 但是呢 ， 嗯 ， 呃 ISP 提供的 DNS 经常有很多问题 ， 比如说它有可能因为小 —— 有些小 ISP 它的服务质量根本上它不稳定 ， 或者是它呃负载过高 ， 就响应很慢 。

**Rio** [40:44]
嗯哼 。

**吴涛** [40:45]
啊 ，但这个都不是核心问题了 。 最核心问题是 ISP 经常去解释这个 DNS 解的结果 。 比如说你 —— 你解析一个域名 ， 它可能没有这个结果 ， 就是 —— 就是这个空的 —— 不存在的地址 。

它又给你说解析到 ISP 它自己的一个比如导航网址上面去 ， 对吧 ？

**Rio** [41:01]
对 。

**吴涛** [41:02]
这个很多人接受不了 ，但其实我觉得这个倒还好 。 另外一种的劫持是比较严重 ， 这个 —— 这个特别是在这个 HTTP， 哎 ， 就是加密的那个通信 ——HTTPS 普及之前 ， 啊 DNSP 厂商 —— 很多 ISP 厂商为了 —— 为了什么说来 ？

为了 。

**Rio** [41:19]
利益 。

**吴涛** [41:19]
做缓存吧 。

**Rio** [41:20]
就是为了利益 。

**吴涛** [41:21]
为了利益 。 啊 ，也有可能是为了 —— 也有可能 。 这我们不 —— 我不去猜测它的动机啊 ，因为我不知 —— 我不是它 —— 我不知道它背后怎么运作的 。

**Rio** [41:28]
OK。

**吴涛** [41:28]
就是它会把某一个这个网站的这个域名劫持到另外一个网站去 。 那就因为互联网是一个 —— 至少目前来看还是一个很大程度上靠流量和广告 、 点击 —— 呃做收入的地方嘛 。

它这样劫持其实就会影响到很多网站的利益嘛 。

**Rio** [41:43]
对 。

**吴涛** [41:44]
所以大家 —— 也对用户的体验比较差 ， 所以大家对 —— 就 —— 就还是比较怨声载道的 。 但是我觉得对于国内用户来讲 —— 国外我不太清楚啊 ，但对于国内用户来讲 ， 最主要的还是说有 —— 有之前 —— 呃应该是 2000 年 ——2000 零几年的时候出现过几次比较大型的因为这个 ISP 的 DNS 的系统导致的大面积的断网 ， 就导致的攻击导致断网 。

这个后面会讲是什么类型的攻击哈 。

**Rio** [42:10]
嗯哼 。

**吴涛** [42:11]
然后使得大家会在考虑说 ， 那我们是不是不要用这个 ISP 提供的这个 DNS 服务了 ， 然后转用这个 —— 就是所谓的第三方提供的这个 DNS 服务 。

然后那就要反过来就要看为什么第三方愿意来提供这个东西了 。其实很简单嘛 ， 如果单从这个信息的这个价值这个角度来讲 ，DNS 解析 —— 呃能够给到第三方很多有用的信息 ， 比如说假设你是这个阿里 ， 你希 —— 你肯定希望所有人都通过你的 DNS 解析 ， 这样你可以看到哪些人在 —— 呃访问什么网 —— 什么网站 ， 然后你可以知道有没有 —— 比如说有没有什么竞

争对手啊之类的事情 ， 对吧 ？

**Rio** [42:48]
对 。 就是实际上就是相当于每个人都希望自己能够掌握对于 ——

**吴涛** [42:54]
更多的信息 。

**Rio** [42:55]
对于 —— 呃地址电话本的这样一个控制权 。 然后这个电话本它最大的妙处就在于 ， 所有人打电话给某一个特定人的时候 ， 一定要查你的电话本 ， 然后就可以查 —— 你就可以通过所有人查电话本的这样一个 pattern 来获得一定的统计数据 。

而这个统计数据在 —— 尤其是在今天在 Facebook 的这个 —— 呃 —— 呃这个隐私的泄露事件出现之后， 我们会意识到大众的行为的模式实际上是一个非常具有价值的东西 。

然后如果你掌握了 ， 那你就实际上相当于给自己开了个矿 。

**吴涛** [43:44]
没错 。 没错 。 哎 ， 刚才我们讲了半天 ，其实没有讲 DNS 是干嘛的哈 。其实对于普通这个用户来讲 ，DNS 最核心的一个功能就是把一个字符串 —— 呃映射成一个 IP 地址 。

**Rio** [43:58]
或者反过来 。

**吴涛** [43:59]
呃反过来其实普通用户都用不到 。

**Rio** [44:01]
Reverse DNS 好吧 。

**吴涛** [44:03]
就是单向的 。 对 。 对 。 啊 ，因为 —— 因为本身 ——

**Rio** [44:05]
我刚才想说 ， 如果你不知道 DNS 是什么 ， 就不要听我们节目 。

**吴涛** [44:09]
哈哈哈 。 还是解释一下吧 。

**Rio** [44:12]
OK。

**吴涛** [44:12]
降低点门槛好不好 ？

**Rio** [44:14]
好 。

**吴涛** [44:15]
对 。 就主要是这个功能 。 但是 DNS 是一个其实非常庞大复杂系统 ，有些 —— 就细枝末节的事我们就 —— 就不在这里啰啰嗦嗦讲了 。

**Rio** [44:24]
嗯哼 。

**吴涛** [44:24]
啊 ， 回过头来讲 ， 就为什么就这次 —— 就 —— 就是为什么 Cloudflare 出这个 DNS 会让我比较 ——

**Rio** [44:31]
如此兴奋 ？

**吴涛** [44:32]
关注 —— 关注这件事情 ， 对吧 ？ 那其实之前 Google 也出了很多 ， 包括 OpenDS 也出了很多事情 ， 就没有 —— 并没有太让我去关注这个事 。

一个是说 —— 啊 ， 首先对于我来讲 ， 就是 Cloudflare 是一个在目前所有的大公司里面我相对来说比较信得过的 。

**Rio** [44:48]
嗯哼 。

**吴涛** [44:49]
我也是 。

**Rio** [44:49]
Google 推出 DNS 的时候 ， 我们的节目还没有成立吧 ？ 好像 。

**吴涛** [44:54]
啊 ，8.8 什么时候出的 ？ 我不知道 。

**Rio** [44:56]
很久了我觉得 。

**吴涛** [44:57]
应该是 —— 反正几年前的至少是 。 对 。 就 —— 就 —— 就刚才讲就是 DNS 可以暴露你很多你的防务信息嘛 。

就其实那如果你作为你对你的隐私或者是这个信息比较关注的人， 你可能想尽可能少地暴露这个东西 。

**Rio** [45:13]
嗯哼 。

**吴涛** [45:14]
然后其实从目前来看 ， 所有的这种公开可访问的 DNS 里面 ， 至少从承诺这个角度来讲 ，Cloudflare 是做得最 —— 最好的 。

**Rio** [45:24]
对 。

**吴涛** [45:24]
因为它承诺几件事情 ， 就是它不 —— 它除了用于跟那个 APNIC 作为研究的保存那个 —— 那个一些记录用于分析 ， 然后分析完就删掉之外， 它不会保留任何的这个 log。

然后就是它在这个 DNS 解析的过程中， 它也会尽可能减少你的这个个人信息的这个暴露 。

**Rio** [45:46]
对 。

**吴涛** [45:46]
当然这个跟系统有关 ， 我们待会会解释啊 。

**Rio** [45:49]
其实这里我有个问题啊 。

**吴涛** [45:50]
然后就是 —— 就是 —— 不好意思打断一下， 就是为什么 DNS 这么重要的东西 ， 政府一直没有插手 ？

**Rio** [45:59]
嗯 ， 好问题啊 。

**吴涛** [46:02]
就 —— 其实从一个非常 ——

**Rio** [46:04]
CNIC 是有一个 —— 有一个 —— 刚刚我说 CNIC 就中国的那个管网 —— 管网络那个 IP 地址分配的那个机构 ， 它是有一个公用的这个 —— 这个 DNS 服务器的 。

**吴涛** [46:15]
那为什么大家不用它呢 ？

**Rio** [46:17]
嗯 ， 这个还 ——

**吴涛** [46:18]
或者说为什么 —— 为什么在这一层 DNS 的服务器下面要由这么多个商业公司来做一个转承呢 ？ 就是其实这是一个非常重要的网络的核心组件 ， 对吧 ？

**Rio** [46:33]
对 。

**吴涛** [46:34]
那么你要 —— 如果说你 —— 你这个东西如此的重要 ，以至于人们需要公信力的话 ， 那么甚至在一些政府公信力比较好的国家 —— 我没有特别排斥中国 —— 在一些政府公信力特别好的国家 ，DNS 也 —— 也是由商业公司运作的 。

**Rio** [46:54]
这个可能是互联网的一个传统还是怎么 ？ 我没想过这个问题哈 。 因为但其实你从现在整个 DNS 体系来看 ， 它整个起码在底层的运作里面是没有政府机构的影子的 ， 都是一些这种就是非商业机构嘛 。

**吴涛** [47:08]
OK。

**Rio** [47:09]
对吧 ？ 包括跟那 13 个跟服务器应该也是有一个商 —— 哎 ，是有一个

—— 是一个商业公司运作的好像是 ，但是它不是一个政府机构 。

**吴涛** [47:20]
它至少是一个非盈利的这个 —— 呃国际组织 。

**Rio** [47:23]
它 —— 它 ——Verizon——Verizon 好像是个盈利 —— 盈利的商业公司 。

**吴涛** [47:27]
OK。 然后 ——

**Rio** [47:28]
嗯 。

**吴涛** [47:28]
就其实说到这个问题 ， 就是我很久以来就在想说 ， 我们经常会把互联网比作一个信息高速公路 。

**Rio** [47:37]
嗯 。

**吴涛** [47:37]
但是高速公路这个东西 ， 就是现实生活中的高速公路 ， 永远是国家控制的 。 就哪怕你是一个筑路公司 ， 你是修路的公司 ， 这个路最终的运营也是由 —— 或者说这个路的铺设的决策也永远是由 ——

**Rio** [47:51]
不一定 。 地 —— 地是 —— 哎 ，不一定哦 ，不一定 。

**吴涛** [47:54]
对啊 ， 地有可能是私有的 ， 对吧 ？ 但是从哪修 ——

**Rio** [47:56]
看土地的这个有没有私有制嘛 。

**吴涛** [47:59]
从哪往哪修一条路这件事情 ， 永远是由政府决定的 。

**Rio** [48:02]
规划嘛 。

**吴涛** [48:03]
对 。

**Rio** [48:04]
那么为什么规划的时候没有 —— 或者说现在我们没有把互联网的规划作为政府的一个可以控制的事情 ？ 或者说好吧 ，也 —— 也是有的 ， 至少在 ——

**吴涛** [48:17]
中国是啊 ， 中国是政府控制的呀 。

**Rio** [48:19]
德国其实也是 。 就德国你要想在某一个小区铺宽 ——

**吴涛** [48:22]
对啊 ， 德国电信算是一个半政府组织了吧 ？ 半政府 ——

**Rio** [48:25]
政府控股 ，但是政府不会直接影响它的 —— 政府只会 —— 比如说市政府会说这边修一个新城区 ， 然后比如说所有新城区都需要铺设光缆 ， 那么哪个新城区先铺设光缆 ？

或者说光缆的推进的过程 ， 这个 —— 这个 —— 呃决策是 —— 是的确是由政府来做的 。

**吴涛** [48:43]
哼 。

**Rio** [48:44]
但是 ——

**吴涛** [48:45]
Anyway。 就这个 —— 这个问题我不知道答案 ，但是 —— 但是没 —— 但是至少目前不是这样子的 。

**Rio** [48:49]
对 。

**吴涛** [48:50]
啊 ，但我不排除在不远的将来会在某些局部地区变成这样子 。

**Rio** [48:56]
对 ，因为毕竟互联网是一个越来越重要的 —— 嗯 —— 一个国家的核心组件了 ， 已经是 。 就像路一样 ， 就像真的就像路一样 。

**吴涛** [49:07]
对 。

**Rio** [49:09]
哎 ， 刚讲哪了 ？

**吴涛** [49:10]
呃 —— 啊 ， 对 。 就为什么 —— 就是为什么 Cloudflare 这个事情相对来说我比较值得信赖 ， 就是它的这个商业模式我认为是能够 —— 就是对它做这件事情是可以自圆其说的 。

**Rio** [49:23]
嗯哼 。

**吴涛** [49:24]
就是比如说 Google 做那个 DNS 和它的商业逻辑 ， 我觉得这件事我没有办法去让它自圆其说 。 它一定是这个数据它有 —— 有价值嘛 。

**Rio** [49:32]
对 。

**吴涛** [49:32]
但你可以说它 —— 它不看重这个数据的这个价值 ， 只是想做一个纯粹的这个公共服务 ，也 —— 也是存在这种可能性的 ，但是你毕竟没有办法去 —— 去 —— 去 —— 就是完全相信这件事情 。

**Rio** [49:43]
对 。

**吴涛** [49:43]
你只能相信它的人品 ， 对吧 ？ 但因为 Cloudflare 本身它是一个做 —— 本质上它是一个做安防的公司 ， 然后它的很多这个客户的这个 —— 这个 DNS， 比如说我的个人网站的 DNS 就是放在 Cloudflare 的 ， 对吧 ？

**Rio** [49:55]
对 。

**吴涛** [49:55]
那它做这个公共服务其实是跟它的那个付费的客户会是有好处的 ， 就是越多人用它的 Cloudflare 这个四个 1 的这个 DNS，是可以直接加快它 —— 呃 ， 就是那些 host 在 Cloudflare 的客户的域名的解析速度的 。

**Rio** [50:13]
嗯哼 。

**吴涛** [50:14]
你明白我的意思吗 ？ 就是 ——

**Rio** [50:15]
是的 。

**吴涛** [50:15]
它的付费用户的利益是和它做这个公共 DNS 是一致的 。

**Rio** [50:20]
对 。

**吴涛** [50:20]
不矛盾 。

**Rio** [50:21]
是绑在一起的 。

**吴涛** [50:21]
它和我的 —— 它不需要知道我的隐私 ， 它只需要给它的这个付费用户提供更快的这个解析速度就可以了 。

**Rio** [50:28]
对 。 而且它可以通过 DNS 的访问模式来 —— 更 —— 来去优化自己的 —— 呃 ——CDN 的配比 。

**吴涛** [50:35]
对 。 而且在很多 —— 就是从目前的这个实测数据来看 ，Cloudflare 的这个 DNS 的平均访问延迟是要比 Google 那个要 —— 要 —— 要快的 。

就是延迟是要低的 。

**Rio** [50:45]
目前测还太早点吧 ？ 因为毕竟它 ——

**吴涛** [50:49]
不不 ， 这个目前 —— 但也要打个引号 ， 就是 Cloudflare 在全球大概有 200 多个节点嘛 。

**Rio** [50:53]
OK。

**吴涛** [50:53]
但是就是它是从一个 —— 从一个就是互联网流量平均的角度去看 ，但是针对到比如说中国用户直接去访问它肯定是不合适的 ，因为要 —— 要绕路嘛 ， 要 —— 那个不是没有直连的嘛 。

所 —— 虽然 Cloudflare 在香港和澳门都是有这个节点的 ， 然后 Cloudflare 在大陆也是通过跟百度云的合作也是有节点的 ，但是作为中国一个普通用户是直接访问不了那些 —— 那些节点的 。

**Rio** [51:16]
是 。

**吴涛** [51:17]
OK。 所以 —— 所以刚才讲那个平均访问数只是针对就是 Cloudflare 服务的中国大陆以外的全球其他市场来看 ， 它是目前是最快的一个公共的 DNS。

然后它还支持一些比较 —— 呃 ， 我觉得比较有意思的属性 —— 特性吧 ， 比如它支持这个 DNS—— 加密的 DNS， 叫 DNS over TLS 和 DNS over HTTPS。

**Rio** [51:39]
嗯哼 。 但是这两个都非常慢 ，不是吗 ？

**吴涛** [51:43]
嗯 ， 这里要 —— 这里就要后面要解释它们的优劣点是什么嘛 。

**Rio** [51:47]
OK， 好 。

**吴涛** [51:48]
OK。 那就要一步一步说起了啊 。

### DNS攻击

**Rio** [51:50]
好 。

**吴涛** [51:50]
就是 DNS 的这个技 —— 这个技术架构是怎么一个回事 。

**Rio** [51:54]
听 Ray 老师讲课 。

**吴涛** [51:56]
啊 ， 这个 —— 这个课程就长了 。

**Rio** [51:58]
好 。

**吴涛** [51:59]
尽量 —— 尽量简单吧 ， 我觉得 。

**Rio** [52:01]
好 。

**吴涛** [52:01]
可能一次讲完 ， 还有可能分两期讲 。 嗯 ， 就 DNS 最本质刚才讲的是完成一个什么呢 ？ 完成一个从那个字符串 ， 就域名嘛 ， 翻译成这个 IP 地址这么一个功能 。

**Rio** [52:12]
对 。

**吴涛** [52:12]
这是它最核心的功能 。 那么它传统通过一个 UDP 的协议来实现的 。 就是你发一个 UDP 的包给比如说这个 —— 这个 1.1.1.1， 然后 53——53 端口的 UDP 的包 ， 然后里面写说我要问这个 —— 这个 www.qq.com 这个地址的这个 IP 地址是多少 ， 对吧 ？

你把这个问题发出去 ， 然后你在那里监听这个 UDP 的这个回包 。 如果网络正常的情况下大概一秒之内吧 ， 或者几十 —— 几百毫秒之内 ， 根据你的网络情况 。

**Rio** [52:42]
就是你在输入网页之后， 到打开网页之间 ， 你等的就是 DNS。

**吴涛** [52:46]
对 ， 你等那一段 ，有一段是因为 —— 就最开始那段是这个 。

**Rio** [52:49]
对 。

**吴涛** [52:50]
啊 ， 就它会 —— 它会收到一个回包 ， 回包里面就说啊 ， 这个 www.qq.com 它对应的网址是比如说 a.b.c.d， 对吧 ？ 你就知道了这个 IP 地址 ， 然后你这个电脑再通过这个 IP 地址和 QQ 的服务器建立连接 ， 然后你才会完成这个 。

因为 —— 因为在 —— 就是互联网的 IP 的底层是没有 —— 没有域名这个概念的 。 域名是一个更上层的一个 —— 就是应用层的一个概念嘛 。

**Rio** [53:15]
嗯哼 。

**吴涛** [53:17]
啊 ， 传统那个 UDP 的 DNS 用了很多年， 呃 ，也还好 ，但是也有 —— 也有很多各种各样的问题 。 啊 ， 最核心的一个问题就是它是一个 —— 就大部分的 UDP 的协议都会或多或少有这个问题 ， 就是它会导致这个 DDoS 攻击 。

**Rio** [53:36]
对 。

**吴涛** [53:37]
这是 —— 这是一个比较严重的问题呢 。

**Rio** [53:39]
对 ， 对 。 因为其实很多这种所谓的 DDoS 攻击都是涉及到这个 DNS 这个服务器 。 啊 ， 这里可能要展开解释为什么 。

**吴涛** [53:46]
好 。

**Rio** [53:46]
就在 DDoS 服务器 ——DDoS 攻击里面最核心的一个点就是 ， 你要用 —— 产生 —— 你要用尽可能小的成本 ， 对你的目标的服务器产生尽可能大的流量的访问 。

这样只要你的访问它流 —— 这那个流量大过它的这个可用带宽 。

**吴涛** [54:02]
承受范围 。

**Rio** [54:03]
你就把它打 —— 你就把它打下 —— 打 —— 打 —— 打掉了嘛 。 因为它没法接受正常的服务了 ， 对吧 ？

**吴涛** [54:07]
对 。

**Rio** [54:08]
但是你真的要提供一个超级大的带宽 ， 成本是非常贵的 。 所以在这个 —— 在这个 DDoS 这个就是 —— 就是什么分布式拒绝 —— 拒绝服务攻击里面 ，distribu—— 叫做那个全称叫什么 ？distributed denial of service attack， 对吧 ？

**吴涛** [54:24]
对 。

**Rio** [54:25]
对 ， 里面最核心的一个技巧 ， 就对攻击者来说最核心的一个技巧叫做 —— 叫做放大 。 什么放大呢 ？ 就是假设你只有 1 兆 —— 呃 ，BPS 的这么一个带宽 ， 你想办法把它放大成 10 兆 ， 你就有一个 1:10 的一个放大比率了 ， 对不对 ？

你用这个 —— 你用这个 —— 就假设你只有 1 兆的带宽 ， 你可能打不动它 ，但是你 10 兆你刚刚就打得动它 。

比如说很多国内那种什么阿里云的服务器的带宽只有 2 兆的 ， 对吧 ？ 你 10——

**吴涛** [54:51]
小水果 。

**Rio** [54:52]
对 ， 然后就把它打趴掉了 。 呃 ， 然后如果你还能分布式的去放大 ， 假设你就 —— 就是怎么说 ？

就是你 —— 你控制的 —— 假设 —— 假设你控制 1 万个肉鸡 ， 对吧 ？ 每个肉鸡能产生 1 兆的这个上行带宽 ， 你不是就有 1 万兆的上行带宽吗 ？

如果你再能把这个 1 万兆的上行带宽放大 10 倍 ， 你就有 10 万兆的上行带宽 ， 对吧 ？10 万兆上行带宽等于多少个鸡啊 ？

就等于 —— 算一下 ——100 鸡 ， 对吧 ？

**吴涛** [55:19]
嗯哼 。

**Rio** [55:20]
是不是 ？ 没想错吧 ？

**吴涛** [55:21]
差不多 。

**Rio** [55:21]
对 ，100——100 鸡带宽 。100 鸡带宽足以让你打掉世界上 99% 的服务器了 。

**吴涛** [55:27]
对 。

**Rio** [55:28]
对啊 。 所以就是放大这个是一个非常重要的一个 —— 一个 —— 一个技巧 。 所以具体放大怎么放大呢 ？ 就是 —— 就是你发出的这个流量要导到那个地方 ， 就是有 —— 经过一个放大器 ——amplifier， 然后这个放大器再发送给你的目标服务器 ， 这个过程中就要会产生一个放大 。

啊 ， 这个就有意思了 ， 就是你正常情况下你想不出为什么发生 —— 发生这种情况 ， 对吧 ？

**吴涛** [55:51]
对 。

**Rio** [55:52]
但 DNS 里面就碰巧有具备这么一个 —— 一个特征 。 你想 ， 你问一个 —— 你问 DNS 服务器一个问题 ， 你说问 qq.com 的时候 ， 你的问题其实很短 ， 就可能啊 ， 二三 —— 二三十个字节的一个 UDP 包 ， 对吧 ？

**吴涛** [56:05]
OK。

**Rio** [56:05]
但是它可能返回你一个比较多 ， 比如说假设 QQ 有 100 个 IP 里面 ， 或者你可以问一些比较复杂的问题 。 因为 DNS 里面那种有各种各样的这种所谓这种记录结构嘛 ， 或者记录的类型 ， 它可以产生一个比较大的一个 —— 一个 —— 一个 reply， 一个 —— 一个回应 。

就是说你用一个比如说 50 个字节的这个请求 ， 产生了 500 个字节的回复 ， 你不就产生了 10 倍的放大效果了吗 ？

对吧 ？

**吴涛** [56:30]
是的 。

**Rio** [56:31]
但是这里 trick 的点在于 ， 那个回文是回给你本人的 ， 你怎么把它导到对方的那个 —— 你需要攻击的那个服务器那里去 ， 对吧 ？

**吴涛** [56:39]
嗯哼 。

**Rio** [56:40]
这里面就牵涉到 UDP 协议本身的一个 —— 一个特性啊 ， 就是 UDP 协议的那个协议头里面是有一个叫做 —— 叫做 source address， 就是这个包的发送者是谁的 。

**吴涛** [56:52]
哦 ，OK。

**Rio** [56:53]
比如说我的 IP 地址是 —— 比如说是 —— 随便举个是 —— 就像是 1.2.3.4， 这是我的 IP 地址 。 那我发给 1.1.1 这个 —— 这个服务器的 DNS 服务器的请求的时候 ， 我会在我的那个 UDP 包的那个 —— 这个 source address， 就是来源地址里面写是我是 1.2.3.4， 对吧 ？

**吴涛** [57:11]
对 。

**Rio** [57:11]
这就好像你寄一封信 ， 然后把寄送人的 ——

**吴涛** [57:15]
就发件人嘛 。

**Rio** [57:16]
对 ， 把发件人的地址填给 ——

**吴涛** [57:17]
写到那边 。

**Rio** [57:17]
别人 —— 信封上面去 。 然后它 —— 它就会反口 。 但是如果我 —— 我 1.2.3.4 这个 —— 这个机器发出的 UDP 的包写的那个来源地址是 —— 是比如说 6.7.8.9， 对吧 ？

那 1.1.1 这个服务器它傻傻的收到这个包之后， 它会认为这个 —— 这个请求来自于 6.7.8.9 那个 —— 那个 —— 那个机器 ， 那个就是你的目标嘛 ， 对吧 ？

**吴涛** [57:41]
就好像你的 ——

**Rio** [57:42]
那它就会把这个 —— 它就会把那个 500 个 byte 的回应发给 6.7.8.9 的那个 —— 那个服务器 。

**吴涛** [57:49]
对 。

**Rio** [57:49]
这样你就对它产生了攻击嘛 。

**吴涛** [57:51]
是的 。

**Rio** [57:51]
就这里面其实有 —— 有两个技巧啊 ， 一个叫做放大 ， 一个叫做 —— 叫做 —— 叫做 source address spoofing， 就是伪造发件地址 。

**吴涛** [57:58]
对 。

**Rio** [57:58]
发包地址 。 啊 。

**吴涛** [58:00]
对 。

**Rio** [58:00]
这个就是牵涉到另外一个问题 ， 就为什么发包地址可以伪造 ， 就一个协议层它 —— 它没有一个手段可以 ——

**吴涛** [58:06]
回溯 。

**Rio** [58:07]
呃 ——

**吴涛** [58:08]
可以回溯到真正的发件人。

**Rio** [58:09]
你没法确定这件事情 ，因为它 —— 对 ，因为它的 UDP 协议是一个无状 —— 无状 —— 呃 ， 叫什么 ？connectionless， 就是无连接的嘛 。

**吴涛** [58:16]
对 ， 就好像我们在上那个网络课的时候 ， 一定会说 UDP 就好像写信一样 。 你 —— 你写信的人 —— 你 —— 你把信扔进邮筒里面之后， 邮局是没有办法真正知道你是不是 —— 就真的这封信是 ——

**Rio** [58:28]
你是不是那个寄件人， 对吧 ？

**吴涛** [58:29]
寄件人写出的 。

**Rio** [58:31]
对 ， 对 ， 对 。 所以现在很多那个发快递都要先验证发件人身份证嘛 。

**吴涛** [58:36]
对 。

**Rio** [58:38]
嗯 。 所以就这个是 UDP 的一个很核心的问题 ， 就是你可以看到目前很多这个网 —— 互联网出现的这种 —— 这种 DDoS 协议的攻击里面 ， 或多或少都会牵涉到这两个技巧 ， 对吧 ？

一个是放大 ， 一个就是刚才那个 ， 就是伪造发 —— 发包地址 。 啊 ， 就 DNS 碰巧是有这么一个 —— 呃 ，是给攻击者提供一个比较好的 —— 就反射和放大的这么一个机制吧 。

因为据统计 ， 全球好像有几万个这种公开可以访问的 DNS 服务器 ， 就等于有几万个这个放大器在那里等着攻击者去用嘛 。

**吴涛** [59:16]
好恐怖啊 。

**Rio** [59:17]
这 —— 这个还是非常 —— 非常 —— 非常恐怖的一件事情 。

**吴涛** [59:19]
对 。

**Rio** [59:20]
啊 。 但怎么解决这个问题呢 ？ 其实也比较 —— 也比较简单 ， 就是 —— 啊 ，有 —— 有几种方案 。 就如果还是坚持用 UDP 的话 ， 就解决这个发包地址伪造的问题 ， 相对来说容易一点 ， 就是要求这个 ISP， 就是这个互联网提供服务的商 ， 它要过滤你的那个地址 。

就简单来说 ， 比如说啊 ， 我是这个中国电信 ， 啊 ， 比如说是这个深圳这个 —— 这个分公司哈 ， 它的网络里面 ， 它的那个网络的 —— 就网 —— 我们网络结构里面会牵涉到一个叫做 AS 嘛 ， 叫 autonomous—— 呃 ， 什么叫什么来着 ？AS 叫什么来着 ？

自制域是吧 ？ 网络那个 AS 叫 ——

**吴涛** [59:57]
我知道 ， 我知道 ，但我也想不起来那个东西 。

**Rio** [59:59]
我也想不起来叫 AS 什么来着 。anyway， 就是回头查一下 。

**吴涛** [1:00:02]
对 。

**Rio** [1:00:03]
就是网络里面你可以 —— 它有一个叫自制域的一个概念 ， 就是你 —— 你这个是比如说中国电信 、 深圳分公司管的这么一个网络里面 ， 从这个网络里面去到别的网络的这个数据包 ， 呃 ， 你在出口 —— 中国电信在出口的时候是有义务去过滤掉那些来源不是来自你这个网络里面的 。

**吴涛** [1:00:24]
对 。

**Rio** [1:00:24]
就是使得你这个网络里面的这些数据 —— 这个机器不能伪造非来自于这个网络内部的数据包 。

**吴涛** [1:00:32]
对 。 也就是说它把 ——

**Rio** [1:00:34]
这样你可以干掉 。

**吴涛** [1:00:34]
它把 —— 它把这个有可能被攻击的人的范围限定到了发件人所在的这个区域之内 。

**Rio** [1:00:43]
对 ， 对 ， 对 。 就 —— 就缩小了这个影响的区域嘛 。其实这样如果 —— 如果所有的 ISP 或者所有的自制域都采用了这种叫做这个 —— 这个 —— 这个过滤的话 ，其实 90% 的这个 DDoS 攻击是可以被避免的 。

**吴涛** [1:00:56]
对 。

**Rio** [1:00:57]
因为它都涉及到这个伪造地址这么一个事情嘛 。

**吴涛** [1:00:59]
对 。 而且这件事情要比 —— 比如说每个邮筒都只能限定周围的小区来寄信要简单得多 。

**Rio** [1:01:06]
嗯 ，其实这件事也 —— 也挺难的 。其实我觉得从网络工程的角度来讲 。

**吴涛** [1:01:10]
OK。

**Rio** [1:01:10]
但只是 —— 所以很多人 —— 很多运营商其实没有做这件事情嘛 。 但是 —— 但是它是一个有必要的 ， 为了 —— 为了未来的这个网络的信息安全的话 ， 就 —— 就 —— 就我觉得这个事情是有必要做的 。

**吴涛** [1:01:22]
嗯哼 。

**Rio** [1:01:23]
嗯 。 啊 ， 另外一个解决方案就是 —— 就是所有的这种公开的这个 DNS 服务器都不使用 UDP， 或者说限制 UDP 回复的那个包的大小 ， 就限制那个 —— 那个 —— 那个 —— 就放大比例嘛 。

简单来说 ， 比如说你不能用 50 个字节的请求得到 500 个字节的回复 ， 你可能最多得到个 200 个字节的回复 ， 那就只能只是一个 1:4 的攻击 ， 可能就还 ——somehow 还小一点点 ， 对吧 ？

**吴涛** [1:01:50]
对 。

**Rio** [1:01:50]
但这也并 —— 并不能根治这个问题 。 最好的方法就是说你还是换成那种就是有连接状态的协议 ， 比如说 TCP。

因为 TCP 的话是没有办法伪造来源的 ，因为有三四握手嘛 。

**吴涛** [1:02:01]
对 。

**Rio** [1:02:01]
它会 —— 会校验这个事情 。

**吴涛** [1:02:03]
是的 。

**Rio** [1:02:04]
啊 ，但 TCP 呢 ， 就会有 —— 换 —— 就是换 —— 用 D——DNS 换用 TCP 协议的话 ， 就会有带来额外的问题 。

**吴涛** [1:02:12]
就主要是 TCP 太重了嘛 。

**Rio** [1:02:15]
对 。 对 ，有几个问题 。 第一个就是说 DNS 服务器它其实承受的访问量是非常巨大的 。

**吴涛** [1:02:19]
嗯 。

**Rio** [1:02:19]
它可能 DNS 服务器通常不会有很多台嘛 。

**吴涛** [1:02:22]
对 。

**Rio** [1:02:22]
但它要承受的解析量是非常巨大的 ，因为所有人都在向它发 。 啊 ， 如果用 T—— 用 UDP 的话 ， 它 —— 它不用维护状态 ， 那就不用在每个 —— 就是它在那个 —— 呃 ， 计算机的那个 —— 那个 —— 那个网络站那里是不用维护很多连接的嘛 。

因为每个连接都需要消耗内存和那些资源的嘛 。

**吴涛** [1:02:40]
嗯 。

**Rio** [1:02:41]
那 UDP 其实就不用消耗那么多嘛 。

**吴涛** [1:02:43]
对 。

**Rio** [1:02:43]
它是一个简单的问答就可以了 。

**吴涛** [1:02:45]
对 。

**Rio** [1:02:45]
但如果大家有要维护 TCP 的话 ， 就 —— 就相对来说你要做一个 —— 就是资源消耗会更大 ，而且 —— 呃 ， 就是 —— 因为 TCP 这个三四握手建立连接的速度也比较慢嘛 。

三四握手的话至少有两个这个 RAN Crypt 延迟 ， 对吧 ？

**吴涛** [1:02:59]
对 。

**Rio** [1:03:01]
啊 ， 所以很多 —— 就在传统来看这样做是不合适的 。 但是我觉得在 2018 年这个时候 ，在像我相信在绝大部分的这种发达的网络 —— 网络条件的地区 ， 这个都不是问题了 。

因为现在的这个所谓的这种云服务的普及 ， 使得这种所谓大规模的高并发的服务器的 —— 呃 ， 设计和维护 —— 和 —— 都变得可行而且经济 。

**吴涛** [1:03:25]
是的 。

**Rio** [1:03:25]
就成本上 —— 成本上我觉得不再是一个问题了 。

**吴涛** [1:03:28]
对 。

**Rio** [1:03:29]
啊 ， 剩下就是说延迟的问题怎么解决 。 那也有一些 —— 呃 ， 替代的手段 ， 比如说有那个什么 TCP， 那个叫做 0RTT 的那个 ， 叫做 Fast Open， 一些 —— 一些 —— 一些手段可以解决这个问题嘛 。

**吴涛** [1:03:42]
这是干嘛的 ？

**Rio** [1:03:43]
嗯 ，TCP Fast Open 其实是一个解决 —— 就 TCP 的三四 —— 呃 ， 所以有两次延迟是因为 —— 呃 ， 两个 RAN Crypt 的延迟是因为你必须到 —— 就是发送方你必须收到 —— 我想想 —— 你必须到第一个 ACK 的时候你才能够 —— 呃 ， 发送有 —— 有 —— 有用的真实数据嘛 。

因为你第一个握手包是不能含数据的嘛 。

**吴涛** [1:04:03]
OK。

**Rio** [1:04:04]
对吧 ？

**吴涛** [1:04:04]
是 。

**Rio** [1:04:04]
那那个 Fast——Fast Open 其实就是说它允许你在第一个握手包的时候就附带一 —— 一小部分数据过去 。

**吴涛** [1:04:11]
OK。

**Rio** [1:04:11]
那对 DNS——

**吴涛** [1:04:12]
这只能提供多大的 。 就这能 ——

**Rio** [1:04:14]
那就 —— 就是零延迟了 。 就是零延迟了 。 就 —— 就不会有两个 RTT 了呀 。 好吧 ， 呃 ， 一个 RTT， 一个 RTT。 你想嘛 ，因为三次握手是这样嘛 ， 就是你 ——

**吴涛** [1:04:23]
我发 —— 我发 ACK。

**Rio** [1:04:25]
连 —— 连接发起者是先发起一个这个 sync， 对吧 ？ 给接收方 。 接收方回一个 sync ACK。

**吴涛** [1:04:32]
对 。

**Rio** [1:04:32]
然后你这个时候发送方再回 ACK。 这个 ACK 其实已经可以带数据包了嘛 。 就带你的那个 payload， 实际有数据 。

**吴涛** [1:04:41]
OK。

**Rio** [1:04:42]
所以你其实要等 —— 至少要等一个 RTT， 就是一个 —— 一个叫什么 ？ 一个来 —— 往返程的一个延迟嘛 。

**吴涛** [1:04:48]
对 。

**Rio** [1:04:49]
对吧 ？ 但 —— 但 Fast Open 就可以说在某些条件下， 你可以在第一个 sync 的时候 ——

**吴涛** [1:04:54]
Sync 的时候就可以带上 。

**Rio** [1:04:55]
OK。 对 。 但这个有 —— 有 —— 有限制条件 。 就是它其实本质上是要在服务器端 ——

**吴涛** [1:05:01]
服务器得支持 。

**Rio** [1:05:02]
申请一个 cookie。

**吴涛** [1:05:03]
对 。

**Rio** [1:05:03]
就是服务器和客户端都要支持 。 服务器那边申请个 cookie 给你 ， 使得你下一次再向这个服务器建立连接的时候 ， 就不用等那个 —— 那个一个 —— 一个 —— 一个往返程的延迟了嘛 。

但是目前 —— 就是这个 Fast Open 是 Linux 上是支持得比较好的 。 我听说这个 macOS 和这个 iOS 上面是 —— 呃 ， 好像有点 bug 的 ， 就是因为这个牵涉到系统的那个核心层的一些问题 。

而且最严重的问题是中间有些这个网络层的这个路由和网关 。

**吴涛** [1:05:34]
嗯哼 。

**Rio** [1:05:34]
它是会拦截掉这种包的 ，因为它认为这个不合法 。 它认为这是一个 —— 就是 —— 就是不合法的这个数据包 。

就第一个 sync 带数据的那种情况 。

**吴涛** [1:05:44]
对 。

**Rio** [1:05:46]
嗯 ， 就 —— 但 —— 但就 —— 就这个就是慢慢 —— 慢慢之后再慢慢普及的一个 —— 一个事情 。

**吴涛** [1:05:50]
一个技术 。

**Rio** [1:05:51]
对 。 你以后早期单独讲这个事情还比较有意思 。

**吴涛** [1:05:55]
嗯哼 。

**Rio** [1:05:56]
嗯 。DNS 的另外一个问题就是说 —— 呃 ，DNS 采用 UDP 协议的 —— 协议的另外一个问题就是它会导致这个 —— 它会导致另外一种形式的攻击 ， 叫做 —— 就是 —— 就是投毒 。

就是 poisoning。 啊 ， 投毒是什么意思呢 ？ 就是 —— 啊 ， 你这么说还是 —— 还是刚才那个逻辑 。 就是 —— 啊 ， 我不是运营商 ， 我是控制一个 —— 呃 ， 假设小黄片网站的人。

我想让 —— 我想让 —— 我想让更多人来上我的网站 ， 上 —— 上我的小黄片网站 ， 我怎么办 ？ 假设我能够把 cuckoo.com 的那个 DNS 的 IP 指向我的那个网站 ， 我不就可以得到 cuckoo.com 那些流量了吗 ？

对不对 ？

**吴涛** [1:06:35]
Dream big 也好 。

**Rio** [1:06:36]
哎 ， 对 。 就 —— 就 —— 就是思考方式是这样子 ， 没错 。 哈 。

**吴涛** [1:06:39]
至少这无端让我想到了 whitehouse.com。 哈哈哈 。

**Rio** [1:06:44]
这算是早 —— 早期的这叫什么 ？ 社会工程学的投毒 。 哈哈哈 。 对 ， 对 ， 对 ， 对 。 但这个 —— 这个是真的 —— 真的一个 —— 一个技术上的攻击嘛 。

我要 —— 我要投毒嘛 。 就到 —— 到底比较简单嘛 。 因为 —— 因为最早期的 DNS 其实很蠢的 ， 就是它只用 UDP 从一个固定的端口 ， 就是 53， 就是发出请求 。

**吴涛** [1:07:00]
对 。

**Rio** [1:07:01]
对吧 ？ 然后它在 53—— 端口 53 又接收请求 ， 对吧 ？ 那假设我知道吴涛你要访问这个 cuckoo.com， 然后你的 —— 你从你的这个 UDP 53 的那个 —— 你的 IP 地址是 6.7—— 呃 ， 假设 —— 随便说 ， 假设你的 IP 地址是 1.2.3.4。

**吴涛** [1:07:17]
嗯 。

**Rio** [1:07:17]
然后你的那个请求 —— 那个发出 UDP 的端口是 53。 啊 ， 你就向那个 —— 你的那个公共解析服务器发出了一个 —— 啊 ， 一个 —— 一个 UD—— 那个 DNS 请求 ， 对吧 ？

**吴涛** [1:07:30]
嗯哼 。

**Rio** [1:07:31]
它在 —— 那你的那个公共服务器返回你的请求的同时， 我向你发送一个 —— 一包 。 我知道你的 IP 地址是 1.2.3.4， 然后我知道你的那个 —— 那个端口是 53。

我向你那个发一个包解释说 ， 哎 ，cuckoo.com 的那个 IP 地址其实是 —— 其实是多少 ？ 是 —— 是 ——

**吴涛** [1:07:49]
9.7.8.9。

**Rio** [1:07:50]
9.8.7.6.5， 对吧 ？

**吴涛** [1:07:53]
是它的小黄片的网站的地址 。

**Rio** [1:07:55]
是我的小黄片的网站的那个 —— 那个服务器的 IP 地址 。 然后我只要满足一定的条件 ， 然后我的包比你的那个解析服务器更快到达你的话 ， 我不就可以骗到你说你来 cuckoo.com 其实上了我的网站 ， 上了我的服务器嘛 。

对吧 ？

**吴涛** [1:08:11]
好 。

**Rio** [1:08:12]
啊 ， 就这个 —— 就是这个 DNS 协议里面比较做得比较 —— 就设计当初没有考虑很多安防的一个原因 。 它最开始的时候就说它是一个固定 IP， 对吧 ？

你只要知道那个 —— 就公网的 IP 就可以了 。

**吴涛** [1:08:23]
对 。

**Rio** [1:08:24]
然后它只是在那个前面的两个字节 —— 就这个一个 —— 一个 16 个比特长的一个随机 ID 里面 —— 都 —— 都不一定是随机的 ，也可能是顺序的 。

**吴涛** [1:08:33]
对 。

**Rio** [1:08:34]
就那个 —— 那个有 —— 有一个序列 ， 我只要猜对那个序列 ，并且我的那个回包时间比你拿到那个 —— 从服务器拿到那个正确的回包时间要快的话 ， 我就能骗到你 ， 对吧 ？

**吴涛** [1:08:44]
我想起了那个西安什么假的兵马俑 。

**Rio** [1:08:48]
对 ， 对 ， 对 ， 对 ， 差不多就是那个意思 。

**吴涛** [1:08:49]
我要去兵马俑 ， 兵马俑在这儿 ， 然后带你去那个假的兵马俑 。

**Rio** [1:08:54]
对 ， 去那个假的兵马俑 。

**吴涛** [1:08:55]
太魔幻了 ， 我靠 。

**Rio** [1:08:57]
对 ， 对 ， 对 。 但其实我 —— 我骗你一个人其实成本很大 ，而就是我的 —— 我的得到的收益是很小的嘛 。

**吴涛** [1:09:04]
嗯 。

**Rio** [1:09:04]
我其实就真正的 DNS 投 ——DNS 投毒是不会投毒到你这个人用户上面去的 。

**吴涛** [1:09:08]
对 。

**Rio** [1:09:08]
而是我会考虑投毒到你要去解析的那个公共服务器 。 比如说 ——

**吴涛** [1:09:12]
把整个这个兵马俑收不了住都给投毒了 。

**Rio** [1:09:16]
对 ， 对 ， 对 。 就是你 —— 你 —— 你 —— 你会比较想解析你自己用的是 1.1.1 这个公共服务器解析 ， 对吧 ？

那 1.1.1 它自己并不是一个叫做 authoritative name server， 它不是一个全文服务器嘛 。 就它也不知道那个 —— 那个 cuckoo.com 到底是哪个 ， 它得去问别人， 它得去问 .com， 然后再去问 cuckoo， 它才知道它 —— 它到那个地址 。

所以说我投毒的对象其实应该是那个 1.1.1.1。 那我只要骗到它 ， 所有使用 1.1.1 的人在请求这个 cuckoo.com 的时候 ， 都会得到一个我投毒过后的一个结果 。

**吴涛** [1:09:47]
嗯哼 。

**Rio** [1:09:47]
对吧 ？ 所以为了解决这个问题呢 ， 就是后面有很多所谓打补丁的方案嘛 。 对吧 ？ 啊 ， 啊 ， 忘了刚才 —— 刚刚才那个 DNS 投毒的攻击有一个 —— 是一个研究者发现的 ， 叫做 Kaminsky，而且攻击叫 Kaminsky 攻击 。

大家有兴趣可以查一下， 我们之后会把这个链接放到这个 show notes 里面 ， 大家可以理解一下这个过程 ， 挺有意思的 。

**吴涛** [1:10:08]
这 Kaminsky 好像这个 —— 这个名字很 —— 很有名吧 ？ 好像他好像 。

**Rio** [1:10:12]
对 ，他是一个比较知名的这个 。

**吴涛** [1:10:13]
对 ，他做过很多的安全研究 。

**Rio** [1:10:17]
安全研究 。 对 。 嗯 ，DNS 就是投毒的话 ， 就是我们刚才说就是它是那个原理 —— 就大概是原理是刚才那样子啊 。

但是 —— 啊 ， 现在我们看怎么去防范它 。 首先就是说 —— 啊 ， 你要增大攻 —— 投毒攻击的这个成本嘛 。

那它的成本无非就是它的发包量和它的这个 —— 这个时间嘛 ， 对不对 ？

**吴涛** [1:10:37]
嗯 。

**Rio** [1:10:38]
就是说那有几个方法 。 就是第一个 ， 首先你要使用完全随机的那个 DNS 的那个请求的 ID， 这样它猜中你那个 —— 的猜对你的那个 ID 的概率就小嘛 。

就是 16 个比特 ， 知道吧 ？ 是 6 万 ——65535 分之 1 嘛 ，65300——65535 分之 1， 对吧 ？

**吴涛** [1:10:58]
我是第一次听到有人把这个数字念出来 。

**Rio** [1:11:02]
因为我最近用得比较多嘛 ， 所以我 —— 我 —— 我记得住那几个常见的那个数字 。 哈 。 第二个方法就是我再增大一些其他的随机量 ， 比如说我会去随机我发送 UDP 请求那个端口 ， 我就不要用固定的 53 请求那个端口发送你的请求 ， 你要用一个随机的端口 。

端口刚好也是一个 16 比特的一个 —— 一个数嘛 。

**吴涛** [1:11:23]
对 。

**Rio** [1:11:24]
所以就变成一个 32 个比特的随机量了 ， 对不对 ？

**吴涛** [1:11:26]
对 。

**Rio** [1:11:27]
但肯定不是完全 32，因为有些 —— 就是低 —— 就是 low ports 你是不用的嘛 。 你就用些 high ports， 对吧 ？ 就是高 —— 就是数字比较大的那些 —— 那些包 。

就实际上没有 32 位那么长 ，但是姑且我们就按理想情况下吧 ， 你有 —— 就有 32 位的随机量了 ， 对吧 ？

**吴涛** [1:11:40]
嗯哼 。

**Rio** [1:11:41]
那就是 —— 就是多少 ？ 是 —— 啊 ， 啊 ，32 位的话是 40 亿 ， 对不对 ？40 亿 。

**吴涛** [1:11:47]
对 ，2 的 32 次方 。 对 。

**Rio** [1:11:49]
对 ， 应该是 40 多亿吧 。 嗯 。 还有一个方法就是你请求的不是一个字符串嘛 ， 对吧 ？

**吴涛** [1:11:55]
嗯哼 。

**Rio** [1:11:56]
就是域名嘛 。 你请求是一个域名嘛 。 域名但其实是不分大小写的 ， 对不对 ？

**吴涛** [1:11:59]
对 。

**Rio** [1:12:01]
所以还有一种就是增加这个随机量的一个方法 ， 就是你随机调一下你请求那个字符 —— 域名字符串的字母的大小写 。

**吴涛** [1:12:13]
这也可以 。 我靠 。OK。

**Rio** [1:12:15]
对吧 ？ 就是比如说你放上 cuckoo.com， 你可以是小写 q， 大写 Q， 点 ， 小写 —— 小写 com。 那你可以 —— 就是 cuckoo.com， 点是没有大小写嘛 。

**吴涛** [1:12:26]
对 。

**Rio** [1:12:26]
就是 cuckoo.com 一共有 5 个字母 ， 对不对 ？ 那你可以多少 ？ 就是 —— 啊 ， 你每个字母都可以调大小写 。

**吴涛** [1:12:33]
对 ， 对 ， 对 。

**Rio** [1:12:34]
你排列组合一下 。

**吴涛** [1:12:34]
对 ， 对 ， 对 。 这个 —— 这个的那个 player 叫什么 ？ 嗯 ， 随机量实际上是根据域名的长度来的 。

**Rio** [1:12:41]
对 ， 就根据你请求的那个域名的长度 。 假设你请求 cuckoo.com 的话 ， 就有 5 个 bit 的随机量 ， 对不对 ？

每个 —— 每个字符都可以大写或者小写嘛 。

**吴涛** [1:12:49]
每个 byte。 啊 ， 我看对 ，bit 是 。

**Rio** [1:12:51]
对啊 ， 所以你假设你的请求的字符 —— 那个域名的字符数的随机量 ， 就会增大你的这个 DNS 请求的那个不可以被 —— 不被猜到的概率嘛 。

**吴涛** [1:13:02]
所以在 UD—— 所以如果是一个 Unicode 域名的话 ， 这还是一个 drawback 吧 ？ 就如果你写 。

**Rio** [1:13:10]
没有 Unicode 域名。Unicode 域名在那个 —— 在 —— 就 —— 就是叫做什么来的 ？ 就是本 —— 本地化域名 ， 就是所谓中文域名嘛 。

比如说之前那个 CinESC 搞那个中文域名 ， 它其实是通过一个转写规则转换成一个拉丁字符串的 。

**吴涛** [1:13:25]
哦 ， 问题是转换这一步是在本机上发生的还是在 ？

**Rio** [1:13:31]
是发 —— 发请求之前 。

**吴涛** [1:13:32]
哦 ，是在发请求之前 。OK， 对 ， 对 ， 对 。

**Rio** [1:13:34]
对 ， 它会有一个转写规则 。

**吴涛** [1:13:35]
说 。

**Rio** [1:13:35]
这个到时候也可以写到 show notes 里面 。 就转写之后的那个大小写也是可以 —— 也是可以调的嘛 。

**吴涛** [1:13:40]
嗯哼 。

**Rio** [1:13:42]
所以其实就 —— 就是你用那个的 ， 它的那个随机量还 —— 还大一点 ，因为它转写出来那个 。

**吴涛** [1:13:46]
非常长 。

**Rio** [1:13:46]
会比较长 。 对 ， 所以反而是短的域名 ， 比如说是什么 —— 什么 —— 呃 ， 那个什么 —— 什么 。

**吴涛** [1:13:53]
g.com。

**Rio** [1:13:54]
g.com 这种 ， 反而是比较危险的 。

**吴涛** [1:13:55]
对 。

**Rio** [1:13:56]
哈哈 ， 对 ， 对 ， 对 。 就这个是一个通常的一个手段了 。

嗯 ， 这刚才讲了这个 DNS 用 UDP 协议的一些诸多问题 。 哈 ， 所以后来大家想就说怎么去解决这个问题 。

### 安全方案

**Rio** [1:14:10]
啊 ， 还有一些问题就是说 —— 啊 ， 就是我们也想对 DNS 的那个结果 ， 刚才讲那个 DNS 请求 ， 我们请求所谓的 1.1.1 也好 ，8.8.8.1 也好 ， 它都所谓的不是一个 —— 叫做权威服务器嘛 。

就它并不 —— 并不确切地知道哪个域名对应了什么 IP 地址 ， 它得去问所谓的一些权威的服务器 。

最权威的就所谓的 —— 所谓全球有 13 个叫根服务器嘛 。

**吴涛** [1:14:34]
嗯哼 。

**Rio** [1:14:35]
就是那个点 —— 最后那个点 。 就这个服务器负责解析什么呢 ？ 它负责解析 .com——com 这个 —— 这个 —— 这个域名是 。

**吴涛** [1:14:44]
TLD， 对 。

**Rio** [1:14:45]
是 —— 是 TLD， 就是说 top level domain 嘛 ， 就顶级域 ，是 —— 是去问谁 。com 比如说还有像那个什么 net 啊 ，org 啊 ， 还有最近新出了一堆什么 xyz 啊 ， 什么 。

**吴涛** [1:14:58]
XXX。

**Rio** [1:14:58]
像 —— 对 ，XXX， 对 ， 对 。 还有像我们那个什么 .fm 嘛 。 这 —— 这就所谓就是根服务器要解决的问题 。 然后我们找到了 ， 通过根服务器问到了 com 是谁解析的 ， 那是哪个服务器解析的 ， 我们再去问 cuckoo.com，因为它是属于 com 下面的嘛 ， 对吧 ？

这 —— 这个 —— 就我们要去问 com 这个服务器的这个 DNS 服务器 ，cuckoo 这个子域名是谁的 ， 然后以此再往 —— 再问 3w.cuckoo 又是谁的 ， 一层一层往下问嘛 。

**吴涛** [1:15:25]
对 。

**Rio** [1:15:25]
整个它叫做一个 recursive 的一个查询 ， 就是叫做递归查询嘛 。

对吧 ？

**吴涛** [1:15:31]
对 。

**Rio** [1:15:31]
但是就是 —— 就是这些 1.1.1 怎么能够确切地 ， 除了刚才讲的通过 —— 通过 —— 通过增加这个请求的随机量 ， 使得它不大可能被污染之外， 有没有一种方法可以确切地保证我得到结果一定是正确的 ？

**吴涛** [1:15:47]
这需要整个查询链的每一个环节都配合 ， 才能 。

**Rio** [1:15:53]
对 ， 所以就需要做一点 —— 有一个 —— 有个签名嘛 ， 就跟我们那个就是数字证书的这个 。

**吴涛** [1:15:58]
还是要搞 certificate。

**Rio** [1:15:59]
对 ， 对 ， 就是要根域名要签名 ， 对吧 ？ 就是比如说 .com， 呃 ，不 ， 根域名签 ， 谁是点 —— 谁是 com 这个 —— 这个顶级域的 —— 啊 ， 那个叫做权威服务器 ， 它要在根那里签个名 ， 然后你去查询 com 这个 —— 这个顶级服务器的时候 ， 它要证明说 ， 哎 ， 我确实是这个 com 这个服务器的这个合法的这个运营者 。

**吴涛** [1:16:20]
嗯 。

**Rio** [1:16:20]
我返回的给你结果是你应该是相信的 。

**吴涛** [1:16:23]
对 。

**Rio** [1:16:23]
然后它再去查这个 —— 呃 ，cuckoo.com 这个域名的时候 ， 它产生的结果它会加一个签名在那个返 —— 在那个 UDP 的那个协议返回里面 ， 然后你 —— 你拿到一个 —— 你也可以去验证 ， 就是逐层验证那个东西嘛 。

这个具体过程有点复杂 ，DNS 这个 —— 这个 —— 这个 —— 这个整个体系叫 DNSSEC， 叫做 DNS Security 嘛 ， 叫安全的 DNS。 就它完成了什么事情呢 ？

就是它可以确保你拿到一个结果之后， 包括你最终客户端也可以验证这件事 ， 你可以验证这个结果是不是由这个域名的所有者签发的 。

**吴涛** [1:16:55]
嗯哼 。

**Rio** [1:16:56]
就一层一层往上去验证这个东西 。

**吴涛** [1:16:58]
OK。

**Rio** [1:16:59]
啊 ，但是这个验证它并不 —— 它就是它传输的过程是明文的 ， 就是它传输的这个验 —— 验证结果也好 ， 这些签名也好 ， 都是在明文传输的 。

就是中间的网络的任何一个 。

**吴涛** [1:17:10]
所以还是有可能被篡改 。

**Rio** [1:17:12]
呃 ，不会被篡 —— 被篡改没有用 ， 被篡改的话你会验证失败 ， 你就丢弃那个包了嘛 。

**吴涛** [1:17:16]
OK。

**Rio** [1:17:17]
但是它是 —— 它是会暴露你查了什么域名的 。 就另外一个安全角度就是说 ， 能不能在整个链路中把传输的内容加密 。

就除了验证结果之外， 就是加密和传输两个事情嘛 ， 就是 encryption 和这个 。

**吴涛** [1:17:30]
OK。

**Rio** [1:17:30]
Authentication 它解决 —— 解决的是两个不同的一个 —— 一个任务嘛 。Authentication 解决的是我得到结果是不是 —— 是不是对的 。

**吴涛** [1:17:36]
对 。

**Rio** [1:17:36]
啊 ，encryption 解决的是我在整个过程中我有没有被 —— 除了被查询那个人之外， 第三方知道我们在 —— 在说什么 。

**吴涛** [1:17:44]
对 。

**Rio** [1:17:45]
对吧 ？ 所以后来最开始的尝试是叫做 —— 叫做一个 DNS script， 就是 DNSSEC 解决签名的问题 ，DNS script 解决是加密的问题 。

**吴涛** [1:17:55]
DNS script，Crypt。

**Rio** [1:17:58]
Crypt，OK。

**吴涛** [1:17:58]
OK。

**Rio** [1:17:58]
就是加密的那个 encrypt 的后面那个 crypt。

**吴涛** [1:18:01]
OK。

**Rio** [1:18:01]
啊 。

**吴涛** [1:18:01]
好 。

**Rio** [1:18:02]
啊 ， 这个是 —— 是基于 UDP 协 —— 最开始它主要是基于 UDP 协议做的一个 —— 一个改进版 。 啊 ， 就是做了一些用一些现代的这种公钥私钥加密的方式把这个 。

**吴涛** [1:18:13]
就直接加密 UDP 的包 。

**Rio** [1:18:16]
对 ， 对 ， 对 ， 给 —— 给 —— 给做了 。

**吴涛** [1:18:17]
嗯 。

**Rio** [1:18:17]
对 ， 加密 UDP 的包 。 但是它有一个问题 ， 就是它并不是一个所谓的 IETF 的标准 ，也没有一个 RFC 对应出来 ， 它只是一个 —— 嗯 ， 第三方的一个实现 。

虽然 —— 就实现的人也 —— 就是支持的人也不多 。 我印象中 —— 啊 ， 知名的支持 DNS script 的这个公共解决服务器只有 Open——OpenDNS。

**吴涛** [1:18:37]
嗯 。

**Rio** [1:18:37]
就是被 Cisco 买的那个 。

**吴涛** [1:18:39]
对 。

**Rio** [1:18:39]
然后它有一堆这种 —— 啊 ， 所谓的这种 —— 叫做 —— 叫做 client， 就像它有些客户端让你去用 。 但是因为 OpenDNS 的服务 —— 它服务器不是太多嘛 ， 它的那个 。

**吴涛** [1:18:50]
OpenDNS 的服务好像很 —— 不是很多人用啊 ， 我觉得 。

**Rio** [1:18:54]
呃 ， 用的人比较少 ，因为它的那个 —— 它最开始的是 —— 是一个 —— 好像是一个第三方公司 ， 就一个商业公司 。 它做了嘛 ， 它也没有说有很清晰的盈利模式 ， 它的资源也不足嘛 ， 它不可能做得非常庞大 。

**吴涛** [1:19:07]
对 ，OpenDNS 从一开始是一个非常理想化的这么一个项目 。

**Rio** [1:19:10]
对 ， 对 ， 对 ， 没错 ， 没错 。 所以 —— 所以 —— 所以后来像 Google 出了 8.8.8 之后， 大家都觉得它那个好 ， 那个快嘛 。

**吴涛** [1:19:18]
嗯 。

**Rio** [1:19:18]
对 ， 全球节点有多 ， 大家都用它 ， 所以其实没有很多人支持 OpenDNS。 所以也使得就是真正 DNS script 这个协议的被支持的人也比较少 。

啊 。

**吴涛** [1:19:30]
嗯哼 。

**Rio** [1:19:30]
所以后来就说又 —— 就是 —— 就是 —— 就 IETF 又出了一些其他东西 。 就最 —— 两个最知名的 —— 啊 ，不 ， 一开始只有一个其实 ，因为还在草案中， 就刚才我们讲的那个 DNS over TLS， 就是 HTTP 用加密的 HTTPS， 那个 S 就是 TLS 的一个 —— 一个 —— 一个所谓 security 嘛 ， 对吧 ？

**吴涛** [1:19:51]
嗯 。

**Rio** [1:19:51]
就是用那个传输层加密来解决这个 HTTP 这个明文传输的问题嘛 。

**吴涛** [1:19:56]
对 。

**Rio** [1:19:56]
那 DNS over TLS 其实本身也是一样的 ， 就是它是用通过 TLS 协议去 —— 通过 TLS——TLS 加密去传输一个 TCP 的 DNS 请求 。

**吴涛** [1:20:07]
对 。

**Rio** [1:20:09]
啊 ，但这里就是有一个问题 ， 就是 TLS 是 —— 刚才讲的 ，TCP 有三次握手 ， 对不对 ？

**吴涛** [1:20:16]
对 。

**Rio** [1:20:16]
但 TLS 为了在 TC——TLS 底层是 TCP 嘛 。

**吴涛** [1:20:20]
对 。

**Rio** [1:20:20]
TCP 的三次握手之外， 还有顶上的 TLS 的这个握手 。

**吴涛** [1:20:28]
嗯 ，TLS 是第一步是要先通过公钥来加 —— 来交换一个私 —— 来交换一个密 —— 嗯 ， 先通过公钥和私钥的加密协议来交换一个 。

**Rio** [1:20:39]
对称密码 。

**吴涛** [1:20:39]
对称密码的密码 ， 对 。

**Rio** [1:20:41]
对 ， 对 ， 对 。 就这过程是挺复杂 ， 就是要有 —— 我看是三个 round trip 吧 ， 应该是 。

**吴涛** [1:20:45]
对 ， 就是我记得 。

**Rio** [1:20:46]
就是谁在推上说了一句那个 DNS over TLS， 它是非常慢的 。 我不记得是谁了 ，但对 。

**吴涛** [1:20:54]
嗯 。

**Rio** [1:20:57]
那是 —— 是 —— 是什么 ？

**吴涛** [1:20:58]
是 。

**Rio** [1:20:59]
它 —— 它说 TDNS， 它试了一下 DNS over TLS 的 —— 的整个解析过程是非常慢的 ， 就慢了一个数量级 ， 大概 。

**吴涛** [1:21:07]
呃 ， 对啊 ， 就是因为你要有三 —— 三个往返程嘛 ， 对吧 ？

**Rio** [1:21:10]
对 。

**吴涛** [1:21:10]
TLS 建立连接之后， 然后你再发送 DNS 请求 ， 对不对 ？

**Rio** [1:21:13]
对 。

**吴涛** [1:21:14]
所以这个是比较慢的一个事情 。 当然也有一些方法去解决这个问题 ，但我们这里就会逐个展开来讲哈 。

**Rio** [1:21:22]
嗯 。

**吴涛** [1:21:22]
就是解决这个 TLS 慢的问题有几种方案 。 最开始就说从 TCP 那层开始解决 ， 对吧 ？

**Rio** [1:21:28]
对 。

**吴涛** [1:21:29]
啊 ， 我们先把这个 —— 那个 Fast Open 用上， 就可以不用等第一个 TCP 的那个 round—— 那个往返程的延迟了嘛 ， 对吧 ？

**Rio** [1:21:37]
嗯哼 。

**吴涛** [1:21:38]
然后 TLS 这个层 ， 它也本身有一些这个叫做 —— 叫做 False Start， 就是 —— 叫做什么来的 ？ 一些技巧可以使得加快 TLS 连接的建立 。

就理想情况下是可以用一个往返程可以建立 TLS 连接的 。

**Rio** [1:21:52]
OK。

**吴涛** [1:21:54]
啊 。 呃 ， 就还 —— 就还可以接受嘛 ， 对吧 ？

**Rio** [1:21:59]
是 。

**吴涛** [1:21:59]
嗯 。 然后在这个一个往返程建立 TLS 连 —— 连接的基础上， 还可以用叫做 —— 叫做 —— 叫做 —— 叫做管道化 ， 就是 pipelining， 就是多个请 —— 一次发多个 DNS 请求 ， 然后一次 —— 就是它 —— 你 —— 你发前一个请 —— 发一个后一个请求的时候 ，不用等前一个请求的响应 ， 你就可以先发 ， 对吧 ？

**Rio** [1:22:19]
对 。

**吴涛** [1:22:19]
你把 —— 你把要 —— 比如说你打开一个页面 ， 它页面引用了 10 个 —— 哎 ， 那个 —— 那个域名 ， 你把 10 个都发出去 ， 然后再一起等它的那个查询回来 。

**Rio** [1:22:27]
对 。

**吴涛** [1:22:27]
对吧 ？ 然后 —— 而且这个查询 —— 这个 —— 这个 —— 这个 —— 这个 pipelining， 这个中文 pipelining 中 —— 中文叫什么 ？ 管道化吗 ？

还是叫什么 ？

**Rio** [1:22:35]
流水线吧 ， 还是叫什么 ？

**吴涛** [1:22:36]
流水 —— 啊 ， 流水线 ， 对 ， 对 ， 流水线操作 。 而且它还是乱序的 ， 它不像 HTTP 1.1 的那个流水线 ， 它是一个顺序的流水线 ， 它是一个 outer model。

**Rio** [1:22:44]
嗯 。

**吴涛** [1:22:44]
就是你可以发 12345 请求 ， 回到的结果可能是 53412 这么一个顺序 。

**Rio** [1:22:50]
对 。

**吴涛** [1:22:50]
就是这个顺序是可以乱的 。

**Rio** [1:22:52]
嗯 ， 是一个乱的 。

**吴涛** [1:22:53]
就 —— 就如果你符合那个 RFC7858 的那个一个约定的话 ， 就是你是可以得到这么一个结果的 。 就是理论上你其实也只用等一个 —— 一个这个往返程的延迟 ， 就可以得到比较好的一个性能体现了 。

但是问题是呢 ， 目前为止在那些公共的支持 —— 支持公共解析的那些 DNS 服务器里面 ， 只有 Cloudflare 这个 1.1.1 是支持 DNS over TLS 的 。

**Rio** [1:23:16]
嗯哼 。

**吴涛** [1:23:18]
就 —— 就比较少嘛 。 啊 ， 国内基本上没有人支持了 ， 就是什么 114 啊 ， 阿里 、 百度 ， 什么腾讯都不支持 。

**Rio** [1:23:25]
其实你说到这儿 ， 我忽然想起来那个 —— 呃 ，IPSEC 不也是用来保护 UDP、TCP 的吗 ？ 就 —— 哎 ， 哎 ， 为什么不能做一个 ？

**吴涛** [1:23:34]
层次不一样 。 那 —— 那个 —— 那个 IPSEC 是在 Layer 3。

**Rio** [1:23:38]
是的 。

**吴涛** [1:23:39]
就是第三 —— 网络第三层 。

**Rio** [1:23:40]
它是 IP 层嘛 。

**吴涛** [1:23:41]
它的 IP 层 。

**Rio** [1:23:41]
但是 —— 但是 IPSEC 本身是一个非常庞大复杂的一个协议 ， 它不太可能会被支持的 。 就大家现在包括都在讲 ， 大家要用那个什么 WireGuard 取 —— 取代那个 ——

**吴涛** [1:23:52]
IPSEC。

**Rio** [1:23:53]
Linux 内核里面的 IPSEC 实现的 ， 所以 ——

**吴涛** [1:23:55]
OK。

**Rio** [1:23:55]
不可能用这个更复杂的方式嘛 。

**吴涛** [1:23:57]
就 —— 就 TLS 大家已经觉得很坑爹了 ， 对吧 ？

**Rio** [1:24:00]
对 ，但 TLS 是一个更高的层次 。 我就觉得如果说 ——

**吴涛** [1:24:03]
是 。

**Rio** [1:24:03]
就以我理解的话 ， 如果我要保护一个基于 UDP 的协议 ， 那我为什么不在更底层的协议去保护 ？ 然后这样不就 —— 啊 ，不过这样的话好像还是没有办法避免在 DNS 这方面 ，在这个层级上产生的种种攻击 。

**吴涛** [1:24:21]
对 ， 就你不 —— 你还是不能避免 UDP 的那个 —— 那个 —— 那个 。

**Rio** [1:24:24]
对 。

**吴涛** [1:24:25]
不 ， 可以 ， 可以 ， 可以的 。

**Rio** [1:24:26]
可以 。

**吴涛** [1:24:26]
因为但是有个问题 ，IPSEC 其实是要在双方建立那个叫做 association 嘛 ，secure association，SA 嘛 ， 它叫 。

**Rio** [1:24:33]
嗯 。

**吴涛** [1:24:33]
那个成本是非常高的 ，而且是要在接收 —— 就收发双方都要维 —— 维持状态 。 就成本其实是比较 —— 就不比 TLS 低 ，而且是实现起来更麻烦的 。

**Rio** [1:24:42]
好吧 。

**吴涛** [1:24:43]
就是至少我们目前来看都是一些应用层的解决方案 ， 没有到网络层解决这个问题嘛 。

**Rio** [1:24:48]
OK。

**吴涛** [1:24:49]
你有意思吗 ？

**Rio** [1:24:50]
明白 。

**吴涛** [1:24:51]
OK。 嗯 ， 就这个是 —— 就是 TLS 的一些 —— 一个 —— 一个 —— 一个方案 。 还有一个就是之前 Google 最开始出的 ， 然后包括这次 Cloudflare 它也 —— 也支持了 ， 叫做 DNS over HTTPS。

这个就大家可能做前端开发的朋友就比较能够理解了 。

**Rio** [1:25:06]
对 。

**吴涛** [1:25:06]
就本质上你是发了一个 HTTP 请求给这个 DNS 服务器 ， 然后你请求里面你加说我要问这个查 cuckoo.com 是谁 ， 然后它给我返回你一个请求 ， 对吧 ？

**Rio** [1:25:15]
对 。

**吴涛** [1:25:16]
Google 那个是做得最极致的 ， 它那个请求的格式是一个 JSON。

**Rio** [1:25:19]
啊 。

**吴涛** [1:25:20]
就是你发一个这个请求过去 。

**Rio** [1:25:22]
人肉可读的 。

**吴涛** [1:25:23]
是一个 —— 对 ， 是一个人 —— 人 —— 人 —— 就是 text 的 ， 是一个人 —— 人工可读的 。 然后你得到的一个返回结果是一个 JSON 对象 ， 然后 JSON 对象里面就会说这个地址是多少啊 ， 还有一些 —— 一些 DNS 里面复杂信息 。

但是它做这个 —— 呃 ， 然后这个 Cloudflare 的这个 DNS over HTTP， 它还支持另外一种协议 ， 叫做 —— 叫做 —— 这 —— 这是 —— 是另外一种数据格式 ， 就是 —— 就是原生的 UDP 的那个 DNS 的数据格式 ， 直接放到那个 POST 请求的那个 —— 那个 body 那个正文里面去 。

然后你得到的响应也是在正文里面 ，是那个 body 是那个 —— 是那个 UDP 的 DNS 协议的那个 —— 那个数据格式的这个 —— 的原文 。

**Rio** [1:26:03]
OK。

**吴涛** [1:26:04]
啊 ， 这个就兼容性可能就比较好一点 。

**Rio** [1:26:06]
兼容性 。

**吴涛** [1:26:07]
你不用再进程转一遍嘛 。

**Rio** [1:26:08]
嗯哼 。

**吴涛** [1:26:08]
对 。 但它是 —— 就为什么 Google 会做那么多东西 ， 它的逻辑其实是 —— 其实是它有别的 —— 它有别的用 —— 应用场景的 。

**Rio** [1:26:16]
比如说 ？

**吴涛** [1:26:16]
就包括腾讯其实也搞 —— 搞过一套类似的东西 。 就是它的场景是说 ， 我有一个 Web 应用 ， 然后我的 Web 应用我要假设 —— 因为 Web 应用它不能直接发 UDP 的包 ， 它不能直接发 TCP 的连接嘛 ， 对吧 ？

**Rio** [1:26:28]
哦 ， 所以它获得了 IP 地址之后， 它就可以直接朝 IP 地址发请求了 。

**吴涛** [1:26:32]
对 ， 对 ， 它就可以直接在 —— 在 —— 就 —— 就 JavaScript 这个层面去请求 。

**Rio** [1:26:36]
就一次性知道了接下来我有可能解析的域名的 IP 地址 ， 然后我直接用就好了 。

**吴涛** [1:26:42]
对 ， 对 ， 就是 —— 就是 —— 就是 DNS over HTTPS 有的是这个问题 ， 就是有一些 —— 呃 ， 应用场景是不可 —— 不可以直接建立 UDP 或者是 TCP 连接的 。

**Rio** [1:26:53]
对 。

**吴涛** [1:26:53]
那这个时候我要去解 —— 解析域名怎么办 ， 对吧 ？ 包括很多这个所谓的这个 —— 就是 —— 就是移动端应用嘛 ， 像国内不是那个 —— 就是 ISP 的 DNS 污染很严重嘛 。

这就会 —— 国内很多这个手机应用 ， 它会说我用那个 —— 比如说腾讯他们就用自己搞了一套这个方案 ， 自己在请求他们的一个域名解析服务器是走 HTTP 的 ， 然后得到一个结果 ， 它在内部去直接连 ， 就不依赖这个运营商的这个 DNS 服务器了嘛 。

**Rio** [1:27:20]
嗯 ， 我还真是从来没有想过这件事情 ， 原来这样搞还可以 。

**吴涛** [1:27:24]
因为你在德国生存环境是比较好的 ， 国内比较艰难 。

**Rio** [1:27:28]
对 ， 对 。

**吴涛** [1:27:29]
你是这个温室里面的花朵 。

**Rio** [1:27:31]
很有道理 。

**吴涛** [1:27:32]
啊 。 就所以它就虽然说看起来非常 —— 就是这个 DNS over HTTP 用 JSON 格式是非常多余和沉重的一个方案 ，但是它在某一些特定领域下， 它是唯一的 —— 唯一的可选的方案 。

**Rio** [1:27:44]
嗯 。

**吴涛** [1:27:45]
嗯 ， 对 。 但是这个目前呢还在 —— 还没有成为一个 —— 就它还没有一个 RFC 号 ， 就它只是一个 IT——IETF 的一个草案 。

**Rio** [1:27:53]
对 ， 就只是 。

**吴涛** [1:27:54]
如果不出意外的话 ， 今年年底 。

**Rio** [1:27:56]
肯定会成为的 ， 我觉得 。

**吴涛** [1:27:57]
对 ， 它肯定会成为的 ，因为目前至少有两个大厂都已经支持这个了 ， 然后 —— 呃 ， 就是一个既成事实变成一个 —— 一个规范嘛 。

**Rio** [1:28:05]
嗯哼 。

**吴涛** [1:28:06]
但非常不 —— 不幸的是 —— 呃 ， 我好像国内的那几个 —— 我想想 ， 腾讯有一个这个方案 ，但不是一个 —— 不是在它的那个 —— 就是那个 DNS Pod 那公共服务器上实现的 ，是在腾讯云的一个什么上面实现的 。

**Rio** [1:28:21]
OK。

**吴涛** [1:28:22]
阿里好像有个类似的 ，也 —— 但是也不是在它的那个 119 的那个 .29.29.29 的那个服务器上实现的 。

**Rio** [1:28:28]
所以国内还用不了 。

**吴涛** [1:28:29]
所以 —— 所以其实国内也用不了 。

**Rio** [1:28:30]
哈哈 。

**吴涛** [1:28:31]
但是如果国内一些做应用开发的人应该用 —— 有 —— 有用过腾讯和阿里他们两套就是自制的那个 —— 那个 —— 那个系统 。

但是就希望说这个 —— 这个 DNS over HTTPS 成为一个 IETF 的正式的一个 —— 一个 RFC 协议 —— 那个 —— 那个规范之后， 大家都能转上用这个上面去 ， 就避免那个问题嘛 。

**Rio** [1:28:51]
对 。

**吴涛** [1:28:52]
啊 。 哦 ， 我想起来了 ， 国内是那两个东西 —— 阿里和腾讯都是要付费的 ， 这两个东西 。 这两个是 —— 是对 —— 针对这个 B 端用户的一个付费服务 。

**Rio** [1:29:00]
所以是个目前还是 ——

**吴涛** [1:29:01]
就通过 HTTP 来请求 。

**Rio** [1:29:02]
好 。

**吴涛** [1:29:03]
对 ， 是一个企业服 —— 不是一个公共免费的一个服务哈 。

**Rio** [1:29:06]
对 。 好吧 。

**吴涛** [1:29:08]
就其实 —— 其实就有这个挺 —— 挺 —— 挺坑的问题 。 嗯 。 啊 ， 刚就讲到 DNS 还有一些非常独特的一个特性 ， 就是要讲谈一些这个网络结构上面的一些比较有 —— 有 —— 有意思的问题了哈 。

### CDN与ECS

**吴涛** [1:29:21]
就是 —— 就是 —— 嗯 ， 你知道 CDN 是什么吗 ？

**Rio** [1:29:27]
Content Delivery Network。

**吴涛** [1:29:29]
对 ， 它的作用是 —— 就是加速这个内容分发 ， 它叫内容分发网络嘛 。 它的内容就是说 —— 就是说我要上一个 —— 嗯 。

**Rio** [1:29:37]
我要上一个 APN。

**吴涛** [1:29:39]
哎 ， 我们不说小黄图了 。

**Rio** [1:29:41]
其实这个 ——

**吴涛** [1:29:42]
上一个视频网站 。

**Rio** [1:29:43]
就是包括我之前工作那个赌博网站也是要用 CDN， 就是其实就是有很多东西很多人都需要用到 ， 然后为了避免 ——

**吴涛** [1:29:51]
对 ， 对 ， 对 。

**Rio** [1:29:52]
避免 。

**吴涛** [1:29:52]
不过这个 —— 这个在国内其实是比较 —— 比较严重的一个 —— 一个事情 。 因为你看国内那些什么阿里云 、 腾讯云的服 —— 就是所谓的应用服务器 。

**Rio** [1:29:59]
嗯 。

**吴涛** [1:30:00]
的带宽很小 ， 只有几兆的 。

**Rio** [1:30:01]
对 。

**吴涛** [1:30:02]
就你不可能通过它来下图片 ， 你一下图片你整个机器就挂掉了 。

**Rio** [1:30:05]
对 。

**吴涛** [1:30:05]
就 —— 就被那个带宽堵死了 。

**Rio** [1:30:07]
CDN 实际上是一个策略吧 ， 就是资源分配资源策略 ， 把 —— 把静态资源和动态资源分开 ， 然后静态资源你到别的地方去 —— 去 —— 去 —— 去调用就好了 。

然后动态只有核心的这一部分 ， 就是最重要的这一部分有网络提升 。

**吴涛** [1:30:19]
没错 ， 没错 ， 没错 。 就是 —— 所以 CDN 解决的是做那些大的 ， 体积比较大的 ， 像图片啊 、 视频啊 、 音频啊这种静态文件的分发 ， 对吧 ？

**Rio** [1:30:27]
嗯哼 。

**吴涛** [1:30:27]
就它的逻辑就是说建造 —— 建很多这种小的数据中心 ， 尽可能离用户的那个终端网络比较近 。 比如说我是这个电信的用户 ， 那我在比如说深圳电信的机房附近的一个节点搞一个服务器 ， 那深圳的电信用户访问的时候就可以直接从这里找 ，他不用去到北京或者是美国 ， 对吧 ？

**Rio** [1:30:47]
嗯哼 。

**吴涛** [1:30:49]
啊 ， 就这 CDN 要干的事情 。 但 CDN 它怎么能够实现把深圳电信的用户导到那个服务中心啊 ， 同时把北京联通的用户导到北京联通附近的地方 ， 同时把美国这个比如说 Verizon 的一个用户导到美国 Verizon 附近的一个机房 。

**Rio** [1:31:07]
Cloud 就是 DNS。

**吴涛** [1:31:09]
Cloud 就是 DNS 这么一个多解析的一个 —— 一个 —— 一个方案 。 就是同一个比如说请求这个 cdn.cuckoo.com 这个域名 ， 呃 ， 深圳用户得到的 IP 和这个北京用户得到的 IP 和美国用户得到的 IP 它是不一样的 ， 就各自 —— 各自得到对应自己的那个 —— 靠近自己的那个 —— 那个数据中心的 IP 地址嘛 。

**Rio** [1:31:26]
对 。

**吴涛** [1:31:27]
对吧 ？

**Rio** [1:31:28]
我发现 Ryo 老师还是非常善于启发式教学 ， 循循善诱 。

**吴涛** [1:31:33]
哈哈哈 。 应该 —— 应该开课讲课了是不是 ？

**Rio** [1:31:36]
嗯 。

**吴涛** [1:31:38]
哈哈哈 。Anyway， 就讲这个 。 就是 —— 但它有一个 —— 它有一个基本假设 ， 就是说用户请求 DNS 的那个 DNS 服务器和用户自己终端的那个是应该在同一个或者是相邻比较近的那个网络里面的 。

**Rio** [1:31:53]
嗯 。

**吴涛** [1:31:54]
这样的话 ，DNS 请求的那个 —— 就是因为其实那个 CDN 收到 DNS 请求是来自于 DNS 服务器 ， 就是来自 —— 不是 —— 来自 1.1.1 的 ，而不是来自于我的这个 —— 这个 —— 这个自己的这个上的这个电信的一个网 ， 对吧 ？

**Rio** [1:32:05]
对 。

**吴涛** [1:32:06]
所以在这个假设在过去是成立的 ，因为大家都用 ISP 提供的这个 —— 这个 IP 地址嘛 。

**Rio** [1:32:13]
嗯哼 。

**吴涛** [1:32:14]
但是如果大家都用这个 1.1.1， 或者大家都用这个 114， 国内 114， 或者是什么腾讯 DNS、 阿里 DNS，不这个假设不就不成立了吗 ？

**Rio** [1:32:21]
是 。

**吴涛** [1:32:22]
对 。 所以就有一个所谓的扩展的一个机制是 —— 就是在 —— 就是比如说我是 1.1.1—— 呃 ，不 ，1.1.1 不好 ， 就我是 8.8.8，Google 那个 ， 对吧 ？

**Rio** [1:32:32]
好 。

**吴涛** [1:32:33]
它在向别人请 —— 向 CDN 那个边请求这个 —— 这个 UDP—— 发送 UDP 请求的时候 ， 它会在那个 UDP 请求里面包含一个来自于 —— 呃 ， 你的 —— 就是比如说吴涛你请求 8.8.8 去问 cdn.cuckoo.com 的 IP 是什么时候 ， 就是 8.8.8 向 cuckoo.com 的那个域名服务器发送这个请求的时候 ， 它会包含你的那个 IP 网段 。

**Rio** [1:33:00]
对 。

**吴涛** [1:33:02]
这样的话 ， 就是 CDN—— 就是 Cuckoo 那边的域名服务器得到 ——

**Rio** [1:33:07]
就可以直接导 。

**吴涛** [1:33:09]
得到这个从 8.8.8 来的请求之后， 它会知道这个请求是为吴涛比如说是 4.5.6.7 的这个网段 —— 呃 ， 代发的 。

**Rio** [1:33:17]
对 。

**吴涛** [1:33:18]
对吧 ？ 就它会 —— 它会 —— 它会返回一个结果是更加靠近 ——

**Rio** [1:33:23]
更加方便的 。

**吴涛** [1:33:23]
4.6.7 的 。

**Rio** [1:33:24]
对 。

**吴涛** [1:33:25]
对 。 然后 —— 然后我去请求它会返回一个更加靠近 —— 靠近我的 。

**Rio** [1:33:28]
对 。

**吴涛** [1:33:28]
这个 —— 这个特性叫做 ECS， 叫做 EDNS0 Client Subnet， 就是客户端子网的这么一个扩展 。

**Rio** [1:33:37]
OK。 就是好像 119、110 出警一样 ， 就找一个离你近的警察派给你 。

**吴涛** [1:33:43]
啊 ， 对 ， 对 ， 对 ， 对 ， 对 。 就是划分嘛 ， 就好像说火警一样 ， 找一个离你比较近的那个片区的这个火警或者是 110 的警察来 —— 来救你是一样的嘛 。

**Rio** [1:33:51]
嗯哼 。

**吴涛** [1:33:52]
虽然你是打的是 110 或者 119 这个号码 。

**Rio** [1:33:54]
对 。

**吴涛** [1:33:55]
它会有一个这个分派的一个过程 。 但是就这个东西其实是有一个潜在问题的 。

**Rio** [1:34:01]
什么问题 ？

**吴涛** [1:34:01]
就是它虽然提高了这个属性 ， 它暴露了你的那个 ——

**Rio** [1:34:05]
物理位置 。

**吴涛** [1:34:05]
你的这个客 —— 客户来源 ， 就是你暴露了你的子网 。 就虽然比如说 8.8.8 它不会暴露你直接的 IP， 它会暴露你那个到 —— 到 24 的那个 Bit 的一个网段 ， 对吧 ？

**Rio** [1:34:14]
对 ， 网段是和物理相关的嘛 ， 所以实际上 。

**吴涛** [1:34:18]
网段的话在中国大致可以划到中国某一个城市的一个区域级的这个 —— 这个 —— 这个 —— 这个 —— 这个 —— 这个 —— 这个 —— 这个 —— 精细度吧 。

**Rio** [1:34:24]
对 。

**吴涛** [1:34:25]
就 —— 就是 CDN 是够了 ，但就看你要不要考虑说你 —— 你要不要暴露这个信息 。 所以刚才我说那个 1.1.1 是不太恰当用这个例子 ，是因为 1.1.1 它为了保护这个用户的这个隐私 ， 它是不支持这个扩展的 。

**Rio** [1:34:38]
嗯哼 。

**吴涛** [1:34:39]
所以 —— 嗯 —— 就有一个后果 ， 就是有可能你用 1.1.1 得到的那个 CDN 解析结果不是最优的 。

**Rio** [1:34:47]
对 。

**吴涛** [1:34:47]
所以 Cloudflare 怎么解决这个问题呢 ？ 它说哈哈 ， 这个问题很好解答 ， 我只要铺设足够多的节点就可以解决这个问题了 。

**Rio** [1:34:55]
哈哈哈 。

**吴涛** [1:34:55]
对吧 ？ 我只要 —— 我只要保证 —— 我只要保证我有足够多的节点能够 cover 到世界上主要的这些网段不就完了嘛 。

**Rio** [1:35:02]
这就好像暴力啊 。

**吴涛** [1:35:04]
对 。

**Rio** [1:35:04]
如果暴力不能解决问题 。

**吴涛** [1:35:05]
就是暴力的 。

**Rio** [1:35:05]
是你用得不够 。

**吴涛** [1:35:06]
哈哈哈 。

**Rio** [1:35:07]
对 ， 对 ， 对 。

**吴涛** [1:35:08]
非常暴力的 ， 对不对 ？

**Rio** [1:35:09]
对 。

**吴涛** [1:35:11]
哈哈哈 。 所以这个事情我觉得还 —— 但是就是这件事情 Cloudflare 是有底气去说它去干的 ，因为它现在据称它是全球最大的这个私有网络 —— 这个网 —— 就私有网的节点 。

**Rio** [1:35:21]
嗯哼 。

**吴涛** [1:35:23]
它就是 —— 它现在在狂铺 。 它比如今年我看到它在光 —— 加 —— 加拿大都开了 5 个节点 ， 就覆盖加拿大几个主要大核心城市群嘛 ， 就基本上已经 cover 完了 。

**Rio** [1:35:33]
加拿大这么一个小国都有 5 个节点 。

**吴涛** [1:35:35]
哈哈哈 。 恐怖吧 ， 对吧 ？

**Rio** [1:35:37]
恐怖 。

**吴涛** [1:35:38]
就 —— 就非常的惊人了 。 它全球有 200 多 ， 它今年好像扩展到 400 多吧 。

**Rio** [1:35:42]
OK。

**吴涛** [1:35:43]
啊 ， 就 —— 就 —— 就它是用这个方法来解决这个问题 。

**Rio** [1:35:46]
全国主要 —— 全球主要城市有 400 个吗 ？

**吴涛** [1:35:48]
呃 ， 城市应该有 ，但是它是按群落来嘛 。 它不是说比如珠三角它不会每个城市都 —— 它会 ——

**Rio** [1:35:54]
那天我想到一个问题 ， 就是全球所有这些 ， 或者说你我知名 ， 你我都能列叫上名字来的全球知名的城市 。

**吴涛** [1:36:02]
嗯 ， 应该不超过 200 吧 。

**Rio** [1:36:04]
应该不超过 200 个 ， 我觉得 。

**吴涛** [1:36:06]
啊 。OK。

啊 ， 喝口水 。 就这个是 DNS 的一些很粗略的我们过了一下这个原理哈 。 就现在我要聊一些比较好玩 ， 就是我们日常用的东西 。

### 家庭DNS

**吴涛** [1:36:20]
就是我想问一下吴涛 ， 你现在家里现在网络结构是怎么样子的 ？

**Rio** [1:36:23]
什么叫网络结构 ？

**吴涛** [1:36:25]
就是你自己家里的这个网络的 top 结构是怎么样的 ？

**Rio** [1:36:28]
就一个路由器 ， 一堆 —— 就 —— 就很简单的一个 —— 一个 ——like， 新型网络 。 就一个路由器出 。

**吴涛** [1:36:34]
就是你的那个路由器是自己买的还是运营商提供给你的 ？

**Rio** [1:36:38]
自己买的 。

**吴涛** [1:36:38]
就是然后路由器是拨号上网 ， 对吧 ？

**Rio** [1:36:40]
对 ， 路由器连到这个 modem 上面 ， 然后 ——

**吴涛** [1:36:43]
光猫嘛 。

**Rio** [1:36:43]
对 。

**吴涛** [1:36:44]
然后它 —— 就是路由器是你的这个 —— 也是你的 DNS 服务器 ？

**Rio** [1:36:49]
呃 ，是这样的 ， 对 。

**吴涛** [1:36:51]
对 ， 比如你的是 192.168.1.1， 对吧 ？

**Rio** [1:36:53]
对 。

**吴涛** [1:36:53]
通常 —— 通常是这个嘛 。 然后它会开一个 53 的端口来 —— 来 —— 来做这个事情 。

**Rio** [1:36:58]
对 。

**吴涛** [1:37:00]
嗯 。 就在这个 —— 因为你在国外没有 —— 没有这个需求嘛 ， 对吧 ？ 在中国其实是你要考虑一些这个 DNS 污染的问题 。

**Rio** [1:37:09]
OK。

**吴涛** [1:37:10]
比如说你在中国的国内的 ， 你 —— 你发一个 —— 呃 ， 你 —— 不 ， 你发到你运营商的那个 —— 那个叫什么 DNS 请求 ， 你去请求 twitter.com， 你得到结果一定是被污染的 ， 对吧 ？

**Rio** [1:37:21]
呃 ，twitter 在中国不是被封了吗 ？

**吴涛** [1:37:24]
啊 ， 对啊 ， 所以就它被封是通过很多这种技术措施来实现的嘛 。

**Rio** [1:37:28]
对 ， 我的意思是你不会得到任何网站 。 难道不是这样吗 ？

**吴涛** [1:37:31]
会 ， 会 。 你会得到一个假的 。 你会得到一个假的 IP 地址 。

**Rio** [1:37:34]
What？

**吴涛** [1:37:34]
啊 ，不是 —— 不是假的 ， 就是你会得到一个国外的某一个 —— 某一个随机的一个 IP 地址 。

**Rio** [1:37:41]
哦 ， 我 —— 我真的吗 ？ 是这样的 ？ 我 —— 我一直以为是 —— 就是就直接没有 —— 没有 —— 不会返回任何结果 。

**吴涛** [1:37:49]
啊 ， 会 ， 会 ， 会 —— 会返回结果 。

**Rio** [1:37:51]
好吧 。

**吴涛** [1:37:52]
它会 —— 会返回一个假的结果 ，但我不知道这个用意何在啊 ， 只能去猜 。

**Rio** [1:37:57]
就为什么我印象里面就是 ， 虽然我从 —— 我自从就是强 —— 足够强大之后， 我就再也没有在国内试图这样做过了 ，但我不知道 ， 或者说我的印象里面 ，在最早期就你输入一个比如说 twitter.com， 它就不会返回 ， 就是直 —— 直接很简单 。

**吴涛** [1:38:14]
对 ， 那直接 —— 直接就是拒绝嘛 ， 对吧 ？

**Rio** [1:38:16]
嗯 。

**吴涛** [1:38:16]
但我 —— 我猜想是这样 ， 就是它需要去监控一下谁在解析这个东西 。

**Rio** [1:38:22]
可是它要监控谁在解析东西 ， 它也不需要 —— 不 ， 就是不一定要返回一个结果呀 。 就返回一个乱序结果的意义是什么 ？

**吴涛** [1:38:29]
啊 ， 你说直接 drop 掉也可以是吧 ？

**Rio** [1:38:30]
对啊 。

**吴涛** [1:38:31]
嗯 ， 好问题 。 我也不知道为什么它要返回一个假的结果 。

**Rio** [1:38:35]
奇怪 。

**吴涛** [1:38:35]
反正就是这个是一个事实 。

**Rio** [1:38:37]
好吧 ， 这对于我来说是全新的 。 我以前从来没有意识到这一点 。

**吴涛** [1:38:42]
对 。

**Rio** [1:38:42]
OK。

**吴涛** [1:38:43]
所以 —— 所以就是很 —— 我 —— 我每 —— 在某些情况下， 你假设你需要得 —— 得到一个正确的解析结果的时候 ， 你需要做一些特殊的处理 。

**Rio** [1:38:50]
嗯 。

**吴涛** [1:38:50]
你需要分流 ， 对吧 ？

**Rio** [1:38:51]
对 。

**吴涛** [1:38:51]
就某一些域名你要去查询国外的嘛 ， 或查 —— 你要查询国外的 ， 比如说 1.1.1， 呃 ， 这个 —— 这个 —— 这个 —— 呃 ， 服务器 ， 然后你才得到一个正确的一个结果嘛 。

**Rio** [1:39:01]
嗯哼 。

**吴涛** [1:39:01]
但至于说你怎么能够 —— 呃 ， 访问到 1.1.1 是 —— 是那就是你要去想的问题了 。 啊 ， 此处不可 —— 不可描述 。

**Rio** [1:39:13]
OK。

**吴涛** [1:39:15]
嗯 ， 就是 —— 就所以那你其实是要自己家里要 —— 为了实现这个目的 ， 要家里要自己架一些 —— 架一些服务器嘛 。

**Rio** [1:39:21]
嗯哼 。

**吴涛** [1:39:22]
架 —— 架一些这个 —— 这个 DNS 的这个 —— 这个 —— 这个客户端嘛 。

**Rio** [1:39:25]
主要是一个 DNS cage， 对 。

**吴涛** [1:39:27]
对 ， 对 ， 对 ， 对 ， 对 。 就所以其实你 —— 包括你其实你现在路由器里面最用常用的是一个叫做 DNS Mask 的一个 —— 一个 DNS 的客户端 。

**Rio** [1:39:35]
嗯哼 。

**吴涛** [1:39:36]
它同时也提供你的这个 DHCP 的这个 —— 就是内网域名的分发和管理这么一个 —— 一个功能 。

**Rio** [1:39:43]
嗯哼 。

**吴涛** [1:39:45]
啊 ，但是 DNS Mask 其实不支持 TLS，也不支持 HTTPS。

**Rio** [1:39:49]
那怎么 ——

**吴涛** [1:39:49]
这样子请求的 。 你是只能在它上面再加一个代理或者是一个中介让它去转换一下 。 就是 DNS Mask 它只支持传统的 UDP 和 TCP 协议的 DN—— 的 DNS 请求 。

**Rio** [1:40:01]
OK。

**吴涛** [1:40:03]
然后如果你要用它 TLS 的话 ， 你自己再加一层 。 啊 ， 最笨的方法就是用那个叫什么 SOCKET 那个工具 ，S-O-C-K-E-T 嘛 。

**Rio** [1:40:11]
嗯哼 。

**吴涛** [1:40:11]
两头接一下， 中间用 TLS——TLS 转一下， 对吧 ？

**Rio** [1:40:14]
哇 ， 好 ， 实在是 。

**吴涛** [1:40:15]
然后 H—— 然后 HTTPS 就没办法了 ， 你得 —— 你得找一个网上的这个 —— 这个叫什么 ， 网上的这个现成的一个客户 ——HTTPS，DNS HTTP 客户端 ， 或者是你自己写一个也很简单嘛 。

就是等于是把 DNS——UDP 请求拿到 ， 解析一下， 换成 —— 呃 ，HTTP 请求发出去 ， 得到一个 JSON 结果或者是 UDP 的结果 ， 它再发回来嘛 。

**Rio** [1:40:37]
对 。

**吴涛** [1:40:38]
啊 ， 就我 —— 我最近就在玩这个东西 ， 所以才有这期节目 。

**Rio** [1:40:41]
哦 ， 原来你又在闭门造车啊 。

**吴涛** [1:40:44]
就是为了 —— 为了保持 ——

**Rio** [1:40:46]
开门造车 。

**吴涛** [1:40:47]
技术的敏感性 。

**Rio** [1:40:48]
OK。 一个风险投资人不辞辛苦闭门造车就是为了保持技术敏感性 。

**吴涛** [1:40:54]
啊 ， 太不容易了 。

**Rio** [1:40:55]
屌 。

**吴涛** [1:40:55]
多么的敬业啊 。

**Rio** [1:40:56]
所以你现在 ——

**吴涛** [1:40:57]
啊 ， 啊 ， 刚错了 ， 刚刚说错了 。 那个 119.19.19 这个是腾讯的这个 DNS Pod。

### DIY与IPv4

**Rio** [1:41:02]
OK。

**吴涛** [1:41:02]
阿里 DNS 是 223.5.5.5 啊 。

**Rio** [1:41:04]
OK。

**吴涛** [1:41:05]
三五盘 。

**Rio** [1:41:05]
所以你现在进展到哪一步了 ？

**吴涛** [1:41:07]
哦 ， 写完了 。

**Rio** [1:41:08]
已经写完了 ？

**吴涛** [1:41:10]
对啊 ， 你自己写了一个就是带这种 —— 呃 ， 就是分 —— 分网段查询 ， 然后带双向过滤的这么一个 DNS 的解析器吧 ， 就是 Stop Resolver。其实很多概念没有 —— 没有展开讲 ， 包括什么 —— 什么叫做 Stop Resolver， 什么叫 Recursive Resolver， 什么叫 Uturative Resolver， 啊 ， 太多了 ， 下次吧 。

**Rio** [1:41:30]
所以有很多技术细节 。 你又 ——

**吴涛** [1:41:33]
都 —— 都 —— 只是通通略过 。

**Rio** [1:41:34]
OK。 你有开源吗 ？

**吴涛** [1:41:36]
呃 ——

**Rio** [1:41:37]
你有放在 GitHub 上面吗 ？

**吴涛** [1:41:38]
还 —— 还没放 ， 还没放 。

**Rio** [1:41:39]
就是 ——

**吴涛** [1:41:40]
还有一些期期末节的问题 。 还在等一些东西 ， 还 —— 还 —— 还不着急 。

**Rio** [1:41:44]
OK。

**吴涛** [1:41:44]
好 。 啊 ， 之后会放上去的吧 ， 大家可以去玩一下 。

**Rio** [1:41:48]
对 。

**吴涛** [1:41:48]
其实非常简单 ， 没多少 ， 好像有 200 行代码就写完了 。

**Rio** [1:41:51]
对 ， 主要是我觉得这个最大问题就是你 —— 你首先要明白这个东西 ， 这个工具试图解决的问题是什么 ， 然后 ——

**吴涛** [1:41:57]
对 。

**Rio** [1:41:58]
呃 ——

**吴涛** [1:41:58]
因为你 —— 如果你不明白整个体系结构 ， 你是没有办法去 —— 就是 formulate， 就是构成这个问题嘛 。 你构不成这个问题 ， 你没法提供解 —— 解决思路嘛 。

所以今天讲这些很多就是解决这个到底存在什么样的问题 。

**Rio** [1:42:10]
对 。

**吴涛** [1:42:10]
这个角度出发的 。

**Rio** [1:42:12]
很有意思 。

**吴涛** [1:42:14]
嗯 。

**Rio** [1:42:14]
好的 。

**吴涛** [1:42:15]
哎 ，有一个小 —— 小花絮可以讲一下 。 你知道为什么 APNIC 不把 1.1.1 这个地址 —— 这个网段之前放出去吗 ？ 这非常好记的一个网段 ， 对吧 ？

**Rio** [1:42:25]
对啊 ， 为什么呢 ？

**吴涛** [1:42:27]
就它是一个公共 —— 哎 ， 你这也要扯 —— 扯到另外一个问题了 ， 就是 IPv4， 就是 —— 就是 —— 就是那个传统的那个 IP 地址池 ， 它是有一个叫做网段的概念的嘛 。

**Rio** [1:42:39]
对 。 啊 ， 说到 IPv4， 我想到一个梗 ， 就是有很 —— 在这计算机发展历史上有很多东西是一开始出来的时候 ， 人们会说哎呀 ， 这样够了 。

比如说 ， 虽然不是 Bill Gates 说的什么 640K 内存永远是够的 ， 然后 IPv4——IPv4 可能是 —— 可能是唯一一个 —— 呃 ， 一个一直在说哎呀 ， 这个不够了 ， 这个不够了 ，但是实际上一直到今天都一直足够的这样一个资源 。

这还是很 —— 很有意思的 ， 对 。

**吴涛** [1:43:06]
其实 —— 其实真的不够了 。

**Rio** [1:43:08]
对 。

**吴涛** [1:43:08]
真的不够了 。

**Rio** [1:43:09]
就是它耗尽了 。

**吴涛** [1:43:10]
或者说是这样吧 ， 就它 —— 它就好 —— 它就好像石油一样 ，70 年代就说石油不够了 ， 到现在还是 ——

**Rio** [1:43:16]
永远是挖不完的 。

**吴涛** [1:43:17]
对 。

**Rio** [1:43:17]
就是 ——

**吴涛** [1:43:18]
永远不会挖到最后一滴石油 ， 对吧 ？

**Rio** [1:43:20]
IPv4 也有点类似吧 ， 就是说 IPv4 不够的这个呼声其实很早就有了 ，但是后来人们一直在想办法 ， 就像这个 fracking 一样去榨干 IPv4 的最后一滴价值 。

**吴涛** [1:43:34]
哈哈哈 。 对 ， 对 ， 对 。

**Rio** [1:43:34]
啊 ， 对 。

**吴涛** [1:43:35]
OK， 回到这个它为什么没有分发的问题上 。

**Rio** [1:43:39]
就是 IP——IPv4 其实有几个网段是 —— 是 —— 是不能 —— 就是 —— 就是说私有的 ， 比如说我们知道的 1.10.110， 就是 10 点几开头的都是私 —— 就内网嘛 ，不可 —— 不可公网路由的嘛 。

还有比如说刚才讲的 192.168， 然后后面这个第二家都是这个所谓的这个 ——

**吴涛** [1:43:58]
C 的网络 。

**Rio** [1:43:58]
对 ，C 的网络 。 还有就这些 。 但是 1.1.1.1 所在的网 ， 它是一个公开可以路由的一个网段 ，但是为什么一直没有被分出去呢 ？

**吴涛** [1:44:08]
嗯哼 。

**Rio** [1:44:09]
为什么 ？

**吴涛** [1:44:10]
就是因为这个地址太好记了 。 所以 —— 所以很多这个路由器设置的时候 ， 或者说它在会把这个东西它设置为 —— 呃 ， 或者网关它会把它设置为自己的地址 ， 或者说一个 —— 一个测试用的或者配置用的地址 ， 导致这个地址在很多地方是不可以被路由的 。

**Rio** [1:44:28]
对 ， 就是好像你去网上搜 1.1.1.1， 你会发现很多什么 stack overflow 之类的 ， 就是很古老的问题 ， 说这个网 —— 这个网址是干嘛的 ？

**吴涛** [1:44:37]
绝 。 就是网上的很多这个所谓例子啊 ， 配置的这个教程里面都会把这个地址当成一个假地址来用 ，但其实它是一个真正的可以用的地址 。

**Rio** [1:44:46]
对 ， 它只不过没有被用而已 。

**吴涛** [1:44:48]
它只是没有被用 。 对 ， 所以就是因为这个既成事实 ， 导致这个网段如果一旦被分配出去 ， 被分配的那个人会发现他这个网段其实是很多地方是不可访问的 。

**Rio** [1:44:58]
对 。

**吴涛** [1:44:59]
那你就不能把它分出去 ， 就没有用嘛 ， 对不对 ？

**Rio** [1:45:01]
对 。

**吴涛** [1:45:01]
所以这次为什么这个 APNIC 和 Cloudflare 做这个实验 ，他们就想通过这个 DNS 这个非常常用的高频的这么一个 —— 啊 ， 服务来看到底哪些地方不能访问这个 1.1.1 这个 —— 这个 —— 这个网段的地址 。

**Rio** [1:45:16]
哦 。

**吴涛** [1:45:17]
然后 —— 然后倒逼那些错误配置的路由器和这个运营 —— 这个 —— 这个管理员去把它改过来 。

**Rio** [1:45:24]
这真是一个宏大的构想 。

**吴涛** [1:45:27]
哈哈哈 。 所以就这次这是一个研究的主要目的 。

**Rio** [1:45:30]
对 。

**吴涛** [1:45:31]
啊 ， 所以就其实我就为 —— 为什么我挺支持这件事情呢 ？ 就是因为我 —— 因为确实我发现 ， 比如说我在 —— 比如深 —— 深圳联通 ， 你如果你去那个 traceroute 1.1.1.1 的话 ， 就是 —— 就是在第三跳还是第四跳时就会断掉 ， 就是在某 —— 中间某一个路由器把它当成一个内网地址给 —— 给绿掉了 。

**Rio** [1:45:49]
OK。

**吴涛** [1:45:50]
傻逼吧 。

**Rio** [1:45:52]
太

—— 无言以对 。 但或者说从他们的角度来看 ， 这样也是 ， 或者说在这个 DNS 出现之前也是正常的 ，因为这没有任何意义嘛 。

**吴涛** [1:46:04]
对 ，其实这个就是我在那个 Hacker News 上面有一个 —— 有一个 —— 有一个 —— 有一个评论嘛 ， 就讲这件事情的 。 就是 —— 就是 IPv4 其实是留了三段地址专门用来做这个 ， 就是 demo， 或者就是文档 ， 就是说明或者演示用的三段地址 。

就是本来比如说我们写 1.1.1， 就是文档里面说明里面写 ，其实应该用那三段地址的某一个网址来做实验 ， 就不 —— 不就不会出现这个问题了嘛 ， 对吧 ？

**Rio** [1:46:29]
对 。

**吴涛** [1:46:30]
但是呢 ， 那三段地址没有任何人记得是多少 。

**Rio** [1:46:34]
哈哈哈 。

**吴涛** [1:46:35]
那所以一判断 ， 那当然是 1.1.1 的更好 —— 更好记 ， 对不对 ？ 刚刚我们举例的时候 ， 为了 —— 为了好说 ，也是说 1.1.1， 或者是 1.2.3.4 这种假的地址嘛 。

**Rio** [1:46:44]
对 。

**吴涛** [1:46:45]
对吧 ？ 但其实它也是一个公网可以路由的地址 ， 对不对 ？

**Rio** [1:46:47]
对 。

**吴涛** [1:46:48]
包括 5.6.7.8 也是 ， 对吧 ？

**Rio** [1:46:50]
所以其实这件事情应该是在互联网上一开始就做的 ， 就是先把这个 ——

**吴涛** [1:46:54]
所以就是最开始的那个决定 ， 就是 —— 就是这个其实是一个问题 ， 就是我们在做很多设计的时候没有考虑这个人的因素嘛 。

**Rio** [1:47:01]
对 ， 没有考虑人性 。

**吴涛** [1:47:04]
就是 —— 就是 —— 就是 —— 就是 —— 懒惰 。 对 ， 懒惰 。 大家都想 ， 我 —— 我 —— 我写个文档 ， 我还去 —— 我给你查哪三段那个 IPv4 地址是用于这个演示用 ，不可公网路由 ，但是用起来是安全的 ， 对吧 ？

没有啊 。 不会 —— 不会有人干这件事情嘛 ， 你肯定就是自己去 —— 自己去查一遍嘛 ， 就自己想一个 1.2.3.4， 一看就是假的 ， 对不对 ？

**Rio** [1:47:22]
对 。

**吴涛** [1:47:22]
就好像 —— 就好像我 —— 我在那个评论里面也说了嘛 ， 就好像 —— 嗯 ， 比如说你要现在 —— 不是很多地方要你填这个 —— 这个填表 ， 然后问你说你这个手机号码是多少嘛 ， 对吧 ？

**Rio** [1:47:32]
嗯哼 。

**吴涛** [1:47:32]
很多人不是不想写自己这个手 —— 手机号码 ， 那写个什么 12345678 呗 。

**Rio** [1:47:36]
对 ， 我每次都有这种感觉 。 所有的 。

**吴涛** [1:47:38]
对 ， 你 —— 你 —— 所以你 —— 所以你 —— 所以你一看到 12345678 这个手机号码或电话号码 ——

**Rio** [1:47:43]
本来就是假的 。

**吴涛** [1:47:44]
它 —— 它是假的 ， 对吧 ？ 但其实它可能是真的呀 。

**Rio** [1:47:46]
对 。

**吴涛** [1:47:48]
对吧 ？

**Rio** [1:47:49]
哈哈哈 。 让我想到就是什么网站上面会有什么命名规则 ， 什么名和姓不能一样啊之类的 ， 感觉好像你是个假的 。

有些中国人就是这样的好吗 ？ 名和姓是一模一样的 。

**吴涛** [1:48:02]
对 。 再 —— 再举个例子 ， 就是你说之前中国是电信 ， 应该是移动还是电信 ， 我忘了 。 就是中国电话号码 ， 手机号码不都是 1 多少三位数 ， 然后后面是 8 位数嘛 ， 就是 3 加 8 这么一个结构嘛 。

**Rio** [1:48:14]
嗯哼 。

**吴涛** [1:48:15]
对啊 ， 然后中间大家 —— 大家中国人不都什么什么 666888 结尾的嘛 ？

**Rio** [1:48:18]
对 。

**吴涛** [1:48:18]
对吧 ？ 有一个身价 —— 价值上亿的号码 ， 叫 188， 后面 8 个 8。

**Rio** [1:48:24]
嗯哼 。

**吴涛** [1:48:26]
我忘了是电信还是移动的了 。 就那个东西 ， 那个是个真实存在的号码 ， 对吧 ？ 那家 —— 那个有 —— 好像被拍卖了 ， 一个多亿拍出去了好像是 ， 被一个什么土豪给拍了 ， 我记得 。

但是如果你在生活中看到这个号码 ， 你会相信它是真 —— 真的一个号码吗 ？

**Rio** [1:48:39]
呃 ， 我觉得还不 ——

**吴涛** [1:48:41]
大概 —— 大概率你碰不到那个土豪 。

**Rio** [1:48:42]
跟上下文有关 ，不过大部分时间我还是觉得这 —— 这 ——

**吴涛** [1:48:45]
但你如果你碰到一个土豪 ，他拿了一个金 —— 纯金名片给你 ， 上面写的是 188888 这个号码 ， 你相信它真的 ， 对吧 ？

但是如果你一个屌丝 ， 或者他在一个表上填了一个 188888 这个号码 ， 你肯定不会相信它真的吧 ？

**Rio** [1:48:55]
对 。 我会多看他一眼搞不好 。 哈哈哈 。

**吴涛** [1:48:59]
Are you sure?

**Rio** [1:48:59]
Yeah.

**吴涛** [1:49:00]
哈哈哈 。

对啊 ， 所以就这个事情我觉得是 —— 是 —— 是 —— 是挺好玩的 。 一个 —— 一个 —— 就是一个算是一个什么去意识吧 ， 就当时做的一个错误决定 ， 使得现在出现这么一个问题 。

对吧 ？

**Rio** [1:49:16]
对 。

**吴涛** [1:49:17]
非常的坑 。

### 设计反思

**Rio** [1:49:18]
哎呀 ， 技术设计实际上是非常难的 ， 尤其是你在不知道这个东西将来会这么火的时候 ， 做出一些非常狗血的随意的设计 ， 将来有可能会被人吐槽好多年， 而且花费非常大 —— 大的成本去 —— 去解决它 。

所以 ——

**吴涛** [1:49:34]
是的 。

**Rio** [1:49:34]
如果我们的听众里面有谁要做一个有志于成为这个全球未来标准的东西 ， 一定要考虑到不要 ——

**吴涛** [1:49:43]
一定要想好 。

**Rio** [1:49:43]
对 ， 一定要考虑到人类的懒惰 。

**吴涛** [1:49:48]
哈哈哈 。 对 ， 这个所有的工 —— 就是那些工业设计 ， 呃 ， 家居设计都要考虑这个问题嘛 ， 就是人到底会在这个东西怎么用它 ， 怎么反应它嘛 。

就是 —— 但其实我们做很多这种技术的时候 ， 就完全忽略 —— 就纯理性地忽略了这个问题 。

**Rio** [1:50:02]
对 。

### 结尾

**吴涛** [1:50:04]
好了 ， 今天差不多 —— 啰啰嗦嗦讲了这么久 。

**Rio** [1:50:08]
好 。

**吴涛** [1:50:08]
呃 ， 下次我们可以聊聊别的 。

**Rio** [1:50:11]
好 。

**吴涛** [1:50:11]
啊 ， 那个 Namecore 下次可以讲一下，Namecorn。

**Rio** [1:50:14]
Namecorn。

**吴涛** [1:50:16]
嗯 ， 就是 —— 就这 —— 这可以插一个嘴 ， 就是现在我们 DNS 还是一个中心化的结构嘛 ， 要查这个 ——

**Rio** [1:50:22]
哦 ， 就是分布式 DNS。

**吴涛** [1:50:23]
对 ， 就分布式 DNS 是未来是怎么样的 。 假设如果互联网都是分布式的 ， 没有 —— 没有理由 DNS 还是一个集中式的嘛 ， 对吧 ？

**Rio** [1:50:29]
嗯哼 ，有道理 。

**吴涛** [1:50:30]
这个我们下期节目再讲吧 。

**Rio** [1:50:32]
区块链结合 DNS， 请敬请等待下期节目 。

**吴涛** [1:50:37]
等下一期更新 。 不知道是猴年马月 。

**Rio** [1:50:39]
啊 ， 这个向各位宣布一个消息啊 。

**吴涛** [1:50:45]
哦 ？

**Rio** [1:50:46]
你们听到这一期的时候 ，Rayo 已经过完生日， 所以 —— 哈哈哈 。 祝 Rayo 生日快乐 。

**吴涛** [1:50:53]
能不能打点赏 ？

**Rio** [1:50:54]
哈哈哈 ， 对 ， 快给 Rayo 捐生日压岁钱 。

**吴涛** [1:50:58]
我 —— 我要贴个二维码可不可以 ？

**Rio** [1:51:00]
OK。 好的好的 。

**吴涛** [1:51:02]
好的 。

**Rio** [1:51:03]
OK。

**吴涛** [1:51:03]
呃 ， 你 —— 你节一下尾了 。

**Rio** [1:51:05]
好 。 嗯 ， 您刚才收听到的是这一期的 IT 技术属于娱乐节目 《 内核恐慌 》。 嗯 ， 我们号称 hardcore，但是没有干货 ， 想听的听 ，不想听的就别听 。

您可以为本节目 —— 您可以为 Rayo 捐赠压岁钱 ， 地址是 kernelpanic.fm/donate。 捐款金额随意 ， 只要是 8 的任数位就可以 。Rayo 你多少岁 ？

要不要 8 乘以你的年龄 ？ 哈哈哈 ， 好像还蛮多的 。

**吴涛** [1:51:33]
那就 —— 那就 —— 那就有点多了 。

**Rio** [1:51:35]
捐款不会为你带来什么 ，不捐也不会让你 —— 呃 ，不捐会让你失去 Rayo 的喜爱 。 我们的口号是 "No hard feelings"。

啊 ， 如果你有任何反馈 ， 可以发一电子邮件到 kernelpanic@—— 不对 ， 这个电子邮件是什么来着 ？

上次说过一遍的 。 嗯 ， 我们的邮件是什么 ？

**吴涛** [1:51:58]
呃 ，hi@。

**Rio** [1:52:00]
啊 ，OK。 如果你有任何反馈 ， 可以发电子邮件到 hi@kernelpanic.fm。 啊 ， 同时也欢迎你收听 Rayo 主持的 《 疯头圈 》。 啊 ， 我们下期节目再见 。

---

本节目库由 PodHood（https://podhood.com）提供支持——播客网站平台。
