1,什麼是DNS伺服器?
網際網路是由無數台伺服器和PC連接配接在一起組成的,每個伺服器都會有一個唯一的數字辨別,叫IP位址,IP位址是數字表示的,比如218.231.156.61伺服器,pc之間的通信協定用的是TCP/IP協定,在底層通信裡面,通信雙方都是憑借IP位址和對方聯系的,并沒有域名參與。域名是給人記憶用的,為了能夠把人記得住的名字轉換成機器認識的IP位址,就需要DNS伺服器來做這個“翻譯”。
簡單講,DNS伺服器就是個“翻譯”,或者說是個“字典”,用來把人容易記憶的域名對照翻譯成機器使用的數字格式的IP位址。
2,什麼是DNS記錄?
域名有千千萬,怎麼樣才能知道每個域名對應的IP位址呢?答案當然要到DNS伺服器(域名伺服器)去找,可是誰知道要到哪個DNS伺服器去找啊?這就是DNS記錄的作用,DNS記錄用來明确指明這個域名與IP位址的對應關系儲存在哪台DNS伺服器中。
每個域名都要有DNS記錄,最多可以有六條記錄,一般用2條就足夠。
3,如何更改DNS記錄,或者說如何更改DNS伺服器?
域名的DNS記錄儲存在頂級注冊機構那裡,例如.com .net儲存在verisign那裡。頂級注冊機構一般不直接接受使用者注冊請求,域名注冊要經過他們的“代理”即注冊商來購買,修改DNS記錄就需要到這些注冊商那裡修改。
4,修改了DNS,為何沒生效?
這個問題有點兒複雜,為了說清楚這個問題,我們必須先搞清楚域名的解析過程,就是域名是如何翻譯成IP位址的。
舉個例子:
當你在浏覽器的位址欄輸入 www.idcpcw.com 域名解析的過程就開始了:
第一步:浏覽器會查詢這個域名與IP的對應關系是不是已經存在于 C:\windows\system32\drivers\etc\hosts 檔案中,如果有,直接使用,尋找過程結束。如果沒有,進行下一步
第二步:浏覽器詢問本機預先設定好的域名伺服器,一般使用者是由ISP在聯網成功後就配置設定好的。
第三步:這個域名伺服器(稱為本地域名伺服器)本身并不知道任何域名與IP的對應資訊,但是它知道根域伺服器的IP位址,所謂根域伺服器就是最根源的12個伺服器,他們儲存了頂級域名的管轄資訊,根域伺服器會告訴所要查詢的域名的IP資料到哪裡去找。本地域名伺服器就會根據這個線索找到域名的管轄伺服器,然後再根據所提供的該域名的DNS記錄找到這個域名的真正域名伺服器(就是常說的DNS伺服器,打個比方:字典),本地域名伺服器從這個伺服器取得IP資訊後,儲存在記憶體中,然後把IP位址傳回給浏覽器,中間還有很複雜的遞歸過程,不再贅述。
在從“字典”取得IP資料的同時,有一個很重要的資料也一同傳回,就是這個域名和IP對應關系的有效期,在這個有效期内,如果再有同樣的域名請求翻譯成IP位址,那這個本地域名伺服器就不再到外面去找,而是直接把記憶體中上次就知道的IP位址傳回給浏覽器。直到有效期過了,它才會再次到外面去查詢。
同樣如果第一次域名查詢就失敗了,在域名設定的有效期内,該本地域名伺服器也不會再去外面找,而是直接告訴你,“這個域名找不到IP位址”。
好了,域名和IP的查找過程簡單講就是這樣,那再來回答問題:修改了DNS,為何沒生效? 答案很簡單:再等等,就生效了
那你要問,要等多久?有兩個環節決定了等待的時間有多長。
第一個環節就是DNS記錄的生效時間,因為域名的DNS記錄儲存在頂級注冊機構哪裡,更新不會是實時的,以前要幾個小時才會更新,現在不用這麼久,頂級域名要快些,幾分鐘即可,國内要慢些。
第二個環節是關鍵,就是這個域名的A記錄原來的有效期有多長?你知道嗎? 可能你自己都不知道。
一般的注冊商會設定成1小時,有的會幾個小時。
如果你原來的域名A記錄的有效期是幾個小時,那你現在的改動,也得幾個小時以後才會生效,前面講了,本地域名伺服器有緩存的。不超過有效期,是不會擷取最新變動的。
是以,看清楚原來的設定,就是TTL的設定是多少(機關是秒,3600秒=1小時) ,你就知道要多久才會生效了。
5,TTL是怎麼回事?
TTL就是 Time-to-live的縮寫,用來表明域名和IP對應關系在多長時間内有效,過了有效期就要重新去查詢。
TTL時間越長,緩存時間越長,更新越不容易及時生效。
TTL設定的小一些,生效時間就會快一些。
本文轉自張昺華-sky部落格園部落格,原文連結:http://www.cnblogs.com/bonelee/p/7305686.html,如需轉載請自行聯系原作者