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