网络支持IPV6地址测试校验与思考
概述
大背景:随着移动端的快速扩张,互联网的规模越来越广阔,早于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。
一定要根据场景做好项目计划和相关风险点管理,这种切换场景一般都涉及到整个后端服务,跨多级部门和跨多层业务,需要组织协调多个相关人员,一定要做好资源协调和目标明确。
明确不同时间节点需要完成的目标,并做好相关文档整理,不仅是操作总结,更多的是给后续参与进来的人员提供了解相关背景的渠道
网络支持IPV6地址测试校验与思考的更多相关文章
- IPv6地址测试宏
- 检查电脑链接的网络是否支持ipv6
测试方法一:在浏览器地址栏输入网址“http://test-ipv6.com/”,在页面会给出您的ipv6网络测试结果 测试方法二:在浏览器地址栏输入网址“http://ipv6.jmu.edu.cn ...
- iOS应用支持IPV6,就那点事儿
原文连接 果然是苹果打个哈欠,iOS行业内就得起一次风暴呀.自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6 ...
- iOS应用支持IPV6
一.IPV6-Only支持是啥? 首先IPV6,是对IPV4地址空间的扩充.目前当我们用iOS设备连接上Wifi.4G.3G等网络时,设备被分配的地址均是IPV4地址,但是随着运营商和企业逐渐部署IP ...
- 用尽洪荒之力解决Apple Store ipv6审核通关---linux服务器支持ipv6
强势的库克时代到来,苹果开启了强制IPV6审核,大家也知道中国现在的情况,除了教育网实验性的支持IPV6,ISP运营商还不支持,想必大家都陆陆续续的遭受到了苹果无情的拒绝,以前开个加急,审核 ...
- 在 Linux 平台及 IPv4 环境中构建 IPv6局域网 测试环境
在 Linux 平台及 IPv4 环境中构建 IPv6 测试环境 1 IPv6简介 IPv6(Internet Protocol Version 6)作为 IPv4 的升级版本,它是作为一共软件升级安 ...
- 浏览器访问IPv6地址
http://[IPv6]:port/index.html http://[3ffe:3201:1200:1::91]:8080/index.html 目前现在的网络运营商基本都不支持基于IPv6地址 ...
- docker支持ipv6
方法 方法一.Pv6地址 不为容器中的服务特别分配IPv6地址. 只要Docker把外部的IPv6地址端口映射到容器的IPv4端口上,随后访问主机的IPv6相应端口即可. 方法二.为Docker网络分 ...
- IPv6地址的ping、telnet等操作
最近在研究https协议是如何传输数据的,用wireshark抓包分析,发现客户机和google网站在传输数据时使用了IPv6地址,于是相对ipv6地址测试下基本的功能. ping功能,直接使用pin ...
随机推荐
- git命令行常用操作总结
关于 更多使用细节(grammar和book),请参考 官网 1.上传代码 1.1 创建自己的远程Repository, github或者gitee 1.2 创建本地git仓库 $ git init ...
- window串口之CreateFile打开串口号大于9返回错误ERROR_FILE_NOT_FOUND
1. 现象 Windows上,串口存在但是打开串口号大于9的串口返回ERROR_FILE_NOT_FOUND,打开小于10的串口号却正常. 2. 解决 以10号串口为例:将错误示范COM10 改为 \ ...
- 【LeetCode】1419. 数青蛙 Minimum Number of Frogs Croaking (Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典 日期 题目地址:https://leetcode ...
- 【LeetCode】239. Sliding Window Maximum 解题报告(Python&C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 单调递减队列 MultiSet 日期 题目地址:ht ...
- 【LeetCode】985. Sum of Even Numbers After Queries 解题报告(C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 暴力 找规律 日期 题目地址:https://lee ...
- 【LeetCode】982. Triples with Bitwise AND Equal To Zero 解题报告(C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- Rikka with Graph(hdu5631)
Rikka with Graph Accepts: 123 Submissions: 525 Time Limit: 2000/1000 MS (Java/Others) Memory Lim ...
- spring事务失效的12种场景
一 事务不生效 1.访问权限问题 java的访问权限主要有四种:private<default<protected<public. 把有某些事务方法,定义了错误的访问权限,就会导致事 ...
- 【Warrior刷题笔记】力扣169. 多数元素 【排序 || 哈希 || 随机算法 || 摩尔投票法】详细注释 不断优化 极致压榨
题目 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/majority-element/ 注意,该题在LC中被标注为easy,所以我们更多应该关 ...
- html基础 表单标签 input系列 以及优化方法
场景:在网页中显示手机用户信息的表单效果. 如:登录页.注册页标签名:input 用法是通过改变type属性值,来展示不同效果 1.1 html 代码 <!--placeholder 提示符又叫 ...