不知道大家有沒有遇到過類似的情況。 你的電腦明明已經聯網了,微信、QQ等軟件的客戶端也可以正常使用,就是打不開網頁。
這是怎么回事?
可能是你的DNS服務器地址獲取有問題。
那么什么是DNS?
好了,程哥今天就跟大家聊一聊DNS知識。
01 域名系統
DNS(名稱)是域名系統
什么是域名系統? 它是一個自動將我們常用的網址轉換成IP地址的系統。
URL就是域名,也可以簡單理解為網址,比如我們常用的百度()、淘寶()等。 這些都是域名。
熟悉TCP/IP協議的同學都知道,上主機之間的通信需要指定IP地址和MAC地址。
我們可以通過IP地址訪問目標網站。 但我認為沒有人愿意這樣上網,除非你是個數字狂,而且你能記住各種數字。
因此,域名服務器應運而生。 通過域名系統將IP和URL進行轉換,我們不需要記住這個復雜的數字,只需要記住有實際意義的URL即可。
我們知道互聯網連接全球資源,單一的域名服務器不足以支持全球地址轉換操作。
因此,在全球范圍內有多套域名服務器相互配合使用。 早在1983年,互聯網就開始采用層次化的樹狀結構命名方式,并采用分布式域名系統。
02 域名結構
采用分層樹結構的命名方式,主要是為了滿足世界不同地區同時訪問的需要。
上的所有 Web 服務器都具有全球唯一的域名。
域名結構如下:
每個域名都由一系列由小數點分隔的標簽組成。
這是微信下載頁面的域名。 它由三個標簽組成,其中標簽com為頂級域名,標簽qq為二級域名,標簽為三級域名。
同時,域名的級別是從左到右,從高到低寫的。
換句話說,它只是一個較低級別的域名。
域名并沒有規定一個域名可以包含多少個下級域名,也沒有規定每一層的域名都有特定的含義,只要能明確標識即可。
各級域名由其上級域名管理機構管理,最高頂級域名由ICANN管理。
域名中的標簽通常由標簽和數字組成,每個標簽不超過63個字符,不區分大小寫。
但是,破折號(-)也可以出現在標簽中,例如Made in China。
03域名空間
所謂域名空間就是域名的組成。
包括根、頂級域名、二級域名、三級域名、四級域名……
頂級域主要分為三種類型:
(1) 第一類,國家和地區頂級域名(代碼頂級),簡稱。
目前已有200多個國家和地區按照國家代碼分配了頂級域名。 比如cn代表中國,jp代表日本,us代表美國,sg代表新加坡等。
(2)第二類,通用頂級域名(top-level),簡稱gTLDs。
例如,.com 代表企業,.net 代表網絡提供商,而 .org 代表非營利組織。
(3) 第三類,新頂級域名(New gTLD)。
新的頂級域名旨在打破常規,例如 .ltd 代表有限公司,.work 代表工作,.site 代表網站資產,.club 代表俱樂部,等等。
域名空間圖如下:
04域名服務器
域名服務器也分層次。
主要包括:根域名服務器、頂級域名服務器、權限域名服務器、本地域名服務器等。
(1) 根域名服務器
最高級別的域名服務器也是最重要的域名服務器。
所有根域名服務器都知道所有頂級域名服務器的域名和IP地址。
不管是哪個本地域名服務器,如果要解析互聯網上的任何域名,只要自己無法解析,就應該先向根域名服務器求助。
(2) 頂級域名服務器
負責管理在頂級域名服務器上注冊的二級域名。
(3) 權威域名服務器
負責“區域”的名稱服務器。
(4)本地域名服務器
當主機發送DNS查詢請求時,查詢請求報文被發送到本地域名服務器。
05 域名解析流程
域名解析一般采用遞歸查詢的方式進行。
一個完整的域名解析流程如下圖所示:
(1) 第一步:查詢瀏覽器緩存。
瀏覽器通常以一定的頻率緩存 DNS 記錄。 此步驟適用于已經進行過 DNS 解析的主機。
(2)第2步:查詢hosts文件。
如果在瀏覽器緩存中找不到所需的DNS記錄,則需要在操作系統中查找hosts文件。
(3) 第三步:查詢本地域名服務器。
如果在hosts文件中找不到所需的DNS記錄,則繼續查詢本地域名服務器。 本地域名服務器通常是運營商提供的DNS服務器。
(4)第四步:遞歸查詢根域名服務器。
如果在本地域名服務器中找不到所需的DNS記錄,則本地域名服務器會向根域名服務器發出請求,進行遞歸查詢。
根域名服務器不會直接告知具體的DNS記錄。 而是告訴本地域名服務器繼續查詢某個頂級域名服務器。
(5)第五步:遞歸查詢頂級域名服務器。
頂級域名服務器不會將具體的DNS記錄通知本地域名服務器,而是通知本地域名服務器繼續向權威域名服務器查詢。
(6)第6步:遞歸查詢權威域名服務器。
通過查詢權威域名服務器,會得到具體的DNS記錄。