天天看點

思語安全加密聊天軟體app官方|帶你了解:企業安全知識

作者:一般的秦

前言

2019 年 11 月 26 日,負責英國、歐洲、中東和部分中亞地區網際網路資源配置設定的歐洲網絡協調中心(RIPE NCC)通過電子郵件宣布,其最後的 IPv4 位址空間儲備池在 11 月 25 日 UTC + 1 15:35 完全耗盡。國務院辦公廳《推進 IPv6 規模部署行動計劃》要求 2020 年底市地級以上政府外網網站、國内使用者量前 100 網站、5G 網絡及業務完成 IPv6 支援。随着 IPv6 更新改造,其實我們已經在不知不覺中逐漸進入到全民 IPv6 的時代。

本文主要記錄 IPv6 與 IPv4 的差別,從 IPv4 過渡到 IPv6 的技術演進過程。

IP/IPv4/IPv6 基礎知識

關于 IPv6 相關的新聞進展就不再贅述了,各位可以直接檢視最新戰況

https://www.ithome.com/search/ipv6.html

什麼是 IP

網際網路協定 IP(Internet Protocol)主要定義了在互相連接配接的網絡中如何傳遞資料。網絡中的每一個裝置(如計算機),要想和其它裝置互相通信傳遞資料,就都需要一個像門牌号碼一樣的辨別 —— 這個辨別也就是我們熟悉的 IP 位址。

IPv4

目前被廣泛使用的 IP 協定是 IPv4(IP Version 4),網絡裝置使用的位址即為 IPv4 位址。

IPv4 位址長度為 32 bit,是以能提供的位址最多為 2 的 32 次方(約 43 億)個位址。但是除去一些預留位址以及用于廣播、測試、私有網絡的專用位址外,實際可用位址是不足 43 億的。

網際網路發展了這麼多年,IPv4 位址一直被配置設定使用。2019 年 11 月 25 日,負責英國、歐洲、中東和部分中亞地區網際網路資源配置設定的歐洲網絡協調中心(RIPE NCC)宣布,全球所有 43 億個 IPv4 位址已全部配置設定完畢。

IPv6

不論是國家、行業還是個人,對 IPv6(IP Version 6)都有着迫切的需求并支援推廣。

世界上主要的國家和經濟體都在力争盡早完成 IPv6 網絡的建設,争取網絡的率先應用和技術領先(如開篇提到的行動計劃和專項行動)。

市場上大量移動終端、固定裝置、應用網站及 App 等均已支援 IPv4 和 IPv6 兩種協定。

智能家居的普及,家庭和個人擁有了衆多智能裝置,對這些裝置的端到端管理,需要 IPv6 技術的支援。

為什麼要用 IPv6

核心理由:IP 位址配置設定不合理、資源枯竭

網際網路技術來自于美國,網際網路的發展、管理由美國人掌控了,據說美國一所大學擁有的 IP 位址數量比我們中國還要多!後來為了解決配置設定不合理、資源面臨枯竭問題,也出現了劃分子網、無類編址、NAT 技術來應對,但終究解決不了實質問題。

而 IPv6 擁有幾乎無限的位址空間:位址容量極大擴充,由原來的 32 位擴充到 128 位, 這是什麼概念呢?

這相當于:

IPv4 有(232)= 4,294,967,296 個位址,約等于 43 億

IPv6 有(2128 = 296x232 )= 340,282,366,920,938,463,463,374,607,431,768,211,456 個位址(340 萬億萬億萬億個位址),相當于地球表面每平方米可以配置設定到 67 萬億個位址,徹底解決了 IPv4 位址不足的問題。

IPv6 其他優點自行了解吧
  1. 更龐大的網絡位址數量

IPv6 位址長度為 128 比特,位址空間增大了 2 的 96 次倍。IPv6 能夠為現在和将來的網際網路應用提供更多的網絡位址,它能夠在現在 40 億個 IPv4 的網絡位址的基礎上增加大體上 340 萬億萬億萬億的 IPv6 網絡位址。

  1. 更小的路由表

因為 IPv6 在位址配置設定時遵循聚類原則,相同區域預設配置設定相同字首 IP 位址。當路由在查找和傳遞過程中,可以更高效地選擇最優路由進行傳遞,大大節省傳遞時的開銷。

  1. IPv6 的分段處理

在 IPv4 的網絡中,資料包在傳輸過程中,路由器會根據其設定的 MTU 值 (最大傳輸單元,預設為 1500 位元組) 來對資料包進行分片傳輸。

而在 IPv6 的網絡中,主機在發出資料包時,就已經對資料包進行分片處理(預設最小 MTU 為 1280 位元組),這樣在資料傳輸的過程中就不需要路由器來擔任分片工作,大大提高了資料傳輸的效率。

  1. 即插即用

在 IPv4 的網絡中,如果使用者不想手動配置 IP 位址,就得依賴 DHCP 服務來進行位址自動配置設定。在 IPv6 中同樣可以通過 DHCPv6 進行有狀态位址配置設定,但是也可以不依賴 DHCPv6 來進行無狀态位址配置設定(SLAAC)。

IPv6 可以通過 NDP 進行路由請求和通告,擷取 IPv6 位址的網絡字首,而 IPv6 位址的後 64 位是由網卡的實體位址 (MAC) 加上轉換算法得來,本身就是全球唯一的位址,是以也就很難遇到 IP 位址沖突現象。

  1. 傳輸安全性

在 IPv6 網絡中,除了對以往 IPv4 的封包精簡改進,最大的差別就是強制使用 IPSec 安全加密傳輸,讓使用者不再擔心資料抓包導緻資訊洩密,也避免了大多資料數欺騙攻擊。

IPv6 的發展現狀和過渡技術

對比 IPv4,IPv6 明顯優秀得多。但是愛思考的朋友一定會産生這樣的疑問 —— 既然 IPv6 這麼好,從協定提出到現在也發展了這麼多年,為什麼一直沒有被大規模的應用呢?

這是因為技術的更新換代從來都不是那麼容易的事。一方面因為 NAT(Network Address Translation)技術的應用,延緩了 IPv4 位址枯竭的速度。NAT 通過位址轉換可以使多個裝置共享一個 IP 位址來通路網際網路,節省了部分位址資源。

另一方面網絡更新到 IPv6 的成本巨大。從 IPv4 到 IPv6 的更新,不僅僅是更改下位址那麼簡單,而是涉及到網絡的方方面面。從個人終端到營運商網絡,從各種應用軟體到網站服務,都需要全面改造更新。

正因如此,從 IPv4 到 IPv6 的更新不是一次性完成的,而是需要逐漸、分層次地推進。在過渡期間,為了保證 IPv4 與 IPv6 能夠共存、互通,出現了一些過渡技術。

雙棧技術(Dual Stack)

當同時存在 IPv4 和 IPv6 網絡時,通過具有雙棧功能的裝置,結合隧道和轉換技術,實作 IPv4 網絡和 IPv6 網絡的互通。

代表技術 DS-Lite。

其中大多數應用伺服器采用的為雙棧主機的解決方案,嚴格意義上它并不是解決 IPv4 與 IPv6 互通的問題,而是适配兩種網絡模式來為不同網絡下的用戶端提供服務。

當 IPv4 網絡下的用戶端發起請求時,伺服器及鍊路會在 IPv4 網絡下進行響應。同理,當發起用戶端處于 IPv6 網絡時,伺服器會在 IPv6 網絡下進行響應。反之,也可以在客戶終端上配置雙協定棧,來分别通路不同網絡協定下的伺服器。

協定轉換技術(NAT)

當 IPv4 網絡節點或 IPv6 網絡節點要和對方通信時,需要借助協定轉換技術将 IPv4 和 IPv6 的封包進行轉換後才可互通。

代表技術 NAT64。

NAT64 的工作原理就是搭建一台翻譯網關位于 IPv4 與 IPv6 網絡之間,将通過網關的 IPv6 與 IPv4 的資料包進行翻譯傳輸。NAT64 一般隻能單方向的将發往 IPv4 網絡的 IPv6 封包進行翻譯,而不能主動翻譯反方向的 IPv4 發往 IPv6 的封包,需要進行靜态條目綁定才能真正實作 IPv4 通路 IPv6 網絡,在技術實作上成本較高。

隧道技術(Tunnel)

在 IPv4 向 IPv6 過渡的初期,IPv4 網絡已經大量部署,而 IPv6 網絡隻是散落在各地的“孤島”,隧道技術使 IPv6 封包可以在 IPv4 網絡中傳輸,實作 IPv6 網絡間的孤島互聯。

代表技術:6PE、6VPE、GRE、6to4 等。

隧道技術是指将 IPv6 的資料包封裝在 IPv4 的資料包裡進行發送,它好處就是不需要對現有的 IPv4 網絡進行改造,就可以直接利用隧道來傳輸 IPv6 的資料包。

隧道技術主要是為了向 IPv6 網絡過渡過程中減少搭建裝置的成本,但是它依然無法解決純 IPv4 主機與 IPv6 主機的互通問題。

IPv6 位址長什麼樣

IPv6 位址格式

IPv6 位址總長度為 128 比特,分為 8 組,每組為 4 個十六進制數的形式,每組十六進制數間用冒号分隔。

例如:FC00:0000:130F:0000:0000:09C0:876A:130B

IPv6 位址如何縮寫

每組中的前導 “0” 都可以省略,是以上述位址可寫為:FC00:0:130F:0:0:9C0:876A:130B。

位址中包含的連續兩個或多個均為 0 的組,可以用雙冒号 “::” 來代替

是以上述位址又可以進一步簡寫為:FC00:0:130F::9C0:876A:130B。

需要注意的是,在一個 IPv6 位址中隻能使用一次雙冒号“::”

IPv6 位址的掩碼怎麼寫

IPv6 的掩碼使用 “字首長度” 來表示,如:

FC00:0:130F::9C0:876A:130B/64

代表這個位址的字首長度是 64,也就是掩碼長度為 64 位

特殊位址

回環位址

0:0:0:0:0:0:0:1 或::1,等同于 IPv4 的 127.0.0.1

過渡位址:内嵌 IPv4 位址的 IPv6 位址

就是在 IPv6 的某一些十六進制段内嵌這 IPv4 的位址,例如 IPv6 位址中 64:ff9b::10.10.10.10,此 IPv6 位址最後 4 個位元組内嵌一個 IPv4 的位址,這類位址主要用于 IPv6/IPv4 的過渡技術中。

公有雲 Seurity Group IPv6 出入規則

IPv6 的域名解析

由于 IPv6 的位址擴充為 128 位,比 IPv4 的更難書寫和記憶,是以 IPv6 下的 DNS 變得尤為重要。IPv6 的的 DNS 資源記錄類型為 AAAA(又稱作 4A),用于解析指向 IPv6 位址的完全有效域名。下面是一個示例:

Hostipv6.example.wechat.com IN AAAA 2001:db8:1::1

IPv6 下的域名解析可以認為是 IPv4 的擴充,詳細可以檢視 RFC3596。

這裡值得注意的是,在浏覽器中使用 IPv6 的位址通路 web 資源,IPv6 的位址必須要使用中括号 “[]” 包起來。

Linux 核心 IPv6 架構簡析

Linux 核心中,IPv6 協定棧與 IPv4 協定棧并行關系。IPv6 和 IPv4 完全是兩套不一樣的代碼實作。IPv6 完整的協定棧邏輯子產品包括:

1、網絡層 IPv6,核心邏輯:IPv6 路由子系統

2、傳輸層 TCP/UDP 實作:TCPv6、UDPv6

3、控制封包協定 ICMPv6,這裡值得一提的是 ICMPv6 在 IPv6 協定中的地位十分重要。

ICMPv6 不僅提供了與 ICMPv4 相同的服務診斷功能,例如報告資料包的錯誤和提供簡單的 echo 服務,ICMPv6 是 IPv6 中鄰居發現協定的重要組成部分,用于管理鍊路上的點到點的通信。

4、鄰居子系統的實作:鄰居發現協定 NDP(對應于 IPv4 裡面的 ARP 協定)

5、其他進階實作(IPv6 NAT、IPv6 隧道、iPv6 IPSec 等)

由于我們平時的開發工作在應用層,以上 1-4 是将會接觸得最多。

IPv6 相關網絡工具

# dig dns 解析,檢視一個域名是否具有 AAAA 記錄dig www.qq.com aaaa# curl 通過 IPv6 網絡協定進行請求響應,擷取服務端資料curl -I -v -4 ip6.mecurl -I -v -6 ip6.me# ping6 檢視 IPv6 網絡的連通性和域名解析的正确性ping6 -c4 www.qq.com# telnet 檢視對應 IPv6 位址端口是否開放telnet 2600:1417:7:28b::180c 80# IPv6 網絡連通性判斷工具mtr -6 2600:1417:7:28b::180ctraceroute6 www.qq.com# 檢視本機 IPv6 路由表ip -6 routeroute -A "inet6"Kernel IPv6 routing tableDestination                    Next Hop                   Flag Met Ref Use Iflocalhost/128                  [::]                       U    256 2     0 lofe80::/64                      [::]                       U    256 1     0 eth0localhost/128                  [::]                       Un   0   5     0 loff00::/8                       [::]                       U    256 4     0 eth0[::]/0                         [::]                       !n   -1  1     0 lo# curl 測試 APIip4only.me/api/ - IPv4 only queryip6.me/api/ - Dual stack IPv6 and IPv4 (preference depends on your OS/client)ip6only.me/api/ - IPv6 only queryExample (Plain text): https://api.ip.sb/ip (Listen on both IPv4 and IPv6) or curl ip.sbExample (Plain text): https://api-ipv4.ip.sb/ip (Listen on IPv4 only) or curl -4 ip.sb or curl ipv4.ip.sbExample (Plain text): https://api-ipv6.ip.sb/ip (Listen on IPv6 only) or curl -6 ip.sb or curl ipv6.ip.sb           

IPv6 的未來

盡管面臨着許多困難,但 IPv6 技術強大完善的功能以及 5G 時代對網絡性能的極大需求,都在推動着 IPv4 網絡穩步地向 IPv6 網絡演進。

随着 5G 網絡的逐漸建設,我們國家在物聯網、大資料、雲計算、人工智能等新興領域都迎來了快速的發展,那麼既能夠提供海量位址資源又能解決 IPv4 網絡缺陷的高速、可靠、安全的 IPv6 網絡無疑是最佳選擇。

近年,基于 IPv6 的下一代網際網路技術創新體系 “IPv6+” 也引起了廣泛關注。“IPv6+”是 IPv6 的更新,是面向 5G 和雲時代的 IP 網絡創新體系。

“IPv6+”不僅包括了以 SRv6、網絡切片、随流檢測、BIERv6 和 APN6 等内容為代表的協定創新,以網絡分析、自動調優等網絡智能化為代表的技術創新,還包括以 5G 承載和雲網融合為重點應用場景的業務創新。

在北京冬奧會期間,IPv6 + 技術也是首次在大型賽事活動上進行了應用。

屬于 IPv6 以及 “IPv6+” 的時代已經到來,你準備好了嗎?!

思語安全加密聊天軟體app官方|帶你了解:企業安全知識

繼續閱讀