王文軍,吳 菁
(貴州民族大學(xué) 信息工程學(xué)院,貴陽 550025)
目前Internet飛速發(fā)展,不斷增加的用戶和多樣化的服務(wù)對網(wǎng)絡(luò)性能有了更高的要求。為了增強(qiáng)網(wǎng)絡(luò)整體的性能,一方面需要增加網(wǎng)絡(luò)的帶寬;另一方面,需要增強(qiáng)網(wǎng)絡(luò)設(shè)備的處理能力。單純的更換高性能的服務(wù)器或增加鏈路帶寬,當(dāng)然可以達(dá)到這個目的。但是,前期的投資也就無法有效的利用,這就造成了極大的浪費(fèi)。鏈路負(fù)載均衡技術(shù)正是在這樣的需求下應(yīng)運(yùn)而生,它通過在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu).將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)“邊緣”,使用戶可以就近取得所需的內(nèi)容,解決 Internet網(wǎng)絡(luò)擁塞狀況,提高用戶訪問網(wǎng)站的響應(yīng)速度。
鏈路負(fù)載均衡是指網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù)流量時,選擇響應(yīng)速度快、符合帶寬要求的網(wǎng)絡(luò)鏈路提供服務(wù)。通過LLB(即鏈路負(fù)載均衡)技術(shù),實現(xiàn)多鏈路接入向和出向負(fù)載均衡,使得用戶能夠從最快的鏈路訪問企業(yè)提供的應(yīng)用服務(wù)。
鏈路負(fù)載均衡技術(shù)主要分為入口鏈路負(fù)載均衡和出口鏈路負(fù)載均衡。入口鏈路的負(fù)載均衡技術(shù)通常將訪問企業(yè)流量的鏈路選擇與DNS域名解析相結(jié)合,用戶通過DNS域名訪問企業(yè)內(nèi)部資源時,根據(jù)用戶發(fā)起訪問的源IP地址的不同讓用戶通過不同的鏈路進(jìn)行接入訪問,即從電信發(fā)起訪問的用戶從電信鏈路訪問到企業(yè)內(nèi)網(wǎng)的服務(wù)器,從聯(lián)通發(fā)起訪問的用戶直接通過聯(lián)通專線鏈路訪問到企業(yè)內(nèi)網(wǎng)的服務(wù)器,指引訪問企業(yè)的外部流量選擇合適的健康的網(wǎng)絡(luò)轉(zhuǎn)發(fā)鏈路,為用戶提供更好的訪問質(zhì)量。而出口鏈路的負(fù)載均衡技術(shù)通??梢愿鶕?jù)不同企業(yè)用戶的不同訪問外網(wǎng)需求進(jìn)行擇優(yōu)選擇鏈路。
圖1為一般企業(yè)原有的網(wǎng)絡(luò)拓?fù)鋱D,企業(yè)內(nèi)網(wǎng)與外網(wǎng)的接口有中國電信、中國聯(lián)通兩條接入鏈路,用戶之前采取對外使用電信單條鏈路做接入業(yè)務(wù)訪問入口,聯(lián)通鏈路作為電信鏈路的備份,當(dāng)電信鏈路中斷后,手工進(jìn)行鏈路切換來實現(xiàn)多鏈路“負(fù)載”。而加入負(fù)載均衡設(shè)備進(jìn)行網(wǎng)絡(luò)升級后,真正實現(xiàn)入口鏈路負(fù)載均衡后的網(wǎng)絡(luò)拓?fù)鋱D則如圖2。負(fù)載均衡設(shè)備可以通過DNS功能實現(xiàn)根據(jù)用戶所處網(wǎng)絡(luò)不同,使用戶通過不同的鏈路訪問企業(yè)內(nèi)部網(wǎng)資源,實現(xiàn)真正的入口鏈路負(fù)載。
當(dāng)接入網(wǎng)兩條出口鏈路分別連接到Telecom、Unicom以實現(xiàn)內(nèi)容發(fā)布功能時,為了提高對用戶訪問的響應(yīng)速度,企業(yè)通常希望能夠根據(jù)用戶發(fā)起訪問的源IP地址的不同讓用戶通過不同的鏈路進(jìn)行接入訪問,即從電信發(fā)起訪問的用戶從電信鏈路訪問到內(nèi)部的服務(wù)器,從聯(lián)通發(fā)起訪問的用戶直接通過聯(lián)通專線鏈路訪問到網(wǎng)絡(luò)內(nèi)部的服務(wù)器。而通過負(fù)載均衡設(shè)備入口鏈路負(fù)載均衡功能的應(yīng)用,能夠在用戶基于域名訪問企業(yè)內(nèi)網(wǎng)的Web應(yīng)用時,自動判斷訪問用戶是從哪個網(wǎng)絡(luò)發(fā)起的訪問請求,并進(jìn)行智能域名解析功能實現(xiàn),從而根據(jù)用戶所處的網(wǎng)絡(luò)是電信還是聯(lián)通網(wǎng)絡(luò),智能返還給用戶相應(yīng)的域名解析結(jié)果IP,使用戶能夠通過最優(yōu)的鏈路訪問企業(yè)內(nèi)的業(yè)務(wù)系統(tǒng)。在保證了訪問速度的同時,充分利用了企業(yè)多條接入網(wǎng)的鏈路。
當(dāng)前使用負(fù)載均衡設(shè)備進(jìn)行入口鏈路負(fù)載均衡的同時,也配合使用負(fù)載均衡設(shè)備的服務(wù)器負(fù)載均衡的功能,負(fù)載均衡設(shè)備智能域名解析的地址一般都是負(fù)載均衡設(shè)備對外提供服務(wù)的VIP(即虛地址,virtual ip,它是一個虛擬的IP地址,多個服務(wù)器共用一個公網(wǎng)IP地址,對這些服務(wù)器的訪問都通過該地址進(jìn)行,而每一臺服務(wù)器使用不同的內(nèi)部真實IP地址。負(fù)載均衡設(shè)備將訪問VIP的流量按照負(fù)載均衡策略分配到每一臺真實的服務(wù)器),當(dāng)外網(wǎng)用戶通過域名解析獲得VIP后,外網(wǎng)用戶的請求流量會到達(dá)負(fù)載均衡設(shè)備,負(fù)載均衡設(shè)備再對此流量進(jìn)行內(nèi)網(wǎng)真實服務(wù)器的負(fù)載均衡。
圖1 企業(yè)原有的網(wǎng)絡(luò)拓?fù)鋱D
圖2 企業(yè)升級入口鏈路負(fù)載均衡后的網(wǎng)絡(luò)拓?fù)鋱D
Cisco負(fù)載均衡特性主要包括兩個子特性(如圖3):入口鏈路負(fù)載均衡和服務(wù)器負(fù)載均衡,其中入口鏈路負(fù)載均衡子特性主要包括2個模塊:域名解析和鏈路,服務(wù)器負(fù)載均衡子特性主要包括2個模塊:流分類和服務(wù)器。圖3中每個模塊主要功能如下:
(1)DNS模塊:外網(wǎng)用戶通過域名方式訪問內(nèi)網(wǎng)服務(wù)器時,本地DNS服務(wù)器會將域名解析請求轉(zhuǎn)發(fā)給負(fù)載均衡設(shè)備。負(fù)載均衡設(shè)備此時充當(dāng)DNS服務(wù)器的角色,根據(jù)設(shè)備上配置的DNS域名表項,查詢相應(yīng)的鏈路組,在鏈路組中進(jìn)行負(fù)載均衡決策,優(yōu)先選擇鏈路組內(nèi)和用戶屬于同一地址區(qū)域的的ISP鏈路成員中配置的DNS應(yīng)答地址進(jìn)行域名解析響應(yīng)。
(2)鏈路模塊:負(fù)載均衡設(shè)備上支持配置ISP鏈路的地址區(qū)域特征。設(shè)備在進(jìn)行負(fù)載均衡決策時,會優(yōu)先選擇和用戶屬于同一地址區(qū)域的ISP鏈路。創(chuàng)建負(fù)載均衡ISP鏈路對應(yīng)的地址區(qū)域后,需要配置負(fù)載均衡ISP鏈路地址區(qū)域包括的IP地址段,如果用戶的源地址屬于哪個地址段,則使用此地址段對應(yīng)的ISP鏈路中配置的DNS應(yīng)答地址進(jìn)行域名解析響應(yīng)。
(3)探測器模塊:健康性檢測是指負(fù)載均衡設(shè)備定時對鏈路網(wǎng)關(guān)或服務(wù)器的服務(wù)狀態(tài)進(jìn)行探測,收集鏈路或服務(wù)器的健康狀況及運(yùn)行信息,及時隔離工作異常的鏈路或服務(wù)器,最終選擇高效能的鏈路或服務(wù)器完成業(yè)務(wù)的轉(zhuǎn)發(fā)或處理。
(4)流分類模塊:負(fù)載均衡設(shè)備根據(jù)業(yè)務(wù)流量的特征,對網(wǎng)絡(luò)流量進(jìn)行分類和管理,最終將業(yè)務(wù)流量轉(zhuǎn)發(fā)給合適的服務(wù)器進(jìn)行處理,流量分類和流量管理是服務(wù)器負(fù)載均衡的核心內(nèi)容。根據(jù)報文的IP地址、協(xié)議號、端口號等信息對流量進(jìn)行分類,對符合條件的業(yè)務(wù)報文進(jìn)行負(fù)載均衡。
(5)服務(wù)器模塊:負(fù)載均衡設(shè)備對業(yè)務(wù)流量進(jìn)行分類后,對于符合條件的用戶業(yè)務(wù)流量,選擇對應(yīng)的服務(wù)器提供服務(wù)。最終根據(jù)服務(wù)器組中配置的負(fù)載均衡算法,選擇滿足條件的服務(wù)器來處理用戶的數(shù)據(jù)報文。
(6)LB轉(zhuǎn)發(fā)模塊:業(yè)務(wù)流量到達(dá)負(fù)載均衡設(shè)備后,LB轉(zhuǎn)發(fā)模塊根據(jù)解析后的業(yè)務(wù)流量特征和LB控制面各模塊下發(fā)至轉(zhuǎn)發(fā)面的數(shù)據(jù),決定選擇哪臺是最合適的服務(wù)器來最好地為用戶提供服務(wù)。
企業(yè)為提高網(wǎng)絡(luò)部署的可靠性,選用多條ISP鏈路接入外網(wǎng)。在有多個運(yùn)營商入口鏈路的網(wǎng)絡(luò)環(huán)境中,配置入口鏈路負(fù)載均衡,可實現(xiàn)鏈路的動態(tài)選擇,提高服務(wù)的可靠性。在Cisco的負(fù)載均衡設(shè)備上可配置鏈路的優(yōu)先服務(wù)地址區(qū)域,鏈路,探測器、鏈路組,以及負(fù)載均衡智能域名解析等。用戶若要實現(xiàn)基本的入口鏈路負(fù)載均衡功能,其基本配置操作流程如下:
/*第一步配置ISP鏈路的優(yōu)先服務(wù)地址區(qū)域,并配置負(fù)載均衡ISP鏈路地址區(qū)域包括的IP地址段。入口鏈路負(fù)載均衡中,需要鏈路的優(yōu)先服務(wù)地址區(qū)域,以便系統(tǒng)做負(fù)載均衡決策時,判斷是否優(yōu)先使用該鏈路*/
(1)負(fù)載均衡設(shè)備管理員啟用入口鏈路負(fù)載均衡功能,同時使用負(fù)載均衡探測器檢測ISP鏈路的健康狀態(tài)。DNS服務(wù)器管理員配置Local DNS服務(wù)器,將用戶訪問企業(yè)內(nèi)部服務(wù)器的DNS請求重定向到負(fù)載均衡設(shè)備。
(2)外網(wǎng)用戶訪問企業(yè)內(nèi)網(wǎng)服務(wù)器時,用戶發(fā)起DNS域名解析請求。當(dāng)負(fù)載均衡設(shè)備接收到DNS請求,根據(jù)用戶所屬網(wǎng)絡(luò)運(yùn)營商網(wǎng)段以及入口鏈路的健康狀態(tài),進(jìn)行均衡決策,選擇最優(yōu)的ISP鏈路。如果用戶地址屬于所配置的鏈路的優(yōu)先服務(wù)地址區(qū)域網(wǎng)段,則即選擇該鏈路配置的DNS應(yīng)答地址作為域名解析的結(jié)果響應(yīng)用戶。反之,不屬于,則在鏈路組中使用配置的負(fù)載均衡算法,選擇一條最優(yōu)的健康入口鏈路,將該鏈路下配置的DNS應(yīng)答地址作為域名解析的結(jié)果響應(yīng)用戶。
(3)負(fù)載均衡設(shè)備根據(jù)所選鏈路成員中配置的DNS應(yīng)答地址,構(gòu)建DNS響應(yīng)報文,告知外網(wǎng)用戶已選擇的最優(yōu)ISP鏈路。通常電信鏈路成員下配置的DNS應(yīng)答地址為電信地址,聯(lián)通鏈路成員下配置的DNS應(yīng)答地址為聯(lián)通地址,這些DNS應(yīng)答地址又通常作為下一步服務(wù)器負(fù)載均衡功能中的VIP(虛地址)對外提供服務(wù)器的負(fù)載均衡服務(wù)。
(4)外網(wǎng)用戶獲得域名解析結(jié)果后,使用負(fù)載均衡設(shè)備選擇的ISP鏈路傳遞業(yè)務(wù)數(shù)據(jù)。負(fù)載均衡設(shè)備接收到外網(wǎng)用戶業(yè)務(wù)數(shù)據(jù),通過負(fù)載均衡設(shè)備的服務(wù)器負(fù)載均衡功能,進(jìn)行再次應(yīng)用業(yè)務(wù)的負(fù)載,選擇一臺最優(yōu)的內(nèi)部服務(wù)器提供服務(wù)。
(5)負(fù)載均衡設(shè)備記錄用戶業(yè)務(wù)請求流量所來的源鏈路信息,從內(nèi)部真實服務(wù)器返回給用戶的回程數(shù)據(jù)流量通過負(fù)載均衡設(shè)備從原鏈路返回給外網(wǎng)用戶。
圖4即為Cisco設(shè)備實現(xiàn)入口鏈路負(fù)載均衡的主要業(yè)務(wù)流程圖:
為了規(guī)避運(yùn)營商入口故障帶來的網(wǎng)絡(luò)可用性風(fēng)險,和解決網(wǎng)絡(luò)帶寬不足帶來的網(wǎng)絡(luò)訪問問題,企業(yè)通常會租用兩個或多個運(yùn)營商入口,而多個網(wǎng)絡(luò)入口必然會面臨需要解決如下問題:
(1)如何對流入的流量很好的解決根據(jù)網(wǎng)絡(luò)的就近性來導(dǎo)向用戶的訪問請求,使外部的用戶能最快的訪問企業(yè)內(nèi)的網(wǎng)絡(luò)服務(wù)。
(2)當(dāng)一條鏈路故障時,如何自動快速切換,保證互聯(lián)網(wǎng)用戶訪問到企業(yè)內(nèi)部的服務(wù)器資源不受影響。
(3)如何實現(xiàn)把互聯(lián)網(wǎng)用戶導(dǎo)向到服務(wù)器質(zhì)量最好的一條鏈路上,同時考慮網(wǎng)絡(luò)的帶寬、延遲等指標(biāo)來綜合進(jìn)行鏈路的智能優(yōu)選。
當(dāng)前入口鏈路負(fù)載均衡技術(shù)很好的有效的解決了如上問題,具備了如下功能:
(1)靜態(tài)和動態(tài)的就近性判斷,保證互聯(lián)網(wǎng)用戶始終都會選擇響應(yīng)較快的鏈路,同時也能夠使從哪條鏈路進(jìn)入企業(yè)內(nèi)部,回程就從哪條鏈路出去。
(2)高級和智能的鏈路健康檢測策略,可以使用多種類型的探測器,針對每條鏈路進(jìn)行健康性檢測,最終決定鏈路的可用性。
(3)對多條鏈路進(jìn)行動態(tài)負(fù)載均衡,在鏈路出現(xiàn)故障時可以實現(xiàn)智能快速的鏈路切換,保證用戶的高可靠性接入。
(4)在基于智能鏈路優(yōu)選的基礎(chǔ)之上,如果用戶不屬于指定的可優(yōu)先服務(wù)地址區(qū)域,還可根據(jù)負(fù)載均衡算法,參照帶寬、權(quán)重、連接數(shù)等參數(shù),選擇一條可以提供最優(yōu)服務(wù)質(zhì)量的鏈路。
[1]CISCO SYSTEMS INC.Device Manager Guide,Cisco ACE 4700 Series Application Control Engine Appliance[OL-26644-03].2013.
[2]CISCO SYSTEMS INC.Cisco 4700 Series Application Control Engine Appliance Server Load-Balancing Configuration Guide[OL-23547-01].2010.
[3]MOCKAPETRIS,P.Domain names-implementation and specification.IETF RFC 1035.USC/Information Sciences Institute,1987.
[4]王曉尉.CDN網(wǎng)絡(luò)中多鏈路負(fù)載均衡流量管理技術(shù)分析與研究[J].電腦知識與技術(shù),2012(13):3086-3087.
[5]宋繼平.動態(tài)鏈路負(fù)載均衡技術(shù)在園區(qū)網(wǎng)絡(luò)中的應(yīng)用探討[J].電信技術(shù),2013(1):47-49.
[6]百度百科.負(fù)載均衡[DB/OL].http://baike.baidu.com/link?url=t3Yqc-YoQTeC_DdA5kbFt26d-IuEKV50mU2sLdpTKnEChgd7P2y3uN ih3XXLxmKp,2014.
[7]百度百科.鏈路負(fù)載均衡[DB/OL].http://baike.baidu.com/link?url=yG_N6-ZyMF41xu4PzWs3A0jlQQvG55B7eyvmPRSbceTeH-gD_xQn-RmqUerhJtI7HdVR0Hcd7baB9JsmxbAIvO_,2014.
[8]IT168.高校鏈路負(fù)載均衡解決方案[DB/OL].http://solution.it168.com/3871/e200b16c-2999-4de5-b17f-27f9a7cde2ad.html,2011