DNS是什麼?

你知道像microsoft.com这样的域名是如何被转换成 IP 地址的吗?互联网使用一个称为域名系统(DNS)的服务。在本文中,您将了解 DNS 是什么,它是如何将域名转换为IP 地址的,以便浏览器和其他连接到互联网的应用程序和服务可以找到 Web 服务器。

此外,请查看下面的有用信息图,快速了解 DNS 的工作原理。

广告

DNS 是什么?

域名系统是一个服务器,用于将域名转换为 IP 地址,以便浏览器可以加载信息。更具体地说,DNS 找到一个域名对应的 IP 地址(IPv6 或 IPv4 地址),以便 Web 浏览器可以定位并提供与该域名相关的信息。

域名(或网站域名)是 Web 地址。域名在网站的统一资源定位符(URL)中使用。例如,您需要在 Web 浏览器中输入“www.google.com”访问 Google 的网站。以及“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 也是實現伺服器與物聯網(IoT)設備之間通訊的基礎。

廣告

DNS 如何工作?

要了解 DNS 的工作原理,重要的是要了解幕後發生的過程。以下是解析域名到 IP 地址所涉及的步驟。

DNS 如何用於將域名解析為 IP 地址?

DNS 的主要作用是將您在網頁瀏覽器中輸入的域名轉換為 IP 地址。將域名轉換為 IP 地址的過程稱為 DNS 查找或 DNS 解析。 DNS 使用多個不同組件,包括:

  • 域名伺服器
  • DNS 查詢
  • DNS 記錄
  • DNS 快取
  • DNS 傳播
  • 等等
How DNS queries work infographic

加載網頁的 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 的规范名称或别名。

3种类型的 DNS 查询

DNS 查询是从 DNS 客户端发送到 DNS 服务器以获取特定信息的请求。主要来说,DNS 查询是请求与域名相关的 IP 地址。

以下是前三种类型的 DNS 查询:

递归查询

在这种类型的查询中,DNS 服务器会代表您向其他 DNS 服务器发出查询。DNS 服务器可以从 DNS 记录中为您提供请求的资源,或者如果递归解析器找不到与查询相关的信息,则提供错误消息。

迭代查询

在迭代查询中,DNS 服务器会返回您的查询答案(如果可以)。如果递归 DNS 查询未为您的请求返回相应的 IP 地址,它将引用另一个权威 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伺服器可能使您對系統和網絡擁有更好的控制。您可以通過安裝DNS伺服器軟件,如Windows DNS伺服器,PowerDNSTechnitium來設置自己的DNS伺服器。可用於不同操作系統(包括Windows,Linux,iOS等)的DNS伺服器軟件。

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/