全中国一共有多少 IP 地址?

这是「进击的Coder」的第 528 篇技术分享

作者:轩辕之风O

来源:编程技术宇宙

阅读本文大概需要 4 分钟。

这段时间不是某某云的云服务器广告铺天盖地嘛,而我去年双十一用新用户搞的那个服务器也到期了,到了续费的时间一看,还真是肉疼啊。果然还是应了那句话:

白 piao 一时爽,续费火葬场

幸好我那上面也没啥重要的数据,关了就关了吧。

然后我又换了个账号享受新用户的低价,这一次,直接买了三年。

c2f87d18490c6c47ae5326894cbb8579.png

话题扯远了,今天要聊的话题是关于 IP 地址

IP 地址

因为我平时会弄个小程序,搭个网站博客之类的,所以在购买云服务器的时候,一般会再申请一个公网IP

看着申请到的 IP 地址,我突然想到了一个问题:不是早就说 IP 地址已经耗尽了吗,为什么我随便就能申请到,阿里云到底屯了多少 IP 地址,咱们中国总共又有多少 IP 地址呢?

大家知道,我们现在的互联网主要还是采用的 IPv4 的地址,虽然我上大学那会儿就在吼 IPv6 了,但这么多年过去了,IPv4 的地位依旧没有动摇。

IPv4 的 IP 地址,是采用 4 个字节的整数来表示,学过编程的都知道,4 个字节能够表示的范围是0-4294967295(无符号数)。

也就是说,全世界最多只有 42.9 亿个 IPv4 的地址。

当然,为了书写和记忆方便,我们一般不会用整数来表示,而是采用点分十进制的形式。

从 0.0.0.0 到 255.255.255.255,分四个字节,每个字节范围是 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

实际上,除了这三个范围的 IP 地址,还有许多特殊用途的 IP 地址。网络上很多文章列举的七七八八,都不完善,完整的特殊 IP 地址列表,还得要去管理 IP 地址的 IANA 官网查看。

IANA

IANA,全称Internet Assigned Numbers Authority,互联网号码分配机构,管理着全球互联网中使用的 IP 地址、域名和许多其它参数的机构。

a2292a333fae16510c595999758e7d05.png

在它的官网中,有一个文档,包含了迄今为止,所有特殊用途的 IP 地址:

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

edaf781b7abfaf5221c15dfd92d86324.png

很多人都知道127.0.0.1代表着本地回环地址,但其实回环地址不只是一个,从127.0.0.0-127.255.255.255整个 16777216 个地址都是回环地址,所有发往这些地址的数据包都会被 loop back。

I P地址本就珍贵,这么多都作为回环地址,是不是有点浪费啊?

中国的 IPv4 地址数量

全球的 IP 地址由五大区域性机构进行管理,咱们国家的 IP 地址由亚太地区的 APNIC 分配管理。

50076a9feeacfdaf7420e195aaf11673.png

在 APNIC 的官网上,也有一个公开的文档,记录了 APNIC 管理分配的所有 IP 地址信息,每日更新,可以访问下面这个地址拿到:

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

65fd5313ebe11efca91d9871e5bfcea7.png

该文件每行的格式如下:

注册机构|国家/地区代码|类型|起始地址|IP数量|分配日期|状态

咱们大陆地区的代码是 CN,所以,可以通过简单的命令将大陆地区的 IPv4 地址分配情况筛选出来:

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

可以看到,截止 2021-12-1 日,中国大陆地区一共分配了 8614 个网段:

3099d0fb336db483b767e564a27e518b.png

写个简单的脚本程序,将所有网段的IP地址数量相加:

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 地址数量:343881984,约占整个 IP 地址空间的 8%

用同样的方法,分别统计台湾、香港、澳门三个地区的数据:

  • 台湾:35688960

  • 香港:12612096

  • 澳门:336640

那整个加起来的数据就是:392519680,三亿九千多万,约占整个 IP 地址空间的 9.14%

那这个数据到底对不对呢?

我查阅了国内专门负责 IP 地址分配管理的机构:CNNIC(中国互联网络信息中心)在今年 9 月份发布的一份《第 48 次中国互联网络发展状况 统计报告》,其中关于 IP 地址这里,有一个数据:

5b03a4c1ab3bf8aa87edc7b95220948a.png 3079db50d495d707f28dae028797fd83.png

这份文件给出今年 6 月份的数据,全国的 IPv4 地址大概在 3.93 亿,与前面的统计基本上吻合,可能由于数据时间和其他方面的因素,存在小部分的出入,但总体而言,国内的 IPv4 地址数量大概在这个规模是肯定的。

阿里云的 IPv4 地址数量

弄清了国内的 IP 地址数量,那么问题来了,阿里云到底有多少 IPv4 地址呢?

在淘宝下的一个 IP 地址库中找到了一个数据:

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

4346e480da1ddb0f6ffd8dcbe06b69a0.png

当然,从表格中大陆地区的 IP 地址数量可以看到,这个表格的数据是有些过时了,但数量级应该差不了太多。

从这份数据来看,阿里巴巴拥有差不多 370W+ 的 IP 地址。

而这,仅仅是活跃的 IP 地址数,不代表阿里所屯的 IP 地址总数。

那阿里究竟屯了多少 IP,在公开的信息中,我只找到了一份 2019 年发布的数据:

e4f98cfe3cb895cf8ebd901e5ff002db.png

2019 上半年,阿里云的活跃 IP 数量在 330 万,比上面的淘宝 IP 统计少了 40 万,也就是说 2 年之后活跃 IP 增长了 40 万。

而两年前阿里云屯的 IP 总数已经超过 1500W+,两年之后,这个数据只会更多,就国内几家云服务厂商而言,真可谓一骑绝尘。

从上面图中还可以看出,亚马逊不愧是全球最强大的云计算厂商,足足屯了 7500W+ 的 IP 地址,就这还是 2 年前数据。

至此,文章开头的问题算是弄清楚了。当然了,购买云服务器得来的 IP 地址也是有租用期限的,比如我去年购买的云服务器到期之后,里面的公网 IP 地址也就回收了,说不定现在已经分配给别人了。

虽然 IP 地址紧张,但各云服务器厂商都屯了不少,公网 IP 在池子里不断流转,所以我们才能花个百来十块就搞来一个。

最后,给大家留一个思考题:0.0.0.0和127.0.0.1 这两个 IP 地址,有什么不同?

91d70f293a306e231e655ed8999374c6.png

End

「进击的Coder」专属学习群已正式成立,搜索「CQCcqc4」添加崔庆才的个人微信或者扫描下方二维码拉您入群交流学习。

744095f05026650179ac7169b0d49125.png

看完记得关注@进击的Coder

及时收看更多好文

↓↓↓

崔庆才的「进击的Coder」知识星球已正式成立,感兴趣的可以查看《我创办了一个知识星球》了解更多内容,欢迎您的加入:

54c678772e34e7e2d586b37893a96f61.png

好文和朋友一起看~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值