2022-03-28

Facebook全球網站大當機是因為DNS故障問題?DNS是什麼?

台灣時間2021年10月4日晚上11時左右,美國社群媒體Facebook、Instagram及WhatsApp發生全球性的大當機,全球各地數千萬用戶不斷地反應當機情況,臉書在當機1小時後在Twitter上發文,僅表示會盡快修復,並未多解釋當機原因。

據CNN報導,多位安全專家指出罪魁禍首可能在DNS問題,Cisco網路分析部門ThousandEyes在Twitter表示,經測試顯示當機是因為DNS持續的故障造成的,到底什麼是DNS?為何DNS出現問題會導致全球的網站都不能使用呢?


DNS是什麼?

Domain Name System簡稱DNS,中文譯作網域名稱系統,這個系統可說是網路世界的電話簿,它能夠管理及辨識網域,當我們在電話簿中查詢「暉捷科技股份有限公司」時,就會找到相應的電話號碼跟地址。當我們以Google 首頁為例,透過DNS系統搜尋,我們就可以經由網址「www.google.com」找到代管網站主機的實體IP位址「74.125.19.147」。

在網際網路的世界中,每個連接到網路的裝置都會有一個唯一的IP位址,就像我們使用地址來尋找特定地點一樣,我們必須有該IP位置才能找到相應的網際網路裝置,我們在網頁瀏覽器的網址列輸入的內容必須進行轉譯,才能讓機器找到我們指定的網頁內容,DNS伺服器的工作就是讓我們無需儲存像是「192.168.1.1」(IPv4)或是更複雜「2400:cb00:2048:1::c629:d7a2」(IPv6),等不同的IP位址。


DNS 如何運作?
DNS的解析過程牽涉到將主機名稱轉換為便於電腦使用的IP位址,所以若要理解它,我們必需要先瞭解DNS在進行解析前必須經過的各種不同硬體元件。

載入網頁涉及的4個DNS伺服器:
  1. DNS 遞迴程式
DNS遞迴程式是一種伺服器,它的功能就是透過網頁瀏覽器等應用程式接收我們用戶端機器的查詢。舉例來說,我們到圖書館時,跟圖書館館員說明我要借的是什麼樣的書,DNS遞迴程式扮演的角色就是圖書館館員
  1. 根名稱伺服器
根伺服器的工作,是將人們可讀的主機名稱轉譯或是解析為IP位址的第一個步驟,可以視之為館員在圖書館中尋找不同書架的索引
  1. TLD名稱伺服器
頂層網域名稱伺服器(TLD)的功能,是搜尋特定IP位址的下一步,也是其主機名稱的最後一部分(例如,在example.com這列網址當中,TLD伺服器就是「com」),在我們的舉例中,TLD也可看做是圖書館裡指定的某一個書架
  1. 權威名稱伺服器
權威名稱伺服器是名稱伺服器查詢中的最後一個關卡,如果權威名稱伺服器能夠存取主機請求的記錄,那權威名稱伺服器就會將請求主機名稱的IP位址(也就是查找到的結果),傳回到一開始發出請求的DNS解析程式,在我們的例子中,這個最終名稱伺服器就是書架上的書本,可以讓圖書館館員去檢視並判斷這些名稱(書名)是否符合且可轉譯為其定義(我們對書的描述)。

DNS 尋找有哪些步驟?
在多數情況下,DNS與轉譯為IP位址的網域名稱(網站名稱)有關,若我們能瞭解這整個工作的運作過程,當我們透過從網頁瀏覽器來解讀DNS的找尋過程並返回所需資料時,追蹤DNS的尋找路徑會對我們的偵錯有所幫助,現在就讓我們來看看有哪些步驟:

DNS 尋找的 8 個步驟:
  1. 使用者在網頁瀏覽器中鍵入「example.com」,並按下查詢鍵,此要求被傳輸到網際網路中,DNS遞迴解析程式就會接收該查詢。
  2. 解析程式查詢DNS根名稱伺服器(網址中的“.”)。
  3. 根伺服器使用儲存其網域資訊的頂層網域(TLD)名稱伺服器 (例如 .com 或 .net) 的位址回傳該解析程式。
(在我們的例子中,搜尋example.com時,我們的請求就會指向「.com TLD」)
  1. 該解析程式向「.com TLD」發出請求。
  2. TLD 伺服器將該網域的名稱伺服器example.com的IP位址進行回應。
  3. 遞迴解析程式將查詢傳送到該網域的名稱伺服器。
  4. 接著example.com的IP位址從名稱伺服器傳回該解析程式。
  5. 最後,DNS解析程式使用最初請求的網域的 IP 位址回應網頁瀏覽器。
在DNS完成尋找的8個步驟後,由於得到了example.com的IP位址,瀏覽器就能夠發出對該網頁的請求:
  1. 瀏覽器向該IP位址發出HTTP請求。
  2. 位於該IP的伺服器傳回將在瀏覽器中轉譯的網頁。
以上,就是我們在網址欄位輸入網址後,瀏覽器、DNS伺服器資源等在網路中的運作,對於瀏覽器來說,DNS的查詢與轉譯是所謂的「幕後工作」,所以我們除了輸入網址之外,並不需要親自進行任何的操作。