背景

  • IPv4 地址枯竭
  • 5G、IOT、SDN/NFV、云计算、边缘计算等新兴技术兴起,需要地址的终端设备变多。
  • NAT 技术无法支持新兴技术。

各大互联网公(国外的Google、AWS、Apple,国内的阿里、滴滴等公司)司要定期推动本公司业务的 ipv6 技术改造,网信办会定期检查,不达标的公司要问责。

改造要点

因为IP地址长度从32位变为128,文本格式从十进制数字变为十六进制(见附录1),为支持两种IP地址,包括但不限于以下改造要点:

  1. 客户端(手机APP和浏览器)缓存用户IP
  • 后端服务根据IP做判断的业务逻辑, 比如set化、小流量。
  • 用户IP归属地查询。
  • 用户IP白名单、黑名单。
  • 风控使用到IP段的策略。
  1. 存储用户IP到DB或者缓存
  • IPv4是32位,可以转成int或者long来存储。
  • IPv6是128位,不能使用long或者bigint来计算存储。
  1. 在服务接口之间传递用户IP
  • 内网之间传递,典型的是支付、风控等。
  • 外网之间传递,如第三方微信支付等。
  1. 日志处理
  • 后端日志落地为IPv6后,是否有通过日志内容处理的业务逻辑。
  • 依赖nginx日志中的IPv6地址进行分析和处理的业务逻辑。

验证方法

service级别验证

  1. 一些依赖IP的代码特征,可用于扫描
  • 正则表达式处理IP

  • IP地址转换函数

  1. 数据库字段特征
  • 字段名带IP关键字,或者字段值有IP特征
  1. 验证一个独立的service兼容IPv6,包括能正确处理传入clientip,以及对使用IPv6地址的场景能正确解析。

域名级别验证

验证一个URL请求在客户端IPv6单栈模式下能正常访问。