域名系統(tǒng) DNS
我們知道網(wǎng)絡(luò)中每臺(tái)機(jī)器都有自己的 IP 地址,才能與外面的網(wǎng)絡(luò)相互通信,傳統(tǒng)的 IP 是由 4 個(gè) 8 位的字節(jié)組成的數(shù)字,這樣的標(biāo)識(shí)是不利于記憶的,所以延伸出域名的概念,每個(gè)域名可以映射成一個(gè) IP。像 www.taobao.com
;www.baidu.com
;這種域名我們一看就知道是淘寶和百度。于是有了 DNS(Domain Name System)域名系統(tǒng),它的職責(zé)就是將人們便于記憶的域名轉(zhuǎn)成計(jì)算機(jī)所需要的 IP 地址。
1. DNS 結(jié)構(gòu)
DNS 是一個(gè)記錄滿了 IP 和域名映射的賬本,這個(gè)賬本非常的大,涉及到了全世界的域名信息,所以它的底層結(jié)構(gòu)是分層和分布式的一個(gè)數(shù)據(jù)庫(kù)。
1.1 語(yǔ)法結(jié)構(gòu)
常見的頂級(jí)域名有:
- .com 代表工商企業(yè)域名;
- .cn 代表中國(guó)的域名;
- .net 網(wǎng)絡(luò)提供商域名;
- .org 非盈利組織域名;
- .gov 政府域名;
- .edu 教育類的域名。
1.1 域名服務(wù)器分布
域名是分層的,每種域名服務(wù)器也都是分布式部署的,而不是只有單臺(tái)。因?yàn)橹灰环N域名服務(wù)器提供不了服務(wù),全世界對(duì)應(yīng)種類的域名都會(huì)受到影響。
根域名服務(wù)器
最高層和最重要的的域名服務(wù)器,任何一個(gè)域名服務(wù)器只要自己解析不了,就會(huì)交給根服務(wù)器。全世界共用 13 臺(tái)域名服務(wù)器,其中 10 臺(tái)在美國(guó),剩下的 3 臺(tái)分別在日本,英國(guó),瑞典。
頂級(jí)域名服務(wù)器
管理所有注冊(cè)在它上面的二級(jí)域名服務(wù)器。
2. 域名服務(wù)器類型
- 權(quán)威域名服務(wù)器:能夠決定域名和 IP 的關(guān)系。
- 本地域名服務(wù)器:一般由本地運(yùn)營(yíng)商提供,不能解析域名,通常是緩存域名解析和幫用戶到權(quán)威域名服務(wù)器查詢解析結(jié)果。
- 公共域名服務(wù)器:跟本地域名服務(wù)器類似,只是它不是某個(gè)運(yùn)營(yíng)商提供的,是全網(wǎng)公用的。
3. 解析過(guò)程
- 機(jī)器訪問(wèn)本地 LDNS 查詢;
- LDNS 檢查本地緩存,沒(méi)有的話就向 13 臺(tái)根服務(wù)器的其中一臺(tái)發(fā)起查詢請(qǐng)求;
- 根域名服務(wù)器根據(jù)解析的域名結(jié)構(gòu)找到對(duì)應(yīng)的頂級(jí)域名服務(wù)器信息給 LDNS;
- LDNS 向頂級(jí)域名服務(wù)器發(fā)起查詢;
- 頂級(jí)域名服務(wù)器根據(jù)域名結(jié)構(gòu)查找到對(duì)應(yīng)的二級(jí)域名服務(wù)器;
- 根據(jù)這樣的迭代最終查找到域名和 IP 的對(duì)應(yīng)關(guān)系。
4. DNS 解析對(duì)應(yīng)的常見記錄類型
4.1 A 記錄
將域名直接解析成某個(gè)具體的服務(wù)器 IP。
4.2 CNAME 記錄
給域名起了一個(gè) cname 的別名,訪問(wèn)這個(gè)別名與訪問(wèn)原域名效果是一樣的。
4.3 NS 記錄
域名解析服務(wù)器記錄,通常用來(lái)指定不同子域名對(duì)應(yīng)不同的解析服務(wù)器。
4.4 MX 記錄
建立電子郵箱服務(wù),將指向郵件服務(wù)器地址,需要設(shè)置MX記錄。建立郵箱時(shí),一般會(huì)根據(jù)郵箱服務(wù)商提供的 MX 記錄填寫此記錄。
下圖是筆者在阿里云上面購(gòu)買的一個(gè)域名 zhourj.cn
,這個(gè)域名目前設(shè)置了如下列表的解析規(guī)則:
- CNAME 記錄 :對(duì)應(yīng)了記錄值
hosting.gitbook.com
,意思是訪問(wèn)了我的域名docs.zhourj.com
會(huì)轉(zhuǎn)發(fā)到hosting.gitbook.com
這個(gè)域名上。 - A 記錄:還有幾個(gè) A 記錄的規(guī)則,* 就代表所有的
*.zhourj.cn
的域名都解析到對(duì)應(yīng) IP 。假如主機(jī)記錄是 www 就代表著wwww.zhourj.cn
解析到對(duì)應(yīng)的某個(gè)記錄值上面的 IP ,所以一個(gè)域名是可以解析到許多不同 IP 上面的。
5. 小結(jié)
DNS 簡(jiǎn)單著說(shuō)就是域名解析成 IP 的過(guò)程,但是這個(gè)小小的域名也隱藏著很多的知識(shí)點(diǎn)。它有組織之分:.com .cn .gov
。服務(wù)于全球的域名解析系統(tǒng)它是一種分布式的架構(gòu),一般都由最近的域名解析服務(wù)器完成解析,解析不成功才往上級(jí)去請(qǐng)求。域名有記錄類型的概念,其實(shí)就是它的解析規(guī)則,一個(gè)簡(jiǎn)單的域名,我們可以根據(jù)自己的業(yè)務(wù)拆解成不同的子域名,并解析到不同服務(wù)器去。