如果美国封了DNS,俄罗斯将从网络消失?(文末送书)

Python客栈

共 4125字,需浏览 9分钟

 ·

2022-03-04 14:46

俄乌战争还在持续,网络中的战争也同样在上演着。

从最近几天的微博热搜就能看出,舆论阵地是何等的重要,一张图、一个视频、一段文字就能把人带跑偏,可见保持独立思考和判断的能力多么难能可贵。

网络阵地如此之重要,大家有没有想过一个问题:美国那么爱制裁,互联网是美国人发明的,如果美国制裁俄罗斯互联网,把根域名服务器封了,俄罗斯是否就从互联网消失了?

美国会不会干出这事儿我不知道,咱们就从技术上来分析一下,通过封禁根服务器,能不能实现将一个国家从互联网消失。

要回答这个问题,需要了解一些互联网工作的基本常识。

我们平时上网,其本质就是用你手里的客户端软件(比如微博、抖音、微信、浏览器等等)去访问它们背后的服务器(微博服务器、抖音服务器、微信服务器、其他网站的服务器等等),请求数据然后呈现给你。

那如何访问呢?

这些服务器都有属于它们的IP地址,这是一个在互联网中使用的身份标识号码,凭借这个数字,我们手机和电脑发出的网络数据包就能被网络中的“快递系统”不断转发,最终投递到目标服务器。

但这些号码数字对我们人类来说没那么好记忆,所以,人们发明了域名这个东西。

www.baidu.com,这就是百度的域名。

这个东西可比数字好记多了!

但互联网的协议是用IP地址进行身份识别的,现在搞了这么个域名,怎么用起来呢?

计算机科学家们又搞了一个翻译系统出来:域名解析系统DNS

在访问真正的服务器之前,先通过这个解析系统,把这个域名“翻译”成对应的IP地址,拿到这个IP地址后,再去进行后面的网络访问。

当然,这个过程都被现在的软件自动化的进行了,比如你在浏览器里输入www.baidu.com之后按下回车,浏览器自动完成了这个解析的过程,这对我们普通的用户来说是透明的(看不见的)。

那么问题来了,这个负责域名解析的东西是什么样的?

它是一台服务器吗?它位于哪个地方呢?

首先,它不是一台服务器,万一崩了,那全世界都上不了网了。

其次,它也不是一个简单的多点集群,全世界的网站这么多,每个节点要存储所有的域名——IP映射关系,那也是不切实际的。

事实上,真正的域名解析系统它是一个分层级的庞大系统。

  • 本地DNS服务器
  • 权威域名服务器
  • 顶级域名服务器
  • 根域名服务器

我们每个电脑和手机里面都设置了本地DNS服务器(简称LDNS),需要解析域名的时候,就向LDNS发出请求。

大家可以在自己的电脑上执行nslookupipconfig命令,查看自己电脑上配置的DNS服务器地址是什么:

我们以www.example.com这个域名为例,来看一下DNS的解析过程。

  • 你的电脑问LDNS:www.example.com的IP是什么?
  • LDNS:查无此域名,问一下根服务器看看:www.example.com的IP是什么?
  • 根服务器:我可是十三大长老,哪管这些。你去问负责.com域名解析的顶级域名服务器吧,它肯定知道。
  • LDNS问.com顶级域名服务器:大佬,www.example.com的IP是什么?
  • .com顶级域名服务器:这我也不知道,你问问ns.example.com看看,它负责解析所有example.com下面的域名。
  • LDNS问ns.example.com:大佬,www.example.com的IP是什么?
  • ns.example.com:这我知道,是xxx.xxx.xx.xxx
  • LDNS:谢谢大佬
  • LDNS回复你的电脑:查到了,是xxx.xxx.xx.xxx,可累死我了···

整个过程大概是下面这图所示,不过需要说明的是,并不是每一次DNS请求都会经历这样的过程,有些时候中间节点有缓存,路径就会变得不一样了。

由此可见,根域名解析服务器在整个过程中扮演的角色至关重要。

那么,问题又来了,全世界有多少根DNS?

答案是13个,其中10个在美国,英国和瑞典各1个,日本1个。

这13个根的名字和IP在这里可以公开查阅:

https://www.internic.net/domain/named.root

他们的名字从A.root-servers.netM.root-servers.net

其中,A开头那个是主根,其他12个(B、C、D、E、F、G、H、I、J、K、L、M)是辅根。

由于技术上的历史原因,根服务器只有13个,想知道具体原因的朋友,可以看看这篇文章:

为何根域名服务器只有13个?

但是需要注意的是,这里说的13个,并非真的只有13台物理机器,全球的互联网如果都只靠这十三台计算机维系,那风险还是很大的。

在逻辑上,根确实只有13个,但每个根都有镜像啊!

所以,根服务器实际上总共有1518个(截止2022-02-27)之多,在下面这个网站,你可以看到全球所有的根服务器分布情况:

https://root-servers.org/

从A到M,每一个根服务器背后都有许多镜像节点,分布在全球不同的地方。

下面是我们中国所拥有的根镜像服务器:

单是北京,就拥有8个节点。

再次注意,根服务器的IP只有13个,但是却有一千多个物理服务器节点。

那这是怎么办到的呢?这里用到了一个叫“任播”的网络技术。简单理解就是:可以让世界上不同的多台计算机,拥有同一个IP地址

注意,这里的IP地址是公网地址,如果是私有地址那没啥讨论的。

小伙伴儿们可能一脸问号了,具体在网络路由的时候,具体选择哪一台计算机呢?

这个问题说来话长,也不是今天的重点,感兴趣的同学可以看看这个:

https://docs.microsoft.com/zh-cn/windows-server/networking/dns/deploy/anycast

我国境内发出的对根DNS的请求,基本上都由国内的镜像完成了,并没有路由到国外的根服务器上去。

注意这一点,非常重要!

这么多台根服务器,它们是如何协同工作的呢?

简单来说:所有的辅根从主根同步数据,而所有的镜像从对应的根服务器来同步数据。

按照这个逻辑,A根就是超级大boss,只要它改了,其他一千多个节点都得跟着改。

那么,如果某一天美国把A根中关于.cn的相关信息全部删掉,那全世界的根服务器都会跟着删掉,那中国将从互联网消失吗?

这个时候,建设自主可控的根镜像服务器的重要性就体现出来了。

服务器在我这儿,我不同步删除的内容,或者同步完加上删除的内容,就能破解这个问题!

因为前面交代了,国内对根DNS的请求,基本都是国内镜像完成的,并没有路由出去。

当然,其他国家的根镜像我们控制不了,他们可能无法访问.cn的域名,但只要他们想要访问,就会加回去,并拒绝同步美国删除的内容,如此一来,最后只有美国人自己访问不了.cn的域名。

同样的道理也适用于俄罗斯,在root-servers网站上,也可以看到俄罗斯同样建设了许多的根镜像服务器,比如首都莫斯科:

他们同样可以拒绝同步删除俄罗斯的国家域名.ru的解析信息。

所以,想通过封禁根域名解析服务让一个国家从互联网消失,没那么容易。

但如果是一个没有建设根镜像服务器的国家呢?

Python客栈联合北京大学出版社送书啦~~
01

Python Web开发从入门到精通

作者:王海飞

推荐理由:本书力求简单、全面,坚持以实战为主、理论为辅,覆盖了 Web 开发的全部过程。
(1)案例教学。本书包含大量的示例代码,示例简洁且紧扣主题,读者只需参考源码,修改示例,就能得到自己想要的结果,真正实现了让读者看得懂、学得会、做得出。
(2)系统全面。全面讲解Python 基础、数据库基础、前端基础、Python Web流行框架、实战、运维部署等内容。由于 Python Web 不局限于某一个框架,所以本书分别讲解了当前比较流行的 4 个框架,使读者在开发工作中能做到融会贯通。
(3)贴身实训。全书安排了 12 个“实战演练”,都是作者多年的实战开发经验的总结。通过“实战演练”实训,读者能够尽快巩固知识,做到举一反三。
(4)排忧解难。全书安排了 26 个“新手问答”,帮助初学者解决常见疑难问题。
02

自然语言处理NLP从入门到项目实战

(Python语言实现)

作者:艾浒

推荐理由:让机器会语言:全球首款AI写作平台创始人、北京大学高材生、知乎NLP大V、知名“大厂”特约作者, 通过小白都能懂的语言,解读晦涩难懂的前沿技术,带领机器从牙牙学语到行云流水。本书从人工智能和自然语言处理技术的基础原理讲起,逐步深入自然语言处理进阶实战,并配有实战代码讲解,重点介绍了使用开源技术、人工智能开放平台,以及使用国内外优秀开发框架进行基于规则、统计、深度学习的自然语言处理程序开发,让读者全面掌握理论基础,并学以致用。
03

架构基础:从需求到架构

作者:尹洪亮

推荐理由:本书不涉及任何具体的编程语言,采用大量的架构图、流程图、状态图、时序图等来图解企业级架构,更加清晰直观。每个章节都以场景化案例进行剖析,从需求、问题、解决方案、原理、设计方法、落地方案等多个角度,给出架构设计方法。可以根据本书目录查找对应的场景设计,参考应用在企业系统建设中。以阿里云 / 腾讯云消息系统、支付宝 / 微信支付系统、鹰眼业务监控系统、监管批量信息报送系统作为实战案例,详细讲解架构设计过程,对核心功能、设计、数据结构加以分析,巩固读者的架构思维和设计能力。

赠书规则:


活动截止时我们将从本文的留言中选出位幸运粉丝赠送书籍~

注意哦,每人每月仅限一本书籍~


活动截止时间:2022 年 3 月 5 日 16:00 整

兑奖截止时间:2022 年 3 月 6 日 16:00 整


往期推荐

1、Win11大变化:全新桌面贴纸玩法上线!
2、贼适合新手!这些练习 Python 的网站太好玩了!
3、程序员用5分钟,把一个400多MB的苹果安装包削掉了187MB
4、如何利用Python找到下一个“游戏驿站”?
5、被称为国内版“谷歌”的F搜回来了,大变味!迷之操作实在太多...

点击关注公众号,阅读更多精彩内容
浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报