當發起DNS請求時會發生甚麼事
當請求域名時,電腦會先檢查local cache,查看最近是否查詢過該地址;如果沒有,就會向Recursive DNS Server發出請求。
Recursive DNS Server通常由自己的ISP提供,但也可以選擇自己的伺服器。如果在本地找到結果,就會回傳電腦,請求結束(以Google、Facebook、Twitter這種常用的大型伺服器來說很常見)。但如果在本地找不到,那麼就會從網際網路的Root DNS Servers開始。
Root DNS Servers作為網路的DNS主架構,負責的內容是根據發出的請求重定向到正確的Top Level Domain Server。例如請求 www.ABC.com Root Servers會識別出.com這個Top Level Domain,並引導到處理.com地址的正確TLD Server。
Top Level Domain Server(TLD Server)保存著用於查找能夠回答DNS請求的authoritative server的記錄,authoritative server通常也被稱為該域名的nameserver。例如,ABC.com的名稱伺服器是 aa.bb.cdefgh.com 和xyz.bb.cdefgh.com。會發現一個域名有多個nameserver作為備份,作用是防止其中一個故障就不能連線。
Authoritative DNS Server負責儲存特定域名DNS records的伺服器,對任何域名DNS records的更新都會在這裡進行。根據記錄類型,該DNS records隨後會被發送回Recursive DNS Server,並在那裡建立一個本地副本供未來請求時快取使用,然後再轉發回發出請求的原始客戶端。所有DNS records都帶TTL。表示在本地儲存多久之後,就必須再次查詢。