1、舉例說明DNS三種解析方法的工作過程
● 指定的 DNS 域名,表示為完全合格的域名 (FQDN) 。
● 指定的查詢類型,它可根據類型指定資源記錄,或作為查詢操作的專門類型。
● DNS域名的指定類別。
對於DNS 伺服器,它始終應指定為 Internet 類別。例如,指定的名稱可以是計算機的完全合格的域名,如hosta.hello.company.com,並且指定的查詢類型用於通過該名稱搜索地址資 源記錄。系統將把DNS 查詢當作客戶機向伺服器提出的兩部分問題,如「對於名為 hostname.hello.company.com 的計算機,你有沒有地址資源記錄?」當客戶機從伺服器接收應答時,它讀取並解釋應答的地址資源記錄,以了解它通過名稱提問的計算機的 IP 地址。
DNS 查詢以各種不同的方式進行解析。客戶機有時也可通過使用從以前查詢獲得的緩存信息就地應答查詢。DNS 伺服器可使用其自身的資源記錄信息緩存來應答查詢,也可代表請求客戶機來查詢或聯系其他 DNS 伺服器,以完全解析該名稱,並隨後將應答返回至客戶機。這個過程稱為遞歸。
另外,客戶機自己也可嘗試聯系其他的 DNS 伺服器來解析名稱。如果客戶機這么做,它會使用基於伺服器應答的獨立和附加的查詢,該過程稱作迭代。
總之,DNS 的查詢過程按兩部分進行:首選,名稱查詢從客戶機開始並傳送至解析程序(DNS客戶服務)進行解析;其次,不能就地解析查詢時,可根據需要查詢DNS伺服器來解析名稱。DNS 查詢的過程如下圖所示。
如查詢過程的初始步驟所示,DNS 域名由本機的程序使用。該請求隨後傳送至 DNS 客戶服務,以通過使用就地緩存的信息進行解析。如果可以解析查詢的名稱,則查詢將被應答,並且此過程完成。其中,本地
解析程序的緩存可從以下2個可能的來源獲取名稱信息:
● 如果主機文件就地配置,則來自該文件的任何主機名稱到地址的映射都將在DNS 客戶服務啟動時預先載入到緩存中。
● 從以前DNS查詢應答的響應中獲取的資源記錄將被添加至緩存並保留一段時間。
如果此查詢不匹配緩存中的項目,則解析過程繼續進行,客戶機查詢 DNS 伺服器來解析名稱。
接下來查詢 DNS 伺服器,當本地的DNS不能就地解析查詢時,可根據需要查詢 DNS 伺服器來解析名稱。如圖4-1所示,客戶機將查詢首選 DNS 伺服器。在此過程中使用的實際伺服器是從全局列表中選擇的。當 DNS 伺服器接收到查詢時,首先檢查它能否根據在伺服器的就地配置區域中獲取的資源記錄信息作出權威性的應答。如果查詢的名稱與本地區域信息中的相應資源記錄匹 配,則伺服器作出權威性的應答,並且使用該信息來解析查詢的名稱。
如果查詢的名稱沒有區域信息,則伺服器檢查它能否通過本地緩存的先前查詢信息來解析名稱。如果從中發現匹配的信息,則伺服器使用它應答查詢。接著,如果首選伺服器可使用來自其緩存的肯定匹配響應來應答發出請求的客戶機,則此次查詢完成。
如果查詢名稱在首選伺服器中未發現來自緩存或區域信息的匹配應答,則查詢過程可繼續進行,使用遞歸來完全解析名稱,包括來自其他 DNS 伺服器的支持,以幫助解析名稱。在默認情況下,DNS 客戶服務要求伺服器在返回應答前使用遞歸過程來代表客戶機完全解析名稱。在大多數情況下,DNS 伺服器的默認配置支持遞歸過程,如下圖所示。
為了使 DNS 伺服器正確執行,首先需要在DNS 域名空間內存放其他DNS伺服器的一些有用的聯系信息。該信息以根線索的形式提供,它是記錄初步資源的一個列表,可用來定位一些 DNS 伺服器,這些伺服器對 DNS 域名空間樹的根具有絕對控制權。根伺服器對 DNS 域名空間樹中的根域和頂級域具有絕對控制權。DNS 伺服器可通過使用根線索搜索根伺服器來完成遞歸過程。
例如,當客戶機查詢單個DNS伺服器時,考慮使用遞歸過程來定位名稱 host.example.microsoft.com。此過程在 DNS 伺服器和客戶機首次啟動,並且沒有可幫助解析名稱查詢的當地緩存信息時進行。
首先,首選伺服器分析全名並確定對於頂級域com具有絕對控制權的伺服器的位置。隨後,對com DNS 伺服器使用迭代查詢,以獲取microsoft.com伺服器的參考信息。然後參考性應答從microsoft.com伺服器傳送到 example.microsoft.com的 DNS 伺服器。最後,與伺服器 example.microsoft.com 聯繫上。因為該伺服器包括作為其配置區域一部分的查詢名稱,所以,它向啟動遞歸的源伺服器作出權威性的應答。當源伺服器接收到表明已獲得對請求查詢的權威 性應答的響應時,它將此應答轉發給發出請求的客戶機,這樣,遞歸查詢過程就完成了。
在實際應用過程中可能會遇到DNS解析錯誤的問題,就是說當我們訪問一個域名時無法完成將其解析到IP地址的工作,而直接輸入網站IP卻可以正常訪問,這就是因為DNS解析出現故障造成的。這個現象發生的機率比較大,所以本文將從零起步教給各位讀者一些基本的排除DNS解析故障的方法。
一、什麼是DNS解析故障?
一般來說像我們訪問的www.163.com這些地址都叫做域名,而眾所周知網路中的任何一個主機都是IP地址來標識的,也就是說只有知道了這個站點的IP地址才能夠成功實現訪問操作。
不過由於IP地址信息不太好記憶,所以網路中出現了域名這個名字,在訪問時我們這需要輸入這個好記憶的域名即可,網路中會存在著自動將相應的域名解析成IP地址的伺服器,這就是DNS伺服器。能夠實現DNS解析功能的機器可以是自己的計算機也可以是網路中的一台計算機,不過當DNS解析出現錯誤,例如把一個域名解析成一個錯誤的IP地址,或者根本不知道某個域名對應的IP地址是什麼時,我們就無法通過域名訪問相應的站點了,這就是DNS解析故障。
出現DNS解析故障最大的症狀就是訪問站點對應的IP地址沒有問題,然而訪問他的域名就會出現錯誤。
二、如何解決DNS解析故障:
當我們的計算機出現了DNS解析故障後不要著急,解決的方法也很簡單。
(1)用nslookup來判斷是否真的是DNS解析故障:
要想百分之百判斷是否為DNS解析故障就需要通過系統自帶的NSLOOKUP來解決了。
第一步:確認自己的系統是windows 2000和windows xp以上操作系統,然後通過「開始->運行->輸入CMD」後回車進入命令行模式。
第二步:輸入nslookup命令後回車,將進入DNS解析查詢界面。
第三步:命令行窗口中會顯示出當前系統所使用的DNS伺服器地址,例如筆者的DNS伺服器IP為202.106.0.20。
第四步:接下來輸入你無法訪問的站點對應的域名。例如筆者輸入www.softer.com,假如不能訪問的話,那麼DNS解析應該是不能夠正常進行的。我們會收到DNS request timed out,timeout was 2 seconds的提示信息。這說明我們的計算機確實出現了DNS解析故障。
小提示:如果DNS解析正常的話,會反饋回正確的IP地址,例如筆者用www.sohu.com這個地址進行查詢解析,會得到name:sohu.com,addresses:61.135.133.103,61.135.133.104的信息。
2)查詢DNS伺服器工作是否正常:
這時候我們就要看看自己計算機使用的DNS地址是多少了,並且查詢他的運行情況。
第一步:確認自己的系統是windows 2000和windows xp以上操作系統,然後通過「開始->運行->輸入CMD」後回車進入命令行模式。
第二步:輸入ipconfig /all命令來查詢網路參數。
第三步:在ipconfig /all顯示信息中我們能夠看到一個地方寫著DNS SERVERS,這個就是我們的DNS伺服器地址。例如筆者的是202.106.0.20和202.106.46.151。從這個地址可以看出是個外網地址,如果使用外網DNS出現解析錯誤時,我們可以更換一個其他的DNS伺服器地址即可解決問題。
第四步:如果在DNS伺服器處顯示的是自己公司的內部網路地址,那麼說明你們公司的DNS解析工作是交給公司內部的DNS伺服器來完成的,這時我們需要檢查這個DNS伺服器,在DNS伺服器上進行nslookup操作看是否可以正常解析。解決DNS伺服器上的DNS服務故障,一般來說問題也能夠解決。
(3)清除DNS緩存信息法:
當計算機對域名訪問時並不是每次訪問都需要向DNS伺服器尋求幫助的,一般來說當解析工作完成一次後,該解析條目會保存在計算機的DNS緩存列表中,如果這時DNS解析出現更改變動的話,由於DNS緩存列表信息沒有改變,在計算機對該域名訪問時仍然不會連接DNS伺服器獲取最新解析信息,會根據自己計算機上保存的緩存對應關系來解析,這樣就會出現DNS解析故障。這時我們應該通過清除DNS緩存的命令來解決故障。
第一步:通過「開始->運行->輸入CMD」進入命令行模式。
第二步:在命令行模式中我們可以看到在ipconfig /?中有一個名為/flushdns的參數,這個就是清除DNS緩存信息的命令。
第三步:執行ipconfig /flushdns命令,當出現「successfully flushed the dns resolver cache」的提示時就說明當前計算機的緩存信息已經被成功清除。
第四步:接下來我們再訪問域名時,就會到DNS伺服器上獲取最新解析地址,再也不會出現因為以前的緩存造成解析錯誤故障了。
(4)修改HOSTS文件法:
修改HOSTS法就是把HOSTS文件中的DNS解析對應關系進行修改,從而實現正確解析的目的。因為在本地計算機訪問某域名時會首先查看本地系統中的HOSTS文件,HOSTS文件中的解析關系優先順序大於DNS伺服器上的解析關系。
這樣當我們希望把某個域名與某IP地址綁定的話,就可以通過在HOSTS文件中添加解析條目來實現。
第一步:通過「開始->搜索」,然後查找名叫hosts的文件。
第二步:當然對於已經知道他的路徑的讀者可以直接進入c:\windows\system32\drivers\etc目錄中找到HOSTS文件。如果你的系統是windows 2000,那麼應該到c:\winnt\system32\drivers\etc目錄中尋找。
第三步:雙擊HOSTS文件,然後選擇用「記事本」程序將其打開。
第四步:之後我們就會看到HOSTS文件的所有內容了,默認情況下只有一行內容「127.0.0.1 localhost」。(其他前面帶有#的行都不是真正的內容,只是幫助信息而已)
第五步:將你希望進行DNS解析的條目添加到HOSTS文件中,具體格式是先寫該域名對應的IP地址,然後空格接域名信息。例如筆者添加了「211.153.80.1 www.fte.gov.cn」與「10.82.0.1 www.fte.gov.cn」兩個條目。
第六步:設置完畢後我們訪問www.fte.gov.cn時就會自動根據是在內網還是外網來解析了。
三、總結:
通過上面介紹的四個步驟,我們就可以解決大部分DNS解析問題了,這幾個方法中前三個是循序漸進的一步步解決DNS解析故障,而最後一個修改HOSTS文件則是在實在沒有辦法的時候,一種權宜之計。當然不管是通過哪種方法,我們都可以解決因為DNS解析錯誤帶來的網路故障。
2、DNS域名解析工作原理
DNS的工作原理 DNS分為Client和Server,Client扮演發問的角色,也就是問Server一個Domain Name,而Server必須要回答此Domain Name的真正IP地址。而當地的DNS先會查自己的資料庫。如果自己的資料庫沒有,則會往該DNS上所設的的DNS詢問,依此得到答案之後,將收到的答案存起來,並回答客戶。 DNS伺服器會根據不同的授權區(Zone),記錄所屬該網域下的各名稱資料,這個資料包括網域下的次網域名稱及主機名稱。 在每一個名稱伺服器中都有一個快取緩存區(Cache),這個快取緩存區的主要目的是將該名稱伺服器所查詢出來的名稱及相對的IP地址記錄在快取緩存區中,這樣當下一次還有另外一個客戶端到次伺服器上去查詢相同的名稱 時,伺服器就不用在到別台主機上去尋找,而直接可以從緩存區中找到該筆名稱記錄資料,傳回給客戶端,加速客戶端對名稱查詢的速度。例如: 當DNS客戶端向指定的DNS伺服器查詢網際網路上的某一台主機名稱 DNS伺服器會在該資料庫中找尋用戶所指定的名稱 如果沒有,該伺服器會先在自己的快取緩存區中查詢有無該筆紀錄,如果找到該筆名稱記錄後,會從DNS伺服器直接將所對應到的IP地址傳回給客戶端 ,如果名稱伺服器在資料記錄查不到且快取緩存區中也沒有時,伺服器首先會才會向別的名稱伺服器查詢所要的名稱。例如: DNS客戶端向指定的DNS伺服器查詢網際網路上某台主機名稱,當DNS伺服器在該資料記錄找不到用戶所指定的名稱時,會轉向該伺服器的快取緩存區找尋是否有該資料 ,當快取緩存區也找不到時,會向最接近的名稱伺服器去要求幫忙找尋該名稱的IP地址 ,在另一台伺服器上也有相同的動作的查詢,當查詢到後會回復原本要求查詢的伺服器,該DNS伺服器在接收到另一台DNS伺服器查詢的結果後,先將所查詢到的主機名稱及對應IP地址記錄到快取緩存區中 ,最後在將所查詢到的結果回復給客戶端 。 範例 我們舉例說明,假設我們要查詢網際網路上的一個名稱為,從此名稱我們知道此部主機在中國CN,而且要找的組織名稱test.com.cn此網域下的www主機,以下為名稱解析過程的每一步驟。 《Step 1》在DNS的客戶端(Reslover)鍵入查詢主機的指令,如: c:\ping pinging with 32bytes of data reply from 192.72.80.36 bytes time <10ms ttl 253 《Step 2》而被指定的DNS伺服器先行查詢是否屬於該網域下的主機名稱,如果查出改主機名稱並不屬於該網域范圍,之後會再查詢快取緩存區的紀錄資料,查是否有此機名稱。 《Step 3》查詢後發現緩存區中沒有此紀錄資料,會取得一台根網域的其中一台伺服器,發出說要找的Request。 《Step 4》在根網域中,向Root Name Server詢問,Root Name Server記錄了各Top Domain分別是由哪些DNS Server負責,所以他會響應最接近的Name Server為控制CN網域的DNS伺服主機。 《Step 5》Root Name Server已告訴Local DNS Server哪部Name Server負責.cn這個Domain,然後Local DNS再向負責發出找尋的名稱Request。 《Step 6》在.cn這個網域中,被指定的DNS伺服器在本機上沒有找到此名稱的的紀錄,所以會響應原本發出查詢要求的DNS伺服器說最近的伺服器在哪裡?他會回應最近的主機為控制com.cn網域的DNS伺服主機。 《Step 7》原本被查詢的DNS伺服器主機,收到繼續查詢的IP位置後,會再向com.cn的網域的DNS Server發出尋找名稱搜尋的要求。 《Step 8》com.cn的網域中,被指定的DNS Server在本機上沒有找到此名稱的記錄,所以會回復查詢要求的DNS Server告訴他最接近的伺服器在哪裡?他就回應最接近為控制test.com.cn的網域的DNS主機。 《Step 9》原本被查詢的DNS S
3、DNS解析的過程是什麼,求詳細的?
DNS解析過程如下所述:
第一步:客戶機提出域名解析請求,並將該請求發送給本地 域名伺服器。
第二步:當本地 域名伺服器收到請求後,就先查詢本地 緩存,如果 該紀錄項,則本地 域名伺服器就直接把查詢 結果返回。
第三步:如果本地 緩存中沒 該紀錄,則本地域名伺服器就直接把請求發給根域名伺服器,然後根域名伺服器再返回給本地域名伺服器一個所查詢域(根 子域) 主域名伺服器 地址。
第四步:本地伺服器再向 一步返回 域名伺服器發送請求,然後接受請求 伺服器查詢自己 緩存,如果沒 該紀錄,則返回相關 下級 域名伺服器 地址。
第五步:重復第四步,直到找到正確 紀錄。
第六步:本地域名伺服器把返回 結果保存到緩存,以備下一次使用,同時還將結果返回給客戶機。
4、域名解析的詳細流程是什麼?
1、什麼是域名解析?
域名解析就是國際域名或者國內域名以及中文域名等域名申請後做的到IP地址的轉換過程。IP地址是網路上標識您站點的數字地址,為了簡單好記,採用域名來代替ip地址標識站點地址。域名的解析工作由DNS伺服器完成。
2、什麼是A記錄?
A (Address) 記錄是用來指定主機名(或域名)對應的IP地址記錄。用戶可以將該域名下的網站伺服器指向到自己的web server上。同時也可以設置您域名的二級域名。
3、什麼是MX記錄?
郵件路由記錄,用戶可以將該域名下的郵件伺服器指向到自己的mail server上,然後即可自行操控所有的郵箱設置。您只需在線填寫您伺服器的IP地址,即可將您域名下的郵件全部轉到您自己設定相應的郵件伺服器上。
4、什麼是CNAME記錄?
即:別名記錄。這種記錄允許您將多個名字映射到同一台計算機。 通常用於同時提供WWW和MAIL服務的計算機。例如,有一台計算機名為「host.mydomain.com」(A記錄)。 它同時提供WWW和MAIL服務,為了便於用戶訪問服務。可以為該計算機設置兩個別名(CNAME):WWW和MAIL。
5、什麼是TTL值?
TTL值全稱是「生存時間(Time To Live)」,簡單的說它表示DNS記錄在DNS伺服器上緩存時間。要理解TTL值,請先看下面的一個例子:
假設,有這樣一個域名myhost.abc.com(其實,這就是一條DNS記錄,通常表示在abc.com域中有一台名為myhost的主機)對應IP地址為1.1.1.1,它的TTL為10分鍾。這個域名或稱這條記錄存儲在一台名為dns.abc.com的DNS伺服器上
5、簡述域名解析的過程
第一步,登陸域名管理頁面
第二步,選擇DNS解析管理
第三步,選擇增加IP
第四步,填寫主機名和IP地址(有其他選項默認)
第五步,等吧,CN域名快一些,30分鍾-12小時,國際域名30分鍾-24小時生效
可以ping一下自己的域名,發現變成自己解析的IP時就對了
6、DNS解釋及域名解析的過程
DNS修改是指域名解析抄伺服器(Domain Name System)的修改。襲
如果您自己有獨立DNS伺服器,想通過此DNS解析己注冊成功的域名,您可選擇DNS修改業務。登陸會員區-域名服務-域名管理-點擊相應域名-DNS修改處修改您的域名DNS信息。
域名解析過程
第一步:客戶機提出域名解析請求,並將該請求發送給本地的域名伺服器。
第二步:當本地的域名伺服器收到請求後,就先查詢本地的緩存,如果有該紀錄項,則本地的域名伺服器就直接把查詢的結果返回。
第三步:如果本地的緩存中沒有該紀錄,則本地域名伺服器就直接把請求發給根域名伺服器,然後根域名伺服器再返回給本地域名伺服器一個所查詢域(根的子域)的主域名伺服器的地址。
第四步:本地伺服器再向上一步返回的域名伺服器發送請求,然後接受請求的伺服器查詢自己的緩存,如果沒有該紀錄,則返回相關的下級的域名伺服器的地址。
第五步:重復第四步,直到找到正確的紀錄。
第六步:本地域名伺服器把返回的結果保存到緩存,以備下一次使用,同時還將結果返回給客戶機。
7、DNS解析過程
如果是公司內網工作網站,是通過自己的域名伺服器直接解析成內網IP,如果是外網網站,是通過自己的域名伺服器轉發到本地外網路由器,再通過電信DNS進行解析,具體由那個電信DNS解析,需要看你們的域名伺服器怎麼配置。 自己電腦指定DNS,訪問外網速度更快,是有可能的。
8、寫出域名解析的過程和具體步驟。
1.客戶機提出域名解析請求,並將該請求發送給本地的域名伺服器。
2.當本地的域名伺服器收到請求後,就先查詢本地的緩存,如果有該紀錄項,則本地的域名伺服器就直接把查詢的結果返回。
3.如果本地的緩存中沒有該紀錄,則本地域名伺服器就直接把請求發給根域名伺服器,然後根域名伺服器再返回給本地域名伺服器一個所查詢域(根的子域)的主域名伺服器的地址。
4.本地伺服器再向上一步返回的域名伺服器發送請求,然後接受請求的伺服器查詢自己的緩存,如果沒有該紀錄,則返回相關的下級的域名伺服器的地址。
5.重復第四步,直到找到正確的紀錄。
6.本地域名伺服器把返回的結果保存到緩存,以備下一次使用,同時還將結果返回給客戶機。
9、簡述DNS進行域名解析的過程。
首先,客戶端發出DNS請求翻譯IP地址或主機名。DNS伺服器在收到客戶機的請求後:
(1)檢查DNS伺服器的緩存,若查到請求的地址或名字,即向客戶機發出應答信息;
(2)若沒有查到,則在資料庫中查找,若查到請求的地址或名字,即向客戶機發出應答信息;
(3)若沒有查到,則將請求發給根域DNS伺服器,並依序從根域查找頂級域,由頂級查找二級域,二級域查找三級,直至找到要解析的地址或名字,即向客戶機所在網路的DNS伺服器發出應答信息,DNS伺服器收到應答後現在緩存中存儲,然後,將解析結果發給客戶機。
(4)若沒有找到,則返回錯誤信息。更多內容請查看《Linux就該這么學》。
10、簡述DNS解析過程
當你在瀏覽器中輸入一個網址的時候,系統首先檢查本地緩存中有沒有相關的記錄如果有則直接轉換為IP地址進行訪問,如果沒有則連接到你ISP的主DNS伺服器進行域名解析,如果還沒有則向更上一級的DNS伺服器尋找只到找到為止。