跳轉到內容

通訊網路/DNS

來自華夏公益教科書

域名系統 (DNS)

[編輯 | 編輯原始碼]

域名標識了網際網路資源所在的區域或域名。

應用層包含各種應用程式。其中之一是 DNS,代表域名系統。第一個問題出現:’為什麼需要這個應用程式?’ 首先讓我們從一個現實世界的例子開始。世界上有許多標識可以用來識別一個獨特的個人,例如社會安全號碼、姓名和護照號碼以及簽發護照的國家/地區等。類似地,世界上每臺計算機或主機和路由器都有一個唯一的 32 位 ‘IP’ 地址。假設我們需要世界其他地方的一些資訊。我們需要知道該機器的 IP 地址。記住 IP 地址很困難,因為它包含所有數字。記住多個主機的 IP 地址會變得很麻煩。因此,幾乎每個 IP 地址都被分配了一個名稱,這使得人類更容易記憶。DNS 提供 IP 地址和域名的對映。(IP 地址的更多詳細資訊將在後面的部分中介紹。)

這種對映的頻率如何?

答案:每次主機需要將域名轉換為 IP 地址時,都會發出 DNS 查詢。

DNS 服務

[編輯 | 編輯原始碼]

1. 主機名到 IP 地址的轉換

DNS 的主要目的是提供主機名到 IP 地址的轉換,反之亦然。反向功能(將 IP 地址轉換為域名)稱為反向 DNS。


2. 主機別名

主機別名是指網路上同一臺機器的另一個名稱。它的使用是因為主機名可能有一個複雜的名稱,而一個簡單的術語可能會被使用。例如,relay.eastcost.rediff.com 可能有一個別名 rediff.com


3. 郵件伺服器別名

電子郵件地址包含簡單的字母或易於記憶的內容非常可取。例如,richard@gmail.com 很容易記住,但如果使用原始郵件伺服器地址,比如 la4.mail1.google.com,則很難記住


4. 負載分配

一組 IP 地址被提供給一個規範名稱,以防止負載僅出現在一臺伺服器上。“當請求到達 DNS 伺服器以解析域名時,它以迴圈順序提供多個規範名稱中的一個。這將請求重定向到伺服器組中的多個伺服器之一。一旦 DNS 的 BIND 功能將域名解析為伺服器之一,來自同一客戶端的後續請求將被髮送到同一伺服器。”[1]

為什麼不集中 DNS?

[編輯 | 編輯原始碼]

當我們嘗試集中 DNS 時會出現的問題。

  1. 單點故障
  2. 流量增加
  3. 遠端集中式資料庫
  4. 維護


由於上述原因,集中式 DNS 無法擴充套件,因此需要以分散式方式實現 DNS。DNS 是一個分散式系統,在許多命名伺服器的層次結構中實現。透過委派實現去中心化管理。

DNS 結構

[編輯 | 編輯原始碼]

                               Fig. Structure of Domain Name System (DNS)


DNS 的結構類似於 Unix 檔案系統的結構。它是一個樹狀結構,其中根被稱為根 DNS 伺服器。樹中的每個節點都與一個資源記錄相關聯,該資源記錄包含與其相關聯的資訊,並且可以有任意數量的分支。樹中最多可以有 127 個級別;但是,你永遠不會找到這麼長的域名。樹中的每個節點都代表域名的一部分,該部分最多可以包含 63 個字元。

樹中任何節點的完整域名是從該節點到根的路徑中每個節點的序列。域名從節點到根讀取,路徑中的名稱之間用點隔開。當且僅當兩個節點具有相同的父節點時,它們才不能具有相同的名稱。這保證了 DNS 樹中的每個域名都對應於整個 DNS 結構中的唯一域名。例如,你不能在一個目錄中擁有多個名為“Program Files”的目錄,但如果你願意,可以在 C 盤的根目錄和“C:\Windows”目錄(或任何數量的獨立目錄位置)中擁有名為“Program Files”的目錄。

“域名只是域名空間的子樹。域名的域名與該域名最頂端節點的域名相同。”[2] 考慮下圖


                                      Fig. sjsu.edu domain


如上圖所示,“sjsu”域名是 edu 域名的一部分。類似地,“sjsu”域名中可以有許多域名。“子樹中的任何域名都被認為是該域名的一部分。因為域名可以位於多個子樹中,所以它可以位於多個域名中。”

                                   Fig. Subdomain (domain under domain)


在瞭解了所有這些細節之後,第一個問題就出現了:如果域名內部還有域名,那麼所有主機都在哪裡?如果你還記得我們之前討論過域名被索引到 DNS 中。一個域名可以擁有單個主機或一組主機。主機在邏輯上連線,並且可能分散到地理位置。你可能擁有 100 臺連線到同一域名的主機,這些主機位於不同的國家/地區,或者所有這些主機也可能位於不同的網路中。通常,樹中的葉子代表主機,並且可能指向單個網路地址、硬體資訊和郵件路由資訊。樹的內部節點表示域名也可以用來表示網路上的主機。例如,在上圖中,sjsu.edu 可以既是“聖何塞州立大學域名”,也是執行該域名的主機(更具體地說,是 Web 伺服器)的名稱。

一個域名可以在它內部包含許多子域名。要確定域名是否是另一個域名的子域名,你需要將域名與它的父域名進行比較。例如,se.sjsu.edu 是 sjsu.edu 域名的子域名。確定子域名的另一種方法是檢視樹的級別。

客戶端想要 sjsu.edu 的 IP

[編輯 | 編輯原始碼]

1. 首先,客戶端查詢根伺服器以查詢 edu(TLD - 頂級域名)DNS 伺服器的 IP 地址。然後,

2. 客戶端查詢 edu(TLD)DNS 伺服器以獲取 sjsu.edu(權威伺服器)DNS 伺服器。然後,

3. 客戶端查詢 sjsu.edu DNS 伺服器以獲取 www.sjsu.edu(主機名)的 IP 地址。

根 DNS 伺服器

[編輯 | 編輯原始碼]

根 DNS 伺服器(根命名伺服器)跟蹤每個頂級域名 (TLD) 命名伺服器的所有權威命名伺服器。客戶端查詢根命名伺服器以解析對給定域名的請求。作為響應,根命名伺服器提供給定查詢的 TLD 命名伺服器的地址,該域名以該地址結尾。例如,如果客戶端請求 google.com,根命名伺服器將向客戶端提供 com DNS 伺服器的地址,以便解決其查詢。頂級命名伺服器儲存其各自域名中權威命名伺服器的列表。例如,com 域名包含 yahoo.com、google.com 等的地址。然後,查詢器(由於存在兩種解析請求的方法,迭代方法和遞迴方法,因此使用查詢器一詞)查詢頂級命名伺服器以解決返回權威命名伺服器地址的查詢。每個命名伺服器查詢都會向查詢器提供所需的資訊,或者使其朝著目的地邁出一步。

根命名伺服器在解決任何 DNS 查詢中發揮著關鍵作用。通常,DNS 提供快取,這減少了根命名伺服器上的負載。如果本地命名伺服器無法在其快取中找到給定的域名,則查詢將到達根命名伺服器。

                            


                                               Fig. 13 root name servers worldwide

全世界有 13 個根命名伺服器。如果出現所有 13 個根命名伺服器都無法訪問的情況,網際網路將無法正常執行。通常,主機向其最近的根命名伺服器傳送查詢。如果這些伺服器中的任何一個出現故障,請求將被轉移到另一個最近的伺服器。例如,如果你在印度,最近的根命名伺服器在東京。如果東京的根命名伺服器出現故障,所有 DNS 查詢或流量將被轉移到歐洲的伺服器,這是印度的下一個最近的伺服器。

頂級域名 (TLD)

[編輯 | 編輯原始碼]

正如之前討論的那樣,每個域名由一系列用點分隔的字元字串(稱為“標籤”)組成。域名中最右邊的標籤被稱為“頂級域名”(TLD)。每個 TLD 包含許多二級域名,例如 sjsu.edu。每個二級 TLD 可能包含許多三級域名,例如 se.sjsu.edu。這個過程可以繼續下去。

請參考域名結構圖,瞭解 TLD 在 DNS 層次結構中的確切位置。TLD 將網際網路域名空間劃分為多個域。最常用的域名是

1. com – 通常由商業機構使用。例如 Yahoo (yahoo.com)

2. edu – 通常由教育機構使用。例如 聖何塞州立大學 (sjsu.edu)

3. org – 由非營利組織使用。例如 IEEE (ieee.org)

4. mil – 由軍事組織使用。例如 美國陸軍 (army.mil)

5. net – 早些時候它被用來代表網路基礎設施。如今它對任何商業機構開放。

6. gov – 用於代表政府組織。例如 NASA (nasa.gov)

除了上面提到的之外,還有許多其他域名可用。每個國家都有自己的域名空間,由國家名稱表示。例如,美國有一個域名“us”,印度有一個域名“in”。

在深入瞭解權威域名伺服器之前,我們先簡要概述一下區域和委派。區域類似於域名,只是存在細微差異。頂級域名和頂級域名下的域名藉助委派被劃分為更小的單元。將這些域名劃分為更小的單元的需要出現了,這樣可以更容易地管理它們。這些小單元稱為區域。例如,在根域名伺服器下存在許多區域。它們可能是 com 區域、edu 區域、org 區域等。類似於子域的概念;這裡我們也有區域存在於區域內。因此,我們在 com 區域、edu 區域、org 區域等內會有許多區域。例如,edu 區域可能包含區域名稱 sjsu.edu、mit.edu 等。同樣,com 區域可能包含 yahoo.com 區域、cisco.com 區域等。透過將 DNS 結構劃分為區域,每個區域負責管理自己的域名。例如,如果 edu 域沒有劃分為不同的區域,那麼 edu 域將負責管理 sjsu.edu、mit.edu 等,這對於管理 edu 域的人員來說將變得很麻煩,因此根據其責任將 edu 域劃分為不同的區域是自然而然的。

權威 DNS 伺服器

[編輯 | 編輯原始碼]

請參考 DNS 結構圖,檢視權威域名伺服器在 DNS 層次結構中的確切位置。所有組織(如 yahoo、msn、sjsu、ieee 等)都包含自己的權威伺服器。權威域名伺服器的目標是提供主機名到 IP 地址的對映。該組織的所有詳細資訊(如網頁、郵件路由資訊等)也在權威域名伺服器中提及。每個權威域名伺服器必須由其獨立組織或該組織的服務提供商維護。

每個域或子域都有一個或多個權威 DNS 伺服器,這些伺服器釋出有關該域的資訊以及任何“下方”域的域名伺服器。每個區域至少由一個權威域名伺服器提供服務,該伺服器包含該區域的完整資料。為了使 DNS 能夠容忍伺服器和網路故障,大多數區域都有兩個或多個權威伺服器。來自權威伺服器的響應在響應資料包中設定了“權威答案”(AA)位。當我們進入資源記錄部分時,我們將詳細討論權威答案。這使得它們在使用諸如“dig”之類的工具除錯 DNS 配置時易於識別。

本地 DNS 伺服器

[編輯 | 編輯原始碼]

除了根 DNS 伺服器、頂級 DNS 伺服器和權威 DNS 伺服器之外,我們還有一個本地 DNS 伺服器。本地域名伺服器不嚴格屬於層次結構,這就是為什麼您在域名系統結構圖中找不到本地域名伺服器的原因。然而,它在解析 DNS 查詢時仍然間接發揮著重要作用。

每個 ISP 都有一個本地 DNS 伺服器,有時被稱為預設域名伺服器。當主機連線到 ISP 時,ISP 透過 DHCP 機制(DHCP 的更多詳細資訊將在第 5.1 節中介紹)釋出單個 IP 地址。您可以在 Windows 中使用“ipconfig”命令或在 Linux 中使用“ipconfig”命令來檢查計算機的 IP 地址。

主機發出 DNS 請求,當它到達本地 DNS 伺服器時,它首先檢查快取(有關 DNS 快取的更多詳細資訊將在後面介紹),以檢視它是否可以解決 DNS 請求。如果它在快取中找到請求的資訊,它會將響應返回給主機。它返回的響應稱為非權威答案。如果在快取中找不到請求的資訊,則有兩種方法可以解決給定的查詢。

1. 迭代

2. 遞迴

簡而言之,我們可以說本地 DNS 伺服器是將查詢轉發到 DNS 層次結構的代理。透過層次結構解析查詢的整個過程對使用者來說是透明的。

迭代查詢

[編輯 | 編輯原始碼]

讓我們看看迭代方法是如何工作的。我們假設主機 se.sjsu.edu 正在請求 mail.yahoo.com 的 IP 地址。我們還假設 mail.yahoo.com 的權威 DNS 伺服器是 dns.yahoo.com。DNS 解析請求的方式如下所示。

                Fig. Host ‘se.sjsu.edu’ is requesting for IP address of mail.yahoo.com – Iterative Query

主機 se.sjsu.edu 向本地 DNS 伺服器傳送 DNS 查詢,以將查詢中提供的 hostname ‘mail.yahoo.com’ 轉換為 IP 地址。作為響應,本地 DNS 伺服器,即 dns.sjsu.edu,將查詢轉發到根 DNS 伺服器。根 DNS 伺服器找到字尾為“com”,並返回負責“com”的頂級 DNS 伺服器的 IP 地址列表。然後,本地 DNS 伺服器將相同的查詢傳送到從根 DNS 伺服器提供的頂級 DNS 伺服器之一。頂級 DNS 伺服器找到字尾 yahoo.com,並返回本地 DNS 伺服器,其中包含 Yahoo 的權威 DNS 伺服器的 IP 地址,即 yahoo.com。最後,本地 DNS 伺服器再次將相同的查詢傳送到權威 DNS 伺服器 dns.yahoo.com,該伺服器反過來會響應 mail.yahoo.com 的 IP 地址。

上述過程可以總結為

          User's computer: "What is the IP Address of mail.yahoo.com?"
          Local name server: "I don't know that. But I'll check with a name server that does."
          Local name server: "What is the IP Address of mail.yahoo.com?"
          Root name server: "Here are the addresses for the TLD name servers for .com."
          Local name server: "What is the IP Address of mail.yahoo.com?"
          TLD .com name server: "Here are the addresses of the authoritative name servers for yahoo.com."
          Local name server: "What is the IP address of mail.yahoo.com?"
          Authoritative mail.yahoo.com name server: "Here is the IP address for mail.yahoo.com, it's 205.139.94.60."


雖然上面提到了一種方法是迭代方法,但實際上它使用了迭代和遞迴。se.sjsu.edu 給 dns.sjsu.edu 的查詢是遞迴查詢,但是本地 DNS 伺服器到根 DNS 伺服器、頂級 DNS 伺服器和權威 DNS 伺服器的查詢是迭代的,因為所有結果都返回給本地 DNS 伺服器 (dns.sjsu.edu)。

遞迴查詢

[編輯 | 編輯原始碼]

我們剛剛瞭解了迭代查詢如何解決任何 DNS 查詢。現在讓我們看看遞迴方法是如何工作的。


              Fig. Host ‘se.sjsu.edu’ is requesting for IP address of mail.yahoo.com – Recursive Query


遞迴查詢的完整流程如下所示


1. 請求主機“se.sjsu.edu”請求其本地 DNS 伺服器“dns.sjsu.edu”解決 DNS 查詢“mail.yahoo.com”並給出其 IP 地址

2. 本地 DNS 查詢向根 DNS 伺服器詢問“mail.yahoo.com”的 IP 地址

3. 根 DNS 伺服器在查詢中找到“com”字尾,並請求負責 com 的頂級 DNS 伺服器之一

4. com 頂級 DNS 伺服器跟蹤所有權威 DNS 伺服器;它向 Yahoo 的權威 DNS 伺服器 (dns.yahoo.com) 詢問 mail.yahoo.com 的 IP 地址

5. Yahoo 的權威 DNS 伺服器將 IP 地址返回給查詢權威 DNS 伺服器的 com 頂級 DNS 伺服器

6. 頂級 DNS 伺服器將此 IP 地址返回給根 DNS 伺服器

7. 根 DNS 伺服器反過來將 IP 地址返回給本地 DNS 查詢。

8. 主機收到其所需查詢的 IP 地址。


理論上,遞迴查詢以上面解釋的方式解析。但在實踐中,遞迴查詢不被使用,因為它效率不高,很快就會溢位其堆疊。

DNS 快取

[編輯 | 編輯原始碼]

在上面解決查詢的兩種方法(迭代和遞迴查詢)中,我們看到總共傳送了 10 條訊息。這降低了 DNS 的效率。因此,設計了一種快取機制,以便減少網路空間中 DNS 資料包的泛濫。DNS 廣泛使用快取,以提高效能,否則透過根 DNS 伺服器、TLD 伺服器和權威 DNS 伺服器會導致效能下降。快取減少了網際網路上的 DNS 資料包流量。

當 DNS 查詢被解析並獲得該域名的 IP 地址時,DNS 伺服器會簡單地快取來自回覆的必要資訊。在上例(參見圖 5)中,每次本地 DNS 伺服器 dns.sjsu.edu 從任何 DNS 伺服器收到 DNS 回覆時,它都可以將任何必要的資訊快取到其快取中以供將來使用。例如,如果與 IP 地址對應的主機名被快取到本地 DNS 伺服器中,則當將來收到該主機名的查詢時,本地 DNS 伺服器可以提供該主機名的 IP 地址,儘管它不是該主機名的權威伺服器。本地 DNS 伺服器可以儲存或快取 TLD 伺服器的 IP 地址,從而避免了向根 DNS 伺服器查詢 TLD 伺服器的 IP 地址的時間。

由於主機名到 IP 地址的對映可能會發生變化,因此 DNS 伺服器會在一段時間後丟棄其快取。

當向本地 DNS 伺服器發出查詢並在其快取中找到對映時會發生的情況示例。

             User's computer: "What is the IP address of mail.yahoo.com"
             Local DNS server: "I know that. The IP address is 209.73.168.74.	 


注意:迭代或遞迴查詢之前已經執行過一次,在我們獲得如此快速的響應之前。

DNS 動態更新/通知

[編輯 | 編輯原始碼]

更新/通知機制是在 RFC 2136 下設計的。許多公司,通常是所有 ISP,都使用 DHCP(DHCP 在第 5.1 節中有更詳細的介紹)來為連線到它們的(伺服器)主機分配 IP 地址。為此,DNS 需要支援資源記錄(RR - 資源記錄在後面的章節中有介紹)的動態新增和刪除。這種機制稱為 DNS 動態更新。

動態更新功能允許授權更新者向名稱伺服器具有權威性的區域新增或刪除 RR。藉助 NS 記錄,授權更新訊息被髮送到該區域的主節點。如果名稱伺服器收到任何更新訊息,並且該名稱伺服器不是該區域的主節點,那麼該訊息將向上遊轉發到其主伺服器。如果接收該訊息的伺服器也是從屬伺服器,那麼它將再次向上遊轉發。此過程稱為“更新轉發”,它將持續進行,直到更新訊息被傳送到該區域的主節點。

主伺服器保持著區域資料的可寫副本。從屬節點會在直接或間接執行更新時收到通知。

DNS 資源記錄

[編輯 | 編輯原始碼]

每個域名,無論是頂級域名,還是權威伺服器,或僅僅是單個主機,在 DNS 分散式資料庫中都有一組與之關聯的資源記錄。這些 RR 提供主機名到 IP 地址的對映。RR 以二進位制格式儲存以供內部使用,但當 RR 在網路空間中傳輸時,它是文字格式。

當向 DNS 伺服器發出查詢時,查詢者(傳送該查詢的主機/伺服器)會收到一個響應,該響應就是與之關聯的資源記錄。

資源記錄是一個 5 元組,包含以下內容:


                       ( Name,  Time to live, Class, Type, Value)


1. 名稱:它是此資源記錄所屬的域名。同一個域可能存在多個資源記錄。


2. 生存時間:這是一個 32 位整數。TTL 以秒為單位。值為零表示資料不應被快取。


3. 類:該欄位通常包含值“IN”,表示該記錄是否用於網際網路。


4. 型別:型別欄位定義資源記錄的型別 - 地址、名稱服務、郵件交換、規範名稱。


5. 值:該欄位可以是數字、ASCII 字串或任何域名。名稱和值的語義取決於型別欄位。


下面列出了各種型別欄位及其詳細資訊。

1. 型別 = 'A'

    ‘A’ stands for address where 
    Name = Hostname (e.g. yahoo.com)
    Value = IP address (e.g. 216.109.112.135)    

因此,它可以提供主機名到 IP 地址的對映。

2. 型別 = 'NS'

    ‘NS’ stands for Name Service
    Name = Domain name (e.g. yahoo.com)
    Value = Host name of Authoritative DNS server (e.g. dns.yahoo.com)

3. 型別 = 'CNAME'

    ‘CNAME’ refers to canonical name. It is used to define alias hostname
    Name = Alias name (e.g. www.ibm.com)
    Value = Real name of that host (e.g. servereast.backup2.ibm.com)

4. 型別 = 'MX'

     'MX’ stands for Mail Exchange.
     Name = Domain name (e.g. yahoo.com)
     Value = Name of mail server associated with that name. (e.g. mx.mail.yahoo.com)

DNS 訊息

[編輯 | 編輯原始碼]

我們已經完成了 DNS 的大部分內容,現在讓我們看看 DNS 訊息是什麼樣子的。下圖提供了一個 DNS 訊息格式。查詢和響應都在同一個訊息格式中。


                                         Fig. DNS message


1. 標識 - 這是一個 16 位數字,透過它來識別查詢。這個數字由客戶端設定,當響應傳送回客戶端時,使用相同的標識號。

2. 標誌由 16 位引數組成。

    a)  The first (0th)bit indicates query(0) or response(1)
    b)	Next three bits (1-4) indicates ‘Standard Query (0)’, ‘Inverse Query (1)’ and ‘Server Status Request (2)’.
    c)	The 5th bit field indicates Authoritative answer. The name server is authoritative for the domain in the question section. 
    d)	The 6th bit field is set if message was truncated. With UDP this means that the total size of the reply exceeded 512 bytes                  
        and only the first 512 bytes of reply were returned. 
    e)	The 7th bit field indicates Recursion Desired . This bit can be set in a query and is returned in the response. 
    f)	The 8th bit field indicates Recursion Available or not.
    g)	The next 3 bits (9-11) has to be 0. 
    h)	The Next 4 bits (12-15) give a return code where 0 signifies No Error and 3 signifies Name Error.

3. 標記為“數量...”的欄位,每個欄位都給出訊息中相應部分的條目數量。

4. 問題部分由客戶端填寫,包含有關正在發出的查詢的資訊。每個問題都有一個名稱和一個型別與之關聯。

5. 答案、權威和附加資訊部分包含一組描述域名和對映的資源記錄。

將資源記錄插入 DNS 資料庫

[編輯 | 編輯原始碼]

到目前為止,我們已經瞭解了 DNS 如何用於查詢網路空間中任何主機的 IP 地址,以及它的用途。這裡最重要的一個問題是:這些資源記錄是如何插入到 DNS 資料庫中的?為此,我們考慮一個現實世界的例子,假設一家名為 INetwork 的公司成立,並且想要在網際網路上釋出一個網站。


INetwork 公司聯絡註冊商註冊其域名“inetwork.com”。註冊商負責維護域名的唯一性。


INetwork 公司向註冊商提供了其主權威 DNS 伺服器和從屬權威 DNS 伺服器的名稱和 IP 地址。註冊商將資訊以資源記錄的形式輸入並存儲到 DNS 資料庫中。

            (   inetwork.com,           NS    ,     dns.inetwork.com   )
            (   dns.inetwork.com,       A     ,     203.166.178.34     )


該公司需要確保其 Web 伺服器 inetwork.com 的型別為“A”的資源記錄和公司郵件伺服器的型別為“MX”的資源記錄被輸入到其權威 DNS 伺服器中,以確保其他人可以訪問您的網站,而員工可以使用該系統傳送郵件。


參考資料

[編輯 | 編輯原始碼]
  1. Load_balance_dns.html
  2. DNS and BIND – Paul Albitz & Cricket Liu, Published by O’Reilly publicactions. Ch.2 Pg13, 14.
  1. 我們瞭解了 DNS 的必要性。
  2. DNS 如何有用,以及 DNS 如何將 IP 與域名進行對映。
  3. 解決查詢的方法 - 迭代和 dns... 兩種方法的工作原理。
  4. 快取如何有用。
  5. 什麼是資源記錄以及 DNS 的作用。
  6. 記錄如何插入到 DNS 中。

1. 如何找到任何網站的 IP 地址,例如 google.com

答:C:\Documents and Settings\Richard>nslookup google.com

伺服器:home

地址:192.168.1.254

非權威答案

名稱:google.com

地址:72.14.207.99、64.233.167.99、64.233.187.99


2. 如果根名稱伺服器在解析 DNS 請求時出現大量流量,如果根名稱伺服器無法解析給定的查詢,DNS 資料包會怎麼樣?

答:根名稱伺服器會簡單地丟棄該資料包。


3. 當您 ping 網站(例如 yahoo.com)時,是否可能獲得不同的 IP 地址?如果可能,請說明原因。

答:是的。這是因為 yahoo.com 在多臺機器上執行,因此執行 yahoo.com 的不同機器被註冊到 DNS 中。因此,存在多個型別為“A”的資源記錄,它們包含不同的 IP 地址。


4. 在 DNS 資料庫中,是否可能為 yahoo.com 有多個條目,一個型別為“A”,另一個型別為“MX”?

答:是的。建議使用相同的域名,儘管這不是必需的。


5. 資源記錄可以快取多長時間?

答:資源記錄中的 Time_To_Live 欄位決定了資源記錄在快取中的保留時間。它以秒為單位表示。

華夏公益教科書