- 論壇徽章:
- 0
|
全球負(fù)載均衡 網(wǎng)站多點(diǎn)部署 多站點(diǎn)部署 智能DNS 雙線機(jī)房? 多鏈路? 更新2007-08-15
假設(shè)某網(wǎng)站 ,如www.a.com, 上海有服務(wù)器一臺,給的IP是1.1.1.1 ,北京有一臺,給的是2.2.2.2 處于不同IDC,要求實(shí)現(xiàn)上海的用戶訪問在上海的服務(wù)器, 而北京的用戶訪問到北京的服務(wù)器.
角色1 Client 上海電信用戶5.5.5.10
角色2 Client的DNS服務(wù)器 5.5.5.1 根據(jù)Client的網(wǎng)絡(luò)接入的方式不同,DNS服務(wù)器的IP地址是
不一樣的
角色3 a.com的soa dns,ip 3.3.3.3 由com. 授權(quán),
角色4 www.a.com的2臺服務(wù)器, 上海的IP1.1.1.1 北京的2.2.2.2
角色5 上海的DNS服務(wù)器 1.1.1.10
角色6 北京的DNS服務(wù)器 2.2.2.10
在確定好所有的角色后,我們來看看這個工作過程以及解決方案
DNS解析分為遞歸與跌代.
假定上海電信dns 是遞歸查詢, 通過一個圖我們來說明智能解析過程. (請把該圖放大再看比較清楚)
![]()
因?yàn)檫f歸查詢,那么情況比較復(fù)雜,因?yàn)?最終訪問到a.com dns 服務(wù)器的是上海電信dns服務(wù)器, 是Client DNS. 這樣只能判定Client DNS比較距離 上;蛘弑本┍容^近,而無法斷定Client
是距離那里比較近。
不過,由于網(wǎng)絡(luò)接入的方式不一樣,例如 網(wǎng)通的ADSL方式,其IP、DNS地址均由動態(tài)獲取,這樣此時(shí) Client DNS服務(wù)器與Client應(yīng)該是屬于相同運(yùn)營商IP,這樣就能夠通過判定Client DNS地址來大約斷定Client所屬運(yùn)營商所處地區(qū),從而給予Client一個正確的IP地址解析。
但是假如某上海用戶手工指定DNS,恰好又指定了一個北京的遞歸查詢DNS服務(wù)器,這個時(shí)候,就比較麻煩了,因?yàn)闆]有辦法得知Client的實(shí)際位置。
考慮此時(shí)是遞歸查詢,所知Client DNS的IP地址為北京IP,則a.com會解析北京服務(wù)器地址給該 Client DNS,那么Client作為上海用戶最終得到的IP將是 www.a.com = 2.2.2.2 (該地址為北京地址) ,這樣就會導(dǎo)致此用戶得到錯誤的服務(wù)器地址。
不過,好運(yùn)的是,現(xiàn)在的大多數(shù)DNS服務(wù)器都是迭代查詢,因?yàn)闆]有多少DNS服務(wù)器可以承受遞歸的流量,所以對于99%的用戶來說,都能得到正確的地址解析,從而正確的訪問服務(wù)器。
那么迭代查詢的情況又會如何呢?則最終向a.com詢問誰是 www.a.com的 ,將是Client.
這樣,a.com的DNS服務(wù)器將得到Client 的IP,再根據(jù)Client IP地址距離那里比較近,就可以決定返回www.a.com 的IP 1.1.1.1 還是 2.2.2.2; 但是這種工作模式的問題是必須選擇一個好的算法。為什么呢?
應(yīng)為需要考慮到中國網(wǎng)絡(luò)的實(shí)際情況,南北電信分拆后,telecom與cnc之間的互相訪問非常慢, 例如 某上海網(wǎng)通用戶訪問位于上海電信的www.a.com.,其速度可能還不如去訪問位于北京網(wǎng)通的www.a.com.
關(guān)于如何解決這個問題,我已經(jīng)再另外一個精華貼中有所解答,請大家參考在本論壇web子論壇中發(fā)表的文章
http://www.72891.cn/viewthread.php?tid=711346&extra=page%3D2
另外也可以使用靜態(tài)算法,通過收集Client IP是屬于某個地區(qū)的(上海還是北京),就可以決定返回某個IP地址,不過需要收集所有IP所處實(shí)際地區(qū);目前網(wǎng)上已經(jīng)有很多查詢ip地址是屬于某個地區(qū)的技術(shù),看來這種方法還是有可能實(shí)現(xiàn)的。
目前手工配置DNS服務(wù)器來實(shí)現(xiàn)以上目的,好象沒有什么現(xiàn)成的程序能做到,需要自己開發(fā)一些相關(guān)工作流程腳本程序,以及收集電信、網(wǎng)通IP地址段,所處地區(qū)等,工作內(nèi)容比較復(fù)雜。
好消息是,現(xiàn)在已經(jīng)有相關(guān)的商業(yè)產(chǎn)品能夠做到這一點(diǎn)。 如果網(wǎng)站的級別已經(jīng)到達(dá)需要做CDN的話,我想boss考慮問題時(shí),錢應(yīng)該不是首要問題了吧?
有興趣的話,可以跟我聯(lián)系msn: moon_yagami@126.com, qq 11892426 我們可以交流一下相關(guān)技術(shù),也能提供完整的解決方案。
[ 本帖最后由 unsword 于 2007-8-15 12:03 編輯 ] |
|