DNS

DNS 服務(wù)器

在網(wǎng)絡(luò)世界盐捷,你肯定記得住網(wǎng)站的名稱(chēng),但是很難記住網(wǎng)站的 IP 地址他去,因而也需要一個(gè)地址簿毙驯,就是DNS 服務(wù)器。每個(gè)人上網(wǎng)灾测,都需要訪問(wèn)它爆价,但是同時(shí),這對(duì)它來(lái)講也是非常大的挑戰(zhàn)媳搪。一旦它出了故障铭段,整個(gè)互聯(lián)網(wǎng)都將癱瘓。另外秦爆,上網(wǎng)的人分布在全世界各地序愚,如果大家都去同一個(gè)地方訪問(wèn)某一臺(tái)服務(wù)器,時(shí)延將會(huì)非常大等限。因而爸吮,DNS 服務(wù)器,一定要設(shè)置成高可用望门、高并發(fā)和分布式的形娇。于是,就有了這樣樹(shù)狀的層次結(jié)構(gòu)


image.png
  • 根 DNS 服務(wù)器 :返回頂級(jí)域 DNS 服務(wù)器的 IP 地址
  • 頂級(jí)域 DNS 服務(wù)器:返回權(quán)威 DNS 服務(wù)器的 IP 地址
  • 權(quán)威 DNS 服務(wù)器 :返回相應(yīng)主機(jī)的 IP 地址

DNS 解析流程

為了提高 DNS 的解析性能筹误,很多網(wǎng)絡(luò)都會(huì)就近部署 DNS 緩存服務(wù)器桐早。于是,就有了以下的 DNS 解析
流程。

  1. 電腦客戶端會(huì)發(fā)出一個(gè) DNS 請(qǐng)求哄酝,問(wèn) www.163.com 的 IP 是啥啊友存,并發(fā)給本地域名服務(wù)器 (本地
    DNS)。那本地域名服務(wù)器 (本地 DNS) 是什么呢陶衅?如果是通過(guò) DHCP 配置屡立,本地 DNS 由你的網(wǎng)絡(luò)
    服務(wù)商(ISP),如電信万哪、移動(dòng)等自動(dòng)分配侠驯,它通常就在你網(wǎng)絡(luò)服務(wù)商的某個(gè)機(jī)房。
  2. 本地 DNS 收到來(lái)自客戶端的請(qǐng)求奕巍。你可以想象這臺(tái)服務(wù)器上緩存了一張域名與之對(duì)應(yīng) IP 地址的大
    表格。如果能找到 www.163.com儒士,它直接就返回 IP 地址的止。如果沒(méi)有,本地 DNS 會(huì)去問(wèn)它的根域
    名服務(wù)器:“老大着撩,能告訴我 www.163.com 的 IP 地址嗎诅福?”根域名服務(wù)器是最高層次的,全球共
    有 13 套拖叙。它不直接用于域名解析氓润,但能指明一條道路。
  3. 根 DNS 收到來(lái)自本地 DNS 的請(qǐng)求薯鳍,發(fā)現(xiàn)后綴是 .com咖气,說(shuō):“哦,www.163.com 啊挖滤,這個(gè)域名
    是由.com 區(qū)域管理崩溪,我給你它的頂級(jí)域名服務(wù)器的地址,你去問(wèn)問(wèn)它吧斩松×嫖ǎ”
  4. 本地 DNS 轉(zhuǎn)向問(wèn)頂級(jí)域名服務(wù)器:“老二,你能告訴我 www.163.com 的 IP 地址嗎惧盹?”頂級(jí)域名
    服務(wù)器就是大名鼎鼎的比如 .com乳幸、.net、 .org 這些一級(jí)域名钧椰,它負(fù)責(zé)管理二級(jí)域名粹断,比如
    163.com,所以它能提供一條更清晰的方向演侯。
  5. 頂級(jí)域名服務(wù)器說(shuō):“我給你負(fù)責(zé) www.163.com 區(qū)域的權(quán)威 DNS 服務(wù)器的地址姿染,你去問(wèn)它應(yīng)該
    能問(wèn)到。”
  6. 本地 DNS 轉(zhuǎn)向問(wèn)權(quán)威 DNS 服務(wù)器:“您好悬赏,www.163.com 對(duì)應(yīng)的 IP 是啥呀狡汉?”163.com 的權(quán)
    威 DNS 服務(wù)器,它是域名解析結(jié)果的原出處闽颇。為啥叫權(quán)威呢盾戴?就是我的域名我做主。
  7. 權(quán)限 DNS 服務(wù)器查詢后將對(duì)應(yīng)的 IP 地址 X.X.X.X 告訴本地 DNS兵多。
  8. 本地 DNS 再將 IP 地址返回客戶端尖啡,客戶端和目標(biāo)建立連接
    整個(gè)流程如下圖所示:


    image.png

負(fù)載均衡

內(nèi)部負(fù)載均衡

例如,一個(gè)應(yīng)用要訪問(wèn)數(shù)據(jù)庫(kù)剩膘,在這個(gè)應(yīng)用里面應(yīng)該配置這個(gè)數(shù)據(jù)庫(kù)的 IP 地址衅斩,還是應(yīng)該配置這個(gè)數(shù)據(jù)
庫(kù)的域名呢?顯然應(yīng)該配置域名怠褐,因?yàn)橐坏┻@個(gè)數(shù)據(jù)庫(kù)畏梆,因?yàn)槟撤N原因,換到了另外一臺(tái)機(jī)器上奈懒,而如
果有多個(gè)應(yīng)用都配置了這臺(tái)數(shù)據(jù)庫(kù)的話奠涌,一換 IP 地址,就需要將這些應(yīng)用全部修改一遍磷杏。但是如果配置
了域名溜畅,則只要在 DNS 服務(wù)器里,將域名映射為新的 IP 地址极祸,這個(gè)工作就完成了慈格,大大簡(jiǎn)化了運(yùn)維。
在這個(gè)基礎(chǔ)上贿肩,我們可以再進(jìn)一步峦椰。例如,某個(gè)應(yīng)用要訪問(wèn)另外一個(gè)應(yīng)用汰规,如果配置另外一個(gè)應(yīng)用的 IP
地址汤功,那么這個(gè)訪問(wèn)就是一對(duì)一的。但是當(dāng)被訪問(wèn)的應(yīng)用撐不住的時(shí)候溜哮,我們其實(shí)可以部署多個(gè)滔金。但
是,訪問(wèn)它的應(yīng)用茂嗓,如何在多個(gè)之間進(jìn)行負(fù)載均衡餐茵?只要配置成為域名就可以了。在域名解析的時(shí)候述吸,
我們只要配置策略忿族,這次返回第一個(gè) IP锣笨,下次返回第二個(gè) IP,就可以實(shí)現(xiàn)負(fù)載均衡了

全局負(fù)載均衡道批。

為了保證我們的應(yīng)用高可用错英,往往會(huì)部署在多個(gè)機(jī)房,每個(gè)地方都會(huì)有自己的 IP 地址隆豹。當(dāng)用戶訪問(wèn)某個(gè)
域名的時(shí)候椭岩,這個(gè) IP 地址可以輪詢?cè)L問(wèn)多個(gè)數(shù)據(jù)中心。如果一個(gè)數(shù)據(jù)中心因?yàn)槟撤N原因掛了璃赡,只要在
DNS 服務(wù)器里面判哥,將這個(gè)數(shù)據(jù)中心對(duì)應(yīng)的 IP 地址刪除,就可以實(shí)現(xiàn)一定的高可用碉考。
另外塌计,我們肯定希望北京的用戶訪問(wèn)北京的數(shù)據(jù)中心,上海的用戶訪問(wèn)上海的數(shù)據(jù)中心侯谁,這樣夺荒,客戶體
驗(yàn)就會(huì)非常好,訪問(wèn)速度就會(huì)超快良蒸。這就是全局負(fù)載均衡的概念。
示例:DNS 訪問(wèn)數(shù)據(jù)中心中對(duì)象存儲(chǔ)上的靜態(tài)資源
我們通過(guò) DNS 訪問(wèn)數(shù)據(jù)中心中對(duì)象存儲(chǔ)上的靜態(tài)資源為例伍玖,看一看整個(gè)過(guò)程嫩痰。
假設(shè)全國(guó)有多個(gè)數(shù)據(jù)中心,托管在多個(gè)運(yùn)營(yíng)商窍箍,每個(gè)數(shù)據(jù)中心三個(gè)可用區(qū)(Available Zone)串纺。對(duì)象存
儲(chǔ)通過(guò)跨可用區(qū)部署,實(shí)現(xiàn)高可用性椰棘。在每個(gè)數(shù)據(jù)中心中纺棺,都至少部署兩個(gè)內(nèi)部負(fù)載均衡器,內(nèi)部負(fù)載
均衡器后面對(duì)接多個(gè)對(duì)象存儲(chǔ)的前置服務(wù)器(Proxy-server)


image.png
  1. 當(dāng)一個(gè)客戶端要訪問(wèn) object.yourcompany.com 的時(shí)候邪狞,需要將域名轉(zhuǎn)換為 IP 地址進(jìn)行訪問(wèn)祷蝌,所
    以它要請(qǐng)求本地 DNS 解析器。
  2. 本地 DNS 解析器先查看看本地的緩存是否有這個(gè)記錄帆卓。如果有則直接使用巨朦,因?yàn)樯厦娴倪^(guò)程太復(fù)雜
    了,如果每次都要遞歸解析剑令,就太麻煩了糊啡。
  3. 如果本地?zé)o緩存,則需要請(qǐng)求本地的 DNS 服務(wù)器吁津。
  4. 本地的 DNS 服務(wù)器一般部署在你的數(shù)據(jù)中心或者你所在的運(yùn)營(yíng)商的網(wǎng)絡(luò)中棚蓄,本地 DNS 服務(wù)器也需
    要看本地是否有緩存,如果有則返回,因?yàn)樗膊幌氚焉厦娴倪f歸過(guò)程再走一遍梭依。
  5. 至 7. 如果本地沒(méi)有稍算,本地 DNS 才需要遞歸地從根 DNS 服務(wù)器,查到.com 的頂級(jí)域名服務(wù)器睛挚,最
    終查到 yourcompany.com 的權(quán)威 DNS 服務(wù)器邪蛔,給本地 DNS 服務(wù)器,權(quán)威 DNS 服務(wù)器按說(shuō)會(huì)返
    回真實(shí)要訪問(wèn)的 IP 地址扎狱。

對(duì)于不需要做全局負(fù)載均衡的簡(jiǎn)單應(yīng)用來(lái)講侧到,yourcompany.com 的權(quán)威 DNS 服務(wù)器可以直接將
object.yourcompany.com 這個(gè)域名解析為一個(gè)或者多個(gè) IP 地址,然后客戶端可以通過(guò)多個(gè) IP 地址淤击,
進(jìn)行簡(jiǎn)單的輪詢匠抗,實(shí)現(xiàn)簡(jiǎn)單的負(fù)載均衡。
但是對(duì)于復(fù)雜的應(yīng)用污抬,尤其是跨地域跨運(yùn)營(yíng)商的大型應(yīng)用汞贸,則需要更加復(fù)雜的全局負(fù)載均衡機(jī)制,因而
需要專(zhuān)門(mén)的設(shè)備或者服務(wù)器來(lái)做這件事情印机,這就是全局負(fù)載均衡器(GSLB矢腻,Global Server Load
Balance)。
在 yourcompany.com 的 DNS 服務(wù)器中射赛,一般是通過(guò)配置 CNAME 的方式多柑,給
object.yourcompany.com 起一個(gè)別名,例如 object.vip.yourcomany.com楣责,然后告訴本地 DNS 服務(wù)
器竣灌,讓它請(qǐng)求 GSLB 解析這個(gè)域名,GSLB 就可以在解析這個(gè)域名的過(guò)程中秆麸,通過(guò)自己的策略實(shí)現(xiàn)負(fù)載均
衡初嘹。
圖中畫(huà)了兩層的 GSLB,是因?yàn)榉诌\(yùn)營(yíng)商和地域沮趣。我們希望不同運(yùn)營(yíng)商的客戶屯烦,可以訪問(wèn)相同運(yùn)營(yíng)商機(jī)房
中的資源,這樣不跨運(yùn)營(yíng)商訪問(wèn)兔毒,有利于提高吞吐量漫贞,減少時(shí)延。

  1. 第一層 GSLB育叁,通過(guò)查看請(qǐng)求它的本地 DNS 服務(wù)器所在的運(yùn)營(yíng)商迅脐,就知道用戶所在的運(yùn)營(yíng)商。假設(shè)
    是移動(dòng)豪嗽,通過(guò) CNAME 的方式谴蔑,通過(guò)另一個(gè)別名 object.yd.yourcompany.com豌骏,告訴本地 DNS 服
    務(wù)器去請(qǐng)求第二層的 GSLB。
  2. 第二層 GSLB隐锭,通過(guò)查看請(qǐng)求它的本地 DNS 服務(wù)器所在的地址窃躲,就知道用戶所在的地理位置,然后
    將距離用戶位置比較近的 Region 里面钦睡,六個(gè)內(nèi)部負(fù)載均衡(SLB蒂窒,Server Load Balancer)的地
    址,返回給本地 DNS 服務(wù)器荞怒。
  3. 本地 DNS 服務(wù)器將結(jié)果返回給本地 DNS 解析器洒琢。
  4. 本地 DNS 解析器將結(jié)果緩存后,返回給客戶端褐桌。
  5. 客戶端開(kāi)始訪問(wèn)屬于相同運(yùn)營(yíng)商的距離較近的 Region 1 中的對(duì)象存儲(chǔ)衰抑,當(dāng)然客戶端得到了六個(gè) IP
    地址,它可以通過(guò)負(fù)載均衡的方式荧嵌,隨機(jī)或者輪詢選擇一個(gè)可用區(qū)進(jìn)行訪問(wèn)呛踊。對(duì)象存儲(chǔ)一般會(huì)有三
    個(gè)備份,從而可以實(shí)現(xiàn)對(duì)存儲(chǔ)讀寫(xiě)的負(fù)載均衡啦撮。

——學(xué)自極客時(shí)間

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谭网,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子赃春,更是在濱河造成了極大的恐慌蜻底,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件聘鳞,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡要拂,警方通過(guò)查閱死者的電腦和手機(jī)抠璃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)脱惰,“玉大人搏嗡,你說(shuō)我怎么就攤上這事±唬” “怎么了采盒?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蔚润。 經(jīng)常有香客問(wèn)我磅氨,道長(zhǎng),這世上最難降的妖魔是什么嫡纠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任烦租,我火速辦了婚禮延赌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叉橱。我一直安慰自己挫以,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布窃祝。 她就那樣靜靜地躺著掐松,像睡著了一般。 火紅的嫁衣襯著肌膚如雪粪小。 梳的紋絲不亂的頭發(fā)上大磺,一...
    開(kāi)封第一講書(shū)人閱讀 51,521評(píng)論 1 304
  • 那天,我揣著相機(jī)與錄音糕再,去河邊找鬼量没。 笑死,一個(gè)胖子當(dāng)著我的面吹牛突想,可吹牛的內(nèi)容都是我干的殴蹄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼猾担,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼袭灯!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起绑嘹,我...
    開(kāi)封第一講書(shū)人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤稽荧,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后工腋,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體姨丈,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年擅腰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蟋恬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡趁冈,死狀恐怖歼争,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情渗勘,我是刑警寧澤沐绒,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站旺坠,受9級(jí)特大地震影響乔遮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜取刃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一申眼、第九天 我趴在偏房一處隱蔽的房頂上張望瞒津。 院中可真熱鬧,春花似錦括尸、人聲如沸巷蚪。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)屁柏。三九已至,卻和暖如春有送,著一層夾襖步出監(jiān)牢的瞬間淌喻,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工雀摘, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留裸删,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓阵赠,卻偏偏與公主長(zhǎng)得像涯塔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子清蚀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

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

  • 目錄: 一些基本概念主機(jī)名DNS名稱(chēng)解析DNS 解析的后端存儲(chǔ)名稱(chēng)解析總結(jié) 大規(guī)模域名解析的體系架構(gòu)DNS 解析需...
    C86guli閱讀 12,496評(píng)論 3 34
  • DNS 是什么 DNS (Domain Name System)匕荸, 也叫網(wǎng)域名稱(chēng)系統(tǒng),是互聯(lián)網(wǎng)的一項(xiàng)服務(wù)枷邪。它實(shí)質(zhì)上...
    interstellar多米諾閱讀 2,810評(píng)論 0 6
  • 1榛搔、前言 在當(dāng)下互聯(lián)網(wǎng)時(shí)代,我們?nèi)粘I詈凸ぷ骰径茧x開(kāi)不域名和 DNS 东揣,如通過(guò)一個(gè)網(wǎng)址打開(kāi)一個(gè)網(wǎng)站進(jìn)行購(gòu)物践惑、使...
    cinder_lv閱讀 3,554評(píng)論 1 27
  • 1. 概述 在網(wǎng)絡(luò)環(huán)境中一般用戶只需要在瀏覽器中輸入url如www.sunny.com就可以到對(duì)應(yīng)服務(wù)器獲取相應(yīng)的...
    ghbsunny閱讀 2,892評(píng)論 0 7
  • -德國(guó)Sofi GmbH公司/波蘭MBB Logistics Sp.Zo. O創(chuàng)始人高松訪談 在德國(guó)與波蘭邊境的一...
    冰清心Lucy閱讀 372評(píng)論 0 1