其實(shí)IP也是一個稀缺資源,全中國一共有多少IP地址?
2022-12-09 加入收藏
其實(shí)IP也是一個稀缺資源,全中國一共有多少IP地址?今天就給你大伙來分析分析。
IP地址
因為我平時會弄個小程序,搭個網(wǎng)站博客之類的,所以在購買云服務(wù)器的時候,一般會再申請一個公網(wǎng)IP。
看著申請到的IP地址,我突然想到了一個問題:不是早就說IP地址已經(jīng)耗盡了嗎,為什么我隨便就能申請到,阿里云到底屯了多少IP地址,咱們中國總共又有多少IP地址呢?
大家知道,我們現(xiàn)在的互聯(lián)網(wǎng)主要還是采用的IPv4的地址,雖然我上大學(xué)那會兒就在吼IPv6了,但這么多年過去了,IPv4的地位依舊沒有動搖。
IPv4的IP地址,是采用4個字節(jié)的整數(shù)來表示,學(xué)過編程的都知道,4個字節(jié)能夠表示的范圍是0-4294967295(無符號數(shù))。
也就是說,全世界最多只有42.9億個IPv4的地址。
當(dāng)然,為了書寫和記憶方便,我們一般不會用整數(shù)來表示,而是采用點(diǎn)分十進(jìn)制
的形式。
從 0.0.0.0 到255.255.255.255,分四個字節(jié),每個字節(jié)范圍是0-255。
然而,IP地址中不是所有都能拿來直接用,這42.9億中有不少特殊用途的IP地址。
提到特殊IP地址,估計很多人都知道這三個范圍的私有IP:
10.0.0.0--10.255.255.255 172.16.0.0--172.31.255.255 192.168.0.0--192.168.255.255
實(shí)際上,除了這三個范圍的IP地址,還有許多特殊用途的IP地址。網(wǎng)絡(luò)上很多文章列舉的七七八八,都不完善,完整的特殊IP地址列表,還得要去管理IP地址的IANA官網(wǎng)查看。
IANA
IANA,全稱Internet Assigned Numbers Authority
,互聯(lián)網(wǎng)號碼分配機(jī)構(gòu),管理著全球互聯(lián)網(wǎng)中使用的IP地址、域名和許多其它參數(shù)的機(jī)構(gòu)。
在它的官網(wǎng)中,有一個文檔,包含了迄今為止,所有特殊用途的IP地址:
地址:https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml
很多人都知道127.0.0.1
代表著本地回環(huán)地址,但其實(shí)回環(huán)地址不只是一個,從127.0.0.0-127.255.255.255
整個16777216個地址都是回環(huán)地址,所有發(fā)往這些地址的數(shù)據(jù)包都會被loop back。
IP地址本就珍貴,這么多都作為回環(huán)地址,是不是有點(diǎn)浪費(fèi)啊?
中國的IPv4地址數(shù)量
全球的IP地址由五大區(qū)域性機(jī)構(gòu)進(jìn)行管理,咱們國家的IP地址由亞太地區(qū)的APNIC分配管理。
在APNIC的官網(wǎng)上,也有一個公開的文檔,記錄了APNIC管理分配的所有IP地址信息,每日更新,可以訪問下面這個地址拿到:
http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest
該文件每行的格式如下:
注冊機(jī)構(gòu)|國家/地區(qū)代碼|類型|起始地址|IP數(shù)量|分配日期|狀態(tài)
咱們大陸地區(qū)的代碼是CN,所以,可以通過簡單的命令將大陸地區(qū)的IPv4地址分配情況篩選出來:
cat delegated-apnic-latest | grep "CN|ipv4" > cn_ipv4.txt
可以看到,截止2021-12-1日,中國大陸地區(qū)一共分配了8614個網(wǎng)段:
寫個簡單的腳本程序,將所有網(wǎng)段的IP地址數(shù)量相加:
import sys
total = 0
print('target file: %s' % sys.argv[1])
with open(sys.argv[1]) as fp:
while True:
line = fp.readline()
if line:
fields = line.split('|')
ip = fields[3]
num = int(fields[4])
print('ip: %s, num: %d' % (ip, num))
total += num
else:
break
print('total: %d' % total)
得到總共的IP地址數(shù)量:343881984,約占整個IP地址空間的8%。
用同樣的方法,分別統(tǒng)計臺灣、香港、澳門三個地區(qū)的數(shù)據(jù):
臺灣:35688960 香港:12612096 澳門:336640
那整個加起來的數(shù)據(jù)就是:392519680,三億九千多萬,約占整個IP地址空間的9.14%。
那這個數(shù)據(jù)到底對不對呢?
我查閱了國內(nèi)專門負(fù)責(zé)IP地址分配管理的機(jī)構(gòu):CNNIC(中國互聯(lián)網(wǎng)絡(luò)信息中心)在今年9月份發(fā)布的一份《第 48 次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r 統(tǒng)計報告》,其中關(guān)于IP地址這里,有一個數(shù)據(jù):
這份文件給出今年6月份的數(shù)據(jù),全國的IPv4地址大概在3.93億,與前面的統(tǒng)計基本上吻合,可能由于數(shù)據(jù)時間和其他方面的因素,存在小部分的出入,但總體而言,國內(nèi)的IPv4地址數(shù)量大概在這個規(guī)模是肯定的。
阿里云的IPv4地址數(shù)量
弄清了國內(nèi)的IP地址數(shù)量,那么問題來了,阿里云到底有多少IPv4地址呢?
在淘寶下的一個IP地址庫中找到了一個數(shù)據(jù):
https://ip.taobao.com/accurancy(大伙查查)