蔡暉 楊靖 胡波
【摘要】高性能智能網(wǎng)關HPGW (High performance Gate Way)是一種用軟件實現(xiàn)的負載均衡設備, HPGW將多臺物理RealServer虛擬化成了一臺虛擬VServer,提供統(tǒng)一的VIP(即virtual ip),用戶只需和VIP進行通訊,就能訪問RealServer上的服務。HPGW能通過多種靈活的調(diào)度算法、健康檢查機制實現(xiàn)跨網(wǎng)段的高性能網(wǎng)絡訪問;通過服務?;?、自身冗余等機制實現(xiàn)服務冗余;通過基于網(wǎng)絡物理層協(xié)議改造實現(xiàn)大并發(fā)鏈接,保障網(wǎng)絡攻擊安全防范;確保對外提供統(tǒng)一的高性能訪問門戶。
【關鍵詞】高性能智能網(wǎng)關;HPGW (High performance Gate Way)
一、引言
我局信息中心是智能水文信息處理中心,承擔著水文、氣象數(shù)據(jù)存儲、處理、分析、轉發(fā)的任務,信息中心共接入各自數(shù)據(jù)采集終端172個,并向省局、水務局實時接收轉發(fā)水文數(shù)據(jù),數(shù)據(jù)量尤其是網(wǎng)絡接受和轉發(fā)的量較大。目前,我局虛擬化平臺已全面建設完成,但由于網(wǎng)絡不穩(wěn)定,數(shù)據(jù)丟包情況時有發(fā)生,所以如何打造一個高性能數(shù)據(jù)接入網(wǎng)關,對局信息工作顯得至關重要。
二、什么是高性能數(shù)據(jù)智能接入網(wǎng)關
高性能智能網(wǎng)關是一種用軟件實現(xiàn)的負載均衡設備,我們稱之為HPGW (High performance Gate Way)。HPGW將多臺物理PServer(即RealServer)虛擬化成了一臺虛擬VServer,提供統(tǒng)一的VIP(即virtual ip),用戶只需和VIP進行通訊,就能訪問RealServer上的服務。
最終,從client的角度看到,自己和一臺server機器(確切說是一個ip)在通訊,感覺不到RealServer的存在;從RealServer的角度看到,自己和client在通訊,沒有感覺到HPGW的存在。
HPGW會對報文做SNAT和DNAT,這樣RS(RealServer)看到的源IP將是HPGW的后端IP,而不是客戶端的真實IP,而現(xiàn)實中有許多業(yè)務需要知道客戶端的真實IP。為了解決這個問題,RS需要在內(nèi)核加載一個TTM模塊,即可將該選項攜帶的真實IP信息獲取出來,該過程對于用戶態(tài)應用程序來說是完全透明的,用戶態(tài)應用程序所看到的是從客戶端真實IP,實現(xiàn)HPGW的透明。
目前網(wǎng)絡3.0大量使用具有跨網(wǎng)段功能的bvs,bignat集群,這大大簡化了IDC網(wǎng)絡的設計和使用,擺脫了之前硬件四層的很多限制。
三、硬件條件分析
應該說,在通用計算方面,英特爾公司的x86芯片在業(yè)內(nèi)傲視群雄。但受時鐘速度和功耗所限,它卻很難在網(wǎng)絡應用上卻難以一展拳腳,而Tilera平臺的PCI Express加速卡專注網(wǎng)絡浮點計算,有望就此解放x86服務器上的CPU資源。
目前的bvs和bignat都是使用X86服務器實現(xiàn)的,但是目前X86的架構,天生在網(wǎng)絡報文處理方面就有一些缺陷。單臺服務器的性能不足,導致了集群方案的使用。集群方案有一些問題,首先是網(wǎng)絡結構復雜,維護起來成本特別高,特別是隨著今后業(yè)務的增加,單個集群服務器數(shù)量多,集群數(shù)量也多,維護比較麻煩。再次是單臺服務器的性能不夠,導致會有雪崩效應的風險。
因此我們可以在Tilera平臺上開發(fā)智能網(wǎng)關 HPGW,通過提升單臺處理能力,減少單個集群的節(jié)點個數(shù)。從而減少維護成本,簡化網(wǎng)絡結構。
四、HPGW設計
4.1 HPGW原理
HPGW原理如下圖所示。當客戶端向業(yè)務的VIP發(fā)來一個報文,HPGW會根據(jù)該VIP下配置的RS進行調(diào)度,選擇一個RS處理該連接。選擇好后將報文的源IP地址改為HPGW的一個后端內(nèi)網(wǎng)IP(BIP),同時將報文目的IP修改為RS的內(nèi)網(wǎng)IP(RIP),然后建立session,最后將數(shù)據(jù)包從下聯(lián)口發(fā)往內(nèi)網(wǎng)。
當RS向客戶端發(fā)送數(shù)據(jù)包時,該數(shù)據(jù)包的目的IP是HPGW的后端IP(BIP),源IP是RS的內(nèi)網(wǎng)IP(RIP)。當數(shù)據(jù)包到達HPGW時,HPGW會根據(jù)前面建立的session將數(shù)據(jù)包的目的IP改回客戶端的外網(wǎng)IP,同時將源IP改為服務的VIP。
在客戶端看來,自己一直在與IP為VIP的一臺服務器通信。而在RS看來,自己一直在與IP為BIP的客戶端通信。該過程對于RS和Client都是透明的。
4.2 TTM模塊
HPGW會對報文做SNAT和DNAT,這樣RS看到的源IP將是HPGW的后端IP,而不是客戶端的真實IP,而現(xiàn)實中有許多業(yè)務需要知道客戶端的真實IP。為了解決這個問題,HPGW會將客戶端的真實IP信息作為一個TCP選項或者IP選項插入在報文中發(fā)給RS。RS端只要在內(nèi)核加載一個TTM模塊,即可將該選項攜帶的真實IP信息獲取出來,該過程對于用戶態(tài)應用程序來說是完全透明的,用戶態(tài)應用程序所看到的是從客戶端真實IP發(fā)給自己內(nèi)網(wǎng)IP的一個報文,即源地址是Internet的客戶端地址(如202.114.0.242),目的IP是RS的內(nèi)網(wǎng)IP(如10.23.170.20)。TTM讀取出該信息時會在內(nèi)核建立一個轉換表,當用戶態(tài)應用程序發(fā)送報文時,目的地址會是外網(wǎng)P(202.114.0.242),TTM模塊會根據(jù)建立的轉換表項將該IP轉換為HPGW的后端IP(BIP)。
4.3 調(diào)度策略
目前,HPGW支持以下幾種調(diào)度策略: Round Robbin、SRCH源地址哈希、CONHASH一致性哈希、MINCONN最小連接調(diào)度、WRR加權輪詢。
4.4、RS?;畈呗?/p>
HPGW并不僅僅是一個簡單的負載均衡器,它還有服務器?;罟δ堋.敯裄S配置到HPGW上之后,HPGW會定期向RS發(fā)送一定格式的報文檢測RS的存活狀態(tài)。如果RS沒有響應,則不再將新的連接調(diào)度到該RS之上,當RS存活比例低于一定的數(shù)量時,便會發(fā)出報警。目前HPGW支持以下幾種RS保活策略:TCP、HTTP、ICMP、UDP
五、HPGW應用和部署
HPGW可以通過開放多物理服務器虛擬為統(tǒng)一對外出口的核心基礎架構技術,為各業(yè)務系統(tǒng)提供的具有安全,穩(wěn)定,高性能,高可擴展性等特點的高性能服務產(chǎn)品,用戶通過統(tǒng)一IP網(wǎng)關即可訪問所有的應用及數(shù)據(jù)服務。實現(xiàn)的應用包含中轉連接、負載均衡、防御攻擊、探活機制。
六、HPGW在水文信息采集上的應用
我局目前有各類采集終端170余個,采用多臺工控設備建立網(wǎng)絡端口監(jiān)聽,分別接收來自不同廠商設備(金水、中水環(huán)球、山脈、宜昌彩虹、中電27所、722所、新烽)的數(shù)據(jù)鏈接,每個廠商都總體上遵循水文數(shù)據(jù)規(guī)約,但都有自己個性化的設置,不僅配置復雜而且無法統(tǒng)一管理;出現(xiàn)故障的頻率較高,尤其是在汛期加報頻繁的情況下,掉包率激增。
如果采用HPGW則能將所有前置監(jiān)聽服務、消息隊列服務、數(shù)據(jù)回寫服務統(tǒng)一管理 ,自動對各物理服務器的計算資源統(tǒng)一調(diào)度,實現(xiàn)負載均衡,并能通過Tilera Pro64 PCI Express加速卡,開辟大并發(fā)鏈接,保障接入性能,確保數(shù)據(jù)到報率、準確率數(shù)量級的提升。