相信很多小白剛接觸計(jì)算機(jī)網(wǎng)絡(luò)的時(shí)候,跟我一樣對(duì)DNS總是一知半解,今天我們來(lái)聊聊這個(gè)話題——關(guān)于DNS解析的具體過(guò)程是怎么樣的呢?
概念
DNS(Domain?Name?System)——域名解析系統(tǒng),本質(zhì)是一個(gè)分布式數(shù)據(jù)庫(kù),將域名和ip地址做一個(gè)相互映射。
通俗來(lái)講,DNS系統(tǒng)就像一位翻譯官,從事將主機(jī)名(此電腦—>設(shè)備名稱可查看)或者域名(例如www.qq.com)轉(zhuǎn)換為實(shí)際IP地址的工作。
解析過(guò)程
1.在瀏覽器中輸入www.qq.com域名,操作系統(tǒng)會(huì)先檢查自己本地的hosts文件是否有這個(gè)網(wǎng)址映射關(guān)系,如果有,就先調(diào)用這個(gè)IP地址映射,完成域名解析。
Windows系統(tǒng)下,hosts文件在?C:\Windows\System32\drivers\etc。
我們可以通過(guò)修改hosts文件的方式,加快訪問(wèn)某些網(wǎng)站的速度。
2.如果hosts里沒(méi)有這個(gè)域名的映射,則查找本地DNS解析器緩存,是否有這個(gè)網(wǎng)址映射關(guān)系,如果有,直接返回,完成域名解析。
3.如果以上二者都沒(méi)有相應(yīng)的域名-IP映射關(guān)系,首先會(huì)找TCP/IP參數(shù)中設(shè)置的首選DNS服務(wù)器,在此我們叫它本地DNS服務(wù)器,此服務(wù)器收到查詢時(shí),如果要查詢的域名,包含在本地配置區(qū)域資源中,則返回解析結(jié)果給客戶機(jī),完成域名解析。
此解析具有權(quán)威性。
4.如果要查詢的域名,不由本地DNS服務(wù)器區(qū)域解析,但該服務(wù)器已緩存了此網(wǎng)址映射關(guān)系,則調(diào)用這個(gè)IP地址映射,完成域名解析。
此解析不具有權(quán)威性。
5.如果本地DNS服務(wù)器本地區(qū)域文件與緩存解析都失效,則根據(jù)本地DNS服務(wù)器的設(shè)置(是否設(shè)置轉(zhuǎn)發(fā)器)進(jìn)行查詢,如果未用轉(zhuǎn)發(fā)模式,本地DNS就把請(qǐng)求發(fā)至 “根DNS服務(wù)器”,“根DNS服務(wù)器”收到請(qǐng)求后會(huì)判斷這個(gè)域名(.com)是誰(shuí)來(lái)授權(quán)管理,并會(huì)返回一個(gè)負(fù)責(zé)該頂級(jí)域名服務(wù)器的一個(gè)IP。本地DNS服務(wù)器收到IP信息后,將會(huì)聯(lián)系負(fù)責(zé).com域的這臺(tái)服務(wù)器。這臺(tái)負(fù)責(zé).com域的服務(wù)器收到請(qǐng)求后,如果自己無(wú)法解析,它就會(huì)找一個(gè)管理.com域的下一級(jí)DNS服務(wù)器地址(qq.com)給本地DNS服務(wù)器。當(dāng)本地DNS服務(wù)器收到這個(gè)地址后,就會(huì)找qq.com域服務(wù)器,重復(fù)上面的動(dòng)作,進(jìn)行查詢,直至找到www.qq.com主機(jī)。
6.如果用的是轉(zhuǎn)發(fā)模式,此DNS服務(wù)器就會(huì)把請(qǐng)求轉(zhuǎn)發(fā)至上一級(jí)DNS服務(wù)器,由上一級(jí)服務(wù)器進(jìn)行解析,上一級(jí)服務(wù)器如果不能解析,或找根DNS或把轉(zhuǎn)請(qǐng)求轉(zhuǎn)至上上級(jí),以此循環(huán)。不管本地DNS服務(wù)器用的是轉(zhuǎn)發(fā),還是根提示,最后都是把結(jié)果返回給本地DNS服務(wù)器,由此DNS服務(wù)器再返回給客戶機(jī)。
參考: