
因特网断网停服的技术分析及新型DNS体系研究.docx
17页因特网“断网停服”的技术分析及新型DNS体系研究 章峰 蒋文保 费禹摘 要:美国废除了网络中立原则,由此引发了很多人对于Internet的担忧现在的DNS架构体系,导致ICANN组织成为DNS体系的中心,担任着DNS管理者的角色因此,一些媒体以及大众开始担忧,美国对敌对国家可能进行断网攻击,攻击其他国家的网络服务论文将针对该问题,从技术的角度进行分析,说明断网可能产生的危害,以及提出一套自主可控、去中心化、实现网络主权平等的新型DNS架构体系关键词:DNS;去中心化;网络主权;断网;停服:TP393 :AAbstract: The United States abolished the principle of network neutrality, which has caused many people to worry about the Internet. The current DNS architecture system has led the ICANN to become the center of the DNS system and to act as the administrator of the DNS. Therefore, some media and the public are beginning to worry that the United States may attack the hostile countries with making their network broken and attack the network services of other countries. This paper will analyze the problem from the technical point of view, explain the possible harm caused by network disconnection, and propose a new DNS architecture system that can self-control, decentralize and achieve network sovereign equality.Key words: DNS; decentration; network sovereignty; interent disconnection; DoS1 引言网上流传一种说法,“因为美国废除了网络中立原则,因此可以在需要的时机使用网络武器对特定目标进行网络攻击,甚至令中国断网”。
网络中立”这一原则于2015年6月12日(美国时间)正式实施,却在2017年12月被FCC投票废止,并于2018年6月11日(美国时间)正式停止执行,这一举措将可能导致断网停服计划的产生在2015年12月18日,美国国会通过了“2015年赛博安全信息共享法案”这一法案在国内被译为“2015美国网络安全法”,为网络的断网停服提供了法律依据许多媒体在担忧,美国对中国的网络实施断网停服,从而达到瘫痪中国网络的目的如果一旦发生了断网事件,那中国又该如何应对本文将从技术的角度来给予一定的解释与建议本文先阐述一下,现有的DNS服务器分配情况根域名服务器分布在世界各地,使世界上大部分DNS(Domain Name System)域名服务器都能就近找到一个编号为A~M的13台根域名服务器根域名服务器定期从主根域名服务器同步根区文件其中,9台根域名服务器在美国,1台在英国,1台在瑞典,一台在日本主根服务器在美国,基本上这种管理方式就代表着美国就是整个Internet的管理者而我国只引入了F、I、L、J四个根的镜像节点此处所指的13台根服务器是指13个IP地址用于查询的根服务器网络一个常见的误解是世界上只有13台根服务器。
实际上还有更多,但仍然只有13个IP地址用于查询不同的根服务器网络DNS原始体系结构的限制要求根区域中最多有13台服务器地址今天,13个IP地址中的每一个都有几台服务器,它们使用Anycast路由来根据负载和接近度分配请求现在,有超过600种不同的DNS根服务器分布在地球上每个人口稠密的大陆上那么,谁拥有DNS根服务器的权限呢?根区域的最终权限属于美国国家电信和信息管理局(NTIA),后者是美国商务部的一部分NTIA将根區域的管理委托给互联网域名与数字地址分配机构(ICANN)ICANN为根区域中的13个IP地址之一运行服务器,并将其他12个IP地址的操作委托给各种组织,包括NASA、马里兰大学和Verisign,后者是唯一一个运营两个根IP地址的组织域名系统(DNS)是因特网的簿人类通过域名访问信息,如或Web浏览器通过Internet Protocol(IP)地址进行交互DNS将域名转换为IP地址,以便浏览器可以加载Internet资源连接到Internet的每个设备都有一个唯一的IP地址,其他计算机可以使用该IP地址来查找设备DNS服务器无需人类记忆IP地址,如192.168.1.1(IPv4),或更复杂的新字母数字IP地址,如2400:cb00:2048:1::c629:d7a2(IPv6)。
根域名服务器一旦断网停服、发布虚假信息或者篡改消息实现访问的重定向,大量Internet用户将无法正常访问域名所以,集中式的管理无法摆脱美国的控制正因如此,我国需要积极做好相对的应对措施,才能更好地保护我国的国家以及集体利益2 DNS解析流程2.1 DNS相关概念域名服务系统(Domain Name System,DNS)是互联网的一项服务它是一个将域名和IP地址相互映射的一个分布式数据库,使人们可以更加方便的访问InternetDNS是基于现有的TCP/IP协议,这就意味着IP地址就是Internet中的地址DNS使用UDP的53端口目前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符DNS系统中,常见的共有五种记录类型:(1)主机(A)记录;(2)别名(CNAME)记录;(3)邮件路由(MX)记录;(4)IPv6(AAAA)记录;(5)服务器资源(SRV)记录DNS服务器共有四种类型:递归解析器、根域名服务器、顶级域名服务器、权限域名服务器1)递归解析器(DNS Recursor)充当客户端和DNS服务器之间的中间人角色,收到Web端的DNS查询后,先进行递归查询,或者向其他域名服务器进行迭代查询。
2)根域名服务器根域名服务器接受包含域名的递归解析器查询,并且根域名服务器通过将递归解析器指向TLD域名服务器进行响应3)TLD域名服务器,也是顶级域名服务器其维护共享公共扩展名的所有域名的信息TLD服务器分为两大类:通用顶级域:这些域不是特定于国家/地区的,一些比较出名的通用顶级域名包括.com、.org、.net、.edu等;国家/地区代码顶级域:这些域包括特定于国家/地区或州的所有域,示例包括.cn、.us、.ru等4)权限域名服务器当递归解析器收到来自TLD服务器的响应时,该响应会将解析程序指向权限域名服务器权限域名服务器通常是递归解析器在IP地址旅程中的最后一步权限域名服务器包含特定于它所服务的域名的信息(例如),它可以提供递归解析器,其中包含DNS A记录中找到的该服务器的IP地址,或者域名是否具有CNAME记录(别名)它将为递归解析器提供别名域,此时递归解析器必须执行新的DNS查找以从权限域名服务器(通常是包含IP地址的A记录)获取记录2.2 DNS区域(DNS Zone)DNS被分解为许多不同的区域,不同的区域区分DNS命名空间中明确的管理区域,由特定组织或管理员进行管理。
域名空间是分层树的结构如图1所示,DNS根域位于顶部,DNS区域从树中开始划分,也可以向下扩展到子域,方便一个实体管理多个子域DNS服务器中存储着区域文件,区域文件中包含区域的实际表示形式,并包含区域中每个域的所有记录区域文件必须始终以授权开始(SOA)记录开头该记录包含重要信息,包括区域管理员的联系信息2.3 动态DNS动态DNS(Dynamic DNS),许多Web资源(如API或网站)在Internet连接上运行,其IP地址经常更改;如果这些属性的操作者想要为托管资源提供特定域名,则必须在域名系统(DNS)记录中存储IP地址动态DNS(DDNS)是一种服务,可以使用Web属性的正确IP地址更新DNS,即使该IP地址不断更新也是如此在互联网发展初期,IP地址很少发生变化,这使得域名管理变得更加简单但是,具有互联网接入的网络和家用计算机的快速增长造成了可用IP地址的短缺这导致了动态主机配置协议(DHCP),它允许ISP动态地为其用户分配IPISP通常会维护一个共享的IP地址池,并在连接期间或直到达到最大时间后,根据需要将这些IP地址分配或“租赁”给用户这就导致了,较小的服务往往会频繁地看到其IP地址被其ISP更改,因此它们需要动态DNS解决方案来保持其DNS记录的最新状态。
这些较小的服务包括小型企业网站、个人网站、DVR和安全摄像头等2.4 DNS解析具体流程DNS解析流程中,本机会先查询浏览器缓存,若不存在则查看本地Hosts文件,若不存在则查询本地DNS缓存,若不存在才会向本地DNS解析器发起查询请求,即向递归解析器发起解析请求,此时递归解析器也会首先查看自身缓存是否存在记录,才会决定是否向根域名服务器发起查询请求其中设计一个问题就是缓存存在的时间1)本机浏览器的缓存时间和TTL(Time To Live)无关,如Chrome中过期时间为1分钟,在这个期间内不会重新请求DNS解析2)本機DNS缓存会参考DNS服务器响应的TTL值,但不完全等于TTL值Windows DNS默认值是MaxCacheTTL,为86400s,即一天3)如果服务器只有一台,可以设置TTL长一些,一般为3600即可4)如果有备份或者多台服务器,由于可能发生宕机需要及时切换,TTL值越短切换越及时,但是也会导致DNS运营商缓存时间短,一般来说,设置TTL 600即可,如果要求严格,可设置120百度的TTL值为555)ISPDNS的缓存时间,则是不同的运营商设置的值都不同,有些缓存服务器会忽略网站DNS提供的TTL,自己设置一个较长的TTL。
这就会导致不能及时拿到新的IP地址,但是会提高解析速度相对而言,如果设置了较短的TTL,则会影响到解析速度DNS的解析流程如图2所示如图2所示,举例说明1)当我向访问域名时,首先PC会查看本机缓存有无该缓存,若没有,查看Hosts文件有无记录若都没有记录,则向本地DNS服务器发起请求2)本地DNS服务器收到请求后,查看是否有该域名的记录,如果有,则返回解析记录,如果没有,则向根域名服务器,发起请求3)根域名服务器收到请求后,返回该域名中顶级域名(.com)的域名服务器地址4)本地域名服务器再向顶级域名服务器发起请求5)顶级域名服务器收到请求后,返回该域名中二级域名()的域名服务器地址6)本地域名服务器会向该权限域名服务器发起请求7)权限域名服务器收到请求后,就会查看存在的记录,并将其结果返回给本地域名服务器8)本地域名服务器接收到回应后,会将记录存入缓存,将解析结果返回给PC,至此,可以打开百度页面9)PC收到解析后的IP地址,就会访问该IP地址。
