□趙新強(河南省水利信息中心)
2013年前,河南省水利廳互聯網出口僅有一條聯通百兆光纖電路,河南省水利系統廣域網省到市、縣水利局均租用聯通10MMPLS_VPN 電路進行連接。各連接均為單鏈路,一旦電路出現故障,則市縣至省廳的水利業務訪問將完全中斷,特別是省廳,一旦省廳的專線線路出現故障,整個水利業務網幾乎癱瘓,風險非常大;并且省到市骨干網僅有一條10M 電路,當有大數據傳輸時帶寬也就成了瓶頸。所以在這些關鍵部位實現多鏈路,并通過負載均衡讓多鏈路高效協調工作就非常有必要了。
2013年,河南省水利廳在互聯網出口又增加了一條電信百兆光纖,實現出口雙鏈路,并通過配置一臺應用交付設備實現出站流量和入站流量智能負載均衡。相比傳統的負載均衡,應用交付在強調穩定性的基礎上,通過一些優化技術增加了智能和優化方面的功能特性,進一步改善其業務應用的性能與安全性。2014年,又在省水利廳、14 個市水利局各增加一條移動MPLS_VPN 電路,并各配置一臺應用交付設備,實現省到市骨干網雙鏈路負載均衡。
河南省水利廳互聯網出口目前有兩條百兆光纖電路,分別是聯通和電信。如果不增加負載均衡設備,可以通過兩條互聯網鏈路為內網分別分配不同的IP 地址網段,從而實現鏈路質量保證。這樣雖然可以解決一些鏈路單點故障問題,但是這樣不僅配置繁瑣、管理復雜,而且沒有真正實現負載均衡。因為路由協議無法探測每一個鏈路當前的活動會話數和負載流量,這時的負載均衡非常不達標,頂多只能稱之為“鏈路共享”,多鏈路的資源優勢遠遠沒有發揮出來。
河南省水利廳通過配置一臺應用交付設備實現了互聯網出口負載均衡。應用交付設備通過集合出入站智能DNS 解析、靜態就近性、輪詢、動態就近性、加權輪詢等算法,解決了聯通和電信電路流量分擔的問題,充分提高了兩條電路的帶寬利用率,并且通過為用戶分配最佳的通信線路,使水利廳用戶訪問互聯網速度大大提升。在某條鏈路中斷的情況下,負載均衡設備通過鏈路健康檢查和會話保持技術仍然可以使訪問鏈接不中斷,最大化利用了兩條鏈路的可靠性保障。
內網的用戶訪問互聯網訪問資源時,應用交付設備接收到用戶的訪問流量后,根據預先設定負載策略將訪問運營商資源的出站流量分配到對應的鏈路之上,并做源地址的NAT,(指定某一合法IP 地址進行源地址的NAT,或者用AD 設備的接口地址自動映射),保證數據包返回時能夠正確接收。實現“聯通(網站)走聯通(電路),電信走電信”的既定策略。
入站流量主要指的是互聯網用戶訪問內部服務器資源時的流量,這里的內部服務器一般都有相應的公網域名,例如河南省水利網。在使用應用交付設備前,河南省水利網只有聯通公網地址,電信互聯網用戶訪問河南省水利網時走聯通電路訪問網站,返回的數據包也是走聯通電路,這樣打開網站就特別慢。但應用交付設備可以很好的解決這個問題,具體做法為通過在域名注冊提供商處修改域名NS 記錄,指向應用交付設備公網地址,應用交付設備從而獲得域名解析權,實現一個域名綁定聯通和電信不同的公網地址,負責解析來自多個運營商用戶的域名解析請求。根據設定策略可以分配資源,如電信的用戶通過電信的鏈路訪問,聯通的用戶通過聯通的鏈路訪問;也可以通過兩條鏈路做反向查詢,根據RTT 時間判斷鏈路的好壞,并且綜合以上兩個參數返回相應的IP 地址。
互聯網應用交付設備同時還可以做為DNS 服務器使用,它可以同時集成多個聯通和電信多個知名DNS 服務器地址,對不同的網站快速解析,同時又可以配置僅在水利系統內部使用的內部域名,完全代替水利廳原有的DNS 服務器。
河南省水利系統廣域網目前18 個市水利局除了開封、安陽、商丘、洛陽4 市水利局外,其他14 個市水利局均同時租用聯通和移動兩條10MMPLS_VPN 電路與和省廳互聯,并配置一臺應用交付設備實現雙鏈路負載均衡;省水利廳也同時租用了到省聯通和省移動公司的兩條電路,帶寬為1000M,通過一臺應用交付設備連接,拓撲圖如圖1所示。

圖1 廣域網負載均衡拓撲圖
各市水利局的應用交付設備路由配置類同水利廳互聯網應用交付設備,只要設置智能路由出口為聯通和移動路由地址即可,因為默認路由出口就是兩條負載均衡電路。但河南省水利廳下聯各市應用交付設備配置就困難了,因為這里的默認路由出口不是到地市的兩條電路,而是到省廳的廣域網防火墻。這時如果通過靜態路由的方法連接各市水利局,就很難及時判斷各鏈路負載情況從而達不到負載均衡的效果。
經過摸索,最終通過應用負載功能實現了省水利廳到各市水利局的鏈路負載。正常情況下,應用負載用來對服務器集群進行業務應用負載,包括服務、IP 組、節點監視器、節點池、策略、虛擬服務等幾個部分,通過這幾個部分的組合配置可以靈活高效地發布應用。首先建立全端口服務,即把TCP 和UDP1-65535端口全部包括,然后把各市水利局地址分別建立IP 組,把各市水利局對應聯通和移動網關IP 建立不同的節點池,最后建立虛擬服務,把上面各要素統一起來,通過關鍵點監測網絡通斷,并把各業務合理分發,從而實現負載均衡功能。最后配置界面如圖2所示。

圖2 負載均衡配置頁面圖
至于到省水利廳默認路由因為不牽扯多鏈路通過靜態路由實現即可。
市縣與省廳之間的數據交互實際上分兩個方向,一個是市縣主動訪問省廳,一個是省廳主動訪問市縣,兩個方向的負載使用不同的技術來實現鏈路健康探測和流量負載均衡。當某地鏈路故障或者流量超出閾值范圍時,應用交付設備可以在5 秒內發現,并及時將后續流量切換至另一條鏈路傳輸,保證業務不中斷。
河南省水利系統應用多鏈路負載均衡后,網絡帶寬增加一倍,網絡訪問速度大大提升,并且在某條鏈路出現故障時,網絡仍可以保持暢通,網絡更加可靠。目前仍有4 個市水利局沒有實現到河南省水利廳雙鏈路,有必要建設多鏈路負載均衡。各單位目前關鍵點應用交付設備僅有一臺,仍有單點故障風險,所以需要制定應急方案,在設備出現故障時采用應急手段保證網絡的暢通。建議有條件的單位再增加一臺應用交付設備,實現全冗余網絡連接,保證系統的高可用性和高可靠性。
