網路支援IPV6地址測試校驗與思考

MrZ大奇發表於2022-01-23

概述

大背景:隨著移動端的快速擴張,網際網路的規模越來越廣闊,早於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 校驗點

  1. 在測試機瀏覽器中輸入 "http://test-ipv6.com/index.html.zh_CN" 確認當前使用網路環境支援IPV6協議

  2. 驗證客戶端APP的DNS解析是否支援V6地址

  3. APP上點選任意頁面後,在閘道器日誌中確認x-forward-for欄位為V6地址

  4. 驗證開發給定的IP使用場景

  5. 確認資料庫中儲存的IP與x-forward-for傳入值一致

  6. 確認呼叫下游服務需傳遞的IP地址與x-forward-for傳入值一致

  7. 確認使用IPV6運算結果與原V4運算結果一致

  8. 確認使用V4地址驗證業務場景與原邏輯一致

  9. 驗證DDOS新增V6支援後整體的服務效能是否損耗

2. 正式環境校驗

主要校驗線上支援V6切換後業務核心功能的可用性

2.1 測試範圍

各業務域驗證使用V6地址訪問服務核心case正常及下游服務協助校驗IP地址傳遞正常

2.2 校驗點

  1. 校驗APP主流程無阻塞功能正常

  2. 各業務域校驗核心迴歸case結果符合預期

  3. 下游業務服務確認傳遞的IP地址為V6地址無誤

注意點

  1. 在閘道器支援IPV6協議後並有相關轉換或賦值操作,一定要驗證效能的影響,及時做好擴容避免服務TPS下降。

  2. 客戶端DNS解析要注意校驗是否支援IPV6地址,當前我們使用的是阿里雲的HttpDNS服務,需要做一定的改造才可以支援V6。

  3. 一定要根據場景做好專案計劃和相關風險點管理,這種切換場景一般都涉及到整個後端服務,跨多級部門和跨多層業務,需要組織協調多個相關人員,一定要做好資源協調和目標明確。

  4. 明確不同時間節點需要完成的目標,並做好相關文件整理,不僅是操作總結,更多的是給後續參與進來的人員提供瞭解相關背景的渠道

相關文章