DNS概述
1.什么是DNS
? DNS(Domain Name System)域名系統(tǒng),是互聯(lián)網(wǎng)使用的命名系統(tǒng),用來把便于人們使用的機(jī)器名轉(zhuǎn)換成IP地址。解決Internet上主機(jī)/路由器的識(shí)別問題。
? 域名解析系統(tǒng)DNS,是多層命名服務(wù)器構(gòu)成的分布式數(shù)據(jù)庫(kù),應(yīng)用層協(xié)議完成名字的解析。
問題:為什么不使用集中式的DNS?
? 1.單點(diǎn)失敗問題。如果唯一的一個(gè)服務(wù)點(diǎn)(可能有多臺(tái)服務(wù)器)壞掉了,所有使用域名來提供網(wǎng)絡(luò)服務(wù)的,都需要請(qǐng)求DNS來做事情,那么整個(gè)互聯(lián)網(wǎng)就壞掉了。
? 2.流量問題。如果幾十億臺(tái)主機(jī)都到這個(gè)服務(wù)器請(qǐng)求DNS查詢,流量是巨大的,成本也是高昂的。
? 3.距離問題。如果將服務(wù)器放在中國(guó),美國(guó)就要通過大洋下的光纜,請(qǐng)求DNS,這樣時(shí)延就會(huì)很長(zhǎng),維護(hù)成本很高。
? 4.維護(hù)性問題。
? 如果大量的用戶需要在同一時(shí)間訪問同一臺(tái)服務(wù)器,時(shí)延將會(huì)非常大。因此,DNS服務(wù)器,一定要設(shè)置成高可用、高并發(fā)和分布式的。
2.DNS服務(wù)
- 域名向IP地址的翻譯
- 主機(jī)別名
- 郵件服務(wù)器別名
- 負(fù)載均衡:Web服務(wù)器
3.互聯(lián)網(wǎng)的域名結(jié)構(gòu)
? 互聯(lián)網(wǎng)采用層次樹狀結(jié)構(gòu)命名方法,采用這種方法,任何一個(gè)連接在互聯(lián)網(wǎng)上的主機(jī)或路由器,都有一個(gè)唯一的層次結(jié)構(gòu)的名字,即域名(domain)。這里“域“是名字空間中一個(gè)可被管理的劃分。域可以劃分為子域,而子域還可以繼續(xù)劃分為子域的子域。
? 從語法上講,每個(gè)域都由標(biāo)號(hào)序列組成,各標(biāo)號(hào)之間用“.”隔開,例如mail.cctv.com 由上圖可知分別是三級(jí)域名、二級(jí)域名、頂級(jí)域名。
? DNS規(guī)定,域名中的標(biāo)號(hào)都由英文字母和數(shù)字組成,每個(gè)標(biāo)號(hào)不超過63個(gè)字符(為方便記憶,最好不要超過12個(gè)字符),也不區(qū)分大小寫字母。標(biāo)號(hào)中除連字符(-)外不能使用其他的標(biāo)點(diǎn)符號(hào)。
? 需要指出,互聯(lián)網(wǎng)的名字空間是按照機(jī)構(gòu)的組織來劃分的,與物理的網(wǎng)絡(luò)無關(guān),與IP地址中的“子網(wǎng)”也沒有關(guān)系。
頂級(jí)域名TLD(Top Level Domain)共分為3大類:
1.國(guó)家頂級(jí)域名nTLD:采用ISO3166的規(guī)定。如,cn表示中國(guó),us表示美國(guó),uk表示英國(guó),等等。國(guó)家頂級(jí)域名又常記為ccTLD(cc表示國(guó)家代碼country-code)。
2.通用頂級(jí)域名gTLD:
-
最先確定的:com(公司企業(yè)),net(網(wǎng)絡(luò)服務(wù)機(jī)構(gòu)),org(非營(yíng)利性組織),int(國(guó)際組織),edu(美國(guó)專用的教育機(jī)構(gòu)),gov(美國(guó)的政府部門),mil(美國(guó)的軍事部門)。
-
后來增加的:aero(航空運(yùn)輸企業(yè)),asia(亞太地區(qū)),biz(公司和企業(yè)),cat(使用加泰隆人的語言和文化團(tuán)體),coop(合作團(tuán)體),info(各種情況),jobs(人力資源管理者),mobi(移動(dòng)產(chǎn)品與服務(wù)的用戶和提供者),museum(博物館),name(個(gè)人),pro(有證書的專業(yè)人員),tel(Telnic股份有限公司),travel(旅游業(yè))。
3.基礎(chǔ)結(jié)構(gòu)域名:這種頂級(jí)域名只有一個(gè),即arpa,用于反向域名解析,又稱反向域名。
我國(guó)把二級(jí)域名劃分為“類別域名”和“行政區(qū)域名”兩大類。
1.類別域名(共7個(gè)):ac(科研機(jī)構(gòu)),com(工、商、金融等企業(yè)),edu(中國(guó)的教育機(jī)構(gòu)),gov(中國(guó)的政府機(jī)構(gòu)),mil(中國(guó)的國(guó)防機(jī)構(gòu)),net(提供互聯(lián)網(wǎng)服務(wù)的機(jī)構(gòu)),org(非營(yíng)利性的組織)。
2.行政區(qū)域名(共34個(gè)):例如bj(北京市),js(江蘇),等等。
4.域名服務(wù)器
? 一個(gè)服務(wù)器所負(fù)責(zé)管轄的(或有權(quán)限的)范圍叫做區(qū)(zone)。各單位根據(jù)具體情況來劃分自己管轄范圍的區(qū)。但在一個(gè)區(qū)中的所有節(jié)點(diǎn)必須是能夠連通的。每一個(gè)區(qū)設(shè)置相應(yīng)的權(quán)限域名服務(wù)器(authoritative name server),用來保存該區(qū)中的所有主機(jī)的域名到IP地址的映射。總之,DNS服務(wù)器的管轄范圍不是以“域”為單位,而是以“區(qū)“為單位。區(qū)是DNS服務(wù)器實(shí)際管轄的范圍。區(qū)可能等于或小于域,但一定不能大于域。
如下圖舉例所示:
互聯(lián)網(wǎng)上的DNS域名服務(wù)器是按照層次安排的,每個(gè)域名服務(wù)器都只對(duì)域名體系結(jié)構(gòu)中的一部分進(jìn)行管轄。根據(jù)域名服務(wù)器所起的作用,可以把域名服務(wù)器劃分為以下四種類型:
1.根域名服務(wù)器:所有的根域名服務(wù)器都知道所有的頂級(jí)域名服務(wù)器的域名和IP地址。根域名服務(wù)器是最重要的域名服務(wù)器,因?yàn)椴还苁悄囊粋€(gè)本地域名服務(wù)器,若要對(duì)互聯(lián)網(wǎng)上任何一個(gè)域名進(jìn)行解析(轉(zhuǎn)換成IP地址),只要自己無法解析,就首先要求助于根域名服務(wù)器。
? 互聯(lián)網(wǎng)的根域名服務(wù)器總共只有13個(gè)域名,但這不表明根域名服務(wù)器是由13臺(tái)機(jī)器組成的。實(shí)際上,在互聯(lián)網(wǎng)中是由13套裝置構(gòu)成這13組根域名服務(wù)器[W_ROOT]。為了安全起見,有些根域名服務(wù)器的具體地點(diǎn)還是保密的。人們用A-M這13個(gè)字母中的一個(gè),來表示某組根域名服務(wù)器。中國(guó)在一組根域名服務(wù)器L上有3個(gè)位置,地點(diǎn)在北京。
? 由于根域名服務(wù)器采用了任播技術(shù)(任播的IP數(shù)據(jù)報(bào)的終點(diǎn)是一組在不同地點(diǎn)的主機(jī),但具有相同的IP地址。IP數(shù)據(jù)報(bào)交付離源點(diǎn)最近的一臺(tái)主機(jī)上),因此當(dāng)DNS客戶向某個(gè)根域名服務(wù)器的IP地址發(fā)出查詢報(bào)文時(shí),互聯(lián)網(wǎng)上的路由器就能找到離這個(gè)DNS客戶最近的一個(gè)根域名服務(wù)器。這樣做不僅加快了DNS的查詢過程,也更加合理地利用了互聯(lián)網(wǎng)的資源。
2.頂級(jí)域名服務(wù)器:這些域名服務(wù)器負(fù)責(zé)管理在該頂級(jí)域名服務(wù)器注冊(cè)的所有二級(jí)域名。當(dāng)收到DNS查詢請(qǐng)求時(shí),就給出相應(yīng)的答案(可能是最后查詢結(jié)果,也可能是下一步應(yīng)當(dāng)找的域名服務(wù)器的IP地址)。
3.權(quán)威域名服務(wù)器:負(fù)責(zé)一個(gè)區(qū)的域名服務(wù)器。
4.本地域名服務(wù)器:本地域名服務(wù)器離用戶較近,一般不超過幾個(gè)路由器的距離。當(dāng)所要查詢的主機(jī)也屬于同一個(gè)本地ISP域時(shí),該本地域名服務(wù)器立即就能將所查詢的主機(jī)名轉(zhuǎn)換為它的IP地址,而不需要再去詢問其他的域名服務(wù)器。
上述路徑可以看到首選DNS服務(wù)器和備選DNS服務(wù)器的IP地址。這里的DNS服務(wù)器指的就是本地域名服務(wù)器。
? 為了提高域名服務(wù)器的可靠性,DNS域名服務(wù)器都把數(shù)據(jù)復(fù)制到幾個(gè)域名服務(wù)器來保存,其中的一個(gè)是主域名服務(wù)器,其他的是輔助域名服務(wù)器。當(dāng)主域名服務(wù)器出故障時(shí),輔助域名服務(wù)器可以保證DNS的查詢工作不會(huì)中斷。主域名服務(wù)器定期把數(shù)據(jù)復(fù)制到輔助域名服務(wù)器中,而更改數(shù)據(jù)只能在主域名服務(wù)器中進(jìn)行。這樣就保證數(shù)據(jù)的一致性。
5.域名解析過程
1.主機(jī)向本地域名服務(wù)器的查詢一般都是采用遞歸查詢。所謂遞歸查詢就是:如果主機(jī)所詢問的本地域名服務(wù)器不知道被查詢的IP地址,那么本地域名服務(wù)器就以DNS客戶的身份,向其他根域名服務(wù)器繼續(xù)發(fā)出查詢請(qǐng)求報(bào)文,而不是讓該主機(jī)自己進(jìn)行下一步查詢。因此,遞歸查詢返回的查詢結(jié)果或者是所要查詢的IP地址,或者是報(bào)錯(cuò),表示無法查詢到所需的IP地址。
2.本地域名服務(wù)器向根域名服務(wù)器的查詢通常是采用迭代查詢。迭代查詢的特點(diǎn):當(dāng)根域名服務(wù)器收到本地域名服務(wù)器發(fā)出的迭代請(qǐng)求報(bào)文時(shí),要么給出所要查詢的IP地址,要么告訴本地域名服務(wù)器:你下一步應(yīng)當(dāng)向哪一個(gè)域名服務(wù)器進(jìn)行查詢。然后讓本地域名服務(wù)器進(jìn)行后續(xù)的查詢。本地域名服務(wù)器也可以采用遞歸查詢。
本地域名服務(wù)器采用迭代查詢
本地域名服務(wù)器采用遞歸查詢
6.緩存
本地緩存服務(wù)器
? 為了提高DNS查詢效率,并減輕根域名服務(wù)器的負(fù)荷和減少互聯(lián)網(wǎng)上的DNS查詢報(bào)文數(shù)量,在域名服務(wù)器中廣泛使用了高速緩存(有時(shí)也稱為高速緩存域名服務(wù)器)。高速緩存用來存放最近查詢過的域名以及從何處獲得域名映射信息的記錄。
? 由于名字到地址的綁定并不經(jīng)常改變,為保持高速緩存中的內(nèi)容正確,域名服務(wù)器應(yīng)為每項(xiàng)內(nèi)容設(shè)置計(jì)時(shí)器并處理超過合理時(shí)間的項(xiàng)。當(dāng)域名服務(wù)器已從緩存中刪去某些信息后又被請(qǐng)求查詢?cè)擁?xiàng)信息,就必須重新到授權(quán)管理該項(xiàng)的域名服務(wù)器獲取綁定信息。
? 當(dāng)權(quán)限域名服務(wù)器回答一個(gè)查詢請(qǐng)求時(shí),在響應(yīng)中都指明綁定有效存在的時(shí)間值。增加此時(shí)間值可減少網(wǎng)絡(luò)開銷,而減少此時(shí)間值可提高域名轉(zhuǎn)換的準(zhǔn)確性。
主機(jī)緩存
? 許多主機(jī)在啟動(dòng)時(shí)從本地域名服務(wù)器下載名字和地址的全部數(shù)據(jù)庫(kù),維護(hù)存放自己最近使用的域名的高速緩存,并且只在從緩存中找不到名字時(shí)才使用域名服務(wù)器。維護(hù)本地域名服務(wù)器數(shù)據(jù)庫(kù)的主機(jī)自然應(yīng)該定期地檢查域名服務(wù)器以獲取新的映射信息,而且主機(jī)必須從緩存中刪掉無效的項(xiàng)。由于域名改動(dòng)并不頻繁,大多數(shù)網(wǎng)點(diǎn)不需花太多精力就能維護(hù)數(shù)據(jù)庫(kù)的一致性。
總結(jié)
- 上一篇: wps转word WPS表格如何实现冻结
- 下一篇: idea工具首次提交代码到git上