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設置的小一些,生效時間就會快一些。