DNS是如何工作的?

今天很多人都在講域名系統和互聯網作爲一個整體是如何工作的,域名系統---也就是大家所熟知的DNS。不幸的是,對於天龍人和普通人來說,他們並不瞭解DNS到底是什麼鬼。今天就來聊聊DNS,和那些想了解DNS工作原理的人聊一聊它是如何工作的。

什麼是DNS?

DNS(Domain Name System,域名系統),因特網上作爲域名和IP地址相互映射的一個分佈式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過域名,最終得到該域名對應的IP地址的過程叫做域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號53。

看到了上面百度百科的解釋,好像大概知道了DNS有什麼用,至少我們可以對如下問題做出回答了。

爲什麼需要DNS?

因爲人的腦力有限,我們無法記住每個我們使用的網站的每個IP地址,記住一些有含義的字符串(如:百度網址www.baidu.com)貌似容易的多,DNS把域名和IP做了一個映射,我們在瀏覽器輸入域名,DNS就可以幫我們把對應的域名解析成真實的IP地址,從而請求IP地址對應的網站。這就是DNS的作用。

但是工作原理是什麼?是不是還不清楚,那麼就看看下面通俗的解釋吧。

DNS無無疑是互聯網中最重要也最容易被忽略的部分。如果沒有DNS,我們今天互聯網的使用體驗肯定會很糟糕,因爲我們得記住我們使用網站的IP地址(淘寶、微信、支付寶、釘釘等),這麼多的IP地址,想想自己是不是很頭大,畢竟你現在連你不常用的賬號密碼都已經忘了qwq!。

我們都知道或者都應該知道電腦組成了互聯網,組成了大型網絡,並且通過地下電纜或水下電纜相互通信。並且通過一串數字相互識別,這串數字也就是IP地址。由於大部分人腦力有限,無法對成百上千個數字系列進行分類並且一一記住,DNS的實際作用就是將域名翻譯成對應的IP地址。

但是DNS究竟是如何工作的呢???

當你在瀏覽器的地址欄輸入www.baidu.com,你實際上訪問的是www.baidu.com.,沒錯,在域名後面還有一個點(.),你從來不會看到,也從來不會輸入。當你輸入www.baidu.com你實際上訪問的是 www.baidu.com.。 的頁面,真的是這樣的,不信你可以試一下。總之,最後的那個點代表着互聯網命名空間的根。爲什麼這個點這麼重要?因爲它是一切開始的地方。當你第一次搜索www.baidu.com.時,你的瀏覽器和操作系統會首先判斷它們知不知道這個域名對應的IP地址是啥,它可能會在你的計算機裏配置也可能在內存裏,很多人稱之爲cache。總之,你的瀏覽器會問操作系統,如果它們都不知道www.baidu.com.是什麼,然後會怎麼樣呢? 操作系統會配置爲當它不知道某個IP地址時去詢問解析域名服務器,解析域名服務器就是承擔DNS查詢重任的,它會在你的操作系統裏進行手動或自動配置。你的操作系統會向解析域名服務器詢問www.baidu.com.的IP地址。解析域名服務器的內存或者緩存裏可能有這個IP地址,也可能沒有。爲了這次說明,假如它沒有這個IP地址,所有解析域名服務器必須知道的一件事就是知道去哪裏查找根域名服務器。是的,這個神祕的點會出現在你輸入的地址欄的每一個域名的最後,根域名服務器回覆到:“我也不知道,但我知道去哪裏找com的域名服務器,去哪裏問一下吧”。com域名服務器叫做頂級域名服務器,也就是TLD域名服務器。解析域名服務器會記住根域名服務器提供的所有信息,並且添加到緩存裏,然後直接去找TLD域名服務器。當解析域名服務器詢問www.baidu.com時,TLD域名服務器回答說:“我不知道,但我知道去哪裏找example.com域名服務器,你去那裏問一下“。下一組域名服務器叫做主域名服務器,那麼TLD域名服務器怎麼知道用哪個主域名服務器呢,這得藉助於域名註冊公司了。當一個域名被購買時,域名註冊公司就會被告知那個域名應該使用哪一個主域名服務器,註冊公司就會將這次註冊信息告知負責根域名的機構,並且告訴它更新TLD域名服務器。總之,解析域名服務器記下TLD域名服務器的回覆,存儲到緩存裏,然後去詢問example.com域名服務器,這個時候,主域名服務器就會說:“哈,我知道他在哪裏”。告訴你的瀏覽器去訪問192.168.1.1這個IP地址。解析域名服務器記下了主域名服務器提供的信息添加到緩存裏,然後回覆給操作系統,操作系統就會告訴瀏覽器,瀏覽器就會連接到請求頁面,www.baidu.com的IP地址。很有意思,對不對?這個過程看起來好像很複雜,但是相信我,整個過程在你眨眼之間就能完成,建立DNS就是爲了快速高效的工作,它是互聯網必須的組成部分。一旦你理解了這一點,你會清楚的看到一次DNS查詢就會由多個層面和多個機構負責。僅僅是一次DNS查詢啊!由解析域名服務器根域名服務器TLD域名服務器、還有主域名服務器。如果任何人改變或者去除了這個過程中的任意一個部分,這會導致一場災難。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章