一、前言
最近有很多人都在關(guān)注支持IPv6的事情,果然是蘋果打個哈欠,iOS行業(yè)內(nèi)就得起一次風(fēng)暴呀。自從5月初Apple明文規(guī)定所有開發(fā)者在6月1號以后提交新版本必須需要支持IPv6-Only的網(wǎng)絡(luò)。
二、IPv6-Only支持是什么?
IPv6是對IPv4地址空間的擴充,IPv4 和 IPv6的區(qū)別就是 IP 地址前者是 .(dot)分割,后者是以 :(冒號)分割的(更多詳細信息自行搜索)。目前當(dāng)我們的iOS設(shè)備連接上WiFi、4G、3G等網(wǎng)絡(luò)時,設(shè)備被分配的地址均是IPv4,但是隨著運營商和企業(yè)逐漸部署IPv6 DNS64/NAT64網(wǎng)絡(luò)之后,設(shè)備被分配的地址會變成IPv6的地址,而這些網(wǎng)絡(luò)就是所謂的IPv6-Only網(wǎng)絡(luò),并且仍然可以通過此網(wǎng)絡(luò)去獲取IPv4地址提供的內(nèi)容。客戶端向服務(wù)器端請求域名解析,首先通過 DNS64 Server 查詢 IPv6 的地址,如果查詢不到,再向 DNS Server 查詢 IPv4 地址,通過 DNS64 Server 合成一個 IPv6 的地址,最終將一個 IPv6 的地址返回給客戶端。
如圖所示:

三、搭建IPv6環(huán)境測試你的APP
在 Mac OS 10.11+的雙網(wǎng)卡的 Mac 機器(以太網(wǎng)口+無線網(wǎng)卡),我們可以通過模擬構(gòu)建這么一個 local IPv6 DNS64/NAT64 的網(wǎng)絡(luò)環(huán)境去測試應(yīng)用是否支持 IPv6-Only 網(wǎng)絡(luò),大概原理如下:

搭建 IPv6 測試環(huán)境說白了就是用 Mac 做一個熱點,然后用 iPhone 連接這個 Wi-Fi,聽起來很容易,下面跟著我的步伐走吧。(非WiFi上網(wǎng)方式的Mac)
和正常的開啟 Mac 熱點的方式的區(qū)別是這次我們產(chǎn)生的是一個本地的 IPv6 DNS64/NAT64 網(wǎng)絡(luò),這項功能是 OS X 10.11 新加的功能(如果你的 Mac 系統(tǒng)版本不是的話必須要升級哦,才能產(chǎn)生 IPv6 的熱點)。
和我們以前開啟熱點方式不一樣的地方在于,我們在 “系統(tǒng)偏好設(shè)置(System Preferences)” 界面選中 “共享(Sharing)” 的同時,要按住 “Option” 鍵。見圖:
步驟一:
之后在 “共享” 界面中,我們會看到和之前不一樣的地方,就是紅框所標(biāo)的地方,多了一個叫 “創(chuàng)建 NAT64 網(wǎng)絡(luò) ” 的選框,選中它。
步驟二:
接下來在 共享 窗口中,依次按圖中所示的標(biāo)號來,如圖所示
步驟三:
隨后請點擊 共享以下來源的連接 的下拉列表,選擇我們想要共享出去的網(wǎng)絡(luò)接口。我當(dāng)前是想要共享的是 以太網(wǎng) 。
PS:如果你的 Mac 是用有線撥號上網(wǎng)的話,請選擇 PPOE 選項作為共享源。如果你的 Mac 是用有線上網(wǎng)(不用撥號的)的話,請選擇 Thunderbolt 以太網(wǎng)有線網(wǎng) 選項作為共享源如果使用的是有線的 RJ-45 接頭轉(zhuǎn) USB 輸出的網(wǎng)絡(luò)轉(zhuǎn)換工具,請選擇USB 10/100/1000 LAN 。
標(biāo)號1
標(biāo)號2,用以下端口共享給電腦 選項此處選擇 Wi-Fi
標(biāo)號3,點擊 Wi-Fi選項... 選項,個性化自己的熱點的
步驟四:
大功告成
出現(xiàn)以下變化證明你已經(jīng)成功產(chǎn)生了一個 IPv6 的熱點
Wi-Fi圖標(biāo)變樣
看手機的連接共享 Wi-Fi 的變化
普通熱點共享
IPv6 熱點共享
對比2張圖中 DNS 的地址看到區(qū)別了吧,一個 . 分割,一個 : 分割。
接下來就是測試你的APP是否可以在該WiFi下是否可以訪問網(wǎng)絡(luò)了