1-趣味解读DNS工作原理——转载疯猫网络科技
因為只要我們輸入百度、騰訊、淘寶的名字,無論它們的服務器在哪里,歷經多少輪查詢,我們都能找到并訪問之。這就是計算機網絡中著名的域名系統DNS(Domain Name System),它能實現把一個網站的域名解析為對應的IP地址。有了IP就能和目標建立連接。這一看似簡單的過程,卻隱含多個步驟和小概念。
下面大家一起來動一動腦、掃一掃盲,當瀏覽器里輸入http://www.baidu.com回車后,怎樣能解析到它的IP呢?
a) 我們會先檢查瀏覽器的緩存中有沒有http://www.baidu.com對應的IP地址
b) 如果沒有,再檢查電腦操作系統的緩存中有沒有http://www.baidu.com的IP地址
[小貼士] 一般來說,當電腦第一次成功訪問一個網站后,在一定時間內,瀏覽器或操作系統會緩存有它的IP地址(DNS解析記錄) 。
查看操作系統上已緩存的所有DNS解析記錄 (本例有2條):
Time To Live (TTL) 表示這條記錄還能緩存在操作系統內的剩余時間。比如第一條,2119s后,它將不再有效。
這時如果網站的IP發生變化,但我們系統的DNS緩存未到期,這就會導致仍使用舊的IP去訪問而出錯。
所以這種情況下,需要清除一把操作系統的DNS緩存:
c) 如果瀏覽器和操作系統的緩存都沒有http://www.baidu.com的IP記錄,我們會接著檢查C:WindowsSystem32driversetc的hosts文件,因為這個文件能直接指定域名對應某個IP地址。
如果以上3步都沒找到對應的IP。恭喜~接下來我們將正式進入請求域名服務器DNS(Domain Name Server)幫忙解析域名的階段了。。。
1. 電腦客戶端會發出一個DNS請求 (http://www.baidu.com的IP是啥啊) 給它的本地域名服務器 (本地DNS)。
本地域名服務器 (本地DNS) 是什么鬼?我們通過網絡屬性看一看↓↓↓
如果設置在左圖自動獲取模式下,本地DNS由你的網絡服務商(ISP) 如電信,移動等自動分配,它通常在你網絡商的某個機房。
如果設置在右圖,我們將不服從ISP分配。明確指定用Google (8.8.8.8) 或者我們國內網絡商(114.114.114.114) 提供的免費DNS服務器作為這臺電腦連接的本地DNS。
[小貼士] 一般如果ISP提供的DNS出現問題而導致域名解析失敗不能訪問網頁時,我們可以按右圖手工定義本地DNS的地址。
2. 本地DNS收到來自客戶端的請求。大家可以想象這臺服務器上緩存了一張各域名與之對應IP地址的大表格。如果能找到www.baidu.com,它直接就返回IP地址。如果沒有,本地DNS會去問他的老大哥Root:嗨,能告訴我http://www.baidu.com的IP地址嗎?
老大哥Root就是根域名服務器,它是最高層次的,全球共有13套。它不直接用于域名解析,但能指明一條道路。
3. Root DNS收到來自本地DNS的請求說:哦,http://www.baidu.com啊,這個域名是由.com區域管理,我給你我小弟Top的地址,你去問問他吧。
4. 本地DNS:Hi Top哥,你能告訴我http://www.baidu.com的IP地址嗎?
小弟Top其實就是頂級域名服務器 (比如.com, .net, .org…一級區域),它負責管理二級域名(比如baidu.com, qq.com...),所以它能提供一條更清晰的方向。
5. Top說:我給你負責http://www.baidu.com區域的權威人士小A的地址,你去問她應該能問到了。
6. 本地DNS:喂,小A,http://www.baidu.com對應的IP是啥呀?
小A就是baidu的權威域名服務器,它是域名解析結果的原出處。就通俗上“這個域名我說了算”的服務器。
7. 小A查詢后將對應的IP地址X.X.X.X告訴本地DNS
8-9. 本地DNS再將IP地址返回客戶端,客戶端和目標建立連接。
至此,我們我們完成了DNS的解析過程。總結一下,整個過程就是:
站在客戶電腦角度,這是一次DNS遞歸查詢過程,因為由本地DNS全權為它效勞,它坐等結果即可;另一種是DNS迭代查詢,它需要客戶端親歷親為,各域名服務器只指明下一步方向。
PS~~最后一起來享受一把一條命令獲取DNS解析的快感吧。比如我們解析http://www.qq.com的IP地址
在命令結尾處加上IP地址,表示指定它作為這次查詢的本地DNS
以上。
如果說網絡的本質是連接一切,那域名為“一切”提供了身份標識,IP則為“一切”提供了聯系的可能。
現實生活不會因為我記住了你的名字,而再次相遇。但在網絡的世界,知道你的名字,已是足矣。
轉載于:https://www.cnblogs.com/heiyizixia/p/10623011.html
總結
以上是生活随笔為你收集整理的1-趣味解读DNS工作原理——转载疯猫网络科技的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maven和gradle中,depend
- 下一篇: Java基础 Day07(方法)