實戰 | 農業銀行門戶網站 IPv6 改造經驗分享

本文選自《金融電子化》2020年2月刊

作者:中國農業銀行  董楊林 任紅兵

實戰 | 農業銀行門戶網站 IPv6 改造經驗分享

中國農業銀行按照《金融行業關於貫徹的實施意見》的要求,積極履行作為國有大型商業銀行的社會責任,穩步開展全行IPv6部署工作。2019年12月19日,www.95599.cn域名正式對外提供IPv6服務,標誌著中國農業銀行圓滿完成門戶網站IPv6改造工作,門戶網站包含的59個總分行域名全部對外提供IPv4和IPv6服務。截至目前,門戶網站系統運行穩定,各項技術指標正常。2019年12月23日至29日監控數據顯示,門戶網站訪問流量中,IPv4和IPv6流量分別為總流量的90%、10%。在人民銀行金融行業IPv6發展監測平臺改造情況排行榜中排名前列。

IPv6改造過程

中國農業銀行在2018年互聯網應用改造試點基礎上,2019年1月啟動門戶網站IPv6改造,改造過程包括確定實施範圍、制定技術方案、系統改造及測試、系統上線四個部分。

一是確定實施範圍:按照“一行兩會”的《實施意見》的要求,發佈《中國農業銀行IPv6部署工作方案》,明確全行部署工作按照四個階段開展。2019年為初期部署階段,工作內容是完成門戶網站等系統的IPv6部署工作。

二是制定技術方案:

IPv6雖然經過多年發展,但是由於IPv6協議在設計上不兼容IPv4協議,IPv4無法訪問IPv6網絡,因此要實現現有生產系統平滑升級到IPv6網絡,包括系統、網絡、安全等多個方面改造內容。通過對雙棧技術、地址協議轉換、隧道技術三種IPv4-IPv6過渡技術方案分析,結合全行應用部署情況,確定門戶網站採用雙棧技術完成IPv6改造。

三是業務系統改造及測試:改造初期,制定《中國農業銀行IPv6改造技術指引》,為各相關改造系統提供技術指導。在改造工作中,測試是非常重要的環節,直接關係改造工作成功與否,具體包括業務功能,域名解析、單、雙棧測試、安全防護、運維監控等方面。

四是投產上線:為確保在上線過程中確保不影響IPv4業務,採取並行方式部署IPv6應用,在系統內部驗證後,分階段逐步發佈IPv6服務。

IPv6改造技術方案

中國農業銀行門戶網站IPv6改造技術方案包括總體架構、應用改造、配套設施建設三個方面內容。

1.總體架構

農業銀行門戶網站採用雙棧技術方案,主要有以下三點考慮:一是IPv4-only演進到IPv6-only不會一蹴而就,可以預見,IPv4-only、IPv6-only和IPv4/IPv6三種網絡環境的並存是一個必經且漫長的階段。二是雙棧模式下,所有節點均開啟雙棧,既可以以雙棧模式對互聯網(IPv4-only、IPv6-only和IPv4/IPv6)用戶提供服務,又能夠兼顧系統之間的關聯訪問場景,適用範圍廣。三是雙棧模式可以在不調整原有IPv4內網網絡,新增獨立專屬的負載均衡設備供IPv6接入,業務系統從IPv4逐步改造支持雙棧模式,並獨立部署支持IPv6客戶訪問,這樣保證了對原有IPv4業務不產生任何影響,平滑實現系統的改造。

IPv6改造技術改進過程中經過了兩階段演進:

階段一:新建IPv4/IPv6環境,與IPv4並行。新建IPv4/IPv6網絡,從外聯接入區設備、外聯應用區設備、應用服務器、操作系統、中間件、全部採用雙棧模式;同時初步完成應用雙棧改造,與原IPv4網絡形成並行運行狀態,即IPv4業務承載於IPv4網絡,IPv6業務承載於IPv4/IPv6網絡。

階段二:新環境接管IPv4流量,雙棧運行。在保障IPv4業務的可用性和安全性前提下,待IPv4/IPv6網絡運行平穩後,完成IPv4網絡、IPv4/IPv6網絡融合,實現全網全鏈路雙棧,即IPv4業務和IPv6業務統一承載於IPv4/IPv6網絡。此方案IPv4網絡和IPv4/IPv6網絡分別承載單棧業務,在風險可控的情況下,成功解決IPv4和IPv6兼容問題,平滑實現系統IPv6改造。最終演進的總體架構如圖所示。

實戰 | 農業銀行門戶網站 IPv6 改造經驗分享

圖  IPv6改造總體架構

2.應用改造

目前,農業銀行互聯網應用按照開發平臺劃分主要分為三類:.NET應用、Java應用、C語言應用。其中基於.NET、Java應用主要運行在Web容器(IIS、WAS)中對外提供HTTP服務。由於IP協議在七層網絡模型中位於網絡層,網絡層協議的變化,通過操作系統、Web容器的雙棧支持能實現應用系統對網絡層協議變化的屏蔽,.NET和Java應用改造的重點主要集中在因IPv6地址格式的變化引起的地址處理規則、地址空間等方面的應用層改造。如果應用系統調用底層網絡接口,則需要對應用系統做適應性改造以支持IPv4和IPv6。

應用系統改造工作具體包括:

首先是IP地址處理。IPv6地址使用冒號十六製表示:128位地址由冒號分割成8段,每段16位;由於IPv6地址支持壓縮前導零和連續幾段零壓縮為雙冒號的標識形式,地址標識與IPv4地址有較大差別。在存儲層,需要注意內存空間、存儲長度以滿足IPv6地址的長度要求;在應用邏輯處理層,需要對通過IP地址獲取地理位置信息規則進行更新;對利用IP地址當做集合類主鍵邏輯,如果缺乏地址表示格式調整,很容易就出現結果不正確的現象。需要高度重視因IP地址結構形式變化而帶來的應用改造工作。

其次是網絡編程。在使用底層網絡接口socket編程時,要注意gethostbyname,gethostbyname2和inet_aton等API對IP地址調用方式,避免缺少對IPv6的支持。

三是關聯繫統訪問。關聯繫統訪問,用域名代替直接使用IP地址硬編碼;同時後臺關聯繫統要完成IPv6地址特性處理的相關改造,以適應消費方的變化。

3.配套設施建設

除應用和網絡改造,對IPv6配套設施建設採用與IPv4一致的標準。運維監控措方面,完成星雲平臺監控,網絡旁路監控對IPv6的支持;同步建立面向IPv6基礎架構領域監控,包括網絡流量、負載均衡會話、服務器負載等;安全設備啟用對IPv6環境攻擊流量的監控和防護。

門戶網站IPv6改造經驗

綜上所述,農業銀行門戶網站IPv6改造經驗如下。

一是加強負載均衡配置信息梳理及更新。實施過程中發現負載均衡配置信息中,存在部分應用系統信息不完善,無法找到系統聯繫人,後續需要加強信息登記工作;同時,對於負載均衡F5的子目錄配置應用系統,需要及時做好下線應用子目錄清除,防止對後續工作造成困擾。

二是同一個域名不宜加載過多業務系統。一個域名下的業務系統過多會使得IPv6系統改造工作改造難度加大,關聯繫統風險較難控制,需要在平常業務系統使用域名方面加強管控。

三是注意確認改造系統依賴的外購產品及組件對IPv6支持情況。對於外購系統以及密碼鍵盤、中間件、安全控件等組件,需要聯繫廠家正式確認IPv6相關支持情況,並留有足夠的時間搭建環境對IPv6支持以及影響情況進行驗證測試。

四是將支持IPv6納入非功能需求架構管控。做好架構宣貫工作,將支持IPv6納入新建系統的非功能需求中,從制度上保障新系統滿足IPv6部署工作相關要求,防止邊改造邊汙染。

五是對多系統共用域名情況在正式發佈前進行確認。在發佈關聯多個應用系統域名的IPv6服務時,確保所有關聯繫統均完成改造和內部驗證,無新增不支持IPv6的系統,避免發佈後發現問題造成全部關聯繫統回退。

六是充分開展內部驗證以防範改造風險。在正式發佈互聯網服務前,通過配置本地hosts解析域名IPv6地址的方式,對應用進行充分的驗證。滿足內網使用條件的,建議在內網對相關互聯網應用進行驗證,通過內部員工使用發現解決問題。

七是客戶端的驗證場景注意涵蓋單IPv4、單IPv6和雙棧環境。為保證提供的服務能夠最大限度的滿足用戶使用,在驗證測試時,需要涵蓋單IPv4、單IPv6和雙棧環境等三種客戶端場景。具體通過在客戶端設備上禁用IPv4協議以驗證單IPv6環境、禁用IPv6協議以驗證單IPv4環境,缺省情況為雙棧環境。

實戰 | 農業銀行門戶網站 IPv6 改造經驗分享


分享到:


相關文章: