DNS 定義
, ,3)本地DNS 檢查緩存信息,若有,將IP 地址返回給客戶端,客戶端可直接訪問(wèn)WEB 站點(diǎn),若無(wú)4)本地DNS 檢查區(qū)域文件是否有對(duì)應(yīng)的
3)本地DNS 檢查緩存信息,若有,將IP 地址返回給客戶端,客戶端可直接訪問(wèn)WEB 站點(diǎn),若無(wú)
4)本地DNS 檢查區(qū)域文件是否有對(duì)應(yīng)的IP ,若有,將IP 地址返回給客戶端,客戶端可直接訪問(wèn)WEB 站點(diǎn),若無(wú)
,
5)本地DNS 根據(jù)cache.dns 文件中指定的根DNS 服務(wù)器的IP 地址,轉(zhuǎn)向根DNS 查詢。
6)根DNS 收到查詢請(qǐng)求后,查看區(qū)域文件記錄,若無(wú),則將其管轄范圍內(nèi).com 服務(wù)器的IP 地址告訴本地DNS 服
務(wù)器
7).com 服務(wù)器收到查詢請(qǐng)求后,查看區(qū)域文件記錄,若無(wú),則將其管轄范圍內(nèi).xxx 服務(wù)器的IP 地址告訴本地DNS
服務(wù)器
8).xxx 服務(wù)器收到查詢請(qǐng)求后,分析需要解析的域名,若無(wú),則查詢失敗,若有,返回www.xxx.com 的IP 地址給
本地服務(wù)器
9)本地DNS 服務(wù)器將www.xxx.com 的IP 地址返回給客戶端,客戶端通過(guò)這個(gè)IP 地址與WEB 站點(diǎn)建立連接
10、DNS 名詞應(yīng)用
dns 已經(jīng)基本成為一個(gè)非常知名縮寫(xiě),很多做域名的公司都用dns 做域名,如www.dns.com.cn (新網(wǎng)互聯(lián)),ww
w.2ndDNS.com (第二域名)
-----------------------------------------------------------------------------------------------------------------
一、什么是DNS ?
DNS 的中文意思是:域名服務(wù)。域名服務(wù)是提供[主機(jī)名]到[IP地址]轉(zhuǎn)換的一段計(jì)算機(jī)程序。
BoBoUse 人的大腦記住一組資源的名字比較容易,而記住這組資源的地址很難,但實(shí)際上我們又必須使用地址來(lái)訪問(wèn)資源
,所以必須有一個(gè)系統(tǒng)來(lái)提供名字到地址的翻譯服務(wù)。
下面的例子,當(dāng)您要訪問(wèn)昆明湖、玉蘭堂等景觀,您首先會(huì)想到兩個(gè)景點(diǎn)都屬于 頤和園,而不會(huì)想到 頤和園的經(jīng)
,片警A 就提供了DNS :緯度,而事實(shí)上我們是通過(guò)經(jīng)緯度來(lái)訪問(wèn)一組資源的。當(dāng)您來(lái)到一個(gè)陌生的城市,向離您最進(jìn)的片警A 問(wèn)路的時(shí)候
1、您問(wèn)道:“您能告訴我頤和園怎么走么?”。
2、片警A 說(shuō):“我不知道,但我知道頤和園隸屬于四環(huán),負(fù)責(zé)四環(huán)的是片警B ,片警B 的經(jīng)緯度是117.2/30.2”。
3、您到了北四環(huán),根據(jù)經(jīng)緯度到片警B 問(wèn):“您能告訴我頤和園怎么走么?”。
4、片警B 說(shuō):“我不知道,但我知道頤和園屬于海殿區(qū),負(fù)責(zé)海淀的是片警C ,片警C 的經(jīng)緯度是117.3/30.3”。
5、您到了海淀區(qū),根據(jù)經(jīng)緯度找到片警C 問(wèn):“您能告訴我頤和園怎么走么?”
6、片警C 說(shuō):“頤和園在經(jīng)度117.03333、緯度30.51666”
7、知道了頤和園的坐標(biāo),您就可以到頤和園參觀了。
注意:以上過(guò)程,在DNS 查詢中有個(gè)專業(yè)術(shù)語(yǔ),叫做迭代查詢。也許您還聽(tīng)說(shuō)過(guò)遞歸查詢。
1、就是當(dāng)您向片警A 問(wèn)路的時(shí)候,您希望片警A 給您一個(gè)確切的回答:“您可以告訴我頤和園怎么走么?我這是遞
歸查詢,也就是說(shuō),您不要再讓我跑腿問(wèn)別人了,您幫我問(wèn)。”
2、交警A 如果也發(fā)出的是遞歸查詢問(wèn)交警B :“您可以告訴我頤和園怎么走么?我這是遞歸查詢,也就是說(shuō),您不
要再讓我跑腿問(wèn)別人了,您幫我問(wèn)?!?/p>
3、交警B 如果也發(fā)出的是遞歸查詢問(wèn)交警C :“您可以告訴我頤和園怎么走么?我這是遞歸查詢,也就是說(shuō),您不
要再讓我跑腿問(wèn)別人了,您幫我問(wèn)。”
4、交警C 對(duì)交警B 說(shuō):“頤和園就在經(jīng)度117.03333、緯度30.51666”
5、交警B 對(duì)交警A 說(shuō):“頤和園就在經(jīng)度117.03333、緯度30.51666”
6、交警A 對(duì)您說(shuō):“頤和園就在經(jīng)度117.03333、緯度30.51666”
我可以冒充片警C 嗎?除非您把片警C kill掉,否則即使您穿著片警C 的衣服,打扮的和片警C 一模一樣,也不會(huì)有
人找您問(wèn)路。因?yàn)槠疌 始終都在經(jīng)緯度是117.3/30.3的地方蹲點(diǎn),問(wèn)路的人只會(huì)根據(jù)片警B 找經(jīng)緯度117.3/30.3
的片警C 。冒充片警B 呢?一個(gè)道理,問(wèn)路的人只會(huì)根據(jù)片警A 找到經(jīng)緯度是117.2/30.2的片警 B。那冒充片警A 呢
?您要自問(wèn)一下,片警A 的經(jīng)緯度是誰(shuí)告訴您的,告訴您的人可信不可信。一般我們通過(guò)ADSL 撥號(hào)上網(wǎng)的家庭用
戶,電信接入端給我們提供片警A 既DNS 服務(wù)器的經(jīng)緯度既IP 地址都是真實(shí)的。二、為什么用DNS ?
,也許您感覺(jué)很煩瑣,為什么不成立一個(gè)問(wèn)路系統(tǒng),比如114查號(hào),114問(wèn)路系統(tǒng)存儲(chǔ)了世界上所有名字到經(jīng)緯度的
對(duì)應(yīng)關(guān)系。那么您考慮一下,如果114系統(tǒng)由于查詢量過(guò)大而癱瘓呢?或者中毒而無(wú)法提供服務(wù)呢?等等這些問(wèn)題
會(huì)延誤世界人民查詢名字到地址的對(duì)應(yīng)關(guān)系。您可能會(huì)說(shuō),那在世界上建立1000個(gè)問(wèn)路系統(tǒng),比如電話號(hào)從1000
到1999都提供名字到經(jīng)緯度翻譯服務(wù),這樣當(dāng)一個(gè)號(hào)碼打不通,客戶可以打另一個(gè)。但您應(yīng)該想到,這樣的系統(tǒng)
維護(hù)起來(lái)太麻煩了,比如您自立門(mén)戶了,買了處房子,房子的經(jīng)緯度是122.2/122.3,名字叫‘上海、湯臣、56弄、
crysta 家’,那世界上所有1000個(gè)問(wèn)路系統(tǒng)都要添加這樣的對(duì)應(yīng)關(guān)系。同樣的問(wèn)題,如果crystal 把房子賣給了seeb
od ,那房子名就叫‘上海、湯臣、56弄、seebod 家’,世界上所有1000個(gè)問(wèn)路系統(tǒng)同樣要更新。為了解決這個(gè)問(wèn)題
,就采用了最初片警的例子,每個(gè)片警只負(fù)責(zé)他自己的一片區(qū)域。
具體看一個(gè)名字到地址的解析過(guò)程(上面的例子僅是為了引發(fā)您的思維,而不能與實(shí)際的DNS 查詢過(guò)程一一對(duì)應(yīng)
,不要生搬硬套)
當(dāng)您在瀏覽器中輸入(www.seebod.com. ),我們的電腦是如何得到IP 地址的:
1、瀏覽器發(fā)現(xiàn)是一個(gè)名字,于是調(diào)用我們機(jī)器內(nèi)部的DNS Client軟件,這個(gè)軟件會(huì)把我們的請(qǐng)求發(fā)送到網(wǎng)卡Tcp/
IP 設(shè)置中的默認(rèn)DNS 服務(wù)器IP 地址(上海電信提供DNS 的服務(wù)器有3臺(tái),其中一臺(tái)IP 是202.96.209.5):“您可以
告訴我www.seebod.com. 的IP 地址嗎?我這是一個(gè)遞歸查詢”
2、 202.96.209.5的DNS 服務(wù)器會(huì)檢查自己的DNS 緩存,如果緩存里有,就直接返回給客戶,如果沒(méi)有,202.96.
209.5就會(huì)向自己系統(tǒng)內(nèi)部配置中負(fù)責(zé). 域的DNS 服務(wù)器的IP 地址(負(fù)責(zé). 域的那臺(tái)DNS 服務(wù)器位于美國(guó),共13臺(tái),
系統(tǒng)會(huì)隨機(jī)選一臺(tái),這里比如是61.1.1.1)發(fā)出請(qǐng)求: “您能告訴我www.seebod.com. 的IP 地址嗎?我這是一個(gè)跌
代查詢”
3、. 域DNS 服務(wù)器61.1.1.1中包含負(fù)責(zé)net. 域解析的IP 地址,把查詢結(jié)果返回給202.96.209.5:“負(fù)責(zé)net. 域的DNS
服務(wù)器地址是54.4.4.4”
BoBoUse 4、202.96.209.5收到上面的查詢結(jié)果后,于是詢問(wèn)負(fù)責(zé)net. 域的DNS 服務(wù)器54.4.4.4 :“您能告訴我負(fù)責(zé)www.see
bod.com. 的IP 地址嗎?我這是一個(gè)跌代查詢。”
5、負(fù)責(zé)net. 域的DNS 服務(wù)器54.4.4.4把查詢后的結(jié)果返回給202.96.209.5:“負(fù)責(zé)seebod.com. 域的dns 服務(wù)器的ip
地址是 211.152.17.58”
6、202.96.209.5收到上面的查詢結(jié)果夠,于是詢問(wèn)負(fù)責(zé)seebod.com. 域的DNS 服務(wù)器211.152.17.58:“您能告訴
我www.seebod.com. 所對(duì)應(yīng)的IP 地址嗎?”
7、211.152.17.58把查詢后的結(jié)果返回給202.96.209.5:“www.seebod.com.對(duì)應(yīng)的IP 地址是211.100.26.123”
8、202.96.209.5把最終結(jié)果放到自己的DNS 緩存里,這樣以后就不用再進(jìn)行上面的跌代查詢了。
9、202.96.209.5把最終結(jié)果返回給最初發(fā)起請(qǐng)求的客戶機(jī)。
10、客戶機(jī)的dns client軟件把最終結(jié)果返回給瀏覽器。
11、瀏覽器把目的IP 地址連同http 數(shù)據(jù)傳遞給網(wǎng)絡(luò)層。
12、網(wǎng)絡(luò)層根據(jù)目標(biāo)地址判斷路由,發(fā)現(xiàn)目標(biāo)IP 地址211.152.17.58與本機(jī)不在同一個(gè)網(wǎng)段(判斷是否是同一個(gè)網(wǎng)
段使用子網(wǎng)掩碼與目的IP 地址做與運(yùn)算) ,于是決定把次包發(fā)給網(wǎng)關(guān)。
13、檢查本地arp 緩存表獲得本地網(wǎng)關(guān)的MAC 地址。
.....
........
三、DNS 在哪里?
提供DNS 的是計(jì)算機(jī),是安裝了DNS 服務(wù)器端軟件的計(jì)算機(jī)。服務(wù)器端軟件即可以是基于類Unix 操作系統(tǒng),也可
以是基于Windows 操作系統(tǒng)的。裝好DNS 服務(wù)器軟件后,您就可以在您指定的位置創(chuàng)建區(qū)域文件了,所謂區(qū)域文
件就是包含了此域中名字到IP 地址解析記錄的一個(gè)文件(如文件名可能是seebod.com. 這個(gè)文件的內(nèi)容是這樣的
:
primary name server = dns2.100ok.com (主服務(wù)器的主機(jī)名是 dns2.100ok.com)
serial = 2007042913 (當(dāng)前序列號(hào)是2007042913。這個(gè)序列號(hào)的作用是當(dāng)輔域名服務(wù)器來(lái)copy 時(shí)候這個(gè)文件時(shí)
,如果號(hào)碼增加了就copy )
refresh = 10800 (3 hours) (輔域名服務(wù)器每隔3小時(shí)查詢一個(gè)主服務(wù)器)
retry = 3600 (1 hour) (當(dāng)輔域名服務(wù)試圖在主服務(wù)器上查詢更時(shí),而連接失敗了,輔域名服務(wù)器每隔1小時(shí)訪問(wèn)
主域名服務(wù)器)
,(1)用nslookup 來(lái)判斷是否真的是DNS 解析故障:
要想百分之百判斷是否為DNS 解析故障就需要通過(guò)系統(tǒng)自帶的NSLOOKUP 來(lái)解決了。
第一步:確認(rèn)自己的系統(tǒng)是windows 2000和windows xp以上操作系統(tǒng),然后通過(guò)“開(kāi)始->運(yùn)行->輸入CMD”后回車
進(jìn)入命令行模式。
第二步:輸入nslookup 命令后回車,將進(jìn)入DNS 解析查詢界面。
第三步:命令行窗口中會(huì)顯示出當(dāng)前系統(tǒng)所使用的DNS 服務(wù)器地址,例如筆者的DNS 服務(wù)器IP 為202.106.0.20。
第四步:接下來(lái)輸入你無(wú)法訪問(wèn)的站點(diǎn)對(duì)應(yīng)的域名。例如筆者輸入www.xkq.com ,假如不能訪問(wèn)的話,那么DNS
解析應(yīng)該是不能夠正常進(jìn)行的。我們會(huì)收到DNS request timed out,timeout was 2 seconds的提示信息。這說(shuō)明
我們的計(jì)算機(jī)確實(shí)出現(xiàn)了DNS 解析故障。
小提示:如果DNS 解析正常的話,會(huì)反饋回正確的IP 地址,例如筆者用www.xkq.com 這個(gè)地址進(jìn)行查詢解析,會(huì)
得到name:ciidnet.com,addresses :61.135.133.103,61.135.133.104的信息。
(2)查詢DNS 服務(wù)器工作是否正常:
這時(shí)候我們就要看看自己計(jì)算機(jī)使用的DNS 地址是多少了,并且查詢他的運(yùn)行情況。
第一步:確認(rèn)自己的系統(tǒng)是windows 2000和windows xp以上操作系統(tǒng),然后通過(guò)“開(kāi)始->運(yùn)行->輸入CMD”后回車
進(jìn)入命令行模式。
第二步:輸入ipconfig /all命令來(lái)查詢網(wǎng)絡(luò)參數(shù)。
第三步:在ipconfig /all顯示信息中我們能夠看到一個(gè)地方寫(xiě)著DNS SERVERS,這個(gè)就是我們的DNS 服務(wù)器地址
BoBoUse 析錯(cuò)誤時(shí),我們可以更換一個(gè)其他的DNS 服務(wù)器地址即可解決問(wèn)題。
第四步:如果在DNS 服務(wù)器處顯示的是自己公司的內(nèi)部網(wǎng)絡(luò)地址,那么說(shuō)明你們公司的DNS 解析工作是交給公司
正常解析。解決DNS 服務(wù)器上的DNS 服務(wù)故障,一般來(lái)說(shuō)問(wèn)題也能夠解決。
(3)清除DNS 緩存信息法:內(nèi)部的DNS 服務(wù)器來(lái)完成的,這時(shí)我們需要檢查這個(gè)DNS 服務(wù)器,在DNS 服務(wù)器上進(jìn)行nslookup 操作看是否可以
當(dāng)計(jì)算機(jī)對(duì)域名訪問(wèn)時(shí)并不是每次訪問(wèn)都需要向DNS 服務(wù)器尋求幫助的,一般來(lái)說(shuō)當(dāng)解析工作完成一次后,該解
析條目會(huì)保存在計(jì)算機(jī)的DNS 緩存列表中,如果這時(shí)DNS 解析出現(xiàn)更改變動(dòng)的話,由于DNS 緩存列表信息沒(méi)有改
變,在計(jì)算機(jī)對(duì)該域名訪問(wèn)時(shí)仍然不會(huì)連接DNS 服務(wù)器獲取最新解析信息,會(huì)根據(jù)自己計(jì)算機(jī)上保存的緩存對(duì)應(yīng)
關(guān)系來(lái)解析,這樣就會(huì)出現(xiàn)DNS 解析故障。這時(shí)我們應(yīng)該通過(guò)清除DNS 緩存的命令來(lái)解決故障。
第一步:通過(guò)“開(kāi)始->運(yùn)行->輸入CMD”進(jìn)入命令行模式。
第二步:在命令行模式中我們可以看到在ipconfig /?中有一個(gè)名為/flushdns的參數(shù),這個(gè)就是清除DNS 緩存信息
的命令。
第三步:執(zhí)行ipconfig /flushdns命令,當(dāng)出現(xiàn)“successfully flushed the dns resolver cache”的提示時(shí)就說(shuō)明當(dāng)前
計(jì)算機(jī)的緩存信息已經(jīng)被成功清除。
第四步:接下來(lái)我們?cè)僭L問(wèn)域名時(shí),就會(huì)到DNS 服務(wù)器上獲取最新解析地址,再也不會(huì)出現(xiàn)因?yàn)橐郧暗木彺嬖斐?/p>
解析錯(cuò)誤故障了。
(4)修改HOSTS 文件法:
修改HOSTS 法就是把HOSTS 文件中的DNS 解析對(duì)應(yīng)關(guān)系進(jìn)行修改,從而實(shí)現(xiàn)正確解析的目的。因?yàn)樵诒镜赜?jì)算
機(jī)訪問(wèn)某域名時(shí)會(huì)首先查看本地系統(tǒng)中的HOSTS 文件,HOSTS 文件中的解析關(guān)系優(yōu)先級(jí)大于DNS 服務(wù)器上的解
析關(guān)系。
這樣當(dāng)我們希望把某個(gè)域名與某IP 地址綁定的話,就可以通過(guò)在HOSTS 文件中添加解析條目來(lái)實(shí)現(xiàn)。
第一步:通過(guò)“開(kāi)始->搜索”,然后查找名叫hosts 的文件。
第二步:當(dāng)然對(duì)于已經(jīng)知道他的路徑的讀者可以直接進(jìn)入c:windowssystem32driversetc目錄中找到HOSTS 文
件。如果你的系統(tǒng)是windows 2000,那么應(yīng)該到c:winntsystem32driversetc目錄中尋找。
第三步:雙擊HOSTS 文件,然后選擇用“記事本”程序?qū)⑵浯蜷_(kāi)。
第四步:之后我們就會(huì)看到HOSTS 文件的所有內(nèi)容了,默認(rèn)情況下只有一行內(nèi)容“127.0.0.1 localhost”。(其他前
面帶有#的行都不是真正的內(nèi)容,只是幫助信息而已)
第五步:將你希望進(jìn)行DNS 解析的條目添加到HOSTS 文件中,具體格式是先寫(xiě)該域名對(duì)應(yīng)的IP 地址,然后空格接。例如筆者的是202.106.0.20和202.106.46.151。從這個(gè)地址可以看出是個(gè)外網(wǎng)地址,如果使用外網(wǎng)DNS 出現(xiàn)解
,域名信息。例如筆者添加了“211.153.80.1www.xkq.com”與“10.82.0.1www.xkq.com”兩個(gè)條目。
第六步:設(shè)置完畢后我們?cè)L問(wèn)www.xkq.com 時(shí)就會(huì)自動(dòng)根據(jù)是在內(nèi)網(wǎng)還是外網(wǎng)來(lái)解析了。
三、總結(jié):
通過(guò)上面介紹的四個(gè)步驟,我們就可以解決大部分DNS 解析問(wèn)題了,這幾個(gè)方法中前三個(gè)是循序漸進(jìn)的一步步解決DNS 解析故障,而最后一個(gè)修改HOSTS 文件則是在實(shí)在沒(méi)有辦法的時(shí)候,一種權(quán)宜之計(jì)。當(dāng)然不管是通過(guò)哪種方法,我們都可以解決因?yàn)镈NS 解析錯(cuò)誤帶來(lái)的網(wǎng)絡(luò)故障。[4]
BoBoUse