Domian Name Servicelinux
這是一種協議規範,屬於C/S架構,在C/S架構下咱們須要套接字的方式來訪問這個服務,因此,服務器端必需要擁有一個服務器端口;數據庫
因此,DNS服務使用的端口爲 53/tcp 和 53/udp;其中 53/tcp 端口在主從服務器進行解析庫同步的時候使用,53/udp 端口在作USL解釋的時候使用;windows
如今又DNS架構由美國 IANA 組織來進行維護,IANA 組織同時也維護IP地址;緩存
在網絡發展之初,咱們的網站地址與 域名 之間的對應關係都存放在本地;這時候的網站主機並很少,這時候,添加一臺主機,咱們只須要將該主機和域名對應關係添加到本地hosts文件便可;服務器
windows的hosts文件:網絡
C:\Windows\System32\drivers\etc\hosts架構
1.2.3.4 www.test.com
添加這個對應關係在最後後面便可dom
linux的hosts文件:tcp
/etc/hosts分佈式
同windows配置
這樣windows和linux就能夠實現本地解析了;
可是,隨着互聯網中網站服務器的添加,本地hosts添加的數量愈來愈多,這時候本地再來維護這個龐大的解析庫關係,就變得很困難,而且查找起來也異常困難;
此時,IANA機構提供了一臺性能強大的公網服務器,來維護這個數據庫,這時候,主機要作域名解析就能夠直接找到這臺服務器,從它上面獲取解析結果;
可是,數量依然在不停的增長,查找這些解析庫成爲了一個比較困難的問題;這時候咱們IANA機構就引入了分佈式的想法,將解析任務交給了它的下級服務器,而這些服務器就是咱們的頂級域名服務器;這些服務器每一臺服務器負責一個域名區域;
而客戶解析,由於查找麻煩的緣由,也不本身來查找域名,而是將這個工做交給了固定的DNS服務器,而本身直接找DNS服務器那去解析結果;
這種架構,就是咱們現有的解析架構了;
根據剛纔的描述,咱們有了各自的頂級域名服務器
頂級域名(top level domain-tld)在最初的時候只有7個,包括:
.com .edu .mil .gov .net .org .int
而隨着時間的推移,IANA開放了全部頂級域名服務器;通常狀況下,頂級域名服務器在現有的互聯網環境下能夠更具三點來劃分,包括組織域、國家域、反向域;
在根域名下就是咱們的頂級域名服務器;此時,引入了一個概念--域domian;
每個域名管理一個區域內部的服務器;
全部的域名都是在根下(.),以後則是頂級域名,由根域名服務器進行管理,以後則是一級域名服務器,由頂級域名服務器進行管理;
公司內部的DNS服務器,則向上級域名服務器進行註冊,則此域名服務器,就能解析全部在該區域內的主機(例如.agongsi下的ns1 ns2 www三個主機)
咱們在瞭解域名結構後,以後咱們就須要知道在互聯網上如何進行域名解析;
默認狀況下咱們更具區域來進行域名解析;PC在請求域名的時候會直接找到本身的DNS服務器,再由該DNS服務區代理PC去進行這個地址的解析;
首先就會來到根域名服務器,來進行查找,根域名服務器則會告訴DNS服務器該域名所在的頂級域名區域,例如 .com;
收到該回復後,DNS服務器則會再去詢問頂級域名服務器。這時候,.com 就會回覆它的下級域名服務器,例如 .agongsi 的域名給DNS服務器;
這時候,DNS就去詢問 .agongsi 這個區域的負責人,也就是 ns 服務器,這時候就能回覆獲得對應的IP地址;
最後,將這個IP地址放回給PC;
遞歸查找:
其中,PC只須要指定dns服務器,向該dns服務器發起解析請求,就能獲得解析結果,這個過程咱們叫作遞歸查找;
迭代查找
其中,DNS服務器依次去查找了根域名服務器、頂級域名服務器、公司域名服務器;最後才能獲得正確的解析結果,這個過程咱們叫作迭代查找;
可知,迭代查找是很是消耗資源的;
【注意:除了查找DNS外,都有的過程當中都會進行DNS解析名稱的緩存,這個咱們以後再說】
此時,咱們要注意一個問題,再上圖中,PC所鏈接的DNS也是公司內部的DNS服務器,也就是說,這臺DNS服務器除了爲PC作解析之外,同時也能夠承當爲互聯網上其餘PC解析本地服務器的責任;
同理,爲了方便咱們上網,咱們內部並不須要去搭建DNS服務器,能夠直接指定互聯網上的DNS服務器,讓運營商的DNS服務器來爲咱們進行解析也能夠;
【注意,這裏只有一個問題,就是權限問題,咱們不可能讓每一個人公司都去提供一個相似於8.8.8.8的DNS服務器,用來給別人進行解析,因此,咱們就須要對DNS作權限管理,這個問題咱們以後再說明】
常見的解析類型由兩種,這個在兩個不一樣的區域來實現解析的;因此,在配置的時候,咱們使用兩個zone來配置;
Name --> IP 將域名解析爲IP地址
IP --> Name 將IP解析爲 name ;這個技術是以線索提示的方式來實現,這是一種較爲複雜的問題,在互聯網上大多數的域名都沒法行進行反向解析;可是,方向解析是很重要的,例如:它能夠用來驗證對方有些服務器是否爲來及郵件服務器;
根據DNS服務器的解析過程,咱們由多種DNS服務器,主要包括主備dns服務器,緩存服務器,以及DNS轉發器;
本地DNS服務器直接指定互聯網dns服務器,幫助進行DNS條目的解析;
由圖可知,轉換器上須要指定公網DNS,這時候全部的DNS請求都會由公網DNS爲咱們解析;