DNS域名解析過程
第一步:當(dāng)用戶在瀏覽器地址欄輸入域名地址擅憔,并回車后币呵,首先瀏覽器會(huì)檢查緩存中有沒有這個(gè)域名對(duì)應(yīng)的解析過的IP地址涌穆,如果有世澜,那么這個(gè)解析過程就結(jié)束(這個(gè)緩存是有限制的独旷,包括瀏覽器緩存大小的限制和緩存時(shí)間的長(zhǎng)短限制,可通過TTL屬性限制,在Java中可以通過networkaddress.cache.negative.ttl屬性設(shè)置)
第二步:當(dāng)瀏覽器緩存中沒有嵌洼,瀏覽器會(huì)檢查操作系統(tǒng)緩存中是否有這個(gè)域名對(duì)應(yīng)的DNS解析結(jié)果案疲。Windows中System32\drivers\etc\hosts,linux中在/etc/hosts文件中可設(shè)置域名與IP對(duì)應(yīng)關(guān)系。
第三步:當(dāng)操作系統(tǒng)緩存中也沒有對(duì)應(yīng)的解析結(jié)果時(shí)麻养,會(huì)真正請(qǐng)求域名服務(wù)器解析域名络拌。此時(shí)操作系統(tǒng)會(huì)將域名發(fā)送至網(wǎng)絡(luò)設(shè)置里的DNS服務(wù)器,也就是本地區(qū)的DNS服務(wù)器
連接特定的 DNS 后綴 . . . . . . . :
描述. . . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
物理地址. . . . . . . . . . . . . : 00-50-56-C0-00-08
DHCP 已啟用 . . . . . . . . . . . : 是
自動(dòng)配置已啟用. . . . . . . . . . : 是
本地鏈接 IPv6 地址. . . . . . . . : fe80::6485:3540:8e10:cc2%9(首選)
IPv4 地址 . . . . . . . . . . . . : 192.168.17.1(首選)
子網(wǎng)掩碼 . . . . . . . . . . . . : 255.255.255.0
獲得租約的時(shí)間 . . . . . . . . . : 2018年4月17日 0:50:22
租約過期的時(shí)間 . . . . . . . . . : 2018年4月17日 1:50:38
默認(rèn)網(wǎng)關(guān). . . . . . . . . . . . . :
DHCP 服務(wù)器 . . . . . . . . . . . : 192.168.17.254
DHCPv6 IAID . . . . . . . . . . . : 620777558
DHCPv6 客戶端 DUID . . . . . . . : 00-01-00-01-1F-5C-33-ED-20-1A-06-1F-57-46
DNS 服務(wù)器 . . . . . . . . . . . : 219.141.136.10
114.114.114.114
主 WINS 服務(wù)器 . . . . . . . . . : 192.168.17.2
TCPIP 上的 NetBIOS . . . . . . . : 已啟用
(ipconfig/all DNS這個(gè)具體地址可以查到是北京電信DNS服務(wù)器)
這個(gè)專門的域名解析服務(wù)器性能都會(huì)很好回溺,它們一般都會(huì)緩存域名解析結(jié)果,當(dāng)然次緩存也是受緩存時(shí)間約束的混萝,一般緩存空間不是影響域名失效的主要因素遗遵。大多數(shù)的域名解析到這就已經(jīng)完成了,所以LDNS是域名解析工作的主要承擔(dān)者逸嘀。
第四步:如果LDNS依舊沒有命中车要,那么就直接到RootServer域名服務(wù)器請(qǐng)求解析。
第五步:根域名服務(wù)器返回給本地域名服務(wù)器一個(gè)所查詢域的主域名服務(wù)器(gTLDServer)地址崭倘。gTLD是國際頂級(jí)域名服務(wù)器翼岁,如.com、 .cn司光、.org等琅坡。
第六步:本地域名服務(wù)器再向上一步返回的gTLD服務(wù)器發(fā)送請(qǐng)求。
第七步:接受請(qǐng)求的gTLD服務(wù)器查找并返回此域名對(duì)應(yīng)的Name Server域名服務(wù)器的地址残家,這個(gè)Name Server通常就是你注冊(cè)的域名服務(wù)器(某個(gè)域名服務(wù)提供商的服務(wù)器)榆俺,這一步就由這個(gè)域名服務(wù)提供商的服務(wù)器來完成解析任務(wù)。
第八步:Name Server域名服務(wù)器會(huì)查詢存儲(chǔ)的域名和IP的映射關(guān)系表坞淮,在正常情況下都根據(jù)域名得到目標(biāo)IP記錄茴晋,連同一個(gè)TTL值返回給DNS Server域名服務(wù)器。
第九步:返回該域名對(duì)應(yīng)的IP和TTL值回窘,Local DNS Server(本地區(qū)的域名服務(wù)器)會(huì)緩存這個(gè)域名和IP的對(duì)應(yīng)關(guān)系诺擅,緩存時(shí)間由TTL控制。
第十步:把解析結(jié)果返回給用戶啡直,用戶根據(jù)TTL值緩存在本地系統(tǒng)緩存中烁涌,域名解析過程結(jié)束。
清除緩存的域名
Linux下可以通過 /etc/init.d/nscd restart 來清除緩存酒觅。
幾種域名解析方式
主要分為:A記錄烹玉、MX記錄、CNAME記錄阐滩、NS記錄和TXT記錄二打。
A記錄,指定域名對(duì)應(yīng)的IP地址掂榔。A記錄可以將多個(gè)域名解析到一個(gè)IP地址继效,但是不能將一個(gè)域名解析到多個(gè)IP地址症杏。
MX記錄,就是將某個(gè)域名下的郵件服務(wù)器指向自己的Mail Server瑞信。
CNAME記錄厉颤,全稱別名解析,就是可以為一個(gè)域名設(shè)置一個(gè)或多個(gè)別名凡简。
NS記錄逼友,就是為某個(gè)域名指定DNS解析服務(wù)器。
TXT記錄秤涩,就是為某個(gè)主機(jī)名或域名設(shè)置說明帜乞。