加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

将 IPv6 照进现实,我们需要做些什么?

发布时间:2019-07-30 02:07:03 所属栏目:教程 来源:阿里技术
导读:副标题#e# 随着中共中央办公厅、国务院办公厅印发了《推进互联网协议第六版(IPv6)规模部署行动计划》后,整个 IPv6 产业链开始活跃起来。虽然目前我们距离世界上每一粒沙子都有一个地址的梦想还有点远,但加速推进的大趋势应该是不争的事实。但是我们在仰望
副标题[/!--empirenews.page--]

将 IPv6 照进现实,我们需要做些什么?

随着中共中央办公厅、国务院办公厅印发了《推进互联网协议第六版(IPv6)规模部署行动计划》后,整个 IPv6 产业链开始活跃起来。虽然目前我们距离世界上每一粒沙子都有一个地址的梦想还有点远,但加速推进的大趋势应该是不争的事实。但是我们在仰望星空的同时还需要脚踏实地,那么 IPv6 的现实是怎样的呢,我们还需要准备什么呢,这就是这篇文章想要表达的。

IPv6这个曾经以解决地址短缺问题而出现的技术存在了很久,但因为种种原因没在世界范围内普及,尤其是没在中国普及。今天的文章不是 IPv6 科普文章,也没有过多的涉及到网络如何改造,业务如何适配,更多的是从用的角度来看现状。另外从我个人角度,移动网 IPv6 化会走在固网 IPv6 的前面,移动网应该是双栈的策略,所以文章的分析都是以移动网为前提,固网暂不涉及。

手机支持双栈吗?

IPv6 在相当长一段时间内没能够在公众网中普及,很重要的一个原因就是各方的动力不足,虽然一直在宣传 IPv4 地址不够用了,但缝缝补补还是让互联网走了这么多年。如果抛开动力不足来看,IPv6 的普及其实是一个系统工程,需要的是端、管、云,三方的协同支持,那么我们先看下端,也就是手机的支持情况。

首先是苹果 iPhone,对于 v6 苹果早在几年前就强推 APP 对于 IPv6 only 的支持,如果不通过这个功能审核是不能上架 App Store 的。但当时对于 APP 开发者来说最为郁闷的是在国内很难找到一个商用的 IPv6 Only 环境进行测试,更多是 Mac 热点或者 WiFi APP 来模拟进行网络库的逻辑测试,在移动网下是没有办法做测试的。而这样的问题在目前 IPv6 改造期间一样面临,即在国内苹果 iPhone 在移动网下只能获得 v4 地址,没有 v6 地址。为什么呢,因为 iPhone 里面的 APN 设置是不能修改的,而内置 APN 中对于地址请求所携带的字段仅仅是 IPv4 类型,这样即使网络支持双栈,iPhone 还是只能获得v4地址,下图就是一个苹果手机在移动网内的信令请求:

将 IPv6 照进现实,我们需要做些什么?

上面标黄的地方显示 PDN type 为 IPv4。如果双栈的话,这里的 type 类型是IPv4IPv6。在国家机构,运营商的联合推动下,苹果手机从 iOS12.1 开始已经开启了默认双栈的支持。

下面该谈到 Android 了,安卓相对来说开放一些的,大多数的手机都可以支持 APN协议编辑,并且部分手机已经缺省设置变成了 IPv4IPv6 双栈协议支持,如下截图:

将 IPv6 照进现实,我们需要做些什么?

但在这里还有几个坑需要告知:

  1. 不是所有的安卓手机都可以编辑 APN 协议类型。
  2. 即使可以编辑 APN 协议类型,也不是所有的手机都会把 IPv4/IPv6 作为缺省协议。
  3. 有些手机尽管是支持双栈的,但从系统 API 里面是看不到所获得的 IPv6 地址,但如果你同时开了 WiFi,奇迹出现了,v6 地址又出来了。

碎片化的安卓带来了碎片化的双栈支持,这对客户端进行当前网络环境判断带来了很大挑战。

移动运营商现在支持双栈吗,手机得到的地址有什么玄机?

说完了端,下一步就需要看看管,即运营商到底对于 v6支持的现状如何,策略如何?如开篇所说抛开固网不谈,在移动网的场景下,三大运营商都已经开通了IPv4IPv6 的双栈支持。不过需要说明的是,这里的双栈支持管道特指下图中从空口到移动核心网这里,至于骨干网和阿里网络的双栈支持要根据各个运营商的互联情况来看。

将 IPv6 照进现实,我们需要做些什么?

下面看下在某运营商网络下终端拿到的地址信息:

将 IPv6 照进现实,我们需要做些什么?

一般用户回拿到 IPv4v6 双栈地址,v6地址的 DNS 不是必须的有些省份可能没有,但在双栈情况下只要 DNS 能支持 AAAA 记录的解析查询即可。

下面就是要进入重要的 IPv6 地址获得环节了,即以上的2409开头的 v6地址客户端是怎么获得到呢,这个地址有什么玄机吗?移动网内手机和网络通讯有两个面,一个是控制面也就是俗称的信令面,这个层面 APP 是感知不到的,另一个是用户面,即APP 正常的业务数据流都走在这里。在 IPv4 only 的场景下,手机地址的获得单纯通过控制面的信令交互即可,但在 IPv4 IPv6 双栈场景下,流程就发生了一些变化。先来看信令面:

将 IPv6 照进现实,我们需要做些什么?

Create Session Request 是手机发给核心网的,里面携带了几个重要的信息:

将 IPv6 照进现实,我们需要做些什么?

PDN Type 字段需要是 IPv4/IPv6, PDN Address and Prefix(IPv6) 是全零。

Create Session Response 是核心网对手机的响应。

将 IPv6 照进现实,我们需要做些什么?

里面包含了类似 PDN AddressPrefix 和 DNS Server 的信息,但你可能会很奇怪发现这个 Prefix 不是一个真正的 Prefix,也和手机获得到的地址格式有很多差异。

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读