Daniel's Blog
× 私有图床 私有云 离线下载 茶茶子の小站

起因

咳咳!我真的不是标题党,我真的是直到今天才知道家里的网络是支持 IPv6 的,还是 Native 原生获取的。之所以会想起来这个,是因为我最近看到了一个免费的纯 IPv6 的 VPS,然后进行了一番折腾。移动数据有 IPv6 我是知道的,但是家宽也有我却不知道。

折腾的时候我还以为家里是纯 IPv4 的,于是经过各种搜索与学习,又经过测试,发现如果有一台双栈的 VPS,就可以实现 4、6 之间的互通。

实验是成功了,那么如何搭建这样的一个透明网关呢?是不是需要局域网内分配 IPv6 地址?这时忽然想起来辣鸡小米路由器的管理界面里面有一个开启 IPv6 的选项,于是便试着将其打开。意想不到的事情发生了,哇,竟然获取到了公网的 IPv6 地址!通过 test-ipv6.com 的测试,成功得到了 10/10 的完美成绩。又经过了百度 IPv6 站,以及 SSH 远程登陆纯 IPv6 主机,都证明了我的确可以访问 IPv6。

Test IPv6: 10/10

Test IPv6: 10/10

好吧,我火星了。

IPv6 的简单介绍及其特点

IPv6 与 IPv4 的确有很大的不同,例如,地址格式上(这不是废话吗?)以及地址的分配上,我进行了一些粗略的了解。虽然不知道我理解的是否正确,这里我简单的谈一谈这一下午我所了解到的。

1. 产生原因

为什么会产生 IPv6?IPv4 它不好吗?这个问题的主要答案就在于地址的数量上。截至 2018 年 1 月,全球上网人数已达 40.21 亿,而 IPv4 仅能提供约 42.9 亿个 IP 位置。[1]

很明显,IPv4 的地址是从 0.0.0.0 ~ 255.255.255.255,一共也就是 2564 = 4,294,967,296 个地址,这个数字看似很大,但,你知道这个世界上有多少人吗?

人口数量

人口数量

据预测,到 2100 年,这个数字将会达到 112 亿[2]

人口数量趋势图

人口数量趋势图

虽然并不是每个人都使用网络,但也不是每个人只有一个终端,随着科技的发展,上网的人和终端将会越来越多,同时,IoT 设备的出现以及 5G 网络将会使得终端数大幅度提升,需要的公网 IP 数也会同时增多。

另一方面,从 IPv4 本身来说,42.9 亿多个 IP 也并不都是能随意使用的,很多的 IP 段如内网 IP 都需要从中排除,最终可用的大概是 36.47 亿个。

也许你并没有感受到,但实际上,IP 数量的不足已经给我们的日常网络使用造成了一定的影响。在中国,你的公网 IP 地址都是动态分配的,其好处在于当一台终端离线时就把其地址分给其他上线的终端,这可以理解,对于家用环境来说这足够了。但缺德的是,一些地区不提供公网 IP,也就是说,整个地区都处于一个大的局域网之中,这就会导致许多网络服务的访问故障以及断网现象……

这种做法是需要理解的,据统计,美国有 1,541,605,760 个 IP 地址,人口有 313,847,465 人,平均下来每千人分配到的 IP 地址数为 4,911.96;而中国在拥有 1,343,239,923 人的情况下却只有 330,321,408 个 IP 地址,每千人只能分配到可怜的 245.91 个 IP 地址。[3][4]迫不得已,运营商也只能通过 NAT 一层一层地进行着 IP 的分配,使如此多的终端都能连上互联网。

为了避免以上的种种原因,IPv6 就应运而生了。

2. 地址格式

如何避免,很简单,提高数量就可以了。IPv6 具有比 IPv4 大得多的编码地址空间。这是因为 IPv6 采用 128 位的地址,而 IPv4 使用的是 32 位。因此新增的地址空间支持2128(约 3.4 × 1038)个地址,具体数量为:

340,282,366,920,938,463,463,374,607,431,768,211,456

嗯,不过是一堆 mol 而已。

3. 特殊地址

名称IPv6IPv4
未指定地址::/1280.0.0.0/32
环回地址::1/128127.0.0.1/8
链路本地地址fe80::/10169.254.0.0/16
私网地址fd00::/8192.168.0.0/16
IPv4 映射地址::ffff:x.x.x.x/96x.x.x.x

4. 临时地址(我也不太懂)

为保证安全性,除了本机的 IPv6 地址外,还会有一些数量不等的临时 IPv6 地址,这些地址租期很短,后缀随机分配,避免了真正的 IP 地址直接暴露到公网。

总结

在这之前,我一直认为 IPv6 是一个离我很远的东西,没想到,它也许早都在我身边了,以前的旧 TP-LINK 路由器不支持 IPv6,而新的小米路由器虽然有,我却一直没有在意。于我而言,IPv6 几乎是一个零接触的东西,尽管 IPv4 还可以,但到了 IPv6,很多东西都变了,光是各种奇怪的 IP 就能让我晕头转向。

但实际上,IPv6 距普及还有很大距离,连 GitHub 这种网站也因为主机商 Amazon 的原因并没有 IPv6,这在我配置纯 IPv6 VPS 的时候给我造成了一些麻烦。我认为,IPv6 迟迟没有普及的很大原因就是因为其被感知性低,一般的消费者并不会因为使用了所谓的 IPv6 而感到如何之不同,但像 5G 这种技术就可以给我们带来很明显的在速度与延迟上的感知。也许,IoT 会成为其中的一个重要突破口吧。

还有一个毕竟敏感的可能原因,即 GFW 的存在,IPv6 的使用可能会造成技术上的更难审查与封锁,所以这可能会拖慢 IPv6 的普及时间。

接下来,我会继续研究关于 IPv6 的知识,在博客方面,我准备写 V2Ray 透明代理以及 Dnsmasq 与 DoH 的一些经验教程,尽请期待……(咕咕咕~)

最后的最后,除了上面提到的那个,这里再推荐一个检验是否有 IPv6 地址的有趣网页,The KAME project。当你有 IPv6 地址的时候,原本静止的小乌龟将会动起来。

小乌龟

小乌龟

参考

  1. IPv6系列-入门指南
  2. 家里开通 ipv6 了, 为什么有 3 个 ipv6 的地址 - V2EX

引用

  1. https://zh.wikipedia.org/wiki/IPv6
  2. https://www.worldometers.info/world-population/
  3. "Allocation of IP addresses by Country", Country IP Blocks. Accessed on 2 April 2012. Note: Site is said to be updated daily.
  4. "Population",截至到 2012 年。

标签: IPv6, 科普, 学习

已有 2 条评论

  1. 茶戍菌 茶戍菌

    nice~

    1. 所以,你有没有 IPv6 呢?

添加新评论