什么是DNS?
時間:2023-01-30 05:52:02 | 來源:建站知識
時間:2023-01-30 05:52:02 來源:建站知識
網絡出現(xiàn)的早期 是使用IP地址通訊的,那時就幾臺主機通訊。但是隨著接入網絡主機的增多,這種數(shù)字標識的地址非常不便于記憶,UNIX上就出現(xiàn)了建立一個叫做hosts的文件 ( Linux和windows也繼承保留了這個文件)。這個文件中記錄這主機名稱和IP地址的對應表。這樣只要輸入主機名稱,系統(tǒng)就會去加載hosts文件并查找對應關系,找到對應的IP,就可以訪問這個IP的主機了。
但是后來主機太多了,無法保證所有人都能拿到統(tǒng)一的最新的hosts文件,就出現(xiàn)了在文件服務器上集中存放hosts文件,以供下載使用。互聯(lián)網規(guī)模進一步擴大,這種方式也不堪負重,而且把所有地址解析記錄形成的文件都同步到所有的客戶機似乎也不是一個好辦法。這時DNS系統(tǒng)出現(xiàn)了,隨著解析規(guī)模的繼續(xù)擴大,DNS系統(tǒng)也在不斷的演化,直到現(xiàn)今的多層架構體系
DNS(Domain Name System,域名系統(tǒng)),因特網上作為域名和IP地址互相映射的一個分布式數(shù)據庫,能夠使用戶更方便的訪問互聯(lián)網,而不用去記住能夠被機器直接讀取的IP數(shù)串。通過主機名,最終得到該主機對應的IP地址的過程叫做域名解析(或主機名解析)。DNS協(xié)議運行在UDP協(xié)議之上,使用端口號53。
DNS的分布數(shù)據庫是以域名為索引的,每個域名實際上就是一棵很大的逆向樹中路徑,這棵逆向樹稱為域名空間(domain name space),如下圖所示樹的最大深度不得超過127層,樹中每個節(jié)點都有一個可以長達63個字符的文本標號。
DNS系統(tǒng)的作用
正向解析:根據主機名稱(域名)查找對應的IP地址
反向解析:根據IP地址查找對應的主機域名
DNS系統(tǒng)的分布式數(shù)據結構
(有興趣可自行了解下)
1,在瀏覽器中輸入
http://pool.btc.com域名,操作系統(tǒng)會先檢查自己本地的hosts文件是否有這個網址映射關系,如果有,就先調用這個IP地址映射,完成域名解析。
2,如果hosts里沒有這個域名的映射,則查找
本地DNS解析器緩存,是否有這個網址映射關系,如果有,直接返回,完成域名解析。
3,如果hosts與本地DNS解析器緩存都沒有相應的網址映射關系,首先會找TCP/ip參數(shù)中設置的首選DNS服務器,在此我們叫它
本地DNS服務器,此服務器收到查詢時,如果要查詢的域名,包含在本地配置區(qū)域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。
4,如果要查詢的域名,不在本地DNS服務器區(qū)域解析,但該服務器已緩存了此網址映射關系,則調用這個IP地址映射,完成域名解析,此解析不具有權威性。
5,如果本地DNS服務器本地區(qū)域文件與緩存解析都失效,則根據本地DNS服務器的設置(是否設置轉發(fā)器)進行查詢,如果未用轉發(fā)模式,本地DNS就把請求發(fā)至13臺根DNS,根DNS服務器收到請求后會判斷這個域名(.com)是誰來授權管理,并會返回一個負責該頂級域名服務器的一個IP。本地DNS服務器收到IP信息后,將會聯(lián)系負責.com域的這臺服務器。這臺負責.com域的服務器收到請求后,如果自己無法解析,它就會找一個管理.com域的下一級DNS服務器地址(
http://BTC.com)給本地DNS服務器。當本地DNS服務器收到這個地址后,就會找
http://pool.btc.com域服務器,重復上面的動作,進行查詢,直至找到
http://pool.btc.com主機。
6,如果用的是轉發(fā)模式,此DNS服務器就會把請求轉發(fā)至上一級DNS服務器,由上一級服務器進行解析,上一級服務器如果不能解析,或找根DNS或把轉請求轉至上上級,以此循環(huán)。不管是本地DNS服務器用是是轉發(fā),還是根提示,最后都是把結果返回給本地DNS服務器,由此DNS服務器再返回給客戶機。
也稱為 唯高速緩存服務器
通過向其他域名服務器查詢獲得域名->IP地址記錄
將域名查詢結果緩存到本地,提高重復查詢時的速度
特定DNS區(qū)域的官方服務器,具有唯一性
負責維護該區(qū)域內所有域名->IP地址的映射記錄
也稱為 輔助域名服務器
其維護的 域名->IP地址記錄 來源于主域名服務器
第一段是查詢參數(shù)和統(tǒng)計
第二段是查詢內容
上面結果表示,查詢域名
http://pool.btc.com的A記錄,A是address的縮寫
第三段是DNS服務器的答復
上面結果顯示,
http://pool.btc.com有14個A記錄,即14個IP地址。60是TTL值(Time to live 的縮寫),表示緩存時間,即60秒之內不用重新查詢
第四段顯示
http://stackexchange.com的NS記錄(Name Server的縮寫),即哪些服務器負責管理
http://stackexchange.com的DNS記錄
DNS服務器的一些傳輸信息
上面結果顯示,本機的DNS服務器是192.168.124.1,查詢端口是53(DNS服務器的默認端口),以及回應長度是292字節(jié)。
指定向DNS服務器114.114.114.114查詢
指定向DNS服務器223.5.5.5查詢
查詢ip地址所在運營商