<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          通俗易懂,了解什么是DNS及查詢過程?

          共 4362字,需瀏覽 9分鐘

           ·

          2021-11-27 07:44


          一、DNS是什么

          DNS(Domain Names System),域名系統(tǒng),是互聯(lián)網(wǎng)一項服務,是進行域名和與之相對應的 IP 地址進行轉(zhuǎn)換的服務器

          簡單來講,DNS相當于一個翻譯官,負責將域名翻譯成ip地址

          • IP 地址:一長串能夠唯一地標記網(wǎng)絡上的計算機的數(shù)字
          • 域名:是由一串用點分隔的名字組成的 Internet 上某一臺計算機或計算機組的名稱,用于在數(shù)據(jù)傳輸時對計算機的定位標識


          二、域名

          域名是一個具有層次的結構,從上到下一次為根域名、頂級域名、二級域名、三級域名…

          例如www.xxx.com,www為三級域名、xxx為二級域名、com為頂級域名,系統(tǒng)為用戶做了兼容,域名末尾的根域名.一般不需要輸入

          在域名的每一層都會有一個域名服務器,如下圖:

          除此之外,還有電腦默認的本地域名服務器

          三、查詢方式

          DNS 查詢的方式有兩種:

          • 遞歸查詢:如果 A 請求 B,那么 B 作為請求的接收者一定要給 A 想要的答案
          • 迭代查詢:如果接收者 B 沒有請求者 A 所需要的準確內(nèi)容,接收者 B 將告訴請求者 A,如何去獲得這個內(nèi)容,但是自己并不去發(fā)出請求


          四、域名緩存

          在域名服務器解析的時候,使用緩存保存域名和IP地址的映射

          計算機中DNS的記錄也分成了兩種緩存方式:

          • 瀏覽器緩存:瀏覽器在獲取網(wǎng)站域名的實際 IP 地址后會對其進行緩存,減少網(wǎng)絡請求的損耗
          • 操作系統(tǒng)緩存:操作系統(tǒng)的緩存其實是用戶自己配置的 hosts 文件(歡迎關注公眾號:網(wǎng)絡技術聯(lián)盟圈)


          五、查詢過程

          解析域名的過程如下:

          • 首先搜索瀏覽器的 DNS 緩存,緩存中維護一張域名與 IP 地址的對應表

          • 若沒有命中,則繼續(xù)搜索操作系統(tǒng)的 DNS 緩存

          • 若仍然沒有命中,則操作系統(tǒng)將域名發(fā)送至本地域名服務器,本地域名服務器采用遞歸查詢自己的 DNS 緩存,查找成功則返回結果

          • 若本地域名服務器的 DNS 緩存沒有命中,則本地域名服務器向上級域名服務器進行迭代查詢


            • 首先本地域名服務器向根域名服務器發(fā)起請求,根域名服務器返回頂級域名服務器的地址給本地服務器
            • 本地域名服務器拿到這個頂級域名服務器的地址后,就向其發(fā)起請求,獲取權限域名服務器的地址
            • 本地域名服務器根據(jù)權限域名服務器的地址向其發(fā)起請求,最終得到該域名對應的 IP 地址
          • 本地域名服務器將得到的 IP 地址返回給操作系統(tǒng),同時自己將 IP 地址緩存起來

          • 操作系統(tǒng)將 IP 地址返回給瀏覽器,同時自己也將 IP 地址緩存起

          • 至此,瀏覽器就得到了域名對應的 IP 地址,并將 IP 地址緩存起

          流程如下圖所示:

          下面解析步驟進行講解,后面將采用命令行的形式來跟蹤解析過程。當用戶在地址欄鍵入并敲下回車鍵之后,域名解析就開始了。

          第一步:檢查瀏覽器緩存中是否緩存過該域名對應的IP地址

          用戶通過瀏覽器瀏覽過某網(wǎng)站之后,瀏覽器就會自動緩存該網(wǎng)站域名對應的地址,當用戶再次訪問的時候,瀏覽器就會從緩存中查找該域名對應的IP地址,因為緩存不僅是有大小限制,而且還有時間限制(域名被緩存的時間通過屬性來設置),所以存在域名對應的找不到的情況。當瀏覽器從緩存中找到了該網(wǎng)站域名對應的地址,那么整個解析過程結束,如果沒有找到,將進行下一步驟。對于的緩存時間問題,不宜設置太長的緩存時間,時間太長,如果域名對應的發(fā)生變化,那么用戶將在一段時間內(nèi)無法正常訪問到網(wǎng)站,如果太短,那么又造成頻繁解析域名。

          第二步:如果在瀏覽器緩存中沒有找到IP,那么將繼續(xù)查找本機系統(tǒng)是否緩存過IP

          如果第一個步驟沒有完成對域名的解析過程,那么瀏覽器會去系統(tǒng)緩存中查找系統(tǒng)是否緩存過這個域名對應的地址,也可以理解為系統(tǒng)自己也具備域名解析的基本能力。在系統(tǒng)中,可以通過設置文件來將域名手動綁定到某上,文件位置在。對于普通用戶,并不推薦自己手動綁定域名和,對于開發(fā)者來說,通過綁定域名和,可以輕松切換環(huán)境,可以從測試環(huán)境切換到開發(fā)環(huán)境,方便開發(fā)和測試。在系統(tǒng)中,黑客常常修改他的電腦的文件,將用戶常常訪問的域名綁定到他指定的上,從而實現(xiàn)了本地解析,導致這些域名被劫持。在或者系統(tǒng)中,文件在,修改該文件也可以實現(xiàn)同樣的目的。

          前兩步都是在本機上完成的,所以沒有在上面示例圖上展示出來,從第三步開始,才正在地向遠程DNS服務器發(fā)起解析域名的請求。

          第三步:向本地域名解析服務系統(tǒng)發(fā)起域名解析的請求

          如果在本機上無法完成域名的解析,那么系統(tǒng)只能請求本地域名解析服務系統(tǒng)進行解析,本地域名系統(tǒng)一般都是本地區(qū)的域名服務器,比如你連接的校園網(wǎng),那么域名解析系統(tǒng)就在你的校園機房里,如果你連接的是電信、移動或者聯(lián)通的網(wǎng)絡,那么本地域名解析服務器就在本地區(qū),由各自的運營商來提供服務。對于本地服務器地址,系統(tǒng)使用命令就可以查看,在和系統(tǒng)下,直接使用命令來查看服務地址。一般都緩存了大部分的域名解析的結果,當然緩存時間也受域名失效時間控制,大部分的解析工作到這里就差不多已經(jīng)結束了,負責了大部分的解析工作。

          第四步:向根域名解析服務器發(fā)起域名解析請求

          本地域名解析器還沒有完成解析的話,那么本地域名解析服務器將向根域名服務器發(fā)起解析請求。(歡迎關注公眾號:網(wǎng)絡技術聯(lián)盟圈

          第五步:根域名服務器返回gTLD域名解析服務器地址

          本地域名解析向根域名服務器發(fā)起解析請求,根域名服務器返回的是所查域的通用頂級域()地址,常見的通用頂級域有、、、等。

          第六步:向gTLD服務器發(fā)起解析請求

          本地域名解析服務器向gTLD服務器發(fā)起請求。

          第七步:gTLD服務器接收請求并返回Name Server服務器

          服務器接收本地域名服務器發(fā)起的請求,并根據(jù)需要解析的域名,找到該域名對應的域名服務器,通常情況下,這個服務器就是你注冊的域名服務器,那么你注冊的域名的服務商的服務器將承擔起域名解析的任務。

          第八步:Name Server服務器返回IP地址給本地服務器

          服務器查找域名對應的地址,將地址連同值返回給本地域名服務器。

          第九步:本地域名服務器緩存解析結果

          本地域名服務器緩存解析后的結果,緩存時間由時間來控制。

          第十步:返回解析結果給用戶

          解析結果將直接返回給用戶,用戶系統(tǒng)將緩存該地址,緩存時間由來控制,至此,解析過程結束。

          這里對解析的步驟進行了一個簡單的介紹分析,后面將通過命令行的形式來解析一個域名的具體解析過程。

          二、 DNS域名解析過程分析

          在正式開始分析解析過程之前,先來介紹幾個基本的域名解析方式的概念。域名解析記錄主要分為A記錄、MX記錄、CNAME記錄、NS記錄以及TXT記錄。
          DNS 資源記錄

          在 DNS 服務器上,一個域名及其下級域名組成一個區(qū)域。相關的 DNS 信息構成一個數(shù)據(jù)庫文件。所以每個區(qū)域數(shù)據(jù)庫文件都是由資源記錄構成的,一個資源記錄就是一行文本,提供了一組有用的 DNS 配置信息。

          常見的資源記錄類型如表所示。

          類型編碼內(nèi)容
          A1將 DNS 域名映射到 IPv4 地址,基本作用是說明一個域名對應了哪些 IPv4 地址
          NS2權威名稱服務器記錄,用于說明這個區(qū)域有哪些 DNS 服務器負責解析
          CNAME5別名記錄,主機別名對應的規(guī)范名稱
          SOA6起始授權機構記錄,NS 記錄說明了有多臺服務器在進行解析,但哪一個才是主服務器,NS 并沒有說明,SOA 記錄了說明在眾多 NS 記錄里哪一臺才是主要的服務器
          PTR12IP 地址反向解析,是 A 記錄的逆向記錄,作用是把 IP 地址解析為域名
          MX15郵件交換記錄,指定負責接收和發(fā)送到域中的電子郵件的主機
          TXT16文本資源記錄,用來為某個主機名或域名設置的說明
          AAAA28將 DNS 域名映射到 IPv6 地址,基本作用是說明一個域名對應了哪些 IPv6 地址

          A記錄,A代表的是Address,用來指定域名對應的IP地址,如將http://xxxxx.com指定到IP地址139.***.184.***。A記錄可以將多個域名解析到一個IP地址,但是不能將一個域名解析到多個IP地址。

          A記錄就是解析我們常見的帶www和不帶www的域名,解析不帶www的域名時主機記錄填@或者不填,解析帶www的域名時主機記錄填www。

          MX記錄,表示的是Mail Exchange,就是可以將某個域名下的郵件服務器指向自己的Mail Server,如http://xxxxx.com域名的A記錄IP地址是115.***.25.***,如果MX記錄設置為115.***.25.***,是[email protected]的郵件路由,DNS會將郵件發(fā)送到***.238.25.***所在的服務器,而正常通過Web請求的話仍然解析到A記錄的IP地址。

          CNAME記錄,全稱是Canonical Name(別名解析)。所謂的別名解析就是可以為一個域名設置一個或者多個別名,別名解析通常用來解析二級域名。

          NS記錄,為某個域名指定DNS解析服務器,也就是這個域名有指定的IP地址的DNS服務器去解析。
          TXT記錄,為某個主機名或域名設置說明,如可以為http://maikeseo.com設置TXT記錄為”麥可SEO”這樣的說明。
          上面概念中的地址都是假定的,幫助理解。下面將通過解析域名為例,進一步說明域名解析流程。

          直接查看域名結果,可以通過命令加上域名來查看:

          上圖中表示解析結果來自非權威服務器,也就是說這個結果來自緩存,并沒有完全經(jīng)歷全部的解析過程,從某個緩存中讀取的結果,這個結果存在一定的隱患,比如域名對應的地址已經(jīng)更變。

          這只是一個快捷的解析結果,如果需要瀏覽全部的解析過程,那么可以使用命令來查看解析過程。

          分析上圖解析過程,我們可以看出:

          第一步:從本地域名解析服務器獲取到個根域名服務器對應的主機名。

          第二步:從個根域名服務器中的其中一個(這里是)獲取到頂級的服務器(未顯示)和名稱。

          第三步:向域的一臺服務器請求解析,它返回了域的服務器(未顯示)和名稱,百度有四臺頂級域的服務器。

          第四步:向百度的頂級域服務器請求,它發(fā)現(xiàn)這個有個別名,而不是一臺主機,別名是www.a.shifen.com。

          一般情況下,解析到別名就停止了,返回了具體的地址,如果想看到具體的地址,可以進一步對別名進行解析,解析結果如下:

          這時候看到最后的解析結果是a.shifen.com.。在解析別名的過程中,可以發(fā)現(xiàn)和都是指定了相同的域名解析服務器。以上是一個域名的解析過程,最后的解析結果和一開始的使用的結果一致。

          本文來源:http://t.cn/A6MWgRjz,

          筆者在此致謝,如有侵權,私信刪除

          Linux學習指南

          有收獲,點個在看?

          瀏覽 41
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产亲妺妺乱的性视频 | 好逼天天 | 婷婷五月性 | 天天操夜夜撸 | 美女性爱网 |