你知道像 microsoft.com 这样的域名是如何被转换为IP地址的吗?互联网使用了一个叫做域名系统(DNS)的服务。在这篇文章中,你将了解到DNS是什么,它是如何将域名转换成IP地址的,这样浏览器和其他互联网应用和服务就能找到网络服务器。
此外,请查看下方的信息图表,快速了解DNS的工作原理。
DNS是什么?
域名系统是一个将域名转换为IP地址的服务器,以便浏览器可以加载信息。更具体地说,DNS查找一个域名对应的IP地址(IPv6或者IPv4地址),以便网络浏览器能够定位并提供与该域名相关联的信息。
域名(或网站域名)是网站的网址。域名在统一资源定位符(URL)中被使用。例如,你需要在浏览器中输入“www.google.com”访问谷歌的网站。而“www.facebook.com”访问Facebook的网站。
IP地址
IP地址是用于识别互联网资源(如设备或服务器)的唯一地址。 IP地址是一个数字,便于设备在互联网或局域网上相互连接。就像电话号码帮助您拨打特定的人一样。
IP地址有两种类型:IPv4和IPv6。
IPv4地址
IPv4是一个32位地址方案。它使用点十进制表示法。IPv4具有超过42亿个地址的寻址能力。例如,IPv4地址可能看起来像192.0.2.1。
IPv6地址
IPv6是一个128位地址方法。它使用字母数字表示法,而不是IPv4中的点十进制表示法。它还具有容纳大约3.4×1038个唯一IP地址的能力。换句话说,有340万亿亿个IP地址!
IPv6比IPv4更先进和安全。IPv6地址的示例是2001:0db8:85a3:0000:0000:8a2e:0370:7334。
DNS用途是什么?
虽然DNS的主要用途是将域名转换为IP地址,但它还有许多其他用途。DNS服务器确保您快速访问您正在搜索的信息资源,并促进将邮件路由到互联网邮件服务器。DNS也是实现服务器与物联网设备之间通信的关键。
DNS是如何工作的?
要了解DNS的工作原理,重要的是要了解幕后发生的过程。以下是将域名解析为IP地址所涉及的步骤。
DNS如何用于将域名解析为IP地址?
DNS的主要作用是将您在Web浏览器中键入的域名转换为IP地址。将域名转换为IP地址的过程称为DNS查找或DNS解析。DNS使用多种不同的组件,包括:
- 域名服务器
- DNS查询
- DNS记录
- DNS缓存
- DNS传播
- 等等

加载网页的4个域名系统组件
DNS使用四种不同的服务来将域名解析为IP地址。
DNS解析器
A DNS resolver, also known as a DNS recursive resolver, is the primary function of a DNS query. It either directly provides the required information from its stored cache, or it sends requests to other DNS servers including the root nameserver, top-level domain (TLD) nameserver, and authoritative nameserver.
DNS根服务器
根名称服务器,或DNS根服务器,接受来自递归解析器的查询,并指示递归解析器前往顶级域名服务器,在那里递归解析器可以找到匹配的IP地址。
顶级域名服务器
顶级域(TLD)名称服务器负责维护与其顶级域相关的所有信息,例如.com、.net、.org等。例如,.com TLD名称服务器保存所有以.com结尾的域的信息。
有两种类型的TLD服务器组:通用顶级域,例如.com、.edu、.gov等,以及国家代码顶级域,例如.uk、.us、.ru等。
权威名称服务器是解析IP地址的最后阶段。它可以根据其DNS记录为递归解析器提供特定域名的匹配IP地址。
如果一个域名是另一个域名的别名,授权域名服务器使用规范名记录(CNAME)来查找记录中的资源。例如,如果您的DNS查询是’blog.google.com’,’google.com’就是blog.google.com的规范名或别名。
三种DNS查询类型
DNS查询是从DNS客户端发送到DNS服务器以获取特定信息的请求。主要来说,DNS查询是要求与域名相关的IP地址的请求。
以下是前三种DNS查询类型:
递归查询
在这种类型的查询中,DNS服务器会代表您向其他DNS服务器发出请求。DNS服务器可以从DNS记录中为您提供请求的资源,或者在递归解析器找不到相关信息时返回错误消息。
迭代查询
在迭代查询中,如果DNS服务器可以,它会返回您请求的答案。如果递归DNS查询没有为您的请求返回相应的IP地址,它会引用另一个权威DNS服务器或根DNS服务器,这些服务器可以提供您查询的答案。
非递归查询
A non-recursive query occurs when a DNS server answers your query from a record that exists in its cache. An immediate response is available with non-recursive queries as they are stored the necessary information is stored locally.
什么是域名服务器?
域名服务器负责存储和维护域名的所有DNS记录,包括A记录,CNAME记录和MX记录(下面将解释这些是什么)。通常有一个主要的和若干个次要的域名服务器,并且依赖于多个域名服务器。
多个域名服务器的可用性增加了DNS的可靠性,因为如果一个域名服务器不可用,它可以使用其他域名服务器。域名服务器存储并维护所有DNS记录的准确信息。
DNS区域是什么?
A DNS zone is a specific portion of the namespace in DNS. And it’s managed by an administrator or organization. DNS zones provide better control over DNS components such as TLD nameservers, authoritative nameservers, and more.
A DNS zone is implemented in a domain name server and it includes a zone file that contains all DNS records of domains in a zone. Domain name servers can contain multiple DNS zones. And a DNS zone can contain several subdomains.
DNS记录的主要类型是什么?
DNS记录提供了与域名相关的所有细节,这些DNS记录的详细信息可以在DNS区域文件中找到。DNS记录帮助DNS响应查询。
以下是不同类型的DNS记录:
- A record: An A record includes IPv4 addresses for FQDNs (Fully Qualified Domain Name). An FQDN has four parts: hostname (www, ftp, etc.), domain name (Google, Facebook, etc.), Top Level Domain (.com, .org, etc.), and a period (.).
- AAAA记录:与A记录相反,AAAA记录(或四A)将域名映射到IPv6地址。
- MX记录:邮件交换(或MX记录)指向邮件服务器而不是IP地址,以便进行电子邮件路由。
- TXT记录:此记录允许管理员在DNS记录中存储文本。尽管它主要是用友好的语言编写的注释,但您也可以在DNS中输入可读取的机器文字。TXT记录主要用于验证域名所有权以及防止垃圾邮件。
- NS(域名服务器): NS记录 指向域或子域的权威域名服务器。
- CNAME:规范名称(别名)记录是将域名映射到其他域或子域的别名。
DNS缓存是什么?
DNS缓存指的是在临时期间存储DNS记录信息以便在不久的将来重新使用的过程。缓存可以在操作系统或Web浏览器级别启用。因此,DNS服务器无需每次您的设备查询DNS或访问网站时都进行DNS查找。
DNS传播是如何工作的?
DNS传播是指DNS记录在互联网或本地网络上所有DNS服务器上更新所需的时间。传播是当有人向名称服务器添加新的DNS记录时开始的。
传播可能需要长达 72 小时,因为域名服务器为 DNS 记录配置了不同的生存时间(TTL)值。
你可以设置自己的 DNS 服务器吗?
通常,DNS 服务器由互联网服务提供商(ISP)提供。然而,运行自己的 DNS 服务器可能会让你更好地控制系统和网络。你可以通过安装诸如 Windows DNS 服务器、PowerDNS 和 Technitium 等 DNS 服务器软件来设置自己的 DNS 服务器。DNS 服务器软件适用于包括 Windows、Linux、iOS 等不同操作系统。
DNS 与安全
和其他一些互联网协议一样,DNS 设计并未考虑安全性。然而,DNS 安全在保护 DNS 组件免受影响 DNS 服务的稳定性和可用性的各种攻击方面扮演着重要角色。因此,制定有效的安全策略,包括 DNSSEC、DNS 日志记录等,对于保护 DNS 基础设施至关重要。
DNS 存在安全漏洞吗?
DNS 受到各种安全威胁的影响,黑客们找到了针对和攻击 DNS 服务器的先进方法。一些常见的 DNS 攻击包括:
DNS 缓存投毒
DNS缓存投毒或DNS欺骗是一种DNS攻击类型,攻击者通过向DNS缓存中添加虚假信息来重定向网络流量到恶意网页。
DNS隧道
DNS隧道利用DNS协议在DNS查询或响应数据包中传输敏感数据。
幻域攻击
A type of Denial of Service (DoS) attack in which attackers create a bunch of phantom domains that restrict servers from responding to DNS queries.
随机子域攻击
A random subdomain attack is a type of Distributed Denial of Service (DDoS) attack in which many queries are sent to a targeted domain. Due to the high volume of traffic from multiple sources, requested information or services become unavailable to users.
DNSSEC是什么?
DNS安全扩展(DNSSEC)是一项安全措施,旨在通过实施数字签名过程保护DNS组件免受攻击。在这个过程中,签名在DNS查找过程的每个阶段都会发生,以确保DNS记录的有效性,并保护查找过程。
DNS的未来
DNS的未来发展高度集中在安全性上,部分原因是DNS在其原始形式上基本上是不安全的。虽然加密查询可以在一定程度上保护安全的DNS,但由于DNS服务器在公共互联网上广泛可访问,保密问题仍然存在。
DNS查询的初始步骤是未加密的,对所有人可见。因此,加密DNS记录将提高安全性并有效防止域名攻击。
无解析器DNS的引入可能会提供更好的性能和隐私保护。它将缩短执行DNS查找所需的时间,并且可以传递准确且经过验证的DNS记录。
Source:
https://petri.com/what-is-dns/