01--DNS服務器1

DNS介紹

  Domian Name Servicelinux

  這是一種協議規範,屬於C/S架構,在C/S架構下咱們須要套接字的方式來訪問這個服務,因此,服務器端必需要擁有一個服務器端口;數據庫

  因此,DNS服務使用的端口爲 53/tcp 和 53/udp;其中 53/tcp 端口在主從服務器進行解析庫同步的時候使用,53/udp 端口在作USL解釋的時候使用;windows

現有DNS架構介紹

  如今又DNS架構由美國 IANA 組織來進行維護,IANA 組織同時也維護IP地址;緩存

  本地域名--hosts文件

    在網絡發展之初,咱們的網站地址與 域名 之間的對應關係都存放在本地;這時候的網站主機並很少,這時候,添加一臺主機,咱們只須要將該主機和域名對應關係添加到本地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就能夠實現本地解析了;

  現有dns架構構成過程

    可是,隨着互聯網中網站服務器的添加,本地hosts添加的數量愈來愈多,這時候本地再來維護這個龐大的解析庫關係,就變得很困難,而且查找起來也異常困難;

    此時,IANA機構提供了一臺性能強大的公網服務器,來維護這個數據庫,這時候,主機要作域名解析就能夠直接找到這臺服務器,從它上面獲取解析結果;

    可是,數量依然在不停的增長,查找這些解析庫成爲了一個比較困難的問題;這時候咱們IANA機構就引入了分佈式的想法,將解析任務交給了它的下級服務器,而這些服務器就是咱們的頂級域名服務器;這些服務器每一臺服務器負責一個域名區域;

    而客戶解析,由於查找麻煩的緣由,也不本身來查找域名,而是將這個工做交給了固定的DNS服務器,而本身直接找DNS服務器那去解析結果;

    這種架構,就是咱們現有的解析架構了;

  dns樹形結構介紹

    根據剛纔的描述,咱們有了各自的頂級域名服務器

      頂級域名(top level domain-tld)在最初的時候只有7個,包括:

        .com  .edu  .mil  .gov  .net   .org  .int

      而隨着時間的推移,IANA開放了全部頂級域名服務器;通常狀況下,頂級域名服務器在現有的互聯網環境下能夠更具三點來劃分,包括組織域、國家域、反向域;

 

    在根域名下就是咱們的頂級域名服務器;此時,引入了一個概念--域domian;

    每個域名管理一個區域內部的服務器;

     全部的域名都是在根下(.),以後則是頂級域名,由根域名服務器進行管理,以後則是一級域名服務器,由頂級域名服務器進行管理;

    公司內部的DNS服務器,則向上級域名服務器進行註冊,則此域名服務器,就能解析全部在該區域內的主機(例如.agongsi下的ns1 ns2 www三個主機)

DNS解析過程

  咱們在瞭解域名結構後,以後咱們就須要知道在互聯網上如何進行域名解析;

  域名查找方式

    默認狀況下咱們更具區域來進行域名解析;PC在請求域名的時候會直接找到本身的DNS服務器,再由該DNS服務區代理PC去進行這個地址的解析;

    首先就會來到根域名服務器,來進行查找,根域名服務器則會告訴DNS服務器該域名所在的頂級域名區域,例如 .com;

    收到該回復後,DNS服務器則會再去詢問頂級域名服務器。這時候,.com 就會回覆它的下級域名服務器,例如 .agongsi 的域名給DNS服務器;

    這時候,DNS就去詢問 .agongsi 這個區域的負責人,也就是 ns 服務器,這時候就能回覆獲得對應的IP地址;

    最後,將這個IP地址放回給PC;

    遞歸查找:

      其中,PC只須要指定dns服務器,向該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服務器或其餘的從DNS服務器那裏 「複製」(區域傳遞)一份解析庫;
輔助DNS服務器的解析庫的來源則是從主服務器同步而來的,從而避免了人爲的失誤所致使的解析庫不一致的問題;複製過程過要考慮主DNS服務器不斷變化的問題;咱們經過 序列號來肯定;
序列號:解析庫的版本號;前提:主服務器解析庫內容發生變化,其序列號遞增;
同步過程又分爲兩種,區域傳遞:
一、全量傳送:傳遞整個解析庫
二、增量傳送:傳遞解析庫變化的那個部份內容;
同步時間間隔-- 刷新時間:從服務器從主服務器請求同步解析庫的時間間隔;
重試時長:從服務器從主服務器請求同步解析庫失敗時,再次嘗試時間間隔;
過時時長:從服務器始終聯繫不到主服務器時,過多久後就放棄從服務器角度,中止提供服務;
通知機制:主服務器要求輔助服務器主動向服務器及逆行解析庫同步
【注意:主從服務器是同時工做的,都會接受請求,因此是能夠基於主從服務器進行負載分擔的;】

  緩存DNS服務器

爲了提升解析速度,我經過本地緩存的方式來實現本地解析;
同時,緩存的域名解析條目會被服務器拿來,隨時比對其本來的域名服務器上的域名條目,這就是經過比較hash值的方式,保證緩存的域名條目的正確性;
經過公共緩存的方式來實現上述解析方式;
本地DNS服務器實現本地域名緩存;
PC1訪問網站的緩存,保持在本地緩存;
這樣就更加提升了服務器的解析速度。

  轉發器

    本地DNS服務器直接指定互聯網dns服務器,幫助進行DNS條目的解析;

    由圖可知,轉換器上須要指定公網DNS,這時候全部的DNS請求都會由公網DNS爲咱們解析;

相關文章
相關標籤/搜索