歸根究底,探討數(shù)據(jù)流負(fù)載均衡
負(fù)載均衡歸根究底就是對數(shù)據(jù)進(jìn)行合理的分配,讓固定數(shù)量的數(shù)據(jù)流分配到每一個(gè)處理設(shè)備中,進(jìn)行處理。在負(fù)載均衡技術(shù)應(yīng)用中,數(shù)據(jù)流可以被引導(dǎo)在兩個(gè)鏈路或者多個(gè)鏈路中進(jìn)行傳遞,也就是前面我們提及過的多鏈路負(fù)載均衡的問題?,F(xiàn)在我們以數(shù)據(jù)流為重點(diǎn),談一下負(fù)載均衡問題。
在網(wǎng)內(nèi)實(shí)際存在著3種不同的數(shù)據(jù)連接請求,因此通過對這3種請求進(jìn)行必要的引導(dǎo),數(shù)據(jù)流便可以有效地在兩條鏈路上進(jìn)行傳遞。這三種數(shù)據(jù)連接包括:
DNS解析請求
Inbound數(shù)據(jù)流
Outbound數(shù)據(jù)流
Load Balance Controller承擔(dān)起了對兩條ISP連接的負(fù)載均衡工作。它作為數(shù)據(jù)傳遞的中間樞紐將所有設(shè)備連接在了一起。
DNS解析請求當(dāng)外部用戶需要對WWW、FTP和e-mail服務(wù)器進(jìn)行訪問時(shí),首先進(jìn)行的便是必要的DNS解析。接下來,我們以WWW域名為例來描述用戶如何通過Load Balance Controller得到恰當(dāng)?shù)腎P地址。假設(shè)WWW域名為www.xxx.com:
1. Client向其本地DNS(LDNS)發(fā)出域名解析請求,探求域名www.xxx.com的IP地址。
2. LDNS向ROOT服務(wù)器查詢xxx.com的地址,得到211.152.31.1和159.226.50.1,它們分別對應(yīng)與兩個(gè)ISP,A和B。
3. LDNS將以第一個(gè)得到的IP地址為目的,向它發(fā)出對www.xxx.com的查詢。如果這第一個(gè)地址在允許的連接條件下,無法連接到或得到解析結(jié)果,則LDNS將啟用第二個(gè)地址進(jìn)行查詢連接。
4. 這時(shí),請求由LDNS到達(dá)Load Balance Controller。在Load Balance Controller 上,對于后面的兩臺DNS服務(wù)器事先已設(shè)置好虛擬服務(wù)器VDNS,且對應(yīng)與兩個(gè)不同的ISP 連接,172.17.1.168和172.17.2.168。172.17.1.168與211.152.31.1通過防火墻1的NAT對應(yīng),172.17.2.168與159.226.50.1通過防火墻1的NAT對應(yīng)。這樣,通過任何一個(gè)ISP連接到達(dá)的域名解析請求都可轉(zhuǎn)發(fā)至后面的兩個(gè)DNS服務(wù)器,并在它們之間完成負(fù)載均衡。
5. 在后面的兩個(gè)DNS服務(wù)器上,需是先進(jìn)行"匿名"的配置。
www.xxx.com. IN CNAME www.wip.xxx.com
在Load Balance Controller上,對應(yīng)這個(gè)匿名,事先已配置好wide IP,www.wip.xxx.com與之對應(yīng):并且包括事先配置的兩個(gè)虛擬服務(wù)器地址,211.152.31.3和159.225.50.3。這兩個(gè)地址都指向后面的WWW服務(wù)器,并與兩個(gè)ISP連接對應(yīng)。
6. 這時(shí),Load Balance Controller會(huì)依據(jù)已經(jīng)設(shè)置好的wide IP均衡規(guī)則,向LDNS提供www.xxx.com所對應(yīng)的IP地址。即依據(jù)兩個(gè)不同的ISP連接情況,選擇與ISP連接向?qū)?yīng)的地址。
7. LDNS得到這個(gè)地址后,將它返回到Client端。
8. Client利用這個(gè)地址進(jìn)行與www.xxx.com的連接。
Inbound數(shù)據(jù)流
部分?jǐn)?shù)據(jù)流主要流向經(jīng)DNS解析請求后得到的地址。我們以對www.xxx.com為例。假設(shè)Client得到的地址是211.152.31.3,那么當(dāng)它的數(shù)據(jù)連接到達(dá)防火墻后會(huì)被翻譯成內(nèi)部地址,172.17.1.3。這個(gè)地址也是Load Balance Controller上設(shè)置的虛擬服務(wù)器地址,對應(yīng)于后臺的WWW服務(wù)器。當(dāng)Load Balance Controller 收到對這個(gè)地址的訪問后,它會(huì)根據(jù)對服務(wù)器設(shè)置的負(fù)載均衡算法,將用戶數(shù)據(jù)轉(zhuǎn)發(fā)到相應(yīng)的服務(wù)器。
Outbound數(shù)據(jù)流
這部分?jǐn)?shù)據(jù)主要從內(nèi)網(wǎng)端口流向與防火墻/路由器相連的外網(wǎng)端口,我們需要將來自Intranet的數(shù)據(jù)連接全部接受,這樣,當(dāng)Load Balance Controller 收到由Intranet發(fā)來的數(shù)據(jù)連接后,就會(huì)依據(jù)相應(yīng)的負(fù)載均衡算法,將數(shù)據(jù)流轉(zhuǎn)發(fā)到恰當(dāng)?shù)姆阑饓?#65377;并且在數(shù)據(jù)出入防火墻/路由器的外網(wǎng)端口時(shí),Load Balance Controller 會(huì)對數(shù)據(jù)流的源IP地址進(jìn)行翻譯。翻譯工作依據(jù)于SNAT設(shè)置。