DNS入門:域名解析流程詳解
時間:2023-02-02 11:04:01 | 來源:建站知識
時間:2023-02-02 11:04:01 來源:建站知識
當(dāng)我們需要向互聯(lián)網(wǎng)請求資源時,需要獲取資源所在服務(wù)器的IP地址,以進(jìn)行通信。而實際上,IP地址由32位的二進(jìn)制數(shù)字組成,即使是點分十進(jìn)制的IP地址也很難記憶。但服務(wù)器主機(jī)名則比較容易記住。故而,需有一個主機(jī)名到IP的映射關(guān)系,以獲取主機(jī)服務(wù)器對應(yīng)的IP地址。DNS(域名系統(tǒng))即保存了互聯(lián)網(wǎng)上所有域名與IP的映射關(guān)系,通過主機(jī)名獲取對應(yīng)主機(jī)IP的流程即DNS解析流程。
DNS解析授權(quán)實現(xiàn)
從DNS域名結(jié)構(gòu)上我們得知,域名是分層級的,最上層為根域,下一級為頂級域(Top
Level Domain,如com, org等)。域名解析授權(quán)是個樹狀結(jié)構(gòu),自上而下的分層體系。
首先,根DNS把頂級域名按后綴分別授權(quán)給不同的DNS,以有利于管理。修改頂級域名的授權(quán)要到根DNS上才能完成。我們可以用dig +@某根服務(wù)器IP com. ns來查看根服務(wù)器下com頂級域名服務(wù)器授權(quán)的NS服務(wù)器詳情。
可以看到,com 頂級域名服務(wù)器有13個NS,每個NS分別有一個IPv4地址和IPv6地址。
接下來,com 頂級域名服務(wù)器再將以com結(jié)尾的后綴(譬如
http://wangsu.com)授權(quán)給對應(yīng)企業(yè)或組織的DNS服務(wù)器解析。指定或修改
http://wangsu.com的權(quán)威DNS要到頂級域名DNS服務(wù)器上操作,一般可通過域名提供商(新網(wǎng),萬網(wǎng),二牛等)的域名管理平臺來操作頂級域名DNS上的記錄。
DNS分級查詢
DNS是分級別進(jìn)行授權(quán),由根授權(quán)一些NS管理com區(qū)的域名,再由com授權(quán)
http://wangsu.com區(qū)管理自己區(qū)的域名,故DNS查詢時,在沒有緩存的情況下,也是由根DNS開始查詢,一次查詢每一級的NS記錄,最終得到對應(yīng)域名的IP地址。
DNS解析流程詳解
本小節(jié)以網(wǎng)宿域名www.wangsu.com域名的對應(yīng)的IP,介紹DNS解析流程。
終端用戶發(fā)出DNS請求時,本地DNS服務(wù)器接收到請求,首先檢查緩存是否有數(shù)據(jù),若有,則直接使用緩存數(shù)據(jù)。接下來介紹的流程為沒有任何緩存的場景。
1. 終端用戶DNS客戶端向LocalDNS發(fā)起遞歸查詢。遞歸查詢指如果終端用戶所請求的LocalDNS服務(wù)器不知道被查詢的域名的IP地址,則以DNS客戶端的身份,向其它域名服務(wù)器繼續(xù)發(fā)出查詢請求報文(即替主機(jī)繼續(xù)查詢),而不是讓主機(jī)自己進(jìn)行下一步查詢。因此,遞歸查詢返回的查詢結(jié)果或者是所要查詢的IP地址,或者是報錯,表示無法查詢到所需的IP地址。
2. LocalDNS檢查本地對應(yīng)緩存無數(shù)據(jù)后,則向根DNS服務(wù)器發(fā)起迭代查詢請求。任何LocalDNS都需知道根DNS服務(wù)器的IP地址(全球共13臺)。迭代查詢指域名服務(wù)器或者給出最終結(jié)果,或者告訴DNS客戶(此處指LocalDNS)應(yīng)去哪些DNS服務(wù)器查詢。
3. 根DNS服務(wù)器告訴LocalDNS該域名已授權(quán)給com區(qū)管理,應(yīng)去com DNS服務(wù)器查詢,并給出了com DNS服務(wù)器的IP地址。LocalDNS將com DNS服務(wù)器及其IP地址加入到緩存,下次DNS請求,在緩存未過期的情況下,授權(quán)給com 區(qū)的域名需向com DNS服務(wù)器請求查詢時,直接往com DNS服務(wù)器發(fā)查詢請求,不再向根DNS服務(wù)器請求。
4. LocalDNS服務(wù)器根據(jù)根DNS服務(wù)器響應(yīng)的結(jié)果向com DNS服務(wù)器發(fā)起迭代查詢請求。
5. com DNS服務(wù)器告訴LocalDNS服務(wù)器該域名已授權(quán)給
http://wangsu.com區(qū)管理,應(yīng)去
http://wangsu.comDNS服務(wù)器查詢,并給出
http://wangsu.com DNS服務(wù)器的IP地址。LocalDNS將
http://wangsu.comDNS服務(wù)器及其IP地址加入到緩存,下次DNS請求,在緩存未過期的情況下,授權(quán)給
http://wangsu.com區(qū)的域名需向
http://wangsu.com DNS服務(wù)器請求查詢時,直接往對應(yīng) DNS服務(wù)器發(fā)查詢請求,不再向根DNS服務(wù)器及com DNS服務(wù)器請求。
6. LocalDNS服務(wù)器根據(jù) com DNS服務(wù)器響應(yīng)的結(jié)果向
http://wangsu.com DNS服務(wù)器發(fā)起迭代查詢請求。
7.
http://wangsu.com DNS服務(wù)器給出域名的IP地址。LocalDNS將www.wangsu.com
IP地址加入到緩存,下次相同的DNS請求,在緩存未過期的情況下,LocalDNS直接給出該域名的IP地址,不再向權(quán)威DNS服務(wù)器查詢。
8. LocalDNS服務(wù)器將該域名對應(yīng)的IP地址返回給終端用戶,DNS客戶端將域名對應(yīng)的IP地址接入緩存。下次請求該域名時,若緩存未過期,DNS客戶端直接從緩存取出IP,不再向LocalDNS發(fā)起迭代查詢。