腾讯云DNSPod域名解析全面支持IPv6-only

2023-11-02

自2016年6月1日起,苹果要求所有提交App Store的iOS应用必须支持IPv6-only环境,根据苹果开发者网站的声明,大部分现有应用程序已经通过NSURLSession和CFNetwork APIs兼容该协议。依然使用IPv4 APIs的或者硬件编码IP地址的开发者将需要手工调整应用代码来适应苹果的最新策略。随着IPv4地址用完,转移到地址更丰富的IPv6协议正在变得越来越重要。

经过全面的测试和灰度发布,腾讯云DNSPod域名解析已全面支持App Store IPv6-only网络环境,已有成功通过审核案例,并且在境内外均验证解析成功。

小编请来腾讯云解析的产品经理,为我们详细讲解在App Store审核时被拒该如何处理,以及IPv6-only环境、DNS64和NAT64相关原理,干货满满,欢迎转发收藏。

在对IPv6进行兼容适配过程中,很多开发者在本地环境测试通过,却在App Store审核时被拒,这种情况下可以首先排查是否由DNS解析失败引起,那么如何验证DNS服务器是否正确响应了IPv6地址的解析请求呢?

搭建好DNS64环境后,可以通过以下命令查询:$ dig dnspod.cn aaaa

App访问网络的第一步就是进行DNS解析,App Store审核时会先访问DNS服务器,获得iOS应用服务器的IPv6地址,再进行访问,如果这时DNS服务器无法成功解析到IPv6地址,即使在本地搭建的IPv6-only环境中测试成功,仍然会出现在提交App Store审核时被拒的情况,所以选择一个稳定性、兼容性俱佳的域名解析服务至关重要!

IPv6-only环境的原理

首先需要明确一点,在App Store审核APP的IPv6-only的环境下也是可以正常访问IPv4的服务的,只是首先由DNS64将解析出来的IPv4地址转成兼容的IPv6地址,然后访问IPv4服务时通过NAT64网关对IPv4和IPv6进行NAT,并不需要客户有实际的IPv6服务。如下图所示:

DNS64原理

客户端在想DNS64请求一个域名的IPv6地址时,DNS64会向域名的授权DNS请求IPv6地址,如果存在IPv6地址,则直接给客户端返回IPv6地址,如果不存在IPv6地址,则向授权请求IPv4地址,并将返回的IPv4地址转换为兼容的IPv6地址。

以Google DNS64为例说明转换规则,分别请求dnspod.cn的A记录(IPv4地址)和AAAA记录(IPv6地址):

从解析结果可以看出IPv4地址对应的IPv6地址,后32位的3b25:7465实际上就是IPv4地址的16进制表示39=0x3b,37=0x25,116=0x74,101=0x65,明白该规则后也可以自己进行IPv4向兼容的IPv6地址的转换,如119.29.29.29的兼容IPv6地址为64:ff9b::771d:1d1d,其中::表示为全0。

DNS64解析流程如下图所示:

NAT64原理

在IPv6-only环境中访问IPv4服务是需要通过NAT64进行网络地址转换,如下图所示:

更多内容,请参考官方文档:

https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

腾讯云DNSPod域名解析全面支持IPv6-only 的相关文章

  • 【HIT-计算机系统】ICS-Lab4 Buflab/AttackLab

    第1章 实验基本信息 1 1 实验目的 理解C语言函数的汇编级实现及缓冲器溢出原理 掌握栈帧结构与缓冲器溢出漏洞的攻击设计方法 进一步熟练使用Linux下的调试工具完成机器语言的跟踪调试 1 2 实验环境与工具 1 2 1 硬件环境 x64
  • Unity3D开发工程师

    岗位职责 1 完成Unity3D项目架构 2 负责项目相关逻辑开发 3 Unity 3D同PHP数据交互 4 Unity 3D通过javascript与数据库链接 职位要求 1 计算机相关专业 2 熟悉3D图形学 两年以上Unity3D经验

随机推荐

  • 6 种方法部署 TensorFlow2 机器学习模型,简单 + 快速 + 跨平台!

    当你创建或找到了一个完美的机器学习模型时 你一定想在各个平台上都使用到它 比如电脑 网页 移动端 甚至是 Docker 环境中 不但个人如此 在实际工作中 一个优秀的程序员除了要学会构建机器学习模型 也更应该学会将其成功部署 向用户提供便捷
  • Matlab坐标变换篇

    一 安装Robotics System Toolbox 二 弄懂左乘和右乘 介绍的第一个函数为欧拉 齐次矩阵 左手坐标系下 中指对着自己为x轴 z轴为拇指 T0 eul2tr 0 0 0 基坐标系 Tx transl 5 0 0 xyz T
  • linux系统下的ocr软件,Ubuntu下的ocr文字识别(pdf、tif等)

    平时使用扫描件或者pdf查看文档 但是在ipad上当文字比较小的时候不能有效放大 过着每次阅读需要移动屏幕 十分不方便 为此想将pdf或者图片中的文字截取出来 可以有效处理 当然需要ocr技术了 现在我们就来考虑和解决这个问题 1 技术准备
  • 手把手教你如何编写一个Makefile文件

    一 概念理解 彩蛋藏在某个地方 1 1 什么是Makefile C语言中 我们使用visual studio开发软件时候 写程序开始时候都会创建一个project项目文件 然后在文件里面编译 h 和 c 的文件 在Linux中 有一个叫ma
  • wordpress 导入数据后 为什么总是跳转到安装页面

    在WordPress导入数据后跳转到安装页面的问题可能由以下原因引起 数据库连接问题 在导入数据之前 确保您的WordPress配置文件中的数据库连接信息正确且完整 打开 wp config php 文件 确保数据库的名称 用户名 密码和主
  • [转]JDK、JRE、JVM三者间的关系

    注 原文链接 http playkid blog 163 com blog static 56287260201372113842153 JDK Java Development Kit 是针对Java开发员的产品 是整个Java的核心 包
  • git 版本控制操作流程 500字

    Git 版本控制操作流程 1 首先 通过Git Bash或命令行工具下载Git 并进行安装 2 接下来 配置Git的用户名和邮箱 3 然后 通过git init命令 创建一个新的Git仓库 4 接着 通过git add命令 将文件添加到Gi
  • rocketmq搭建2m2s踩坑版

    搭建过程中遇到了些问题百度了很久终于东拼西凑成功解决了 看看成果 console完美运行 代码生产消费也是正常的 言归正传开始搭建 0 服务器环境介绍 没有将master与对应的slave安装在同一个节点 如果在一个节点挂了master就挂
  • 小白安装ros系统必备以及解决raw.githubusercontent.com无法连接问题

    一 ubuntu16 04安装ros系统的过程 后面有安装过程填过的坑 安装注意事项 1 一定要确定安装的ros版本要考虑2个方面 系统版本和芯片架构 以官网为准 kinetic版本 http wiki ros org kinetic In
  • Nginx + Lua + API:实现精准城市级别的访问控制

    文章目录 前言 安装环境 软件版本说明 luarocks 和 lua环境安装 LuaJIT安装 依赖库安装 nginx编译 API设置及调用 百度地图API 创建Lua调用API LUA脚本配置说明 共享内存区域 必须 dns解析配置 黑名
  • python中百分号的含义_python里百分号什么意思

    最近在学习python过程中 发现了 百分号 的一些情况 这里就简单介绍一下 python里百分号有2个意思 计算数的时候 它是求余数的意思 另外一个是格式化字符串的作用 如 d s 12 abc 就把 d换成12 s换成abc 得到 12
  • 第一个flask网站

    首先先下载下flask模块 pip install flask 或者豆瓣安装 然后我是在pycharm上开发的 先创建一个项目 接着在项目下新建一个python文件 我是建的app py python目录下创建文件夹templates 和a
  • 李航统计学习方法之感知机学习(含感知机原始形式和对偶形式Python代码实现)

    感知机 感知机基本介绍 感知机是一个线性二分模型 输出取值为 1 1 是判别模型 感知机是为了求解一个超平面 该超平面能够将特征空间里的实例分解为正例和负例 设超平面方程为y w x b 因此 引入基于误分类点的损失函数 如果损失函数为误分
  • 数据挖掘学习——数据预处理方法代码汇总(python)

    目录 一 归一化处理方法 1 min max方法 离散归一化 2 零 均值规范化方法 3 小数定标规范化 二 插值法 1 拉格朗日插值法 三 相关性分析 1 pearson相关性系数 2 spearman相关性系数 四 主成分分析 PCA
  • Android-app自动更新总结(已适配9-0),浅谈Android消息机制原理

    Manifest permission WRITE EXTERNAL STORAGE Manifest permission REQUEST INSTALL PACKAGES protected void checkUpdate showL
  • 刷脸支付生物技术提升支付效率

    移动支付具有数据营销服务功能 移动支付免去了收 找零等问题 有完整的数据报表方便店铺管理人员对账单进行整理 更重要的是可以收集海量消费者的消费数据 对消费者进行人群画像特征 消费习惯 消费偏好等进行数据分析 也有助于店铺经营者实现数字化营销
  • ToLua框架下C#与Lua代码的互调

    本篇文章转自 https www jianshu com p f083bbaa048a 感谢作者的分享 Lua是目前国内使用最多的热更语言 基于Lua的热更框架也非常多 最近学习了一下ToLua的热更框架 主要使用的问题在于C 和Lua之间
  • 华为机试岛屿问题c语言代码,力扣(LeetCode)刷题,简单题(第13期)

    目录 力扣 LeetCode 定期刷题 每期10道题 业务繁重的同志可以看看我分享的思路 不是最高效解决方案 只求互相提升 第1题 字符的最短距离 试题要求如下 解答思路 从左向右遍历 记录上一个字符 C 出现的位置 prev 那么答案就是
  • 软件测试原则的6个基本原则

    文章目录 1 测试应基于客户需求 2 测试要尽早进行 3 穷尽测试是不可能的 4 遵循GoodEnough原则 5 测试缺陷要符合 二八 定理 6 避免缺陷免疫 软件测试经过几十年的发展 人们提出了很多测试的基本原则用于指导软件测试工作 制
  • 腾讯云DNSPod域名解析全面支持IPv6-only

    自2016年6月1日起 苹果要求所有提交App Store的iOS应用必须支持IPv6 only环境 根据苹果开发者网站的声明 大部分现有应用程序已经通过NSURLSession和CFNetwork APIs兼容该协议 依然使用IPv4 A