你知道我們上網是怎麼連到伺服器的嗎?看看DNS是怎麼工作的

在網絡世界中,計算機不像人類那樣以名字命名,而是以數字命名,這是因為計算機和其他類似設備在網絡中進行交流和識別的方式,通過IP地址這種數字方式進行識別。另一方面,人類習慣使用名字而不是數字,無論是直接與另一個人交談,還是識別一個國家、地方或事物,人類用名字而不是數字來識別。

你知道我們上網是怎麼連到服務器的嗎?看看DNS是怎麼工作的

因此,為了彌補計算機與人類之間的溝通障礙,使網絡交流變得更加容易,網絡工程師們開發了DNS,就是域名系統(Domain Name System)。

你知道我們上網是怎麼連到服務器的嗎?看看DNS是怎麼工作的

DNS的作用是解析名稱到數字,更具體地說,它將網站域名(平時我們上網輸入的網址)解析為IP地址。因此,如果我們在瀏覽器中輸入一個web地址,DNS把這個地址解析為一組數字,就是IP地址,類似192.168.1.1這樣。

舉個例子,如果我們想去某個網站就會打開網頁瀏覽器,輸入那個網站的域名,例如baidu.com。從技術上講,我們真的不需要輸入baidu.com來訪問百度網頁, 如果我們已經知道IP地址是什麼,我們可以直接輸入IP地址, 但是因為我們不習慣記住和處理數字, 特別是當互聯網上有數以億計個網站的時候,我們只需輸入我們能理解和記得住的域名,讓DNS為我們將其轉換為IP地址。

你知道我們上網是怎麼連到服務器的嗎?看看DNS是怎麼工作的

回到我們的例子中,當我們輸入baidu.com,瀏覽器會在DNS服務器的數據庫中搜索該域名的匹配IP地址, 當它找到它時,它會把baidu.com這個域名解析為百度網站的IP地址, 一旦完成,電腦就能與百度網絡服務器通信並顯示網頁。DNS就像電話本一樣,當我們想要找到一個號碼時,我們不是先查號碼,而是先查名字,然後它會給我們號碼。

你知道我們上網是怎麼連到服務器的嗎?看看DNS是怎麼工作的

為了進一步細化,我們來看看DNS的步驟。所以當我們在瀏覽器中輸入baidu.com,如果瀏覽器或操作系統找不到緩存在內存或硬盤上的IP地址, 它會將查詢發送到下一層也就是所謂的解析服務器,基本上就是ISP或Internet服務提供商,所以當解析服務器接收到查詢,它會檢查自己的緩存,找到baidu.com的IP地址,如果它不能找到,它會將查詢發送到下一個層的根服務器。

你知道我們上網是怎麼連到服務器的嗎?看看DNS是怎麼工作的

根服務器是DNS層次結構的頂部或根,這些根服務器有13組,它們被戰略性地放置在世界各地,它們由12個不同的組織操作,每組根服務器都有自己的唯一IP地址。當根服務器接收到baidu.com的IP地址的查詢時,根服務器不知道baidu.com的IP地址是什麼,但是根服務器知道往哪個解析器發送查詢來幫助它找到IP地址。根服務器將把解析器指向頂級域名(Top Level Domain,簡稱TLD)服務器。

你知道我們上網是怎麼連到服務器的嗎?看看DNS是怎麼工作的

解析器向TLD服務器詢問baidu.com的IP地址。TLD服務器存儲頂級域名的地址信息,如.com、.net、.org等。這個TLD服務器管理baidu.com所屬的.com域名。當TLD服務器接收到baidu.com的IP地址的查詢時,TLD服務器不知道baidu.com的IP地址是什麼。TLD服務器會把解析器定向到下一層和最後一層,即權威的名稱服務器。再一次,解析器向權威名稱服務器詢問baidu.com的IP地址。

權威名稱服務器負責瞭解包含IP地址的域名的所有信息,他們是最終的權威。因此,當權威名稱服務器從解析器接收查詢時,名稱服務器將使用baidu.com的IP地址進行響應。最後解析器會告訴我們電腦baidu.com的IP地址,然後我們的電腦就可以訪問百度的網頁了。需要注意的是,一旦解析器接收到IP地址,它就會將其存儲在緩存內存中,以防它收到baidu.com的另一個查詢,這樣它就不必再執行所有這些步驟。

你知道我們上網是怎麼連到服務器的嗎?看看DNS是怎麼工作的


分享到:


相關文章: