dns詳解
dns解析流程詳解
圖 1 dns解析流程圖
1.客戶機上的使用者在應用程式(如web瀏覽器)中輸入**。應用程式首先檢查其瀏覽器快取,如果快取中有,則這個網域名稱解析過程就結束。如果瀏覽器快取中沒有,瀏覽器會查詢本地的hosts檔案是否有這個對映關係,如果有,就先呼叫這個ip位址對映,完成網域名稱解析。如果沒有,應用程式則呼叫客戶機上的解析器,解析器先向其內部的快取進行查詢,如果沒有,則建立乙個包含伺服器名稱的dns遞迴查詢訊息,並將其傳輸到在計算機的tcp/ip配置中確定的dns伺服器(命令列中輸入「ipconfig -all」回車,可以檢視到,見圖2),如圖1中的本地dns伺服器所示。這個專門的遞迴解析器(本地dns伺服器)效能都會很好,它們一般都會快取網域名稱解析結果,當然快取時間是受到網域名稱的失效時間控制的。大約80%的網域名稱解析到這裡就結束了,所以本地dns伺服器主要承擔了網域名稱的解析工作。
客戶端通常是乙個存根解析器 - 內置於作業系統的簡單解析器圖 2 使用手機熱點連線膝上型電腦查詢得到的dns伺服器位址快取:用於儲存解析後的ip位址。當客戶端申請乙個需要解析為ip位址的名稱時,在向其dns伺服器傳送請求之前,它首先檢查其本地快取。
hosts檔案:這種作業系統級別的網域名稱解析規程也被很多黑客利用,通過修改hosts檔案裡的內容把特定的網域名稱解析到他指定的ip位址上,造成所謂的網域名稱劫持。所以在windows中將hosts檔案設定成了readonly,防止被惡意篡改。
本地dns伺服器:一般預設設定情況下dns為dhcp分配到的運營商的伺服器位址。如果電腦和運營商之間還加了無線或者有線路由,那極有可能路由器本身還內建了乙個dns**器,它的作用是將發往他所有的dns請求**到上層dns,也就是上層isp的dns。此時由於路由器本身也接管了下掛電腦的dhcp服務,所以它分配給下面電腦的dns位址就是它自身。實際上就是路由器自身,而路由器的dns**器將請求**到上層isp的dns。所以這裡說dns是區域網或者是運營商的都可以(因為最終都是**到運營商)。(注意細節:路由器的dns**器在什麼情況下將請求**到上層isp的dns?)
最初的時候,解析器至少有乙個ns的位址。由於 dns 根區域位於 dns 層次結構的頂部,因此遞迴解析器無法在 dns 查詢中被引導到這些位置。因此,每個 dns 解析器都在其軟體中內建了 13 個 ip 根伺服器位址的列表。每次發起 dns 查詢時,遞迴器的第乙個通訊就是與這 13 個 ip 位址之一進行的。
2.本地dns伺服器在接收到查詢後,檢查其資源記錄,以確定它是否是包含所請求伺服器名稱所在區域的權威源。如果區域檔案(主檔案)中有,則返回結果,該解析具有權威性。如果沒有,則向快取中查詢,如果沒有,並且未用**模式,則dns伺服器將生成乙個迭代查詢並將其提交到13臺根名稱伺服器中的一台,如圖1所示。根名稱伺服器檢查本地dns伺服器請求的網域名稱,並查詢其資源記錄(判斷這個網域名稱(.com)是誰來授權管理),以確定該名稱的頂級網域名稱的位址。然後根名稱伺服器向本地dns伺服器傳送應答(即該域對應的頂級域伺服器所在位址),即對該頂級域伺服器位址的乙個引用。
如果本地dns伺服器中沒有查詢到,有兩種方法可以繼續查詢:一種是直接**查詢請求到根域dns伺服器,進行迭代查詢。還有一種就是直接將請求**給其他dns伺服器。將本地dns伺服器無法解析的查詢**給網路上的其它dns伺服器,該dns伺服器即被指定為**器。當本地dns伺服器將查詢**給**器時,這種查詢通常為遞迴查詢。通過將dns伺服器指定為**器,該伺服器負責所有外部dns解析,並且可以建立外部位址的快取,從而減少了查詢遞迴解析器的需求並減少了流量。對於可用頻寬有限的小型公司,dns**可以通過減少頻寬使用和提高dns請求的執行速度來提高網路效率。通過dns**處理內部位址的子集通常也很有用。對於具有多個域和子域的較大的intranet,使用專用伺服器處理對這些域的子集的dns請求可能會更加有效,專用伺服器將使用條件dns**將請求**到該專用伺服器。 遞迴名稱伺服器(本地dns伺服器)中的根名稱伺服器資訊是需要管理員提前配置的,需要乙個包含根名稱伺服器的網域名稱和ip位址的根提示檔案。根提示使非根域的dns伺服器可以查詢到根域dns伺服器。
乙個dns伺服器向另乙個dns伺服器傳送名稱解析請求的過程稱為引用(referrals)。在dns名稱解析過程中,引用是必不可少的。 3.本地dns伺服器現在擁有請求名稱的頂級域伺服器位址,然後生成乙個新的迭代查詢並將其傳輸到頂級域伺服器,如圖1所示。頂級域伺服器檢查請求名稱中的二級域,並將包含該二級域的權威網域名稱伺服器位址的引用傳送回客戶機的dns伺服器。全球共有13臺根網域名稱伺服器。這13臺根網域名稱伺服器中名字分別為「a」至「m」,其中10臺設定在美國,另外各有一台設定於英國、瑞典和日本。1個為主根伺服器,放置在美國。其餘12個均為輔根伺服器,其中9個放置在美國,歐洲2個,位於英國和瑞典,亞洲1個,位於日本。乙個網域名稱必須首先經過根資料庫的解析後,才能轉到頂級網域名稱伺服器進行解析。這些伺服器使用anycast 路由基於負荷和距離分發請求。目前,地球上每座有人生活的大陸上都分布著 600 多台 dns 根伺服器。根區域的最終許可權屬於國家電信和資訊管理局 (ntia),後者是美國商務部的一部分。ntia 將根區域的管理委託給 internet 名稱與數字位址分配機構 (icann)。
有 13 個不同的 ip 位址為 dns 根區域提供服務,並且全球有數百個冗餘根伺服器來處理對根區域的請求。
**在極少數情況下,根伺服器將必須更新其 ip 位址。**在這種情況下,遞迴解析器可以繼續使用根區域中的其他 12 個 ip 位址執行 dns 查詢,直到它們的軟體更新為所有 13 臺伺服器的正確位址為止。
引用(referrals):表示對查詢的響應,該響應不包含答案部分(為空),但包含乙個或多個權威網域名稱伺服器,這些網域名稱伺服器更加接近所需查詢的問題。該響應通常(總是來自根伺服器和頂級網域名稱伺服器)在「附加資訊」部分中包含所提供伺服器的ip位址。(「授權」-伺服器名稱、「響應資訊」-ip位址) 4.本地dns伺服器生成另乙個迭代查詢,並將其傳輸到二級域伺服器,如圖1所示。如果二級域伺服器是包含請求名稱的區域的權威伺服器,那麼它會查詢其資源記錄以確定請求網域名稱的ip位址,並將其以應答訊息的形式傳送回該本地dns伺服器。
5.本地dns伺服器接收來自二級域伺服器的權威伺服器的應答,將ip位址傳回客戶機系統上的解析器,同時快取被請求系統的ip位址和特定域的權威伺服器的位址,如圖1所示。解析器將位址**給應用程式,然後應用程式可以與使用者指定的伺服器進行ip通訊。
網域名稱註冊
註冊管理機構是管理頂級域(tld)的組織,例如以 .com 和 .net 結尾的域。這些註冊管理機構由 internet 編號分配機構(iana)管理,後者是 internet 名稱與數字位址分配機構(icann)的乙個部門。
註冊管理機構將網域名稱註冊的商業銷售委託給註冊商。例如,verisign是 「.com」域的註冊商。當註冊商向使用者**「.com」網域名稱註冊時,註冊商必須通知 verisign 以便正確保留該域。註冊商還必須向 verisign 支付費用,該費用已計入註冊商向終端使用者收取的**中。
註冊商就像網域名稱的經銷商,註冊管理機構就如製造商。註冊商協助交易並提供支援服務,而註冊管理機構則負責生產和交付商品。應當指出,註冊網域名稱和購買汽車之間的主要區別在於,汽車可以歸消費者所有,而網域名稱則不能。
圖 3 註冊管理機構擁有所有的網域名稱,而註冊商只是為客戶提供在有限時間內保留這些網域名稱的機會。網域名稱的最長保留期限為十年。使用者可以保留網域名稱的時間則超過十年,因為註冊商可以無限續期保留,但是使用者從不真正擁有該網域名稱,而只是在租用。
除了註冊商外,還有一些轉銷商**網域名稱註冊。這些轉銷商代表註冊商**網域名稱,以收取中間人報酬。儘管這些轉銷商是合法的,但通常只是副業,並且可能缺乏專門的客戶支援。轉銷商的**很少明確表明自己是轉銷商,因此可能難以和註冊商區分。幸運的是,有一種簡單的方法可以知道一家公司是否為合法的註冊商:icann 在其**上公布了各個認證並有效的網域名稱註冊商的名單。
保留頂級網域名稱的每個人都必須填寫該網域名稱的 whois 資訊。這是有關註冊這個域的人(註冊人)的資訊,包括姓名、電子郵件位址、實際位址和**號碼。許多註冊商提供了私密註冊的選項;根據這種安排,在該域的 whois 列表中提供註冊商的資訊,並且該註冊商充當註冊人的**。這種私密註冊的安全性僅與註冊商一樣安全,因為實際註冊人的資訊儲存在註冊商的資料庫中。
DNS網域名稱解析
dns是動態網域名稱系統的英文簡稱,是用來把我們輸入的網域名稱解析成ip位址的,如果沒有dns我們輸入的例如www.baidu.com這樣的網域名稱就無法被訪問。如果我們訪問 的時候要輸入ip位址的話,顯然既不方便也不容易記憶,所以我們用網域名稱來訪問 網域名稱雖然便於人們記憶,但網路中的計算機之間...
DNS網域名稱解析
一次請求過程大約經過三步 第一,dns網域名稱解析 第二,cdn獲取離使用者最近的節點 第三,建立http連線。今天和大家聊的是dns網域名稱解析。既然是dns網域名稱解析,那麼什麼是dns?dns domain name system,網域名稱系統 網際網路上作為網域名稱和ip位址相互對映的乙個分...
網域名稱解析 DNS
網際網路的網域名稱解析系統dns是乙個聯機分布式資料庫系統,並採用客戶 伺服器體系。tcp ip應用程式使用它來完成主機名稱和ip位址之間的對映。dns使大多數名字都在本地解析,僅少量解析需要在網際網路上通訊,因此系統效率很高。由於dns是分布式系統,即使單個計算機除了故障,也不會妨礙整個系統正常執...