DNS的解析原理和過程:
在Internet上域名和IP是對應的,DNS解析有兩種:一種是正向解析,另外一種是反向解析。
正向解析:正向解析就是將域名轉換成對應的 IP地址的過程,它應用於在瀏覽器地址欄中輸入網站域名時的情形。
反向解析:根據IP地址查找對應的注冊域名,經常被一些后台程序使用,用戶看不到。
另外需要知道的是DNS查詢的工作方式:
客戶端和瀏覽器,本地DNS之間的查詢方式是遞歸查詢;
本地DNS服務器與根域及其子域之間的查詢方式是迭代查詢;
DNS解析過程:
場景:用戶在瀏覽器輸入網址:clondant.blog.51cto.com,其解析過程如下:
第1步:瀏覽器將會檢查緩存中有沒有這個域名對應的解析過的IP地址,如果有該解析過程將會結束。
第2步:如果用戶的瀏覽器中緩存中沒有,操作系統會先檢查自己本地的hosts文件是否有這個網址映射關系,如果有,就先調用這個IP地址映射關系,完成域名解析。
第3步:如果hosts里沒有這個域名的映射,則查找本地DNS解析器緩存,是否有這個網址映射關系或緩存信息,如果有,直接返回給瀏覽器,完成域名解析。
第4步:如果hosts與本地DNS解析器緩存都沒有相應的網址映射關系,則會首先找本地DNS服務器,一般是公司內部的DNS服務器,此服務器收到查詢,如果此本地DNS服務器查詢到相對應的IP地址映射或者緩存信息,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。
第5步:如果本地DNS服務器無法查詢到,則根據本地DNS服務器設置的轉發器進行查詢;
未用轉發模式:本地DNS就把請求發至根DNS進行(迭代)查詢,根DNS服務器收到請求后會判斷這個域名(.com)是誰來授權管理,並會返回一個負責該頂級域名服務器的一個IP。本地DNS服務器收 到IP信息后,將會聯系負責.com域的這台服務器。這台負責.com域的服務器收到請求后,如果自己無法解析,它就會找一個管理.com域的下一級 DNS服務器地址給本地DNS服務器。當本地DNS服務器收到這個地址后,就會找域名域服務器,重復上面的動作,進行查詢,直至找到域名對應的主機。
使用轉發模式:此DNS服務器就會把請求轉發至上一級DNS服務器,由上一級服務器進行解析,上一級服務器如果不能解析,或找根DNS或把轉請求轉至 上上級,以此循環。不管是本地DNS服務器用是是轉發,還是根提示,最后都是把結果返回給本地DNS服務器,由此DNS服務器再返回給客戶機。
搭建基本的DNS服務
轉自:https://blog.51cto.com/cloudant/1956549