1. 概念
DNS(Domain Name System):域名系統(tǒng)她肯,是因特網(wǎng)使用的命名系統(tǒng)侍匙,用于解決IP地址和域名的映射關(guān)系民珍。
DNS解析:互聯(lián)網(wǎng)都是通過URL來請(qǐng)求資源的仑扑,而URL中的域名需要解析成IP地址才能與遠(yuǎn)程主機(jī)建立連接暴构,如何將域名解析成IP地址就屬于DNS解析的工作范疇跪呈。
2. 域名結(jié)構(gòu)
從技術(shù)角度來看,域名是在Internet上用于解決IP地址的一種方法取逾。一個(gè)完整的域名由2個(gè)或2個(gè)以上的部分組成庆械,各部分之間用英文的句號(hào)“.”來分隔,最后一個(gè)“.”的右邊部分稱為頂級(jí)域名(TLD菌赖,也稱為一級(jí)域名)缭乘,最后一個(gè)“.”的左邊部分稱為二級(jí)域名(SLD),二級(jí)域名的左邊部分稱為三級(jí)域名琉用,以此類推堕绩,每一級(jí)的域名控制它下一級(jí)域名的分配。(度娘)
eg:mail.cctv.com
其中:
com為頂級(jí)域名( top-level-domain邑时,TLD)
cctv為二級(jí)域名
mail為三級(jí)域名
3. DNS解析過程
- 瀏覽器會(huì)檢查緩存中有沒有這域名對(duì)應(yīng)的解析過的IP地址奴紧,如果緩存中有,這個(gè)解析過程就將結(jié)束晶丘。
-
如果過程1中瀏覽器緩存中沒有域名對(duì)應(yīng)的ip黍氮,則從操作系統(tǒng)本身去做域名解析,我們?cè)趙indows中的host文件可以設(shè)置特定域名映射到特定ip浅浮。
C:\Windows\System32\drivers\etc\hosts
然后在終端中ping www.baidu.com, 如下圖所示:
-
向本地域名解析服務(wù)器(LDNS)發(fā)起域名解析請(qǐng)求
上述步驟的1沫浆、2都是在本機(jī)中完成的域名解析,如果經(jīng)過1滚秩、2步驟都沒有完成域名的解析专执,則需要向LDNS發(fā)起域名解析,對(duì)于LDNS郁油,Window中可以通過ipconfig/all來查詢本股,如下所示:
LDNS 一般都緩存了大部分的域名解析結(jié)果,當(dāng)然緩存時(shí)間也受域名失效的時(shí)間控制桐腌,大部分的解析工作倒這里就差不多結(jié)束了拄显,LDNS負(fù)責(zé)了大部分的解析工作。
4.向根域名解析服務(wù)器(RDNS)發(fā)起域名解析的請(qǐng)求
當(dāng)步驟3中沒有完成域名的解析案站,則需要向RDNS發(fā)起域名解析的請(qǐng)求
根域名服務(wù)器返回通用頂級(jí)域名解析服務(wù)器(gTDL)地址
LDNS向根域名服務(wù)器發(fā)起請(qǐng)求躬审,根域名服務(wù)器返回的是所查詢的通用頂級(jí)域名(Generic top-level-domain, gTLD)地址,常見的通用頂級(jí)域名有.com蛾坯、.org匈睁、.edu。本地域名服務(wù)器向gTLD發(fā)起解析域名請(qǐng)求
gTLD服務(wù)器接收請(qǐng)求并返回注冊(cè)的域名服務(wù)器(Name Server服務(wù)器)
當(dāng)gTLD服務(wù)器接收到本地域名服務(wù)器發(fā)起的請(qǐng)求后避凝,并根據(jù)需要解析的域名炒刁,找到該域名對(duì)應(yīng)的Name Server 服務(wù)器恩沽,通常情況下,這個(gè)Name Server服務(wù)器就是你注冊(cè)的域名服務(wù)器翔始,那么你注冊(cè)的域名的服務(wù)上的服務(wù)器將承擔(dān)起域名解析的任務(wù)罗心。本地域名服務(wù)器向Name Server服務(wù)器發(fā)起域名解析請(qǐng)求
Name Server服務(wù)器會(huì)查詢存儲(chǔ)的域名和IP的映射關(guān)系表,然后返回該域名對(duì)應(yīng)的ip和TTL給本地域名服務(wù)器城瞎,本地域名服務(wù)器進(jìn)行緩存這個(gè)域名和ip的對(duì)應(yīng)關(guān)系渤闷,緩存時(shí)間由TTL決定。
本地域名服務(wù)器返回查詢域名對(duì)應(yīng)的ip給用戶(瀏覽器)脖镀,瀏覽器進(jìn)行緩存飒箭,緩存時(shí)間由TTL決定。
經(jīng)過以上的10個(gè)步驟蜒灰,就可以拿到真正的ip了弦蹂,然后通過ip去對(duì)應(yīng)的服務(wù)器上請(qǐng)求資源。
4. 域名解析方式
域名解析記錄主要分為:A記錄强窖、MX記錄凸椿、CNAME記錄、 NS記錄翅溺、TXT記錄
具體內(nèi)容如下:
- A記錄:A代表的是Address脑漫,用來指定域名對(duì)應(yīng)的IP地址,A記錄允許將多個(gè)域名解析到一個(gè)IP地址咙崎,但不允許將一個(gè)域名解析到多個(gè)IP上优幸。
- MX記錄:MX代表的是Mail Exchage,就是可以將某個(gè)域名下的郵箱服務(wù)器指向自己的Mail Server
- CNAME記錄:CNAME指的是Canonical Name叙凡,也就是別名解析劈伴,可以將指定的域名解析到其他域名上,而其他域名就是指定域名的別名握爷,整個(gè)解析過程稱為別名解析。
- NS記錄:就是為了某個(gè)域名指定了特定的DNS服務(wù)器去解析严里。
- TXT記錄:為某個(gè)主機(jī)名或者域名設(shè)置特定的說明新啼。
比如我在騰訊云上買的域名,那我訪問自己的域名時(shí)刹碾,就需要騰訊來提供把域名解析到ip的工作燥撞,也就是騰訊提供Name Server服務(wù)器
但騰訊怎么知道我們域名對(duì)應(yīng)的ip呢?其實(shí)是需要我們自己去綁定的,如下圖所示物舒,需要我們?cè)隍v訊云的管理后臺(tái)把域名和ip關(guān)聯(lián)起來色洞,這里是A記錄類型,其實(shí)就是建立域名和ip的映射表冠胯。
綁定好以后火诸,我們?cè)L問域名時(shí),會(huì)解析到對(duì)應(yīng)的ip上荠察,如下圖所示
另外置蜀,在騰訊云的管理后臺(tái),也可以設(shè)置TTL悉盆,來控制本地域名解析服務(wù)器緩存域名和ip對(duì)應(yīng)關(guān)系的時(shí)間盯荤。