基于DNS的GSLB工作原理
下面我們對(duì)基于DNS的GSLB的工作原理進(jìn)行簡(jiǎn)單介紹。
上圖中,中心控制節(jié)點(diǎn)配置一臺(tái)GSLB Controller及數(shù)臺(tái)指定域名(abc.com)的授權(quán)DNS服務(wù)器,GSLB Controller除了進(jìn)行GSLB控制外還可以對(duì)DNS服務(wù)器及其他應(yīng)用服務(wù)器進(jìn)行負(fù)載均衡。設(shè)置2個(gè)站點(diǎn)(以中國(guó)電信和中國(guó)網(wǎng)通為例)提供應(yīng)用服務(wù)。其工作流程如下:
1) 用戶發(fā)起請(qǐng)求訪問http://www.abc.com,關(guān)于www.abc.com 的DNS請(qǐng)求被送往 Local DNS服務(wù)器;
2) Local DNS通過根DNS服務(wù)器查詢到abc.com 的授權(quán)DNS服務(wù)器,Local DNS向授權(quán)DNS服務(wù)器發(fā)DNS請(qǐng)求。
3) GSLB Controller 截獲DNS服務(wù)器返回的應(yīng)答,并基于一組策略選擇最佳的站點(diǎn)VIP 地址,返回給Local DNS服務(wù)器。
GSLB Controller也可以根據(jù)事先定義的策略返回CNAME記錄,在大規(guī)模的多級(jí)GSLB設(shè)計(jì)中會(huì)用到這種方式。Local DNS會(huì)遞歸發(fā)送DNS請(qǐng)求到負(fù)責(zé)指定CNAME域的下一級(jí)GSLB Controller。
4) Local DNS服務(wù)器返回該DNS應(yīng)答到用戶。
5) 用戶根據(jù)解析到的IP地址建立連接進(jìn)行正常訪問。
從GSLB處理流程可以看出,其核心在GSLB策略。接下來簡(jiǎn)單介紹一下常用的一些GSLB策略。
1) 各內(nèi)容站點(diǎn)的“健康狀況”
GSLB Controller對(duì)各內(nèi)容站點(diǎn)負(fù)載均衡設(shè)備上定義的VIP或服務(wù)器(沒有本地負(fù)載均衡的情況)進(jìn)行第四層TCP/UDP健康檢查和第七層應(yīng)用健康檢查。未能通過健康檢查的站點(diǎn)不會(huì)被選為最佳的內(nèi)容節(jié)點(diǎn)。
2) 地理區(qū)域或用戶自定義區(qū)域
一個(gè)區(qū)域?yàn)槿舾蓷lIP地址前綴。根據(jù)用戶本地DNS的IP地址,將特定IP范圍的用戶優(yōu)先分配到某個(gè)通過健康檢查的站點(diǎn)。值得一提的是,由于DNS本身的工作原理所限,GSLB Controller只能看到用戶本地DNS的IP地址,而不是用戶終端的IP地址。當(dāng)用戶使用錯(cuò)誤的本地DNS(如教育網(wǎng)用戶配置網(wǎng)通的DNS服務(wù)器)時(shí),GSLB Controller返回的DNS應(yīng)答將不是最佳的站點(diǎn)。這是基于DNS的GSLB的一個(gè)弱點(diǎn),但由于絕大部分運(yùn)營(yíng)商現(xiàn)在限制其他運(yùn)營(yíng)商的客戶使用自己的DNS,出現(xiàn)這種錯(cuò)誤配置的比例非常小。
3) IP地址權(quán)重
可以為DNS應(yīng)答中的每個(gè)IP地址分配權(quán)重,權(quán)重決定與其他候選IP相比分配到該IP的流量比例。
4) 站點(diǎn)(Site)權(quán)重
可以為每個(gè)Site分配權(quán)重,權(quán)重決定與其他候選Site相比分配到該Site的流量比例。
5) 會(huì)話能力閾值
通過廠商自由的GSLB協(xié)議,GSLB Controller可以獲得每個(gè)站點(diǎn)負(fù)載均衡設(shè)備當(dāng)前可用會(huì)話數(shù)和會(huì)話表大小的最大值,當(dāng)前會(huì)話數(shù)/最大會(huì)話數(shù)比值超過定義的閾值時(shí),該站點(diǎn)不再被選擇。
6) 活動(dòng)服務(wù)器
指一個(gè)GSLB節(jié)點(diǎn)綁定到一個(gè)VIP上的活動(dòng)真實(shí)服務(wù)器數(shù)量。可以配置策略優(yōu)先選擇活動(dòng)服務(wù)器最多的IP地址。
7) 往返時(shí)間(RTT)
RTT策略是基于區(qū)域之外最常用的策略。有兩種模式的RTT測(cè)量:Active RTT測(cè)量與Passive RTT測(cè)量。在實(shí)際部署中,由于網(wǎng)絡(luò)限制和性能原因,Active RTT往往無法使用,Passive RTT更實(shí)用一些。
a) Active RTT 測(cè)量
- 當(dāng)GSLB Controller收到來自LDNS的DNS請(qǐng)求時(shí),GSLB Controller會(huì)通知所有站點(diǎn)負(fù)載均衡設(shè)備對(duì)該LDNS進(jìn)行RTT測(cè)量。根據(jù)采集到的RTT值,GSLB Controller會(huì)選擇RTT值最小的站點(diǎn)的VIP返回給LDNS。
- 由于Active RTT采用DNS Query或ICMP進(jìn)行RTT測(cè)量,在有些網(wǎng)絡(luò)中可能會(huì)被安全策略所過濾而無法工作。
- Active RTT測(cè)量會(huì)產(chǎn)生額外的DNS Query或ICMP流量,在有些網(wǎng)絡(luò)中用戶不希望有太多類似的非用戶流量。
b) Passive RTT測(cè)量
- Passive RTT測(cè)量不會(huì)主動(dòng)去進(jìn)行測(cè)量,也不會(huì)產(chǎn)生額外的數(shù)據(jù)流量,而是在用戶向返回的VIP建立連接時(shí)進(jìn)行采集。
- Passive RTT測(cè)量指從內(nèi)容站點(diǎn)收到一個(gè)用戶發(fā)出連接請(qǐng)求(發(fā)送TCN SYN)到接收到用戶的確認(rèn)(收到TCP ACK)所經(jīng)歷的時(shí)間。而不是簡(jiǎn)單的PING的響應(yīng)時(shí)間,可以更精確的衡量訪問最快的站點(diǎn)。
- Passive RTT的測(cè)量值真正反映了用戶的上網(wǎng)感受 ,在運(yùn)營(yíng)商網(wǎng)絡(luò)中也不會(huì)產(chǎn)生額外流量。也不會(huì)受到其他運(yùn)營(yíng)商或網(wǎng)絡(luò)的安全策略的影響。
與基于區(qū)域的策略相同,用戶配置錯(cuò)誤的DNS時(shí),基于RTT的選擇也將不是最佳的。
8) 當(dāng)前可用會(huì)話數(shù)
9) 站點(diǎn)管理優(yōu)先級(jí)(Admin Preference)
為每個(gè)站點(diǎn)預(yù)設(shè)優(yōu)先級(jí),選擇優(yōu)先級(jí)較高的站點(diǎn)。
10) 最少選擇
選擇從前被選擇的次數(shù)最少的節(jié)點(diǎn)。
11) 輪詢(Round Robin)
采用輪詢方式選擇站點(diǎn)。
總結(jié)
盡管基于DNS的GSLB在特殊情況下(用戶配置錯(cuò)誤DNS)準(zhǔn)確性會(huì)降低,但其豐富的策略、可擴(kuò)展的性能、適用任何IP應(yīng)用協(xié)議、不受互聯(lián)網(wǎng)訪問策略影響以及無改變的業(yè)務(wù)流程等優(yōu)勢(shì)使其成為最主流的GSLB技術(shù),諸多廠家也都在這一技術(shù)上不斷進(jìn)行完善。
頁次:2/2 首頁 上一頁 下一頁 尾頁 Go: |