當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 程序員小灰
[導(dǎo)讀]大家好,我是軒轅。這段時(shí)間不是某某云的云服務(wù)器廣告鋪天蓋地嘛,而我去年雙十一用新用戶(hù)搞的那個(gè)服務(wù)器也到期了,到了續(xù)費(fèi)的時(shí)間一看,還真是肉疼啊。果然還是應(yīng)了那句話(huà):白piao一時(shí)爽,續(xù)費(fèi)火葬場(chǎng)幸好我那上面也沒(méi)啥重要的數(shù)據(jù),關(guān)了就關(guān)了吧。然后我又換了個(gè)賬號(hào)享受新用戶(hù)的低價(jià),這一次,直...

大家好,我是軒轅。

這段時(shí)間不是某某云的云服務(wù)器廣告鋪天蓋地嘛,而我去年雙十一用新用戶(hù)搞的那個(gè)服務(wù)器也到期了,到了續(xù)費(fèi)的時(shí)間一看,還真是肉疼啊。果然還是應(yīng)了那句話(huà):

白piao一時(shí)爽,續(xù)費(fèi)火葬場(chǎng)

幸好我那上面也沒(méi)啥重要的數(shù)據(jù),關(guān)了就關(guān)了吧。

然后我又換了個(gè)賬號(hào)享受新用戶(hù)的低價(jià),這一次,直接買(mǎi)了三年。

話(huà)題扯遠(yuǎn)了,今天要聊的話(huà)題是關(guān)于IP地址。

IP地址

因?yàn)槲移綍r(shí)會(huì)弄個(gè)小程序,搭個(gè)網(wǎng)站博客之類(lèi)的,所以在購(gòu)買(mǎi)云服務(wù)器的時(shí)候,一般會(huì)再申請(qǐng)一個(gè)公網(wǎng)IP。

看著申請(qǐng)到的IP地址,我突然想到了一個(gè)問(wèn)題:不是早就說(shuō)IP地址已經(jīng)耗盡了嗎,為什么我隨便就能申請(qǐng)到,阿里云到底屯了多少I(mǎi)P地址,咱們中國(guó)總共又有多少I(mǎi)P地址呢?

大家知道,我們現(xiàn)在的互聯(lián)網(wǎng)主要還是采用的IPv4的地址,雖然我上大學(xué)那會(huì)兒就在吼IPv6了,但這么多年過(guò)去了,IPv4的地位依舊沒(méi)有動(dòng)搖。

IPv4的IP地址,是采用4個(gè)字節(jié)的整數(shù)來(lái)表示,學(xué)過(guò)編程的都知道,4個(gè)字節(jié)能夠表示的范圍是0-4294967295(無(wú)符號(hào)數(shù))。

也就是說(shuō),全世界最多只有42.9億個(gè)IPv4的地址。

當(dāng)然,為了書(shū)寫(xiě)和記憶方便,我們一般不會(huì)用整數(shù)來(lái)表示,而是采用點(diǎn)分十進(jìn)制的形式。

從 0.0.0.0 到255.255.255.255,分四個(gè)字節(jié),每個(gè)字節(jié)范圍是0-255。

然而,IP地址中不是所有都能拿來(lái)直接用,這42.9億中有不少特殊用途的IP地址。

提到特殊IP地址,估計(jì)很多人都知道這三個(gè)范圍的私有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í)際上,除了這三個(gè)范圍的IP地址,還有許多特殊用途的IP地址。網(wǎng)絡(luò)上很多文章列舉的七七八八,都不完善,完整的特殊IP地址列表,還得要去管理IP地址的IANA官網(wǎng)查看。

IANA

IANA,全稱(chēng)Internet Assigned Numbers Authority,互聯(lián)網(wǎng)號(hào)碼分配機(jī)構(gòu),管理著全球互聯(lián)網(wǎng)中使用的IP地址、域名和許多其它參數(shù)的機(jī)構(gòu)。

在它的官網(wǎng)中,有一個(gè)文檔,包含了迄今為止,所有特殊用途的IP地址:

地址:https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml

很多人都知道127.0.0.1代表著本地回環(huán)地址,但其實(shí)回環(huán)地址不只是一個(gè),從127.0.0.0-127.255.255.255整個(gè)16777216個(gè)地址都是回環(huán)地址,所有發(fā)往這些地址的數(shù)據(jù)包都會(huì)被loop back。

IP地址本就珍貴,這么多都作為回環(huán)地址,是不是有點(diǎn)浪費(fèi)???

中國(guó)的IPv4地址數(shù)量

全球的IP地址由五大區(qū)域性機(jī)構(gòu)進(jìn)行管理,咱們國(guó)家的IP地址由亞太地區(qū)的APNIC分配管理。

在APNIC的官網(wǎng)上,也有一個(gè)公開(kāi)的文檔,記錄了APNIC管理分配的所有IP地址信息,每日更新,可以訪問(wèn)下面這個(gè)地址拿到:

http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest

該文件每行的格式如下:

注冊(cè)機(jī)構(gòu)|國(guó)家/地區(qū)代碼|類(lèi)型|起始地址|IP數(shù)量|分配日期|狀態(tài)

咱們大陸地區(qū)的代碼是CN,所以,可以通過(guò)簡(jiǎn)單的命令將大陸地區(qū)的IPv4地址分配情況篩選出來(lái):

cat delegated-apnic-latest | grep "CN|ipv4" > cn_ipv4.txt

可以看到,截止2021-12-1日,中國(guó)大陸地區(qū)一共分配了8614個(gè)網(wǎng)段:

寫(xiě)個(gè)簡(jiǎn)單的腳本程序,將所有網(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,約占整個(gè)IP地址空間的8%。

用同樣的方法,分別統(tǒng)計(jì)臺(tái)灣、香港、澳門(mén)三個(gè)地區(qū)的數(shù)據(jù):

  • 臺(tái)灣:35688960
  • 香港:12612096
  • 澳門(mén):336640
那整個(gè)加起來(lái)的數(shù)據(jù)就是:392519680,三億九千多萬(wàn),約占整個(gè)IP地址空間的9.14%。

那這個(gè)數(shù)據(jù)到底對(duì)不對(duì)呢?

我查閱了國(guó)內(nèi)專(zhuān)門(mén)負(fù)責(zé)IP地址分配管理的機(jī)構(gòu):CNNIC(中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心)在今年9月份發(fā)布的一份《第 48 次中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r 統(tǒng)計(jì)報(bào)告》,其中關(guān)于IP地址這里,有一個(gè)數(shù)據(jù):

這份文件給出今年6月份的數(shù)據(jù),全國(guó)的IPv4地址大概在3.93億,與前面的統(tǒng)計(jì)基本上吻合,可能由于數(shù)據(jù)時(shí)間和其他方面的因素,存在小部分的出入,但總體而言,國(guó)內(nèi)的IPv4地址數(shù)量大概在這個(gè)規(guī)模是肯定的。

阿里云的IPv4地址數(shù)量

弄清了國(guó)內(nèi)的IP地址數(shù)量,那么問(wèn)題來(lái)了,阿里云到底有多少I(mǎi)Pv4地址呢?

在淘寶下的一個(gè)IP地址庫(kù)中找到了一個(gè)數(shù)據(jù):

地址:https://ip.taobao.com/accurancy

當(dāng)然,從表格中大陸地區(qū)的IP地址數(shù)量可以看到,這個(gè)表格的數(shù)據(jù)是有些過(guò)時(shí)了,但數(shù)量級(jí)應(yīng)該差不了太多。

從這份數(shù)據(jù)來(lái)看,阿里巴巴擁有差不多 370W 的IP地址。

而這,僅僅是活躍的IP地址數(shù),不代表阿里所屯的IP地址總數(shù)。

那阿里究竟屯了多少I(mǎi)P,在公開(kāi)的信息中,我只找到了一份2019年發(fā)布的數(shù)據(jù):

2019上半年,阿里云的活躍IP數(shù)量在330萬(wàn),比上面的淘寶IP統(tǒng)計(jì)少了40萬(wàn),也就是說(shuō)2年之后活躍IP增長(zhǎng)了40萬(wàn)。

而兩年前阿里云屯的IP總數(shù)已經(jīng)超過(guò)1500W ,兩年之后,這個(gè)數(shù)據(jù)只會(huì)更多,就國(guó)內(nèi)幾家云服務(wù)廠商而言,真可謂一騎絕塵。

從上面圖中還可以看出,亞馬遜不愧是全球最強(qiáng)大的云計(jì)算廠商,足足屯了7500W 的IP地址,就這還是2年前數(shù)據(jù)。

至此,文章開(kāi)頭的問(wèn)題算是弄清楚了。當(dāng)然了,購(gòu)買(mǎi)云服務(wù)器得來(lái)的IP地址也是有租用期限的,比如我去年購(gòu)買(mǎi)的云服務(wù)器到期之后,里面的公網(wǎng)IP地址也就回收了,說(shuō)不定現(xiàn)在已經(jīng)分配給別人了。

雖然IP地址緊張,但各云服務(wù)器廠商都屯了不少,公網(wǎng)IP在池子里不斷流轉(zhuǎn),所以我們才能花個(gè)百來(lái)十塊就搞來(lái)一個(gè)。

最后,給大家留一個(gè)思考題:0.0.0.0和127.0.0.1這兩個(gè)IP地址,有什么不同?

歡迎評(píng)論區(qū)說(shuō)說(shuō)你的理解。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉