概述
大背景:隨着移動端的快速擴張,互聯網的規模越來越廣闊,早於2011年耗盡的IPV4地址越來越無法滿足互聯網的網絡地址需求,IPV6地址推廣進入快車道。實際情況:近期公司應上級部門邀請對公司的主域名升級改造以支持IPV6地址。事情趟過了本文就簡單介紹驗證支持方案的一些思考。
網絡切換方案
1. 服務架構示意圖
公司整體環境服務部署在阿里雲上,並接入阿里雲的DDOS高防服務,所有業務請求流量均通過高防進入,所以運維方案均圍繞着DDOS服務做IPV6地址支持。
服務架構圖表示如下

2. 網絡切換執行方案
2.1 方案制定
主要思路:
a. 需要同時支持IPV4和IPV6雙協議
b. 梳理業務邏輯中使用IP的場景是否存在上下游傳遞或規則運算
c. 數據庫存儲字段長度是否支持128位
d. 客戶端DNS解析支持IPV6地址
方案:
a. 運維打開DDOS層的IPV6協議支持開關,並保證將解析后的V6地址放入指定的“x-forward-for”字段中
b. 各業務開發梳理使用IP的場景,並確認存儲IP的數據庫字段長度是否需要擴容
c. DBA根據梳理結果擴容存儲字段
d. 測試回歸相關場景,確認是否滿足需求
測試校驗
1. 鏡像環境校驗
主要校驗切換方案的可行性、業務改造點的正確性、業務流程的通暢性、服務性能的穩定性
1.1 測試范圍
驗證涉及使用IP的場景、數據庫IP地址是否存儲正常、下游傳遞的IP是否正確
1.2 校驗點
-
在測試機瀏覽器中輸入 "http://test-ipv6.com/index.html.zh_CN" 確認當前使用網絡環境支持IPV6協議
-
驗證客戶端APP的DNS解析是否支持V6地址
-
APP上點擊任意頁面后,在網關日志中確認x-forward-for字段為V6地址
-
驗證開發給定的IP使用場景
-
確認數據庫中存儲的IP與x-forward-for傳入值一致
-
確認調用下游服務需傳遞的IP地址與x-forward-for傳入值一致
-
確認使用IPV6運算結果與原V4運算結果一致
-
確認使用V4地址驗證業務場景與原邏輯一致
-
驗證DDOS添加V6支持后整體的服務性能是否損耗
2. 正式環境校驗
主要校驗線上支持V6切換后業務核心功能的可用性
2.1 測試范圍
各業務域驗證使用V6地址訪問服務核心case正常及下游服務協助校驗IP地址傳遞正常
2.2 校驗點
-
校驗APP主流程無阻塞功能正常
-
各業務域校驗核心回歸case結果符合預期
-
下游業務服務確認傳遞的IP地址為V6地址無誤
注意點
-
在網關支持IPV6協議后並有相關轉換或賦值操作,一定要驗證性能的影響,及時做好擴容避免服務TPS下降。
-
客戶端DNS解析要注意校驗是否支持IPV6地址,當前我們使用的是阿里雲的HttpDNS服務,需要做一定的改造才可以支持V6。
-
一定要根據場景做好項目計划和相關風險點管理,這種切換場景一般都涉及到整個后端服務,跨多級部門和跨多層業務,需要組織協調多個相關人員,一定要做好資源協調和目標明確。
-
明確不同時間節點需要完成的目標,並做好相關文檔整理,不僅是操作總結,更多的是給后續參與進來的人員提供了解相關背景的渠道
