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