大家好,我是小弗。2019 年就有報道說,IPv4 地址已經使用完了,以為 IPv6 會全面替代 IPv4 。結果過去兩年多,IPv4 還是主流,IPv6 也在上線一部分,但是更像個擺設,實際上沒有用起來。下面,我們從頭說起,一探究竟!
什麼是 IP 地址?
192.168.1.123 、10.10.10.10 、121.14.77.221 等等,這些都是 IP 地址,仔細看會發現,IP 地址是由 4 個數字和中間的 “ . ” 組成。其實每個數字是由八位二進位制陣列成,並轉換成了十進位制表示,取值範圍是 0 ~ 255 。
換句話說,IP 地址是由 32 位二進位制陣列成,為方便書寫,每八位一組,用 “ . ” 隔開,每組資料轉換成十進位制表示。
IP 地址有什麼用?
IP 地址分為公網地址和私網地址。公網 IP 地址,可以用來上網,訪問網際網路資源,比如微信聊天、抖音刷影片等等。私網 IP 地址,在區域網中使用,可以用手機連線家裡的電視投屏、印表機列印啥的。
公網地址由 Internet NIC 負責分配。私網地址是一段保留的 IP 地址。在區域網內自由使用。
IP 地址一共有多少個?
計算 IP 地址的 32 位二進位制數,得出約 43 億個 IP 地址。地址範圍是 0.0.0.0 ~ 255.255.255.255 。
IP 地址已經分完了?
初略算一下,全球 78 億人,IPv4 地址約 43 億,人均不到一個 IP 地址,顯然地址是不夠用的,但實際上是什麼情況呢?
全球的 IP 地址由 IANA 管理分配,但是全部 IP 地址只由 IANA 管理,肯定是管不過來的,搞不定的就用分層的方法解決。IANA 不直接給使用者分配地址,只給 RIR 分配地址,RIR 就給 LIR 或 NIR 分配地址,LIR 或 NIR 再給 ISP 分配地址,最後 ISP 直接給使用者分配地址。
我們先來看下 IANA 地址的使用情況。官網檢視,截止至 2022 年 2 月 4 日,有 16 個 /8 網段標註為未來使用,一個 /8 網段就有 1677 萬個地址,16 個 /8 網段就是 2.68 億個的地址,IPv4 地址真的用完了嗎?
接下來看看 RIR ,IANA 把 IP 地址分配給 RIR ,世界上有五個 RIR ,分別是 AFRINIC 、APNIC 、ARIN 、LACNIC 和 RIPE NCC 。
其中,ARIN 和 RIPE NCC 分別在 2015 年和 2019 年分完了可用的 IP 地址,APNIC 、LACNIC 和 AFRINIC 還可以申請 IP 地址。APNIC 官網顯示,還剩餘少量地址,以及中國在今年申請 IP 地址的記錄。破案了,雖然未分配的 IP 地址數量不多,但還沒分配完,目前還能申請 IP 地址。
而且,我們還有 IPv6 ,由 128 位二進位制陣列成,地址數量巨多,號稱可以給地球上的每粒沙子分配一個地址。
中國有多少個 IPv4 地址?
我們國家屬於亞太地區的 APNIC 。APNIC 官網有個文件,記錄了分配的 IP 地址資訊,每天更新。
http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest
文件格式依次是:註冊機構、國家/地區程式碼、型別、起始地址、數量、分配日期、狀態。於是把文件複製到 Excel 表格,進行分列和篩選。
中國簡稱是 CN ,選擇的型別是 IPv4 ,篩選出來 8631 個網段,IPv4 地址數量是 344110080 個,約佔整個 IPv4 地址空間的 8% 。
按照相同的方法,計算出港澳臺的 IP 地址數量:
- 香港( HK ):2589 個網段,共 12573440 個地址
- 澳門( MO ):36 個網段,共 336640 個地址
- 臺灣( TW ):872 個網段,共 35694848 個地址
總計 392705008 個地址,約佔全球總量的 9% 。
那麼,中國是如何向 APNIC 申請的 IP 地址呢?答案是 CNNIC ,屬於 APNIC 下面的 NIR 。CNNIC 從 APNIC 申請 IP 地址,並向國內的組織進行進一步分配。
今年 2 月份,CNNIC 釋出了第49次《中國網際網路絡發展狀況統計報告》,裡面有 IPv4 地址數量統計,約 3.9249 億個。
APNIC 和 CNNIC 統計的 IP 地址數量大體一致,約 3.92 億個地址。其中的少量偏差,可能是統計時間和統計維度等導致,問題不大。
中國的 IPv4 地址是如何分配的?
知道了中國有多少 IP 地址,就會好奇這些地址都用到哪裡去了?在淘寶的 IP 地址庫找到一份資料:
https://ip.taobao.com/accurancy
從 IP 數量上看,這並不是最新的統計資料,不過也能看出大致情況,三大運營商佔用了 74% 的地址,再加上鐵通的話,就達到了 82% 。這說明,我國的 IP 地址主要是分配給了運營商。
有哪些保留地址?
除了需要申請的公網地址外,還有許多保留地址,有一部分保留地址是可以自由使用的。IANA 官網有最全的保留地址型別。
https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml
再加上組播地址,就是全部的保留地址了。
https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml#multicast-addresses-13
常見保留地址的說明如下:
- 0.0.0.0/32:用於廣播資訊到當前主機
- 10.0.0.0/8:用於私有網路中的本地通訊,可在區域網內自由使用
- 100.64.0.0/10:用於在電信級 NAT 環境中服務提供商與其使用者通訊
- 127.0.0.0/8:用於到本地主機的環回地址,不僅僅只有 127.0.0.1 這一個迴環地址
- 169.254.0.0/16:用於單鏈路的兩個主機之間的鏈路本地地址,而沒有另外指定 IP 地址
- 172.16.0.0/12:用於私有網路中的本地通訊,可在區域網內自由使用
- 192.168.0.0/16:用於私有網路中的本地通訊,可在區域網內自由使用
- 255.255.255.255/32:有限廣播地址
為什麼 IPv6 還沒取代 IPv4 ?
細細梳理下來,有以下幾個原因:
- NAT 技術,可以把私網地址轉換成公網地址,讓大量私網裝置使用少量公網地址訪問網際網路,緩解 IPv4 地址不夠用的問題。
- IPv4 和 IPv6 互不相容,只能透過雙協議棧、隧道技術或者 NAT64 實現協議的過渡,三種轉換技術各有千秋,但是也各有缺陷,限制了 IPv6 的推廣。
- IPv4 的地址回收再分配,可以緩解 IPv4 地址消耗的速度。還有早期大手大腳的申請和使用 IPv4 地址,環回地址、組播地址等保留地址佔用太多地址空間,未使用的 E 類地址約 2.68 億個,都有很大的最佳化空間。
- IPv4 升級到 IPv6 ,涉及巨大的網路改造成本,ISP 在未找到盈利模式,無利可圖時,無動力推進 IPv6 。
- IPv4 地址稀缺,價格較高,IPv6 地址無利可圖,ISP 不想做虧本生意。
但是,我們也要明白,IPv4 地址不夠用的問題,還是要上 IPv6 才能根本解決,畢竟 IPv4 地址有限,而未來地址的需求量巨大。