有關本文的 Microsoft windows 2000 版本,請參閱 245437 (http://support.microsoft.com/kb/245437/EN-US/).
警告:登錄編輯程式使用不當可導致嚴重問題,可能需要重新安裝作業系統。Microsoft 不能保證可以解決因註冊表使用不當所導致的問題。使用登錄編輯程式需要您自擔風險。
本頁 概要 更多資訊 使用註冊表控制緩衝時間 子網優先順序劃分
概要 windows 包含用戶端網域名稱系統 (DNS) 緩衝。用戶端 DNS 緩衝功能可能會令人產生一個錯誤的印象:DNS“迴圈”不是從 DNS 伺服器到 windows 客戶機進行的。如果您使用
ping 命令搜尋同一個 A 記錄網域名稱,用戶端可能會使用相同的 IP 位址。這種情況不同於 windows 2000 以前的 Microsoft 作業系統。這些作業系統不包含用戶端 DNS 緩衝功能。本文介紹了如何禁用 DNS 緩衝。
注意:本文討論 DNS 的用戶端部分。不要使用這些資訊對 DNS 伺服器變更。
更多資訊 要停止 DNS 緩衝,請運行下列任一命令:
• |
net stop dnscache
- 或者 - |
• |
sc 伺服器名 stop dnscache |
要在 windows 中永久性地禁用 DNS 緩衝,請使用服務控制器工具或服務工具將 DNS 用戶端服務啟動類型設定為“禁用”。請注意,Windows DNS 用戶端服務的名稱還可能會顯示為“Dnscache”。
注意:如果停用 DNS 解析器緩衝,客戶機的總體效能會降低,並且 DNS 查詢的網路通訊量會增加。
DNS 用戶端服務可通過將以前解析的名稱儲存在記憶體中來最佳化 DNS 名稱解析的效能。如果 DNS 用戶端服務被關閉,電腦仍然可以使用網路的 DNS 伺服器來解析 DNS 名稱。
當 windows 解析器收到對查詢的肯定或否定響應時,它會將該肯定或否定響應添加到它的緩衝中,從而建立一條 DNS 資源記錄。解析器在查詢任何 DNS 伺服器之前都始終會檢查緩衝。如果緩衝中有 DNS 資源記錄,則解析器會使用緩衝中的記錄而不會查詢服務器。這種行為可提高查詢速度並降低 DNS 查詢的網路通訊量。
您可以使用 Ipconfig 工具來查看和重新整理 DNS 解析器緩衝。要查看 DNS 解析器緩衝,請在命令提示字元處鍵入 ipconfig /displaydns。Ipconfig 會顯示 DNS 解析器緩衝的內容,包括從 Hosts 檔案中積極式載入的 DNS 資源記錄和系統解析過的任何最近查詢的名稱。一段特定時間之後,解析器會丟棄緩衝中的記錄。該時間段在與 DNS 資源記錄相關聯的存留時間 (TTL) 中指定。您還可以手動重新整理緩衝。重新整理完緩衝後,電腦必須重新向 DNS 伺服器查詢電腦以前解析過的任何 DNS 資源記錄。要刪除 DNS 解析器緩衝中的條目,請在命令提示字元處鍵入 ipconfig /flushdns。
使用註冊表控制緩衝時間
重要說明:本文包含有關修改註冊表的資訊。修改註冊表之前,一定要備份註冊表,並且一定要知道在發生問題時如何還原註冊表。有關如何備份、還原和編輯註冊表的資訊,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章: 256986 (http://support.microsoft.com/kb/256986/EN-US/) Microsoft windows 註冊表說明 用於緩衝肯定或否定響應的時間長度取決於以下登錄機碼中的條目的值:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/DNSCache/Parameters
肯定響應的 TTL 是下列值中的較小者:
• |
在解析器收到的查詢響應中指定的秒數 |
• |
MaxCacheTtl 註冊表設定的值。 |
注意
• |
肯定響應的預設 TTL 是 86,400 秒(1 天)。 |
• |
否定響應的 TTL 是在 MaxNegativeCacheTtl 註冊表設定中指定的秒數。 |
• |
否定響應的預設 TTL 是 900 秒(15 分鐘)。 |
如果您不希望緩衝否定響應,請將
MaxNegativeCacheTtl 註冊表設定設為 0。
要在客戶機上設定緩衝時間,請執行下列步驟:
1. |
啟動登錄編輯程式 (Regedit.exe)。 |
2. |
在註冊表中找到並單擊以下項: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Dnscache/Parameters |
3. |
在[編輯] 功能表上,指向“建立”,單擊“DWORD 值”,然後添加下列註冊表值: 數值名稱: MaxCacheTtl 資料類型: REG_DWORD 預設值:86400 秒 數值資料:如果您將用戶端的 DNS 緩衝中的最大 TTL 值降低為 1 秒,則用戶端 DNS 緩衝看起來已被禁用。 數值名稱: MaxNegativeCacheTtl 資料類型:REG_DWORD 預設值:900 秒 數值資料:如果您不希望緩衝否定響應,請將該值設為 0。 |
4. |
鍵入您要使用的值,然後單擊“確定”。 |
5. |
退出登錄編輯程式。 |
子網優先順序劃分 windows XP DNS 解析器還使用“子網優先順序劃分”。如果解析器從 DNS 伺服器收到多個 IP 位址映射(A 資源記錄),並且一些記錄含有電腦直接連接到的網路中的 IP 位址,則解析器會首先放置這些資源記錄。這種行為會強制電腦串連到比較靠近它們的網路資源,從而減少了子網間的網路通訊量。
雖然“子網優先順序劃分”確實可減少子網間的網路通訊量,但在某些情況下,您可能喜歡讓迴圈功能按照 RFC 1794 中的說明工作。如果是這樣,您可以通過在以下登錄機碼中添加一個值為 0(REG_DWORD 資料類型)的
PrioritizeRecordData 註冊表條目來禁用“子網優先順序劃分”功能:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/DnsCache/Parameters 有關其他資訊,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章: 297510 (http://support.microsoft.com/kb/297510/EN-US/) How to Modify Time to Live on Domain Name System Records 286834 (http://support.microsoft.com/kb/286834/EN-US/) The DNS Client Service Does Not Revert to Using the First Server 有關更多資訊,請參閱 windows 2000 DNS 白皮書。要查看此白皮書,請訪問下列任一 Microsoft Web 網站:
• |
http://www.microsoft.com/windows2000/docs/w2kdns.doc (http://www.microsoft.com/windows2000/docs/w2kdns.doc) |
• |
http://www.microsoft.com/technet/prodtechnol/windows2000serv/plan/w2kdns2.mspx (http://www.microsoft.com/technet/prodtechnol/windows2000serv/plan/w2kdns2.mspx) |
有關更多資訊,請參閱 Microsoft windows XP Professional Resource Kit 文檔中的“DNS Caching, Network Prioritization, and Security”(DNS 緩衝、網路優先順序劃分和安全)一章。