Jimmy 的架站筆記

嗨~我是 Jimmy!我可能不是你認識的第 1 個 Jimmy,但一定是最帥的那個。


網站原理 (2):什麼是DNS伺服器?它的功能是甚麼?

By Jimmy 2020-06-13
發表於 web-principle knowledge-of-website
網站原理 (2):什麼是DNS伺服器?它的功能是甚麼?

在上一篇文章 網站原理(一):什麼是URL?什麼是網域?兩者有什麼差別?提到了:網域是為了方便使用者記憶只由數字組成的IP位置而誕生的,那我們要怎麼知道網域對應到哪個IP位置呢?這時候就需要DNS伺服器啦!下面就來說明DNS的功用和原理。

1. DNS伺服器的功能

為了讓瀏覽器知道使用者輸入的網址對應到的是哪個IP位置,需要一台DNS伺服器來存放網域和IP位置,當使用者在瀏覽器輸入網址時,瀏覽器就會先到DNS伺服器詢問(request):請問一下這個網域對應到的IP位置是甚麼?這台DNS伺服器就會response這個網域的IP位置給瀏覽器,瀏覽器才會知道他必須要去哪個IP位置請求網站的存取權。

DNS伺服器

瀏覽器與DNS伺服器溝通示意圖

那我們重新整理一下瀏覽器和DNS溝通的過程:

Step 1:使用者在瀏覽器輸入網址

Step 2:瀏覽器發出request給DNS伺服器,請求該網域對應到的IP位置

Step 3:DNS收到request,查詢資料庫該網域對應到的IP為何

Step 4:DNS發出response給瀏覽器,告訴瀏覽器這個網域對應到的IP位置

2. DNS伺服器的查詢順序

還記得我們的網域結構嗎?這次我以台灣google為例:

www.google.com.tw

要知道,全世界有超過4億個網域,所以當瀏覽器向DNS請求IP位置時,不可能只問一台就得到答案了,因為如果全世界只有一台DNS伺服器在管理所有的網域,不僅效能要超好,而且對所有人而言風險也很大,只要這台DNS伺服器掛了,大家就不用上網了。

那麼瀏覽器究竟要透過幾台DNS才查的到我們想連上網站的IP位置呢?

原則:從最後面的網域開始查,因為越後面的網域範圍越大,舉例來說:在.tw底下的網域會比.com.tw的網域還要多。

我們來看看示意圖:

瀏覽器查詢IP的過程

假設我們今天透過瀏覽器第一次連到台灣google的網站,那麼流程如下:

Step 1:瀏覽器向DNS伺服器require www.google.com.tw的IP位置

Step 2:DNS伺服器先查詢自己的快取記憶體,看之前有沒有記錄過這個網域的IP位置,因為是第一次連,所以沒有記錄過,於是向根伺服器require www.google.com.tw的IP

Step 3:根伺服器表示:www.google.com.tw不在我的管理範圍,但可以告訴你管理所有.tw網域的DNS伺服器IP,你去問他可能會有答案

(小知識:根伺服器負責管理全世界的通用頂級域,例如:.com, .net, .co等等,也負責管理國家頂級域,例如:.tw, .jp, .uk等等,全世界只有13台,其中10台在美國,瑞典、英國、日本各1台,全部都由ICANN (Internet Corporation for Assigned Names and Numbers) - 網際網路名稱與數字位址分配機構管理。)

Step 4:瀏覽器從根伺服器拿到管理.tw網域的DNS伺服器IP後,向其require www.google.com.tw的IP

Step 5:管理.tw網域的DNS伺服器表示:www.google.com.tw不在我的管理範圍,但我知道管理.com.tw網域的DNS伺服器IP位置,你去問他可能會有答案

Step 6:瀏覽器向管理.com.tw網域的DNS伺服器require www.google.com.tw的IP

Step 7:管理.com.tw網域的DNS伺服器表示:www.google.com.tw不在我的管理範圍,但我知道管理.google.com.tw網域的DNS伺服器IP位置,你去問他可能會有答案

Step 8:瀏覽器向管理.google.com.tw網域的DNS伺服器require www.google.com.tw的IP

Step 9:管理.google.com.tw的DNS伺服器表示:Bingo!你找對伺服器了。www.google.com.tw確實在我管理的範圍下,我告訴你他的IP位置,你回去告訴你的瀏覽器

Step 10:DNS伺服器取得www.google.com.tw的IP位置,並且將這筆資料存在快取記憶體中,這麼一來下次再造訪www.google.com.tw時就不用再問一大堆DNS伺服器了

這就是瀏覽器查詢網域的整個流程啦~希望大家今天對DNS有比較了解一點,有任何問題都歡迎在下面留言!

延伸閱讀:網站原理 (3):網站是怎麼構成的? – 淺談網站的3大要素:UI/UX設計師 前端工程師 後端工程師

你可能也會喜歡

網站原理 (3):網站是怎麼構成的? – 淺談網站的3大要素:UI/UX設計師 前端工程師 後端工程師

網站原理 (3):網站是怎麼構成的? – 淺談網站的3大要素:UI/UX設計師 前端工程師 後端工程師

今天要來說說一個網站究竟是如何誕生的呢?一般來說,在製作一個網站的時候,我們會將主要工作切分為3個職位:UI/UX設計師、前端工程師、後端工程師 網站基本上是由三大核心所構成 — UI/UX、前端、後端 1. UI/UX設計師 UI(User Interface)設計師,顧名思義負責整個使用者介面的設計,也就是從電腦版網頁的設計,到行動裝置(包含平板、手機等)的介面設計。

Read More
架設網站的方法 (2):使用架站平台一鍵架設

架設網站的方法 (2):使用架站平台一鍵架設

上一篇提到了,第一個方法比較類似土法煉鋼,從無到有架設一個網站。 而今天要講解的方法則是和第一個方法完全相反!也就是使用架設網站的平台來架設一個屬於自己的網站。 那麼什麼是架站平台呢?顧名思義就是架設網站的平台,這類平台通常只要註冊一個帳號後就可以開始架設網站,以台灣最大的架站平台 - 為例,註冊完帳號後就可以擁有一個自己的部落格,這個部落格會先以預設版型的樣子呈現,如果想更換網站的設計或是做些微

Read More