乙個由分層的dns伺服器實現的分布式資料庫乙個使得主機能夠查詢分布式資料庫的應用層協議執行在udp之上,53號埠
根、tld和權威dns伺服器都處在dns伺服器的層次中,還有一類稱為本地dns伺服器,嚴格來說不處於該層次結構中.當主機發出dns請求時,該請求被發往本地dns伺服器,它起著**作用,並將請求發往dns伺服器層次結構中。1.向本地dns伺服器傳送查詢報文,包含被轉換的主機名gaia.cs.umass.edu
2.本地dns伺服器將該報文**到根dns伺服器
3.根dns伺服器注意到edu字首並向本地dns伺服器edu的tld的ip列表位址
4.本地dns伺服器向tld伺服器之一傳送查詢報文,tld伺服器注意到umass.edu,並用其權威伺服器位址dns.umass.edu進行響應
5.本地dns伺服器直接向權威伺服器位址dns.umass.edu重發查詢報文,權威伺服器dns.umass.edu用gaia.cs.umass.edu進行響應
第1次查詢是遞迴查詢,該查詢以dns.poly.edu名義進行
後面3個查詢是迭代查詢,所有的回答直接返回。
dns伺服器收到回答時就將回答快取在本地儲存器上,有失效時間。一般傳送請求時瀏覽器的dns查詢順序是:瀏覽器快取》系統快取》路由器快取》本地dns伺服器快取》遞迴查詢。
一般本地dns伺服器快取可在isp上,中間有路由器的話可能是路由器。
瀏覽器dns快取和dns伺服器的
ttl(time to live)
無關,每種瀏覽器都有固定的dns快取時間,chrome為1mindns查詢命令:
-
ipconfig /displaydns
:查詢所有dns快取-
nslookup -d www.baidu.com
或者nslookup www.baidu.com
查詢某url的dns資訊。在dns系統中有1個重要的資源記錄叫a記錄,他將特定的網域名稱對映到對應主機的ip位址上。將a記錄填寫到特定的dns解析服務商的伺服器上,過段時間別人就可以通過網域名稱訪問自己的**了。這裡若有多個伺服器主機則dns除了解析網域名稱之外還需根據使用者進行負載均衡:
可看出:上面的負載均衡節點是單點的,dns伺服器中配置了多條a記錄,每次網域名稱解析都會根據對應的負載均衡演算法計算出對應的ip位址,但這是傳統的做法,如果dns伺服器崩了那所有使用者都不能訪問**了下面是cdn的做法:可看出所有請求被分配到不同的節點上,即使單點故障也可進行故障轉移。
dns伺服器可能位於任意位置,dns會將網域名稱解析為距離使用者地理最近的伺服器位址,這樣便可以加速訪問。具體如何解析?dns查詢順序為:pc>瀏覽器快取》系統快取》路由器快取》本地dns伺服器快取》遞迴查詢》迭代查詢》返回給pc,其中迭代查詢中將進行智慧型dns解析,可用方式:
1. 將不同區域的ip位址儲存在一張ip位址及其地理資訊的對映表中,當有使用者請求時,將其解析到最近的線路中。
2. 根據不同線路的繁忙程度解析到空閒的線路中。
DNS查詢原理總結
前一陣子給乙個局做網路的培訓,有關於dns的內容,linux下的bind與windows 2003 server的dns我都配置過,不過還真沒認真地總結過,於是查了點資料,結合平時的理解,寫了乙個dns的總結,相信對那些經常遇到dns問題而困惑的人有所幫助吧。1 向本地dns伺服器傳送 解答 請求,...
DNS學習筆記
dns簡單介紹 1.dns 是乙個由分層的dns伺服器實現的分布式資料庫,是乙個允許主機查詢分布式資料庫的應用層協議 2.dns伺服器 就相當於乙個軟體程式 其實乙個重要dns伺服器是乙個集群 他一般部署在unix或者linux系統上,dns協議是執行在udp協議之上,使用的是53號埠 3.獲取ip...
網域名稱系統DNS 總結
網際網路採用層次樹狀結構來命名網域名稱,任何乙個連網的主機或路由器都有乙個唯一的網域名稱。這裡的 域 是可以劃分的,每個域都可以劃分子域,從而形成了頂級域 二級域 域,等等。每乙個網域名稱都是由標號序列 label 組成,各個標號之間用點隔開,例如下面的網域名稱 mail.cctv.com 這是 電...