美国的根域名服务器不能致我国互联网全面崩溃。
这是技术决定的,不以人的意志为转移。
如果老美一定要摧毁我们的网络,用根服务器是不行的,必须在链路上进行物理级的破坏,比如断电、断光纤、断路由器。
崩溃论者要么是对技术细节不清楚,对互联网技术基础没有信心,要么是瞎起哄,或者别有用心。
从大系统观看,从技术上看,全面摧毁是不可能的,即便造成大面积损伤,我们也可自主恢复。
当然,通过各种攻击手段进行阻塞是可以的,也是要防止的。
基本原理
互联网是块茎结构的全息有机系统,局部包括整体信息,因此缺了美国的根服务器仍然可以继续存活发展。块茎结构的互联网没有唯一的根,根服务器并不是互联网的核心,至少没那么重要,互联网没有核心,只有“重心”。
学过网络原理、明白TCP/IP的人,都会知道这个道理。网络传输的指向靠无数个路径数据(这里包括路由表的记录和域名解析数据库和缓存记录等)实现,而路径数据不是中心式的,它们是自组织的,自适应的,自学习的,自优化的。路径数据不是树状的,而是网状的。网状的路径数据具有强大的“代偿”或“旁路”功能,这个意思是说,如果美国的根服务器瘫了,仍然会有别的服务器利用自己的路径数据代替它服务。
根域名服务器上的路径数据本质上与普通服务器上的路径数据区别不大,而且,根服务器对其他服务器并没有管理权,亦即,所有域名服务器实际上都是并行的,平等的,虽然在解析过程的逻辑上有从属关系。也就是说,域名命名体系是树状的,但实现它的物理基础却不是严格的树状的。这也是互联网的本质特征。
如果你希望了解技术细节,请继续;如果你精通互联网原理,请直接跳过。
域名解析的过程
域名解析的过程貌似中心式的,实际上并不是。
我们看看实际过程就知道了。
假如,我要访问加拿大滑铁卢大学网站,其域名为:www.uwaterloo.ca 。那我的电脑是这样获得这个域名的IP的(粗略):
(1)我的电脑首先看看自己有没有www.uwaterloo.ca这个路径数据记录。如果以前用过,就会有历史记录,能查到它的IP。当然也可能清除了。
如果还能找到,那就直接用找到的IP地址访问;
如果没找到,那就询问本地的域名服务器。
(2)本地域名服务器接到请求后,也先看自己的数据库,检索www.uwaterloo.ca 。
如果找到了,就回答询问;
如果找不到,就问根服务器。
(3)根服务器接到询问,它不直接给出答案,因为它没有答案!而是告诉你去问谁。对于www.uwaterloo.ca,它告诉你:请联系.ca域名服务器。
(4)我的本地域名服务器再去询问.ca名服务器,经过可能的多次询问,终于会得到一个答案,最终回答告诉我的电脑:“IP地址”或“没找到”。
(5)如果解析出了IP,我的电脑会把结果存起来,下次再访问www.uwaterloo.ca 就不问了,而是直接用这个IP地址。其他过手的服务器也会存起来。这就是缓存。
OK,这就是域名的解析过程,教科书一般就是这么写的。
你感觉是中心是的吧?
没错,如果严格按照这个过程解析,确实是中心式的。
但是,这明显不符合互联网的精神——去中心化。
实际上,上面的过程能够确保解析出IP地址,或确定有没有IP地址。
这是一种保障,但过程是很低效的,繁琐的,脆弱的。
域名服务器之间的互相连接
就近解析:就是尽量在本地解析,尽量不要麻烦根服务器。
全球的域名服务器几百万个,如果都不干活,都只是传声筒,那不把根服务器累死?网络不要堵死?
这是决不允许的!
互联网是分布式的,活要大家分担着干。域名解析工作,每个域名服务器都得干,每个电脑都得干!这才是互联网的核心技术思想。
实际实现时不是严格按照中心式模式搭建域名服务系统的,而是允许各个域名服务器之间建立直接联系(如转发器)来增强鲁棒性,并提高工作效率。
各个域名服务器都可以设置若干转发器,将自己解析不了的域名转给别的域名服务器。这样一来,一张由众多域名解析服务器组成的网就形成了。
虽然域名的名字空间是一个严格的树状结构,但实现它的物理层却是一个网状的结构。互联网的其他服务大多也是这样的,这正是互联网最科学的核心思想和技术——就近原则,自治原理。
互联网是个全息有机系统
简单地说,互联网根本就断不了,除非掐断物理链路,根服务器肯定断不了互联网。甚至可以说,撤掉现在的根服务器,会长出新的根服务器,如果一定要管它叫根服务器的话。这是因为,缓存策略造就了一个全息系统——局部拥有整体的信息——各级域名服务器过手的解析信息合并起来能够拼出根的信息。
说句良心话,发明互联网的科学家们就是想摆脱中心控制,他们为自由而战,他们不是都心甘情愿地为美国政府服务的。所以,互联网天生就是去中心化的,就是全息的。
当然,美国的根服务器确实是相对重要一些,但不是不可替代。没有了这些根服务器,可能会在一定时期内造成一定的阻塞,但阻塞会逐步消解掉的。
其实,所谓的根服务器也就是一个域名解析热线,它只能在用户问它时提供一个联系人,连直接回答的功能都没有,更谈不上管理谁。所以他不能阻断什么,除了应答啥都干不了。域名是IP地址的别名,是为了用起来方便。原理上来说,不用域名而直接用IP地址是毫无问题的。所以退一万步说,就算是美国的根服务器彻底完蛋,全世界的域名服务器都完蛋,互联网照样可连通。
对了,举个实例:中石油的朋友会马上明白。你看看咱们的内网网页地址,发现没?根本没有·com或.cn之类的东西,我们的根域名是.petrochina。我们的内网那么大,根本与美国没什么关系!再往大了想,到全国?到亚洲呢?到欧洲呢?到全世界呢?都没问题,都可以连起来。就连美国自己想与中国断网他都做不到!
退一步,如果美国的根服务器卡我们,我们也不怕。
我们国家也有根服务器!全球的根服务器!
一般说的13个根DNS服务器,指的是逻辑上有13个,而不是物理上13个服务器。实际上,截至2014年1月25日,物理上有386个根服务器,分布在全球各地,其中中国大陆有5台,香港有6台。现在情况应该更好些。
再退一步,如果美国人能把中国所有的根服务器都摧毁,我们仍然能够重建它,因为互联网是全息的。把我国的ISP分散拥有的域名服务器里的路径信息放到一起,那么涵盖全世界的域名解析数据库就建立起来了。
有人可能会问,防火墙是怎么做到的?
这个,与根服务器问题不搭噶。
防火墙是工作在链路上的,是有管理权的,而根服务器只是个应答器,它可以拒绝回答,但不能实际做什么。
打个比方:墙是某片自来水管网上的开关,而根服务器是自来水公司的热线电话。开关能停水,热线电话不能。
墙等于线路加开关,与根服务器和域名服务器无关。墙工作在IP层,只是拦截指定IP地址的包,与域名无关,IP包里根本就没有域名信息,更谈不上什么根服务器了。
总之,如果再有某个网络专家告诉你美国用根服务器卡住我们的脖子,那你可以认为他是“砖家”了,要想断我们只有一个办法——掐断所有物理链路。
但我们必须明白,互联网安全绝不仅仅是根服务器这点事,这是一场场意义重大、任务繁重的、技术复杂、手段精尖的国际战争。