兩方面分析負(fù)載均衡應(yīng)用領(lǐng)域
如何舒緩我們?nèi)找婢o張的網(wǎng)絡(luò)交換?如何釋放我們的網(wǎng)絡(luò)空間呢?負(fù)載均衡概念為這些問題注入了新的概念。隨著這項(xiàng)技術(shù)的不斷發(fā)展,很多方面都是用了這個(gè)技術(shù),來改善相關(guān)的性能和環(huán)境狀況。那么,我們將從兩個(gè)角度為大家進(jìn)行介紹,分別是網(wǎng)絡(luò)接入?yún)f(xié)議交換和傳輸鏈路聚合。
網(wǎng)絡(luò)接入?yún)f(xié)議交換
大型的網(wǎng)絡(luò)一般都是由大量專用技術(shù)設(shè)備組成的,如包括防火墻、路由器、第3、4層交換機(jī)、負(fù)載均衡設(shè)備、緩沖服務(wù)器和Web服務(wù)器等。如何將這些技術(shù)設(shè)備有機(jī)地組合在一起,是一個(gè)直接影響到網(wǎng)絡(luò)性能的關(guān)鍵性問題。現(xiàn)在許多交換機(jī)提供第四層交換功能,對(duì)外提供一個(gè)一致的IP地址,并映射為多個(gè)內(nèi)部IP地址,對(duì)每次TCP和UDP連接請(qǐng)求,根據(jù)其端口號(hào),按照即定的策略動(dòng)態(tài)選擇一個(gè)內(nèi)部地址,將數(shù)據(jù)包轉(zhuǎn)發(fā)到該地址上,達(dá)到負(fù)載均衡的目的。很多硬件廠商將這種技術(shù)集成在他們的交換機(jī)中,作為他們第四層交換的一種功能來實(shí)現(xiàn),一般采用隨機(jī)選擇、根據(jù)服務(wù)器的連接數(shù)量或者響應(yīng)時(shí)間進(jìn)行選擇的負(fù)載均衡策略來分配負(fù)載。由于地址轉(zhuǎn)換相對(duì)來講比較接近網(wǎng)絡(luò)的低層,因此就有可能將它集成在硬件設(shè)備中,通常這樣的硬件設(shè)備是局域網(wǎng)交換機(jī)。
當(dāng)前局域網(wǎng)交換機(jī)所謂的第四層交換技術(shù),就是按照IP地址和TCP端口進(jìn)行虛擬連接的交換,直接將數(shù)據(jù)包發(fā)送到目的計(jì)算機(jī)的相應(yīng)端口。通過交換機(jī)將來自外部的初始連接請(qǐng)求,分別與內(nèi)部的多個(gè)地址相聯(lián)系,此后就能對(duì)這些已經(jīng)建立的虛擬連接進(jìn)行交換。因此,一些具備第四層交換能力的局域網(wǎng)交換機(jī),就能作為一個(gè)硬件負(fù)載均衡器,完成服務(wù)器的負(fù)載均衡。
由于第四層交換基于硬件芯片,因此其性能非常優(yōu)秀,尤其是對(duì)于網(wǎng)絡(luò)傳輸速度和交換速度遠(yuǎn)遠(yuǎn)超過普通的數(shù)據(jù)包轉(zhuǎn)發(fā)。然而,正因?yàn)樗鞘褂糜布?shí)現(xiàn)的,因此也不夠靈活,僅僅能夠處理幾種最標(biāo)準(zhǔn)的應(yīng)用協(xié)議的負(fù)載均衡,如HTTP 。當(dāng)前負(fù)載均衡主要用于解決服務(wù)器的處理能力不足的問題,因此并不能充分發(fā)揮交換機(jī)帶來的高網(wǎng)絡(luò)帶寬的優(yōu)點(diǎn)。
使用基于操作系統(tǒng)的第四層交換技術(shù)因此孕育而生。通過開放源碼的Linux,將第四層交換的核心功能做在系統(tǒng)的核心層,能夠在相對(duì)高效穩(wěn)定的核心空間進(jìn)行IP包的數(shù)據(jù)處理工作,其效率不比采用專有OS的硬件交換機(jī)差多少。同時(shí)又可以在核心層或者用戶層增加基于交換核心的負(fù)載均衡策略支持,因此在靈活性上遠(yuǎn)遠(yuǎn)高于硬件系統(tǒng),而且造價(jià)方面有更好的優(yōu)勢(shì)。
傳輸鏈路聚合
為了支持與日俱增的高帶寬應(yīng)用,越來越多的PC機(jī)使用更加快速的鏈路連入網(wǎng)絡(luò)。而網(wǎng)絡(luò)中的業(yè)務(wù)量分布是不平衡的,核心高、邊緣低,關(guān)鍵部門高、一般部門低。伴隨計(jì)算機(jī)處理能力的大幅度提高,人們對(duì)多工作組局域網(wǎng)的處理能力有了更高的要求。當(dāng)企業(yè)內(nèi)部對(duì)高帶寬應(yīng)用需求不斷增大時(shí)(例如Web訪問、文檔傳輸及內(nèi)部網(wǎng)連接),局域網(wǎng)核心部位的數(shù)據(jù)接口將產(chǎn)生瓶頸問題,瓶頸延長(zhǎng)了客戶應(yīng)用請(qǐng)求的響應(yīng)時(shí)間。并且局域網(wǎng)具有分散特性,網(wǎng)絡(luò)本身并沒有針對(duì)服務(wù)器的保護(hù)措施,一個(gè)無意的動(dòng)作(像一腳踢掉網(wǎng)線的插頭)就會(huì)讓服務(wù)器與網(wǎng)絡(luò)斷開。
通常,解決瓶頸問題采用的對(duì)策是提高服務(wù)器鏈路的容量,使其超出目前的需求。例如可以由快速以太網(wǎng)升級(jí)到千兆以太網(wǎng)。對(duì)于大型企業(yè)來說,采用升級(jí)技術(shù)是一種長(zhǎng)遠(yuǎn)的、有前景的解決方案。然而對(duì)于許多企業(yè),當(dāng)需求還沒有大到非得花費(fèi)大量的金錢和時(shí)間進(jìn)行升級(jí)時(shí),使用升級(jí)技術(shù)就顯得大材小用了。在這種情況下,鏈路聚合技術(shù)為消除傳輸鏈路上的瓶頸與不安全因素提供了成本低廉的解決方案。
鏈路聚合技術(shù),將多個(gè)線路的傳輸容量融合成一個(gè)單一的邏輯連接。當(dāng)原有的線路滿足不了需求,而單一線路的升級(jí)又太昂貴或難以實(shí)現(xiàn)時(shí),就要采用多線路的解決方案了。目前有5種鏈路聚合技術(shù)可以將多條線路“捆綁”起來。
同步IMUX系統(tǒng)工作在T1/E1的比特層,利用多個(gè)同步的DS1信道傳輸數(shù)據(jù),來實(shí)現(xiàn)負(fù)載均衡。
IMA是另外一種多線路的反向多路復(fù)用技術(shù),工作在信元級(jí),能夠運(yùn)行在使用ATM路由器的平臺(tái)上。
用路由器來實(shí)現(xiàn)多線路是一種流行的鏈路聚合技術(shù),路由器可以根據(jù)已知的目的地址的緩沖(cache)大小,將分組分配給各個(gè)平行的鏈路,也可以采用循環(huán)分配的方法來向線路分發(fā)分組。
多重鏈路PPP,又稱MP或MLP,是應(yīng)用于使用PPP封裝數(shù)據(jù)鏈路的路由器負(fù)載平衡技術(shù)。MP可以將大的PPP數(shù)據(jù)包分解成小的數(shù)據(jù)段,再將其分發(fā)給平行的多個(gè)線路,還可以根據(jù)當(dāng)前的鏈路利用率來動(dòng)態(tài)地分配撥號(hào)線路。這樣做盡管速度很慢,因?yàn)閿?shù)據(jù)包分段和附加的緩沖都增加時(shí)延,但可以在低速的線路上運(yùn)行得很好。
還有一種鏈路聚合發(fā)生在服務(wù)器或者網(wǎng)橋的接口卡上,通過同一塊接口卡的多個(gè)端口映射到相同的IP地址,均衡本地的以太網(wǎng)流量以實(shí)現(xiàn)在服務(wù)器上經(jīng)過的流量成倍增加。目前市面上的產(chǎn)品有intel和dlink的多端口網(wǎng)卡,,一般在一塊網(wǎng)卡上綁定4個(gè)100M以太端口,大大提高了服務(wù)器的網(wǎng)絡(luò)吞吐量。不過這項(xiàng)技術(shù)由于需要操作系統(tǒng)驅(qū)動(dòng)層的支持,只能在win2000和linux下實(shí)現(xiàn)。
鏈路聚合系統(tǒng)增加了網(wǎng)絡(luò)的復(fù)雜性,但也提高了網(wǎng)絡(luò)的可靠性,使人們可以在服務(wù)器等關(guān)鍵LAN段的線路上采用冗余路由。對(duì)于IP系統(tǒng),可以考慮采用VRRP(虛擬路由冗余協(xié)議)。VRRP可以生成一個(gè)虛擬缺省的網(wǎng)關(guān)地址,當(dāng)主路由器無法接通時(shí),備用路由器就會(huì)采用這個(gè)地址,使LAN通信得以繼續(xù)。總之,當(dāng)主要線路的性能必需提高而單條線路的升級(jí)又不可行時(shí),可以采用鏈路聚合技術(shù)。