DNS域名解析
這個知識點已經是老生常談,快被寫爛了,但是為了自己能理解的更清楚一點,還是選擇整理出一篇自己的文章。
DNS( Domain Name System)是“域名系統”的英文縮寫,主要作用就是將便於人類記憶的單片語合(如www.taobao.com),解析成不太容易記憶的數字組合(61.154.126.109)。
序
我覺得這是網際網路發展的必須結果,想一想如果沒有DNS系統,平時我們想要訪問百度,淘寶,騰訊的網站,都要在瀏覽器中輸入一長串的數字,耗時又不方便,並且一旦想要訪問的網站增多了,很多人也不願意記這麼多的數字在腦袋中。
然後好一點的辦法就是把那些數字記錄到一個清單裡,對應是那個網站。僅供個人使用的時候還挺方便,但是一旦與網民互相交流的時候,每個人的清單列法不一樣,討論起來也不一致,所以規範很重要。
DNS就相當於整個網站對映的規範,適應與全球的網站,國內GFW即利用了DNS汙染使得我們無法訪問一些國外的網站。
過程
DNS解析過程可以分為有快取的解析與無快取的解析,一般都是有快取的,雖然情況更復雜一些,但更貼近實際。
-
如果是在瀏覽器中輸入域名, 檢測瀏覽器是否有解析過的IP地址快取,有的話直接使用上次解析的IP結果。
-
瀏覽器無快取,則檢查系統快取。*nix下會檢查
/etc/hosts
檔案中是否有對應的快取。Windows下會檢查C:WindowsSystem32driversetchosts
中內容。注意:黑客可以在解析的任一流程中修改解析對應的IP,將解析的IP指向黑客的伺服器,導致域名被劫持。
-
本地快取如果都沒有的話,會將要解析的域名(www.taobao.com)傳送到本地設定的 DNS伺服器。即LDNS
Linux下的NameServer配置資訊在/etc/resolve.conf
.這個專門的域名解析伺服器效能都會很好,它們一般都會快取域名解析結果,80%的域名解析到這裡基本已經完成了,所以LDNS主要承擔了域名的解析工作。
-
如果LDNS沒有命中結果,就直接到Root Server域名伺服器請求解析
-
根據域名伺服器返回給本地域名伺服器一個所查詢域的主域名伺服器,(gTLD Server)地址。gTLD是國際頂級域名服務,如.com, .cn, .org。
-
本地域名伺服器LDNS再向上一步返回的gTLD伺服器傳送請求。
-
接受請求的gTLD伺服器查詢並返回對應Name Server域名伺服器的地址。Name Server通常是註冊的域名伺服器。
假如這是你再某個域名服務提供上申請的域名,那麼這個域名的解析任務由這個域名提供商的伺服器來完成。 -
Name Server域名伺服器會查詢儲存域名和IP的關係對映表,正常情況下都根據域名得到目標IP記錄,連同一個TTL值返回給DNS Server域名伺服器。
-
根據返回該域名對應的IP和TTL值,本地DNS伺服器,LDNS會快取這域名和IP的對應關係,快取時間由TTL值來控制。
-
把解析的結果返回給使用者,使用者根據TTL值快取在本地系統快取中,域名解析過程結束。
最後
DNS域名解析過程在面試中也是經常問到的問題,做個整理,希望能幫助到大家,以後自己也方便檢視。
參考
- 深入理解Java Web 技術內幕
相關文章
- DNS域名解析過程DNS
- DNS域名解析服務DNS
- 什麼是DNS域名解析DNS
- DNS (域名解析伺服器), DNS子域授權DNS伺服器
- DNS域名解析服務及其配置DNS
- Linux——DNS域名解析服務LinuxDNS
- 必看:詳解DNS域名解析:重新整理本地DNS快取,使域名解析儘快生效DNS快取
- Linux---DNS域名解析如何配置LinuxDNS
- 主從DNS域名解析伺服器DNS伺服器
- DNS直接解析域名與泛域名解析DNS
- linux apache泛域名解析及dns相關LinuxApacheDNS
- 利用Wireshark抓包分析DNS域名解析過程DNS
- 主流域名解析庫曝重大DNS投毒漏洞,如何有效應對DNS投毒?DNS
- linux下安裝dns域名解析伺服器LinuxDNS伺服器
- AIX 6.1下改變域名解析順序(DNS, LOCAL)AIDNS
- 第3步: 域名解析伺服器的過程(DNS)伺服器DNS
- DNS解析常見問題:域名解析生效原理及時間DNS
- Linux的DNS域名解析服務(正向,反向,主從,分離)LinuxDNS
- 域名解析導致資料庫連線緩慢(hosts :files dns)資料庫DNS
- 通過Wireshark抓包分析談談DNS域名解析的那些事兒DNS
- 在Linux中,DNS進行域名解析的過程是什麼?LinuxDNS
- DNS域名解析的流程是什麼?學習linux主要學什麼DNSLinux
- c語言winsock 實現解簡域名解析(DNS. v 1.0)C語言DNS
- 【iCore3 雙核心板】例程二十五:LAN_DNS實驗——域名解析DNS
- 主流域名解析庫曝重大DNS投毒漏洞,應如何做好有效應對?DNS
- 【iCore4 雙核心板_ARM】例程二十五:LWIP_DNS實驗——域名解析DNS
- 如何在已有內網網路中增加專案專用域名解析伺服器(DNS)內網伺服器DNS
- 域名解析
- 哈佛大學:研究顯示全球八大DNS服務商控制了59%流行域名解析DNS
- 什麼是域名解析?如何設定域名解析?
- 泛域名解析
- DNS域名解析 學習瞭解作用以及如何配置 內附案例可跟做 適合初學者DNS
- 域名解析需要多久生效?域名解析常見問題解答
- 什麼是域名解析?如何進行域名解析設定?
- 域名解析過程
- 為什麼要進行域名解析?域名解析怎麼設定?
- DNS劫持 DNS汙染 介紹、dns 劫持 汙染DNS
- 域名解析是什麼?