iOS 應用如何完全支持 IPv6-ONLY 網絡?¶
警告
您當前查看的頁面是未經授權的轉載!
如果當前版本排版錯誤,請前往查看最新版本:http://www.cnblogs.com/qin-nz/p/ipv6-only-ios-application.html
提示
更新時間:2016年05月07日。
最近一條新聞引起了我的注意:
注解
5月5日消息,蘋果昨日向開發者發出提醒,App Store將於今年6月1日實施全新策略,屆時所有提交至蘋果App Store的iOS應用申請必須要兼容面向硬件識別和網絡路由的最新互聯網協議–IPv6-only標准。
什么是 IPv6-ONLY ?¶
以前,大家都在用 IPv4,就是地址看起來是 114.255.40.66 的樣子。然而,這樣的地址已經不夠用了,就有了類似 2001:da8:215:4009:250:56ff:fe97:40c7 這樣的 IP 地址。
目前,一個網卡會同時使用這兩張地址;在未來,一個網卡將僅有后面這樣的 IPv6 地址。 使用這兩種地址的設備是不能互相訪問的,后來有了一些過渡技術讓他們在某些情況下可以互相訪問了。(如 DNS64/NAT64)
如何滿足蘋果要求?¶
?我不太懂這些,我該怎么做呢?¶
在你的應用中使用域名(如 www.bupt.edu.cn),不要在任何地方使用 IPv4地址(114.255.40.66)。
?我的服務器必須有 IPv6 地址么?¶
不是的,服務器只需要有公網 IPv4 地址即可,但要求必須使用域名(FQDN)來表示服務器。
IPv6客戶端訪問IPv4服務器原理¶
首先,這個是無法直接訪問的,必須網絡的提供商支持過渡技術。
第一步:DNS 污染
例如我們想要訪問 example.com ,假設這個網站只有 IPv4 地址(93.184.216.34,用16進制表示為 5d b8 d8 22) 那么,被“污染”的DNS返回的 IP 地址是 64:ff9b::5db8:d822。 其中 `64:ff9b::/96`是IANA分配用於DNS64的前綴。
第二步:IPv6 轉 IPv4
訪問 64:ff9b::5db8:d822 時,IPv6 包頭被替換為 IPv4 包頭,繼續訪問。 同時回來的數據包會被做反向處理。
現有應用的支持情況¶
- QQ 【支持】
- 淘寶 【支持】
- 高德地圖 【支持】
- Worktile 【不支持】
- Wechat 【不支持】
我本人不用微信很久了,但我知道,微信的DNS查詢,使用的 HTTP 協議自己封裝的,這樣在 IPv4 網絡下可以避免相當多的問題。 如圖,微信直接查詢 A 記錄,即使我的設備在 IPv6-ONLY 的網絡環境下。 因此,微信就跪掉了……


【微信要跪】 iOS 應用如何完全支持 IPv6-ONLY 網絡? 由 勤奮的小孩 創作,采用 知識共享 署名-非商業性使用-禁止演繹 4.0 國際 許可協議進行許可。
本許可協議授權之外的使用權限可以從 http://space.cnblogs.com/msg/send/qin-nz 處獲得。