網路 - DNS解析過程原理
DNS解析過程原理
DNS速度優化是網站優化SEO中的一部分,優化DNS解析就必須瞭解DNS解析原理及過程。
當使用者訪問我們網站一個網頁時,他需要經過以下步驟:
1)找到這個網頁的存放伺服器;
2)伺服器將使用者的請求資訊接入;
3)伺服器通過檔案路徑(URL)查詢使用者請求網頁;
4)使用者將該網頁內容下載到自己電腦上。
我們所講的DNS解析主要是第一個步驟,即讓使用者通過URL找到檔案存放的伺服器。
1、為什麼要有DNS解析?
讓使用者電腦和伺服器(網頁存放電腦)連線起來並不是靠域名進行,網路上計算機之間實現連線是通過每臺計算機在網路中擁有的惟一的IP地址來完成的。但IP地址並不便於記憶,這樣就需要在使用者容易記憶的地址和計算機能夠識別的地址之間有一個解析,使用者容易記憶的地址就是域名,而DNS伺服器便充當了將使用者請求的域名“翻譯”成相應IP地址以便於計算機之間相互連線的角色。
2、DNS解析原理是什麼?
DNS解析主要有遞迴查詢,就是在某個DNS伺服器快取中查詢不到相應的域名與IP地址對應關係時,自動跳轉到到下一步驟通過下一個DNS伺服器進行查詢。具體可見如下兩圖:
DNS解析過程原理
DNS解析原理過程
3、DNS解析過程是什麼?
DNS解析過程是重點也是難點,下面笨鳥按自己的理解一步步來解釋,可能有錯誤之處,歡迎指正。
以下步驟中,將DNS快取中存在域名對應IP則DNS解析成功,使用者計算機將直接訪問伺服器,若DNS伺服器快取中不存在域名對應IP,則自動進入下一步。
1) 瀏覽器快取
當使用者通過瀏覽器訪問某域名時,瀏覽器首先會在自己的快取中查詢是否有該域名對應的IP地址(若曾經訪問過該域名且沒有清空快取便存在);
2) 系統快取
當瀏覽器快取中無域名對應IP則會自動檢查使用者計算機系統Hosts檔案DNS快取是否有該域名對應IP;
3) 路由器快取
當瀏覽器及系統快取中均無域名對應IP則進入路由器快取中檢查,以上三步均為客服端的DNS快取;
4) ISP(網際網路服務提供商)DNS快取
當在使用者客服端查詢不到域名對應IP地址,則將進入ISP DNS快取中進行查詢。比如你用的是電信的網路,則會進入電信的DNS快取伺服器中進行查詢;
5) 根域名伺服器
當以上均未完成,則進入根伺服器進行查詢。全球僅有13臺根域名伺服器,1個主根域名伺服器,其餘12為輔根域名伺服器。根域名收到請求後會檢視區域檔案記錄,若無則將其管轄範圍內頂級域名(如.com)伺服器IP告訴本地DNS伺服器;
6) 頂級域名伺服器
頂級域名伺服器收到請求後檢視區域檔案記錄,若無則將其管轄範圍內主域名(如ecdoer.com)伺服器的IP地址告訴本地DNS伺服器;
7) 主域名伺服器
主域名伺服器接受到請求後查詢自己的快取,如果沒有則進入下一級域名伺服器(www.ecdoer.com)進行查詢,並重復該步驟直至找到正確紀錄;
8)儲存結果至快取
本地域名伺服器把返回的結果儲存到快取,以備下一次使用,同時將該結果反饋給客戶端,客戶端通過這個IP地址與web伺服器建立連結。
4、DNS優化如何實現?
一般域名商或伺服器商都會提供免費的DNS服務,然而,很多情況下這些免費的DNS伺服器速度較慢,故可做一定優化,具體可從以下幾方面:
1)增加DNS伺服器數量
減小伺服器壓力,當單位伺服器需要處理的DNS請求數量較少時速度會更快;
2)全國多地分佈DNS伺服器
使用者網路訪問速度跟使用者計算機到伺服器的距離有關,若可以讓使用者就近訪問所在省份的伺服器便可以加速DNS解析速度;
3)識別使用者線路反饋相應線路IP
當使用者網路線路跟伺服器網路線路一致時速度較快,而不一致時則較慢,如:使用者使用電信的線路但伺服器是聯通的線路,這樣就會造成使用者訪問網站速度下降,如果可以識別使用者訪問線路並反饋相應IP則會加速網站訪問。
相關文章
- DNS的原理和解析過程DNS
- 轉:DNS解析過程詳解DNS
- 乾貨分享 | 一文讀懂DNS原理及解析過程DNS
- go dns解析過程及調優GoDNS
- DNS解析原理DNS
- 什麼是DNS解析?DNS解析的過程是什麼樣的?DNS
- 從Chrome原始碼看DNS解析過程Chrome原始碼DNS
- 利用Wireshark抓包分析DNS域名解析過程DNS
- DNS解析是什麼?DNS解析在網路通訊中作用有哪些?DNS
- 網路定址過程
- 第3步: 域名解析伺服器的過程(DNS)伺服器DNS
- Https原理解析及詳細推演過程HTTP
- 網站_域名_DNS_埠_web訪問過程網站DNSWeb
- Linux網路中的DNS域名正向解析實操LinuxDNS
- 在Linux中,DNS進行域名解析的過程是什麼?LinuxDNS
- OKHttp網路請求原理流程解析HTTP
- 無線模組透明傳輸原理及過程解析
- 搭建Kubernetes叢集時DNS無法解析問題的處理過程DNS
- 網路協議---DNS協議DNS
- 域名解析過程
- DNS解析常見問題:域名解析生效原理及時間DNS
- 中科三方:什麼是DNS?DNS解析的原理是怎樣的?DNS
- Android 網路優化,使用 HTTPDNS 優化 DNS,從原理到 OkHttp 整合Android優化httpdDNS
- 【Kubernetes系列】第10篇 網路原理解析(下篇)
- 【Kubernetes系列】第9篇 網路原理解析(上篇)
- 卷積神經網路數學原理解析卷積神經網路
- DNS協議 是什麼?說說DNS 完整的查詢過程?DNS協議
- 網際網路公司專案的上線過程
- 什麼是DNS解析?如何提升DNS解析安全?DNS
- DNS解析流程DNS
- fabric網路環境啟動過程詳解
- 使用NumPy演示實現神經網路過程神經網路
- 使用PyTorch演示實現神經網路過程PyTorch神經網路
- OpenPose訓練過程解析(2)
- MapReduce 執行全過程解析
- docker 容器中解析 PHP 過程DockerPHP
- openGauss核心:SQL解析過程分析SQL
- 如何在已有內網網路中增加專案專用域名解析伺服器(DNS)內網伺服器DNS