全中国一共有多少 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
    评论
IP地址库,十分详细 范例。 province city isp start_ip1 end_ip1 福建省 电信 1.0.1.0 1.0.3.255 广东省 电信 1.0.8.0 1.0.15.255 广东省 电信 1.0.32.0 1.0.63.255 福建省 电信 1.1.0.0 1.1.0.255 福建省 电信 1.1.2.0 1.1.3.255 福建省 电信 1.1.4.0 1.1.7.255 广东省 电信 1.1.8.0 1.1.63.255 福建省 电信 1.2.0.0 1.2.1.255 北京市 (北龙网科技有限公司) 网通 1.2.2.0 1.2.2.255 福建省 电信 1.2.4.0 1.2.7.255 广东省 电信 1.2.8.0 1.2.127.255 广东省 电信 1.3.0.0 1.3.255.255 福建省 电信 1.4.1.0 1.4.3.255 福建省 电信 1.4.5.0 1.4.7.255 广东省 电信 1.4.8.0 1.4.127.255 广东省 电信 1.10.0.0 1.10.7.255 福建省 电信 1.10.8.0 1.10.9.255 福建省 电信 1.10.11.0 1.10.15.255 广东省 电信 1.10.16.0 1.10.127.255 北京市 方正宽带 1.12.0.0 1.15.255.255 内蒙古 联通 1.24.0.0 1.31.255.255 内蒙古 赤峰市 联通 1.24.8.0 1.24.15.255 内蒙古 乌兰察布市 联通 1.24.32.0 1.24.39.255 内蒙古 乌兰察布市 联通 1.24.80.0 1.24.87.255 内蒙古 包头市 联通 1.24.184.0 1.24.191.255 内蒙古 乌兰察布市 联通 1.25.128.0 1.25.135.255 内蒙古 锡林郭勒盟 联通 1.25.152.0 1.25.191.255 内蒙古 巴彦淖尔市 联通 1.25.228.0 1.25.255.255 内蒙古 呼伦贝尔市 联通 1.26.0.0 1.26.15.255 内蒙古 赤峰市 联通 1.26.112.0 1.26.127.255 贵州省 电信 1.48.0.0 1.49.255.255 贵州省 贵阳市(电信CDMA省共用出口) 电信 1.49.128.0 1.49.255.255 宁夏 电信 1.50.0.0 1.50.255.255 山东省 济南市(山东大学) 教育网 1.51.192.0 1.51.255.255 黑龙江省 联通 1.56.0.0 1.63.255.255 黑龙江省 鹤岗市 联通 1.56.0.0 1.56.95.255 黑龙江省 牡丹江市 联通 1.56.128.0 1.56.255.255 黑龙江省 绥化市 联通 1.57.0.0 1.57.63.255 黑龙江省 齐齐哈尔市 联通 1.57.64.0 1.57.127.255 黑龙江省 双鸭山市 联通 1.57.128.0 1.57.191.255 黑龙江省 鸡西市 联通 1.57.192.0 1.57.255.255 黑龙江省 哈尔滨市 联通 1.58.0.0 1.58.255.255 黑龙江省 大庆市 联通 1.59.16.0 1.59.127.255 黑龙江省 佳木斯市 联通 1.59.128.0 1.59.255.255 黑龙江省 黑河市 联通 1.60.0.0 1.60.63.255 黑龙江省 七台河市 联通 1.60.64.0 1.60.95.255 黑龙江省 伊春市 联通 1.60.128.0 1.60.191.255 黑龙江省 齐齐哈尔市 联通 1.60.192.0 1.60.255.255 黑龙江省 绥化市 联通 1.61.0.0 1.61.127.255 黑龙江省 齐齐哈尔市 联通 1.61.128.0 1.61.159.255 黑龙江省 哈尔滨市 联通 1.62.0.0 1.62.127.255 黑龙江省 鸡西市 联通 1.63.0.0 1.63.31.255 黑龙江省 绥化市 联通 1.63.152.0 1.63.159.255 黑龙江省 伊春市 联通 1.63.192.0 1.63.207.255 山西省 电信 1.68.0.0 1.71.255.255 陕西省 电信 1.80.0.0 1.87.255.255 陕西省 西安市 电信 1.80.0.0 1.80.255.255 陕西省 渭南市 电信 1.81.0.0 1.81.127.255 陕西省 汉市 电信 1.81.128.0 1.81.255.255 陕西省 商洛市 电信 1.82.0.0 1.82.31.255 陕西省 安康市 电信 1.82.32.0 1.82.63.255 陕西省 榆林市 电信 1.82.64.0 1.82.127.255 陕西省 宝鸡市 电信 1.82.128.0 1.82.163.255 陕西省 西安市 电信 1.83.0.0 1.83.255.255 陕西省 西安市 电信 1.84.64.0 1.84.127.255 陕西省 西安市 电信 1.85.0.0 1.85.23.255 陕西省 延安市 电信 1.85.64.0 1.85.95.255 陕西省 安康市 电信 1.85.96.0 1.85.135.255 陕西省 咸阳市 电信 1.85.144.0 1.85.159.255 陕西省 西安市 电信 1.85.172.0 1.85.191.255 陕西省 西安市 电信 1.85.192.0 1.86.255.255 陕西省 西安市 电信 1.87.0.0 1.87.255.255 北京市 歌华有线宽带 1.88.0.0 1.91.255.255 北京市 电信通 1.92.0.0 1.93.255.255 内蒙古 电信 1.180.0.0 1.183.255.255 内蒙古 鄂尔多斯市 电信 1.180.64.0 1.180.67.255 内蒙古 乌海市 电信 1.180.128.0 1.180.135.255 内蒙古 呼和浩特市 电信 1.182.0.0 1.182.3.255 广东省 广州市(暨南大学) 教育网 1.184.0.0 1.184.127.255 黑龙江省 联通 1.188.0.0 1.191.255.255 河南省 郑州市 电信 1.192.0.0 1.192.191.255 河南省 电信 1.192.0.0 1.199.255.255 河南省 郑州市 电信 1.193.0.0 1.193.127.255 河南省 洛阳市 电信 1.193.128.0 1.193.239.255 河南省 平顶山市 电信 1.194.0.0 1.194.63.255 河南省 开封市 电信 1.194.128.0 1.194.159.255 河南省 安阳市 电信 1.194.192.0 1.194.255.255 河南省 新乡市 电信 1.195.0.0 1.195.63.255 河南省 焦作市 电信 1.195.64.0 1.195.127.255 河南省 濮阳市 电信 1.195.128.0 1.195.147.255 河南省 三门峡市 电信 1.195.192.0 1.195.255.255 河南省 商丘市 电信 1.196.64.0 1.196.79.255 河南省 信阳市 电信 1.196.192.0 1.196.223.255 河南省 鹤壁市 电信 1.197.0.0 1.197.15.255 河南省 漯河市 电信 1.197.32.0 1.197.63.255 河南省 周口市 电信 1.197.64.0 1.197.95.255 河南省 驻马店市 电信 1.197.96.0 1.197.127.255 河南省 许昌市 电信 1.197.128.0 1.197.159.255 河南省 南阳市 电信 1.197.160.0 1.197.175.255 河南省 焦作市 电信 1.197.192.0 1.197.207.255 河南省 安阳市 电信 1.197.208.0 1.197.223.255 河南省 周口市 电信 1.197.224.0 1.197.235.255 河南省 周口市 电信 1.199.0.0 1.199.15.255 河南省 新乡市 电信 1.199.96.0 1.199.127.255 北京市 (电信WIFI热点AP网段) 电信 1.202.0.0 1.203.255.255 贵州省 贵阳市 电信 1.204.0.0 1.204.255.255

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值