當我們在瀏覽器的地址欄輸入網址的時候,其實輸入的是一個URL的域名,而這個域名需要解析成爲IP地址,才能讓我們與遠程的主機進行管理。而將URL解析成爲IP,就變得至關重要,這一過程就是DNS解析的過程。如果沒有DNS解析,那麼整個互聯網將會進入癱瘓,可以說DNS就是一個默默在小角落保護互聯網宇宙的英雄。
本文將來學習一下DNS解析成爲IP的過程。
1、DNS解析的具體步驟:
第一步,瀏覽器會檢查緩存中有沒有這個域名的對應解析IP,如果存在,返回IP地址解析完成。
瀏覽器的緩存也是有大小時間限制的,可以通過TTL屬性來設置,當然這個時間也是要控制好,太長如果服務器IP變化將會導致用戶無法訪問頁面,如果太短就失去了緩存的意義。
第二步,如果緩存中沒有對應的解析IP,瀏覽器會查找本機操作系統中是否存在該解析IP。
在windows系統中,可以通過C:\Windows\System32\drivers\etc下的host文件來修改。可以將任何的域名映射到對應的IP地址中。
- 第三步,如果上面兩步都不存在,我們的網絡配置中會有“DNS服務器地址”這一項,操作系統會將請求的域名發送給這裏設置的LDNS(本地區域名服務器)。
這個LDNS,一般都在你所在城市的某個角落,如果你是校內網,那麼這個服務器就在你的學校內,如果是家用的,這個DNS就會提供給你互聯網的服務接入商,即電信移動等。在windows下我們可以用ipconfig命令看到。LDNS 承擔了80%的域名解析。
第四步,如果第三步也沒有查詢到,就直接到Root Server 域名服務器請求解析。
第五步,根域名服務器返回給本地域名服務器一個所查詢的主域名服務器(gTLD Server)地址,gTLD Server:國際頂級域名服務器,共有13臺左右包括(cn、com、org等)
第六步,本地域名服務器(Local DNS Server)再想上一步返回的gTLD Server發送請求。
第七步,gTLD Server返回查詢的對應域名的Name Server域名服務器地址,這個就是我們平時註冊域名的服務器。
第八步,Name Server會查詢存儲的域名與IP地址的映射關係表,連同一個TTL值返回給DNS Server域名解析服務器。
第九步,返回該域名對應的IP和TTL值,由Local DNS Server來緩存,緩存時間由TTL值來控制。
第十步,把解析的地址返回給用戶,TTL值由瀏覽器緩存在本地系統,域名解析完成。
2、幾種域名解析方式:
- A記錄,a就是Address的簡寫,用來指定域名對應IP的地址,比如:items.taobao.com指定到115.238.23.241,switch.taobao.com指定到121.14.24.241。A記錄可以將多個域名映射到一個IP地址,但是不能一個域名對應多個IP。
- MX記錄,Mail Exchange,就是將某個域名下的,郵件服務器指向自己的Mail Server,比如:taobao.com的A記錄爲,115.238.23.241。那麼通過MX記錄,設置115.238.23.241對應的是“[email protected]”郵件路由。DNS會將郵件發送給115.238.23.241所在的服務器。不過正常通過web訪問的還是A記錄。
- CNAME記錄 ,全成Canonical Name(別名解析)。就是將一個域名設置成一個或多個別名,比如:baidu.com解析成smallsunl.com,taobao.com也解析成smallsunl.com。