本篇主要介紹DNS原理以及如何利用DNS實(shí)現(xiàn)負(fù)載均衡顽馋,知識點(diǎn)來源于《linux運(yùn)維最佳實(shí)踐》
作用
DNS實(shí)現(xiàn)了域名到ip的映射
組成部分
域名服務(wù)器:監(jiān)聽udp、tcp的53端口,提供域名解析服務(wù)
解析器:訪問域名服務(wù)器运怖,并解析從域名服務(wù)器返回的結(jié)果
域名服務(wù)器的分類
權(quán)威域名服務(wù)器:又分為根域名服務(wù)器卖子、頂級域名服務(wù)器、二級域名服務(wù)器官觅,其中根域名服務(wù)器負(fù)責(zé)對.com纵菌、.cn、.org等頂級域名的向下授權(quán)休涤,頂級域名服務(wù)器負(fù)責(zé).com咱圆、.cn授權(quán)的服務(wù)器笛辟,二級域名服務(wù)器負(fù)責(zé)解析如sdo.com域的服務(wù)器
舉個(gè)例子:獲取www.example.cn的ip地址,首先向根域名服務(wù)器詢問負(fù)責(zé).cn域名解析的服務(wù)器地址序苏,獲取到結(jié)果后手幢,向負(fù)責(zé).cn域名解析的服務(wù)器(頂級域名服務(wù)器)詢問負(fù)責(zé)example.cn域名解析的服務(wù)器地址,然后向負(fù)責(zé)example.cn域名解析的服務(wù)器(二級域名服務(wù)器)查詢www.example.cn的ip地址
緩存域名服務(wù)器:負(fù)責(zé)接收解析器發(fā)來的dns請求忱详,通過一次查詢根域名服務(wù)器->頂級域名服務(wù)器->二級域名服務(wù)器來獲得dns的解析條目围来,然后把響應(yīng)結(jié)果返回給解析器,同時(shí)根據(jù)dns條目的ttl值進(jìn)行緩存匈睁,下次有相同的dns請求時(shí)监透,直接返回緩存數(shù)據(jù)即可
轉(zhuǎn)發(fā)域名服務(wù)器:負(fù)責(zé)轉(zhuǎn)發(fā)dns請求,并返回結(jié)果給解析器
域名服務(wù)器的兩種查詢機(jī)制
遞歸查詢:緩存服務(wù)器的查詢機(jī)制软舌,依次訪問根域名服務(wù)器才漆、頂級域名服務(wù)器、二級域名服務(wù)器獲取最終的結(jié)果
迭代查詢:權(quán)威域名服務(wù)器的查詢機(jī)制佛点,比如根域名服務(wù)器只會(huì)返回授權(quán)的頂級域名服務(wù)器列表醇滥,并不會(huì)代替客戶端去訪問頂級域名服務(wù)器,權(quán)威域名服務(wù)器是禁用遞歸查詢的超营,因?yàn)槿绻渲贸蛇f歸查詢的話將會(huì)對權(quán)威域名服務(wù)器造成流量沖擊鸳玩,影響正常業(yè)務(wù)提供
構(gòu)建自己的域名解析緩存
可利用域名緩存軟件如nscd緩存域名解析結(jié)果,這樣可以優(yōu)化dns相應(yīng)速度并且減少了dns對外部網(wǎng)絡(luò)的依賴
利用BIND實(shí)現(xiàn)負(fù)載均衡
DNS實(shí)現(xiàn)了域名到ip的映射演闭,當(dāng)然最簡單的情況是一個(gè)域名只映射到一個(gè)ip地址不跟,但是在大型互聯(lián)網(wǎng)服務(wù)構(gòu)建過程當(dāng)中并不會(huì)采用這種映射方式。很多情況下米碰,一個(gè)域名可以映射到多個(gè)ip窝革,不同地方用戶獲得的ip地址也可能不一樣,這就可以實(shí)現(xiàn)就近服務(wù)吕座、流量分發(fā)等功能
可以利用BIND實(shí)現(xiàn)DNS負(fù)載均衡虐译,在BIND中,DNS的條目成為資源記錄吴趴,資源記錄的種類很多漆诽,但是常用的有A記錄、CNAME記錄和NS記錄锣枝,一個(gè)域名可以有多個(gè)A記錄厢拭,這些A記錄的ip地址不同,那么每次訪問BIND請求該域名的ip地址時(shí)撇叁,BIND會(huì)輪訓(xùn)返回不同的ip地址達(dá)到負(fù)載均衡的效果
cache1? ? ? ? IN? ? ? ? A? ? ? ? 211.100.56.4
cache1? ? ? ? IN? ? ? ? A? ? ? ? 211.100.56.5
cache1? ? ? ? IN? ? ? ? A? ? ? ? 211.100.56.6
A記錄:實(shí)現(xiàn)域名到ip的解析
CNAME記錄:記錄了域名的別名
NS記錄:指定下級權(quán)威域名服務(wù)器
BIND還有更詳盡的視圖供鸠,可以解決如不同運(yùn)營商用戶如何獲取更好的服務(wù)等問題,這里就不一一介紹了
總結(jié)
DNS是互聯(lián)網(wǎng)領(lǐng)域最重要的系統(tǒng)之一陨闹,深入了解DNS原理有助于解決因DNS引發(fā)的相關(guān)問題或故障回季,DNS負(fù)載均衡也是實(shí)現(xiàn)互聯(lián)網(wǎng)架構(gòu)負(fù)載均衡的一種策略家制。