王文軍,吳 菁
(貴州民族大學 信息工程學院,貴陽 550025)
目前Internet飛速發展,不斷增加的用戶和多樣化的服務對網絡性能有了更高的要求。為了增強網絡整體的性能,一方面需要增加網絡的帶寬;另一方面,需要增強網絡設備的處理能力。單純的更換高性能的服務器或增加鏈路帶寬,當然可以達到這個目的。但是,前期的投資也就無法有效的利用,這就造成了極大的浪費。鏈路負載均衡技術正是在這樣的需求下應運而生,它通過在現有的Internet中增加一層新的網絡架構.將網站的內容發布到最接近用戶的網絡“邊緣”,使用戶可以就近取得所需的內容,解決 Internet網絡擁塞狀況,提高用戶訪問網站的響應速度。
鏈路負載均衡是指網絡設備轉發數據流量時,選擇響應速度快、符合帶寬要求的網絡鏈路提供服務。通過LLB(即鏈路負載均衡)技術,實現多鏈路接入向和出向負載均衡,使得用戶能夠從最快的鏈路訪問企業提供的應用服務。
鏈路負載均衡技術主要分為入口鏈路負載均衡和出口鏈路負載均衡。入口鏈路的負載均衡技術通常將訪問企業流量的鏈路選擇與DNS域名解析相結合,用戶通過DNS域名訪問企業內部資源時,根據用戶發起訪問的源IP地址的不同讓用戶通過不同的鏈路進行接入訪問,即從電信發起訪問的用戶從電信鏈路訪問到企業內網的服務器,從聯通發起訪問的用戶直接通過聯通專線鏈路訪問到企業內網的服務器,指引訪問企業的外部流量選擇合適的健康的網絡轉發鏈路,為用戶提供更好的訪問質量。而出口鏈路的負載均衡技術通??梢愿鶕煌髽I用戶的不同訪問外網需求進行擇優選擇鏈路。
圖1為一般企業原有的網絡拓撲圖,企業內網與外網的接口有中國電信、中國聯通兩條接入鏈路,用戶之前采取對外使用電信單條鏈路做接入業務訪問入口,聯通鏈路作為電信鏈路的備份,當電信鏈路中斷后,手工進行鏈路切換來實現多鏈路“負載”。而加入負載均衡設備進行網絡升級后,真正實現入口鏈路負載均衡后的網絡拓撲圖則如圖2。負載均衡設備可以通過DNS功能實現根據用戶所處網絡不同,使用戶通過不同的鏈路訪問企業內部網資源,實現真正的入口鏈路負載。
當接入網兩條出口鏈路分別連接到Telecom、Unicom以實現內容發布功能時,為了提高對用戶訪問的響應速度,企業通常希望能夠根據用戶發起訪問的源IP地址的不同讓用戶通過不同的鏈路進行接入訪問,即從電信發起訪問的用戶從電信鏈路訪問到內部的服務器,從聯通發起訪問的用戶直接通過聯通專線鏈路訪問到網絡內部的服務器。而通過負載均衡設備入口鏈路負載均衡功能的應用,能夠在用戶基于域名訪問企業內網的Web應用時,自動判斷訪問用戶是從哪個網絡發起的訪問請求,并進行智能域名解析功能實現,從而根據用戶所處的網絡是電信還是聯通網絡,智能返還給用戶相應的域名解析結果IP,使用戶能夠通過最優的鏈路訪問企業內的業務系統。在保證了訪問速度的同時,充分利用了企業多條接入網的鏈路。
當前使用負載均衡設備進行入口鏈路負載均衡的同時,也配合使用負載均衡設備的服務器負載均衡的功能,負載均衡設備智能域名解析的地址一般都是負載均衡設備對外提供服務的VIP(即虛地址,virtual ip,它是一個虛擬的IP地址,多個服務器共用一個公網IP地址,對這些服務器的訪問都通過該地址進行,而每一臺服務器使用不同的內部真實IP地址。負載均衡設備將訪問VIP的流量按照負載均衡策略分配到每一臺真實的服務器),當外網用戶通過域名解析獲得VIP后,外網用戶的請求流量會到達負載均衡設備,負載均衡設備再對此流量進行內網真實服務器的負載均衡。

圖1 企業原有的網絡拓撲圖

圖2 企業升級入口鏈路負載均衡后的網絡拓撲圖
Cisco負載均衡特性主要包括兩個子特性(如圖3):入口鏈路負載均衡和服務器負載均衡,其中入口鏈路負載均衡子特性主要包括2個模塊:域名解析和鏈路,服務器負載均衡子特性主要包括2個模塊:流分類和服務器。圖3中每個模塊主要功能如下:
(1)DNS模塊:外網用戶通過域名方式訪問內網服務器時,本地DNS服務器會將域名解析請求轉發給負載均衡設備。負載均衡設備此時充當DNS服務器的角色,根據設備上配置的DNS域名表項,查詢相應的鏈路組,在鏈路組中進行負載均衡決策,優先選擇鏈路組內和用戶屬于同一地址區域的的ISP鏈路成員中配置的DNS應答地址進行域名解析響應。
(2)鏈路模塊:負載均衡設備上支持配置ISP鏈路的地址區域特征。設備在進行負載均衡決策時,會優先選擇和用戶屬于同一地址區域的ISP鏈路。創建負載均衡ISP鏈路對應的地址區域后,需要配置負載均衡ISP鏈路地址區域包括的IP地址段,如果用戶的源地址屬于哪個地址段,則使用此地址段對應的ISP鏈路中配置的DNS應答地址進行域名解析響應。
(3)探測器模塊:健康性檢測是指負載均衡設備定時對鏈路網關或服務器的服務狀態進行探測,收集鏈路或服務器的健康狀況及運行信息,及時隔離工作異常的鏈路或服務器,最終選擇高效能的鏈路或服務器完成業務的轉發或處理。
(4)流分類模塊:負載均衡設備根據業務流量的特征,對網絡流量進行分類和管理,最終將業務流量轉發給合適的服務器進行處理,流量分類和流量管理是服務器負載均衡的核心內容。根據報文的IP地址、協議號、端口號等信息對流量進行分類,對符合條件的業務報文進行負載均衡。
(5)服務器模塊:負載均衡設備對業務流量進行分類后,對于符合條件的用戶業務流量,選擇對應的服務器提供服務。最終根據服務器組中配置的負載均衡算法,選擇滿足條件的服務器來處理用戶的數據報文。
(6)LB轉發模塊:業務流量到達負載均衡設備后,LB轉發模塊根據解析后的業務流量特征和LB控制面各模塊下發至轉發面的數據,決定選擇哪臺是最合適的服務器來最好地為用戶提供服務。
企業為提高網絡部署的可靠性,選用多條ISP鏈路接入外網。在有多個運營商入口鏈路的網絡環境中,配置入口鏈路負載均衡,可實現鏈路的動態選擇,提高服務的可靠性。在Cisco的負載均衡設備上可配置鏈路的優先服務地址區域,鏈路,探測器、鏈路組,以及負載均衡智能域名解析等。用戶若要實現基本的入口鏈路負載均衡功能,其基本配置操作流程如下:
/*第一步配置ISP鏈路的優先服務地址區域,并配置負載均衡ISP鏈路地址區域包括的IP地址段。入口鏈路負載均衡中,需要鏈路的優先服務地址區域,以便系統做負載均衡決策時,判斷是否優先使用該鏈路*/


(1)負載均衡設備管理員啟用入口鏈路負載均衡功能,同時使用負載均衡探測器檢測ISP鏈路的健康狀態。DNS服務器管理員配置Local DNS服務器,將用戶訪問企業內部服務器的DNS請求重定向到負載均衡設備。
(2)外網用戶訪問企業內網服務器時,用戶發起DNS域名解析請求。當負載均衡設備接收到DNS請求,根據用戶所屬網絡運營商網段以及入口鏈路的健康狀態,進行均衡決策,選擇最優的ISP鏈路。如果用戶地址屬于所配置的鏈路的優先服務地址區域網段,則即選擇該鏈路配置的DNS應答地址作為域名解析的結果響應用戶。反之,不屬于,則在鏈路組中使用配置的負載均衡算法,選擇一條最優的健康入口鏈路,將該鏈路下配置的DNS應答地址作為域名解析的結果響應用戶。
(3)負載均衡設備根據所選鏈路成員中配置的DNS應答地址,構建DNS響應報文,告知外網用戶已選擇的最優ISP鏈路。通常電信鏈路成員下配置的DNS應答地址為電信地址,聯通鏈路成員下配置的DNS應答地址為聯通地址,這些DNS應答地址又通常作為下一步服務器負載均衡功能中的VIP(虛地址)對外提供服務器的負載均衡服務。
(4)外網用戶獲得域名解析結果后,使用負載均衡設備選擇的ISP鏈路傳遞業務數據。負載均衡設備接收到外網用戶業務數據,通過負載均衡設備的服務器負載均衡功能,進行再次應用業務的負載,選擇一臺最優的內部服務器提供服務。
(5)負載均衡設備記錄用戶業務請求流量所來的源鏈路信息,從內部真實服務器返回給用戶的回程數據流量通過負載均衡設備從原鏈路返回給外網用戶。
圖4即為Cisco設備實現入口鏈路負載均衡的主要業務流程圖:
為了規避運營商入口故障帶來的網絡可用性風險,和解決網絡帶寬不足帶來的網絡訪問問題,企業通常會租用兩個或多個運營商入口,而多個網絡入口必然會面臨需要解決如下問題:
(1)如何對流入的流量很好的解決根據網絡的就近性來導向用戶的訪問請求,使外部的用戶能最快的訪問企業內的網絡服務。
(2)當一條鏈路故障時,如何自動快速切換,保證互聯網用戶訪問到企業內部的服務器資源不受影響。
(3)如何實現把互聯網用戶導向到服務器質量最好的一條鏈路上,同時考慮網絡的帶寬、延遲等指標來綜合進行鏈路的智能優選。
當前入口鏈路負載均衡技術很好的有效的解決了如上問題,具備了如下功能:
(1)靜態和動態的就近性判斷,保證互聯網用戶始終都會選擇響應較快的鏈路,同時也能夠使從哪條鏈路進入企業內部,回程就從哪條鏈路出去。
(2)高級和智能的鏈路健康檢測策略,可以使用多種類型的探測器,針對每條鏈路進行健康性檢測,最終決定鏈路的可用性。
(3)對多條鏈路進行動態負載均衡,在鏈路出現故障時可以實現智能快速的鏈路切換,保證用戶的高可靠性接入。
(4)在基于智能鏈路優選的基礎之上,如果用戶不屬于指定的可優先服務地址區域,還可根據負載均衡算法,參照帶寬、權重、連接數等參數,選擇一條可以提供最優服務質量的鏈路。
[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網絡中多鏈路負載均衡流量管理技術分析與研究[J].電腦知識與技術,2012(13):3086-3087.
[5]宋繼平.動態鏈路負載均衡技術在園區網絡中的應用探討[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