計(jì)算機(jī)網(wǎng)絡(luò)自學(xué)筆記:DNS

因特網(wǎng)上的主機(jī)和人類一樣,也可以使用多種方式進(jìn)行識(shí)別岖瑰。主機(jī)的一種識(shí)別方法是用它的主機(jī)名,這些名字便于記憶砂代,也樂于被人們接受蹋订。主機(jī)也可以使用所謂IP地址進(jìn)行識(shí)別。一個(gè)IP地址由4個(gè)字節(jié)組成刻伊,并有著嚴(yán)格的層次結(jié)構(gòu)露戒。我們說IP地址具有層次結(jié)構(gòu)椒功,是因?yàn)閺淖笾劣宜嗽絹碓皆敿?xì)的關(guān)于主機(jī)的位置息。

人們喜歡便于記憶的主機(jī)名標(biāo)識(shí)智什,而路由器則喜歡定長(zhǎng)的动漾、有著層次結(jié)構(gòu)的IP地址。因此需要一種能進(jìn)行主機(jī)名到IP地址轉(zhuǎn)換的目錄服務(wù)荠锭,這就是域名系統(tǒng)旱眯。

1DNS提供的服務(wù)

DNS是:

1:一個(gè)由分層的DNS服務(wù)器實(shí)現(xiàn)的分布式數(shù)據(jù)庫;

2:一個(gè)允許主機(jī)查詢分布式數(shù)據(jù)庫的應(yīng)用層協(xié)議。

DNS服務(wù)器通常是運(yùn)行BIND軟件服務(wù)器機(jī)器证九。DNS協(xié)議運(yùn)行在UDP之上删豺,使用53號(hào)端口。

DNS用于將用戶提供的主機(jī)名解析為IP地址甫贯。例如當(dāng)某個(gè)用戶主機(jī)上的一個(gè)瀏覽器請(qǐng)求某個(gè)網(wǎng)頁時(shí)吼鳞,為了使用戶的HTTP請(qǐng)求消息發(fā)送到Web服務(wù)器,用戶主機(jī)首先必須獲得Web服務(wù)器的IP地址叫搁。

在前面介紹的Socket編程接口中有專門的函數(shù)如gethostbyname()允許程序發(fā)起一個(gè)主機(jī)名到IP地址的查詢赔桌。在Windows系統(tǒng)中專門有一個(gè)服務(wù)叫DNSClient完成DNS查詢工作(控制面板-管理工具-服務(wù)中可見)。

除了進(jìn)行主機(jī)名到lP地址的轉(zhuǎn)換外渴逻,DNS還提供了一些重要的服務(wù):

.主機(jī)別名

主機(jī)別名比主機(jī)規(guī)范名更容易記憶疾党,例如http://www.mit.edu,其真實(shí)的服務(wù)器名字(主機(jī)規(guī)范名)并不是http://www.mit.edu惨奕,大家可以用ping命令發(fā)現(xiàn)它真實(shí)的名字雪位。

.郵件服務(wù)器別名

一個(gè)單位或域中負(fù)責(zé)郵件收發(fā)的主機(jī)。

.負(fù)載均衡

DNS也可以用于在冗余的服務(wù)器之間進(jìn)行負(fù)載分配梨撞”⑾矗可以配置很多冗余的Web服務(wù)器,一個(gè)IP地址集合對(duì)應(yīng)于同一個(gè)規(guī)范主機(jī)名卧波。DNS數(shù)據(jù)庫中存儲(chǔ)著這些IP地址集合时肿。當(dāng)客戶機(jī)為映射到這個(gè)IP地址集合的名字發(fā)出一個(gè)DNS請(qǐng)求時(shí),該服務(wù)器用包含全部這些地址的消息進(jìn)行回答港粱,但在每個(gè)回答中輪回這些地址排放的順序螃成。因?yàn)榭蛻魴C(jī)通常總是向IP地址排在最前面的服務(wù)器發(fā)送HTTP請(qǐng)求消息查坪,所以就在所有這些冗余的Web服務(wù)器之間均衡分配負(fù)載寸宏。這是一種非常傳統(tǒng)的負(fù)載均衡技術(shù)。

2工作機(jī)理概述

假設(shè)運(yùn)行在用戶主機(jī)上的某些應(yīng)用程序(如Web瀏覽器)需要將主機(jī)名轉(zhuǎn)換為IP地址偿曙。這些應(yīng)用程序?qū)⒄{(diào)用DNS的客戶機(jī)端氮凝,并指明需要被轉(zhuǎn)換的主機(jī)名。在很多系統(tǒng)中望忆,應(yīng)用程序執(zhí)行這種轉(zhuǎn)換調(diào)用函數(shù)gethostbyname()覆醇。

DNS的客戶機(jī)端接收到轉(zhuǎn)換請(qǐng)求后朵纷,向網(wǎng)絡(luò)中發(fā)送一個(gè)DNS查詢消息炭臭。所有的DNS請(qǐng)求和回答消息使用UDP數(shù)據(jù)報(bào)經(jīng)端口53發(fā)送永脓。過若干時(shí)間后,用戶主機(jī)上的客戶機(jī)端接收到一個(gè)映射的DNS回答消息鞋仍。這個(gè)查詢結(jié)果則被傳遞到應(yīng)用程序常摧。

從用戶調(diào)用應(yīng)用程序的角度看,這是一個(gè)簡(jiǎn)單威创、直接的轉(zhuǎn)換服務(wù)落午。但事實(shí)上,實(shí)現(xiàn)這個(gè)服務(wù)的系統(tǒng)非常復(fù)雜肚豺,它由分布于全球的大量DNS服務(wù)器組成溃斋。

DNS不能采用集中式設(shè)計(jì)的原因:

.單點(diǎn)故障

.通信負(fù)擔(dān)

.延遲

.維護(hù)

?分布式、層次數(shù)據(jù)庫

為了處理規(guī)模問題吸申,DNS使用了大量的服務(wù)器梗劫,它們以層次方式組織,并且分布在全世界范圍內(nèi)截碴。大致有3種類型的DNS服務(wù)器:根DNS服務(wù)器梳侨、頂級(jí)域DNS服務(wù)器和權(quán)威服務(wù)器。這些服務(wù)器以圖中所示的層次結(jié)構(gòu)組織起來日丹。

假定一個(gè)DNS客戶機(jī)要確定主機(jī)名http://www.mit.edu的IP地址走哺。

域名查詢主機(jī)的DNSClient向本地域名服務(wù)器發(fā)起一個(gè)查詢。

本地域名服務(wù)器首先與根服務(wù)器之一聯(lián)系哲虾,取得頂級(jí)域名edu的TLD服務(wù)器的IP地址丙躏。

本地域名服務(wù)器然后與這些TLD服務(wù)器之一聯(lián)系,取得http://mit.edu權(quán)威服務(wù)器的IP地址束凑。

本地域名服務(wù)器為http://www.mit.edu聯(lián)系權(quán)威服務(wù)器晒旅,返回www主機(jī)的IP地址。

最后湘今,本地域名服務(wù)器將結(jié)果返還給DNSClient敢朱,操作系統(tǒng)將結(jié)果作為函數(shù)調(diào)用返回值給應(yīng)用程序。

三種類型的DNS服務(wù)器摩瞎。

.根ONS服務(wù)器拴签。在因特網(wǎng)上有13個(gè)根DNS服務(wù)器(標(biāo)號(hào)為A到M),其中大部分位于北美洲旗们。

.頂級(jí)域(TLD)服務(wù)器蚓哩。這些服務(wù)器負(fù)責(zé)頂級(jí)域名(如COM,ORG,GOV和所有國家的頂級(jí)域名(如CN)。

.權(quán)威DNS服務(wù)器上渴。將主機(jī)的名字映射為IP地址岸梨,由一個(gè)單位的權(quán)威DNS服務(wù)器負(fù)責(zé)保存這些記錄喜颁。另一種方法是支付費(fèi)用將這些記錄存儲(chǔ)在某個(gè)ISP的權(quán)威DNS服務(wù)器中。

根曹阔、TLD和權(quán)威DNS服務(wù)器都處在DNS服務(wù)器的層次結(jié)構(gòu)中半开。

本地DNS服務(wù)器嚴(yán)格來說并不屬于DNS服務(wù)器的層次結(jié)構(gòu),但它對(duì)DNS層次結(jié)構(gòu)又是很重要的赃份,本地DNS服務(wù)器通常與主機(jī)相隔不超過幾個(gè)路由器寂拆。當(dāng)主機(jī)發(fā)出DNS請(qǐng)求時(shí),該請(qǐng)求被發(fā)往本地DNS服務(wù)器抓韩,它起著代理的作用纠永,并將域名簡(jiǎn)析請(qǐng)求轉(zhuǎn)發(fā)到DNS服務(wù)器層次結(jié)構(gòu)中。

DNS查詢過程中可以是迭代查詢或是遞歸查詢谒拴。

3:DNS緩存

為了改善時(shí)延性能并減少在因特網(wǎng)上傳輸?shù)腄NS消息數(shù)量尝江,DNS廣泛使用了緩存技術(shù)。DNS緩存的原理非常簡(jiǎn)單英上。在請(qǐng)求鏈中炭序,當(dāng)一個(gè)DNS服務(wù)器接收一個(gè)DNS回答時(shí),服

務(wù)器能將回答中的信息緩存在本地存儲(chǔ)器善延。

另一個(gè)對(duì)相同主機(jī)名的查詢到達(dá)該DNS服務(wù)器時(shí)少态,該服務(wù)器能夠提供所要求的IP地址,

即使它不是該主機(jī)名的權(quán)威服務(wù)器易遣。但DNS服務(wù)器在一段時(shí)間后(通常設(shè)置為兩天》將丟棄緩存的信息彼妻。

4:DNS記錄和消息

實(shí)現(xiàn)DNS分布式數(shù)據(jù)庫的所有DNS服務(wù)器共同存儲(chǔ)著資源記錄(ResourceRecord,RR)豆茫。RR提供了主機(jī)名到IP地址的映射侨歉。每個(gè)DNS回答消息包含了一條或多條資源記錄。資源記錄通常以文本的形式保存在DNS服務(wù)器的配置文件中揩魂。資源記錄是一個(gè)包含了下列字段的4元組:

(Name幽邓,Value,Type火脉,TTL)

TTL是該記錄的生存時(shí)間牵舵,它決定了資源記錄應(yīng)當(dāng)從緩存中刪除的時(shí)間。

Name和value的值取決于Type:

如果Type=A倦挂,則Name是主機(jī)名畸颅,value是該主機(jī)名的IP地址。因此方援,一條類型為A的資源記錄提供了標(biāo)準(zhǔn)的主機(jī)名到IP地址的映射没炒。

如果Type=NS,則Name是域犯戏,而value是知道如何獲得該域中主機(jī)IP地址的權(quán)威DNS服務(wù)器的主機(jī)名送火。

如果Type=CNAME拳话,則value是別名為Name的主機(jī)對(duì)應(yīng)的規(guī)范主機(jī)名。該記錄能夠向請(qǐng)求主機(jī)提供一個(gè)主機(jī)名對(duì)應(yīng)的規(guī)范主機(jī)名种吸。

.如果Type=MX弃衍,則value是別名為Name的郵件服務(wù)器的規(guī)范主機(jī)名。使用MX記錄骨稿,一個(gè)公司的郵件服務(wù)器和其他服務(wù)器(如它的web服務(wù)器)可以使用相同的別名笨鸡。為了獲得郵件服務(wù)器的規(guī)范主機(jī)名,DNS客戶機(jī)應(yīng)當(dāng)請(qǐng)求一條MX記錄;而為了獲得其他服務(wù)器的規(guī)范主機(jī)名坦冠,DNS客戶機(jī)應(yīng)當(dāng)請(qǐng)求一條CNAME記錄。

DNS只有查詢和回答消息哥桥,并具有相同的格式辙浑。

如何在DNS數(shù)據(jù)庫中添加記錄

當(dāng)你申請(qǐng)了一個(gè)域名http://test.com,需要向某些注冊(cè)登記機(jī)構(gòu)注冊(cè)域名時(shí)拟糕,需要提供你的主DNS服務(wù)器和輔助權(quán)威DNS服務(wù)器的名字和IP地址判呕。

對(duì)這兩個(gè)權(quán)威DNS服務(wù)器地址,注冊(cè)登記機(jī)構(gòu)確保將一個(gè)類型NS和一個(gè)類型A的記錄輸入TLDcom服務(wù)器送滞。例如注冊(cè)登記機(jī)構(gòu)會(huì)將下列兩條資源記錄插入該DNS系統(tǒng)中:

(http://test.com侠草,http://dns1.test.com,NS)

(http://dns1.test.com犁嗅,210.210.111.12边涕,A)

你如果開通了Web服務(wù)器、郵件服務(wù)器褂微,那么需要在你的主域名服務(wù)器中添加www,主機(jī)的A類型記錄和類型為MX資源記錄功蜓。一旦完成所有這些步驟,人們就可以訪問你的Web站點(diǎn)宠蚂,并向你發(fā)送電子郵件了式撼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市求厕,隨后出現(xiàn)的幾起案子著隆,更是在濱河造成了極大的恐慌铐料,老刑警劉巖波桩,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摄杂,死亡現(xiàn)場(chǎng)離奇詭異泉孩,居然都是意外死亡蔬咬,警方通過查閱死者的電腦和手機(jī)野瘦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門萄金,熙熙樓的掌柜王于貴愁眉苦臉地迎上來建瘫,“玉大人忘嫉,你說我怎么就攤上這事荤牍“赶伲” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵康吵,是天一觀的道長(zhǎng)劈榨。 經(jīng)常有香客問我,道長(zhǎng)晦嵌,這世上最難降的妖魔是什么同辣? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮惭载,結(jié)果婚禮上旱函,老公的妹妹穿的比我還像新娘。我一直安慰自己描滔,他們只是感情好棒妨,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著含长,像睡著了一般券腔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拘泞,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天纷纫,我揣著相機(jī)與錄音,去河邊找鬼陪腌。 笑死辱魁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的偷厦。 我是一名探鬼主播商叹,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼只泼!你這毒婦竟也來了剖笙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤请唱,失蹤者是張志新(化名)和其女友劉穎弥咪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體十绑,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡聚至,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了本橙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扳躬。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贷币,到底是詐尸還是另有隱情击胜,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布役纹,位于F島的核電站偶摔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏促脉。R本人自食惡果不足惜辰斋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望瘸味。 院中可真熱鬧宫仗,春花似錦、人聲如沸硫戈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丁逝。三九已至,卻和暖如春梭姓,著一層夾襖步出監(jiān)牢的瞬間霜幼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來泰國打工誉尖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留罪既,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓铡恕,卻偏偏與公主長(zhǎng)得像琢感,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子探熔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容