天天看點

在全面部署 IPV6 前,你需要了解都在這兒IPv6 的發展形勢IPV6 的實作形勢IPV6 的原生展望

近日,中辦國辦印發《推進網際網路協定第六版(IPv6)規模部署行動計劃》(以下簡稱《計劃》),加快推進基于 IPv6 的下一代網際網路規模部署,計劃指出到 2018 年末國内 IPv6 活躍使用者數要達到2億,2020年末達到5億,2025年末中國 IPv6 規模要達到世界第一。

随着移動網際網路、智能裝置、車聯網、智慧城市等新一代資訊技術産業的蓬勃發展使得對 IP 位址的需求量大大增加,根據預測未來 5年 中國的 IP 位址需求總量将高達 345 億。在 IPv4 位址告罄的情況下目前營運商通過 NAT 技術勉強支撐但是卻極大的降低了租戶的可用性,IPv6 的商用價值和戰略意義正在凸顯,而《計劃》的釋出更标志着中國的 IPV6 正式進入部署階段,對世界 IPV6 的發展也将有着不小的意義。

在IPv6方面,中國可謂是 “起了大早趕了晚集”,到2016年底,中國擁有IPv6位址申請總量超過2萬塊,數量為美國的一半,全球排名僅次于美國。但被路由器宣告的IPv6位址僅占中國已申請獲得的IPv6位址總量的7.5%,承載真實流量的IPv6位址路由器數量僅有3%。中國2016年IPv6使用者占比在全球排名66位,排在印度、越南等國之後。不過不要洩氣,要知道 2025 年我國 IPv6 網絡規模将居世界第一位,估計會是其他國家難以超越的存在。

不再被内網

《計劃》中明确有提到 “新增網絡位址不再使用私有IPv4位址” ,的确近年來很多人都再抱怨自己 “被内網” 了,因為亞洲的 IPV4 資源其實很早就已經枯竭了,但是網際網路卻一直在發展,是以隻有通過 NAT 方式來續命了。而 IPV6 擁有給每粒沙子賦予一條 IP 的 IP 數量,是以我們根本不用擔心 IP 不夠了!

在全面部署 IPV6 前,你需要了解都在這兒IPv6 的發展形勢IPV6 的實作形勢IPV6 的原生展望

為物聯網的爆發做鋪墊

在未來萬物互聯,我們的每台電腦、每台手機、每台插線闆、每件衣服甚至每粒紐扣都可能被賦予 IP 位址以連接配接網絡。但是僅僅42億個位址的 IPV6 到每台手機這裡就已經十分勉強了,更别說每粒紐扣了。是以未來的物聯網大爆發必定需要 IPV6。

更高效的資訊傳輸

依舊是前面提到的 NAT, IPV4 由于使用大量 NAT 來連接配接裝置,這讓網絡模型變得越來越複雜。

可以看到 IPV6 相比 IPV4 的標頭精簡了很多是以也會獲得性能上的提升,極大的提高了資訊的傳輸效率,簡單的歸納就是:1.簡化頭,少處理;2.不分片,無重組;3.去校驗,省資源

更安全網際網路

在 IPv6 的部署中是可以配置 IPSec 的,這意味着在IPv6位址之間傳輸資料往往是經由加密的,資訊不再會被輕易竊聽、劫持。在 IPv4 體系中,大量資訊采用明文傳輸,DNS污染、HTTP劫持等現象層出不窮,相比你也是忍了手機看網頁的時候下邊那個查流量的按鈕很久了吧。如果部署了 IPSec,網際網路理論上更加安全、暢通。

不過在雲栖社群的聚能聊裡,很多網友還是對 IPV6 表示了一定的擔憂:

比如說:

ipv6位址難記是真的,但是換成ipv6位址能大大簡化網絡行為。 其一,大家都有固定ip位址了,尋址更容易,如果玩區域網路遊戲就可以直接輸入ipv6進入,不需要查詢動态ipv4位址。 其二,作為網絡交換器再也不需要讓路由器24小時開啟維持ip位址不變了。 其三,網絡犯罪更容易抓獲。因為ipv6位址是固定的,就相當于網絡身份證,你犯罪了可以直接用過ip位址定位,而變動的ipv4位址卻無法做到這一點。

還有:

IPv6說了多少年了,有多少部署,有多大的産業?個人感覺,再有20年,IPv6也不會大範圍推開。現在IPv4+NAT方式會一直使用下去(好處也很多啊),既得利益者不會輕易讓它消失。我預測,在未來10年内,會有一項新的基礎技術産生,進而徹底取代IP (v6 and v4)。

在《計劃》釋出前最讓站長心急的時候,蘋果的 “IPv6稽核機制” 真正讓 IPV6 狠刷了一波存在感,所有送出到 AppStore 的應用必須通過蘋果 AppStore 稽核人員在美國的 IPv6-Only 環境下對應用進行通路。一些因為無法過審的應用才開始意識到要對 IPV6 支援。

一般來說大家為了獲得 IPV6 主要是為了通過蘋果的 AppStore 的 IPV6-Only 稽核,但其實果 AppStore 在做 IPv6 稽核的時候,并不需要DNS或者伺服器支援IPv6接入。IPv4環境下的DNS或者伺服器位址會由蘋果 AppStore 稽核時的 DNS64+NAT64 轉換為IPv6位址進行通信。


如果,應用在蘋果進行 IPv6 稽核時不通過,可能原因主要有兩方面:

應用本身不相容 IPv6。此時,最好的辦法是讓應用本身相容 IPv6;

跨國網絡問題導緻蘋果 AppStore 所在的網絡在稽核時連接配接不通國内的伺服器。

什麼是 “DNS64+NAT64通路機制” 呢?

DNS64:蘋果AppStore稽核的時候,要去 DNS 伺服器查詢AppServer的伺服器的 IPv6 位址,然後進行通路。如果查詢不到 IPv6 位址,會進而詢問 IPv4 位址,然後蘋果的網絡會将查詢到IPv4位址轉換成IPv6的位址,傳回給App用戶端使用。如下圖所示:

在全面部署 IPV6 前,你需要了解都在這兒IPv6 的發展形勢IPV6 的實作形勢IPV6 的原生展望

NAT64:蘋果AppStore稽核的時候,通過上一步獲得IPv6的位址後,用戶端App會直接通路IPv6 服務端的内容,或者通過NAT64的網關通路IPv4服務端的内容。如下圖所示:

在全面部署 IPV6 前,你需要了解都在這兒IPv6 的發展形勢IPV6 的實作形勢IPV6 的原生展望

如果有強制的 IPV6 需求需要一個 IPV6 位址的話,那麼就必須使用前文提到的曲線實作了。目前有三種可行的 IPV6 支援方案:

伺服器在第三層(網絡層)使用隧道傳輸來曲線支援 IPV6

HTTP Proxy ,讓支援 IPV6 的伺服器做反向代理,将 AAAA 記錄解析到代理伺服器上

使用 CDN 緩存,像 CloudFlare 這樣的 CDN 隻要使用就可以支援 IPV6

不過,上述的三種,都有一定缺陷,其中第一種即隧道傳輸缺陷最少,幾乎原生;而反代受限于反代伺服器的延時,而且建設成本也挺高的;CDN 緩存麼,像 Cloudflare 在國内速度并不理想。

那麼如何再阿裡雲的 ECS 上實作 IPV6 的隧道傳輸呢?阿裡雲有如下教程:

<a href="https://help.aliyun.com/knowledge_detail/39813.html">通過 IPV6 位址通路域名,如何設定域名解析?</a>

Windows 設定:

<a href="https://bbs.aliyun.com/read/284958.html?spm=5176.10695662.1996646101.searchclickresult.17e22b5298mWBp">為阿裡雲ECS(Windows 2012)建立IPv6隧道位址</a>

類 Unix 通用設定:

<a href="#">https://bbs.aliyun.com/read/302778.html</a>

檢測網站和通路者是否已經支援 IPV6:

<a href="http://ipv6-test.com/validate.php">http://ipv6-test.com/validate.php</a>

像雲資料庫 for MySQL、OSS、CDN 這樣的 PaaS 産品其實是不需要我們進行過多的設定的,自動就會支援 IPV6,這就是 PaaS 最能令運維人員感受到幸福感的地方了。

而 ECS 上就會是 IPV6 攻堅的重點了,ECS 需要有支援了 IPV6 後需要我們額外的設定網卡以及想 Nginx、Apache Httpd、Tomcat 這樣的 Web 伺服器軟體也需要進行 IPV6 的設定。

例如低版本的 Nginx 如果編譯時不帶 <code>–with-ipv6</code> 參數就不會支援 IPV6 環境,同時還要在虛拟主機的配置檔案中加入 <code>listen [::]:80;</code> 來支援監聽 IPV4 和 IPV6 的 80 端口,對的,隻需要 這一個參數就可以兩種網絡的監聽。

有些教程和環境一鍵包盲目的追求所謂的性能,會在核心配置檔案中将 IPV6 給禁用了,這就導緻了配置設定了 IPV6 位址也依舊無法使用。

修改 <code>/etc/sysctl.conf</code> 檔案将一下部分改為 <code>0</code>:

然後執行 <code>sysctl -p</code> 以生效。

總而言之,當配置設定了 IPV6 後,各位運維人員以及個人站長還需要進行一定的調試才能更好的支援 IPV6,而雲栖社群也一定會提供更多 IPV6 有關的教程來幫助大家解決問題。

繼續閱讀