當使用者在瀏覽器輸入乙個位址後,dns解析成ip會有將近10個步驟。
第二步:
如果瀏覽器快取中沒有,則會查詢作業系統快取中是否有這個網域名稱對應的dns解析結果。就是作業系統裡的hosts檔案裡配置的網域名稱和ip的對應關係。
前面兩個步驟都是本機完成的,到這裡還沒有涉及到真正的網域名稱解析伺服器,如果在本機中無法完成網域名稱的解析,就會真正請求網域名稱伺服器來解析這個網域名稱。
第三步:
怎麼知道網域名稱伺服器呢?在網路配置中都會有dns伺服器位址這一欄,前面兩步無法解析的網域名稱,作業系統就會把這個網域名稱傳送給這裡設定的ldns,也就是本地區的網域名稱伺服器。
這個dns通常都提供給你本地網際網路接入的乙個dns解析服務。比如電信、聯通、移動。
這個專門的網域名稱解析伺服器效能都很好,也會快取解析結果,所以百分之80的解析過程到這裡就結束了。
所以ldns承擔著主要的網域名稱解析工作。
第四步:
如果ldns還沒有命中的時候,就直接到 root server網域名稱伺服器進行解析。
根網域名稱伺服器(root server):
根伺服器主要用來管理網際網路的主目錄,全世界ipv4根伺服器只有13臺(這13臺ipv4根網域名稱伺服器名字分別為「a」至「m」),1個為主根伺服器在美國。其餘12個均為輔根伺服器,其中9個在美國,歐洲2個,位於英國和瑞典,亞洲1個位於日本。
第六步:
ldns會再向根網域名稱伺服器返回的gtld伺服器傳送請求。
第七步:
接受請求的gtld伺服器會查詢並返回此網域名稱對應的name server網域名稱伺服器的位址。
這個name server 通常就是你註冊的網域名稱伺服器,例如在某個網域名稱服務提供商申請的網域名稱,那麼這個網域名稱的解析任務就由這個網域名稱提供商的伺服器來完成。
第八步:
name server網域名稱伺服器會查詢儲存的與和ip的對映關係表,根據網域名稱得到ip,連同乙個ttl值返回給dns網域名稱伺服器。
ttl是 time to live的縮寫,該欄位指定ip包被路由器丟棄之前允許通過的最大網段數量。ttl是ipv4包頭的乙個8 bit欄位。
注意:ttl與dns ttl有區別。二者都是生存時間,但乙個指icmp包的**次數(跳數),乙個指網域名稱解析資訊在dns中的存在時間。
第九步:
返回該網域名稱對應的ttl值和ip,ldns會快取這個ip和網域名稱的對應關係,快取時間由ttl值控制。
第十步:
把解析結果返回給使用者,使用者根據ttl值快取在本地的系統快取中。網域名稱解析結束。
第一步和第二步在本機的請求過程不在圖中。
DNS網域名稱解析過程
1.應用發起基於網域名稱的請求後,linux先查詢本地dns cache。2.本地dns cache命中 cache中有該網域名稱的紀錄項 則返回目標ip位址,否則將網域名稱解析請求傳送給本地網域名稱解析伺服器 dns server 3.網域名稱伺服器 dns server 收到請求後,先查詢本地快...
DNS網域名稱解析過程
1 瀏覽器會檢查快取中有沒有儲存過這個ip位址 如果當前快取中有此ip位址則本次解析到此結束,可以直接訪問ip位址,否則進行下一步。2 檢查作業系統快取 如果系統快取了此ip對映。本次解析到此結束,否則進行下一步 3 檢查ldns快取 本地網域名稱伺服器一般為網路服務提供商提供,比如電信聯通或者校園...
DNS網域名稱解析過程
dns,就是domain name system的縮寫,翻譯過來就是網域名稱系統,是網際網路上作為網域名稱和ip位址相互對映的乙個分布式資料庫。dns能夠使使用者更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的ip數串。通過網域名稱,最終得到該網域名稱對應的ip位址的過程叫做網域名稱解析 或主...