瀏覽器與DNS解析過程


瀏覽器解析

1.地址欄輸入地址后,瀏覽器檢查自身DNS緩存

  地址欄輸入chrome://net-internals/#dns 查看。

2.瀏覽器緩存中未找到,那么Chrome會搜索操作系統自身的DNS緩存。

  windows平台  ipconfig /flushdns 來清空dns 緩存內容。你也可以用命令 ipconfig /displaydns 來查看dns 緩存內容。

  linux下由nscd守護進程進行管理  nscd也許需要自己安裝,使用man nscd

  The daemon will try to watch for changes in configuration files appropriate for each database (e.g., /etc/passwd for the
  passwd database or /etc/hosts and /etc/resolv.conf for the hosts database), and flush the cache when these are changed.
  However, this will happen only after a short delay

  大概就是這個守護進程會對密碼,域名,域名服務器地址信息維護一個數據庫,並且當對應的配置文件修改時,會自動更新,但有延遲。

  因此重置dns緩存可以重啟nscd服務 service nscd restart。

3.操作系統緩存也沒有,瀏覽器發起DNS調用,進入DNS解析過程。

 

DNS

什么是DNS

1.一個由分層的DNS服務器實現的分布式數據庫

2.使得一個主機能夠查詢分布式數據庫的應用層協議,運行在UDP上,使用53號端口。

DNS服務器分類

1.根DNS服務器,所謂的13台並非正確的稱法,應該說具有13個根DNS IP

2.頂級域名服務器 TLD 

按性質或國家地區,有com,gov,org,net,edu, cn,jp等

頂級域名又叫一級域名,baidu.com就是一個一級域名,而www.baidu.com則是該域名空間下的一台主機。

www.baidu.com還可以是二級域名,此時a.www.baidu.com才是域名下的一台主機。

3.權威DNS服務器 

一般每個組織或機構都維護自己的域名系統

4.本地DNS服務器 Local DNS Server

當主機發出DNS請求時,該請求被發往本地DNS服務器,它起到了代理作用

DNS解析過程

例如主機cis.poly.edu查詢 gaia.cs.umass.edu 的IP,其中前者本地DNS為dns.poly.edu,后者的權威DNS為 dns.umass.edu

1.主機將查詢發送至 local dns server dns.poly.edu

2.本地dns不包含此主機,向根dns發送查詢。

3.根dns返回edu的TLD的IP列表。

4.本地dns向TLD列表中的一個主機發送dns查詢

5.TLD返回目的主機對應的權威dns地址。

6.本地dns再向該權威dns dns.umass.edu發送查詢報文。

7.目的主機的權威dns返回目的主機的ip地址

DNS緩存

由以上過程可見,一條dns查詢可能會產生8條d'ns報文,采用緩存技術,可以減少dns查詢鏈的長度。

緩存原理

在一個請求鏈中,當某個DNS服務器接收一個DNS應答時,它能夠將信息緩存在本地存儲器中。當下次查詢時,就能避免到根dns,TLD和權威dns的查詢。

由於主機和主機名的映射不是永久的,DNS緩存將在一段時間后被丟棄。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM