域名系统
域名系统(DNS)是一种将域名解析成互联网上的IP地址的分布式数据库系统,使用户能够通过域名访问互联网上的各种资源。域名系统的命名方式采用树状分层命名机制,由多个域名服务器组成,每个服务器存储域名和对应的IP地址。当用户输入域名时,域名系统依次向下查询,直到找到对应的IP地址。
域名系统是在ARPANET的基础上诞生的,旨在解决使用统一主机表系统带来的问题。Paul Mockapetris承担了设计域名系统结构的任务。1984年,来自加州大学伯克利分校的四名学生提出了第一个Unix名称服务器实现,称为BIND。同年,Paul Mockapetris设计了域名系统的结构,并发布了RFC 882和RFC 883来定义域名系统。1996年,Martin Dürst提出了国家域名(IDN)的概念。
域名系统提供将用户连接到远程主机所需的信息。它是网页浏览和大多数其他互联网活动的依赖,广泛应用于商业和企业,以及政府,大学和其他组织。DNS技术和产品形态的不断丰富,对其安全性提出了挑战。在这方面,研究人员提出了许多改进方案,如引入AnyCast技术进行负载均衡,使用区块链技术提高安全性,推出DNS安全扩展DNSSEC等。
基本概念
DNS(域名系统(DNS)是互联网名称注册和解析的标准,用于将域名定位到主机IP地址。DNS实际上是一个分布式数据库。所有的主机名、域名和对应的IP地址都分布在一个叫做“名称服务器”的服务器上,这个服务器允许客户调用一个叫做解析器的库来访问它。DNS分布式数据库中的每一个数据单元都是按名称索引的,这些名称一起形成一棵反向生长的“树”,称为域名空间。树的顶端有一个唯一的根,称为“根域”或“根”。根的名称由空字符串和“.”表示在正文中。树的每个节点代表域名系统的一个域。每个域可以进一步划分为子域,每个节点用“.”分隔完整的域名是从节点到根的路径上所有节点名称的组合。
发展历史
起源
互联网的前身是ARPAnet,是由数百台主机组成的小规模团体。主持人。TXT文件包含所有这些主机的信息,由SRI网络信息中心(NIC)维护,由SRI-NIC分发。ARPAnet的管理人员经常通过电子邮件将他们的更改发送给NIC,并定期获得最新的主机。来自SRI-NIC的短信。随着阿帕网的发展,主机的规模。TXT文件也增加,这使得这项工作难以继续。ARPAnet采用TCP/IP协议后,网络规模爆炸式增长,HOSTS.TXT出现了一系列问题,ARPAnet管理团队改进Hosts.txt的目标是创建一个系统,可以解决使用统一主机表系统带来的问题。新系统应允许本地数据管理员在全球范围内访问其数据,分散管理可以消除单个主机造成的瓶颈并减少通信拥塞,本地管理员可以更容易地承担保持数据最新的任务。南加州大学信息科学研究所的Paul Mockapetris承担了设计新系统结构的任务。1983年,互联网开始采用层次树结构的命名方式,并使用分布式域名系统DNS。
1984年,加州大学伯克利分校的四名学生道格拉斯·特里、马克·佩因特、大卫·里格尔和周松·年为伯克利互联网域名编写了第一个Unix名称服务器,名为BIND。同年,Paul Mokapteris发布了定义域名系统的RFC 882和RFC 883,后被RFC 1034和RFC 1035取代,形成了域名系统标准。1985年,DEC的Kevin Dunlap对DNS的实现进行了大幅修改。此后,迈克卡雷尔,菲尔阿尔姆奎斯特和保罗维谢一直保持绑定。90年代初,BIND被移植到Windows NT平台。它分布广泛,尤其是在Unix系统上,并且仍然是互联网上使用最广泛的DNS软件。因为互联网的命名系统中使用了很多“域”,所以出现了“域名”这个术语,“域名系统”明确表示这个系统在互联网中。
发展
研究机构预测,由于网络主机和应用数量的急剧膨胀,TCP/IP使用的IPv4协议将面临地址资源不足、路由表增加等一系列问题。研究机构预测了IPv4地址用完的时间,认为IPv4地址会在2011年左右用完。1995年,IETF(互联网工程任务组)开始研究和开发IPv6协议。与IPv4的三种地址分类:单播地址、广播地址和组播地址相比,IPv6地址分为单播地址、任播地址和组播地址。IPv6和IPv4之间的一个显著变化是使用128位地址,而不是32位长的IPv4地址。它们的DNS在架构上是一致的,都采用了树形结构的域名空间,域名可以同时对应多个IPv4和IPv6地址。
1996年,Martin Dürst提出了国家域名(IDN)的概念,并于1998年付诸实践,最终“应用国际化域名”(IDNA)被采纳为正式标准。同年,中国互联网络信息中心(CNNIC)启动了中文域名的研发工作。
1999年,CDN服务提供商Akamai列出了一种数学算法,可以在大型分布式服务器网络上智能传输和复制内容。CDN技术的工作原理是通过在网络各处放置节点服务器,更快地传输信息,更方便网民访问。
2005年,为了让DNS更加安全,互联网工程任务组提出了加强DNS的方法,并正式推出了域名系统安全扩展,即DNSSEC(Domain Name System Security Extensions)。DNSSEC采用基于公钥加密的数字签名,增强了DNS验证的强度。DNSSEC不对DNS查询和响应本身进行加密和签名,而是由数据所有者对DNS数据本身进行签名。
2008年,DNSSEC开始在根域名服务器上实施,这是一个重要的里程碑,为全球范围内的DNS安全提供了基础。
2011年,ICANN(互联网名称与数字地址分配机构)逐步放宽了对域名后缀的限制,允许注册更多的顶级域名后缀,如新国家代码顶级域名(ccTLDs)和通用顶级域名(gTLDs),如“.app“和”。xyz”,为互联网用户提供了更多的域名选择。2014年12月1日,唯一的中文通用顶级域名(gTLD)为”。由互联网名称与数字地址分配机构(ICANN)正式授权的手机”正式推出。
2018年,互联网工程任务组(IETF)正式采用HTTPS上的DNS查询(DOH)。DoH为客户端和解析服务器之间的域名解析流量提供了一种安全和隐私机制。DoH使用HTTPS对DNS请求和响应包进行加密,防止第三方窃听和篡改明文DNS包,该技术已在全球范围内部署和应用。
截至2022年底,全球域名注册市场规模已达3.63亿,互联网规模呈爆炸式增长,域名系统的性能和可扩展性亟待提升。因此,一些优化措施被提出并广泛应用,如使用选播技术和域名缓存的优化。
系统组成
资源记录
域名空间设计为树形层次结构,DNS树形结构中的唯一根位于最顶端,根的下一级称为顶级域(TLD),也称为一级域,分为一般顶级域、国家顶级域和基础设施域名三类。在国家和地区代码的顶级域名下是二级域名,也称为国家顶级域名。例如,中国的国家顶级域名预设为“类别域”和“行政区域”。二级域的下一级是三级域,依此类推。分层树结构中的每个域都是一个子域。比如“cncac.cn”既是“. ac.cn”的子域,也是“. ac.cn”的子域。cn”。
资源记录是与域名相关联的数据,域名空间中的每个节点都包含一系列资源信息。查询操作是提取关于节点的特定类型的信息。资源记录作为记录项存在于运行域名服务的主机的主文件中。资源记录在RFC1035中有详细描述,其格式为:域名生存时间类型类值。
域名服务器
域名服务器是用于提供域名空间的结构和信息的服务器结构,可以缓存域名空间任意部分的结构和信息,但通常一个特定的域名服务器包含域名空间子集的完整信息和一个指向名称服务器的指针,可以用来获取域名空间任意其他部分的信息。域名服务器分为几种:主服务器,存储被管理域的主文件数据;备份域名服务器(副服务器),提供主域名服务器的备份,定期从主域名服务器读取主文件数据,刷新本地数据;只缓存服务器,缓存从其他服务器获得的信息,加快查询操作。几种服务类型的服务器可以共存于一台主机中,每台域名服务主机都包含一台缓存服务器。
句法分析程序
为了将域名映射到地址,应用程序调用一个名为parser的库过程,参数是域名。解析器将数据包发送到本地服务器,本地服务器查找域名并将地址返回给解析器,解析器将地址返回给应用程序。域名解析分为正向域名解析和反向域名解析。正向域名解析是从域名到IP地址的转换。域名解析采用自上而下的算法,从根服务器开始到叶服务器,在中间的一个节点上寻找所需的名称-地址映射。反向域名解析就是根据IP地址解析对应的域名。
工作原理
客户端向本地DNS服务器发送域名查询请求,DNS服务器在本地数据库中查找客户端所需的映射。如果本地DNS服务器在本地找不到客户端查询的信息,则向根域名DNS服务器发送客户端请求,根域名DNS服务器使用根域名服务器解析的地址访问下一级DNS服务器,获取下一级域名的DNS服务器地址。
按照上面的递归方法,一步步逼近目标,最后在维护目标域名的DNS服务器上找到对应的IP地址信息。客户端本地DNS服务器的递归查询结果返回给客户端,客户端使用本地DNS服务器查询得到的IP地址访问目标主机。
系统部署
传统DNS物理部署结构:传统的域名解析服务器一般部署在单台机器上。为了进一步提高安全性和解析性能,将采用安全设备和负载平衡器。DNS服务器用于处理用户的DNS请求,而负载均衡器是为了解决单个服务器性能不足而引入的DNS集群设备,安全设备是为了解决系统安全而引入的。然而,传统的DNS结构应对DDoS攻击的能力往往不足,DNS系统的可靠性和性能也存在一些问题。其系统性能、分析服务能力和安全防护都无法满足DNS服务100%可用的需求。为了解决这一问题,域名注册机构和网络运营商大多采用AnyCaLst技术部署DNS域名解析服务系统,以实现服务器负载均衡,增强服务可靠性,提高对分布式拒绝服务攻击的响应时间,进一步提高解析服务性能。
基于任播的DNS部署结构:任播DNS是一种应用任播路由和交换技术构建负载均衡域名系统的网络技术。通过将所有域名服务器的DNS地址以路由公告的形式广播到其直连的三层交换机或路由器,并通过动态三层路由引导访问任播DNS IP地址,实现DNS查询的负载均衡。任播DNS具有更高的可靠性和性能、负载平衡、增强的安全性以及攻击效果的本地化等优点。几个自治系统(AS)组成了全球互联网。任播节点首先通过IGP协议声明自治系统内相同的共享单播IP地址,或者通过BGP协议声明不同自治系统间的共享单播IP地址,从而实现多个物理服务器共享同一个端口地址,而客户端根据路由信息就近访问服务。
系统安全
由于DNS系统设计为开放系统,存在未经授权的信息泄露、网络攻击等安全问题,使得其保密性无法得到保证,缺乏有效的访问控制。针对这个安全漏洞,网络黑客攻击DNS,从而造成整个或部分网络的瘫痪。新模式下的DNS涉及公共通信、信息服务、金融、电子政务、国防科技等重要领域。如果遭到攻击,将失去服务功能或泄露重要数据,严重损害公共利益,甚至危及国民经济发展。
常见的DNS攻击
DNS欺骗:DNS欺骗又称域名欺骗,可以将用户合法请求对应的IP地址替换为虚假的恶意IP地址,从而将用户定向到钓鱼网站窃取隐私信息。主要由两种方式组成:DNS缓存中毒和DNS信息劫持。
DNS隐蔽通道:隐蔽通道违反互联网通信协议的规则,利用网络信息载体(网络协议和协议数据)秘密传输信息。由于传统的入侵检测系统和网络防火墙对这些载体的检测能力较弱,很难发现通过隐蔽通道传输的数据,因此隐蔽通道也是信息隐藏技术的一个分支。DNS隐通道是一种消息封装技术,使用DNS包封装信息。由于DNS最初并不是用于数据传输,所以人们总是忽略了它也是恶意通信或数据泄露的潜在威胁。
DDoS攻击:拒绝服务(DoS)耗尽了网络服务的资源和带宽,使服务器没有多余的能力处理外部请求,从而使网络服务崩溃和瘫痪。DNS反射放大攻击本质上也是一种DDoS攻击,利用DNS响应包大于请求包的特性,耗尽目标的网络资源。
策略分析
采用DNSSEC技术:IETF提出了DNSSEC框架(DNS安全扩展),它使用公钥加密来提供数据完整性和数据源认证。DNSSEC技术是指使用数字签名和公钥来实现DNS数据的完整性和可靠性。采用DNSSEC技术,通过权威名称服务器用自己的私钥对资源记录进行签名,然后解析服务器用权威公钥对来自权威名称服务器的数据进行认证,有效提高了连接的安全性。如果身份密钥的身份验证失败,DNS可以拒绝访问。
部署任播:任播可以实现DNS负载均衡。通过部署Anycast,在DNS中提供相同服务的服务器组可以共享一个统一的IP,可以有效防止DDoS攻击。网络攻击者利用僵尸网络攻击DNS时,会产生大量的信息,这些信息会通过任播分发到不同的DNS服务器上,从而缓解单个服务器的运行压力。使用大量分布式服务器可以在一定程度上降低DDos攻击对DNS的破坏性。
行业应用
区块链技术:随着区块链技术的快速发展,相关机构利用区块链分散的特点,推动了区块链技术与DNS系统的融合。基于集中式区块链技术的网络安全比传统的集中式域名服务器更安全,可以支持域名管理,防止域名服务器缓存和中毒。区块链通过其网络节点构建DNS信息,可以有效提高DNS的安全性能。
系统的应用:域名系统提供将用户连接到远程主机所需的信息。它是网页浏览和大多数其他互联网活动的依赖,广泛应用于商业和企业,以及政府,大学和其他组织。
DNS在金融行业中的应用:互联网时代,DNS域名系统是任何企业在生产活动中的基本核心要素。对于银行业来说,随着移动互联网时代的到来,IT网络和业务的规模不断发展融合,对IT系统的敏捷性、容灾性和服务质量保证(SLA)提出了很高的要求。作为金融客户,在技术发展和内在需求的驱动下,IT系统的建设正逐渐从传统的IP接入模式向域名接入模式转变。随着金融机构IT系统和业务系统的不断扩大和快速发展,使用IP地址访问业务系统的弊端逐渐暴露出来。使用IP接入业务系统给IP变更带来困难,不能满足两地三中心之间业务切换的要求,满足相应的RPO和RTO要求。因此,银行需要引入域名系统(DNS)。
DNS在数字政府中的应用:在数字政府政策的指引下,政府服务以“数字化、集约化、平台化”为导向。DNS作为网络交互的核心枢纽和链路中心,在政府信息系统集约化建设的复杂场景下,确保政府服务内外的高效链接和体验优化,是政府连续性保障——多中心冗余建设的重要组成部分,是政府信息安全防护体系的重要环节。
DNS在高校网络中的应用:在建设智慧校园的过程中,网络的高可用性非常重要。DNS作为互联网的关键基础资源,在网络安全中起着基础性的支撑作用。DNS在校园网中主要提供三种服务:一是内网用户在访问互联网时需要DNS切换外部域名;第二,互联网用户访问校园网需要DNS提供内部名称服务,返回合法的IP地址。第三,内网用户之间的访问需要DNS确定主机,并将私网IP地址返回给请求者。
DDNS在铁路GPRS网络中的应用:DDNS(动态域名系统)解决了GPRS终端域名与动态IP地址的绑定问题。当GPRS终端以不同的IP登录时,DDNS将GPRS终端用户IP地址的变化动态映射到相应的DDNS服务器上,并及时更新,从而保证GPRS可以正确寻址。GPRS终端用户可以根据自身需求选择合适的铁路业务系统平台、数据库平台和随站随用的运营模式,从而获得最大限度的IP地址使用自主权。